4410912baf73f5a5c0a639e74dbaa7ee9dd0d65f
[gnulib.git] / ChangeLog
1 2011-09-17  Bruno Haible  <bruno@clisp.org>
2
3         popen: Support for MSVC.
4         * lib/stdio.in.h (popen): Declare it if the system lacks this function.
5         * lib/popen.c (popen): Provide alternate definition for native Windows.
6         * m4/popen.m4 (gl_FUNC_POPEN): Test if popen exists. Set HAVE_POPEN.
7         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_POPEN.
8         * modules/popen (Depends-on, configure.ac): Update condition.
9         * modules/stdio (Makefile.am): Substitute HAVE_POPEN.
10         * doc/posix-functions/popen.texi: Mention that the MSVC problem is
11         fixed.
12
13 2011-09-17  Bruno Haible  <bruno@clisp.org>
14
15         isnanl, isnand, isnanf: Work around MSVC bug.
16         * lib/isnan.c (FUNC): Use alternate ways of computing NaN and Infinity.
17
18 2011-09-17  Bruno Haible  <bruno@clisp.org>
19
20         sys_socket tests: Fix recent mistake.
21         * tests/test-sys_socket.c (t1): Avoid collision of identifiers.
22
23 2011-09-17  Bruno Haible  <bruno@clisp.org>
24
25         putenv: Support for MSVC.
26         * modules/putenv (Depends-on): Add environ.
27         * lib/putenv.c (environ): Disable declaration.
28         * lib/unistd.in.h: Update comment.
29
30 2011-09-17  Bruno Haible  <bruno@clisp.org>
31
32         math: Avoid macro redefinition warnings on MSVC.
33         * lib/math.in.h (ceilf, ceill, floorf, floorl, frexpl, ldexpl):
34         Undefine before redefining.
35
36 2011-09-17  Bruno Haible  <bruno@clisp.org>
37
38         doc: Mention functions which are declared as macros.
39         * doc/posix-functions/*[fl].texi: Mention that some functions are
40         defined as macros with arguments only.
41
42 2011-09-17  Bruno Haible  <bruno@clisp.org>
43
44         Add dependencies to new dirent related modules.
45         * modules/backupfile (Depends-on): Add opendir, readdir, closedir.
46         * modules/fts (Depends-on): Likewise.
47         * modules/glob (Depends-on): Likewise.
48         * modules/savedir (Depends-on): Likewise.
49         * modules/scandir (Depends-on): Likewise.
50         * modules/dirent-safer (Depends-on): Add opendir, closedir.
51         * modules/fdopendir (Depends-on): Add opendir.
52
53 2011-09-17  Bruno Haible  <bruno@clisp.org>
54
55         inet_pton: Support for MSVC on Windows Vista or newer.
56         * lib/arpa_inet.in.h (inet_pton): Also consider REPLACE_INET_PTON.
57         * lib/inet_pton.c (rpl_inet_pton): Use a simple wrapper if
58         HAVE_DECL_INET_PTON is defined.
59         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Invoke gl_PREREQ_SYS_H_WINSOCK2.
60         On platforms with <winsock2.h>, test whether inet_pton is declared in
61         <ws2tcpip.h>. If so, arrange to replace it.
62         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Initialize
63         REPLACE_INET_PTON.
64         * modules/arpa_inet (Makefile.am): Substitute REPLACE_INET_PTON.
65         * modules/inet_pton (Files): Add m4/sys_socket_h.m4.
66         (Depends-on, configure.ac): Update condition.
67         * doc/posix-functions/inet_pton.texi: Mention the MSVC problem.
68
69 2011-09-17  Bruno Haible  <bruno@clisp.org>
70
71         inet_ntop: Support for MSVC on Windows Vista or newer.
72         * lib/arpa_inet.in.h (inet_ntop): Also consider REPLACE_INET_NTOP.
73         * lib/inet_ntop.c (rpl_inet_ntop): Use a simple wrapper if
74         HAVE_DECL_INET_NTOP is defined.
75         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Invoke gl_PREREQ_SYS_H_WINSOCK2.
76         On platforms with <winsock2.h>, test whether inet_ntop is declared in
77         <ws2tcpip.h>. If so, arrange to replace it.
78         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Initialize
79         REPLACE_INET_NTOP.
80         * modules/arpa_inet (Makefile.am): Substitute REPLACE_INET_NTOP.
81         * modules/inet_ntop (Files): Add m4/sys_socket_h.m4.
82         (Depends-on, configure.ac): Update condition.
83         * doc/posix-functions/inet_ntop.texi: Mention the MSVC problem.
84
85 2011-09-16  Eric Blake  <eblake@redhat.com>
86
87         test-fsync: yet another enhancement
88         * tests/test-fsync.c (main): Also test behavior on read-only text
89         file.
90
91 2011-09-16  Bruno Haible  <bruno@clisp.org>
92
93         Enhance fsync, fdatasync tests.
94         * tests/test-fsync.c (main): Test both STDIN_FILENO and STDOUT_FILENO.
95         * tests/test-fdatasync.c (main): Likewise.
96
97 2011-09-16  Bruno Haible  <bruno@clisp.org>
98
99         Support for MSVC compiler: Ensure mode_t gets defined.
100         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_TYPE_MODE_T.
101         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
102         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
103         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Likewise.
104         * tests/test-fcntl-h.c: Check that mode_t is defined.
105         * tests/test-sys_stat.c: Likewise.
106         * tests/test-sys_types.c: Likewise.
107         * doc/posix-headers/fcntl.texi: Mention the missing mode_t problem.
108         * doc/posix-headers/sys_stat.texi: Likewise.
109         * doc/posix-headers/sys_types.texi: Likewise.
110
111 2011-09-16  Bruno Haible  <bruno@clisp.org>
112
113         sys_stat: Support for MSVC.
114         * lib/sys_stat.in.h (S_IFIFO): Define to _S_IFIFO if that exists.
115         * tests/test-sys_stat.c: Don't assume that S_IFBLK exists.
116         * doc/posix-headers/sys_stat.texi: Mention missing S_IFIFO, S_IFBLK on
117         MSVC.
118
119 2011-09-16  Bruno Haible  <bruno@clisp.org>
120
121         Support for MSVC compiler: Ensure off_t gets defined.
122         * lib/unistd.in.h: Include <sys/types.h>.
123         * tests/test-fcntl-h.c: Check that off_t is defined.
124         * tests/test-sys_stat.c: Likewise.
125         * tests/test-sys_types.c: Likewise.
126
127 2011-09-16  Eric Blake  <eblake@redhat.com>
128
129         fdatasync: port to Solaris
130         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Set LIB_FDATASYNC.
131         * modules/fdatasync (Link): Document it.
132         * modules/fdatasync-tests (test_fdatasync_LDADD): Link with it.
133
134         fdatasync: port to MacOS X 10.7
135         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Check for present but not
136         declared.
137         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Another default.
138         * modules/unistd (Makefile.am): Substitute it.
139         * lib/unistd.in.h (fdatasync): Declare on MacOS.
140         * doc/posix-functions/fdatasync.texi (fdatasync): Document it.
141
142         fdatasync: minor improvements
143         * modules/fdatasync (Depends-on): Add condition for fsync.
144         * lib/fdatasync.c (fdatasync): Add comment.
145         * tests/test-unistd-c++.cc: Test fdatasync.
146
147         unistd: update refs to newer POSIX
148         * lib/unistd.in.h: Prefer POSIX 2008 over 2001.
149         Suggested by Bruno Haible.
150
151         fdatasync: new module
152         * modules/fsync (Description): Document difference to fdatasync.
153         * modules/fdatasync: New module.
154         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): New file.
155         * lib/fdatasync.c (fdatasync): Likewise.
156         * m4/unistd_h.m4 (gl_UNISTD_H, gl_UNISTD_H_DEFAULTS): Set up
157         defaults.
158         * modules/unistd (Makefile.am): Set witnesses.
159         * lib/unistd.in.h (fdatasync): Declare.
160         * MODULES.html.sh: Document it.
161         * doc/posix-functions/fdatasync.texi (fdatasync): Likewise.
162         * modules/fdatasync-tests: New test.
163         * tests/test-fdatasync.c: Likewise.
164
165 2011-09-16  Eric Blake  <eblake@redhat.com>
166
167         test-fsync: enhance tests
168         * modules/fsync-tests (Depends-on): Add errno, for mingw.
169         * tests/test-fsync.c (main): Enhance test.
170
171 2011-09-15  Bruno Haible  <bruno@clisp.org>
172
173         Support for MSVC compiler: Ensure ssize_t gets defined.
174         * doc/posix-headers/sys_types.texi: Mention the missing ssize_t problem.
175         * doc/posix-headers/stdio.texi: Likewise.
176         * modules/stdio (Depends-on): Add ssize_t.
177         * modules/sys_socket (Depends-on): Likewise.
178         * modules/sys_types (Depends-on): Likewise.
179         * modules/sys_uio (Depends-on): Likewise.
180         * modules/unistd (Depends-on): Likewise.
181         * tests/test-sys_socket.c: Check that size_t and ssize_t are defined.
182         * tests/test-sys_types.c: Check that ssize_t is defined.
183
184 2011-09-14  Bruno Haible  <bruno@clisp.org>
185
186         Avoid using #, the m4 comment starter character, near brackets.
187         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): Use |, not #, as
188         delimiter character in sed expressions.
189         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
190         Suggested by Eric Blake.
191
192         Properly quote AC_CHECK_DECLS' 4th argument.
193         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Double-quote AC_CHECK_DECLS' 4th
194         argument.
195         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
196         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
197         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
198         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
199         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
200         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): Likewise.
201         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Likewise.
202         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Likewise.
203         * m4/gethrxtime.m4 (gl_GETHRXTIME): Likewise.
204         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
205         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Likewise.
206         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
207         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
208         * m4/isinf.m4 (gl_ISINF): Likewise.
209         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
210         * m4/readutmp.m4 (gl_READUTMP): Likewise.
211         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
212         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
213         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
214         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
215         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
216         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
217         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Likewise.
218         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
219         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
220         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
221         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Likewise.
222         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
223         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
224         Reported by Eric Blake.
225
226         Properly quote AC_CHECK_DECL's 4th argument.
227         * m4/acosl.m4 (gl_FUNC_ACOSL): Double-quote AC_CHECK_DECL's 4th
228         argument.
229         * m4/argp.m4 (gl_ARGP): Likewise.
230         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
231         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
232         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
233         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
234         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Likewise.
235         * m4/getloadavg.m4 (gl_GETLOADAVG): Likewise.
236         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Likewise.
237         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
238         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
239         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
240         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
241         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
242         Reported by Eric Blake.
243
244 2011-09-14  Eric Blake  <eblake@redhat.com>
245
246         opendir: avoid compile warning
247         * lib/opendir.c (includes): Always include errno.h.
248         Reported by Tatsuro MATSUOKA.
249
250 2011-09-14  Jim Meyering  <meyering@redhat.com>
251
252         maint.mk: sc_tight_scope: propagate failure from sub-make
253         * top/maint.mk (sc_tight_scope): Actually initialize and use $fail.
254         Reported by Martin von Gagern.
255
256 2011-09-13  Bruno Haible  <bruno@clisp.org>
257
258         tempname: Support for MSVC.
259         * doc/posix-headers/fcntl.texi: Document the problem with O_ACCMODE on
260         MSVC.
261         * modules/tempname (Depends-on): Add fcntl-h.
262
263 2011-09-13  Bruno Haible  <bruno@clisp.org>
264
265         sys_time: Support for MSVC.
266         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Invoke
267         gl_PREREQ_SYS_H_WINSOCK2. When testing for 'struct timeval', also
268         include <winsock2.h>.
269         * lib/sys_time.in.h: On MSVC, include <winsock2.h> and hide its
270         function declarations that collide with POSIX.
271         * modules/sys_time (Files): Add m4/sys_socket_h.m4.
272         (Makefile.am): Substitute HAVE_WINSOCK2_H.
273
274 2011-09-13  Bruno Haible  <bruno@clisp.org>
275
276         stat: Support for MSVC.
277         * lib/stat.c: Include pathmax.h.
278         * modules/stat (Depends-on): Add pathmax.
279
280         pathmax: Support for native Windows.
281         * lib/pathmax.h (PATH_MAX): Define to 260 on native Windows.
282
283 2011-09-12  Bruno Haible  <bruno@clisp.org>
284
285         New modules 'opendir', 'readdir', 'rewinddir', 'closedir'.
286         * lib/dirent.in.h (struct dirent): New type.
287         (DT_UNKNOWN, DT_FIFO, DT_CHR, DT_DIR, DT_BLK, DT_REG, DT_LNK, DT_SOCK,
288         DT_WHT): New macros.
289         (DIR): New type.
290         (opendir, closedir): Declare only if the module 'opendir' is enabled.
291         (readdir, rewinddir): New declarations.
292         * lib/dirent-private.h: New file.
293         * lib/opendir.c: New file.
294         * lib/readdir.c: New file.
295         * lib/rewinddir.c: New file.
296         * lib/closedir.c: New file.
297         * lib/fchdir.c (rpl_closedir, rpl_opendir): Remove functions.
298         * m4/opendir.m4: New file.
299         * m4/readdir.m4: New file.
300         * m4/rewinddir.m4: New file.
301         * m4/closedir.m4: New file.
302         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_OPENDIR,
303         REPLACE_CLOSEDIR here.
304         * m4/dirent_h.m4 (gl_DIRENT_H): Also check whether closedir, opendir,
305         readdir, rewinddir are declared.
306         (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_OPENDIR, GNULIB_READDIR,
307         GNULIB_REWINDDIR, GNULIB_CLOSEDIR, HAVE_OPENDIR, HAVE_READDIR,
308         HAVE_REWINDDIR, HAVE_CLOSEDIR.
309         * modules/dirent (Makefile.am): Substitute GNULIB_OPENDIR,
310         GNULIB_READDIR, GNULIB_REWINDDIR, GNULIB_CLOSEDIR, HAVE_OPENDIR,
311         HAVE_READDIR, HAVE_REWINDDIR, HAVE_CLOSEDIR.
312         * modules/opendir: New file.
313         * modules/readdir: New file.
314         * modules/rewinddir: New file.
315         * modules/closedir: New file.
316         * doc/posix-functions/opendir.texi: Mention the 'opendir' module.
317         * doc/posix-functions/readdir.texi: Mention the 'readdir' module.
318         * doc/posix-functions/rewinddir.texi: Mention the 'rewinddir' module.
319         * doc/posix-functions/closedir.texi: Mention the 'closedir' module.
320         * NEWS: Mention the 'fchdir' change.
321
322 2011-09-11  Bruno Haible  <bruno@clisp.org>
323
324         asm-underscore.m4: Support for MSVC.
325         * m4/asm-underscore.m4 (gl_C_ASM): New macro.
326         (gl_ASM_SYMBOL_PREFIX): Require it. Use its results.
327
328 2011-09-11  Reuben Thomas  <rrt@sc3d.org>
329
330         Doc about crypt functions.
331         * doc/posix-functions/crypt.texi: Expand range of glibc versions
332         needing for _GNU_SOURCE to get crypt.
333         * doc/posix-functions/encrypt.texi: Likewise.
334         * doc/posix-functions/setkey.texi: Likewise.
335
336 2011-09-11  Bruno Haible  <bruno@clisp.org>
337
338         doc: Update regarding MSVC 9.
339         * doc/gnulib-intro.texi (Target Platforms): Classify MSVC as "rarely
340         tested".
341         * doc/posix-functions/*.texi: Update with info about MSVC 9.
342         * doc/posix-headers/*.texi: Likewise.
343         * doc/pastposix-functions/*.texi: Likewise.
344         * doc/glibc-functions/*.texi: Likewise.
345         * doc/glibc-headers/*.texi: Likewise.
346
347 2011-09-11  Bruno Haible  <bruno@clisp.org>
348
349         unistd et al.: Don't assume <unistd.h> exists.
350         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Don't include <unistd.h> if it
351         does not exist.
352         * m4/environ.m4 (gl_ENVIRON): Don't include <unistd.h> if it does not
353         exist. But include <stdlib.h>.
354         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): If <unistd.h> does not exist,
355         include <io.h> and <stdlib.h> instead. Don't test symbolink links if
356         symlink() does not exist.
357         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): If <unistd.h> does not exist,
358         include <io.h> instead.
359         * m4/free.m4 (gl_FUNC_FREE): Assume free(NULL) works on native Windows.
360         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): If <unistd.h> does not exist,
361         include <direct.h> instead.
362         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
363         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
364         * m4/lseek.m4 (gl_FUNC_LSEEK): If <unistd.h> does not exist, include
365         <io.h> instead.
366         * m4/rename.m4 (gl_FUNC_RENAME): Assume rename() manages hard links
367         correctly if the system does not have hard links.
368         * m4/rmdir.m4 (gl_FUNC_RMDIR): If <unistd.h> does not exist, include
369         <direct.h> instead.
370         * m4/unistd_h.m4 (gl_UNISTD_H): If <unistd.h> does not exist, bypass
371         it when looking for function declarations.
372         * m4/unlink.m4 (gl_FUNC_UNLINK): If <unistd.h> does not exist, include
373         <direct.h> and <io.h> instead.
374         * doc/posix-headers/unistd.texi: More details about MSVC problem.
375
376 2011-09-11  Bruno Haible  <bruno@clisp.org>
377
378         strcase: Support for MSVC.
379         * modules/strcase (Status, Notice): Remove obsoletion mark.
380         * doc/posix-functions/strcasecmp.texi: Mention MSVC problem.
381         * doc/posix-functions/strncasecmp.texi: Likewise.
382
383         strings: Don't assume <strings.h> exists.
384         * lib/strings.in.h: Include <strings.h> only if HAVE_STRINGS_H is 1.
385         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Set HAVE_STRINGS_H.
386         * modules/strings (Makefile.am): Substitute HAVE_STRINGS_H.
387         * doc/posix-headers/strings.texi: Mention the MSVC problem.
388
389 2011-09-11  Bruno Haible  <bruno@clisp.org>
390
391         dirent: Don't assume <dirent.h> exists.
392         * lib/dirent.in.h: Include <dirent.h> only if HAVE_DIRENT_H is 1.
393         * m4/dirent_h.m4 (gl_DIRENT_H): Set HAVE_DIRENT_H.
394         * modules/dirent (Makefile.am): Substitute HAVE_DIRENT_H.
395         * doc/posix-headers/dirent.texi: Mention the MSVC problem.
396
397 2011-09-11  Bruno Haible  <bruno@clisp.org>
398
399         Fix wint_t on MSVC.
400         * lib/wchar.in.h (wint_t): On MSVC, override it.
401         * lib/wctype.in.h (wint_t): Likewise.
402         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Override BITSIZEOF_WINT_T on
403         MSVC.
404         * doc/posix-headers/wchar.texi: Mention the problem with wint_t on MSVC.
405         * doc/posix-headers/wctype.texi: Likewise.
406
407 2011-09-11  Bruno Haible  <bruno@clisp.org>
408
409         sys_types: Fix typo.
410         * lib/sys_types.in.h: Fix typo in comment.
411         Reported by Paul Eggert.
412
413         Support for MSVC compiler: Ensure size_t gets defined.
414         * modules/strings (Depends-on): Add 'sys_types'.
415         * modules/sys_uio (Depends-on): Likewise.
416         * lib/sys_uio.in.h: Update comment.
417
418         C++ tests for module 'sys_types'.
419         * modules/sys_types-c++-tests: New file.
420         * tests/test-sys_types-c++.cc: New file.
421
422         Tests for module 'sys_types'.
423         * modules/sys_types-tests: New file.
424         * tests/test-sys_types.c: New file.
425
426         New module 'sys_types'.
427         * lib/sys_types.in.h: New file.
428         * m4/sys_types_h.m4: New file.
429         * modules/sys_types: New file.
430         * doc/posix-headers/sys_types.texi: Mention the new module and the
431         size_t problem on MSVC 9.
432
433 2011-09-11  Bruno Haible  <bruno@clisp.org>
434
435         Support for MSVC compiler: Avoid division by a literal 0.
436         * lib/math.in.h (NAN): Define through a function call also on MSVC.
437         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Divide by 'zero' instead of 0.0.
438         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_DIRECTIVE_A,
439         gl_PRINTF_DIRECTIVE_F, gl_PRINTF_FLAG_ZERO): Likewise.
440         (gl_PRINTF_INFINITE_LONG_DOUBLE): Divide by 'zeroL' instead of 0.0L.
441         * tests/infinity.h: New file.
442         * tests/nan.h (NaNf, NaNd, NaNl): Define through a function call also
443         on MSVC.
444         * tests/test-ceilf1.c: Include infinity.h.
445         (main): Use Infinityf.
446         * tests/test-ceil1.c: Include infinity.h.
447         (main): Use Infinityd.
448         * tests/test-ceill.c: Include infinity.h.
449         (main): Use Infinityl.
450         * tests/test-dprintf-posix.c: Include infinity.h.
451         (test_function): Use Infinityd.
452         * tests/test-floorf1.c: Include infinity.h.
453         (main): Use Infinityf.
454         * tests/test-floor1.c: Include infinity.h.
455         (main): Use Infinityd.
456         * tests/test-floorl.c: Include infinity.h.
457         (main): Use Infinityl.
458         * tests/test-fprintf-posix.c: Include infinity.h.
459         (test_function): Use Infinityd.
460         * tests/test-frexp.c: Include infinity.h.
461         (main): Use Infinityd.
462         * tests/test-frexpl.c: Include infinity.h.
463         (main): Use Infinityl.
464         * tests/test-isfinite.c: Include infinity.h.
465         (test_isfinitef): Use Infinityf.
466         (test_isfinited): Use Infinityd.
467         (test_isfinitel): Use Infinityl.
468         * tests/test-isinf.c: Include infinity.h.
469         (test_isinff): Use Infinityf.
470         (test_isinfd): Use Infinityd.
471         (test_isinfl): Use Infinityl.
472         * tests/test-isnan.c: Include infinity.h.
473         (test_float): Use Infinityf.
474         (test_double): Use Infinityd.
475         (test_long_double): Use Infinityl.
476         * tests/test-isnanf.h: Include infinity.h.
477         (main): Use Infinityf.
478         * tests/test-isnand.h: Include infinity.h.
479         (main): Use Infinityd.
480         * tests/test-isnanl.h: Include infinity.h.
481         (main): Use Infinityl.
482         * tests/test-ldexpl.c: Include infinity.h.
483         (main): Use Infinityl.
484         * tests/test-printf-posix.h: Include infinity.h.
485         (test_function): Use Infinityd.
486         * tests/test-roundf1.c: Include infinity.h.
487         (main): Use Infinityf.
488         * tests/test-round1.c: Include infinity.h.
489         (main): Use Infinityd.
490         * tests/test-roundl.c: Include infinity.h.
491         (main): Use Infinityl.
492         * tests/test-signbit.c: Include infinity.h.
493         (test_signbitf): Use Infinityf.
494         (test_signbitd): Use Infinityd.
495         (test_signbitl): Use Infinityl.
496         * tests/test-snprintf-posix.h: Include infinity.h.
497         (test_function): Use Infinityd, Infinityl.
498         * tests/test-sprintf-posix.h: Include infinity.h.
499         (test_function): Use Infinityd, Infinityl.
500         * tests/test-truncf1.c: Include infinity.h.
501         (main): Use Infinityf.
502         * tests/test-trunc1.c: Include infinity.h.
503         (main): Use Infinityd.
504         * tests/test-truncl.c: Include infinity.h.
505         (main): Use Infinityl.
506         * tests/test-vasnprintf-posix.c: Include infinity.h.
507         (test_function): Use Infinityd, Infinityl.
508         * tests/test-vasprintf-posix.c: Include infinity.h.
509         (test_function): Use Infinityd, Infinityl.
510         * modules/ceilf-tests (Files): Add tests/infinity.h.
511         * modules/ceil-tests (Files): Likewise.
512         * modules/ceill-tests (Files): Likewise.
513         * modules/dprintf-posix-tests (Files): Likewise.
514         * modules/floorf-tests (Files): Likewise.
515         * modules/floor-tests (Files): Likewise.
516         * modules/floorl-tests (Files): Likewise.
517         * modules/fprintf-posix-tests (Files): Likewise.
518         * modules/frexp-tests (Files): Likewise.
519         * modules/frexp-nolibm-tests (Files): Likewise.
520         * modules/frexpl-tests (Files): Likewise.
521         * modules/frexpl-nolibm-tests (Files): Likewise.
522         * modules/isfinite-tests (Files): Likewise.
523         * modules/isinf-tests (Files): Likewise.
524         * modules/isnan-tests (Files): Likewise.
525         * modules/isnanf-tests (Files): Likewise.
526         * modules/isnanf-nolibm-tests (Files): Likewise.
527         * modules/isnand-tests (Files): Likewise.
528         * modules/isnand-nolibm-tests (Files): Likewise.
529         * modules/isnanl-tests (Files): Likewise.
530         * modules/isnanl-nolibm-tests (Files): Likewise.
531         * modules/ldexpl-tests (Files): Likewise.
532         * modules/printf-posix-tests (Files): Likewise.
533         * modules/roundf-tests (Files): Likewise.
534         * modules/round-tests (Files): Likewise.
535         * modules/roundl-tests (Files): Likewise.
536         * modules/signbit-tests (Files): Likewise.
537         * modules/snprintf-posix-tests (Files): Likewise.
538         * modules/sprintf-posix-tests (Files): Likewise.
539         * modules/truncf-tests (Files): Likewise.
540         * modules/trunc-tests (Files): Likewise.
541         * modules/truncl-tests (Files): Likewise.
542         * modules/vasnprintf-posix-tests (Files): Likewise.
543         * modules/vasprintf-posix-tests (Files): Likewise.
544         * modules/vdprintf-posix-tests (Files): Likewise.
545         * modules/vfprintf-posix-tests (Files): Likewise.
546         * modules/vprintf-posix-tests (Files): Likewise.
547         * modules/vsnprintf-posix-tests (Files): Likewise.
548         * modules/vsprintf-posix-tests (Files): Likewise.
549         * modules/xprintf-posix-tests (Files): Likewise.
550
551 2011-09-11  Bruno Haible  <bruno@clisp.org>
552
553         Ensure pid_t gets defined.
554         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_TYPE_PID_T.
555         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
556         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
557         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
558         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
559         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
560         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
561         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
562         * tests/test-fcntl-h.c: Check that pid_t is defined.
563         * tests/test-sched.c: Likewise.
564         * tests/test-termios.c: Likewise.
565         * tests/test-time.c: Likewise.
566         * doc/posix-headers/fcntl.texi: Mention lack of pid_t on MSVC platform.
567         * doc/posix-headers/signal.texi: Likewise.
568         * doc/posix-headers/sys_types.texi: Likewise.
569         * doc/posix-headers/time.texi: Likewise.
570
571 2011-09-11  Bruno Haible  <bruno@clisp.org>
572
573         acl: Fix compilation on Solaris 10 (older version).
574         * lib/file-has-acl.c (acl_ace_nontrivial): Use NEW_ACE_EVERYONE instead
575         of ACE_EVERYONE.
576         * lib/set-mode-acl.c (qset_acl): Likewise.
577         Reported by Christian Jullien <eligis@orange.fr>.
578
579 2011-09-10  Bruno Haible  <bruno@clisp.org>
580
581         iconv, unsetenv: Add support for MSVC compiler.
582         * m4/iconv.m4 (AM_ICONV): Use ISO C declaration syntax on MSVC.
583         * m4/setenv.m4 (gl_FUNC_UNSETENV): Drop support for K&R C compilers.
584
585 2011-09-10  Bruno Haible  <bruno@clisp.org>
586
587         *printf: Add support for MSVC compiler.
588         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N): On MSVC, install a handler that
589         handles the exception caused by the %n directive. When cross-compiling,
590         guess no on native Windows.
591         (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
592         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1): When snprintf is missing,
593         emulate it through vsnprintf.
594         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Update comment.
595         * doc/posix-functions/dprintf.texi: Update documentation regarding
596         MSVC 9.
597         * doc/posix-functions/fprintf.texi: Likewise.
598         * doc/posix-functions/printf.texi: Likewise.
599         * doc/posix-functions/snprintf.texi: Likewise.
600         * doc/posix-functions/sprintf.texi: Likewise.
601         * doc/posix-functions/swprintf.texi: Likewise.
602         * doc/posix-functions/vdprintf.texi: Likewise.
603         * doc/posix-functions/vfprintf.texi: Likewise.
604         * doc/posix-functions/vprintf.texi: Likewise.
605         * doc/posix-functions/vsnprintf.texi: Likewise.
606         * doc/posix-functions/vsprintf.texi: Likewise.
607         * doc/glibc-functions/asprintf.texi: Likewise.
608         * doc/glibc-functions/obstack_printf.texi: Likewise.
609         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
610         * doc/glibc-functions/vasprintf.texi: Likewise.
611
612 2011-09-10  Bruno Haible  <bruno@clisp.org>
613
614         nocrash: Add support for native Windows.
615         * m4/nocrash.m4 (GL_NOCRASH): Avoid a crash also on native Windows.
616
617 2011-09-10  Michael Goffioul  <michael.goffioul@gmail.com>  (tiny change)
618             Bruno Haible  <bruno@clisp.org>
619
620         absolute-header, include-next: Add support for MSVC compiler.
621         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): Require
622         AC_CANONICAL_HOST. On native Windows, recognize also backslash as
623         directory separator in #line directives.
624         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): On native Windows,
625         recognize also backslash as directory separator in #line directives.
626
627 2011-09-08  Jim Meyering  <meyering@redhat.com>
628
629         maint.mk: mark the post-release commit log with "maint: " prefix
630         * top/maint.mk (emit-commit-log): Add "maint: " prefix to the
631         one-line commit-log summary.
632
633 2011-09-08  Reuben Thomas  <rrt@sc3d.org>
634             Bruno Haible  <bruno@clisp.org>
635
636         Doc about crypt functions.
637         * doc/posix-functions/crypt.texi: Mention need for _GNU_SOURCE on glibc
638         systems.
639         * doc/posix-functions/encrypt.texi: Likewise.
640         * doc/posix-functions/setkey.texi: Likewise.
641
642 2011-09-08  Simon Josefsson  <simon@josefsson.org>
643
644         * lib/gc.h: Fix copyright header.
645
646 2011-09-07  Bruno Haible  <bruno@clisp.org>
647
648         pthread: Determine $(LIB_PTHREAD) correctly on OSF/1 5.1.
649         * m4/pthread.m4 (gl_PTHREAD_CHECK): Use AC_CACHE_CHECK and
650         AC_LINK_IFELSE instead of AC_SEARCH_LIBS.
651
652 2011-09-07  Bruno Haible  <bruno@clisp.org>
653
654         openat: Work around compilation error with OSF/1 5.1 DTK cc.
655         * lib/fopen.c: Use different syntax for include of <stdio.h>.
656         * lib/freopen.c: Likewise.
657         * lib/fstatat.c: Use different syntax for include of <sys/stat.h>.
658         * lib/lstat.c: Likewise.
659         * lib/stat.c: Likewise.
660         * lib/open.c: Use different syntax for include of <fcntl.h>.
661         * lib/openat.c: Include fcntl.h again, explicitly.
662
663 2011-09-04  J.T. Conklin  <jtc@acorntoolworks.com>
664
665         parse-datetime: document the newly accepted format
666         * doc/parse-datetime.texi (Combined date and time of day items):
667         New section.
668
669 2011-09-06  Bruno Haible  <bruno@clisp.org>
670
671         acl: Fix a test failure on newer Solaris 10 with ZFS.
672         * tests/test-sameacls.c (main): Interpret acl GETACLCNT failure with
673         ENOSYS as no ACL.
674         Reported by Jim Meyering.
675
676 2011-09-06  Bruno Haible  <bruno@clisp.org>
677
678         acl: Update for AIX >= 5.3 with NFS.
679         * lib/file-has-acl.c (file_has_acl): Interpret aclx_get failure with
680         ENOSYS as no ACL.
681
682         acl: Fix a test failure on AIX >= 5.3 with NFS.
683         * tests/test-sameacls.c (main): Interpret aclx_get failure with ENOSYS
684         as no ACL.
685
686 2011-09-06  Bruno Haible  <bruno@clisp.org>
687
688         acl: Fix a test failure on IRIX 6.5 with NFS.
689         * lib/acl-internal.h (MODE_INSIDE_ACL): Define to 0 on IRIX.
690         * lib/set-mode-acl.c (qset_acl): Test !HAVE_ACL_TYPE_EXTENDED instead
691         of MODE_INSIDE_ACL. If !MODE_INSIDE_ACL, do a chmod_or_fchmod always.
692         * lib/copy-acl.c (qcopy_acl): Likewise.
693
694 2011-09-05  Paul Eggert  <eggert@cs.ucla.edu>
695
696         openat: port to AIX 7.1 with large files
697         AIX 7.1 does a "#define openat open64at" if large files are in use,
698         so we can't simply #undef openat.  Use the orig_openat trick (similar
699         to orig_open in lib/open.c) to work around the problem.  Problem
700         reported by Kevin Brott for GNU tar, in the thread containing
701         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00032.html>.
702         * lib/openat.c (__need_system_fcntl_h): Define first.
703         Include <fcntl.h> and <sys/types.h> before undefining.
704         (orig_openat) [HAVE_OPENAT]: New inline function.
705         (openat) [HAVE_OPENAT]: Do not undef.
706         (rpl_openat): Use orig_openat, not openat.
707
708 2011-09-05  Joachim Schmitz  <schmitz@hp.com>  (tiny change)
709             Bruno Haible  <bruno@clisp.org>
710
711         acl: Avoid errors on NonStop Kernel.
712         * lib/file-has-acl.c (file_has_acl) [NonStop Kernel]: Ignore ENOSYS and
713         ENOTSUP errors.
714
715 2011-09-05  Bruno Haible  <bruno@clisp.org>
716
717         acl: Clean up Solaris code.
718         * lib/acl-internal.h: Remove no-op #if.
719         * lib/file-has-acl.c: Likewise.
720         * lib/set-mode-acl.c (qset_acl): Remove unused Solaris code.
721         * lib/copy-acl.c (qcopy_acl): Likewise.
722
723 2011-09-05  Bruno Haible  <bruno@clisp.org>
724
725         acl: Fix a bug with NFSv4 ACLs on Solaris 10 (newer version) in
726         binaries built on the original Solaris 10.
727         * lib/file-has-acl.c (file_has_acl): ACLs with 4..6 ACEs can be
728         trivial.
729
730 2011-09-05  Bruno Haible  <bruno@clisp.org>
731
732         acl: Improve support of NFSv4 ACLs on Solaris 10 (newer version).
733         * lib/acl-internal.h (acl_nontrivial): Declare also on newer Solaris
734         10.
735         * lib/file-has-acl.c (acl_nontrivial): Define also on newer Solaris 10.
736         (acl_ace_nontrivial): Likewise. Recognize the trivial ACLs with 6 ACEs.
737         * lib/copy-acl.c (qcopy_acl): On newer Solaris 10, use acl or facl
738         instead of acl_get, facl_get, acl_set, facl_set.
739
740 2011-09-05  Bruno Haible  <bruno@clisp.org>
741
742         copy-file: Try unit tests on more file systems.
743         * tests/test-copy-file-1.sh: New file.
744         * tests/test-copy-file-2.sh: New file.
745         * modules/copy-file-tests (Files): Add them.
746         (Makefile.am): Add them to TESTS.
747
748         acl: Try unit tests on more file systems.
749         * tests/test-file-has-acl-1.sh: New file.
750         * tests/test-file-has-acl-2.sh: New file.
751         * tests/test-set-mode-acl-1.sh: New file.
752         * tests/test-set-mode-acl-2.sh: New file.
753         * tests/test-copy-acl-1.sh: New file.
754         * tests/test-copy-acl-2.sh: New file.
755         * modules/acl-tests (Files): Add them.
756         (Makefile.am): Add them to TESTS.
757
758 2011-09-04  Bruno Haible  <bruno@clisp.org>
759
760         acl: Improve support of NFSv4 ACLs on Solaris 10 (newer version).
761         * lib/acl-internal.h (ACE_*, NEW_ACE_*): Define also on newer Solaris
762         10.
763         (OLD_ALLOW, OLD_DENY): New macros.
764         (NEW_ACE_ACCESS_ALLOWED_ACE_TYPE): Renamed from
765         ACE_ACCESS_ALLOWED_ACE_TYPE.
766         (NEW_ACE_ACCESS_DENIED_ACE_TYPE): Renamed from
767         ACE_ACCESS_DENIED_ACE_TYPE.
768         (OLD_ACE_OWNER, OLD_ACE_GROUP, OLD_ACE_OTHER): New macros.
769         (NEW_ACE_EXECUTE): Fix value.
770         (NEW_ACE_APPEND_DATA, NEW_ACE_READ_NAMED_ATTRS,
771         NEW_ACE_WRITE_NAMED_ATTRS, NEW_ACE_DELETE_CHILD,
772         NEW_ACE_READ_ATTRIBUTES, NEW_ACE_WRITE_ATTRIBUTES, NEW_ACE_DELETE,
773         NEW_ACE_READ_ACL, NEW_ACE_WRITE_ACL, NEW_ACE_WRITE_OWNER,
774         NEW_ACE_SYNCHRONIZE): New macros.
775         * lib/set-mode-acl.c (qset_acl): On newer Solaris 10, use acl or facl
776         instead of acl_fromtext, acl_set, facl_set.
777         Fixes a coreutils/tests/cp/perm failure.
778
779 2011-09-03  Paul Eggert  <eggert@cs.ucla.edu>
780
781         openat: test for fstatat (..., 0) bug
782         Further testing with tar suggests that fstatat (..., 0)
783         does not work in general, on AIX 7.1; see
784         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00023.html>.
785         So, give up entirely on AIX 7.1's fstatat, and fall back on our
786         replacement fstatat (which is what older AIX releases were using
787         anyway).
788         * lib/fstatat.c (fstatat) [HAVE_FSTATAT]: Do not undef.  The only
789         use is now changed to orig_fstatat.  This was probably the right
790         thing to do anyway.
791         (FSTATAT_AT_FDCWD_0_BROKEN): Remove; no longer used.
792         (rpl_fstatat) [FSTATAT_ZERO_FLAG_BROKEN]: Remove.
793         (rpl_fstatat): Simplify, assuming !FSTATAT_ZERO_FLAG_BROKEN.
794         (AT_FUNC_NAME) [FSTATAT_ZERO_FLAG_BROKEN]: Now rpl_fstatat.
795         * m4/openat.m4 (gl_FUNC_FSTATAT): Test for the more-general bug
796         and define FSTATAT_ZERO_FLAG_BROKEN, not FSTATAT_AT_FDCWD_0_BROKEN,
797         if the bug is found.
798
799         openat: test for fstatat (AT_FDCWD, ..., 0) bug
800         This tests for another fstatat bug on AIX 7.1:
801         fstatat (AT_FDCWD, ..., 0) does not work.  See
802         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00015.html>.
803         * lib/fstatat.c (FSTATAT_AT_FDCWD_0_BROKEN)
804         (LSTAT_FOLLOWS_SLASHED_SYMLINK): Default to 0.
805         (rpl_fstatat): Adjust so that it works around either (or both)
806         bugs if present.
807         * m4/openat.m4 (gl_FUNC_FSTATAT): Test for this fstatat bug.
808
809 2011-09-03  Karl Berry  <karl@gnu.org>
810
811         * doc/regex.texi (Character Class Operators): Avoid literal ":"
812         in index entries.
813
814 2011-09-02  Bruno Haible  <bruno@clisp.org>
815
816         Allow the user to override the choice of AR, ARFLAGS, RANLIB.
817         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Don't override the given
818         values of AR, ARFLAGS, RANLIB.
819         Reported by John W. Eaton <jwe@gnu.org> for Octave.
820
821 2011-09-02  Bruno Haible  <bruno@clisp.org>
822
823         Find 'ar' program that fits with --host argument.
824         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Use AC_CHECK_TOOL.
825
826 2011-09-02  Bruno Haible  <bruno@clisp.org>
827
828         tests: init.sh: Support any non-GNU diff.
829         * tests/init.sh (compare): If "diff -c" is supported but "diff -u" is
830         not, use "diff -c". Useful on AIX 6.1, HP-UX 11.31, OSF/1 5.1,
831         Solaris 8.
832
833 2011-09-02  Bruno Haible  <bruno@clisp.org>
834
835         tests: init.sh: work also with any non-GNU diff that supports -u
836         * tests/init.sh: Relax check for diff -u support.
837         Rather than checking for GNU diff via --version, simply check
838         for support for -u itself.  Useful at least on OpenBSD 4.9,
839         AIX 7.1, IRIX 6.5, and Solaris 10.
840
841 2011-09-01  Bruno Haible  <bruno@clisp.org>
842
843         strtoimax, strtoumax: Document problem on HP-UX 11.
844         * doc/posix-functions/strtoimax.texi: Mention HP-UX 11.11 problem.
845         * doc/posix-functions/strtoumax.texi: Likewise.
846
847 2011-09-01  Bruno Haible  <bruno@clisp.org>
848
849         strtoumax: Avoid link error on OSF/1 with DTK cc.
850         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Always test whether strtoumax is
851         defined as a function.
852         * modules/strtoumax (Depends-on, configure.ac): Test only whether
853         strtoumax is defined, not whether it is declared.
854
855 2011-09-01  Bruno Haible  <bruno@clisp.org>
856
857         strtoimax: Avoid link error on OSF/1 with DTK cc.
858         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Always test whether strtoimax is
859         defined as a function.
860         * modules/strtoimax (Depends-on, configure.ac): Test only whether
861         strtoimax is defined, not whether it is declared.
862
863 2011-09-01  Bruno Haible  <bruno@clisp.org>
864
865         imaxdiv: Avoid link error on OSF/1 with DTK cc.
866         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Also test whether imaxdiv is defined
867         as a function.
868         * modules/imaxdiv (configure.ac): Test whether imaxdiv is defined, not
869         whether it is declared.
870
871 2011-09-01  Bruno Haible  <bruno@clisp.org>
872
873         imaxabs: Avoid link error on OSF/1 with DTK cc.
874         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Also test whether imaxabs is defined
875         as a function.
876         * modules/imaxabs (configure.ac): Test whether imaxabs is defined, not
877         whether it is declared.
878
879 2011-09-01  Bruno Haible  <bruno@clisp.org>
880
881         Tests for module 'strtoumax'.
882         * modules/strtoumax-tests: New file.
883         * tests/test-strtoumax.c: New file.
884
885         Tests for module 'strtoimax'.
886         * modules/strtoimax-tests: New file.
887         * tests/test-strtoimax.c: New file.
888
889         Tests for module 'imaxdiv'.
890         * modules/imaxdiv-tests: New file.
891         * tests/test-imaxdiv.c: New file.
892
893         Tests for module 'imaxabs'.
894         * modules/imaxabs-tests: New file.
895         * tests/test-imaxabs.c: New file.
896
897 2011-09-01  Bruno Haible  <bruno@clisp.org>
898
899         pthread: Determine $(LIB_PTHREAD) correctly on IRIX 6.5.
900         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_join, not
901         pthread_create.
902
903 2011-09-01  Paul Eggert  <eggert@cs.ucla.edu>
904
905         openat: work around AIX 7.1 fstatat issue
906         This should fix the problem that was not properly fixed
907         in the previous change, dated 2011-08-30.
908         * lib/fstatat.c: Include <sys/stat.h> twice, the first with
909         __need_system_stat_h defined.
910         (orig_fstatat) [HAVE_FSTATAT]: New function.
911         (rpl_fstatat): Go back to the old way of doing things,
912         except call orig_fstatat instead of fstatat.
913         * m4/openat.m4 (gl_FUNC_FSTATAT): Remove unnecessary check for openat.
914         Remove unnecessary check whether fstatat fills in st_size etc.
915
916 2011-09-01  Bruno Haible  <bruno@clisp.org>
917
918         sys_select: Avoid a syntax error regarding timespec_t on IRIX 6.5.
919         * lib/sys_select.in.h [__sgi]: When included from <sys/bsd_types.h>,
920         just include the system's header.
921
922 2011-08-31  Jim Meyering  <meyering@redhat.com>
923
924         tests: avoid spurious assertion failure in test-float.c on ppc64
925         * tests/test-float.c (test_long_double): Comment out an assertion,
926         LDBL_MIN_EXP <= DBL_MIN_EXP, that is failing at least on PowerPC-64
927         with gcc-4.4.4.
928
929         maint: indent with spaces, not TABs
930         I need to get in the habit of running gnulib's "make check".
931         Both of these would have been caught.
932         * m4/largefile.m4: Indent with spaces, not TABs.
933         * lib/parse-datetime.y (iso_8601_time): Likewise.
934         Spotted by Pádraig Brady.
935
936         test-parse-datetime.c: accommodate a relatively strict gcc warning
937         * tests/test-parse-datetime.c (gmt_offset): Declare function "static",
938         to avoid a warning from gcc's -Werror=missing-declarations.
939         Insert a few spaces-before-funcall-parenthesis.
940
941 2011-08-17  J.T. Conklin  <jtc@acorntoolworks.com>
942
943         parse-datetime: accept ISO 8601 date and time rep with "T" separator
944         The parser now accepts ISO 8601 date-time strings with "T" as the
945         separator.  It has long parsed dates like "2004-02-29 16:21:42"
946         with a space between the date and time strings.  Now it also parses
947         "2004-02-29T16:21:42" and fractional-second and time-zone-annotated
948         variants like "2004-02-29T16:21:42.333-07:00"
949         * lib/parse-datetime.y: Parse ISO 8601 extended date and time
950         of day representation using the 'T' separator character.
951         * doc/parse-datetime.texi (General date syntax): replace use of
952         deprecated --iso-8601 option with --rfc-3339 in example of date
953         command output formats that can be parsed.
954         * tests/test-parse-datetime.c (tm_diff): New function, taken from
955         lib/parse-datetime.y.
956         (gmt_offset): New function.
957         (main): Add additional test cases to validate ISO8601 extended
958         date and time of day parsing.
959
960 2011-08-31  Bruno Haible  <bruno@clisp.org>
961
962         freopen: Documentation.
963         * doc/posix-functions/freopen.texi: Document the bug with the NULL file
964         name.
965         Reported by Claudio Bley <claudio.bley@gmail.com>.
966
967 2011-08-31  Claudio Bley  <claudio.bley@gmail.com>  (tiny change)
968
969         freopen: Don't crash if the filename argument is NULL.
970         * lib/freopen.c (rpl_freopen): Don't compare the filename if it is
971         NULL.
972
973 2011-08-30  Paul Eggert  <eggert@cs.ucla.edu>
974
975         openat: work around AIX 7.1 fstatat bug
976         Problem reported by Kevin Brott for GNU tar, in the thread containing
977         <http://lists.gnu.org/archive/html/bug-tar/2011-08/msg00015.html>.
978         * lib/fstatat.c (rpl_fstatat): Do not invoke underlying fstatat if
979         FSTATAT_ST_SIZE_ETC_BROKEN.
980         (fstatat) [FSTATAT_ST_SIZE_ETC_BROKEN && HAVE_FSTATAT]: #define to
981         rpl_fstatat.
982         * m4/openat.m4 (gl_FUNC_FSTATAT): New macro, with the fstatat-relevant
983         part of gl_FUNC_OPENAT.  Also, check for the AIX 7.1 bug, and use
984         AC_CHECK_FUNCS_ONCE for fstatat.
985         (gl_FUNC_OPENAT): Use it.  Use AC_CHECK_FUNCS_ONCE for
986         fchmodat, mkdirat, openat and unlinkat.
987
988 2011-08-30  Bruno Haible  <bruno@clisp.org>
989
990         Avoid endless recursions if config.h includes some header files.
991         * lib/fopen.c (__need_FILE): Define already before including config.h.
992         * lib/freopen.c (__need_FILE): Likewise.
993         * lib/open.c (__need_system_fcntl_h): Likewise.
994         * lib/stat.c (__need_system_sys_stat_h): Likewise.
995         * lib/lstat.c (__need_system_sys_stat_h): Likewise.
996         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
997
998 2011-08-25  Karl Berry  <karl@gnu.org>
999
1000         * config/srclist.txt (ylwrap): new try.
1001         * build-aux/ylwrap: new file.
1002
1003 2011-08-23  Bruno Haible  <bruno@clisp.org>
1004
1005         tmpdir: Use a good default directory on native Windows.
1006         * lib/tmpdir.c: Include <windows.h>, pathmax.h.
1007         (P_tmpdir): Default to _P_tmpdir on native Windows.
1008         (path_search): On native Windows, try the value returned by GetTempPath
1009         before trying P_tmpdir.
1010         * modules/tmpdir (Depends-on): Add pathmax.
1011         Suggested by John Darrington <john@darrington.wattle.id.au>.
1012
1013 2011-08-20  Reuben Thomas  <rrt@sc3d.org>
1014
1015         doc: fix typo in README-release
1016         * top/README-release: Capitalize first word of a sentence.
1017
1018 2011-08-19  Jim Meyering  <meyering@redhat.com>
1019
1020         fts: do not exhaust memory when processing million-entry directories
1021         Before this change, traversing (via rm -rf, find, du, etc.) an N-entry
1022         directory would require about 256*N bytes of memory.  Thus, it was
1023         easy to construct a directory too large to be processed by any of
1024         those tools.  With this change, fts' maximum memory utilization is
1025         now limited to around 30MB.
1026         * lib/fts.c (FTS_MAX_READDIR_ENTRIES): Define.
1027         (fts_read): When we've processed the final entry (i.e., when
1028         ->fts_link is NULL) and fts_dirp is non-NULL, call fts_build
1029         using the parent entry to read any remaining entries.  Dispatch
1030         depending on what fts_build returns:
1031         - NULL+stop, aka failure: stop
1032         - NULL otherwise: move up in the dir hierarchy
1033         - non-NULL: handle this new entry
1034         (fts_build): Declare and use new local, continue_readdir.
1035         Prepare to be called from fts_read, when the entries
1036         from a partially-read directory have just been exhausted.
1037         In that case, we'll skip the opendir and instead use the parent's
1038         fts_dirp and derive dir_fd from that.
1039         Finally, in the readdir loop, if we read max_entries entries,
1040         exit the loop ensuring *not* to call closedir.  This is required
1041         so that fts_dirp can be reused on a subsequent call.
1042         Prompted by Ben England's report of memory exhaustion in find
1043         and rm -rf vs. NFS: https://bugzilla.redhat.com/719749.
1044
1045         maint: fts: move decl of `dp' down into while loop; split a long line
1046         * lib/fts.c (fts_build): No semantic change.
1047
1048         fts: add/use new struct member, fts_dirp
1049         We are about to use this to manage any directory with
1050         too many entries to read all of them into memory at once.
1051         To do that, we'll need to save the DIR* pointer in each
1052         affected FTSENT struct.
1053         * lib/fts_.h: Include <dirent.h>.
1054         (struct FTSENT) [fts_dirp]: New member.
1055         * lib/fts.c (closedir_and_clear): Define.
1056         Use it in place of closedir so that we are sure to
1057         clear the new fts_dirp member when done with it.
1058         (fts_alloc): Initialize the new member.
1059         (fts_lfree): Free, if needed.
1060
1061         maint: fts: give __opendir2 a new parameter and rename
1062         * lib/fts.c (__opendir2): Give it a new parameter, Pdir_fd, rather
1063         than surreptitiously using sole caller's "dir_fd".
1064         (fts_opendir): Rename from __opendir2.
1065
1066         maint: fts.c: remove __opendir2's now-unused parameter, oflag
1067         * lib/fts.c (__opendir2): Remove unused parameter, oflag.
1068
1069         maint: fts.c: correct off-by-one indentation
1070         * lib/fts.c (fts_build): Correct indentation, change style
1071         of a couple of block comments, and bracing style.
1072
1073         maint: fts.c: move __opendir2 #define "up" out of function body
1074         * lib/fts.c (__opendir2): Move "up".  No semantic change.
1075
1076         maint: fts.c: remove #if-0'd FTS_WHITEOUT code
1077         * lib/fts.c: Remove #if-0'd FTS_WHITEOUT code.  It's been #if-0'd
1078         out for a long time and besides was useful only on BSD systems.
1079
1080 2011-08-18  Paul Eggert  <eggert@cs.ucla.edu>
1081
1082         regex: port to Stratus OpenVOS
1083         * lib/regex_internal.h (internal_function) [!_LIBC]: Simply
1084         define to empty, rather than attempting nonportable optimizations.
1085         Problem reported by Paul Green in:
1086         http://lists.gnu.org/archive/html/bug-diffutils/2011-08/msg00047.html
1087         and fix suggested by Eric Blake in:
1088         http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00143.html
1089
1090 2011-08-17  Eric Blake  <eblake@redhat.com>
1091
1092         getcwd: fix test failures on mingw
1093         * lib/getcwd.c (__getcwd): Early exit for ERANGE.
1094         * tests/test-getcwd.c (test_abort_bug, test_long_name): Don't fail
1095         test if long directory cannot be created, and allow mingw errno.
1096
1097         getcwd-lgpl: fix m4 to match relaxed test for BSD
1098         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Relax probe.
1099         (gl_FUNC_GETCWD_SIGNATURE): New macro.
1100         (gl_FUNC_GETCWD_LGPL, gl_FUNC_GETCWD): Use it.
1101         * doc/posix-functions/getcwd.texi (getcwd): Tweak mentions of
1102         signature problem.
1103
1104         getcwd: fix compilation on mingw64
1105         * lib/unistd.in.h (includes) [mingw]: Include <direct.h> for
1106         getcwd.
1107         Reported by Marc-André Lureau.
1108
1109         pipe2: silence compiler warning
1110         * lib/pipe2.c (pipe2): Hide label if it is not used.
1111
1112 2011-08-15  Ben Pfaff  <blp@cs.stanford.edu>
1113
1114         relocatable-prog: fix link error
1115         * modules/relocatable-prog (configure.ac) [RELOCATABLE]: Also
1116         invoke AC_LIBOBJ([relocatable]).  This invocation was previously
1117         in the gl_RELOCATABLE_LIBRARY macro.  That invocation was moved
1118         into modules/relocatable-lib without noticing that
1119         modules/relocatable-prog also invokes gl_RELOCATABLE_LIBRARY and
1120         also needs to build relocatable.c.
1121
1122 2011-08-12  Paul Eggert  <eggert@cs.ucla.edu>
1123
1124         getaddrinfo: fix sh typo in gai_strerrorA decl checking
1125         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix typo in the generated
1126         shell code: it contained a 'break' that was not in a loop.
1127         Apparently the macro assumed that AC_CHECK_DECLS is implemenented
1128         via a shell-language loop; this may have been true in old Autoconf
1129         versions, but it's not true in Autoconf 2.68.  I found this bug
1130         when testing coreutils git on Solaris 8, whose shell complains
1131         about the syntax error.
1132
1133 2011-08-12  Simon Josefsson  <simon@josefsson.org>
1134
1135         * lib/base64.c: Fix comment to reference RFC 4648.
1136         Suggested by Bruno Haible <bruno@clisp.org> and Gijs van Tulder
1137         <gvtulder@gmail.com>.
1138
1139 2011-08-11  Paul Eggert  <eggert@cs.ucla.edu>
1140
1141         * build-aux/bootstrap (slurp): Remove obsolescent gettext.m4 patch.
1142
1143         po/Makefile.in.in: fix make -q problem
1144         * build-aux/po/Makefile.in.in (check-macro-version): Remove this
1145         rule, since there's no file named 'check-macro-version' and its
1146         use as a file breaks make -q.
1147         (all): Don't depend on check-macro-version.
1148         (CHECK_MACRO_VERSION): New macro.
1149         (stamp-po): Use it.
1150
1151         configmake: fix make -q problem
1152         * modules/configmake (configmake.h): Update configmake.h's time stamp
1153         even if the file does not change.  Otherwise, 'make -q' fails.
1154         Problem reported by Simon Josefsson in
1155         <http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00088.html>.
1156
1157 2011-08-11  Jim Meyering  <meyering@redhat.com>
1158
1159         git-version-gen: correct the advice in a comment
1160         * build-aux/git-version-gen: Correct comment.
1161         Don't recommend to list .tarball-version in .gitignore.
1162
1163 2011-08-10  Paul Eggert  <eggert@cs.ucla.edu>
1164
1165         base64: fix off-by-one buffer size bug
1166         Problem and (trivial) fix reported by Gijs van Tulder in
1167         <http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00083.html>.
1168         * lib/base64.c (base64_decode_alloc_ctx): Allocate one more byte.
1169         * tests/test-base64.c (main): Catch the bug.
1170
1171 2011-08-10  Eric Blake  <eblake@redhat.com>
1172
1173         closein: correct comments
1174         * lib/closein.c (close_stdin): Improve comments.
1175
1176 2011-08-09  Bruno Haible  <bruno@clisp.org>
1177
1178         More tests for 'fseeko'.
1179         * tests/test-fseeko3.c: New file, from Eric Blake.
1180         * tests/test-fseeko3.sh: New file.
1181         * modules/fseeko-tests (Files): Add them.
1182         (TESTS): Add test-fseeko3.sh.
1183         (check_PROGRAMS): Add test-fseeko3.
1184
1185 2011-08-09  Eric Blake  <eblake@redhat.com>
1186
1187         fseeko: remove unneeded hack
1188         * lib/fseeko.c (fseeko): Don't special-case SEEK_END.
1189
1190         fseeko: fix bug on glibc
1191         * lib/fseeko.c (fseeko): Set stream offset to match fd offset.
1192         Reported by John W. Eaton.
1193
1194 2011-08-08  Bruno Haible  <bruno@clisp.org>
1195
1196         unictype/base: Fix interoperability with preinstalled libunistring.
1197         * modules/unictype/base (configure.ac): Bump minimum version to 0.9.4.
1198         Reported by Simon Josefsson.
1199
1200 2011-08-08  Bruno Haible  <bruno@clisp.org>
1201
1202         iswblank: Detect declaration correctly.
1203         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Use correct headers in
1204         AC_CHECK_DECLS invocation.
1205
1206 2011-08-08  Bruno Haible  <bruno@clisp.org>
1207
1208         tcgetsid: Detect declaration correctly.
1209         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Use correct headers in
1210         AC_CHECK_DECLS invocation.
1211         Reported by Simon Josefsson.
1212
1213 2011-08-08  Eric Blake  <eblake@redhat.com>
1214
1215         largefile: fix typo that regressed large file support
1216         * modules/largefile (configure.ac-early): Fix section name.
1217
1218 2011-08-06  Karl Berry  <karl@gnu.org>
1219
1220         * MODULES.html.sh (func_all_files): _Noreturn is no longer
1221         a separate module.
1222
1223 2011-08-05  Simon Josefsson  <simon@josefsson.org>
1224
1225         openat: Fix warnings and commens when building unlinkat.c on Hurd.
1226         * lib/unlinkat.c: Mention Hurd in comments.  Include stdlib.h to
1227         get prototype for free.
1228
1229 2011-08-04  Bruno Haible  <bruno@clisp.org>
1230
1231         Tests for module 'pathmax'.
1232         * modules/pathmax-tests: New file.
1233         * tests/test-pathmax.c: New file.
1234
1235         canonicalize-lgpl: Support larger filenames on the Hurd.
1236         * lib/canonicalize-lgpl.c (__realpath): Bump path_max fallback to 8192.
1237         Reported by Paul Eggert.
1238
1239         pathmax: Leave PATH_MAX undefined on the Hurd, and a constant otherwise.
1240         * lib/pathmax.h (PATH_MAX): Leave it undefined on GNU/Hurd.
1241         * lib/chdir-long.h: Include pathmax.h.
1242         * lib/clean-temp.c (PATH_MAX): Remove code that is done by pathmax.h.
1243         * lib/getcwd.c: Include pathmax.h instead of <limits.h>.
1244         (PATH_MAX): Remove code that is done by pathmax.h.
1245         * lib/canonicalize.c (PATH_MAX): Provide a fallback value.
1246         * lib/tmpfile.c: Add a comment.
1247         * m4/pathmax.m4 (gl_PATHMAX): Don't test for pathconf.
1248         * modules/chdir-long (Depends-on): Add pathmax.
1249         * modules/getcwd (Depends-on): Add pathmax.
1250         * tests/test-getcwd.c (test_abort_bug): Avoid syntax error when PATH_MAX
1251         is not defined.
1252         * doc/posix-headers/limits.texi: Mention the pathmax module.
1253         * NEWS: Mention the change.
1254
1255 2011-08-02  Bruno Haible  <bruno@clisp.org>
1256
1257         pthread_sigmask: Actually use results of gl_THREADLIB.
1258         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test and require
1259         gl_THREADLIB, not gl_[]THREADLIB.
1260         Reported by Eric Blake.
1261
1262 2011-08-02  Jim Meyering  <meyering@redhat.com>
1263
1264         maint.mk: relax the default _gl_TS_function_match regexp
1265         * top/maint.mk (_gl_TS_function_match): Don't require at least one
1266         space between function name and "(" in an "extern" declaration.
1267         That would fail to match a decl with no space there: extern void foo();
1268
1269 2011-07-31  Iain Nicol  <iain@thenicols.net>
1270
1271         git-version-gen: document that EXTRA_DIST must include .version
1272         * build-aux/git-version-gen: In the how-to-use comment, document
1273         that EXTRA_DIST must include .version.  Otherwise, "make distcheck"
1274         will fail when run from an unpacked distribution tarball.
1275
1276 2011-08-01  Bruno Haible  <bruno@clisp.org>
1277
1278         wctype-h: Fix last change.
1279         * m4/wctype_h.m4 (gl_WCTYPE_H): If towlower is defined, set
1280         REPLACE_TOWLOWER to 0.
1281         Reported by Sam Steingold <sds@gnu.org>.
1282
1283 2011-07-31  Bruno Haible  <bruno@clisp.org>
1284
1285         frexpl: Update autoconf test.
1286         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Update overrides of <float.h>,
1287         according to changes of 2011-06-20.
1288
1289 2011-07-31  Bruno Haible  <bruno@clisp.org>
1290
1291         sys_utsname: Add support for Minix.
1292         * lib/sys_utsname.in.h [Minix]: Include <stddef.h> before
1293         <sys/utsname.h>.
1294         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
1295         * doc/posix-headers/sys_utsname.texi: Document the Minix problem.
1296
1297 2011-07-31  Bruno Haible  <bruno@clisp.org>
1298
1299         strings: Add support for Minix.
1300         * lib/strings.in.h [Minix]: Include <sys/types.h> before <strings.h>.
1301         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
1302         * doc/posix-headers/strings.texi: Document the Minix problem.
1303
1304 2011-07-31  Bruno Haible  <bruno@clisp.org>
1305
1306         wctype-h: Add support for Minix.
1307         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towlower is declared. Set
1308         REPLACE_TOWLOWER.
1309         * modules/wctype-h (Makefile.am): Substitute REPLACE_TOWLOWER.
1310         * lib/wctype.in.h (towlower, towupper): Test REPLACE_TOWLOWER, not
1311         REPLACE_ISWCNTRL.
1312
1313 2011-07-31  Paul Eggert  <eggert@cs.ucla.edu>
1314
1315         * lib/xalloc.h (DEFAULT_MXFAST): Track 64-bit glibc.
1316         This is a performance improvement for 64-bit hosts: it causes the
1317         value of DEFAULT_MXFAST to track what's in glibc on such hosts.
1318
1319 2011-07-31  Bruno Haible  <bruno@clisp.org>
1320
1321         stdioext: Add support for Minix.
1322         * lib/fbufmode.c (fbufmode) [__minix]: Add conditional code.
1323         * lib/fpurge.c (fpurge): Likewise.
1324         * lib/freadahead.c (freadahead): Likewise.
1325         * lib/freadable.c (freadable): Likewise.
1326         * lib/freading.c (freading): Likewise.
1327         * lib/freadptr.c (freadptr): Likewise.
1328         * lib/freadseek.c (freadptrinc): Likewise.
1329         * lib/fseeko.c (rpl_fseeko): Likewise.
1330         * lib/fseterr.c (fseterr): Likewise.
1331         * lib/fwritable.c (fwritable): Likewise.
1332         * lib/fwriting.c (fwriting): Likewise.
1333         * lib/fflush.c (clear_ungetc_buffer): Update comment.
1334         * m4/fpending.m4 (gl_PREREQ_FPENDING): Add a variant for Minix.
1335
1336 2011-07-31  Bruno Haible  <bruno@clisp.org>
1337
1338         errno: Port to Minix.
1339         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also whether ENETRESET and
1340         ECONNABORTED are defined.
1341         * lib/errno.in.h (ENETRESET, GNULIB_defined_ENETRESET, ECONNABORTED,
1342         GNULIB_defined_ECONNABORTED): New macros.
1343         * lib/strerror-override.h (strerror_override): Test also
1344         GNULIB_defined_ENETRESET, GNULIB_defined_ECONNABORTED.
1345         * lib/strerror-override.c (strerror_override): Handle also ENETRESET,
1346         ECONNABORTED.
1347         * doc/posix-headers/errno.texi: Mention the Minix problem.
1348
1349 2011-07-31  Bruno Haible  <bruno@clisp.org>
1350
1351         Work around declaration collisions on Minix.
1352         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): If mbsinit is declared but not
1353         defined, set REPLACE_MBSINIT.
1354         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): If mbrtowc is declared but not
1355         defined, set REPLACE_MBRTOWC.
1356         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): If mbrlen is declared but not defined,
1357         set REPLACE_MBRLEN.
1358         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): If mbsrtowcs is declared but not
1359         defined, set REPLACE_MBSRTOWCS.
1360         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): If wcrtomb is declared but not
1361         defined, set REPLACE_WCRTOMB.
1362         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): If wcsrtombs is declared but not
1363         defined, set REPLACE_WCSRTOMBS.
1364
1365 2011-07-31  Bruno Haible  <bruno@clisp.org>
1366
1367         Add support for Minix with ACK compiler.
1368         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): New macro.
1369         * gnulib-tool (func_import, func_create_testdir): Emit invocation of
1370         gl_PROG_AR_RANLIB instead of AC_PROG_RANLIB.
1371
1372 2011-07-31  Bruno Haible  <bruno@clisp.org>
1373
1374         Documentation about Minix.
1375         * doc/posix-headers/*.texi: Add info about Minix 3.1.8.
1376         * doc/glibc-headers/*.texi: Likewise.
1377         * doc/posix-functions/*.texi: Likewise.
1378         * doc/glibc-functions/*.texi: Likewise.
1379
1380 2011-07-31  Bruno Haible  <bruno@clisp.org>
1381
1382         snippet/warn-on-use: Fix indentation.
1383         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Fix indentation.
1384
1385 2011-07-25  Jim Meyering  <meyering@redhat.com>
1386
1387         tests: test-update-copyright.sh: remove unnecessary "rm" commands
1388         * tests/test-update-copyright.sh: Remove unused rm -f $TMP.*.bak
1389         commands.
1390
1391 2011-07-27  Jim Meyering  <meyering@redhat.com>
1392
1393         maint.mk: avoid sc_prohibit_always-defined_macros failure in coreutils
1394         * top/maint.mk (gl_extract_significant_defines_): Now that
1395         SA_RESETHAND and SA_RESTART are #defined (albeit conditionally) in
1396         gnulib/lib/signal.in.h, and now that we recommend to
1397         define-if-undefined those two symbols in application code,
1398         we must filter them out of the "significant" list.
1399         This avoids a "make syntax-check" failure in coreutils.
1400
1401 2011-07-26  Eric Blake  <eblake@redhat.com>
1402
1403         warnings: add comments about previous patch
1404         * m4/absolute-header.m4: Document AS_VAR_PUSHDEF limitation.
1405         * m4/include_next.m4: Likewise.
1406         * m4/warn-on-use.m4: Likewise.
1407         * m4/warnings.m4: Likewise, and simplify use.
1408         Suggested by Stefano Lattarini.
1409
1410         include-next, warnings: support older autoconf
1411         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Use
1412         AS_VAR_PUSHDEF in a way that works with older autoconf.
1413         * m4/warnings.m4 (gl_WARN_ADD): Likewise.
1414         Reported by Daniel P. Berrange.
1415
1416 2011-07-25  Bruno Haible  <bruno@clisp.org>
1417
1418         fseek, ftell: Fix doc.
1419         * doc/posix-functions/fseek.texi: Reword statement about
1420         AC_SYS_LARGEFILE.
1421         * doc/posix-functions/ftell.texi: Likewise.
1422
1423 2011-07-25  Paul Eggert  <eggert@cs.ucla.edu>
1424             Bruno Haible  <bruno@clisp.org>
1425
1426         Add dependencies to the 'largefile' module.
1427         * modules/fopen (Depends-on): Add 'largefile'.
1428         * modules/freopen (Depends-on): Likewise.
1429         * modules/fseeko (Depends-on): Likewise.
1430         * modules/ftello (Depends-on): Likewise.
1431         * modules/glob (Depends-on): Likewise.
1432         * modules/lseek (Depends-on): Likewise.
1433         * modules/lstat (Depends-on): Likewise.
1434         * modules/mkostemp (Depends-on): Likewise.
1435         * modules/mkostemps (Depends-on): Likewise.
1436         * modules/mkstemp (Depends-on): Likewise.
1437         * modules/mkstemps (Depends-on): Likewise.
1438         * modules/open (Depends-on): Likewise.
1439         * modules/openat (Depends-on): Likewise.
1440         * modules/pread (Depends-on): Likewise.
1441         * modules/pwrite (Depends-on): Likewise.
1442         * modules/scandir (Depends-on): Likewise.
1443         * modules/stat (Depends-on): Likewise.
1444         * modules/tmpfile (Depends-on): Likewise.
1445         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Do not require AC_SYS_LARGEFILE,
1446         since the containing module now depends on the largefile module.
1447         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Likewise.
1448         * doc/posix-functions/fopen.texi: Mention that the problem of 32-bit
1449         off_t is fixed by gnulib.
1450         * doc/posix-functions/freopen.texi: Likewise.
1451         * doc/posix-functions/fseeko.texi: Likewise.
1452         * doc/posix-functions/fstatat.texi: Likewise.
1453         * doc/posix-functions/ftello.texi: Likewise.
1454         * doc/posix-functions/glob.texi: Likewise.
1455         * doc/posix-functions/lseek.texi: Likewise.
1456         * doc/posix-functions/lstat.texi: Likewise.
1457         * doc/posix-functions/mkstemp.texi: Likewise.
1458         * doc/posix-functions/open.texi: Likewise.
1459         * doc/posix-functions/openat.texi: Likewise.
1460         * doc/posix-functions/pread.texi: Likewise.
1461         * doc/posix-functions/pwrite.texi: Likewise.
1462         * doc/posix-functions/scandir.texi: Likewise.
1463         * doc/posix-functions/stat.texi: Likewise.
1464         * doc/posix-functions/tmpfile.texi: Likewise.
1465         * doc/glibc-functions/mkostemp.texi: Likewise.
1466         * doc/glibc-functions/mkostemps.texi: Likewise.
1467         * doc/glibc-functions/mkstemps.texi: Likewise.
1468
1469 2011-07-25  Bruno Haible  <bruno@clisp.org>
1470
1471         fcntl: Move AC_LIBOBJ invocation to module description.
1472         * m4/fcntl.m4 (gl_REPLACE_FCNTL): Don't invoke AC_LIBOBJ.
1473         * modules/fcntl (configure.ac): Invoke AC_LIBOBJ.
1474
1475         fcntl: Remove call-in from fchdir.m4.
1476         * m4/fcntl.m4 (gl_FUNC_FCNTL): Conditionally invoke gl_TEST_FCHDIR.
1477         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_FCNTL.
1478
1479         dup3: Remove potential call-in from fchdir.m4.
1480         * m4/dup3.m4 (gl_FUNC_DUP3): Add comment about fchdir.
1481         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Remove comment about dup3.
1482
1483         dup2: Move AC_LIBOBJ invocation to module description.
1484         * m4/dup2.m4 (gl_REPLACE_DUP2): Remove macro.
1485         (gl_FUNC_DUP2): Instead of gl_REPLACE_DUP2, just set REPLACE_DUP2 to 1.
1486         Don't invoke AC_LIBOBJ.
1487         * modules/dup2 (configure.ac): Invoke AC_LIBOBJ.
1488
1489         dup2: Remove call-in from fchdir.m4.
1490         * m4/dup2.m4 (gl_FUNC_DUP2): Conditionally invoke gl_TEST_FCHDIR.
1491         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_DUP2.
1492
1493         fclose: Move AC_LIBOBJ invocation to module description.
1494         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Remove macro.
1495         (gl_FUNC_FCLOSE): Instead of gl_REPLACE_FCLOSE, just set REPLACE_FCLOSE
1496         to 1.
1497         * modules/fclose (configure.ac): Invoke AC_LIBOBJ.
1498
1499         fclose: Remove call-in from close.m4.
1500         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_CLOSE.
1501         * m4/close.m4 (gl_FUNC_CLOSE): Don't invoke gl_REPLACE_FCLOSE.
1502
1503         close: Move AC_LIBOBJ invocation to module description.
1504         * m4/close.m4 (gl_REPLACE_CLOSE): Remove macro.
1505         (gl_FUNC_CLOSE): Instead of gl_REPLACE_CLOSE, just set REPLACE_CLOSE to
1506         1.
1507         * modules/close (configure.ac): Invoke AC_LIBOBJ.
1508
1509         close: Remove call-in from fchdir.m4.
1510         * m4/close.m4 (gl_FUNC_CLOSE): Conditionally invoke gl_TEST_FCHDIR.
1511         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_CLOSE.
1512
1513         open: Move AC_LIBOBJ invocation to module description.
1514         * m4/open.m4 (gl_REPLACE_OPEN): Remove macro.
1515         (gl_FUNC_OPEN): Instead of gl_REPLACE_OPEN, just set REPLACE_OPEN to 1.
1516         * modules/open (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_OPEN.
1517
1518         open: Remove call-in from fchdir.m4.
1519         * m4/open.m4 (gl_FUNC_OPEN): Conditionally invoke gl_TEST_FCHDIR.
1520         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_OPEN.
1521
1522         fchdir: Start to remove gl_REPLACE_* idiom.
1523         * m4/fchdir.m4 (gl_TEST_FCHDIR): New macro.
1524         (gl_FUNC_FCHDIR): Invoke it.
1525
1526 2011-07-25  Paul Eggert  <eggert@cs.ucla.edu>
1527
1528         * lib/ftell.c (ftell): Comment out cast.
1529
1530         close: use gl_REPLACE_FCLOSE only if defined
1531         * m4/close.m4 (gl_REPLACE_CLOSE): Use gl_REPLACE_FCLOSE only if it
1532         is defined.  The close module doesn't depend on the fclose module
1533         any more, so gl_REPLACE_CLOSE's existence cannot be assumed.  See
1534         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00392.html>.
1535         I reproduced the problem with "./gnulib-tool --test close sys_socket".
1536
1537 2011-07-24  Jim Meyering  <meyering@redhat.com>
1538
1539         test-select.h: avoid warning when using gcc's -Wmissing-declarations
1540         * tests/test-select.h (test_function): Declare as "static".
1541
1542 2011-07-24  Bruno Haible  <bruno@clisp.org>
1543
1544         doc: Mention the effects of AC_SYS_LARGEFILE.
1545         * doc/posix-functions/aio_cancel.texi: Mention the effects of AC_SYS_LARGEFILE
1546         on this function.
1547         * doc/posix-functions/aio_error.texi: Likewise.
1548         * doc/posix-functions/aio_fsync.texi: Likewise.
1549         * doc/posix-functions/aio_read.texi: Likewise.
1550         * doc/posix-functions/aio_return.texi: Likewise.
1551         * doc/posix-functions/aio_suspend.texi: Likewise.
1552         * doc/posix-functions/aio_write.texi: Likewise.
1553         * doc/posix-functions/fgetpos.texi: Likewise.
1554         * doc/posix-functions/fopen.texi: Likewise.
1555         * doc/posix-functions/freopen.texi: Likewise.
1556         * doc/posix-functions/fsetpos.texi: Likewise.
1557         * doc/posix-functions/fstatvfs.texi: Likewise.
1558         * doc/posix-functions/ftruncate.texi: Likewise.
1559         * doc/posix-functions/ftw.texi: Likewise.
1560         * doc/posix-functions/getrlimit.texi: Likewise.
1561         * doc/posix-functions/glob.texi: Likewise.
1562         * doc/posix-functions/lio_listio.texi: Likewise.
1563         * doc/posix-functions/lockf.texi: Likewise.
1564         * doc/posix-functions/mkstemp.texi: Likewise.
1565         * doc/posix-functions/mmap.texi: Likewise.
1566         * doc/posix-functions/nftw.texi: Likewise.
1567         * doc/posix-functions/openat.texi: Likewise.
1568         * doc/posix-functions/opendir.texi: Likewise.
1569         * doc/posix-functions/posix_fadvise.texi: Likewise.
1570         * doc/posix-functions/posix_fallocate.texi: Likewise.
1571         * doc/posix-functions/pread.texi: Likewise.
1572         * doc/posix-functions/pwrite.texi: Likewise.
1573         * doc/posix-functions/readdir.texi: Likewise.
1574         * doc/posix-functions/readdir_r.texi: Likewise.
1575         * doc/posix-functions/rewinddir.texi: Likewise.
1576         * doc/posix-functions/scandir.texi: Likewise.
1577         * doc/posix-functions/seekdir.texi: Likewise.
1578         * doc/posix-functions/setrlimit.texi: Likewise.
1579         * doc/posix-functions/statvfs.texi: Likewise.
1580         * doc/posix-functions/telldir.texi: Likewise.
1581         * doc/posix-functions/tmpfile.texi: Likewise.
1582         * doc/posix-functions/truncate.texi: Likewise.
1583         * doc/glibc-functions/fallocate.texi: Likewise.
1584         * doc/glibc-functions/fstatfs.texi: Likewise.
1585         * doc/glibc-functions/fts_children.texi: Likewise.
1586         * doc/glibc-functions/fts_read.texi: Likewise.
1587         * doc/glibc-functions/getdirentries.texi: Likewise.
1588         * doc/glibc-functions/mkostemp.texi: Likewise.
1589         * doc/glibc-functions/mkostemps.texi: Likewise.
1590         * doc/glibc-functions/mkstemps.texi: Likewise.
1591         * doc/glibc-functions/preadv.texi: Likewise.
1592         * doc/glibc-functions/pwritev.texi: Likewise.
1593         * doc/glibc-functions/sendfile.texi: Likewise.
1594         * doc/glibc-functions/statfs.texi: Likewise.
1595
1596 2011-07-24  Bruno Haible  <bruno@clisp.org>
1597
1598         doc: Fix typo.
1599         * doc/posix-functions/fstat.texi: Talk about fstat, not stat.
1600
1601 2011-07-24  Bruno Haible  <bruno@clisp.org>
1602
1603         doc: Mention fsusage.
1604         * doc/posix-functions/statvfs.texi: Mention the fsusage module.
1605
1606 2011-07-24  Bruno Haible  <bruno@clisp.org>
1607
1608         doc: Mention new glibc headers and functions.
1609         * doc/glibc-headers/gshadow.texi: New file.
1610         * doc/glibc-functions/endsgent.texi: New file.
1611         * doc/glibc-functions/fgetsgent.texi: New file.
1612         * doc/glibc-functions/fgetsgent_r.texi: New file.
1613         * doc/glibc-functions/getsgent.texi: New file.
1614         * doc/glibc-functions/getsgent_r.texi: New file.
1615         * doc/glibc-functions/getsgnam.texi: New file.
1616         * doc/glibc-functions/getsgnam_r.texi: New file.
1617         * doc/glibc-functions/putsgent.texi: New file.
1618         * doc/glibc-functions/setsgent.texi: New file.
1619         * doc/glibc-functions/sgetsgent.texi: New file.
1620         * doc/glibc-functions/sgetsgent_r.texi: New file.
1621         * doc/glibc-functions/malloc_info.texi: New file.
1622         * doc/glibc-functions/preadv.texi: New file.
1623         * doc/glibc-functions/pwritev.texi: New file.
1624         * doc/glibc-functions/register_printf_modifier.texi: New file.
1625         * doc/glibc-functions/register_printf_specifier.texi: New file.
1626         * doc/glibc-functions/register_printf_type.texi: New file.
1627         * doc/glibc-functions/pthread_attr_getaffinity_np.texi: New file.
1628         * doc/glibc-functions/pthread_attr_setaffinity_np.texi: New file.
1629         * doc/glibc-functions/pthread_getaffinity_np.texi: New file.
1630         * doc/glibc-functions/pthread_getname_np.texi: New file.
1631         * doc/glibc-functions/pthread_mutex_consistent_np.texi: New file.
1632         * doc/glibc-functions/pthread_mutexattr_getrobust_np.texi: New file.
1633         * doc/glibc-functions/pthread_mutexattr_setrobust_np.texi: New file.
1634         * doc/glibc-functions/pthread_setaffinity_np.texi: New file.
1635         * doc/glibc-functions/pthread_setname_np.texi: New file.
1636         * doc/glibc-functions/pthread_sigqueue.texi: New file.
1637         * doc/glibc-functions/pthread_timedjoin_np.texi: New file.
1638         * doc/glibc-functions/pthread_tryjoin_np.texi: New file.
1639         * doc/glibc-functions/qsort_r.texi: New file.
1640         * doc/glibc-functions/quick_exit.texi: New file.
1641         * doc/glibc-functions/syncfs.texi: New file.
1642         * doc/gnulib.texi: Include them.
1643         (Glibc gshadow.h, Glibc sys/uio.h): New sections.
1644         * doc/posix-functions/psiginfo.texi: Fix info about glibc version.
1645         * doc/posix-functions/pthread_mutex_consistent.texi: Likewise.
1646         * doc/posix-functions/pthread_mutexattr_getrobust.texi: Likewise.
1647         * doc/posix-functions/pthread_mutexattr_setrobust.texi: Likewise.
1648         * doc/glibc-functions/execvpe.texi: Likewise.
1649
1650 2011-07-24  Paul Eggert  <eggert@cs.ucla.edu>
1651
1652         ftell: don't include <unistd.h>
1653         * lib/ftell.c: Don't include <unistd.h>.  <stdio.h> is now
1654         guaranteed to define off_t, and the ftell module depends on the
1655         stdio module.
1656
1657         ftell: do not assume wraparound signed arithmetic
1658         * lib/ftell.c: Include <limits.h>.
1659         (ftell): Don't assume wraparound signed arithmetic.
1660
1661 2011-07-24  Bruno Haible  <bruno@clisp.org>
1662
1663         close: No longer depend on module 'fclose'.
1664         * modules/close (Depends-on): Remove fclose.
1665         * NEWS: Mention the change.
1666         Suggested by Sam Steingold <sds@gnu.org>.
1667
1668 2011-07-24  Bruno Haible  <bruno@clisp.org>
1669
1670         fsusage: Enable large volume support on AIX >= 5.2.
1671         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): If 'struct statvfs64' has a
1672         larger f_blocks field than 'struct statvfs', define STAT_STATVFS64
1673         instead of STAT_STATVFS.
1674         * lib/fsusage.c (get_fs_usage) [STAT_STATVFS64]: Use statvfs64.
1675
1676         fsusage: Restore previous behaviour on AIX, Cygwin, Interix.
1677         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Enforce a 64-bit struct statvfs
1678         f_blocks field only on MacOS X.
1679
1680         fsusage: Support large volumes on glibc/Hurd, HP-UX, Solaris, MacOS X.
1681         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Require AC_SYS_LARGEFILE.
1682         * modules/fsusage (Depends-on): Add largefile.
1683
1684 2011-07-24  Paul Eggert  <eggert@cs.ucla.edu>
1685
1686         * README: Modernize discussion of signed integers.
1687         Assuming overflow wraparound is no longer safe.
1688         Mention ones' complement and signed magnitude.
1689
1690 2011-07-22  Bruno Haible  <bruno@clisp.org>
1691
1692         select tests, pselect tests: Refactor.
1693         * tests/test-select.h: New file, extracted from tests/test-select.c.
1694         (select_fn): New type.
1695         (test, do_select, do_select_nowait, do_select_wait, test_tty,
1696         test_connect_first, test_accept_first, test_pair, test_socket_pair,
1697         test_pipe): Add my_select argument.
1698         (test_function): Renamed from main. Add my_select argument.
1699         * tests/test-select.c: Move most code to tests/test-select.h. Include
1700         test-select.h.
1701         * modules/select-tests (Files): Add tests/test-select.h.
1702         * tests/test-pselect.c: Include test-select.h instead of test-select.c.
1703         (my_select, main): New functions.
1704         * modules/pselect-tests (Files): Add tests/test-select.h,
1705         tests/macros.h, tests/signature.h.
1706         (Depends-on): Remove select-tests. Add dependencies of test-select.h.
1707         (configure.ac): Check for <sys/wait.h>.
1708
1709 2011-07-22  Bruno Haible  <bruno@clisp.org>
1710
1711         sys_select tests: Check the signature of FD_*.
1712         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Move
1713         signature tests from here...
1714         * tests/test-sys_select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): ... to
1715         here.
1716         * modules/sys_select-tests (Files): Add tests/signature.h.
1717
1718 2011-07-22  Paul Eggert  <eggert@cs.ucla.edu>
1719
1720         largefile: new module, replacing large-inode
1721         Pádraig Brady suggested this in        <http://debbugs.gnu.org/9140#20>.
1722         * MODULES.html.sh: Add largefile, remove large-inode.
1723         * modules/largefile, m4/largefile.m4: New files.
1724         * modules/large-inode, m4/large-inode.m4: Remove.
1725
1726         fsusage: port to MacOS X 10.7 with 4 TiB file systems
1727         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Reject statvfs
1728         implementations that use only 32 bits to count blocks.
1729         On typical hosts with 1024-byte blocks, this fails with file
1730         systems as small as 4 TiB.  Problem reported by Herb Wartens
1731         <http://debbugs.gnu.org/9140> and this should also fix a similar
1732         problem reported by Tim Spriggs <http://debbugs.gnu.org/7355>.
1733
1734         large-inode: New module
1735         * MODULES.html.sh: Add it.
1736         * modules/large-inode, m4/large-inode.m4: New files.
1737
1738         extensions: Enable extensions on MacOS X 10.5 and later.
1739         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Define _DARWIN_C_SOURCE.
1740
1741 2011-07-22  Kamil Dudka  <kdudka@redhat.com>
1742
1743         file-has-acl: use acl_extended_file_nofollow if available
1744         * lib/acl-internal.h (HAVE_ACL_EXTENDED_FILE): New macro.
1745         (acl_extended_file): New macro.
1746         * lib/file-has-acl.c (file_has_acl): Use acl_extended_file_nofollow.
1747         * m4/acl.m4 (gl_FUNC_ACL): Check for acl_extended_file_nofollow.
1748
1749 2011-07-21  Bruno Haible  <bruno@clisp.org>
1750
1751         Declare system functions in a way that works with C++.
1752         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR) [C++]: In the test program,
1753         declare fdopendir as extern "C".
1754         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS) [C++]: In the test program,
1755         declare frexpl as extern "C".
1756         * m4/getaddrinfo.m4 (gl_GETADDRINFO) [C++]: In the test program,
1757         declare gai_strerror as extern "C".
1758         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME) [C++]: In the test
1759         programs, declare gai_strerror as extern "C".
1760         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R) [C++]: In the test program,
1761         declare getlogin_r as extern "C".
1762         * m4/ioctl.m4 (gl_FUNC_IOCTL) [C++]: In the test program, declare ioctl
1763         as extern "C".
1764         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS) [C++]: In the test program,
1765         declare ldexpl as extern "C".
1766         * m4/logb.m4 (gl_FUNC_LOGB) [C++]: In the test programs, declare logb
1767         as extern "C".
1768         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS) [C++]: In the test
1769         program, declare getmntinfo as extern "C".
1770         * m4/stpncpy.m4 (gl_FUNC_STPNCPY) [C++]: In the test program, declare
1771         stpncpy as extern "C".
1772         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS) [C++]: In the test
1773         program, declare __xpg_strerror_r as extern "C".
1774         * m4/strndup.m4 (gl_FUNC_STRNDUP) [C++]: In the test program, declare
1775         strndup as extern "C".
1776         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT) [C++]: In the test program,
1777         declare memset and bzero as extern "C".
1778         Reported by Sam Steingold <sds@gnu.org>.
1779
1780 2011-07-12  Jim Meyering  <meyering@redhat.com>
1781
1782         maint.mk: prohibit inclusion of "verify.h" without use
1783         * top/maint.mk (sc_prohibit_verify_without_use): New rule.
1784
1785 2011-07-19  Pádraig Brady  <P@draigBrady.com>
1786
1787         timer-time: A new module to check for timer_settime()
1788         * m4/timer_time.m4: Check for the posix function.
1789         * modules/timer-time: Add the new module.
1790         * MODULES.html.sh (Compat checks for POSIX:2008 functions):
1791         Mention it.
1792
1793 2011-07-19  Paul Eggert  <eggert@cs.ucla.edu>
1794             Bruno Haible  <bruno@clisp.org>
1795
1796         pthread_sigmask: assume POSIX threads if --avoid=threadlib
1797         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): If gl_THREADLIB is
1798         not defined, assume POSIX threads and look for pthread_sigmask in
1799         $LIBS, without changing $CPPFLAGS.
1800
1801 2011-07-19  Bruno Haible  <bruno@clisp.org>
1802
1803         strstr: Update cross-compilation guess.
1804         * m4/strstr.m4 (gl_FUNC_STRSTR): On glibc > 2.12 with x86 or x86_64
1805         CPUs, guess no, in view of glibc
1806         BZ #12100 <http://sourceware.org/bugzilla/show_bug.cgi?id=12100>.
1807         Suggested by Eric Blake. Reported by Reuben Thomas.
1808
1809 2011-07-19  Pádraig Brady  <P@draigBrady.com>
1810
1811         getopt-gnu: suppress core dumps from detection code
1812         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Use the nocrash module
1813         to suppress core dumps that may well occur on glibc systems.
1814         * modules/getopt-gnu: Depend on nocrash.
1815
1816 2011-07-16  Paul Eggert  <eggert@cs.ucla.edu>
1817
1818         pthread_sigmask: ensure usleep is declared
1819         * lib/pthread_sigmask.c [PTHREAD_SIGMASK_UNBLOCK_BUG]:
1820         Include <unistd.h>, to declare usleep.  Needed on Solaris 8,
1821
1822 2011-07-15  Paul Eggert  <eggert@cs.ucla.edu>
1823
1824         doc: Document NonStop portability issues.
1825         * doc/posix-functions/sigaction.texi (sigaction):
1826         * doc/posix-headers/signal.texi (signal.h):
1827         Document NonStop.  See Joachim Schmitz in
1828         http://lists.gnu.org/archive/html/bug-coreutils/2011-07/msg00062.html
1829
1830 2011-07-15  Bruno Haible  <bruno@clisp.org>
1831
1832         ffsl, ffsll: Avoid unportable behaviour.
1833         * lib/ffsl.h (FUNC): Use 'unsigned int' instead of 'int'.
1834
1835 2011-07-15  Bruno Haible  <bruno@clisp.org>
1836
1837         ffs: More tests.
1838         * tests/test-ffs.c (NBITS): New macro.
1839         (main): Add more tests.
1840         * tests/test-ffsl.c (NBITS): New macro.
1841         (main): Add more tests.
1842         * tests/test-ffsll.c (NBITS): New macro.
1843         (main): Add more tests.
1844
1845 2011-07-15  Eric Blake  <eblake@redhat.com>
1846
1847         ffsl, ffsll: new modules
1848         * modules/ffsl: New file.
1849         * modules/ffsll: Likewise.
1850         * m4/ffsl.m4: Likewise.
1851         * m4/ffsll.m4: Likewise.
1852         * lib/ffsl.c: Likewise.
1853         * lib/ffsl.h: Likewise.
1854         * lib/ffsll.c: Likewise.
1855         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY)
1856         (gl_HEADER_STRING_H_DEFAULTS): Add defaults.
1857         * modules/string (Makefile.am): Substitute witnesses.
1858         * lib/strings.in.h (ffsl, ffsll): Declare.
1859         * modules/ffsl-tests: New test file.
1860         * modules/ffsll-tests: Likewise.
1861         * tests/test-ffsl.c: Likewise.
1862         * tests/test-ffsll.c: Likewise.
1863         * MODULES.html.sh (Integer arithmetic functions): Mention it.
1864         * doc/glibc-functions/ffsl.texi (ffsl): Likewise.
1865         * doc/glibc-functions/ffsll.texi (ffsll): Likewise.
1866
1867         ffs: fix m4 prerequisite
1868         * m4/ffs.m4 (gl_FUNC_FFS): Require strings.h defaults.
1869
1870         ffs: avoid undefined behavior
1871         * lib/ffs.c (ffs): Provide fallback for non-32-bit int.
1872         * tests/test-ffs.c (naive, main): Avoid signed shifts.
1873         Reported by Bruno Haible.
1874
1875 2011-07-12  Bruno Haible  <bruno@clisp.org>
1876
1877         pthread_sigmask: Rely on module 'threadlib'.
1878         * modules/pthread_sigmask (Depends-on): Add threadlib.
1879         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Assume gl_THREADLIB
1880         is defined.
1881
1882 2011-07-12  Bruno Haible  <bruno@clisp.org>
1883
1884         regex: Depend on module 'strcase'.
1885         * modules/regex (Depends-on): Add strcase, for strcasecmp().
1886
1887 2011-07-12  Jim Meyering  <meyering@redhat.com>
1888
1889         warn-on-use: fix typo in file name
1890         * modules/snippet/warn-on-use (Files): Correct file name:
1891         include /snippet/ component in "build-aux/snippet/warn-on-use.h".
1892
1893 2011-07-12  Bruno Haible  <bruno@clisp.org>
1894
1895         strings: Document module.
1896         * doc/posix-headers/strings.texi: Mention module 'strings'.
1897
1898 2011-07-12  Bruno Haible  <bruno@clisp.org>
1899
1900         Rename module '_Noreturn' to 'snippet/_Noreturn'.
1901         * modules/snippet/_Noreturn: Renamed from modules/_Noreturn.
1902         (Files, Makefile.am): Update.
1903         * build-aux/snippet/_Noreturn.h: Renamed from build-aux/_Noreturn.h.
1904         * modules/stdlib (Depends-on): Update.
1905
1906 2011-07-12  Bruno Haible  <bruno@clisp.org>
1907
1908         * NEWS: Mention the changes.
1909
1910         Rename module 'warn-on-use' to 'snippet/warn-on-use'.
1911         * modules/snippet/warn-on-use: Renamed from modules/warn-on-use.
1912         (Files, Makefile.am): Update.
1913         * build-aux/snippet/warn-on-use.h: Renamed from build-aux/warn-on-use.h.
1914         * modules/arpa_inet (Depends-on): Update.
1915         * modules/ctype (Depends-on): Update.
1916         * modules/dirent (Depends-on): Update.
1917         * modules/fcntl-h (Depends-on): Update.
1918         * modules/glob (Depends-on): Update.
1919         * modules/iconv-h (Depends-on): Update.
1920         * modules/inttypes-incomplete (Depends-on): Update.
1921         * modules/langinfo (Depends-on): Update.
1922         * modules/locale (Depends-on): Update.
1923         * modules/math (Depends-on): Update.
1924         * modules/netdb (Depends-on): Update.
1925         * modules/poll-h (Depends-on): Update.
1926         * modules/pty (Depends-on): Update.
1927         * modules/search (Depends-on): Update.
1928         * modules/signal (Depends-on): Update.
1929         * modules/spawn (Depends-on): Update.
1930         * modules/stdio (Depends-on): Update.
1931         * modules/stdlib (Depends-on): Update.
1932         * modules/string (Depends-on): Update.
1933         * modules/strings (Depends-on): Update.
1934         * modules/sys_file (Depends-on): Update.
1935         * modules/sys_ioctl (Depends-on): Update.
1936         * modules/sys_select (Depends-on): Update.
1937         * modules/sys_socket (Depends-on): Update.
1938         * modules/sys_stat (Depends-on): Update.
1939         * modules/sys_time (Depends-on): Update.
1940         * modules/sys_times (Depends-on): Update.
1941         * modules/sys_utsname (Depends-on): Update.
1942         * modules/sys_wait (Depends-on): Update.
1943         * modules/termios (Depends-on): Update.
1944         * modules/time (Depends-on): Update.
1945         * modules/unistd (Depends-on): Update.
1946         * modules/wchar (Depends-on): Update.
1947         * modules/wctype-h (Depends-on): Update.
1948         * MODULES.html.sh (Support for building libraries and executables):
1949         Update.
1950
1951         Rename module 'unused-parameter' to 'snippet/unused-parameter'.
1952         * modules/snippet/unused-parameter: Renamed from
1953         modules/unused-parameter.
1954         (Files, Makefile.am): Update.
1955         * build-aux/snippet/unused-parameter.h: Renamed from
1956         build-aux/unused-parameter.h.
1957         * modules/selinux-h (Depends-on): Update.
1958         * modules/unistr/base (Depends-on): Update.
1959         * MODULES.html.sh (Core language properties): Update.
1960
1961         Rename module 'link-warning' to 'snippet/link-warning'.
1962         * modules/snippet/link-warning: Renamed from modules/link-warning.
1963         (Files, Makefile.am): Update.
1964         * build-aux/snippet/link-warning.h: Renamed from
1965         build-aux/link-warning.h.
1966         * MODULES.html.sh (Support for building libraries and executables):
1967         Update.
1968
1969         Rename module 'c++defs' to 'snippet/c++defs'.
1970         * modules/snippet/c++defs: Renamed from modules/c++defs.
1971         (Files, Makefile.am): Update.
1972         * build-aux/snippet/c++defs.h: Renamed from build-aux/c++defs.h.
1973         * modules/arpa_inet (Depends-on): Update.
1974         * modules/ctype (Depends-on): Update.
1975         * modules/dirent (Depends-on): Update.
1976         * modules/fcntl-h (Depends-on): Update.
1977         * modules/glob (Depends-on): Update.
1978         * modules/iconv-h (Depends-on): Update.
1979         * modules/langinfo (Depends-on): Update.
1980         * modules/locale (Depends-on): Update.
1981         * modules/math (Depends-on): Update.
1982         * modules/netdb (Depends-on): Update.
1983         * modules/poll-h (Depends-on): Update.
1984         * modules/pty (Depends-on): Update.
1985         * modules/search (Depends-on): Update.
1986         * modules/signal (Depends-on): Update.
1987         * modules/spawn (Depends-on): Update.
1988         * modules/stdio (Depends-on): Update.
1989         * modules/stdlib (Depends-on): Update.
1990         * modules/string (Depends-on): Update.
1991         * modules/strings (Depends-on): Update.
1992         * modules/sys_ioctl (Depends-on): Update.
1993         * modules/sys_select (Depends-on): Update.
1994         * modules/sys_socket (Depends-on): Update.
1995         * modules/sys_stat (Depends-on): Update.
1996         * modules/sys_time (Depends-on): Update.
1997         * modules/sys_wait (Depends-on): Update.
1998         * modules/termios (Depends-on): Update.
1999         * modules/time (Depends-on): Update.
2000         * modules/unistd (Depends-on): Update.
2001         * modules/wchar (Depends-on): Update.
2002         * modules/wctype-h (Depends-on): Update.
2003
2004         Rename module 'arg-nonnull' to 'snippet/arg-nonnull'.
2005         * modules/snippet/arg-nonnull: Renamed from modules/arg-nonnull.
2006         (Files, Makefile.am): Update.
2007         * build-aux/snippet/arg-nonnull.h: Renamed from build-aux/arg-nonnull.h.
2008         * modules/argv-iter (Depends-on): Update.
2009         * modules/arpa_inet (Depends-on): Update.
2010         * modules/dirent (Depends-on): Update.
2011         * modules/fcntl-h (Depends-on): Update.
2012         * modules/fnmatch (Depends-on): Update.
2013         * modules/getopt-posix (Depends-on): Update.
2014         * modules/glob (Depends-on): Update.
2015         * modules/iconv-h (Depends-on): Update.
2016         * modules/inttypes-incomplete (Depends-on): Update.
2017         * modules/locale (Depends-on): Update.
2018         * modules/math (Depends-on): Update.
2019         * modules/netdb (Depends-on): Update.
2020         * modules/search (Depends-on): Update.
2021         * modules/signal (Depends-on): Update.
2022         * modules/spawn (Depends-on): Update.
2023         * modules/stdio (Depends-on): Update.
2024         * modules/stdlib (Depends-on): Update.
2025         * modules/string (Depends-on): Update.
2026         * modules/strings (Depends-on): Update.
2027         * modules/sys_socket (Depends-on): Update.
2028         * modules/sys_stat (Depends-on): Update.
2029         * modules/sys_time (Depends-on): Update.
2030         * modules/sys_times (Depends-on): Update.
2031         * modules/sys_utsname (Depends-on): Update.
2032         * modules/time (Depends-on): Update.
2033         * modules/unistd (Depends-on): Update.
2034         * modules/wchar (Depends-on): Update.
2035         * MODULES.html.sh (Support for building libraries and executables):
2036         Update.
2037
2038 2011-07-12  Paul Eggert  <eggert@cs.ucla.edu>
2039
2040         Improvements on _Noreturn and related modules.
2041
2042         modules/_Exit-tests: test _Noreturn too
2043         * tests/test-_Exit.c (MTA, Charlie): New functions, taken from the
2044         old tests/test-stdnoreturn.c.  This tests the _Noreturn keyword a bit.
2045         (main): Use them.
2046
2047         stdnoreturn, stdnoreturn-tests: remove modules
2048         They're not needed here and a bit premature for use elsewhere.  See
2049         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00209.html>.
2050         * m4/stdnoreturn.m4, modules/stdnoreturn, modules/stdnoreturn-tests:
2051         * tests/test-stdnoreturn.c: Remove files.
2052         * MODULES.html.sh (_Noreturn <stdnoreturn.h>): Remove section.
2053         * lib/openat.h, lib/sigpipe-die.h, lib/xalloc.h, lib/xmemdup0.h:
2054         * lib/xstrtol.h: Use _Noreturn rather than including <stdnoreturn.h>
2055         and using noreturn.
2056         * modules/openat, modules/sigpipe-die, modules/xalloc:
2057         * modules/xmemdup0, modules/xstrtol:
2058         Remove dependency on stdnoreturn.
2059
2060         _Noreturn: Ignore __STDC_VERSION__; observe _MSC_VER.
2061         * build-aux/_Noreturn.h (_Noreturn): Ignore __STDC_VERSION__.
2062         Reparenthesize to avoid GCC warning.
2063         Support Microsoft's syntax.
2064         * m4/gnulib-common.m4 (gl_COMMON_BODY): Likewise.
2065
2066         _Noreturn-tests: remove module
2067         * modules/_Noreturn-tests: Remove.
2068         * modules/stdnoreturn-tests (Files): Remove tests/test-_Noreturn.c.
2069         * tests/test-_Noreturn.c: Remove.
2070         * tests/test-stdnoreturn.c: Merge from the old
2071         tests/test-_Noreturn.c, testing both noreturn and _Noreturn.
2072
2073 2011-07-12  Paul Eggert  <eggert@cs.ucla.edu>
2074
2075         _Noreturn, stdnoreturn, and related modules.
2076
2077         * top/maint.mk: Adjust to new noreturn support.
2078         (gl_extract_significant_defines_): Omit pattern ATTRIBUTE_NORETURN.
2079         (def_sym_regex): Do not remove ATTRIBUTE_NORETURN.
2080
2081         xalloc: use stdnoreturn.h
2082         * lib/xalloc.h: Include <stdnoreturn.h>.
2083         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
2084         * modules/xalloc (Depends-on): Add stdnoreturn.
2085
2086         xstrtol: use stdnoreturn.h
2087         * lib/xstrtol.h: Include <stdnoreturn.h>.
2088         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
2089         * modules/xstrtol (Depends-on): Add stdnoreturn.
2090
2091         xmemdup0: use stdnoreturn.h
2092         * lib/xmemdup0.h: Include <stdnoreturn.h>.
2093         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
2094         * modules/xmemdup0 (Depends-on): Add stdnoreturn.
2095
2096         sigpipe-die: use stdnoreturn.h
2097         * lib/sigpipe-die.h: Include <stdnoreturn.h>.
2098         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
2099         * modules/sigpipe-die (Depends-on): Add stdnoreturn.
2100
2101         openat: use stdnoreturn.h
2102         * lib/openat.h: Include <stdnoreturn.h>.
2103         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
2104         * modules/openat (Depends-on): Add stdnoreturn.
2105
2106         * lib/openat-die.c (openat_save_fail): Modernize comment.
2107
2108         * lib/xalloc-die.c (xalloc_die): Modernize comment.
2109
2110         * lib/glthread/thread.h: Modernize comment.
2111
2112         obstack: use _Noreturn
2113         * lib/obstack.c (__attribute__): Remove macro.
2114         (print_and_abort): Use _Noreturn.
2115
2116         c-stack: use _Noreturn
2117         * lib/c-stack.c (die, overflow_handler, segv_handler):
2118         Use _Noreturn rather than __attribute__((noreturn)).
2119
2120         argmatch-tests, exclude_tests: use _Noreturn
2121         * tests/test-argmatch.c, tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN):
2122         Remove.
2123         (ARGMATCH_DIE_DECL): Use _Noreturn instead.
2124
2125         stdlib: use _Noreturn
2126         * lib/stdlib.in.h (_GL_ATTRIBUTE_NORETURN): Remove.
2127         (_Exit): Use _Noreturn rather than _GL_ATTRIBUTE_NORETURN.
2128         * modules/stdlib (Depends-on): Add _Noreturn.
2129         (stdlib.h): Depend on $(_NORETURN_H), and copy it in.
2130
2131         stdnoreturn-tests: new module
2132         * modules/stdnoreturn-tests, tests/test-stdnoreturn.c: New files.
2133
2134         stdnoreturn: new module
2135         * MODULES.html.sh (Noreturn <stdnoreturn.h>): New section.
2136         * m4/stdnoreturn.m4, modules/stdnoreturn: New files.
2137
2138         _Noreturn-tests: new module
2139         * modules/_Noreturn-tests, tests/test-_Noreturn.c: New files.
2140
2141         _Noreturn: new module
2142         * MODULES.html.sh (Support for systems lacking draft ISO C 1X):
2143         New section, mentioning it.
2144         * build-aux/_Noreturn.h, modules/_Noreturn: New files.
2145
2146         * m4/gnulib-common.m4 (gl_COMMON_BODY): Add _Noreturn.
2147
2148 2011-07-11  Eric Blake  <eblake@redhat.com>
2149
2150         ffs: new module
2151         * modules/ffs: New file.
2152         * m4/ffs.m4: Likewise.
2153         * lib/ffs.c: Likewise.
2154         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_DEFAULTS): Add default.
2155         * modules/strings (Makefile.am): Substitute witness.
2156         (Depends-on): Add c++defs.
2157         * lib/strings.in.h (ffs): Declare.
2158         * modules/ffs-tests: New test file.
2159         * tests/test-ffs.c: Test new module.
2160         * MODULES.html.sh (Integer arithmetic functions): Mention it.
2161         * doc/posix-functions/ffs.texi (ffs): Likewise.
2162
2163         regex: avoid compiler warning
2164         * lib/regex.c (includes): Include <strings.h>, for use of
2165         strcasecmp in regcomp.c.
2166         Reported by Joachim Schmitz.
2167
2168 2011-07-09  Paul Eggert  <eggert@cs.ucla.edu>
2169
2170         stdint: respect system's intmax_t if INTMAX_MAX
2171         * lib/stdint.in.h (intmax_t, uintmax_t): If the system defines
2172         INTMAX_MAX, assume its intmax_t is OK.  Similarly for and
2173         uintmax_t.  This is for some Mac OS X builds, where intmax_t is
2174         long but int64_t is long long, and where we will clash with the
2175         system intmax_t if we override it.  See
2176         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00160.html>.
2177         (INTMAX_C, UINTMAX_C): For consistency, respect the system's
2178         INTMAX_C if INTMAX_MAX and INTMAX_C are both defined, and
2179         similarly for UINTMAX_C.
2180
2181 2011-07-08  Bruno Haible  <bruno@clisp.org>
2182
2183         pthread_sigmask tests: Avoid a compiler warning.
2184         * tests/test-pthread_sigmask1.c (main): Complain if system() returns
2185         non-zero.
2186
2187         sigprocmask tests: A better way to avoid a compiler warning.
2188         * tests/test-sigprocmask.c: Don't include "ignore-value.h".
2189         (main): Complain if system() returns non-zero.
2190         * modules/sigprocmask-tests (Depends-on): Remove ignore-value.
2191
2192 2011-07-08  Bruno Haible  <bruno@clisp.org>
2193
2194         pthread_sigmask: Work around IRIX bug.
2195         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the IRIX
2196         bug.
2197         * lib/pthread_sigmask.c (pthread_sigmask): usleep for some time when
2198         there may be unblocked pending signals.
2199         * doc/posix-functions/pthread_sigmask.texi: Mention the IRIX bug.
2200
2201 2011-07-08  Bruno Haible  <bruno@clisp.org>
2202
2203         pthread_sigmask: Work around Cygwin bug.
2204         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the Cygwin
2205         bug.
2206         * lib/pthread_sigmask.c (pthread_sigmask): Fix the return value from
2207         the system's pthread_sigmask function.
2208         * doc/posix-functions/pthread_sigmask.texi: Mention the Cygwin bug.
2209
2210 2011-07-08  Bruno Haible  <bruno@clisp.org>
2211
2212         pthread_sigmask: Work around bug in single-threaded implementation.
2213         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the
2214         FreeBSD, HP-UX, Solaris bug.
2215         (gl_PREREQ_PTHREAD_SIGMASK): New macro.
2216         * lib/pthread_sigmask.c: Include <stddef.h>.
2217         (pthread_sigmask): If HAVE_PTHREAD_SIGMASK, define as a wrapper around
2218         the system's pthread_sigmask function.
2219         * modules/pthread_sigmask (configure.ac): Invoke
2220         gl_PREREQ_PTHREAD_SIGMASK.
2221         * doc/posix-functions/pthread_sigmask.texi: Mention bug on FreeBSD,
2222         HP-UX, Solaris.
2223
2224 2011-07-08  Eric Blake  <eblake@redhat.com>
2225
2226         test-sigprocmask: avoid compiler warning
2227         * modules/sigprocmask-tests (Depends-on): Add ignore-value.
2228         * tests/test-sigprocmask.c (main): Use it to silence warning.
2229         Reported by Jim Meyering.
2230
2231         test-snprintf: avoid compiler warning
2232         * tests/test-snprintf.c (main): Avoid shadowed declaration.
2233         * tests/test-vsnprintf.c (main): Likewise.
2234         Reported by Jim Meyering.
2235
2236 2011-07-08  Bruno Haible  <bruno@clisp.org>
2237
2238         Tests for module 'pthread_sigmask'.
2239         * modules/pthread_sigmask-tests: New file.
2240         * tests/test-pthread_sigmask1.c: New file, based on
2241         tests/test-sigprocmask.c.
2242         * tests/test-pthread_sigmask2.c: New file.
2243
2244 2011-07-08  Jim Meyering  <meyering@redhat.com>
2245
2246         test-getopt.h: avoid warning about an unused variable
2247         * tests/test-getopt.h (test_getopt): Remove unused variable, "c".
2248
2249 2011-07-07  Jim Meyering  <meyering@redhat.com>
2250
2251         maint: reduce list of files exempt from sc_prohibit_leading_TABs
2252         * Makefile (sc_prohibit_leading_TABs): Don't exempt m4/po.m4,
2253         now that it no longer contains leading TABs.
2254         Remove unused "url=FIXME" statement.
2255
2256 2011-07-08  Paul Eggert  <eggert@cs.ucla.edu>
2257
2258         pthread_sigmask: Assume POSIX when not gl_THREADLIB.
2259         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
2260         When gl_THREADLIB is not in use, assume that the POSIX sematics
2261         are desired.  This is better for Emacs, which uses POSIX semantics
2262         on GNUish and/or POSIXish platforms, and does not use threads at
2263         all otherwise.
2264
2265         pthread_sigmask: fix typo when testing for libraries
2266         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
2267         AC_LINK_IFELSE, not AC_COMPILE_IFELSE.
2268
2269 2011-07-08  Eric Blake  <eblake@redhat.com>
2270
2271         fts: introduce FTS_NOATIME
2272         * lib/fts_.h (FTS_NOATIME): New bit flag.
2273         (FTS_OPTIONMASK): Adjust.
2274         * lib/fts.c (diropen, fts_open, fts_build): Honor it.
2275         (fd_ring_check): Debug code unconditionally uses O_NOATIME.
2276
2277 2011-07-08  Bruno Haible  <bruno@clisp.org>
2278
2279         Tests for module 'thread'.
2280         * modules/thread-tests: New file.
2281         * tests/test-thread_self.c: New file.
2282         * tests/test-thread_create.cc: New file.
2283
2284 2011-07-08  Bruno Haible  <bruno@clisp.org>
2285
2286         thread: Avoid gcc warnings when using gl_thread_self().
2287         * lib/glthread/thread.h (gl_thread_self): Return a pthread_t, not a
2288         'void *'.
2289         (gl_thread_self_pointer): Update.
2290
2291 2011-07-07  Bruno Haible  <bruno@clisp.org>
2292
2293         signal-c++-tests: Check declaration of pthread_sigmask.
2294         * tests/test-signal-c++.cc: Check declaration of pthread_sigmask.
2295         * modules/signal-c++-tests (Makefile.am): Link test-signal-c++ against
2296         $(LIB_PTHREAD_SIGMASK).
2297
2298 2011-07-07  Bruno Haible  <bruno@clisp.org>
2299
2300         pthread_sigmask: Fix link requirements on OSF/1 5.1 and with pth.
2301         * lib/signal.in.h (pthread_sigmask): Override if
2302         REPLACE_PTHREAD_SIGMASK is 1.
2303         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
2304         REPLACE_PTHREAD_SIGMASK.
2305         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Set also
2306         REPLACE_PTHREAD_SIGMASK. Set and substitute LIB_PTHREAD_SIGMASK.
2307         * modules/signal (Makefile.am): Substitute REPLACE_PTHREAD_SIGMASK.
2308         * modules/pthread_sigmask (Depends-on, configure.ac): Update condition.
2309         (Link): Set to $(LIB_PTHREAD_SIGMASK), not $(LIBMULTITHREAD).
2310
2311 2011-07-07  Bruno Haible  <bruno@clisp.org>
2312
2313         pthread_sigmask: Ensure declaration in <signal.h>.
2314         * lib/signal.in.h: On MacOS X, FreeBSD, OpenBSD, OSF/1, Solaris 2.6,
2315         include <pthread.h>.
2316         * doc/posix-functions/pthread_sigmask.texi: Mention the header file
2317         problem.
2318
2319 2011-07-07  Bruno Haible  <bruno@clisp.org>
2320
2321         pthread_sigmask: Document the module.
2322         * doc/posix-functions/pthread_sigmask.texi: Mention the new module.
2323
2324 2011-07-07  Bruno Haible  <bruno@clisp.org>
2325
2326         pthread_sigmask: Follow gnulib conventions.
2327         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Renamed from
2328         gl_PTHREAD_SIGMASK.
2329         * modules/pthread_sigmask (configure.ac): Update.
2330
2331 2011-07-07  Bruno Haible  <bruno@clisp.org>
2332
2333         pthread_sigmask: Make declaration C++ safe.
2334         * lib/signal.in.h: In two special conditions, just do an #include_next.
2335         (pthread_sigmask): Test HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK.
2336         Invoke _GL_CXXALIAS_SYS and _GL_CXXALIASWARN.
2337         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
2338         HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK.
2339         * m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Set HAVE_PTHREAD_SIGMASK,
2340         not REPLACE_PTHREAD_MASK.
2341         * modules/signal (Makefile.am): Substitute HAVE_PTHREAD_SIGMASK,
2342         not REPLACE_PTHREAD_MASK.
2343         * modules/pthread_sigmask (Depends-on, configure.ac): Update condition.
2344
2345 2011-07-07  Bruno Haible  <bruno@clisp.org>
2346
2347         pthread_sigmask: Fix return value.
2348         * lib/signal.in.h (pthread_sigmask): Declare. Don't define as a macro.
2349         * lib/pthread_sigmask.c: New file.
2350         * modules/pthread_sigmask (Files): Add it.
2351         (configure.ac): Invoke AC_LIBOBJ.
2352
2353 2011-07-07  Eric Blake  <eblake@redhat.com>
2354
2355         getopt: more portable argv creation
2356         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Rather than casting away
2357         const, use char arrays rather than strings.
2358         Suggested by Paul Eggert.
2359
2360 2011-07-07  Bruno Haible  <bruno@clisp.org>
2361
2362         Tests for module 'sigprocmask'.
2363         * modules/sigprocmask-tests: New file.
2364         * tests/test-sigprocmask.c: New file.
2365
2366 2011-07-07  Bruno Haible  <bruno@clisp.org>
2367
2368         float tests: Tweak.
2369         * tests/test-float.c (main): Tweak skip message.
2370
2371 2011-07-07  Eric Blake  <eblake@redhat.com>
2372
2373         getopt: avoid compiler warning during configure
2374         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Avoid problems with
2375         assigning string literals to non-const pointer.
2376
2377         getopt-gnu: avoid crash in glibc getopt
2378         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Detect the problem.
2379         * tests/test-getopt.h (test_getopt): Enhance test.
2380         * tests/test-getopt_long.h (test_getopt_long): Likewise.
2381         * doc/posix-functions/getopt.texi (getopt): Document it.
2382         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
2383         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
2384         Likewise.
2385
2386 2011-07-07  Ulrich Drepper  <drepper@gmail.com>
2387
2388         getopt: handle W; without long options in getopt [BZ #12922]
2389         * lib/getopt.c (_getopt_internal_r): When "W;" is in short options
2390         but no long options are defined, just return 'W'.
2391
2392 2011-07-07  Bruno Haible  <bruno@clisp.org>
2393
2394         Avoid literal tabs.
2395         * m4/po,m4 (AM_PO_SUBDIRS, AM_POSTPROCESS_PO_MAKEFILE): Use a shell
2396         variable containing a tab instead of a literal tab.
2397         Reported by Jim Meyering.
2398
2399 2011-07-07  Bruno Haible  <bruno@clisp.org>
2400
2401         Comments.
2402         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Update comments about mingw.
2403
2404 2011-07-06  Bruno Haible  <bruno@clisp.org>
2405
2406         sys_select: Fix compilation error on mingw, introduced on 2011-06-30.
2407         * lib/sys_select.in.h: Don't include <sys/socket.h>. Instead, include
2408         <winsock2.h>.
2409         (rpl_fd_isset, FD_ISSET): New definitions, copied from
2410         lib/sys_socket.in.h.
2411         (close, gethostname): Hide declarations from <winsock2.h>.
2412         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
2413         listen, recv, send, recvfrom, sendto, setsockopt, shutdown): Likewise.
2414         * lib/sys_socket.in.h (close, gethostname): Tweak indentation.
2415         (select): Don't override if gnulib's <sys/select.h> was already
2416         included.
2417         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
2418         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
2419         setsockopt, shutdown, select): Tweak indentation.
2420
2421 2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>
2422
2423         * modules/pthread_sigmask (configure.ac): gl_SIGNAL_MODULE_INDICATOR
2424         and not gl_SYS_SELECT_MODULE_INDICATOR, fixing a typo exposed
2425         in an application that does not use the sys_select module.
2426
2427 2011-07-06  Erik Faye-Lund  <kusmabite@gmail.com>
2428
2429         poll: do not return 0 on timeout=-1
2430         * lib/poll.c: Loop with yield if no events occured
2431
2432 2011-07-06  Eric Blake  <eblake@redhat.com>
2433
2434         pthread_sigmask: always replace when not using pthread
2435         * m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Force sigprocmask
2436         replacement when using some threading other than pthread.  Fix
2437         logic bug.
2438
2439 2011-07-06  Bruno Haible  <bruno@clisp.org>
2440
2441         Comments.
2442         * m4/printf.m4: Update comments about mingw.
2443
2444 2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>
2445
2446         sys_select: define sigset_t more portably
2447         * lib/sys_select.in.h: Always include <sys/types.h>, since
2448         we now need sigset_t and mingw defines it there.
2449         Include <signal.h> before split inclusion guard, to avoid
2450         mishaps on Solaris, whose <signal.h> eventually includes us.
2451         * m4/signal_h.m4 (gl_SIGNAL_H): Require gl_CHECK_TYPE_SIGSET_T.
2452         (gl_CHECK_TYPE_SIGSET_T): New macro, most of the contents of
2453         which come from ...
2454         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
2455         gl_CHECK_TYPE_SIGSET_T.
2456         (gl_PREREQ_SIGPROCMASK): Now a no-op, since gl_CHECK_TYPE_SIGSET_T
2457         does the real work.
2458         * modules/sys_select (Depends-on): Add 'signal'.
2459
2460         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Poison pselect.
2461         Suggested by Bruno Haible.
2462
2463         pselect: Use pthread_sigmask, not sigprocmask.
2464         * lib/pselect.c (pselect): Use pthread_sigmask, as it supports
2465         multithreaded apps better than sigprocmask does.
2466         * modules/pselect (Depends-on): Depend on pthread_sigmask, not
2467         sigprocmask directly.
2468
2469 2011-07-05  Paul Eggert  <eggert@cs.ucla.edu>
2470
2471         * lib/pselect.c (pselect): Use plain name, without "rpl_".
2472         Don't #undef,  since we don't need any underlying pselect.
2473         * modules/pselect (configure.ac): Use our pselect.o if !HAVE_PSELECT.
2474         (Depends-on): Add select.
2475         (Link): Add $(LIBSOCKET).
2476         These changes suggested by Bruno Haible.
2477
2478         pselect: document better
2479         * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
2480         * doc/posix-functions/pselect.texi (pselect): Document new module.
2481
2482         pthread_sigmask: new module
2483         * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
2484         * doc/posix-functions/pthread_sigmask.texi: Document new module.
2485         * lib/signal.in.h (pthread_sigmask): Arrange for replacement.
2486         This is done only as a macro; I don't know how well that'll
2487         work for C++.  Move <sys/types.h> include before the include_next,
2488         to avoid mishap on Solaris.
2489         * m4/signal_h.m4 (gl_SIGNAL_H, gl_SIGNAL_H_DEFAULTS): Check for it.
2490         * modules/signal (Makefile.am): Substitute the check's results.
2491         * modules/pthread_sigmask, m4/pthread_sigmask.m4: New files.
2492
2493         test-pselect: new module
2494         * modules/pselect-tests, tests/test-pselect.c: New files.
2495         * tests/test-select.c, tests/test-sys_select-c++.cc:
2496         If TEST_PSELECT is defined, test pselect instead of testing select.
2497
2498         * tests/test-sys_select.c (sigset_t): Test for it, too.
2499         Suggested by Bruno Haible.
2500
2501 2011-07-05  Eric Blake  <eblake@redhat.com>
2502
2503         snprintf: guarantee %1$d, for libintl
2504         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require %1$d support.
2505         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
2506         * doc/posix-functions/snprintf.texi (snprintf): Update.
2507         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
2508         * tests/test-snprintf.c (main): Enhance test.
2509         * tests/test-vsnprintf.c (main): Likewise.
2510
2511 2011-07-05  Jim Meyering  <meyering@redhat.com>
2512
2513         maint: exempt stdio-read.c and stdio-write.c from the cppi check
2514         * Makefile (sc_cpp_indent_check): Exempt stdio-read.c and stdio-write.c
2515         per Bruno's request, to accommodate this idiom (no space after "#")
2516         even when the function is inside an #if block:
2517         char *
2518         gets (char *s)
2519         #undef gets
2520         {
2521           ...
2522         }
2523
2524 2011-07-04  Jim Meyering  <meyering@redhat.com>
2525
2526         maint: indent with spaces, not TABs, and add a rule to check this
2527         * tests/test-userspec.c: Indent with spaces, not TABs.
2528         * tests/test-argp.c: Likewise.
2529         * tests/test-c-stack2.sh: Likewise.
2530         * tests/test-parse-duration.sh: Likewise
2531         * m4/strtod.m4: Likewise.
2532         * m4/alloca.m4: Likewise.
2533         * m4/pselect.m4: Likewise.
2534         * Makefile (sc_prohibit_leading_TABs): Prohibit leading TABs.
2535
2536 2011-07-03  Jim Meyering  <meyering@redhat.com>
2537
2538         maint.mk: correct omissions in prohibit_argmatch_without_use check
2539         This rule would mistakenly report that argmatch.h is included without
2540         use even when both the argmatch and invalid_arg macro were used.
2541         * top/maint.mk (sc_prohibit_argmatch_without_use): Also detect uses
2542         of argmatch and invalid_arg.
2543
2544 2011-07-03  Bruno Haible  <bruno@clisp.org>
2545
2546         Comments about EINTR.
2547         * lib/safe-read.h: Explain the purpose of this module.
2548         * lib/safe-write.h: Likewise.
2549         * doc/posix-functions/read.texi: Mention EINTR and the 'safe-read'
2550         module.
2551         * doc/posix-functions/write.texi: Mention EINTR and the 'safe-write'
2552         module.
2553         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
2554
2555 2011-06-30  Paul Eggert  <eggert@cs.ucla.edu>
2556
2557         xnanosleep: Rewrite to use new dtotimespec module.
2558         It has the conversion code that used to be in xnanosleep.
2559         * lib/xnanosleep.c: Do not include limits.h, stdbool.h, stdio.h,
2560         assert.h, sys/types.h, or intprops.h.  Include timespec.h instead.
2561         (TIME_T_MAX): Remove.
2562         (xnanosleep): Rewrite in terms of dtotimespec.
2563         * modules/xnanosleep (Depends-on): Add dtotimespec.
2564         Remove intprops, stdbool.
2565
2566         timespec-add, timespec-sub: new modules
2567         * lib/timespec.h (timespec_add, timespec_sub): New decls.
2568         * lib/timespec-add.c, lib/timespec-sub.c:
2569         * modules/timespec-add, modules/timespec-sub: New files.
2570
2571         dtotimespec: new module
2572         * lib/timespec.h (dtotimespec): New decl.
2573         * lib/dtotimespec.c, modules/dtotimespec: New files.
2574
2575         * lib/timespec.h (timespec_sign, timespectod): New inline functions.
2576
2577         pselect: new module
2578         * lib/sys_select.in.h: Include <signal.h>, for 'sigset_t'.
2579         (pselect): New decls.
2580         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Require AC_C_RESTRICT,
2581         since the standard pselect decl uses 'restrict'.
2582         (gl_SYS_SELECT_H_DEFAULTS): Add defaults for GNULIB_PSELECT,
2583         HAVE_PSELECT, REPLACE_PSELECT.
2584         * modules/sys_select (sys/select.h): Substitute GNULIB_PSELECT,
2585         HAVE_PSELECT, REPLACE_PSELECT.
2586         * lib/pselect.c, m4/pselect.m4, modules/pselect: New files.
2587
2588         sys_select: don't depend on sys_socket
2589         This is so that Emacs doesn't have to drag in m4/sockpfaf.m4 etc; see
2590         <http://lists.gnu.org/archive/html/bug-gnulib/2011-06/msg00358.html>.
2591         This fix works on GNU and GNU-like platforms, but has not been tested
2592         on native Windows.
2593         * lib/sys_select.in.h: Include <sys/socket.h> only if native Windows.
2594         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Do not require
2595         gl_HEADER_SYS_SOCKET.
2596         * modules/sys_select (Files): Add m4/sys_socket_h.m4, for
2597         gl_PREREQ_SYS_H_WINSOCK2.
2598
2599 2011-06-29  Eric Blake  <eblake@redhat.com>
2600
2601         pipe2: fix C89 compile problem
2602         * lib/pipe2.c (pipe2): Avoid C99 array initialization.
2603         Reported by Bruno Haible.
2604
2605         pipe, pipe2: don't corrupt fd on error
2606         * lib/pipe.c (pipe): Leave fd unchanged on error.
2607         * lib/pipe2.c (pipe2): Likewise.
2608         * doc/posix-functions/pipe.texi (pipe): Document cygwin issue.
2609         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
2610
2611 2011-06-27  Paolo Bonzini  <bonzini@gnu.org>
2612
2613         mmap-anon: do not use regular expressions inadvertently
2614         * m4/mmap-anon.m4: Remove trailing period from strings sought
2615         in the output.
2616
2617 2011-06-25  Paul Eggert  <eggert@cs.ucla.edu>
2618
2619         nanosleep: fix integer overflow problem
2620         * lib/nanosleep.c (my_usleep): Don't assume signed integer
2621         arithmetic wraps around on overflow.
2622
2623         nanosleep: simplify carrying
2624         * lib/nanosleep.c (nanosleep): Use the requested tv_nsec for the
2625         first call to the underyling nanosleep, not for the last one.
2626         This doesn't fix any bugs, but it simplifies the computation of
2627         the remaining delay.  Found while auditing integer overflow issues.
2628
2629         dup2: remove test for existence of fcntl
2630         * m4/dup2.m4 (gl_FUNC_DUP2): Use "#ifdef FD_CLOEXEC", not
2631         "#if HAVE_FCNTL", in the configure-time test program.
2632         This removes the need for the AC_CHECK_FUNCS_ONCE([fcntl]),
2633         and therefore speeds up "configure" a bit.  Found while
2634         adding the dup2 module to Emacs.
2635
2636 2011-06-24  Eric Blake  <eblake@redhat.com>
2637
2638         maint.mk: enhance useless header checks
2639         * top/maint.mk (_sc_header_without_use): Check both include
2640         styles.
2641         (sc_prohibit_assert_without_use)
2642         (sc_prohibit_close_stream_without_use)
2643         (sc_prohibit_getopt_without_use)
2644         (sc_prohibit_quotearg_without_use)
2645         (sc_prohibit_quote_without_use)
2646         (sc_prohibit_long_options_without_use)
2647         (sc_prohibit_inttostr_without_use)
2648         (sc_prohibit_ignore_value_without_use)
2649         (sc_prohibit_error_without_use, sc_prohibit_xalloc_without_use)
2650         (sc_prohibit_hash_without_use, sc_prohibit_cloexec_without_use)
2651         (sc_prohibit_posixver_without_use, sc_prohibit_same_without_use)
2652         (sc_prohibit_hash_pjw_without_use)
2653         (sc_prohibit_safe_read_without_use)
2654         (sc_prohibit_argmatch_without_use)
2655         (sc_prohibit_canonicalize_without_use)
2656         (sc_prohibit_root_dev_ino_without_use)
2657         (sc_prohibit_openat_without_use)
2658         (sc_prohibit_c_ctype_without_use)
2659         (sc_prohibit_signal_without_use)
2660         (sc_prohibit_stdio--_without_use)
2661         (sc_prohibit_stdio-safer_without_use)
2662         (sc_prohibit_strings_without_use)
2663         (sc_prohibit_intprops_without_use)
2664         (sc_prohibit_stddef_without_use)
2665         (sc_prohibit_xfreopen_without_use): Update clients.
2666
2667 2011-06-24  Jim Meyering  <meyering@redhat.com>
2668
2669         syntax-check: keep one maint.mk rule in sync with its header
2670         * Makefile (sc_check_sym_list): Add a rule to prevent a repeat
2671         of the bug Eric has just fixed, with today's commit 25e4c2ec.
2672         I prefer to avoid temporary files here, so use <(...), but that
2673         is not supported by /bin/sh, so...
2674         (SHELL): Define to /bin/bash.
2675
2676 2011-06-24  Eric Blake  <eblake@redhat.com>
2677
2678         maint.mk: update sc_prohibit_intprops_without_use
2679         * top/maint.mk (_intprops_names): Match recent changes.
2680
2681 2011-06-24  Bruno Haible  <bruno@clisp.org>
2682
2683         strerror-override: No-op tweak.
2684         * lib/strerror-override.h (strerror_override): Reorder conditions,
2685         for consistency with lib/strerror-override.c.
2686
2687 2011-06-23  Eric Blake  <eblake@redhat.com>
2688
2689         maint.mk: test further PATH_MAX issues
2690         * top/maint.mk (sc_prohibit_path_max_array): Rename...
2691         (sc_prohibit_path_max_allocation): ...and also test alloca.
2692         Suggested by Jim Meyering.
2693
2694 2011-06-22  Eric Blake  <eblake@redhat.com>
2695
2696         maint.mk: add syntax-check to avoid char[PATH_MAX]
2697         * top/maint.mk (sc_prohibit_path_max_array): New rule.
2698
2699         stat: be robust to PATH_MAX definition
2700         * lib/stat.c (rpl_stat): Require reasonable PATH_MAX.
2701         * modules/stat (Depends-on): Add verify.
2702
2703         link: work around IRIX bug
2704         * m4/link.m4 (gl_FUNC_LINK): Expose the bug.
2705         * lib/link.c (rpl_link): Work around it.
2706         * tests/test-link.h (test_link): Enhance test.
2707         * doc/posix-functions/link.texi (link): Document the bug.
2708
2709         getopt: silence clang warning
2710         * lib/getopt.c (_getopt_internal_r): Avoid unlikely NULL
2711         dereference.
2712         Reported by Gustavo Martin Domato.
2713
2714 2011-06-22  Jim Meyering  <meyering@redhat.com>
2715
2716         bootstrap: do not insert a blank line into each .gitignore file
2717         * build-aux/bootstrap (sort_patterns): Filter out blank lines.
2718
2719 2011-06-21  Eric Blake  <eblake@redhat.com>
2720
2721         perror: test for output mismatch
2722         * m4/perror.m4 (gl_FUNC_PERROR): Add test, in order to replace
2723         perror on IRIX.
2724
2725         strerror_r: fix OpenBSD behavior on out-of-range
2726         * lib/strerror_r.c (strerror_r): Always use maximal string.
2727         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
2728
2729         strerror_r: fix OpenBSD behavior on 0
2730         * lib/strerror-override.c (strerror_override): Also override 0
2731         when needed.
2732         * lib/strerror-override.h (strerror_override): Likewise.
2733         * lib/strerror.c (strerror): Simplify, now that 0 override is done
2734         earlier.
2735         * lib/strerror_r.c (strerror_r): Likewise.
2736         * m4/strerror.m4 (gl_FUNC_STRERROR): Split detection of 0
2737         behavior...
2738         (gl_FUNC_STRERROR_0): ...into new macro.
2739         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Replace strerror_r if 0
2740         is overridden.
2741         (gl_FUNC_STRERROR_R_WORKS): Avoid extra tests if 0 is broken.
2742         * modules/strerror-override (Files): Add strerror.m4.
2743         (configure.ac): Also provide override for 0 when needed.
2744         * doc/posix-functions/strerror.texi (strerror): Document this.
2745         * doc/posix-functions/perror.texi (perror): Likewise.
2746
2747         perror: adjust array size
2748         * modules/perror (Depends-on): Add strerror-override.
2749         * lib/perror.c (perror): Use it to avoid magic number.
2750
2751         strerror-override: reduce size
2752         * lib/strerror-override.c (strerror_override): Use fewer lines.
2753
2754 2011-06-20  Bruno Haible  <bruno@clisp.org>
2755
2756         pathmax: Ensure correct value for PATH_MAX on HP-UX.
2757         * lib/pathmax.h (PATH_MAX) [HP-UX]: Define to 1024.
2758
2759 2011-06-20  Paul Eggert  <eggert@cs.ucla.edu>
2760
2761         alloca: port to compilers that can optimize like GCC 4.6.0
2762         * lib/alloca.c (find_stack_direction): New signature, taken from
2763         Autoconf git.  This works with GCC 4.6.0.  This code should never
2764         be used with GCC 4.6.0 itself, as GCC has alloca, but it might
2765         be used with other compilers that optimize as well as GCC 4.6.0 does.
2766         (alloca): Adjust to new signature.
2767         * m4/alloca.m4 (__AC_LIBOBJ_ALLOCA) [Autoconf version < 2.69]:
2768         New macro, which patches Autoconf in a similar way.
2769
2770         c-stack: stop worrying about stack direction
2771         * lib/c-stack.c (find_stack_direction): Remove.
2772         (segv_handler): Don't worry about stack direction growth, as it's
2773         too much of a pain to configure this correctly, given how compilers
2774         are optimizing-away our stack-growth detection code.  Instead, assume
2775         that any access to just before or just after the stack is OK.
2776         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
2777         Don't require AC_FUNC_ALLOCA; no longer needed.
2778
2779 2011-06-20  Eric Blake  <eblake@redhat.com>
2780
2781         test-stat: don't allocate PATH_MAX bytes
2782         * tests/test-stat.h (test_stat_func): Don't stack-allocate a
2783         PATH_MAX-sized buffer.
2784         * modules/openat-tests (Depends-on): Add getcwd-lgpl, drop pathmax.
2785         * modules/stat-tests (Depends-on): Likewise.
2786         * tests/test-fstatat.c (includes): Drop pathmax.h.
2787         * tests/test-stat.c (includes): Likewise.
2788         Reported by Bruno Haible.
2789
2790 2011-06-20  Bruno Haible  <bruno@clisp.org>
2791
2792         float: Work around <float.h> bugs on FreeBSD/x86, AIX with GCC, IRIX.
2793         * lib/float.in.h: Add workarounds for FreeBSD/x86, AIX with GCC, IRIX.
2794         * lib/float.c: New file.
2795         * m4/float_h.m4 (gl_FLOAT_H): Also handle FreeBSD, AIX, IRIX. Set
2796         REPLACE_FLOAT_LDBL.
2797         * modules/float (Files): Add lib/float.c.
2798         (configure.ac): Invoke AC_LIBOBJ.
2799         * doc/posix-headers/float.texi: Mention problems on FreeBSD, AIX, IRIX.
2800
2801 2011-06-20  Bruno Haible  <bruno@clisp.org>
2802
2803         Tests for module 'float'.
2804         * modules/float-tests: New file.
2805         * tests/test-float.c: New file.
2806
2807 2011-06-19  Bruno Haible  <bruno@clisp.org>
2808
2809         isinf: Coding style.
2810         * lib/isinf.c: Use GNU coding style.
2811
2812 2011-06-19  Bruno Haible  <bruno@clisp.org>
2813
2814         linkat test: Avoid test failure on AIX 7.1.
2815         * tests/test-linkat.c (main): Allow EINVAL as alternate error value.
2816         * tests/test-link.h (test_link): Likewise.
2817
2818 2011-06-19  Bruno Haible  <bruno@clisp.org>
2819
2820         pread test: Avoid test failure on OpenBSD 4.9.
2821         * tests/test-pread.c (main): Allow EFBIG instead of EINBAL.
2822
2823 2011-06-19  Bruno Haible  <bruno@clisp.org>
2824
2825         sprintf-posix: Fix test failure on AIX 7.1.
2826         * m4/printf.m4 (gl_PRINTF_PRECISION): Test against AIX bug.
2827         * doc/posix-functions/dprintf.texi: Mention limited precision problem
2828         on AIX.
2829         * doc/posix-functions/fprintf.texi: Likewise.
2830         * doc/posix-functions/printf.texi: Likewise.
2831         * doc/posix-functions/snprintf.texi: Likewise.
2832         * doc/posix-functions/sprintf.texi: Likewise.
2833         * doc/posix-functions/vdprintf.texi: Likewise.
2834         * doc/posix-functions/vfprintf.texi: Likewise.
2835         * doc/posix-functions/vprintf.texi: Likewise.
2836         * doc/posix-functions/vsnprintf.texi: Likewise.
2837         * doc/posix-functions/vsprintf.texi: Likewise.
2838
2839 2011-06-19  Bruno Haible  <bruno@clisp.org>
2840
2841         roundl-ieee: Fix test failure on AIX 7.1.
2842         * m4/roundl.m4 (gl_FUNC_ROUNDL): Test also the sign of roundl (-0.3L).
2843         * doc/posix-functions/roundl.texi: Mention problem with negative
2844         arguments.
2845
2846 2011-06-19  Bruno Haible  <bruno@clisp.org>
2847
2848         round-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
2849         * modules/round-ieee (Depends-on): Add floor-ieee, ceil-ieee.
2850         * doc/posix-functions/round.texi: Mention problem with negative
2851         arguments.
2852         * doc/posix-functions/ceil.texi: Mention problem on OSF/1 5.1.
2853
2854 2011-06-19  Bruno Haible  <bruno@clisp.org>
2855
2856         roundf-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
2857         * m4/roundf.m4 (gl_FUNC_ROUNDF): Test also the sign of roundf (-0.3f).
2858         * modules/roundf-ieee (Depends-on): Add floorf-ieee, ceilf-ieee.
2859         * doc/posix-functions/roundf.texi: Mention problem with negative
2860         arguments.
2861         * doc/posix-functions/ceilf.texi: Mention problem on OSF/1 5.1.
2862
2863 2011-06-19  Bruno Haible  <bruno@clisp.org>
2864
2865         ceilf-ieee: Work around bug on MacOS X 10.5.
2866         * doc/posix-functions/ceilf.texi: Mention the MacOS X 10.5 problem.
2867
2868         floor*-ieee, ceil*-ieee, trunc*-ieee, round*-ieee: More robust checks.
2869         * m4/floorf.m4 (gl_FUNC_FLOORF): In the test whether the function is
2870         IEEE compliant, avoid compiler optimizations.
2871         * m4/floor.m4 (gl_FUNC_FLOOR): Likewise.
2872         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
2873         * m4/ceil.m4 (gl_FUNC_CEIL): Likewise.
2874         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
2875         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
2876         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
2877         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
2878         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
2879         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
2880         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
2881
2882 2011-06-19  Bruno Haible  <bruno@clisp.org>
2883
2884         ceilf-ieee: Work around bug on AIX 7.1.
2885         * m4/ceilf.m4 (gl_FUNC_CEILF): Test also the sign of ceilf (-0.3f).
2886         * doc/posix-functions/ceilf.texi: Mention the AIX 7.1 problem.
2887
2888 2011-06-19  Bruno Haible  <bruno@clisp.org>
2889
2890         ceil-ieee: Work around bug on AIX 7.1.
2891         * m4/ceil.m4 (gl_FUNC_CEIL): Test also the sign of ceil (-0.3).
2892         * doc/posix-functions/ceil.texi: Mention the AIX 7.1 problem.
2893
2894 2011-06-18  Bruno Haible  <bruno@clisp.org>
2895
2896         fsync test: Avoid test failure on MacOS X and AIX.
2897         * tests/test-fsync.c (fsync): Allow ENOTSUP and EBADF instead of
2898         EINVAL.
2899
2900 2011-06-18  Bruno Haible  <bruno@clisp.org>
2901
2902         openat, fdopendir tests: Fix link errors.
2903         * modules/openat-tests (Depends-on): Add progname.
2904         * modules/fdopendir-tests (Depends-on): Likewise.
2905         * tests/test-fchownat.c: Include progname.h.
2906         (main): Call set_program_name.
2907         * tests/test-fstatat.c: Include progname.h.
2908         (main): Call set_program_name.
2909         * tests/test-mkdirat.c: Include progname.h.
2910         (main): Call set_program_name.
2911         * tests/test-openat.c: Include progname.h.
2912         (main): Call set_program_name.
2913         * tests/test-unlinkat.c: Include progname.h.
2914         (main): Call set_program_name.
2915         * tests/test-fdopendir.c: Include progname.h.
2916         (main): Call set_program_name.
2917
2918 2011-06-18  Bruno Haible  <bruno@clisp.org>
2919
2920         Doc update.
2921         * doc/posix-functions/pthread_attr_getstack.texi: Update info regarding
2922         HP-UX.
2923         * doc/posix-functions/pthread_attr_setstack.texi: Likewise.
2924
2925 2011-06-18  Bruno Haible  <bruno@clisp.org>
2926
2927         getcwd tests: Avoid compilation error on HP-UX 11.31.
2928         * modules/getcwd-tests (Depends-on): Add pathmax.
2929         * tests/test-getcwd.c: Include pathmax.h.
2930
2931 2011-06-18  Bruno Haible  <bruno@clisp.org>
2932
2933         isfinite, isinf: Fix link error on AIX 6 and 7.
2934         * m4/isfinite.m4 (gl_ISFINITE): When determining whether libm is
2935         needed, also test the macro with a 'float' argument.
2936         * m4/isinf.m4 (gl_ISINF): Likewise.
2937
2938 2011-06-18  Bruno Haible  <bruno@clisp.org>
2939
2940         getloadavg: Don't clobber LIBS. Regression from previous commit.
2941         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Move tests that use
2942         AC_CHECK_LIB from here...
2943         (gl_GETLOADAVG): ... to here, inside the experiment with LIBS.
2944         (gl_GETLOADAVG, gl_PREREQ_GETLOADAVG): Rename gl_have_func to
2945         gl_func_getloadavg_done.
2946         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
2947
2948 2011-06-18  Bruno Haible  <bruno@clisp.org>
2949
2950         clean-temp: Improve documentation.
2951         * lib/clean-temp.h: Explain better how to use this module.
2952         Reported by John Darrington <john@darrington.wattle.id.au>.
2953
2954 2011-06-17  Bruno Haible  <bruno@clisp.org>
2955
2956         pread, pwrite: Avoid cc warning on AIX.
2957         * lib/unistd.in.h (pread): Undefine before defining as a macro.
2958         (pwrite): Likewise.
2959
2960 2011-06-17  Bruno Haible  <bruno@clisp.org>
2961
2962         spawn-pipe tests: Fix link error.
2963         * tests/test-spawn-pipe-child.c: Undefine fprintf.
2964         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
2965
2966 2011-06-17  Bruno Haible  <bruno@clisp.org>
2967
2968         Tests: Remove unnecessary dependency.
2969         * modules/canonicalize-tests (Depends-on): Remove progname.
2970         * modules/chown-tests (Depends-on): Likewise.
2971         * modules/dirname-tests (Depends-on): Likewise.
2972         * modules/fdopendir-tests (Depends-on): Likewise.
2973         * modules/fdutimensat-tests (Depends-on): Likewise.
2974         * modules/hash-tests (Depends-on): Likewise.
2975         * modules/lchown-tests (Depends-on): Likewise.
2976         * modules/linkat-tests (Depends-on): Likewise.
2977         * modules/renameat-tests (Depends-on): Likewise.
2978         * modules/spawn-pipe-tests (Depends-on): Likewise.
2979         * modules/utimensat-tests (Depends-on): Likewise.
2980
2981 2011-06-17  Bruno Haible  <bruno@clisp.org>
2982
2983         spawn-pipe tests: Fix link error.
2984         * tests/test-spawn-pipe-child.c: Undefine fflush.
2985
2986 2011-06-17  Bruno Haible  <bruno@clisp.org>
2987
2988         Fix tests link errors.
2989         * modules/ceil-ieee-tests (Makefile.am): Use CEIL_LIBM, not FLOOR_LIBM.
2990         * modules/chown-tests (Makefile.am): Don't link test-chown with
2991         LIBINTL.
2992         * modules/lchown-tests (Makefile.am): Don't link test-lchown with
2993         LIBINTL.
2994         * modules/utimens-tests (Makefile.am): Don't link test-utimens with
2995         LIBINTL.
2996         * modules/futimens-tests (Makefile.am): Don't link test-futimens with
2997         LIBINTL.
2998
2999 2011-06-16  Bruno Haible  <bruno@clisp.org>
3000
3001         crypto/gc-sha1: Fix recent regression.
3002         * modules/crypto/gc-sha1 (configure.ac): Invoke AC_LIBOBJ here.
3003         * m4/gc-sha1.m4 (gl_GC_SHA1): Don't invoke gl_SHA1.
3004
3005         crypto/gc-md5: Fix recent regression.
3006         * modules/crypto/gc-md5 (configure.ac): Invoke AC_LIBOBJ here.
3007
3008         crypto/gc-md4: Fix recent regression.
3009         * modules/crypto/gc-md4 (configure.ac): Invoke AC_LIBOBJ here.
3010         * m4/md4.m4 (gl_MD4): Ensure the expansion is non-empty.
3011
3012         crypto/gc-arctwo: Fix recent regression.
3013         * modules/crypto/gc-arctwo (configure.ac): Invoke AC_LIBOBJ here.
3014         * m4/arctwo.m4 (gl_ARCTWO): Ensure the expansion is non-empty.
3015
3016         crypto/gc-rijndael: Fix recent regression.
3017         * modules/crypto/gc-rijndael (Files): Remove m4/rijndael.m4.
3018         (configure.ac): Invoke AC_LIBOBJ here.
3019         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Don't invoke gl_RIJNDAEL.
3020         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
3021
3022         crypto/gc-hmac-sha1: Fix recent regression.
3023         * modules/crypto/gc-hmac-sha1 (Files): Remove m4/hmac-sha1.m4.
3024         (configure.ac): Invoke AC_LIBOBJ here.
3025         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Don't invoke gl_HMAC_SHA1.
3026         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
3027
3028         crypto/gc-hmac-md5: Fix recent regression.
3029         * modules/crypto/gc-hmac-md5 (Files): Remove m4/hmac-md5.m4.
3030         (configure.ac): Invoke AC_LIBOBJ here.
3031         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Don't invoke gl_HMAC_MD5.
3032         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
3033
3034         crypto/gc-des: Fix recent regression.
3035         * modules/crypto/gc-des (Files): Remove m4/des.m4.
3036         (configure.ac): Invoke AC_LIBOBJ here.
3037         * m4/gc-des.m4 (gl_GC_DES): Don't invoke gl_DES.
3038         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
3039
3040         crypto/gc-arcfour: Fix recent regression.
3041         * modules/crypto/gc-arcfour (Files): Remove m4/arcfour.m4.
3042         (configure.ac): Invoke AC_LIBOBJ here.
3043         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Don't invoke gl_ARCFOUR.
3044         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
3045
3046 2011-06-16  Paul Eggert  <eggert@cs.ucla.edu>
3047
3048         * m4/lstat.m4 (gl_FUNC_LSTAT): Fix typo in prerequisite.
3049         After the 2011-05-21 change, this macro requires
3050         gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, not
3051         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
3052
3053 2011-06-16  Bruno Haible  <bruno@clisp.org>
3054
3055         fprintftime: Move AC_LIBOBJ invocations to module description.
3056         * m4/fprintftime.m4: Remove file.
3057         * modules/fprintftime (Files): Remove m4/fprintftime.m4.
3058         (configure.ac): Remove gl_FPRINTFTIME call.
3059         (Makefile.am): Augment lib_SOURCES.
3060         Reported by Jim Meyering.
3061
3062 2011-06-16  Bruno Haible  <bruno@clisp.org>
3063
3064         tmpfile-safer: Finish 2011-05-23 commit.
3065         * m4/stdio-safer.m4: Really remove file.
3066         Reported by Jim Meyering.
3067
3068 2011-06-16  Bruno Haible  <bruno@clisp.org>
3069
3070         syntax-check: Fix typo.
3071         * Makefile (allow_AC_LIBOBJ): Mention printf-posix-rpl.m4, not
3072         printf-posix.m4.
3073         Reported by Jim Meyering.
3074
3075 2011-06-13  Jim Meyering  <meyering@redhat.com>
3076
3077         syntax-check: add a rule to help enforce the no-AC_LIBOBJ-in-m4/ policy
3078         * Makefile (sc_prohibit_AC_LIBOBJ_in_m4): New rule.
3079
3080 2011-05-23  Bruno Haible  <bruno@clisp.org>
3081
3082         yesno: Move AC_LIBOBJ invocations to module description.
3083         * m4/yesno.m4 (gl_YESNO): Remove AC_LIBOBJ invocation.
3084         * modules/yesno (Makefile.am): Augment lib_SOURCES.
3085
3086 2011-05-23  Bruno Haible  <bruno@clisp.org>
3087
3088         xstrtol: Move AC_LIBOBJ invocations to module description.
3089         * m4/xstrtol.m4 (gl_XSTRTOL): Remove AC_LIBOBJ invocations.
3090         * modules/xstrtol (Makefile.am): Augment lib_SOURCES.
3091
3092 2011-05-23  Bruno Haible  <bruno@clisp.org>
3093
3094         xstrtold: Move AC_LIBOBJ invocations to module description.
3095         * m4/xstrtod.m4 (gl_XSTRTOLD): Remove AC_LIBOBJ invocation.
3096         * modules/xstrtold (Makefile.am): Augment lib_SOURCES.
3097
3098 2011-05-23  Bruno Haible  <bruno@clisp.org>
3099
3100         xstrtod: Move AC_LIBOBJ invocations to module description.
3101         * m4/xstrtod.m4 (gl_XSTRTOD): Remove AC_LIBOBJ invocation.
3102         * modules/xstrtod (Makefile.am): Augment lib_SOURCES.
3103
3104 2011-05-23  Bruno Haible  <bruno@clisp.org>
3105
3106         xnanosleep: Move AC_LIBOBJ invocations to module description.
3107         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove AC_LIBOBJ invocation.
3108         * modules/xnanosleep (Makefile.am): Augment lib_SOURCES.
3109
3110 2011-05-23  Bruno Haible  <bruno@clisp.org>
3111
3112         xgetcwd: Move AC_LIBOBJ invocations to module description.
3113         * m4/xgetcwd.m4 (gl_XGETCWD): Remove AC_LIBOBJ invocation.
3114         * modules/xgetcwd (Makefile.am): Augment lib_SOURCES.
3115
3116 2011-05-23  Bruno Haible  <bruno@clisp.org>
3117
3118         xalloc: Move AC_LIBOBJ invocations to module description.
3119         * m4/xalloc.m4 (gl_XALLOC): Remove AC_LIBOBJ invocation.
3120         * modules/xalloc (Makefile.am): Augment lib_SOURCES.
3121
3122 2011-05-23  Bruno Haible  <bruno@clisp.org>
3123
3124         write-any-file: Move AC_LIBOBJ invocations to module description.
3125         * m4/write-any-file.m4 (gl_WRITE_ANY_FILE): Remove AC_LIBOBJ
3126         invocation.
3127         * modules/write-any-file (Makefile.am): Augment lib_SOURCES.
3128
3129 2011-05-23  Bruno Haible  <bruno@clisp.org>
3130
3131         utimens: Move AC_LIBOBJ invocations to module description.
3132         * m4/utimens.m4 (gl_UTIMENS): Remove AC_LIBOBJ invocation.
3133         * modules/utimens (Makefile.am): Augment lib_SOURCES.
3134
3135 2011-05-23  Bruno Haible  <bruno@clisp.org>
3136
3137         utimecmp: Move AC_LIBOBJ invocations to module description.
3138         * m4/utimecmp.m4 (gl_UTIMECMP): Remove AC_LIBOBJ invocation.
3139         * modules/utimecmp (Makefile.am): Augment lib_SOURCES.
3140
3141 2011-05-23  Bruno Haible  <bruno@clisp.org>
3142
3143         userspec: Move AC_LIBOBJ invocations to module description.
3144         * m4/userspec.m4 (gl_USERSPEC): Remove AC_LIBOBJ invocation.
3145         * modules/userspec (Makefile.am): Augment lib_SOURCES.
3146
3147 2011-05-23  Bruno Haible  <bruno@clisp.org>
3148
3149         unlinkdir: Move AC_LIBOBJ invocations to module description.
3150         * m4/unlinkdir.m4 (gl_UNLINKDIR): Remove AC_LIBOBJ invocation.
3151         * modules/unlinkdir (Makefile.am): Augment lib_SOURCES.
3152
3153 2011-05-23  Bruno Haible  <bruno@clisp.org>
3154
3155         unistd-safer: Move AC_LIBOBJ invocations to module description.
3156         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Remove AC_LIBOBJ invocations.
3157         * modules/unistd-safer (Makefile.am): Augment lib_SOURCES.
3158
3159 2011-05-23  Bruno Haible  <bruno@clisp.org>
3160
3161         tempname: Move AC_LIBOBJ invocations to module description.
3162         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Remove AC_LIBOBJ invocation.
3163         * modules/tempname (Makefile.am): Augment lib_SOURCES.
3164
3165 2011-05-23  Bruno Haible  <bruno@clisp.org>
3166
3167         strftime: Move AC_LIBOBJ invocations to module description.
3168         * m4/strftime.m4 (gl_FUNC_STRFTIME): Remove AC_LIBOBJ invocation.
3169         * modules/strftime (Makefile.am): Augment lib_SOURCES.
3170
3171 2011-05-23  Bruno Haible  <bruno@clisp.org>
3172
3173         stdlib-safer: Move AC_LIBOBJ invocations to module description.
3174         * m4/stdlib-safer.m4: Remove file.
3175         * modules/stdlib-safer (Files): Remove m4/stdlib-safer.m4.
3176         (configure.ac): Remove gl_STDLIB_SAFER call.
3177         (Makefile.am): Augment lib_SOURCES.
3178
3179 2011-05-23  Bruno Haible  <bruno@clisp.org>
3180
3181         tmpfile-safer: Move AC_LIBOBJ invocations to module description.
3182         * m4/stdio-safer.m4: Remove file.
3183         * modules/tmpfile-safer (Files): Remove m4/stdio-safer.m4.
3184         (configure.ac): Remove gl_TMPFILE_SAFER call.
3185         (Makefile.am): Augment lib_SOURCES.
3186
3187 2011-05-23  Bruno Haible  <bruno@clisp.org>
3188
3189         popen-safer: Move AC_LIBOBJ invocations to module description.
3190         * m4/stdio-safer.m4 (gl_POPEN_SAFER): Remove macro.
3191         * modules/popen-safer (Files): Remove m4/stdio-safer.m4.
3192         (configure.ac): Remove gl_POPEN_SAFER call.
3193         (Makefile.am): Augment lib_SOURCES.
3194
3195 2011-05-23  Bruno Haible  <bruno@clisp.org>
3196
3197         freopen-safer: Move AC_LIBOBJ invocations to module description.
3198         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): Remove macro.
3199         * modules/freopen-safer (Files): Remove m4/stdio-safer.m4.
3200         (configure.ac): Remove gl_FREOPEN_SAFER call.
3201         (Makefile.am): Augment lib_SOURCES.
3202
3203 2011-05-23  Bruno Haible  <bruno@clisp.org>
3204
3205         fopen-safer: Move AC_LIBOBJ invocations to module description.
3206         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove macro.
3207         * modules/fopen-safer (Files): Remove m4/stdio-safer.m4.
3208         (configure.ac): Remove gl_FOPEN_SAFER call.
3209         (Makefile.am): Augment lib_SOURCES.
3210
3211 2011-05-23  Bruno Haible  <bruno@clisp.org>
3212
3213         crypto/sha512: Move AC_LIBOBJ invocations to module description.
3214         * m4/sha512.m4 (gl_SHA512): Remove AC_LIBOBJ invocation.
3215         * modules/crypto/sha512 (Makefile.am): Augment lib_SOURCES.
3216
3217 2011-05-23  Bruno Haible  <bruno@clisp.org>
3218
3219         crypto/sha256: Move AC_LIBOBJ invocations to module description.
3220         * m4/sha256.m4 (gl_SHA256): Remove AC_LIBOBJ invocation.
3221         * modules/crypto/sha256 (Makefile.am): Augment lib_SOURCES.
3222
3223 2011-05-23  Bruno Haible  <bruno@clisp.org>
3224
3225         crypto/sha1: Move AC_LIBOBJ invocations to module description.
3226         * m4/sha1.m4 (gl_SHA1): Remove AC_LIBOBJ invocation.
3227         * modules/crypto/sha1 (Makefile.am): Augment lib_SOURCES.
3228
3229 2011-05-23  Bruno Haible  <bruno@clisp.org>
3230
3231         settime: Move AC_LIBOBJ invocations to module description.
3232         * m4/settime.m4 (gl_SETTIME): Remove AC_LIBOBJ invocation.
3233         * modules/settime (Makefile.am): Augment lib_SOURCES.
3234
3235 2011-05-23  Bruno Haible  <bruno@clisp.org>
3236
3237         savedir: Move AC_LIBOBJ invocations to module description.
3238         * m4/savedir.m4 (gl_SAVEDIR): Remove AC_LIBOBJ invocation.
3239         * modules/savedir (Makefile.am): Augment lib_SOURCES.
3240
3241 2011-05-23  Bruno Haible  <bruno@clisp.org>
3242
3243         save-cwd: Move AC_LIBOBJ invocations to module description.
3244         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove AC_LIBOBJ invocation.
3245         * modules/save-cwd (Makefile.am): Augment lib_SOURCES.
3246
3247 2011-05-23  Bruno Haible  <bruno@clisp.org>
3248
3249         same: Move AC_LIBOBJ invocations to module description.
3250         * m4/same.m4 (gl_SAME): Remove AC_LIBOBJ invocation.
3251         * modules/same (Makefile.am): Augment lib_SOURCES.
3252
3253 2011-05-23  Bruno Haible  <bruno@clisp.org>
3254
3255         safe-write: Move AC_LIBOBJ invocations to module description.
3256         * m4/safe-write.m4 (gl_SAFE_WRITE): Remove macro.
3257         * modules/safe-write (configure.ac): Invoke gl_PREREQ_SAFE_WRITE
3258         instead of gl_SAFE_WRITE.
3259         (Makefile.am): Augment lib_SOURCES.
3260
3261 2011-05-23  Bruno Haible  <bruno@clisp.org>
3262
3263         safe-read: Move AC_LIBOBJ invocations to module description.
3264         * m4/safe-read.m4 (gl_SAFE_READ): Remove macro.
3265         * modules/safe-read (configure.ac): Invoke gl_PREREQ_SAFE_READ instead
3266         of gl_SAFE_READ.
3267         (Makefile.am): Augment lib_SOURCES.
3268
3269 2011-05-23  Bruno Haible  <bruno@clisp.org>
3270
3271         safe-alloc: Move AC_LIBOBJ invocations to module description.
3272         * m4/safe-alloc.m4 (gl_SAFE_ALLOC): Remove AC_LIBOBJ invocation.
3273         * modules/safe-alloc (Makefile.am): Augment lib_SOURCES.
3274
3275 2011-05-23  Bruno Haible  <bruno@clisp.org>
3276
3277         crypto/rijndael: Move AC_LIBOBJ invocations to module description.
3278         * m4/rijndael.m4: Remove file.
3279         * modules/crypto/rijndael (Files): Remove it.
3280         (configure.ac): Remove gl_RIJNDAEL call.
3281         (Makefile.am): Augment lib_SOURCES.
3282
3283 2011-05-23  Bruno Haible  <bruno@clisp.org>
3284
3285         readtokens: Move AC_LIBOBJ invocations to module description.
3286         * m4/readtokens.m4 (gl_READTOKENS): Remove AC_LIBOBJ invocation.
3287         * modules/readtokens (Makefile.am): Augment lib_SOURCES.
3288
3289 2011-05-23  Bruno Haible  <bruno@clisp.org>
3290
3291         read-file: Move AC_LIBOBJ invocations to module description.
3292         * m4/read-file.m4 (gl_FUNC_READ_FILE): Remove macro.
3293         * modules/read-file (configure.ac): Invoke gl_PREREQ_READ_FILE instead
3294         of gl_FUNC_READ_FILE.
3295         (Makefile.am): Augment lib_SOURCES.
3296
3297 2011-05-23  Bruno Haible  <bruno@clisp.org>
3298
3299         quotearg: Move AC_LIBOBJ invocations to module description.
3300         * m4/quotearg.m4 (gl_QUOTEARG): Remove AC_LIBOBJ invocation.
3301         * modules/quotearg (Makefile.am): Augment lib_SOURCES.
3302
3303 2011-05-23  Bruno Haible  <bruno@clisp.org>
3304
3305         quote: Move AC_LIBOBJ invocations to module description.
3306         * m4/quote.m4 (gl_QUOTE): Remove AC_LIBOBJ invocation.
3307         * modules/quote (Makefile.am): Augment lib_SOURCES.
3308
3309 2011-05-23  Bruno Haible  <bruno@clisp.org>
3310
3311         posixver: Move AC_LIBOBJ invocations to module description.
3312         * m4/posixver.m4 (gl_POSIXVER): Remove AC_LIBOBJ invocation.
3313         * modules/posixver (Makefile.am): Augment lib_SOURCES.
3314
3315 2011-05-23  Bruno Haible  <bruno@clisp.org>
3316
3317         posixtm: Move AC_LIBOBJ invocations to module description.
3318         * m4/posixtm.m4 (gl_POSIXTM): Remove AC_LIBOBJ invocation.
3319         * modules/posixtm (Makefile.am): Augment lib_SOURCES.
3320
3321 2011-05-23  Bruno Haible  <bruno@clisp.org>
3322
3323         physmem: Move AC_LIBOBJ invocations to module description.
3324         * m4/physmem.m4 (gl_PHYSMEM): Remove AC_LIBOBJ invocation.
3325         * modules/physmem (Makefile.am): Augment lib_SOURCES.
3326
3327 2011-05-23  Bruno Haible  <bruno@clisp.org>
3328
3329         pagealign_alloc: Move AC_LIBOBJ invocations to module description.
3330         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Remove AC_LIBOBJ
3331         invocation.
3332         * modules/pagealign_alloc (Makefile.am): Augment lib_SOURCES.
3333
3334 2011-05-23  Bruno Haible  <bruno@clisp.org>
3335
3336         mpsort: Move AC_LIBOBJ invocations to module description.
3337         * m4/mpsort.m4 (gl_MPSORT): Remove AC_LIBOBJ invocation.
3338         * modules/mpsort (Makefile.am): Augment lib_SOURCES.
3339
3340 2011-05-23  Bruno Haible  <bruno@clisp.org>
3341
3342         modechange: Move AC_LIBOBJ invocations to module description.
3343         * m4/modechange.m4 (gl_MODECHANGE): Remove AC_LIBOBJ invocation.
3344         * modules/modechange (Makefile.am): Augment lib_SOURCES.
3345
3346 2011-05-23  Bruno Haible  <bruno@clisp.org>
3347
3348         mkdir-p: Move AC_LIBOBJ invocations to module description.
3349         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Remove AC_LIBOBJ invocations.
3350         * modules/mkdir-p (Makefile.am): Augment lib_SOURCES.
3351
3352 2011-05-23  Bruno Haible  <bruno@clisp.org>
3353
3354         mkancesdirs: Move AC_LIBOBJ invocations to module description.
3355         * m4/mkancesdirs.m4 (gl_MKANCESDIRS): Remove AC_LIBOBJ invocation.
3356         * modules/mkancesdirs (Makefile.am): Augment lib_SOURCES.
3357
3358 2011-05-23  Bruno Haible  <bruno@clisp.org>
3359
3360         mgetgroups: Move AC_LIBOBJ invocations to module description.
3361         * m4/mgetgroups.m4 (gl_MGETGROUPS): Remove AC_LIBOBJ invocation.
3362         * modules/mgetgroups (Makefile.am): Augment lib_SOURCES.
3363
3364 2011-05-23  Bruno Haible  <bruno@clisp.org>
3365
3366         memxor: Move AC_LIBOBJ invocations to module description.
3367         * m4/memxor.m4 (gl_MEMXOR): Remove AC_LIBOBJ invocation.
3368         * modules/memxor (Makefile.am): Augment lib_SOURCES.
3369
3370 2011-05-23  Bruno Haible  <bruno@clisp.org>
3371
3372         memcoll: Move AC_LIBOBJ invocations to module description.
3373         * m4/memcoll.m4 (gl_MEMCOLL): Remove AC_LIBOBJ invocation.
3374         * modules/memcoll (Makefile.am): Augment lib_SOURCES.
3375
3376 2011-05-23  Bruno Haible  <bruno@clisp.org>
3377
3378         memcasecmp: Move AC_LIBOBJ invocations to module description.
3379         * m4/memcasecmp.m4 (gl_MEMCASECMP): Remove AC_LIBOBJ invocation.
3380         * modules/memcasecmp (Makefile.am): Augment lib_SOURCES.
3381
3382 2011-05-23  Bruno Haible  <bruno@clisp.org>
3383
3384         crypto/md5: Move AC_LIBOBJ invocations to module description.
3385         * m4/md5.m4 (gl_MD5): Remove AC_LIBOBJ invocation.
3386         * modules/crypto/md5 (Makefile.am): Augment lib_SOURCES.
3387
3388 2011-05-23  Bruno Haible  <bruno@clisp.org>
3389
3390         crypto/md4: Move AC_LIBOBJ invocations to module description.
3391         * m4/md4.m4 (gl_MD4): Remove AC_LIBOBJ invocation.
3392         * modules/crypto/md4 (Makefile.am): Augment lib_SOURCES.
3393
3394 2011-05-23  Bruno Haible  <bruno@clisp.org>
3395
3396         crypto/md2: Move AC_LIBOBJ invocations to module description.
3397         * m4/md2.m4: Remove file.
3398         * modules/crypto/md2 (Files): Remove it.
3399         (configure.ac): Remove gl_MD2 call.
3400         (Makefile.am): Augment lib_SOURCES.
3401
3402 2011-05-23  Bruno Haible  <bruno@clisp.org>
3403
3404         long-options: Move AC_LIBOBJ invocations to module description.
3405         * m4/long-options.m4: Remove file.
3406         * modules/long-options (Files): Remove it.
3407         (configure.ac): Remove gl_LONG_OPTIONS call.
3408         (Makefile.am): Augment lib_SOURCES.
3409
3410 2011-05-23  Bruno Haible  <bruno@clisp.org>
3411
3412         i-ring: Move AC_LIBOBJ invocations to module description.
3413         * m4/i-ring.m4 (gl_I_RING): Remove AC_LIBOBJ invocation.
3414         * modules/i-ring (Makefile.am): Augment lib_SOURCES.
3415
3416 2011-05-23  Bruno Haible  <bruno@clisp.org>
3417
3418         idcache: Move AC_LIBOBJ invocations to module description.
3419         * m4/idcache.m4 (gl_IDCACHE): Remove AC_LIBOBJ invocation.
3420         * modules/idcache (Makefile.am): Augment lib_SOURCES.
3421
3422 2011-05-23  Bruno Haible  <bruno@clisp.org>
3423
3424         human: Move AC_LIBOBJ invocations to module description.
3425         * m4/human.m4 (gl_HUMAN): Remove AC_LIBOBJ invocation.
3426         * modules/human (Makefile.am): Augment lib_SOURCES.
3427
3428 2011-05-23  Bruno Haible  <bruno@clisp.org>
3429
3430         crypto/hmac-sha1: Move AC_LIBOBJ invocations to module description.
3431         * m4/hmac-sha1.m4: Remove file.
3432         * modules/crypto/hmac-sha1 (Files): Remove it.
3433         (configure.ac): Remove gl_HMAC_SHA1 call.
3434         (Makefile.am): Augment lib_SOURCES.
3435
3436 2011-05-23  Bruno Haible  <bruno@clisp.org>
3437
3438         crypto/hmac-md5: Move AC_LIBOBJ invocations to module description.
3439         * m4/hmac-md5.m4: Remove file.
3440         * modules/crypto/hmac-md5 (Files): Remove it.
3441         (configure.ac): Remove gl_HMAC_MD5 call.
3442         (Makefile.am): Augment lib_SOURCES.
3443
3444 2011-05-23  Bruno Haible  <bruno@clisp.org>
3445
3446         hash: Move AC_LIBOBJ invocations to module description.
3447         * m4/hash.m4: Remove file.
3448         * modules/hash (Files): Remove it.
3449         (configure.ac): Remove gl_HASH call.
3450         (Makefile.am): Augment lib_SOURCES.
3451
3452 2011-05-23  Bruno Haible  <bruno@clisp.org>
3453
3454         hard-locale: Move AC_LIBOBJ invocations to module description.
3455         * m4/hard-locale.m4 (gl_HARD_LOCALE): Remove AC_LIBOBJ invocation.
3456         * modules/hard-locale (Makefile.am): Augment lib_SOURCES.
3457
3458 2011-05-23  Bruno Haible  <bruno@clisp.org>
3459
3460         getugroups: Move AC_LIBOBJ invocations to module description.
3461         * m4/getugroups.m4 (gl_GETUGROUPS): Remove AC_LIBOBJ invocation.
3462         * modules/getugroups (Makefile.am): Augment lib_SOURCES.
3463
3464 2011-05-23  Bruno Haible  <bruno@clisp.org>
3465
3466         gettime: Move AC_LIBOBJ invocations to module description.
3467         * m4/gettime.m4 (gl_GETTIME): Remove AC_LIBOBJ invocation.
3468         * modules/gettime (Makefile.am): Augment lib_SOURCES.
3469
3470 2011-05-23  Bruno Haible  <bruno@clisp.org>
3471
3472         getndelim2: Move AC_LIBOBJ invocations to module description.
3473         * m4/getndelim2.m4 (gl_GETNDELIM2): Remove AC_LIBOBJ invocation.
3474         * modules/getndelim2 (Makefile.am): Augment lib_SOURCES.
3475
3476 2011-05-23  Bruno Haible  <bruno@clisp.org>
3477
3478         crypto/gc-pbkdf2-sha1: Move AC_LIBOBJ invocations to module description.
3479         * m4/gc-pbkdf2-sha1.m4: Remove file.
3480         * modules/crypto/gc-pbkdf2-sha1 (Files): Remove it.
3481         (configure.ac): Remove gl_GC_PBKDF2_SHA1 call.
3482         (Makefile.am): Augment lib_SOURCES.
3483
3484 2011-05-23  Bruno Haible  <bruno@clisp.org>
3485
3486         fts: Move AC_LIBOBJ invocations to module description.
3487         * m4/fts.m4 (gl_FUNC_FTS_CORE): Move AC_LIBOBJ invocation from here...
3488         * modules/fts (configure.ac): ... to here.
3489
3490 2011-05-23  Bruno Haible  <bruno@clisp.org>
3491
3492         file-type: Move AC_LIBOBJ invocations to module description.
3493         * m4/file-type.m4: Remove file.
3494         * modules/file-type (Files): Remove it.
3495         (configure.ac): Remove gl_FILE_TYPE call.
3496         (Makefile.am): Augment lib_SOURCES.
3497
3498 2011-05-23  Bruno Haible  <bruno@clisp.org>
3499
3500         filenamecat*: Respect rules for use of AC_LIBOBJ.
3501         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT, gl_FILE_NAME_CONCAT_LGPL):
3502         Remove AC_LIBOBJ invocation.
3503         * modules/filenamecat (Makefile.am): Augment lib_SOURCES.
3504         * modules/filenamecat-lgpl (Makefile.am): Augment lib_SOURCES.
3505
3506 2011-05-23  Bruno Haible  <bruno@clisp.org>
3507
3508         filemode: Move AC_LIBOBJ invocations to module description.
3509         * m4/filemode.m4 (gl_FILEMODE): Remove AC_LIBOBJ invocation.
3510         * modules/filemode (Makefile.am): Augment lib_SOURCES.
3511
3512 2011-05-23  Bruno Haible  <bruno@clisp.org>
3513
3514         openat-safer: Move AC_LIBOBJ invocations to module description.
3515         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): Remove AC_LIBOBJ invocation.
3516         * modules/openat-safer (Makefile.am): Augment lib_SOURCES.
3517
3518 2011-05-23  Bruno Haible  <bruno@clisp.org>
3519
3520         fcntl-safer: Move AC_LIBOBJ invocations to module description.
3521         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove AC_LIBOBJ invocations.
3522         * modules/fcntl-safer (Makefile.am): Augment lib_SOURCES.
3523
3524 2011-05-23  Bruno Haible  <bruno@clisp.org>
3525
3526         exclude: Move AC_LIBOBJ invocations to module description.
3527         * m4/exclude.m4: Remove file.
3528         * modules/exclude (Files): Remove it.
3529         (configure.ac): Remove gl_EXCLUDE call.
3530         (Makefile.am): Augment lib_SOURCES.
3531
3532 2011-05-23  Bruno Haible  <bruno@clisp.org>
3533
3534         dirname*: Respect rules for use of AC_LIBOBJ.
3535         * m4/dirname.m4 (gl_DIRNAME, gl_DIRNAME_LGPL): Remove AC_LIBOBJ
3536         invocations.
3537         * modules/dirname (Makefile.am): Augment lib_SOURCES.
3538         * modules/dirname-lgpl (Makefile.am): Augment lib_SOURCES.
3539
3540 2011-05-23  Bruno Haible  <bruno@clisp.org>
3541
3542         dirent-safer: Move AC_LIBOBJ invocations to module description.
3543         * m4/dirent-safer.m4 (gl_DIRENT_SAFER): Remove AC_LIBOBJ invocation.
3544         * modules/dirent-safer (Makefile.am): Augment lib_SOURCES.
3545
3546 2011-05-23  Bruno Haible  <bruno@clisp.org>
3547
3548         crypto/des: Move AC_LIBOBJ invocations to module description.
3549         * m4/des.m4: Remove file.
3550         * modules/crypto/des (Files): Remove it.
3551         (configure.ac): Remove gl_DES call.
3552         (Makefile.am): Augment lib_SOURCES.
3553
3554 2011-05-23  Bruno Haible  <bruno@clisp.org>
3555
3556         cycle-check: Move AC_LIBOBJ invocations to module description.
3557         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Remove AC_LIBOBJ invocation.
3558         * modules/cycle-check (Makefile.am): Augment lib_SOURCES.
3559
3560 2011-05-23  Bruno Haible  <bruno@clisp.org>
3561
3562         c-strtold: Move AC_LIBOBJ invocations to module description.
3563         * m4/c-strtod.m4 (gl_C_STRTOLD): Remove AC_LIBOBJ invocation.
3564         * modules/c-strtold (Makefile.am): Augment lib_SOURCES.
3565
3566 2011-05-23  Bruno Haible  <bruno@clisp.org>
3567
3568         c-strtod: Move AC_LIBOBJ invocations to module description.
3569         * m4/c-strtod.m4 (gl_C_STRTOD): Remove AC_LIBOBJ invocation.
3570         * modules/c-strtod (Makefile.am): Augment lib_SOURCES.
3571
3572 2011-05-23  Bruno Haible  <bruno@clisp.org>
3573
3574         crc: Move AC_LIBOBJ invocations to module description.
3575         * m4/crc.m4: Remove file.
3576         * modules/crc (Files): Remove it.
3577         (configure.ac): Remove gl_CRC call.
3578         (Makefile.am): Augment lib_SOURCES.
3579
3580 2011-05-23  Bruno Haible  <bruno@clisp.org>
3581
3582         close-stream: Move AC_LIBOBJ invocations to module description.
3583         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove AC_LIBOBJ invocation.
3584         * modules/close-stream (Makefile.am): Augment lib_SOURCES.
3585
3586 2011-05-23  Bruno Haible  <bruno@clisp.org>
3587
3588         closeout: Move AC_LIBOBJ invocations to module description.
3589         * m4/closeout.m4 (gl_CLOSEOUT): Remove AC_LIBOBJ invocation.
3590         * modules/closeout (Makefile.am): Augment lib_SOURCES.
3591
3592 2011-05-23  Bruno Haible  <bruno@clisp.org>
3593
3594         closein: Move AC_LIBOBJ invocations to module description.
3595         * m4/closein.m4 (gl_CLOSEIN): Remove AC_LIBOBJ invocation.
3596         * modules/closein (Makefile.am): Augment lib_SOURCES.
3597
3598 2011-05-23  Bruno Haible  <bruno@clisp.org>
3599
3600         cloexec: Move AC_LIBOBJ invocations to module description.
3601         * m4/cloexec.m4: Remove file.
3602         * modules/cloexec (Files): Remove it.
3603         (configure.ac): Remove gl_CLOEXEC call.
3604         (Makefile.am): Augment lib_SOURCES.
3605
3606 2011-05-23  Bruno Haible  <bruno@clisp.org>
3607
3608         check-version: Move AC_LIBOBJ invocations to module description.
3609         * m4/check-version.m4: Remove file.
3610         * modules/check-version (Files): Remove it.
3611         (configure.ac): Remove gl_CHECK_VERSION call.
3612         (Makefile.am): Augment lib_SOURCES.
3613
3614 2011-05-23  Bruno Haible  <bruno@clisp.org>
3615
3616         chdir-safer: Move AC_LIBOBJ invocations to module description.
3617         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Remove AC_LIBOBJ invocation.
3618         * modules/chdir-safer (Makefile.am): Augment lib_SOURCES.
3619
3620 2011-05-23  Bruno Haible  <bruno@clisp.org>
3621
3622         canonicalize: Move AC_LIBOBJ invocations to module description.
3623         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Remove
3624         AC_LIBOBJ invocation.
3625         * modules/canonicalize (Makefile.am): Augment lib_SOURCES.
3626
3627 2011-05-23  Bruno Haible  <bruno@clisp.org>
3628
3629         canon-host: Move AC_LIBOBJ invocations to module description.
3630         * m4/canon-host.m4 (gl_CANON_HOST): Remove macro.
3631         * modules/canon-host (configure.ac): Invoke gl_PREREQ_CANON_HOST
3632         instead of gl_CANON_HOST.
3633         (Makefile.am): Augment lib_SOURCES.
3634
3635 2011-05-23  Bruno Haible  <bruno@clisp.org>
3636
3637         backupfile: Move AC_LIBOBJ invocations to module description.
3638         * m4/backupfile.m4 (gl_BACKUPFILE): Remove AC_LIBOBJ invocation.
3639         * modules/backupfile (Makefile.am): Augment lib_SOURCES.
3640
3641 2011-05-23  Bruno Haible  <bruno@clisp.org>
3642
3643         argmatch: Move AC_LIBOBJ invocations to module description.
3644         * m4/argmatch.m4: Remove file.
3645         * modules/argmatch (Files): Remove it.
3646         (configure.ac): Remove gl_ARGMATCH call.
3647         (Makefile.am): Augment lib_SOURCES.
3648
3649 2011-05-23  Bruno Haible  <bruno@clisp.org>
3650
3651         crypto/arctwo: Move AC_LIBOBJ invocations to module description.
3652         * m4/arctwo.m4 (gl_ARCTWO): Remove AC_LIBOBJ invocation.
3653         * modules/crypto/arctwo (Makefile.am): Augment lib_SOURCES.
3654
3655 2011-05-23  Bruno Haible  <bruno@clisp.org>
3656
3657         crypto/arcfour: Move AC_LIBOBJ invocations to module description.
3658         * m4/arcfour.m4: Remove file.
3659         * modules/crypto/arcfour (Files): Remove it.
3660         (configure.ac): Remove gl_ARCFOUR call.
3661         (Makefile.am): Augment lib_SOURCES.
3662
3663 2011-05-22  Bruno Haible  <bruno@clisp.org>
3664
3665         write: Move AC_LIBOBJ invocations to module description.
3666         * m4/write.m4 (gl_FUNC_WRITE): Move AC_LIBOBJ invocation from here...
3667         * modules/write (configure.ac): ... to here.
3668
3669 2011-05-22  Bruno Haible  <bruno@clisp.org>
3670
3671         wmemset: Move AC_LIBOBJ invocations to module description.
3672         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Move AC_LIBOBJ invocation from
3673         here...
3674         * modules/wmemset (configure.ac): ... to here.
3675
3676 2011-05-22  Bruno Haible  <bruno@clisp.org>
3677
3678         wmemmove: Move AC_LIBOBJ invocations to module description.
3679         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Move AC_LIBOBJ invocation from
3680         here...
3681         * modules/wmemmove (configure.ac): ... to here.
3682
3683 2011-05-22  Bruno Haible  <bruno@clisp.org>
3684
3685         wmemcpy: Move AC_LIBOBJ invocations to module description.
3686         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Move AC_LIBOBJ invocation from
3687         here...
3688         * modules/wmemcpy (configure.ac): ... to here.
3689
3690 2011-05-22  Bruno Haible  <bruno@clisp.org>
3691
3692         wmemcmp: Move AC_LIBOBJ invocations to module description.
3693         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Move AC_LIBOBJ invocation from
3694         here...
3695         * modules/wmemcmp (configure.ac): ... to here.
3696
3697 2011-05-22  Bruno Haible  <bruno@clisp.org>
3698
3699         wmemchr: Move AC_LIBOBJ invocations to module description.
3700         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Move AC_LIBOBJ invocation from
3701         here...
3702         * modules/wmemchr (configure.ac): ... to here.
3703
3704 2011-05-22  Bruno Haible  <bruno@clisp.org>
3705
3706         wcswidth: Move AC_LIBOBJ invocations to module description.
3707         * m4/wcswidth.m4 (gl_FUNC_WCSWIDTH): Move AC_LIBOBJ invocation from
3708         here...
3709         * modules/wcswidth (configure.ac): ... to here.
3710
3711 2011-05-22  Bruno Haible  <bruno@clisp.org>
3712
3713         wcwidth: Respect rules for use of AC_LIBOBJ.
3714         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Set HAVE_WCWIDTH. Move AC_LIBOBJ
3715         invocation from here...
3716         * modules/wcwidth (configure.ac): ... to here.
3717         (Depends-on): Update conditions.
3718
3719 2011-05-22  Bruno Haible  <bruno@clisp.org>
3720
3721         wctype: Move AC_LIBOBJ invocations to module description.
3722         * m4/wctype.m4 (gl_FUNC_WCTYPE): Set HAVE_WCTYPE. Move AC_LIBOBJ
3723         invocation from here...
3724         * modules/wctype (configure.ac): ... to here.
3725         (Depends-on): Update conditions.
3726
3727 2011-05-22  Bruno Haible  <bruno@clisp.org>
3728
3729         wctrans: Move AC_LIBOBJ invocations to module description.
3730         * m4/wctrans.m4 (gl_FUNC_WCTRANS): Set HAVE_WCTRANS. Move AC_LIBOBJ
3731         invocation from here...
3732         * modules/wctrans (configure.ac): ... to here.
3733
3734 2011-05-22  Bruno Haible  <bruno@clisp.org>
3735
3736         wctomb: Move AC_LIBOBJ invocations to module description.
3737         * m4/wctomb.m4 (gl_FUNC_WCTOMB): Move AC_LIBOBJ and gl_PREREQ_WCTOMB
3738         invocations from here...
3739         * modules/wctomb (configure.ac): ... to here.
3740
3741 2011-05-22  Bruno Haible  <bruno@clisp.org>
3742
3743         wctob: Move AC_LIBOBJ invocations to module description.
3744         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_WCTOB. Move AC_LIBOBJ and
3745         gl_PREREQ_WCTOB invocations from here...
3746         * modules/wctob (configure.ac): ... to here.
3747         (Depends-on): Update conditions.
3748
3749 2011-05-22  Bruno Haible  <bruno@clisp.org>
3750
3751         wcsxfrm: Move AC_LIBOBJ invocations to module description.
3752         * m4/wcsxfrm.m4 (gl_FUNC_WCSXFRM): Move AC_LIBOBJ invocation from
3753         here...
3754         * modules/wcsxfrm (configure.ac): ... to here.
3755
3756 2011-05-22  Bruno Haible  <bruno@clisp.org>
3757
3758         wcstok: Move AC_LIBOBJ invocations to module description.
3759         * m4/wcstok.m4 (gl_FUNC_WCSTOK): Move AC_LIBOBJ invocation from here...
3760         * modules/wcstok (configure.ac): ... to here.
3761
3762 2011-05-22  Bruno Haible  <bruno@clisp.org>
3763
3764         wcsstr: Move AC_LIBOBJ invocations to module description.
3765         * m4/wcsstr.m4 (gl_FUNC_WCSSTR): Move AC_LIBOBJ invocation from here...
3766         * modules/wcsstr (configure.ac): ... to here.
3767
3768 2011-05-22  Bruno Haible  <bruno@clisp.org>
3769
3770         wcsspn: Move AC_LIBOBJ invocations to module description.
3771         * m4/wcsspn.m4 (gl_FUNC_WCSSPN): Move AC_LIBOBJ invocation from here...
3772         * modules/wcsspn (configure.ac): ... to here.
3773
3774 2011-05-22  Bruno Haible  <bruno@clisp.org>
3775
3776         wcsrtombs: Move AC_LIBOBJ invocations to module description.
3777         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Move AC_LIBOBJ and
3778         gl_PREREQ_WCSRTOMBS invocations from here...
3779         * modules/wcsrtombs (configure.ac): ... to here.
3780
3781 2011-05-22  Bruno Haible  <bruno@clisp.org>
3782
3783         wcsrchr: Move AC_LIBOBJ invocations to module description.
3784         * m4/wcsrchr.m4 (gl_FUNC_WCSRCHR): Move AC_LIBOBJ invocation from
3785         here...
3786         * modules/wcsrchr (configure.ac): ... to here.
3787
3788 2011-05-22  Bruno Haible  <bruno@clisp.org>
3789
3790         wcspbrk: Move AC_LIBOBJ invocations to module description.
3791         * m4/wcspbrk.m4 (gl_FUNC_WCSPBRK): Move AC_LIBOBJ invocation from
3792         here...
3793         * modules/wcspbrk (configure.ac): ... to here.
3794
3795 2011-05-22  Bruno Haible  <bruno@clisp.org>
3796
3797         wcsnrtombs: Move AC_LIBOBJ invocations to module description.
3798         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): Move AC_LIBOBJ and
3799         gl_PREREQ_WCSNRTOMBS invocations from here...
3800         * modules/wcsnrtombs (configure.ac): ... to here.
3801
3802 2011-05-22  Bruno Haible  <bruno@clisp.org>
3803
3804         wcsnlen: Move AC_LIBOBJ invocations to module description.
3805         * m4/wcsnlen.m4 (gl_FUNC_WCSNLEN): Move AC_LIBOBJ invocation from
3806         here...
3807         * modules/wcsnlen (configure.ac): ... to here.
3808
3809 2011-05-22  Bruno Haible  <bruno@clisp.org>
3810
3811         wcsncpy: Move AC_LIBOBJ invocations to module description.
3812         * m4/wcsncpy.m4 (gl_FUNC_WCSNCPY): Move AC_LIBOBJ invocation from
3813         here...
3814         * modules/wcsncpy (configure.ac): ... to here.
3815
3816 2011-05-22  Bruno Haible  <bruno@clisp.org>
3817
3818         wcsncmp: Move AC_LIBOBJ invocations to module description.
3819         * m4/wcsncmp.m4 (gl_FUNC_WCSNCMP): Move AC_LIBOBJ invocation from
3820         here...
3821         * modules/wcsncmp (configure.ac): ... to here.
3822
3823 2011-05-22  Bruno Haible  <bruno@clisp.org>
3824
3825         wcsncat: Move AC_LIBOBJ invocations to module description.
3826         * m4/wcsncat.m4 (gl_FUNC_WCSNCAT): Move AC_LIBOBJ invocation from
3827         here...
3828         * modules/wcsncat (configure.ac): ... to here.
3829
3830 2011-05-22  Bruno Haible  <bruno@clisp.org>
3831
3832         wcsncasecmp: Move AC_LIBOBJ invocations to module description.
3833         * m4/wcsncasecmp.m4 (gl_FUNC_WCSNCASECMP): Move AC_LIBOBJ invocation
3834         from here...
3835         * modules/wcsncasecmp (configure.ac): ... to here.
3836
3837 2011-05-22  Bruno Haible  <bruno@clisp.org>
3838
3839         wcslen: Move AC_LIBOBJ invocations to module description.
3840         * m4/wcslen.m4 (gl_FUNC_WCSLEN): Move AC_LIBOBJ invocation from here...
3841         * modules/wcslen (configure.ac): ... to here.
3842
3843 2011-05-22  Bruno Haible  <bruno@clisp.org>
3844
3845         wcsdup: Move AC_LIBOBJ invocations to module description.
3846         * m4/wcsdup.m4 (gl_FUNC_WCSDUP): Move AC_LIBOBJ invocation from here...
3847         * modules/wcsdup (configure.ac): ... to here.
3848
3849 2011-05-22  Bruno Haible  <bruno@clisp.org>
3850
3851         wcscspn: Move AC_LIBOBJ invocations to module description.
3852         * m4/wcscspn.m4 (gl_FUNC_WCSCSPN): Move AC_LIBOBJ invocation from
3853         here...
3854         * modules/wcscspn (configure.ac): ... to here.
3855
3856 2011-05-22  Bruno Haible  <bruno@clisp.org>
3857
3858         wcscpy: Move AC_LIBOBJ invocations to module description.
3859         * m4/wcscpy.m4 (gl_FUNC_WCSCPY): Move AC_LIBOBJ invocation from here...
3860         * modules/wcscpy (configure.ac): ... to here.
3861
3862 2011-05-22  Bruno Haible  <bruno@clisp.org>
3863
3864         wcscoll: Move AC_LIBOBJ invocations to module description.
3865         * m4/wcscoll.m4 (gl_FUNC_WCSCOLL): Move AC_LIBOBJ invocation from
3866         here...
3867         * modules/wcscoll (configure.ac): ... to here.
3868
3869 2011-05-22  Bruno Haible  <bruno@clisp.org>
3870
3871         wcscmp: Move AC_LIBOBJ invocations to module description.
3872         * m4/wcscmp.m4 (gl_FUNC_WCSCMP): Move AC_LIBOBJ invocation from here...
3873         * modules/wcscmp (configure.ac): ... to here.
3874
3875 2011-05-22  Bruno Haible  <bruno@clisp.org>
3876
3877         wcschr: Move AC_LIBOBJ invocations to module description.
3878         * m4/wcschr.m4 (gl_FUNC_WCSCHR): Move AC_LIBOBJ invocation from here...
3879         * modules/wcschr (configure.ac): ... to here.
3880
3881 2011-05-22  Bruno Haible  <bruno@clisp.org>
3882
3883         wcscat: Move AC_LIBOBJ invocations to module description.
3884         * m4/wcscat.m4 (gl_FUNC_WCSCAT): Move AC_LIBOBJ invocation from here...
3885         * modules/wcscat (configure.ac): ... to here.
3886
3887 2011-05-22  Bruno Haible  <bruno@clisp.org>
3888
3889         wcscasecmp: Move AC_LIBOBJ invocations to module description.
3890         * m4/wcscasecmp.m4 (gl_FUNC_WCSCASECMP): Move AC_LIBOBJ invocation from
3891         here...
3892         * modules/wcscasecmp (configure.ac): ... to here.
3893
3894 2011-05-22  Bruno Haible  <bruno@clisp.org>
3895
3896         wcrtomb: Move AC_LIBOBJ invocations to module description.
3897         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Move AC_LIBOBJ and gl_PREREQ_WCRTOMB
3898         invocations from here...
3899         * modules/wcrtomb (configure.ac): ... to here.
3900
3901 2011-05-22  Bruno Haible  <bruno@clisp.org>
3902
3903         wcpncpy: Move AC_LIBOBJ invocations to module description.
3904         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Move AC_LIBOBJ invocation from
3905         here...
3906         * modules/wcpncpy (configure.ac): ... to here.
3907
3908 2011-05-22  Bruno Haible  <bruno@clisp.org>
3909
3910         wcpcpy: Move AC_LIBOBJ invocations to module description.
3911         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Move AC_LIBOBJ invocation from here...
3912         * modules/wcpcpy (configure.ac): ... to here.
3913
3914 2011-05-22  Bruno Haible  <bruno@clisp.org>
3915
3916         waitpid: Move AC_LIBOBJ invocations to module description.
3917         * m4/waitpid.m4 (gl_FUNC_WAITPID): Set HAVE_WAITPID. Move AC_LIBOBJ
3918         invocation from here...
3919         * modules/waitpid (configure.ac): ... to here.
3920
3921 2011-05-22  Bruno Haible  <bruno@clisp.org>
3922
3923         utimensat: Move AC_LIBOBJ invocations to module description.
3924         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Move AC_LIBOBJ invocations from
3925         here...
3926         * modules/utimensat (configure.ac): ... to here.
3927
3928 2011-05-22  Bruno Haible  <bruno@clisp.org>
3929
3930         usleep: Move AC_LIBOBJ invocations to module description.
3931         * m4/usleep.m4 (gl_FUNC_USLEEP): Move AC_LIBOBJ invocations from
3932         here...
3933         * modules/usleep (configure.ac): ... to here.
3934
3935 2011-05-22  Bruno Haible  <bruno@clisp.org>
3936
3937         unlockpt: Move AC_LIBOBJ invocations to module description.
3938         * m4/unlockpt.m4 (gl_FUNC_UNLOCKPT): Move AC_LIBOBJ and
3939         gl_PREREQ_UNLOCKPT invocations from here...
3940         * modules/unlockpt (configure.ac): ... to here.
3941
3942 2011-05-22  Bruno Haible  <bruno@clisp.org>
3943
3944         unlink: Respect rules for use of AC_LIBOBJ.
3945         * m4/unlink.m4 (gl_FUNC_UNLINK): Move AC_LIBOBJ invocation from here...
3946         * modules/unlink (configure.ac): ... to here.
3947
3948 2011-05-22  Bruno Haible  <bruno@clisp.org>
3949
3950         uname: Move AC_LIBOBJ invocations to module description.
3951         * m4/uname.m4 (gl_FUNC_UNAME): Call AC_CHECK_FUNCS instead of
3952         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_UNAME invocations from
3953         here...
3954         * modules/uname (configure.ac): ... to here.
3955
3956 2011-05-22  Bruno Haible  <bruno@clisp.org>
3957
3958         ttyname_r: Move AC_LIBOBJ invocations to module description.
3959         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Move AC_LIBOBJ and
3960         gl_PREREQ_TTYNAME_R invocations from here...
3961         * modules/ttyname_r (configure.ac): ... to here.
3962
3963 2011-05-22  Bruno Haible  <bruno@clisp.org>
3964
3965         tsearch: Move AC_LIBOBJ invocations to module description.
3966         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Move AC_LIBOBJ and gl_PREREQ_TSEARCH
3967         invocations from here...
3968         * modules/tsearch (configure.ac): ... to here.
3969
3970 2011-05-22  Bruno Haible  <bruno@clisp.org>
3971
3972         towctrans: Move AC_LIBOBJ invocations to module description.
3973         * m4/towctrans.m4 (gl_FUNC_TOWCTRANS): Set HAVE_TOWCTRANS. Move
3974         AC_LIBOBJ invocation from here...
3975         * modules/towctrans (configure.ac): ... to here.
3976
3977 2011-05-22  Bruno Haible  <bruno@clisp.org>
3978
3979         tmpfile: Move AC_LIBOBJ invocations to module description.
3980         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Move AC_LIBOBJ and gl_PREREQ_TMPFILE
3981         invocations from here...
3982         * modules/tmpfile (configure.ac): ... to here.
3983
3984 2011-05-22  Bruno Haible  <bruno@clisp.org>
3985
3986         times: Move AC_LIBOBJ invocations to module description.
3987         * m4/times.m4 (gl_FUNC_TIMES): Move AC_LIBOBJ invocation from here...
3988         * modules/times (configure.ac): ... to here.
3989
3990 2011-05-22  Bruno Haible  <bruno@clisp.org>
3991
3992         time_r: Move AC_LIBOBJ invocations to module description.
3993         * m4/time_r.m4 (gl_TIME_R): Move AC_LIBOBJ and gl_PREREQ_TIME_R
3994         invocations from here...
3995         * modules/time_r (configure.ac): ... to here.
3996
3997 2011-05-22  Bruno Haible  <bruno@clisp.org>
3998
3999         timegm: Move AC_LIBOBJ invocations to module description.
4000         * m4/timegm.m4 (gl_FUNC_TIMEGM): Move AC_LIBOBJ and gl_PREREQ_TIMEGM
4001         invocations from here...
4002         * modules/timegm (configure.ac): ... to here.
4003
4004 2011-05-22  Bruno Haible  <bruno@clisp.org>
4005
4006         tcgetsid: Move AC_LIBOBJ invocations to module description.
4007         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Set HAVE_TCGETSID. Move AC_LIBOBJ
4008         and gl_PREREQ_TCGETSID invocations from here...
4009         * modules/tcgetsid (configure.ac): ... to here.
4010         (Depends-on): Update conditions.
4011
4012 2011-05-22  Bruno Haible  <bruno@clisp.org>
4013
4014         symlinkat: Move AC_LIBOBJ invocations to module description.
4015         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move AC_LIBOBJ invocation from
4016         here...
4017         * modules/symlinkat (configure.ac): ... to here.
4018
4019 2011-05-22  Bruno Haible  <bruno@clisp.org>
4020
4021         symlink: Move AC_LIBOBJ invocations to module description.
4022         * m4/symlink.m4 (gl_FUNC_SYMLINK): Move AC_LIBOBJ invocations from
4023         here...
4024         * modules/symlink (configure.ac): ... to here.
4025
4026 2011-05-22  Bruno Haible  <bruno@clisp.org>
4027
4028         strverscmp: Move AC_LIBOBJ invocations to module description.
4029         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Call AC_CHECK_FUNCS instead of
4030         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRVERSCMP invocations
4031         from here...
4032         * modules/strverscmp (configure.ac): ... to here.
4033
4034 2011-05-22  Bruno Haible  <bruno@clisp.org>
4035
4036         strtok_r: Move AC_LIBOBJ invocations to module description.
4037         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_STRTOK_R. Move AC_LIBOBJ
4038         and gl_PREREQ_STRTOK_R invocations from here...
4039         * modules/strtok_r (configure.ac): ... to here.
4040         (Depends-on): Update conditions.
4041
4042 2011-05-22  Bruno Haible  <bruno@clisp.org>
4043
4044         strtoumax: Move AC_LIBOBJ invocations to module description.
4045         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Call AC_CHECK_FUNCS instead of
4046         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOUMAX invocations
4047         from here...
4048         * modules/strtoumax (configure.ac): ... to here.
4049
4050 2011-05-22  Bruno Haible  <bruno@clisp.org>
4051
4052         strtoimax: Move AC_LIBOBJ invocations to module description.
4053         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Call AC_CHECK_FUNCS instead of
4054         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOIMAX invocations
4055         from here...
4056         * modules/strtoimax (configure.ac): ... to here.
4057
4058 2011-05-22  Bruno Haible  <bruno@clisp.org>
4059
4060         strtoull: Move AC_LIBOBJ invocations to module description.
4061         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Call AC_CHECK_FUNCS instead of
4062         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOULL invocations
4063         from here...
4064         * modules/strtoull (configure.ac): ... to here.
4065
4066 2011-05-22  Bruno Haible  <bruno@clisp.org>
4067
4068         strtoll: Move AC_LIBOBJ invocations to module description.
4069         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Call AC_CHECK_FUNCS instead of
4070         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOLL invocations from
4071         here...
4072         * modules/strtoll (configure.ac): ... to here.
4073
4074 2011-05-22  Bruno Haible  <bruno@clisp.org>
4075
4076         strtoul: Move AC_LIBOBJ invocations to module description.
4077         * m4/strtoul.m4 (gl_FUNC_STRTOUL): Call AC_CHECK_FUNCS instead of
4078         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
4079         * modules/strtoul (configure.ac): ... to here.
4080
4081 2011-05-22  Bruno Haible  <bruno@clisp.org>
4082
4083         strtol: Move AC_LIBOBJ invocations to module description.
4084         * m4/strtol.m4 (gl_FUNC_STRTOL): Call AC_CHECK_FUNCS instead of
4085         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
4086         * modules/strtol (configure.ac): ... to here.
4087
4088 2011-05-22  Bruno Haible  <bruno@clisp.org>
4089
4090         strtod: Move AC_LIBOBJ invocations to module description.
4091         * m4/strtod.m4 (gl_FUNC_STRTOD): Move AC_LIBOBJ and gl_PREREQ_STRTOD
4092         invocations from here...
4093         * modules/strtod (configure.ac): ... to here.
4094
4095 2011-05-22  Bruno Haible  <bruno@clisp.org>
4096
4097         strstr*: Move AC_LIBOBJ invocations to module description.
4098         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Move AC_LIBOBJ
4099         invocations from here...
4100         * modules/strstr-simple (configure.ac): ... to here.
4101         * modules/strstr (configure.ac): ... and here.
4102
4103 2011-05-22  Bruno Haible  <bruno@clisp.org>
4104
4105         strsignal: Move AC_LIBOBJ invocations to module description.
4106         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Set HAVE_STRSIGNAL. Move
4107         AC_LIBOBJ and gl_PREREQ_STRSIGNAL invocations from here...
4108         * modules/strsignal (configure.ac): ... to here.
4109         (Depends-on): Update conditions.
4110
4111 2011-05-22  Bruno Haible  <bruno@clisp.org>
4112
4113         strsep: Move AC_LIBOBJ invocations to module description.
4114         * m4/strsep.m4 (gl_FUNC_STRSEP): Call AC_CHECK_FUNCS instead of
4115         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRSEP invocations from
4116         here...
4117         * modules/strsep (configure.ac): ... to here.
4118
4119 2011-05-22  Bruno Haible  <bruno@clisp.org>
4120
4121         strptime: Move AC_LIBOBJ invocations to module description.
4122         * m4/strptime.m4 (gl_FUNC_STRPTIME): Move AC_LIBOBJ and
4123         gl_PREREQ_STRPTIME invocations from here...
4124         * modules/strptime (configure.ac): ... to here.
4125
4126 2011-05-22  Bruno Haible  <bruno@clisp.org>
4127
4128         strpbrk: Move AC_LIBOBJ invocations to module description.
4129         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Call AC_CHECK_FUNCS instead of
4130         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRPBRK invocations from
4131         here...
4132         * modules/strpbrk (configure.ac): ... to here.
4133
4134 2011-05-22  Bruno Haible  <bruno@clisp.org>
4135
4136         strnlen: Move AC_LIBOBJ invocations to module description.
4137         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Move AC_LIBOBJ and gl_PREREQ_STRNLEN
4138         invocations from here...
4139         * modules/strnlen (configure.ac): ... to here.
4140
4141 2011-05-22  Bruno Haible  <bruno@clisp.org>
4142
4143         strndup: Move AC_LIBOBJ invocations to module description.
4144         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_STRNDUP. Move AC_LIBOBJ
4145         invocations from here...
4146         * modules/strndup (configure.ac): ... to here.
4147         (Depends-on): Update conditions.
4148
4149 2011-05-22  Bruno Haible  <bruno@clisp.org>
4150
4151         strncat: Move AC_LIBOBJ invocations to module description.
4152         * m4/strncat.m4 (gl_FUNC_STRNCAT): Move AC_LIBOBJ and gl_PREREQ_STRNCAT
4153         invocations from here...
4154         * modules/strncat (configure.ac): ... to here.
4155
4156 2011-05-22  Bruno Haible  <bruno@clisp.org>
4157
4158         strdup, strdup-posix: Move AC_LIBOBJ invocations to module description.
4159         * m4/strdup.m4 (gl_FUNC_STRDUP): Move AC_LIBOBJ and gl_PREREQ_STRDUP
4160         invocations from here...
4161         * modules/strdup (configure.ac): ... to here.
4162         * modules/strdup-posix (configure.ac): ... and here.
4163
4164 2011-05-22  Bruno Haible  <bruno@clisp.org>
4165
4166         strcspn: Move AC_LIBOBJ invocations to module description.
4167         * m4/strcspn.m4 (gl_FUNC_STRCSPN): Call AC_CHECK_FUNCS instead of
4168         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRCSPN invocations from
4169         here...
4170         * modules/strcspn (configure.ac): ... to here.
4171
4172 2011-05-22  Bruno Haible  <bruno@clisp.org>
4173
4174         strchrnul: Move AC_LIBOBJ invocations to module description.
4175         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Move AC_LIBOBJ and
4176         gl_PREREQ_STRCHRNUL invocations from here...
4177         * modules/strchrnul (configure.ac): ... to here.
4178
4179 2011-05-22  Bruno Haible  <bruno@clisp.org>
4180
4181         strcasestr*: Move AC_LIBOBJ invocations to module description.
4182         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
4183         Move AC_LIBOBJ and gl_PREREQ_STRCASESTR invocations from here...
4184         * modules/strcasestr-simple (configure.ac): ... to here.
4185         * modules/strcasestr (configure.ac): ... and here.
4186
4187 2011-05-22  Bruno Haible  <bruno@clisp.org>
4188
4189         strcase: Move AC_LIBOBJ invocations to module description.
4190         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Set HAVE_STRNCASECMP.
4191         (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Call AC_CHECK_FUNCS instead
4192         of AC_REPLACE_FUNCS. Move AC_LIBOBJ, gl_PREREQ_STRCASECMP,
4193         gl_PREREQ_STRNCASECMP invocations from here...
4194         * modules/strcase (configure.ac): ... to here.
4195
4196 2011-05-22  Bruno Haible  <bruno@clisp.org>
4197
4198         stpncpy: Move AC_LIBOBJ invocations to module description.
4199         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Move AC_LIBOBJ invocations from
4200         here...
4201         * modules/stpncpy (configure.ac): ... to here.
4202
4203 2011-05-22  Bruno Haible  <bruno@clisp.org>
4204
4205         stpcpy: Move AC_LIBOBJ invocations to module description.
4206         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Call AC_CHECK_FUNCS instead of
4207         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STPCPY invocations from
4208         here...
4209         * modules/stpcpy (configure.ac): ... to here.
4210
4211 2011-05-21  Bruno Haible  <bruno@clisp.org>
4212
4213         stat: Move AC_LIBOBJ invocations to module description.
4214         * m4/stat.m4 (gl_PREREQ_STAT): New macro, extracted from gl_FUNC_STAT.
4215         (gl_FUNC_STAT): Move AC_LIBOBJ and gl_PREREQ_STAT invocations from
4216         here...
4217         * modules/stat (configure.ac): ... to here.
4218
4219 2011-05-21  Bruno Haible  <bruno@clisp.org>
4220
4221         sleep: Move AC_LIBOBJ invocations to module description.
4222         * m4/sleep.m4 (gl_FUNC_SLEEP): Move AC_LIBOBJ invocations from here...
4223         * modules/sleep (configure.ac): ... to here.
4224
4225 2011-05-21  Bruno Haible  <bruno@clisp.org>
4226
4227         signbit: Move AC_LIBOBJ invocations to module description.
4228         * m4/signbit.m4 (gl_SIGNBIT): Move AC_LIBOBJ invocations from here...
4229         * modules/signbit (configure.ac): ... to here.
4230
4231 2011-05-21  Bruno Haible  <bruno@clisp.org>
4232
4233         sigprocmask: Move AC_LIBOBJ invocations to module description.
4234         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Move AC_LIBOBJ and
4235         gl_PREREQ_SIGPROMASK invocations from here...
4236         * modules/sigprocmask (configure.ac): ... to here.
4237
4238 2011-05-21  Bruno Haible  <bruno@clisp.org>
4239
4240         sigaction: Move AC_LIBOBJ invocations to module description.
4241         * m4/sigaction.m4 (gl_SIGACTION): Move AC_LIBOBJ and
4242         gl_PREREQ_SIGACTION invocations from here...
4243         * modules/sigaction (configure.ac): ... to here.
4244
4245 2011-05-21  Bruno Haible  <bruno@clisp.org>
4246
4247         sig2str: Move AC_LIBOBJ invocations to module description.
4248         * m4/sig2str.m4 (gl_FUNC_SIG2STR): Call AC_CHECK_FUNCS instead of
4249         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_SIG2STR invocations from
4250         here...
4251         * modules/sig2str (configure.ac): ... to here.
4252
4253 2011-05-21  Bruno Haible  <bruno@clisp.org>
4254
4255         setlocale: Move AC_LIBOBJ invocations to module description.
4256         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Move AC_LIBOBJ and
4257         gl_PREREQ_SETLOCALE invocations from here...
4258         * modules/setlocale (configure.ac): ... to here.
4259
4260 2011-05-21  Bruno Haible  <bruno@clisp.org>
4261
4262         unsetenv: Move AC_LIBOBJ invocations to module description.
4263         * m4/setenv.m4 (gl_FUNC_UNSETENV): Set HAVE_UNSETENV. Move AC_LIBOBJ
4264         and gl_PREREQ_UNSETENV invocations from here...
4265         * modules/unsetenv (configure.ac): ... to here.
4266         (Depends-on): Update.
4267
4268 2011-05-21  Bruno Haible  <bruno@clisp.org>
4269
4270         setenv: Move AC_LIBOBJ invocations to module description.
4271         * m4/setenv.m4 (gl_FUNC_SETENV): Move AC_LIBOBJ invocations from
4272         here...
4273         * modules/setenv (configure.ac): ... to here.
4274
4275 2011-05-21  Bruno Haible  <bruno@clisp.org>
4276
4277         selinux-h: Move AC_LIBOBJ invocations to module description.
4278         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Move
4279         AC_LIBOBJ invocation from here...
4280         * modules/selinux-h (configure.ac): ... to here.
4281
4282 2011-05-21  Bruno Haible  <bruno@clisp.org>
4283
4284         select: Respect rules for use of AC_LIBOBJ.
4285         * m4/select.m4 (gl_FUNC_SELECT): Move AC_LIBOBJ invocations from
4286         here...
4287         * modules/select (configure.ac): ... to here.
4288
4289 2011-05-21  Bruno Haible  <bruno@clisp.org>
4290
4291         scandir: Move AC_LIBOBJ invocations to module description.
4292         * m4/scandir.m4 (gl_FUNC_SCANDIR): Move AC_LIBOBJ and gl_PREREQ_SCANDIR
4293         invocations from here...
4294         * modules/scandir (configure.ac): ... to here.
4295
4296 2011-05-21  Bruno Haible  <bruno@clisp.org>
4297
4298         rpmatch: Move AC_LIBOBJ invocations to module description.
4299         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Call AC_CHECK_FUNCS instead of
4300         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RPMATCH invocations from
4301         here...
4302         * modules/rpmatch (configure.ac): ... to here.
4303
4304 2011-05-21  Bruno Haible  <bruno@clisp.org>
4305
4306         rmdir: Respect rules for use of AC_LIBOBJ.
4307         * m4/rmdir.m4 (gl_FUNC_RMDIR): Move AC_LIBOBJ invocation from here...
4308         * modules/rmdir (configure.ac): ... to here.
4309
4310 2011-05-21  Bruno Haible  <bruno@clisp.org>
4311
4312         renameat: Move AC_LIBOBJ invocations to module description.
4313         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Move AC_LIBOBJ invocations from
4314         here...
4315         * modules/renameat (configure.ac): ... to here.
4316
4317 2011-05-21  Bruno Haible  <bruno@clisp.org>
4318
4319         rename: Respect rules for use of AC_LIBOBJ.
4320         * m4/rename.m4 (gl_FUNC_RENAME): Move AC_LIBOBJ invocations from
4321         here...
4322         * modules/rename (configure.ac): ... to here.
4323
4324 2011-05-21  Bruno Haible  <bruno@clisp.org>
4325
4326         remove: Move AC_LIBOBJ invocations to module description.
4327         * m4/remove.m4 (gl_FUNC_REMOVE): Move AC_LIBOBJ invocations from
4328         here...
4329         * modules/remove (configure.ac): ... to here.
4330
4331 2011-05-21  Bruno Haible  <bruno@clisp.org>
4332
4333         relocatable-lib: Move AC_LIBOBJ invocations to module description.
4334         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_SEPARATE): Remove
4335         macro.
4336         (gl_RELOCATABLE_LIBRARY): Move AC_LIBOBJ invocation from here...
4337         * modules/relocatable-lib (configure.ac): ... to here.
4338         * modules/relocatable-prog-wrapper (configure.ac): Invoke
4339         gl_RELOCATABLE_LIBRARY instead of gl_RELOCATABLE_LIBRARY_SEPARATE.
4340
4341 2011-05-21  Bruno Haible  <bruno@clisp.org>
4342
4343         relocatable-prog: Move AC_LIBOBJ invocations to module description.
4344         * m4/relocatable.m4 (gl_RELOCATABLE): Move AC_LIBOBJ invocation from
4345         here...
4346         * modules/relocatable-prog (configure.ac): ... to here.
4347
4348 2011-05-21  Bruno Haible  <bruno@clisp.org>
4349
4350         regex: Move AC_LIBOBJ invocations to module description.
4351         * m4/regex.m4 (gl_REGEX): Move AC_LIBOBJ and gl_PREREQ_REGEX
4352         invocations from here...
4353         * modules/regex (configure.ac): ... to here.
4354
4355 2011-05-21  Bruno Haible  <bruno@clisp.org>
4356
4357         realloc-*: Move AC_LIBOBJ invocations to module description.
4358         * m4/realloc.m4 (gl_REPLACE_REALLOC): Remove macro.
4359         (gl_FUNC_REALLOC_GNU, gl_FUNC_REALLOC_POSIX): Inline it here. Move
4360         AC_LIBOBJ invocations from here...
4361         * modules/realloc-gnu (configure.ac): ... to here.
4362         * modules/realloc-posix (configure.ac): ... and here.
4363
4364 2011-05-21  Bruno Haible  <bruno@clisp.org>
4365
4366         readutmp: Move AC_LIBOBJ invocations to module description.
4367         * m4/readutmp.m4 (gl_READUTMP): Move AC_LIBOBJ invocation from here...
4368         * modules/readutmp (configure.ac): ... to here.
4369
4370 2011-05-21  Bruno Haible  <bruno@clisp.org>
4371
4372         readlinkat: Move AC_LIBOBJ invocations to module description.
4373         * m4/readlinkat.m4 (gl_FUNC_READLINKAT): Move AC_LIBOBJ invocation from
4374         here...
4375         * modules/readlinkat (configure.ac): ... to here.
4376
4377 2011-05-21  Bruno Haible  <bruno@clisp.org>
4378
4379         readlink: Move AC_LIBOBJ invocations to module description.
4380         * m4/readlink.m4 (gl_FUNC_READLINK): Move AC_LIBOBJ and
4381         gl_PREREQ_READLINK invocations from here...
4382         * modules/readlink (configure.ac): ... to here.
4383
4384 2011-05-21  Bruno Haible  <bruno@clisp.org>
4385
4386         readline: Move AC_LIBOBJ invocations to module description.
4387         * m4/readline.m4 (gl_FUNC_READLINE): Move AC_LIBOBJ and
4388         gl_PREREQ_READLINE invocations from here...
4389         * modules/readline (configure.ac): ... to here.
4390
4391 2011-05-21  Bruno Haible  <bruno@clisp.org>
4392
4393         read: Move AC_LIBOBJ invocations to module description.
4394         * m4/read.m4 (gl_FUNC_READ): Move AC_LIBOBJ invocation from here...
4395         * modules/read (configure.ac): ... to here.
4396
4397 2011-05-21  Bruno Haible  <bruno@clisp.org>
4398
4399         rawmemchr: Move AC_LIBOBJ invocations to module description.
4400         * m4/rawmemchr.m4 (gl_FUNC_RAWMEMCHR): Call AC_CHECK_FUNCS instead of
4401         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RAWMEMCHR invocations
4402         from here...
4403         * modules/rawmemchr (configure.ac): ... to here.
4404
4405 2011-05-21  Bruno Haible  <bruno@clisp.org>
4406
4407         random_r: Move AC_LIBOBJ invocations to module description.
4408         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move AC_LIBOBJ and
4409         gl_PREREQ_RANDOM_R invocations from here...
4410         * modules/random_r (configure.ac): ... to here.
4411
4412 2011-05-21  Bruno Haible  <bruno@clisp.org>
4413
4414         pwrite: Move AC_LIBOBJ invocations to module description.
4415         * m4/pwrite.m4 (gl_FUNC_PWRITE): Move AC_LIBOBJ invocation from here...
4416         * modules/pwrite (configure.ac): ... to here.
4417
4418 2011-05-21  Bruno Haible  <bruno@clisp.org>
4419
4420         putenv: Move AC_LIBOBJ invocations to module description.
4421         * m4/putenv.m4 (gl_FUNC_PUTENV): Move AC_LIBOBJ invocation from here...
4422         * modules/putenv (configure.ac): ... to here.
4423
4424 2011-05-21  Bruno Haible  <bruno@clisp.org>
4425
4426         login_tty: Move AC_LIBOBJ invocations to module description.
4427         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Move AC_LIBOBJ invocation from here...
4428         * modules/login_tty (configure.ac): ... to here.
4429
4430 2011-05-21  Bruno Haible  <bruno@clisp.org>
4431
4432         openpty: Move AC_LIBOBJ invocations to module description.
4433         * m4/pty.m4 (gl_FUNC_OPENPTY): Move AC_LIBOBJ invocations from here...
4434         * modules/openpty (configure.ac): ... to here.
4435
4436 2011-05-21  Bruno Haible  <bruno@clisp.org>
4437
4438         forkpty: Move AC_LIBOBJ invocations to module description.
4439         * m4/pty.m4 (gl_FUNC_FORKPTY): Move AC_LIBOBJ invocations from here...
4440         * modules/forkpty (configure.ac): ... to here.
4441
4442 2011-05-21  Bruno Haible  <bruno@clisp.org>
4443
4444         ptsname: Move AC_LIBOBJ invocations to module description.
4445         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Move AC_LIBOBJ and gl_PREREQ_PTSNAME
4446         invocations from here...
4447         * modules/ptsname (configure.ac): ... to here.
4448
4449 2011-05-21  Bruno Haible  <bruno@clisp.org>
4450
4451         pread: Move AC_LIBOBJ invocations to module description.
4452         * m4/pread.m4 (gl_FUNC_PREAD): Move AC_LIBOBJ invocation from here...
4453         * modules/pread (configure.ac): ... to here.
4454
4455 2011-05-21  Bruno Haible  <bruno@clisp.org>
4456
4457         posix_spawn*: Move AC_LIBOBJ invocations to module description.
4458         * m4/posix_spawn.m4 (gl_PREREQ_POSIX_SPAWN_INTERNAL): Renamed from
4459         gl_POSIX_SPAWN_INTERNAL. Move AC_LIBOBJ invocation from here...
4460         * modules/posix_spawn (configure.ac): ... to here.
4461         * modules/posix_spawnp (configure.ac): ... and here.
4462
4463 2011-05-21  Bruno Haible  <bruno@clisp.org>
4464
4465         popen: Move AC_LIBOBJ invocations to module description.
4466         * m4/popen.m4 (gl_FUNC_POPEN): Move AC_LIBOBJ and gl_PREREQ_POPEN
4467         invocations from here...
4468         * modules/popen (configure.ac): ... to here.
4469
4470 2011-05-21  Bruno Haible  <bruno@clisp.org>
4471
4472         poll: Move AC_LIBOBJ invocations to module description.
4473         * m4/poll.m4 (gl_FUNC_POLL): Move AC_LIBOBJ and gl_PREREQ_POLL
4474         invocations from here...
4475         * modules/poll (configure.ac): ... to here.
4476
4477 2011-05-21  Bruno Haible  <bruno@clisp.org>
4478
4479         pipe-posix: Move AC_LIBOBJ invocations to module description.
4480         * m4/pipe.m4 (gl_FUNC_PIPE): Move AC_LIBOBJ invocation from here...
4481         * modules/pipe-posix (configure.ac): ... to here.
4482
4483 2011-05-21  Bruno Haible  <bruno@clisp.org>
4484
4485         openat: Respect rules for use of AC_LIBOBJ.
4486         * m4/openat.m4 (gl_FUNC_OPENAT): Call AC_CHECK_FUNCS instead of
4487         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
4488         * modules/openat (configure.ac): ... to here.
4489
4490 2011-05-21  Bruno Haible  <bruno@clisp.org>
4491
4492         obstack-printf*: Move AC_LIBOBJ invocations to module description.
4493         * m4/obstack-printf.m4 (gl_REPLACE_OBSTACK_PRINTF): Move AC_LIBOBJ
4494         invocation from here...
4495         * modules/obstack-printf (configure.ac): ... to here.
4496         * modules/obstack-printf-posix (configure.ac): ... and here.
4497
4498 2011-05-21  Bruno Haible  <bruno@clisp.org>
4499
4500         nl_langinfo: Move AC_LIBOBJ invocations to module description.
4501         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Move AC_LIBOBJ invocations
4502         from here...
4503         * modules/nl_langinfo (configure.ac): ... to here.
4504
4505 2011-05-21  Bruno Haible  <bruno@clisp.org>
4506
4507         nanosleep: Move AC_LIBOBJ invocations to module description.
4508         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Move AC_LIBOBJ and
4509         gl_PREREQ_NANOSLEEP invocations from here...
4510         * modules/nanosleep (configure.ac): ... to here.
4511
4512 2011-05-21  Bruno Haible  <bruno@clisp.org>
4513
4514         mountlist: Move AC_LIBOBJ invocations to module description.
4515         * m4/mountlist.m4 (gl_MOUNTLIST): Move AC_LIBOBJ and
4516         gl_PREREQ_MOUNTLIST_EXTRA invocations from here...
4517         * modules/mountlist (configure.ac): ... to here.
4518
4519 2011-05-21  Bruno Haible  <bruno@clisp.org>
4520
4521         mktime: Respect rules for use of AC_LIBOBJ.
4522         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove macro.
4523         (gl_FUNC_MKTIME): Inline it here. Set gl_cv_func_working_mktime. Move
4524         AC_LIBOBJ and gl_PREREQ_MKTIME invocations from here...
4525         (gl_FUNC_MKTIME_INTERNAL): ... and here...
4526         * modules/mktime (configure.ac): ... to here.
4527         * modules/mktime-internal (configure.ac): ... and here.
4528         * m4/timegm.m4 (gl_FUNC_TIMEGM): Update.
4529
4530 2011-05-21  Bruno Haible  <bruno@clisp.org>
4531
4532         mkstemps: Move AC_LIBOBJ invocations to module description.
4533         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Move AC_LIBOBJ invocation from
4534         here...
4535         * modules/mkstemps (configure.ac): ... to here.
4536
4537 2011-05-21  Bruno Haible  <bruno@clisp.org>
4538
4539         mkstemp: Move AC_LIBOBJ invocations to module description.
4540         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Move AC_LIBOBJ and
4541         gl_PREREQ_MKSTEMP invocations from here...
4542         * modules/mkstemp (configure.ac): ... to here.
4543
4544 2011-05-21  Bruno Haible  <bruno@clisp.org>
4545
4546         mkostemps: Move AC_LIBOBJ invocations to module description.
4547         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Move AC_LIBOBJ invocation from
4548         here...
4549         * modules/mkostemps (configure.ac): ... to here.
4550
4551 2011-05-21  Bruno Haible  <bruno@clisp.org>
4552
4553         mkostemp: Move AC_LIBOBJ invocations to module description.
4554         * m4/mkostemp.m4 (gl_FUNC_MKOSTEMP): Move AC_LIBOBJ and
4555         gl_PREREQ_MKOSTEMP invocations from here...
4556         * modules/mkostemp (configure.ac): ... to here.
4557
4558 2011-05-21  Bruno Haible  <bruno@clisp.org>
4559
4560         mknod: Move AC_LIBOBJ invocations to module description.
4561         * m4/mknod.m4 (gl_FUNC_MKNOD): Move AC_LIBOBJ invocations from here...
4562         * modules/mknod (configure.ac): ... to here.
4563
4564 2011-05-21  Bruno Haible  <bruno@clisp.org>
4565
4566         mkfifoat: Move AC_LIBOBJ invocations to module description.
4567         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Move AC_LIBOBJ invocations from
4568         here...
4569         * modules/mkfifoat (configure.ac): ... to here.
4570
4571 2011-05-21  Bruno Haible  <bruno@clisp.org>
4572
4573         mkfifo: Respect rules for use of AC_LIBOBJ.
4574         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Move AC_LIBOBJ invocations from
4575         here...
4576         * modules/mkfifo (configure.ac): ... to here.
4577
4578 2011-05-21  Bruno Haible  <bruno@clisp.org>
4579
4580         mkdtemp: Move AC_LIBOBJ invocations to module description.
4581         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Move AC_LIBOBJ and gl_PREREQ_MKDTEMP
4582         invocations from here...
4583         * modules/mkdtemp (configure.ac): ... to here.
4584
4585 2011-05-21  Bruno Haible  <bruno@clisp.org>
4586
4587         mkdir: Move AC_LIBOBJ invocations to module description.
4588         * m4/mkdir.m4 (gl_FUNC_MKDIR): Move AC_LIBOBJ invocations from here...
4589         * modules/mkdir (configure.ac): ... to here.
4590
4591 2011-05-21  Bruno Haible  <bruno@clisp.org>
4592
4593         memset: Move AC_LIBOBJ invocations to module description.
4594         * m4/memset.m4 (gl_FUNC_MEMSET): Call AC_CHECK_FUNCS instead of
4595         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMSET invocations from
4596         here...
4597         * modules/memset (configure.ac): ... to here.
4598
4599 2011-05-21  Bruno Haible  <bruno@clisp.org>
4600
4601         memrchr: Move AC_LIBOBJ invocations to module description.
4602         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Call AC_CHECK_FUNCS instead of
4603         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMRCHR invocations from
4604         here...
4605         * modules/memrchr (configure.ac): ... to here.
4606
4607 2011-05-21  Bruno Haible  <bruno@clisp.org>
4608
4609         mempcpy: Move AC_LIBOBJ invocations to module description.
4610         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Call AC_CHECK_FUNCS instead of
4611         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMPCPY invocations from
4612         here...
4613         * modules/mempcpy (configure.ac): ... to here.
4614
4615 2011-05-21  Bruno Haible  <bruno@clisp.org>
4616
4617         memmove: Move AC_LIBOBJ invocations to module description.
4618         * m4/memmove.m4 (gl_FUNC_MEMMOVE): Call AC_CHECK_FUNCS instead of
4619         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMMOVE invocations from
4620         here...
4621         * modules/memmove (configure.ac): ... to here.
4622
4623 2011-05-21  Bruno Haible  <bruno@clisp.org>
4624
4625         memmem*: Move AC_LIBOBJ invocations to module description.
4626         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Call AC_CHECK_FUNCS instead of
4627         AC_REPLACE_FUNCS. Set HAVE_MEMMEM. Move AC_LIBOBJ invocations from
4628         here...
4629         (gl_FUNC_MEMMEM): ... and here...
4630         * modules/memmem-simple (configure.ac): ... to here.
4631         * modules/memmem (configure.ac): ... and here.
4632
4633 2011-05-21  Bruno Haible  <bruno@clisp.org>
4634
4635         memcpy: Move AC_LIBOBJ invocations to module description.
4636         * m4/memcpy.m4 (gl_FUNC_MEMCPY): Call AC_CHECK_FUNCS instead of
4637         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMCPY invocations from
4638         here...
4639         * modules/memcpy (configure.ac): ... to here.
4640
4641 2011-05-21  Bruno Haible  <bruno@clisp.org>
4642
4643         memcmp: Simplify autoconf macro.
4644         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Merge the cross-compilation code into
4645         the AC_RUN_IFELSE invocation. Set gl_func_memcmp.
4646         * modules/memcmp (Depends-on, configure.ac): Test gl_func_memcmp.
4647
4648 2011-05-21  Bruno Haible  <bruno@clisp.org>
4649
4650         memcmp: Move AC_LIBOBJ invocations to module description.
4651         * m4/memcmp.m4 (AC_FUNC_MEMCMP): Remove macro.
4652         (gl_FUNC_MEMCMP): Inline it here. Set gl_cv_func_memcmp_working. Move
4653         AC_LIBOBJ and gl_PREREQ_MEMCMP invocations from here...
4654         * modules/memcmp (configure.ac): ... to here.
4655         (Depends-on): Update conditions.
4656
4657 2011-05-21  Bruno Haible  <bruno@clisp.org>
4658
4659         memchr: Respect rules for use of AC_LIBOBJ.
4660         * m4/memchr.m4 (gl_FUNC_MEMCHR): Move AC_LIBOBJ and gl_PREREQ_MEMCHR
4661         invocations from here...
4662         * modules/memchr (configure.ac): ... to here.
4663
4664 2011-05-21  Bruno Haible  <bruno@clisp.org>
4665
4666         mbtowc: Move AC_LIBOBJ invocations to module description.
4667         * m4/mbtowc.m4 (gl_FUNC_MBTOWC): Move AC_LIBOBJ and gl_PREREQ_MBTOWC
4668         invocations from here...
4669         * modules/mbtowc (configure.ac): ... to here.
4670
4671 2011-05-21  Bruno Haible  <bruno@clisp.org>
4672
4673         mbsrtowcs: Move AC_LIBOBJ invocations to module description.
4674         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Move AC_LIBOBJ and
4675         gl_PREREQ_MBSRTOWCS invocations from here...
4676         * modules/mbsrtowcs (configure.ac): ... to here.
4677
4678 2011-05-21  Bruno Haible  <bruno@clisp.org>
4679
4680         mbsnrtowcs: Move AC_LIBOBJ invocations to module description.
4681         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): Move AC_LIBOBJ and
4682         gl_PREREQ_MBSNRTOWCS invocations from here...
4683         * modules/mbsnrtowcs (configure.ac): ... to here.
4684
4685 2011-05-21  Bruno Haible  <bruno@clisp.org>
4686
4687         mbsinit: Move AC_LIBOBJ invocations to module description.
4688         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Move AC_LIBOBJ and gl_PREREQ_MBSINIT
4689         invocations from here...
4690         * modules/mbsinit (configure.ac): ... to here.
4691
4692 2011-05-21  Bruno Haible  <bruno@clisp.org>
4693
4694         mbrlen: Move AC_LIBOBJ invocations to module description.
4695         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Move AC_LIBOBJ and gl_PREREQ_MBRLEN
4696         invocations from here...
4697         * modules/mbrlen (configure.ac): ... to here.
4698
4699 2011-05-21  Bruno Haible  <bruno@clisp.org>
4700
4701         mbrtowc: Respect rules for use of AC_LIBOBJ.
4702         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Move AC_LIBOBJ and gl_PREREQ_MBRTOWC
4703         invocations from here...
4704         * modules/mbrtowc (configure.ac): ... to here.
4705
4706 2011-05-21  Bruno Haible  <bruno@clisp.org>
4707
4708         malloc-*: Move AC_LIBOBJ invocations to module description.
4709         * m4/malloc.m4 (gl_REPLACE_MALLOC): Remove macro.
4710         (gl_FUNC_MALLOC_GNU, gl_FUNC_MALLOC_POSIX): Inline it here. Move
4711         AC_LIBOBJ invocations from here...
4712         * modules/malloc-gnu (configure.ac): ... to here.
4713         * modules/malloc-posix (configure.ac): ... and here.
4714
4715 2011-05-21  Bruno Haible  <bruno@clisp.org>
4716
4717         lstat, openat: Respect rules for use of AC_LIBOBJ.
4718         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Renamed from
4719         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK. Set variable
4720         gl_cv_func_lstat_dereferences_slashed_symlink. Don't invoke AC_LIBOBJ.
4721         (gl_PREREQ_LSTAT): New macro, extracted from gl_FUNC_LSTAT.
4722         (gl_FUNC_LSTAT): Update. Remove gl_PREREQ_LSTAT code.
4723         * modules/lstat (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_LSTAT
4724         here.
4725         * m4/openat.m4 (gl_FUNC_OPENAT): Update.
4726
4727 2011-05-21  Bruno Haible  <bruno@clisp.org>
4728
4729         lseek: Move AC_LIBOBJ invocations to module description.
4730         * m4/lseek.m4 (gl_REPLACE_LSEEK): Remove macro.
4731         (gl_FUNC_LSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
4732         * modules/lseek (configure.ac): ... to here.
4733
4734 2011-05-21  Bruno Haible  <bruno@clisp.org>
4735
4736         linkat: Move AC_LIBOBJ invocations to module description.
4737         * m4/linkat.m4 (gl_FUNC_LINKAT): Move AC_LIBOBJ invocations from
4738         here...
4739         * modules/linkat (configure.ac): ... to here.
4740
4741 2011-05-21  Bruno Haible  <bruno@clisp.org>
4742
4743         link: Respect rules for use of AC_LIBOBJ.
4744         * m4/link.m4 (gl_FUNC_LINK): Move AC_LIBOBJ invocations from here...
4745         * modules/link (configure.ac): ... to here.
4746
4747 2011-05-21  Bruno Haible  <bruno@clisp.org>
4748
4749         lchown: Move AC_LIBOBJ invocations to module description.
4750         * m4/lchown.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
4751         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
4752         * modules/lchown (configure.ac): ... to here.
4753
4754 2011-05-21  Bruno Haible  <bruno@clisp.org>
4755
4756         iswctype: Move AC_LIBOBJ invocations to module description.
4757         * m4/iswctype.m4 (gl_FUNC_ISWCTYPE): Move AC_LIBOBJ invocation from
4758         here...
4759         * modules/iswctype (configure.ac): ... to here.
4760
4761 2011-05-21  Bruno Haible  <bruno@clisp.org>
4762
4763         iswblank: Move AC_LIBOBJ invocations to module description.
4764         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Move AC_LIBOBJ invocation from
4765         here...
4766         * modules/iswblank (configure.ac): ... to here.
4767
4768 2011-05-21  Bruno Haible  <bruno@clisp.org>
4769
4770         atanl: Move AC_LIBOBJ invocations to module description.
4771         * m4/atanl.m4 (gl_FUNC_ATANL): Move AC_LIBOBJ invocation from here...
4772         * modules/atanl (configure.ac): ... to here.
4773
4774 2011-05-21  Bruno Haible  <bruno@clisp.org>
4775
4776         acosl: Move AC_LIBOBJ invocations to module description.
4777         * m4/acosl.m4 (gl_FUNC_ACOSL): Move AC_LIBOBJ invocation from here...
4778         * modules/acosl (configure.ac): ... to here.
4779
4780 2011-05-21  Bruno Haible  <bruno@clisp.org>
4781
4782         asinl: Respect rules for use of AC_LIBOBJ.
4783         * m4/asinl.m4 (gl_FUNC_ASINL): Move AC_LIBOBJ invocation from here...
4784         * modules/asinl (configure.ac): ... to here.
4785
4786 2011-05-21  Bruno Haible  <bruno@clisp.org>
4787
4788         tanl: Move AC_LIBOBJ invocations to module description.
4789         * m4/tanl.m4 (gl_FUNC_TANL): Move AC_LIBOBJ invocations from here...
4790         * modules/tanl (configure.ac): ... to here.
4791
4792 2011-05-21  Bruno Haible  <bruno@clisp.org>
4793
4794         cosl: Move AC_LIBOBJ invocations to module description.
4795         * m4/cosl.m4 (gl_FUNC_COSL): Move AC_LIBOBJ invocations from here...
4796         * modules/cosl (configure.ac): ... to here.
4797
4798 2011-05-21  Bruno Haible  <bruno@clisp.org>
4799
4800         sinl: Move AC_LIBOBJ invocations to module description.
4801         * m4/sinl.m4 (gl_FUNC_SINL): Move AC_LIBOBJ invocations from here...
4802         * modules/sinl (configure.ac): ... to here.
4803
4804 2011-05-21  Bruno Haible  <bruno@clisp.org>
4805
4806         logl: Move AC_LIBOBJ invocations to module description.
4807         * m4/logl.m4 (gl_FUNC_LOGL): Move AC_LIBOBJ invocation from here...
4808         * modules/logl (configure.ac): ... to here.
4809
4810 2011-05-21  Bruno Haible  <bruno@clisp.org>
4811
4812         expl: Move AC_LIBOBJ invocations to module description.
4813         * m4/expl.m4 (gl_FUNC_EXPL): Move AC_LIBOBJ invocation from here...
4814         * modules/expl (configure.ac): ... to here.
4815
4816 2011-05-21  Bruno Haible  <bruno@clisp.org>
4817
4818         roundl: Move AC_LIBOBJ invocations to module description.
4819         * m4/roundl.m4 (gl_FUNC_ROUNDL): Move AC_LIBOBJ invocation from here...
4820         * modules/roundl (configure.ac): ... to here.
4821
4822 2011-05-21  Bruno Haible  <bruno@clisp.org>
4823
4824         round: Move AC_LIBOBJ invocations to module description.
4825         * m4/round.m4 (gl_FUNC_ROUND): Move AC_LIBOBJ invocation from here...
4826         * modules/round (configure.ac): ... to here.
4827
4828 2011-05-21  Bruno Haible  <bruno@clisp.org>
4829
4830         roundf: Move AC_LIBOBJ invocations to module description.
4831         * m4/roundf.m4 (gl_FUNC_ROUNDF): Move AC_LIBOBJ invocation from here...
4832         * modules/roundf (configure.ac): ... to here.
4833
4834 2011-05-21  Bruno Haible  <bruno@clisp.org>
4835
4836         truncl: Move AC_LIBOBJ invocations to module description.
4837         * m4/truncl.m4 (gl_FUNC_TRUNCL): Move AC_LIBOBJ invocation from here...
4838         * modules/truncl (configure.ac): ... to here.
4839
4840 2011-05-21  Bruno Haible  <bruno@clisp.org>
4841
4842         trunc: Move AC_LIBOBJ invocations to module description.
4843         * m4/trunc.m4 (gl_FUNC_TRUNC): Move AC_LIBOBJ invocation from here...
4844         * modules/trunc (configure.ac): ... to here.
4845
4846 2011-05-21  Bruno Haible  <bruno@clisp.org>
4847
4848         truncf: Move AC_LIBOBJ invocations to module description.
4849         * m4/truncf.m4 (gl_FUNC_TRUNCF): Move AC_LIBOBJ invocation from here...
4850         * modules/truncf (configure.ac): ... to here.
4851
4852 2011-05-21  Bruno Haible  <bruno@clisp.org>
4853
4854         ceill: Move AC_LIBOBJ invocations to module description.
4855         * m4/ceill.m4 (gl_FUNC_CEILL): Move AC_LIBOBJ invocation from here...
4856         * modules/ceill (configure.ac): ... to here.
4857
4858 2011-05-21  Bruno Haible  <bruno@clisp.org>
4859
4860         ceil: Move AC_LIBOBJ invocations to module description.
4861         * m4/ceil.m4 (gl_FUNC_CEIL): Move AC_LIBOBJ invocation from here...
4862         * modules/ceil (configure.ac): ... to here.
4863
4864 2011-05-21  Bruno Haible  <bruno@clisp.org>
4865
4866         ceilf: Move AC_LIBOBJ invocations to module description.
4867         * m4/ceilf.m4 (gl_FUNC_CEILF): Move AC_LIBOBJ invocation from here...
4868         * modules/ceilf (configure.ac): ... to here.
4869
4870 2011-05-21  Bruno Haible  <bruno@clisp.org>
4871
4872         floorl: Respect rules for use of AC_LIBOBJ.
4873         * m4/floorl.m4 (gl_FUNC_FLOORL): Move AC_LIBOBJ invocation from here...
4874         * modules/floorl (configure.ac): ... to here.
4875
4876 2011-05-21  Bruno Haible  <bruno@clisp.org>
4877
4878         floor: Respect rules for use of AC_LIBOBJ.
4879         * m4/floor.m4 (gl_FUNC_FLOOR): Move AC_LIBOBJ invocation from here...
4880         * modules/floor (configure.ac): ... to here.
4881
4882 2011-05-21  Bruno Haible  <bruno@clisp.org>
4883
4884         floorf: Move AC_LIBOBJ invocations to module description.
4885         * m4/floorf.m4 (gl_FUNC_FLOORF): Move AC_LIBOBJ invocation from here...
4886         * modules/floorf (configure.ac): ... to here.
4887
4888 2011-05-20  Bruno Haible  <bruno@clisp.org>
4889
4890         sqrtl: Respect rules for use of AC_LIBOBJ.
4891         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Move AC_LIBOBJ invocation from here...
4892         * modules/sqrtl (configure.ac): ... to here.
4893
4894 2011-05-20  Bruno Haible  <bruno@clisp.org>
4895
4896         ldexpl: Respect rules for use of AC_LIBOBJ.
4897         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Move AC_LIBOBJ invocation from here...
4898         * modules/ldexpl (configure.ac): ... to here.
4899
4900 2011-05-20  Bruno Haible  <bruno@clisp.org>
4901
4902         frexpl*: Respect rules for use of AC_LIBOBJ.
4903         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Move AC_LIBOBJ
4904         invocation from here...
4905         * modules/frexpl (configure.ac): ... to here.
4906         * modules/frexpl-nolibm (configure.ac): ... and here.
4907
4908 2011-05-20  Bruno Haible  <bruno@clisp.org>
4909
4910         frexp, frexp-nolibm: Move AC_LIBOBJ invocations to module description.
4911         * m4/frexp.m4 (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Move AC_LIBOBJ
4912         invocation from here...
4913         * modules/frexp (configure.ac): ... to here.
4914         * modules/frexp-nolibm (configure.ac): ... and here.
4915
4916 2011-05-20  Bruno Haible  <bruno@clisp.org>
4917
4918         isnan: Respect rules for use of AC_LIBOBJ.
4919         * m4/isnan.m4 (gl_ISNAN): Don't do the AC_LIBOBJ and gl_PREREQ_ISNAN*
4920         invocations here.
4921         * modules/isnanf (configure.ac): Require gl_ISNAN if it exists. Test
4922         REPLACE_ISNAN.
4923         * modules/isnand (configure.ac): Likewise.
4924         * modules/isnanl (configure.ac): Likewise.
4925
4926 2011-05-20  Bruno Haible  <bruno@clisp.org>
4927
4928         isnanl*: Respect rules for use of AC_LIBOBJ.
4929         * m4/isnanl.m4 (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Move AC_LIBOBJ
4930         invocation from here...
4931         * modules/isnanl (configure.ac): ... to here.
4932         * modules/isnanl-nolibm (configure.ac): ... and here.
4933
4934 2011-05-20  Bruno Haible  <bruno@clisp.org>
4935
4936         isnand*: Move AC_LIBOBJ invocations to module description.
4937         * m4/isnand.m4 (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Move AC_LIBOBJ
4938         invocation from here...
4939         * modules/isnand (configure.ac): ... to here.
4940         * modules/isnand-nolibm (configure.ac): ... and here.
4941
4942 2011-05-20  Bruno Haible  <bruno@clisp.org>
4943
4944         isnanf*: Move AC_LIBOBJ invocations to module description.
4945         * m4/isnanf.m4 (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Move AC_LIBOBJ
4946         invocation from here...
4947         * modules/isnanf (configure.ac): ... to here.
4948         * modules/isnanf-nolibm (configure.ac): ... and here.
4949
4950 2011-05-20  Bruno Haible  <bruno@clisp.org>
4951
4952         isnan*: Separate the AC_LIBOBJ invocations.
4953         * m4/isnanf.m4 (gl_PREREQ_ISNANF): Renamed from gl_BUILD_ISNANF. Remove
4954         AC_LIBOBJ invocation.
4955         (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Update. Invoke AC_LIBOBJ
4956         here.
4957         * m4/isnand.m4 (gl_PREREQ_ISNAND): Renamed from gl_BUILD_ISNAND. Remove
4958         AC_LIBOBJ invocation.
4959         (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Update. Invoke AC_LIBOBJ
4960         here.
4961         * m4/isnanl.m4 (gl_PREREQ_ISNANL): Renamed from gl_BUILD_ISNANL. Remove
4962         AC_LIBOBJ invocation.
4963         (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Update. Invoke AC_LIBOBJ
4964         here.
4965         * m4/isnan.m4 (gl_ISNAN): Update. Invoke AC_LIBOBJ here.
4966
4967 2011-05-08  Bruno Haible  <bruno@clisp.org>
4968
4969         isinf: Move AC_LIBOBJ invocations to module description.
4970         * m4/isinf.m4 (gl_ISINF): Move AC_LIBOBJ invocation from here...
4971         * modules/isinf (configure.ac): ... to here.
4972
4973 2011-05-08  Bruno Haible  <bruno@clisp.org>
4974
4975         isfinite: Move AC_LIBOBJ invocations to module description.
4976         * m4/isfinite.m4 (gl_ISFINITE): Move AC_LIBOBJ invocation from here...
4977         * modules/isfinite (configure.ac): ... to here.
4978
4979 2011-05-08  Bruno Haible  <bruno@clisp.org>
4980
4981         isblank: Move AC_LIBOBJ invocations to module description.
4982         * m4/isblank.m4 (gl_FUNC_ISBLANK): Move AC_LIBOBJ invocation from
4983         here...
4984         * modules/isblank (configure.ac): ... to here.
4985
4986 2011-05-08  Bruno Haible  <bruno@clisp.org>
4987
4988         isapipe: Move AC_LIBOBJ invocations to module description.
4989         * m4/isapipe.m4 (gl_ISAPIPE): Set HAVE_ISAPIPE. Move AC_LIBOBJ and
4990         gl_PREREQ_ISAPIPE invocations from here...
4991         * modules/isapipe (configure.ac): ... to here.
4992         (Depends-on): Update condition.
4993
4994 2011-05-08  Bruno Haible  <bruno@clisp.org>
4995
4996         ioctl: Move AC_LIBOBJ invocations to module description.
4997         * m4/ioctl.m4 (gl_FUNC_IOCTL): Set HAVE_IOCTL. Move AC_LIBOBJ
4998         invocations from here...
4999         * modules/ioctl (configure.ac): ... to here.
5000         (Depends-on): Update condition.
5001
5002 2011-05-08  Bruno Haible  <bruno@clisp.org>
5003
5004         imaxdiv: Move AC_LIBOBJ invocations to module description.
5005         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Move AC_LIBOBJ and gl_PREREQ_IMAXDIV
5006         invocations from here...
5007         * modules/imaxdiv (configure.ac): ... to here.
5008
5009 2011-05-08  Bruno Haible  <bruno@clisp.org>
5010
5011         imaxabs: Move AC_LIBOBJ invocations to module description.
5012         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Move AC_LIBOBJ and gl_PREREQ_IMAXABS
5013         invocations from here...
5014         * modules/imaxabs (configure.ac): ... to here.
5015
5016 2011-05-08  Bruno Haible  <bruno@clisp.org>
5017
5018         getaddrinfo: Move AC_LIBOBJ invocations to module description.
5019         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Set HAVE_GETADDRINFO, Move
5020         AC_LIBOBJ invocations from here...
5021         * modules/getaddrinfo (configure.ac): ... to here.
5022         (Depends-on): Add conditions.
5023
5024 2011-05-08  Bruno Haible  <bruno@clisp.org>
5025
5026         inet_pton. getaddrinfo: Respect rules for use of AC_LIBOBJ.
5027         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Set HAVE_INET_PTON. Call
5028         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
5029         gl_PREREQ_INET_PTON. Move tests for declaration of inet_pton here...
5030         (gl_PREREQ_INET_PTON): ... from here.
5031         * modules/inet_pton (configure.ac): Invoke AC_LIBOBJ and
5032         gl_PREREQ_INET_PTON here.
5033         (Depends-on): Update condition.
5034
5035 2011-05-08  Bruno Haible  <bruno@clisp.org>
5036
5037         inet_ntop. getaddrinfo: Respect rules for use of AC_LIBOBJ.
5038         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Set HAVE_INET_NTOP. Call
5039         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
5040         gl_PREREQ_INET_NTOP. Move tests for declaration of inet_ntop here...
5041         (gl_PREREQ_INET_NTOP): ... from here.
5042         * modules/inet_ntop (configure.ac): Invoke AC_LIBOBJ and
5043         gl_PREREQ_INET_NTOP here.
5044         (Depends-on): Update condition.
5045
5046 2011-05-08  Bruno Haible  <bruno@clisp.org>
5047
5048         iconv_open: Move AC_LIBOBJ invocations to module description.
5049         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN, gl_REPLACE_ICONV_OPEN): Move
5050         AC_LIBOBJ invocations from here...
5051         * modules/iconv_open (configure.ac): ... to here.
5052
5053 2011-05-08  Bruno Haible  <bruno@clisp.org>
5054
5055         iconv_open, iconv_open-utf: Respect rules for use of AC_LIBOBJ.
5056         If module 'iconv_open' is among the main modules and module
5057         'iconv_open-utf' is among the tests dependencies, then
5058         REPLACE_ICONV_UTF will be defined to 1, hence iconv_open() in lib may
5059         return the special iconv_t values. Therefore iconv() and iconv_close()
5060         must support these special iconv_t values, already in lib, not only in
5061         tests.
5062         * m4/iconv_open-utf.m4: New file, extracted from m4/iconv_open.m4.
5063         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke
5064         gl_FUNC_ICONV_OPEN_UTF_SUPPORT if present.
5065         (gl_FUNC_ICONV_OPEN_UTF): Remove macro.
5066         * modules/iconv_open (Files): Add lib/iconv.c, lib/iconv_close.c.
5067         (Depends-on): Add the dependencies of iconv_open-utf.
5068         * modules/iconv_open-utf (Files): Add m4/iconv_open-utf.m4. Remove
5069         m4/iconv_open.m4, lib/iconv.c, lib/iconv_close.c.
5070         (Depends-on): Remove modules needed by lib/iconv.c, lib/iconv_close.c.
5071
5072 2011-05-08  Bruno Haible  <bruno@clisp.org>
5073
5074         group-member: Move AC_LIBOBJ invocations to module description.
5075         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Move AC_LIBOBJ and
5076         gl_PREREQ_GROUP_MEMBER invocations from here...
5077         * modules/group-member (configure.ac): ... to here.
5078
5079 2011-05-08  Bruno Haible  <bruno@clisp.org>
5080
5081         grantpt: Move AC_LIBOBJ invocations to module description.
5082         * m4/grantpt.m4 (gl_FUNC_GRANTPT): Move AC_LIBOBJ and gl_PREREQ_GRANTPT
5083         invocations from here...
5084         * modules/grantpt (configure.ac): ... to here.
5085
5086 2011-05-08  Bruno Haible  <bruno@clisp.org>
5087
5088         glob: Move AC_LIBOBJ invocations to module description.
5089         * m4/glob.m4 (gl_GLOB): Move AC_LIBOBJ and gl_PREREQ_GLOB invocations
5090         from here...
5091         * modules/glob (configure.ac): ... to here.
5092
5093 2011-05-08  Bruno Haible  <bruno@clisp.org>
5094
5095         getusershell: Move AC_LIBOBJ invocations to module description.
5096         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Set HAVE_GETUSERSHELL.
5097         Move AC_LIBOBJ invocation from here...
5098         * modules/getusershell (configure.ac): ... to here.
5099         (Depends-on): Update condition.
5100
5101 2011-05-08  Bruno Haible  <bruno@clisp.org>
5102
5103         gettimeofday: Move AC_LIBOBJ invocations to module description.
5104         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
5105         gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Move AC_LIBOBJ and
5106         gl_PREREQ_GETTIMEOFDAY invocations from here...
5107         * modules/gettimeofday (configure.ac): ... to here.
5108
5109 2011-05-08  Bruno Haible  <bruno@clisp.org>
5110
5111         gettimeofday, tzset: Respect rules for use of AC_LIBOBJ.
5112         * modules/tzset (configure.ac): Don't invoke gl_FUNC_TZSET_CLOBBER,
5113         just gl_FUNC_TZSET.
5114         * m4/tzset.m4 (gl_FUNC_TZSET): New macro.
5115         (gl_FUNC_TZSET_CLOBBER): Remove actions.
5116         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Invoke
5117         gl_FUNC_TZSET_CLOBBER and its actions here, if present.
5118
5119 2011-05-08  Bruno Haible  <bruno@clisp.org>
5120
5121         getsubopt: Move AC_LIBOBJ invocations to module description.
5122         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Move AC_LIBOBJ and
5123         gl_PREREQ_GETSUBOPT invocations from here...
5124         * modules/getsubopt (configure.ac): ... to here.
5125
5126 2011-05-08  Bruno Haible  <bruno@clisp.org>
5127
5128         getpass-gnu: Move AC_LIBOBJ invocations to module description.
5129         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): Set REPLACE_GETPASS. Move
5130         AC_LIBOBJ and gl_PREREQ_GETPASS invocations from here...
5131         * modules/getpass-gnu (configure.ac): ... to here.
5132
5133 2011-05-08  Bruno Haible  <bruno@clisp.org>
5134
5135         getpass: Move AC_LIBOBJ invocations to module description.
5136         * m4/getpass.m4 (gl_FUNC_GETPASS): Set HAVE_GETPASS. Move AC_LIBOBJ and
5137         gl_PREREQ_GETPASS invocations from here...
5138         * modules/getpass (configure.ac): ... to here.
5139
5140 2011-05-08  Bruno Haible  <bruno@clisp.org>
5141
5142         getpagesize: Move AC_LIBOBJ invocations to module description.
5143         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Move AC_LIBOBJ invocation
5144         from here...
5145         * modules/getpagesize (configure.ac): ... to here.
5146
5147 2011-05-08  Bruno Haible  <bruno@clisp.org>
5148
5149         getopt: Move AC_LIBOBJ invocations to module description.
5150         * m4/getopt.m4 (gl_REPLACE_GETOPT): Remove macro.
5151         (gl_FUNC_GETOPT): Inline it here. Move AC_LIBOBJ and gl_PREREQ_GETOPT
5152         invocations from here...
5153         * modules/getopt-gnu (configure.ac): ... to here.
5154         * modules/getopt-posix (configure.ac): ... and here.
5155         (Depends-on): Update condition.
5156
5157 2011-05-08  Bruno Haible  <bruno@clisp.org>
5158
5159         getopt, argp: Respect rules for use of AC_LIBOBJ.
5160         * m4/argp.m4 (gl_ARGP): Don't invoke gl_REPLACE_GETOPT.
5161         (gl_REPLACE_GETOPT_ALWAYS): New macro.
5162         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Test whether
5163         gl_REPLACE_GETOPT_ALWAYS is defined. Set REPLACE_GETOPT.
5164
5165 2011-05-08  Bruno Haible  <bruno@clisp.org>
5166
5167         getlogin_r: Move AC_LIBOBJ invocations to module description.
5168         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Move AC_LIBOBJ and
5169         gl_PREREQ_GETLOGIN_R invocations from here...
5170         * modules/getlogin_r (configure.ac): ... to here.
5171
5172 2011-05-08  Bruno Haible  <bruno@clisp.org>
5173
5174         getlogin: Move AC_LIBOBJ invocations to module description.
5175         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Move AC_LIBOBJ invocation from
5176         here...
5177         * modules/getlogin (configure.ac): ... to here.
5178
5179 2011-05-08  Bruno Haible  <bruno@clisp.org>
5180
5181         getloadavg: Move AC_LIBOBJ invocations to module description.
5182         * m4/getloadavg.m4 (gl_FUNC_GETDELIM): Set HAVE_GETLOADAVG. Move
5183         AC_LIBOBJ and gl_PREREQ_GETLOADAVG invocations from here...
5184         * modules/getloadavg (configure.ac): ... to here.
5185
5186 2011-05-08  Bruno Haible  <bruno@clisp.org>
5187
5188         gethrxtime: Move AC_LIBOBJ invocations to module description.
5189         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Move code that determines
5190         LIB_GETHRXTIME from here...
5191         (gl_GETHRXTIME): ... to here. Move AC_LIBOBJ and gl_PREREQ_GETHRXTIME
5192         invocations from here...
5193         * modules/gethrxtime (configure.ac): ... to here.
5194
5195 2011-05-08  Bruno Haible  <bruno@clisp.org>
5196
5197         gethostname: Move AC_LIBOBJ invocations to module description.
5198         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Move AC_LIBOBJ and
5199         gl_PREREQ_GETHOSTNAME invocations from here...
5200         * modules/gethostname (configure.ac): ... to here.
5201
5202 2011-05-08  Bruno Haible  <bruno@clisp.org>
5203
5204         getgroups: Move AC_LIBOBJ invocations to module description.
5205         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Move AC_LIBOBJ invocations from
5206         here...
5207         * modules/getgroups (configure.ac): ... to here.
5208
5209 2011-05-08  Bruno Haible  <bruno@clisp.org>
5210
5211         getdtablesize: Move AC_LIBOBJ invocations to module description.
5212         * m4/getdtablesize.m4 (gl_FUNC_GETDTABLESIZE): Move AC_LIBOBJ
5213         invocation from here...
5214         * modules/getdtablesize (configure.ac): ... to here.
5215
5216 2011-05-08  Bruno Haible  <bruno@clisp.org>
5217
5218         getdomainname: Move AC_LIBOBJ invocations to module description.
5219         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Move AC_LIBOBJ and
5220         gl_PREREQ_GETDOMAINNAME invocations from here...
5221         * modules/getdomainname (configure.ac): ... to here.
5222
5223 2011-05-08  Bruno Haible  <bruno@clisp.org>
5224
5225         getline: Move AC_LIBOBJ invocations to module description.
5226         * m4/getline.m4 (gl_FUNC_GETLINE): Move AC_LIBOBJ and gl_PREREQ_GETLINE
5227         invocations from here...
5228         * modules/getline (configure.ac): ... to here.
5229
5230 2011-05-08  Bruno Haible  <bruno@clisp.org>
5231
5232         getline: Simplify.
5233         * m4/getline.m4 (gl_PREREQ_GETLINE): Don't invoke gl_FUNC_GETDELIM.
5234         It's already handled through the module dependency.
5235
5236 2011-05-08  Bruno Haible  <bruno@clisp.org>
5237
5238         getdelim: Move AC_LIBOBJ invocations to module description.
5239         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Set HAVE_GETDELIM. Move AC_LIBOBJ
5240         and gl_PREREQ_GETDELIM invocations from here...
5241         * modules/getdelim (configure.ac): ... to here.
5242         (Depends-on): Fix condition.
5243
5244 2011-05-08  Bruno Haible  <bruno@clisp.org>
5245
5246         getcwd: Move AC_LIBOBJ invocations to module description.
5247         * m4/getcwd.m4 (gl_FUNC_GETCWD): Move AC_LIBOBJ and gl_PREREQ_GETCWD
5248         invocations from here...
5249         * modules/getcwd (configure.ac): ... to here.
5250
5251 2011-05-08  Bruno Haible  <bruno@clisp.org>
5252
5253         getcwd-lgpl: Move AC_LIBOBJ invocations to module description.
5254         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): Move AC_LIBOBJ invocation from
5255         here...
5256         * modules/getcwd-lgpl (configure.ac): ... to here.
5257
5258 2011-05-07  Bruno Haible  <bruno@clisp.org>
5259
5260         crypto/gc: Move AC_LIBOBJ invocations to module description.
5261         * m4/gc.m4 (gl_GC): Move AC_LIBOBJ invocations from here...
5262         * modules/crypto/gc (configure.ac): ... to here.
5263
5264 2011-05-07  Bruno Haible  <bruno@clisp.org>
5265
5266         fwriting: Move AC_LIBOBJ invocations to module description.
5267         * m4/fwriting.m4 (gl_FUNC_FWRITINT): Move AC_LIBOBJ invocation from
5268         here...
5269         * modules/fwriting (configure.ac): ... to here.
5270
5271 2011-05-07  Bruno Haible  <bruno@clisp.org>
5272
5273         fwritable: Move AC_LIBOBJ invocations to module description.
5274         * m4/fwritable.m4 (gl_FUNC_FWRITABLE): Move AC_LIBOBJ invocation from
5275         here...
5276         * modules/fwritable (configure.ac): ... to here.
5277
5278 2011-05-07  Bruno Haible  <bruno@clisp.org>
5279
5280         futimens: Move AC_LIBOBJ invocations to module description.
5281         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Move AC_LIBOBJ invocations from
5282         here...
5283         * modules/futimens (configure.ac): ... to here.
5284
5285 2011-05-07  Bruno Haible  <bruno@clisp.org>
5286
5287         ftruncate: Move AC_LIBOBJ invocations to module description.
5288         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Move AC_LIBOBJ and
5289         gl_PREREQ_FTRUNCATE invocations from here...
5290         * modules/ftruncate (configure.ac): ... to here.
5291
5292 2011-05-07  Bruno Haible  <bruno@clisp.org>
5293
5294         fsync: Move AC_LIBOBJ invocations to module description.
5295         * m4/fsync.m4 (gl_FUNC_FSYNC): Move AC_LIBOBJ and gl_PREREQ_FSYNC
5296         invocations from here...
5297         * modules/fsync (configure.ac): ... to here.
5298
5299 2011-05-07  Bruno Haible  <bruno@clisp.org>
5300
5301         fsusage: Move AC_LIBOBJ invocations to module description.
5302         * m4/fsusage.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and
5303         gl_PREREQ_FSUSAGE_EXTRA invocations from here...
5304         * modules/fsusage (configure.ac): ... to here.
5305
5306 2011-05-07  Bruno Haible  <bruno@clisp.org>
5307
5308         freopen: Move AC_LIBOBJ invocations to module description.
5309         * m4/freopen.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and gl_PREREQ_FREOPEN
5310         invocations from here...
5311         * modules/freopen (configure.ac): ... to here.
5312
5313 2011-05-07  Bruno Haible  <bruno@clisp.org>
5314
5315         free: Move AC_LIBOBJ invocations to module description.
5316         * m4/free.m4 (gl_FUNC_FREE): Move AC_LIBOBJ and missing gl_PREREQ_FREE
5317         invocations from here...
5318         * modules/free (configure.ac): ... to here.
5319
5320 2011-05-07  Bruno Haible  <bruno@clisp.org>
5321
5322         freadable: Move AC_LIBOBJ invocations to module description.
5323         * m4/freadable.m4 (gl_FUNC_FREADABLE): Move AC_LIBOBJ invocation from
5324         here...
5325         * modules/freadable (configure.ac): ... to here.
5326
5327 2011-05-07  Bruno Haible  <bruno@clisp.org>
5328
5329         fpurge: Move AC_LIBOBJ invocations to module description.
5330         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set HAVE_FPURGE. Move AC_LIBOBJ
5331         invocations from here...
5332         * modules/fpurge (configure.ac): ... to here.
5333
5334 2011-05-07  Bruno Haible  <bruno@clisp.org>
5335
5336         fpending: Move AC_LIBOBJ invocations to module description.
5337         * m4/fpending.m4 (gl_PREREQ_FPENDING): New macro, extracted from
5338         gl_FUNC_FPENDING.
5339         (gl_FUNC_FPENDING): Move AC_LIBOBJ and gl_PREREQ_FPENDING
5340         invocations from here...
5341         * modules/fpending (configure.ac): ... to here.
5342
5343 2011-05-07  Bruno Haible  <bruno@clisp.org>
5344
5345         fopen: Move AC_LIBOBJ invocations to module description.
5346         * m4/fopen.m4 (gl_FUNC_FOPEN): Move AC_LIBOBJ and gl_PREREQ_FOPEN
5347         invocations from here...
5348         * modules/fopen (configure.ac): ... to here.
5349
5350 2011-05-07  Bruno Haible  <bruno@clisp.org>
5351
5352         fnmatch, fnmatch-gnu: Move AC_LIBOBJ invocations to module description.
5353         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): New macro, extracted from
5354         gl_FUNC_FNMATCH_POSIX.
5355         (gl_FUNC_FNMATCH_POSIX): Move AC_LIBOBJ and gl_PREREQ_FNMATCH
5356         invocations from here...
5357         * modules/fnmatch (configure.ac): ... to here.
5358         * modules/fnmatch-gnu (configure.ac): ... and here.
5359
5360 2011-05-07  Bruno Haible  <bruno@clisp.org>
5361
5362         flock: Move AC_LIBOBJ invocations to module description.
5363         * m4/flock.m4 (gl_FUNC_FLOCK): Move AC_LIBOBJ and gl_PREREQ_FLOCK
5364         invocations from here...
5365         * modules/flock (configure.ac): ... to here.
5366
5367 2011-05-07  Bruno Haible  <bruno@clisp.org>
5368
5369         fileblocks: Move AC_LIBOBJ invocations to module description.
5370         * m4/fileblocks.m4 (gl_FILEBLOCKS): Move AC_LIBOBJ and
5371         gl_PREREQ_FILEBLOCKS invocations from here...
5372         * modules/fileblocks (configure.ac): ... to here.
5373
5374 2011-05-06  Bruno Haible  <bruno@clisp.org>
5375
5376         fflush: Move AC_LIBOBJ invocations to module description.
5377         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Remove macro.
5378         (gl_FUNC_FFLUSH): Inline it here. Move AC_LIBOBJ and gl_PREREQ_FFLUSH
5379         invocations from here...
5380         * modules/fflush (configure.ac): ... to here.
5381
5382 2011-05-06  Bruno Haible  <bruno@clisp.org>
5383
5384         fdopendir: Move AC_LIBOBJ invocations to module description.
5385         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Move AC_LIBOBJ invocations from
5386         here...
5387         * modules/fdopendir (configure.ac): ... to here.
5388         (Depends-on): Improve conditions.
5389
5390 2011-05-06  Bruno Haible  <bruno@clisp.org>
5391
5392         _Exit: Move AC_LIBOBJ invocations to module description.
5393         * m4/_Exit.m4 (gl_FUNC__EXIT): Move AC_LIBOBJ and gl_PREREQ__EXIT
5394         invocations from here...
5395         * modules/_Exit (configure.ac): ... to here.
5396
5397 2011-05-21  Bruno Haible  <bruno@clisp.org>
5398
5399         euidaccess: Respect rules for use of AC_LIBOBJ.
5400         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
5401         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_EUIDACCESS invocations
5402         from here...
5403         * modules/euidaccess (configure.ac): ... to here.
5404
5405 2011-05-06  Bruno Haible  <bruno@clisp.org>
5406
5407         error: Move AC_LIBOBJ invocations to module description.
5408         * m4/error.m4 (gl_ERROR): Inline AC_FUNC_ERROR_AT_LINE. Remove
5409         AC_LIBSOURCES invocation. Move AC_LIBOBJ and gl_PREREQ_ERROR
5410         invocations from here...
5411         * modules/error (configure.ac): ... to here.
5412
5413 2011-05-06  Bruno Haible  <bruno@clisp.org>
5414
5415         duplocale: Move AC_LIBOBJ invocations to module description.
5416         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Move AC_LIBOBJ and
5417         gl_PREREQ_DUPLOCALE invocations from here...
5418         * modules/duplocale (configure.ac): ... to here.
5419
5420 2011-05-05  Bruno Haible  <bruno@clisp.org>
5421
5422         dirfd: Move AC_LIBOBJ invocations to module description.
5423         * m4/dirfd.m4 (gl_PREREQ_DIRFD): New macro, extracted from
5424         gl_FUNC_DIRFD.
5425         (gl_FUNC_DIRFD): Move AC_LIBOBJ and gl_PREREQ_DIRFD invocations from
5426         here...
5427         * modules/dirfd (configure.ac): ... to here.
5428         (Depends-on): Fix condition.
5429
5430 2011-05-05  Bruno Haible  <bruno@clisp.org>
5431
5432         chown: Respect rules for use of AC_LIBOBJ.
5433         * m4/chown.m4 (gl_FUNC_CHOWN): Move AC_LIBOBJ invocations from here...
5434         * modules/chown (configure.ac): ... to here.
5435
5436 2011-05-05  Bruno Haible  <bruno@clisp.org>
5437
5438         chdir-long: Move AC_LIBOBJ invocations to module description.
5439         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Move AC_LIBOBJ and
5440         gl_PREREQ_CHDIR_LONG invocations from here...
5441         * modules/chdir-long (configure.ac): ... to here.
5442
5443 2011-05-05  Bruno Haible  <bruno@clisp.org>
5444
5445         canonicalize-lgpl: Move AC_LIBOBJ invocations to module description.
5446         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Move AC_LIBOBJ invocation
5447         from here...
5448         * modules/canonicalize-lgpl (configure.ac): ... to here.
5449
5450 2011-05-05  Bruno Haible  <bruno@clisp.org>
5451
5452         calloc-posix, calloc-gnu: Move AC_LIBOBJs to module description.
5453         * m4/calloc.m4 (gl_REPLACE_CALLOC): Remove macro.
5454         (gl_FUNC_CALLOC_GNU, gl_FUNC_CALLOC_POSIX): Instead, just set
5455         REPLACE_CALLOC.
5456         * modules/calloc-posix (configure.ac): Invoke AC_LIBOBJ here.
5457         * modules/calloc-gnu (configure.ac): Likewise.
5458
5459 2011-05-05  Bruno Haible  <bruno@clisp.org>
5460
5461         btowc: Move AC_LIBOBJ invocations to module description.
5462         * m4/btowc.m4 (gl_FUNC_BTOWC): Move AC_LIBOBJ and gl_PREREQ_BTOWC
5463         invocations from here...
5464         * modules/btowc (configure.ac): ... to here.
5465
5466 2011-05-21  Bruno Haible  <bruno@clisp.org>
5467
5468         atexit: Move AC_LIBOBJ invocations to module description.
5469         * m4/atexit.m4 (gl_FUNC_ATEXIT): Call AC_CHECK_FUNCS instead of
5470         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_ATEXIT invocations from
5471         here...
5472         * modules/atexit (configure.ac): ... to here.
5473
5474 2011-05-05  Bruno Haible  <bruno@clisp.org>
5475
5476         atoll: Move AC_LIBOBJ invocations to module description.
5477         * m4/atoll.m4 (gl_FUNC_ATOLL): Move AC_LIBOBJ and gl_PREREQ_ATOLL
5478         invocations from here...
5479         * modules/atoll (configure.ac): ... to here.
5480
5481 2011-05-05  Bruno Haible  <bruno@clisp.org>
5482
5483         argz: Move AC_LIBOBJ invocations to module description.
5484         * m4/argz.m4 (gl_FUNC_ARGZ): Move AC_LIBOBJ invocation from here...
5485         * modules/argz (configure.ac): ... to here.
5486
5487 2011-05-05  Bruno Haible  <bruno@clisp.org>
5488
5489         alphasort: Move AC_LIBOBJ invocations to module description.
5490         * m4/alphasort.m4 (gl_FUNC_ALPHASORT): Move AC_LIBOBJ and
5491         gl_PREREQ_ALPHASORT invocations from here...
5492         * modules/alphasort (configure.ac): ... to here.
5493
5494 2011-06-15  Paul Eggert  <eggert@cs.ucla.edu>
5495
5496         verify: new macro verify_expr; verify_true deprecated
5497         * NEWS: Mention this.
5498         * doc/verify.texi (Compile-time Assertions): Document this.
5499         * lib/verify.h (verify_true): Deprecate.
5500         (verify_expr): New macro.
5501         * tests/test-verify.c (function): Test verify_expr.
5502
5503 2011-06-14  Jim Meyering  <meyering@redhat.com>
5504
5505         init.sh: give more portable redirection-related advice in a comment
5506         * tests/init.sh (stderr_fileno_): Update the advice in comments.
5507         See http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/22488
5508         for lots of discussion.  Stefano Lattarini suggested the solution
5509         of putting "9>&2" after the command.  Reported by Bruno Haible.
5510
5511 2011-06-13  Bruno Haible  <bruno@clisp.org>
5512
5513         locale-zh: Reject zh_CN.GB18030 locale on Solaris 8.
5514         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On Solaris 8, set LOCALE_ZH_CN to
5515         'none'.
5516
5517 2011-06-13  Paul Eggert  <eggert@cs.ucla.edu>
5518
5519         ftoastr: use strtof only if HAVE_STRTOF
5520         This is needed on HP-UX 11.11 with GCC 4.2.4; see Bruno Haible's report
5521         <http://lists.gnu.org/archive/html/bug-gnulib/2011-06/msg00154.html>.
5522         * lib/ftoastr.c (STRTOF) [LENGTH == 1]: Use strtof only if HAVE_STRTOF.
5523         * modules/ftoastr (configure.ac): Check for strtof.
5524
5525 2011-06-13  Bruno Haible  <bruno@clisp.org>
5526
5527         gnulib-tool: Addendum to 2011-06-08 commit.
5528         * gnulib-tool (func_emit_lib_Makefile_am): If options --makefile-name
5529         and --witness-c-macro have been given, augment AM_CPPFLAGS.
5530
5531 2011-06-13  Bruno Haible  <bruno@clisp.org>
5532
5533         fseeko: Provide a non-inline replacement of fseek().
5534         * lib/stdio.in.h (fseek): Don't provide if module 'fseek' is not used.
5535         * modules/fseeko (Depends-on): Add fseek.
5536         * modules/fseek (License): Change to LGPLv2+.
5537
5538 2011-06-13  Bruno Haible  <bruno@clisp.org>
5539
5540         ftello: Provide a non-inline replacement of ftell().
5541         * lib/stdio.in.h (ftell): Don't provide if module 'ftell' is not used.
5542         * m4/ftell.m4 (gl_FUNC_FTELL): Replace ftell also if the system does
5543         not have ftello() (such as on mingw).
5544         * modules/ftello (Depends-on): Add ftell.
5545         * modules/ftell (License): Change to LGPLv2+.
5546
5547 2011-05-07  Bruno Haible  <bruno@clisp.org>
5548
5549         ftell: Move AC_LIBOBJ invocations to module description.
5550         * m4/ftell.m4 (gl_FUNC_FTELL): Move AC_LIBOBJ invocation from here...
5551         * modules/ftell (configure.ac): ... to here.
5552
5553 2011-05-07  Bruno Haible  <bruno@clisp.org>
5554
5555         ftello: Respect rules for use of AC_LIBOBJ.
5556         * m4/ftello.m4 (gl_REPLACE_FTELLO): Remove macro.
5557         (gl_FUNC_FTELLO): Inline it here. Move AC_LIBOBJ invocation from
5558         here...
5559         * modules/ftello (configure.ac): ... to here.
5560
5561 2011-05-07  Bruno Haible  <bruno@clisp.org>
5562
5563         fseeko: Simplify.
5564         * m4/fseeko.m4 (gl_HAVE_FSEEKO): Remove macro.
5565         (gl_FUNC_FSEEKO): Inline it here.
5566
5567 2011-05-07  Bruno Haible  <bruno@clisp.org>
5568
5569         fseek: Move AC_LIBOBJ invocations to module description.
5570         * m4/fseek.m4 (gl_REPLACE_FSEEK): Remove macro.
5571         (gl_FUNC_FSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
5572         * modules/fseek (configure.ac): ... to here.
5573
5574 2011-05-07  Bruno Haible  <bruno@clisp.org>
5575
5576         fseek: Respect rules for use of AC_LIBOBJ.
5577         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Move gl_REPLACE_FSEEK invocation from
5578         here...
5579         * m4/fseek.m4 (gl_FUNC_FSEEK): ... to here.
5580
5581 2011-05-07  Bruno Haible  <bruno@clisp.org>
5582
5583         fseeko: Respect rules for use of AC_LIBOBJ.
5584         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Remove macro.
5585         (gl_FUNC_FSEEKO): Inline it here. Move AC_LIBOBJ invocation from
5586         here...
5587         * modules/fseeko (configure.ac): ... to here.
5588
5589 2011-06-13  Bruno Haible  <bruno@clisp.org>
5590
5591         gnulib-tool: Allow comments in the 'Depends-on' section.
5592         * doc/gnulib.texi (Module description): Mention comment syntax in the
5593         Depends-on section.
5594         * gnulib-tool (func_get_dependencies): Filter out comment lines.
5595
5596 2011-06-13  Bruno Haible  <bruno@clisp.org>
5597
5598         file-set.h: guard __attibute__ use, now that it's not always defined
5599         * lib/file-set.h (record_file): Use __attribute__ only with compiler
5600         versions that support it.  This fixes a coreutils build failure with
5601         the vendor cc on HP-UX 11.31.
5602
5603 2011-06-12  Bruno Haible  <bruno@clisp.org>
5604
5605         acl: Add support for HP-UX >= 11.11 JFS ACLs.
5606         * doc/acl-resources.txt: Add info about the ACL APIs on HP-UX.
5607         * m4/acl.m4 (gl_FUNC_ACL): Also test for HP-UX 11.11 API.
5608         * lib/acl-internal.h [HP-UX 11.11]: Include <aclv.h>.
5609         (acl, aclsort): New declarations.
5610         (aclv_nontrivial): New declaration.
5611         * lib/file-has-acl.c (aclv_nontrivial) [HP-UX 11.11]: New function.
5612         (file_has_acl): Read also the second kind of HP-UX ACLs.
5613         * lib/set-mode-acl.c (qset_acl) [HP-UX 11.11]: Try to set the second
5614         kind of HP-UX ACLs if the first kind fails.
5615         * lib/copy-acl.c (qcopy_acl) [HP-UX 11.11]: Read and set also the
5616         second kind of HP-UX ACLs.
5617         * tests/test-sameacls.c [HP-UX 11.11]: Include <aclv.h>.
5618         (main) [HP-UX 11.11]: Test also whether the second kind of HP-UX ACLs
5619         agree.
5620         * tests/test-file-has-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
5621         hpuxjfs.
5622         Handle hpuxjfs.
5623         * tests/test-set-mode-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
5624         hpuxjfs.
5625         Handle hpuxjfs.
5626         * tests/test-copy-acl.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
5627         (func_test_same_acls): Use both lsacl and getacl.
5628         Handle hpuxjfs.
5629         * tests/test-copy-file.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
5630         (func_test_same_acls): Use both lsacl and getacl.
5631         Handle hpuxjfs.
5632
5633 2011-06-12  Bruno Haible  <bruno@clisp.org>
5634
5635         acl: Complete the 2010-08-10 fix.
5636         * lib/file-has-acl.c (file_has_acl) [HP-UX]: Also test against ENOTSUP.
5637         * lib/set-mode-acl.c (qset_acl) [HP-UX]: Likewise.
5638         * lib/copy-acl.c (qcopy_acl) [HP-UX]: Test for the errno values
5639         explicitly.
5640         * tests/test-sameacls.c (main) [HP-UX]: Also test against ENOTSUP.
5641         Reported in <http://debbugs.gnu.org/db/60/6053.html>.
5642
5643 2011-06-12  Bruno Haible  <bruno@clisp.org>
5644
5645         spawn-pipe tests: Comments.
5646         * tests/test-spawn-pipe-child.c (main): Update comment.
5647         Reported by James Youngman <jay@gnu.org>.
5648
5649 2011-06-11  James Youngman  <jay@gnu.org>
5650
5651         New module 'stat-size'.
5652         * modules/stat-size: New module.  Provides macros for accessing
5653         file size information in instances of struct stat.  Depends on the
5654         fileblocks module because it calls st_blocks.
5655         * lib/stat-size.h: New file, adapted from coreutils' system.h.
5656         * doc/gnulib.texi: Include stat-size.texi.
5657         * doc/stat-size.texi: Documentation for this module.
5658         * m4/stat-size.m4: New file; defines gl_STAT_SIZE.
5659         * m4/fileblocks.m4: Mention that stat-size depends on the call to
5660         AC_STRUCT_ST_BLOCKS.
5661
5662 2011-06-09  Bruno Haible  <bruno@clisp.org>
5663
5664         thread: Support pthreads-win32.
5665         * lib/glthread/thread.h (gl_thread_self): Define differently on
5666         pthreads-win32.
5667         (gl_null_thread): New declaration.
5668         (gl_thread_self_pointer): New macro.
5669         * lib/glthread/thread.c (gl_null_thread): New constant.
5670         * tests/test-lock.c: Use gl_thread_self_pointer instead of
5671         gl_thread_self.
5672         * tests/test-tls.c: Likewise.
5673         Suggested by Paul Eggert. Reported by Eric Blake.
5674
5675 2011-06-09  Bruno Haible  <bruno@clisp.org>
5676
5677         thread: Fix confusion between NULL and 0.
5678         * lib/glthread/thread.h (gl_thread_self): Use NULL and 0 appropriately.
5679         Reported by Paul Eggert.
5680
5681 2011-06-09  Bruno Haible  <bruno@clisp.org>
5682
5683         spawn-pipe tests: Avoid test failure on HP-UX 11.
5684         * tests/test-spawn-pipe-child.c (main) [HP-UX]: Don't assert that fd 2
5685         is closed.
5686
5687 2011-06-09  Bruno Haible  <bruno@clisp.org>
5688
5689         acl tests: Fix compilation error on HP-UX 11.
5690         * tests/test-sameacls.c: Include <sys/acl.h> also on HP-UX.
5691
5692 2011-06-09  Bruno Haible  <bruno@clisp.org>
5693
5694         rmdir: Avoid test failure on HP-UX 10.20.
5695         * tests/test-rmdir.h (test_rmdir_func): Accept ENOTEMPTY error, like
5696         EEXIST.
5697
5698 2011-06-08  Eric Blake  <eblake@redhat.com>
5699
5700         perror: fix test on mingw
5701         * modules/perror-tests (Depends-on): Add dup2.
5702
5703         strerror_r-posix: fix on MacOS
5704         * m4/strerror.m4 (gl_FUNC_STRERROR): Flush out MacOS bug.
5705         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Likewise, and fix
5706         logic bug.
5707         * lib/strerror_r.c (strerror_r): Fix the bug.
5708         * lib/strerror.c (strerror): Likewise.
5709         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
5710         problem.
5711         * doc/posix-functions/strerror.texi (strerror): Likewise.
5712         * doc/posix-functions/perror.texi (perror): Likewise.
5713         * tests/test-strerror.c (main): Enhance test.
5714         * tests/test-strerror_r.c (main): Likewise.
5715
5716 2011-06-08  Bruno Haible  <bruno@clisp.org>
5717
5718         gnulib-tool: Better isolation between different gnulib-tool invocations.
5719         * gnulib-tool: New option --witness-c-macro.
5720         (witness_c_macro): New variable.
5721         (func_emit_lib_Makefile_am): If --witness-c-macro was specified, let
5722         AM_CPPFLAGS define it as a C macro.
5723         (func_emit_tests_Makefile_am): Likewise.
5724         (func_import): Store witness_c_macro setting in gnulib-cache.m4 and
5725         read it from there.
5726         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): Define through
5727         m4_define, not AC_DEFUN.
5728         (gl_MODULE_INDICATOR_SET_VARIABLE_AUX,
5729         gl_MODULE_INDICATOR_SET_VARIABLE_AUX_OR): New macros.
5730         (gl_MODULE_INDICATOR_SET_VARIABLE): Use them.
5731         * modules/arpa_inet (Makefile.am): Use sed expression s/.../.../, not
5732         s|...|...|, to substitute the values of the GNULIB_* module indicator
5733         variables.
5734         * modules/dirent (Makefile.am): Likewise.
5735         * modules/fcntl-h (Makefile.am): Likewise.
5736         * modules/iconv-h (Makefile.am): Likewise.
5737         * modules/langinfo (Makefile.am): Likewise.
5738         * modules/locale (Makefile.am): Likewise.
5739         * modules/math (Makefile.am): Likewise.
5740         * modules/netdb (Makefile.am): Likewise.
5741         * modules/poll-h (Makefile.am): Likewise.
5742         * modules/pty (Makefile.am): Likewise.
5743         * modules/search (Makefile.am): Likewise.
5744         * modules/signal (Makefile.am): Likewise.
5745         * modules/spawn (Makefile.am): Likewise.
5746         * modules/stdio (Makefile.am): Likewise.
5747         * modules/stdlib (Makefile.am): Likewise.
5748         * modules/string (Makefile.am): Likewise.
5749         * modules/sys_ioctl (Makefile.am): Likewise.
5750         * modules/sys_select (Makefile.am): Likewise.
5751         * modules/sys_socket (Makefile.am): Likewise.
5752         * modules/sys_stat (Makefile.am): Likewise.
5753         * modules/sys_times (Makefile.am): Likewise.
5754         * modules/sys_utsname (Makefile.am): Likewise.
5755         * modules/sys_wait (Makefile.am): Likewise.
5756         * modules/termios (Makefile.am): Likewise.
5757         * modules/time (Makefile.am): Likewise.
5758         * modules/unistd (Makefile.am): Likewise.
5759         * modules/wchar (Makefile.am): Likewise.
5760
5761 2011-06-08  Eric Blake  <eblake@redhat.com>
5762
5763         strerror: simplify replacement
5764         * m4/strerror.m4 (gl_PREREQ_STRERROR): Delete.
5765         * modules/strerror (configure.ac): No prereqs needed here...
5766         * modules/strerror-override (configure.ac): ...but this needs it.
5767         (Files): Add file for needed prereq macro.
5768
5769 2011-06-08  Bruno Haible  <bruno@clisp.org>
5770
5771         strerror_r-posix: Tweaks.
5772         * m4/strerror.m4 (gl_FUNC_STRERROR): Omit the code that tests
5773         gl_cv_func_strerror_r_works if gl_FUNC_STRERROR_R_WORKS is not present.
5774         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Fix AC_CACHE_CHECK
5775         message. Move gl_HEADER_STRING_H_DEFAULTS invocation from here...
5776         (gl_FUNC_STRERROR_R): ... to here.
5777         (gl_PREREQ_STRERROR_R): Test for __xpg_strerror_r.
5778
5779 2011-06-07  Eric Blake  <eblake@redhat.com>
5780
5781         perror: document fixed bugs
5782         * doc/posix-functions/perror.texi (perror): Document recent
5783         patches.
5784
5785 2011-06-07  Paul Eggert  <eggert@cs.ucla.edu>
5786
5787         stat-time: get_stat_birthtime failure is better-defined
5788         * lib/stat-time.h (get_stat_birthtime): If the time is not available,
5789         return a timestamp whose tv_sec and tv_nsec values are both -1.
5790         Previously, the spec said only that the tv_nsec value was negative.
5791         This upward-compatible change simplifies GNU tar a bit.
5792
5793 2011-06-07  Eric Blake  <eblake@redhat.com>
5794
5795         strerror_r-posix: work around cygwin 1.7.9
5796         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Split...
5797         (gl_FUNC_STRERROR_R_WORKS): ...into new macro, to detect Cygwin
5798         bug without replacing strerror_r.
5799         * m4/strerror.m4 (gl_FUNC_STRERROR): Replace strerror if
5800         strerror_r is buggy, but without requiring strerror_r compilation.
5801         * doc/posix-functions/strerror_r.texi (strerror_r): Fix docs.
5802
5803         test-perror: relax test to ignore cygwin bug
5804         * tests/test-perror2.c (main): Relax test on requiring detection
5805         of stream errors, and use unbuffered stream.
5806         * doc/posix-functions/dprintf.texi (dprintf): Document bug.
5807         * doc/posix-functions/fprintf.texi (fprintf): Likewise.
5808         * doc/posix-functions/fputc.texi (fputc): Likewise.
5809         * doc/posix-functions/fputs.texi (fputs): Likewise.
5810         * doc/posix-functions/fputws.texi (fputws): Likewise.
5811         * doc/posix-functions/fwprintf.texi (fwprintf): Likewise.
5812         * doc/posix-functions/fwrite.texi (fwrite): Likewise.
5813         * doc/posix-functions/getopt.texi (getopt): Likewise.
5814         * doc/posix-functions/perror.texi (perror): Likewise.
5815         * doc/posix-functions/printf.texi (printf): Likewise.
5816         * doc/posix-functions/psiginfo.texi (psiginfo): Likewise.
5817         * doc/posix-functions/psignal.texi (psignal): Likewise.
5818         * doc/posix-functions/putc.texi (putc): Likewise.
5819         * doc/posix-functions/putc_unlocked.texi (putc_unlocked):
5820         Likewise.
5821         * doc/posix-functions/putchar.texi (putchar): Likewise.
5822         * doc/posix-functions/putchar_unlocked.texi (putchar_unlocked):
5823         Likewise.
5824         * doc/posix-functions/puts.texi (puts): Likewise.
5825         * doc/posix-functions/putwc.texi (putwc): Likewise.
5826         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
5827         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
5828         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
5829         * doc/posix-functions/vfwprintf.texi (vfwprintf): Likewise.
5830         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
5831         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
5832         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
5833         * doc/posix-functions/wprintf.texi (wprintf): Likewise.
5834
5835 2011-05-22  Bruno Haible  <bruno@clisp.org>
5836
5837         strerror: Move AC_LIBOBJ invocations to module description.
5838         * m4/strerror.m4 (gl_FUNC_STRERROR): Move AC_LIBOBJ and
5839         gl_PREREQ_STRERROR invocations from here...
5840         * modules/strerror (configure.ac): ... to here.
5841
5842 2011-05-21  Bruno Haible  <bruno@clisp.org>
5843
5844         perror: Use common idiom.
5845         * modules/perror (configure.ac): Reorder statements.
5846
5847 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
5848
5849         tests: fix usage message in 'mktempd_'
5850         * tests/init.sh (mktempd_): In the usage message, use literal
5851         'mktempd_', not '$ME' (which is even undefined), as the name of
5852         the subroutine.
5853
5854 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
5855
5856         tests init: new function 'fatal_', for hard errors
5857         Before this patch, the only way offered by tests/init.sh to
5858         properly signal a hard error was the `framework_failure_'
5859         function.  But the error message issued by that function,
5860         as its name would suggest, refers to a set-up failure in the
5861         testsuite, while hard errors can obviously also be due to
5862         other reasons.  The best way to fix this inconsistency is to
5863         introduce a new function with a more general error message.
5864         * tests/init.sh (fatal_): New function.
5865
5866 2011-06-06  Eric Blake  <eblake@redhat.com>
5867
5868         canonicalize-lgpl: use common idiom
5869         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Prefer older rm -rf
5870         over newer POSIX -Rf.
5871         Reported by Bruno Haible.
5872
5873         canonicalize-lgpl: work around AIX realpath bug
5874         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Expose AIX bug.
5875         * doc/posix-functions/realpath.texi (realpath): Document it.
5876         Reported by Bruno Haible.
5877
5878         strerror: work around FreeBSD bug
5879         * lib/strerror.c (strerror): Special case 0.
5880         Reported by Bruno Haible.
5881
5882         strerror-override: avoid bloating errno module
5883         * modules/errno (Files, configure.ac): Move replacement strings...
5884         * modules/strerror-override: ...to new module.
5885         * modules/strerror (Depends-on): Add strerror-override.
5886         * modules/strerror_r-posix (Depends-on): Likewise.
5887         * MODULES.html.sh: Document new module.
5888         Reported by Bruno Haible.
5889
5890 2011-06-06  Bruno Haible  <bruno@clisp.org>
5891
5892         spawn-pipe tests: Rename program.
5893         * tests/test-spawn-pipe-main.c: Renamed from tests/test-spawn-pipe.c.
5894         * tests/test-spawn-pipe-child.c: Update comment.
5895         * tests/test-spawn-pipe.sh: Update.
5896         * modules/spawn-pipe-tests (Files, Makefile.am): Update.
5897
5898         spawn-pipe tests: Link the child program only against libc.
5899         * tests/test-spawn-pipe-child.c: New file, extracted from
5900         tests/test-spawn-pipe.c.
5901         (main): Expect only one argument.
5902         (is_open): New function, copied from tests/test-pipe.c.
5903         * tests/test-spawn-pipe.c: Don't include <errno.h>.
5904         (child_main): Remove function.
5905         (test_pipe): Pass only one argument to the child program.
5906         (main): Remove child process code. Expect the child program's name as
5907         first argument.
5908         * tests/test-spawn-pipe.sh: Pass the child program's name as first
5909         argument.
5910         * modules/spawn-pipe-tests (Files): Add tests/test-spawn-pipe-child.c.
5911         (Makefile.am): Add test-spawn-pipe-child to check_PROGRAMS. Link
5912         test-spawn-pipe-child against no libraries.
5913
5914 2011-06-06  Bruno Haible  <bruno@clisp.org>
5915
5916         careadlinkat: Avoid mismatch between ssize_t and int.
5917         * lib/careadlinkat.h (careadlinkatcwd): Declare as a function always.
5918         * lib/careadlinkat.c (careadlinkatcwd): Define always.
5919
5920 2011-06-06  Jim Meyering  <meyering@redhat.com>
5921
5922         gnulib-common.m4: add _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE
5923         * m4/gnulib-common.m4 (gl_COMMON): Emit definitions of
5924         _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE.
5925
5926 2011-06-05  Bruno Haible  <bruno@clisp.org>
5927
5928         ansi-c++-opt: Interoperability with libtool.
5929         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is not found,
5930         set the variable to "no", not to ":".
5931         * NEWS: Mention the change.
5932
5933 2011-06-05  Bruno Haible  <bruno@clisp.org>
5934
5935         acl: Fix test failure on AIX 7.
5936         * tests/test-sameacls.c (main) [AIX]: Fix aclx_printStr invocation.
5937         Based on a patch by Jørn Amundsen <Jorn.Amundsen@ntnu.no>.
5938
5939 2011-06-05  Bruno Haible  <bruno@clisp.org>
5940
5941         pipe-filter-ii: Fix test failure on AIX and IRIX.
5942         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): When write() fails
5943         with EAGAIN, retry with a smaller buffer size.
5944
5945 2011-06-05  Bruno Haible  <bruno@clisp.org>
5946
5947         localename: Fix link dependencies.
5948         * modules/localename (Link): Mention $(LIBTHREAD) or $(LTLIBTHREAD).
5949         * modules/localename-tests (Makefile.am): Link test-localename with
5950         $(LIBTHREAD).
5951
5952 2011-06-05  Bruno Haible  <bruno@clisp.org>
5953
5954         error: Avoid gcc warning.
5955         * lib/error.c (strerror_r): Declare also when its return type is 'int'.
5956
5957 2011-06-05  Bruno Haible  <bruno@clisp.org>
5958
5959         unsetenv: Avoid gcc warning.
5960         * lib/unsetenv.c (unsetenv): Provide declaration if system lacks it.
5961
5962 2011-06-05  Bruno Haible  <bruno@clisp.org>
5963
5964         setenv: Avoid gcc warning.
5965         * lib/setenv.c (setenv): Provide declaration if system lacks it.
5966
5967 2011-06-05  Bruno Haible  <bruno@clisp.org>
5968
5969         sys_select: Ensure memset is declared also on AIX 7.
5970         * lib/sys_select.in.h: Include <string.h> also on AIX.
5971         * doc/posix-headers/sys_select.texi: Mention that <sys/select.h> is not
5972         self-contained also on AIX 7.1.
5973
5974 2011-06-04  Jim Meyering  <meyering@redhat.com>
5975
5976         maint.mk: sc_unmarked_diagnostics: don't hard-code "error"
5977         * top/maint.mk (sc_unmarked_diagnostics): Don't hard-code the
5978         function name, "error".
5979         (_gl_translatable_diag_func_re): New configurable variable.
5980
5981 2011-06-04  Bruno Haible  <bruno@clisp.org>
5982
5983         getopt: Avoid gcc warning.
5984         * lib/getopt.c (_getopt_internal_r): Remove unused variable 'ambig'.
5985
5986 2011-06-04  Bruno Haible  <bruno@clisp.org>
5987
5988         strerror_r: Fix comments.
5989         * lib/strerror_r.c (strerror_r): Update comments after 2011-06-01
5990         commit.
5991
5992 2011-06-04  Bruno Haible  <bruno@clisp.org>
5993
5994         perror: Fix compilation error.
5995         * lib/perror.c: Don't include intprops.h, verify.h, strerror-impl.h.
5996         Undefine fprintf, not sprintf.
5997         * modules/perror (Depends-on): Remove intprops, verify.
5998
5999 2011-06-04  Bruno Haible  <bruno@clisp.org>
6000
6001         setlocale: Enable replacement on Cygwin 1.5.
6002         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Set REPLACE_SETLOCALE also on
6003         Cygwin 1.5.x.
6004         * doc/posix-functions/setlocale.texi: Mention that the problem with the
6005         LC_CTYPE category also exists on Cygwin 1.5.x.
6006
6007 2011-06-04  Bruno Haible  <bruno@clisp.org>
6008
6009         strerror-override: Don't disable symbol renamings.
6010         * lib/strerror-override.h: Include errno.h and stddef.h, not string.h.
6011         * lib/strerror-override.c: Include config.h.
6012         (strerror_override): Don't undefine.
6013
6014 2011-06-03  Bruno Haible  <bruno@clisp.org>
6015
6016         Copyright: Use LGPL 2.1 instead of LGPL 2.0.
6017         * lib/localename.h: Update copyright header.
6018         * lib/localename.c: Likewise.
6019         * lib/relocatable.h: Likewise.
6020         * lib/relocatable.c: Likewise.
6021
6022 2011-06-02  Bruno Haible  <bruno@clisp.org>
6023
6024         doc: Fix a module name.
6025         * doc/posix-functions/open.texi: Fix module name 'nonblocking'.
6026
6027 2011-06-02  Bruno Haible  <bruno@clisp.org>
6028
6029         pipe2: Remove dependency on 'nonblocking' module.
6030         * lib/pipe2.c: Include verify.h. Include nonblocking.h only if
6031         O_NONBLOCK is defined by gnulib.
6032         (pipe2) [WIN32]: If O_NONBLOCK is not defined by gnulib, verify that it
6033         is zero.
6034         * modules/pipe2 (Depends-on): Add verify. Remove nonblocking.
6035         * tests/test-pipe2.c: Include nonblocking.h only if O_NONBLOCK is
6036         defined by gnulib.
6037         (get_nonblocking_flag): New function.
6038         (main): Test O_NONBLOCK flag only if it is nonzero.
6039         * doc/glibc-functions/pipe2.texi: Mention the 'nonblocking' module.
6040
6041 2011-06-03  Jim Meyering  <meyering@redhat.com>
6042
6043         maint: three new prohibit-header-without-use rules
6044         Prohibit use of cloexec.h, posixver.h, same.h without use.
6045         * top/maint.mk (sc_prohibit_cloexec_without_use): New rule.
6046         (sc_prohibit_posixver_without_use): Likewise.
6047         (sc_prohibit_same_without_use): Likewise.
6048
6049 2011-06-02  Paul Eggert  <eggert@cs.ucla.edu>
6050
6051         allocator: 'die' routine is now given requested size
6052         * lib/allocator.h (struct allocator.die): New size arg.
6053         * lib/careadlinkat.c (careadlinkat): Pass size to 'die' function.
6054         If the actual problem is an ssize_t limitation, not a size_t or
6055         malloc failure, fail with errno==ENAMETOOLONG instead of calling 'die'.
6056
6057 2011-06-01  Eric Blake  <eblake@redhat.com>
6058
6059         strerror: drop strerror_r dependency
6060         * lib/strerror_r.c (strerror_r): Move gnulib replacement strings...
6061         * lib/strerror-override.c (strerror_override): ...to new file.
6062         * lib/strerror-override.h: Add prototype.
6063         * lib/strerror-impl.h: Delete.
6064         * lib/strerror.c (strerror): New implementation.
6065         * modules/errno (Files): Add new files.
6066         (configure.ac): Compile new file as appropriate.
6067         * modules/strerror (Files): Drop unused file.
6068         (Depends-on): Drop strerror_r-posix.
6069         * MODULES.html.sh: Document strerror_r-posix.
6070         Requested by Sam Steingold.
6071
6072         perror: call strerror_r directly
6073         * modules/perror (Files): Drop strerror-impl.h.
6074         * lib/perror.c (perror): Use our own stack buffer, rather than
6075         calling a wrapper that uses static storage.
6076         * doc/posix-functions/perror.texi (perror): Document a limitation
6077         of our replacement.
6078
6079         strerror_r: fix includes for FreeBSD
6080         * lib/strerror_r.c (includes): Use <stdlib.h> unconditionally,
6081         since we use abort on some platforms.
6082         Reported by Matthias Bolte.
6083
6084 2011-05-31  Bruno Haible  <bruno@clisp.org>
6085
6086         Fix link errors in tests: openat-die uses gettext-h.
6087         * modules/areadlinkat-tests (Makefile.am): Link test-areadlinkat
6088         against $(LIBINTL).
6089         * modules/dirent-safer-tests (Makefile.am): Link test-dirent-safer
6090         against $(LIBINTL).
6091         * modules/fdopendir-tests (Makefile.am): Link test-fdopendir against
6092         $(LIBINTL).
6093         * modules/fdutimensat-tests (Makefile.am): Link test-fdutimensat
6094         against $(LIBINTL).
6095         * modules/linkat-tests (Makefile.am): Link test-linkat against
6096         $(LIBINTL).
6097         * modules/mkfifoat-tests (Makefile.am): Link test-mkfifoat against
6098         $(LIBINTL).
6099         * modules/openat-safer-tests (Makefile.am): Link test-openat-safer
6100         against $(LIBINTL).
6101         * modules/openat-tests (Makefile.am): Link test-fchownat, test-fstatat,
6102         test-mkdirat, test-openat, test-unlinkat against $(LIBINTL).
6103         * modules/readlinkat-tests (Makefile.am): Link test-readlinkat against
6104         $(LIBINTL).
6105         * modules/symlinkat-tests (Makefile.am): Link test-symlinkat against
6106         $(LIBINTL).
6107         * modules/utimensat-tests (Makefile.am): Link test-utimensat against
6108         $(LIBINTL).
6109         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
6110
6111 2011-05-31  Bruno Haible  <bruno@clisp.org>
6112
6113         Fix link errors in tests: wait-process uses gettext-h.
6114         * modules/nonblocking-pipe-tests (Makefile.am): Set
6115         test_nonblocking_pipe_main_LDADD.
6116         * modules/nonblocking-socket-tests (Makefile.am): Link
6117         test-nonblocking-socket-main against $(LIBINTL).
6118         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
6119
6120 2011-05-29  Paul Eggert  <eggert@cs.ucla.edu>
6121
6122         assert-h: work around 'verify' incompatibility
6123         * lib/verify.h: Use @...@ directives, not ifdef.
6124         * modules/assert-h (assert.h): Implement the directives.
6125         (assert.h): Substitute the symbol-prefix more consistently.
6126
6127 2011-05-29  Jim Meyering  <meyering@redhat.com>
6128
6129         trim: remove three superfluous assignments
6130         * lib/trim.c (trim2): Remove three superfluous assignments
6131         and correct brace positioning.
6132
6133 2011-05-29  Bruno Haible  <bruno@clisp.org>
6134
6135         wctype-h: Avoid namespace pollution on Solaris 2.6.
6136         * lib/wctype.in.h: On Solaris, undefine 'multibyte' and a few other
6137         identifiers.
6138         * doc/posix-headers/wctype.texi: Mention the problem.
6139         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
6140
6141 2011-05-28  Jim Meyering  <meyering@redhat.com>
6142
6143         parse-datetime.y: accommodate -Wstrict-overflow
6144         * lib/parse-datetime.y (yylex): Rearrange pointer arithmetic to
6145         placate -Wstrict-overflow.
6146
6147         trim: avoid a warning from -O2 -Wstrict-overflow
6148         * lib/trim.c (trim2): Declare local to be "unsigned int", not "int".
6149
6150 2011-05-29  Bruno Haible  <bruno@clisp.org>
6151
6152         gnulib-tool: Fix bug in yesterday's commit.
6153         * gnulib-tool (func_create_testdir): Don't add gltests to $subdirs
6154         twice.
6155
6156 2011-05-29  Bruno Haible  <bruno@clisp.org>
6157
6158         Allow multiple gnulib generated include files to be combined.
6159         * gnulib-tool (func_compute_include_guard_prefix): New function.
6160         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Resolve also
6161         ${gl_include_guard_prefix} references.
6162         (func_import, func_create_testdir): Invoke
6163         func_compute_include_guard_prefix.
6164         * lib/arpa_inet.in.h: Use the @GUARD_PREFIX@ placeholder.
6165         * lib/ctype.in.h: Likewise.
6166         * lib/dirent.in.h: Likewise.
6167         * lib/errno.in.h: Likewise.
6168         * lib/fcntl.in.h: Likewise.
6169         * lib/float.in.h: Likewise.
6170         * lib/getopt.in.h: Likewise.
6171         * lib/iconv.in.h: Likewise.
6172         * lib/langinfo.in.h: Likewise.
6173         * lib/locale.in.h: Likewise.
6174         * lib/math.in.h: Likewise.
6175         * lib/netdb.in.h: Likewise.
6176         * lib/netinet_in.in.h: Likewise.
6177         * lib/poll.in.h: Likewise.
6178         * lib/pthread.in.h: Likewise.
6179         * lib/pty.in.h: Likewise.
6180         * lib/sched.in.h: Likewise.
6181         * lib/se-selinux.in.h: Likewise.
6182         * lib/search.in.h: Likewise.
6183         * lib/signal.in.h: Likewise.
6184         * lib/spawn.in.h: Likewise.
6185         * lib/stdarg.in.h: Likewise.
6186         * lib/stddef.in.h: Likewise.
6187         * lib/stdint.in.h: Likewise.
6188         * lib/stdio.in.h: Likewise.
6189         * lib/stdlib.in.h: Likewise.
6190         * lib/string.in.h: Likewise.
6191         * lib/strings.in.h: Likewise.
6192         * lib/sys_file.in.h: Likewise.
6193         * lib/sys_ioctl.in.h: Likewise.
6194         * lib/sys_select.in.h: Likewise.
6195         * lib/sys_socket.in.h: Likewise.
6196         * lib/sys_stat.in.h: Likewise.
6197         * lib/sys_time.in.h: Likewise.
6198         * lib/sys_times.in.h: Likewise.
6199         * lib/sys_uio.in.h: Likewise.
6200         * lib/sys_utsname.in.h: Likewise.
6201         * lib/sys_wait.in.h: Likewise.
6202         * lib/sysexits.in.h: Likewise.
6203         * lib/termios.in.h: Likewise.
6204         * lib/time.in.h: Likewise.
6205         * lib/unistd.in.h: Likewise.
6206         * lib/wchar.in.h: Likewise.
6207         * lib/wctype.in.h: Likewise.
6208         * modules/arpa_inet (Makefile.am): Substitute @GUARD_PREFIX@.
6209         * modules/ctype (Makefile.am): Likewise.
6210         * modules/dirent (Makefile.am): Likewise.
6211         * modules/errno (Makefile.am): Likewise.
6212         * modules/fcntl-h (Makefile.am): Likewise.
6213         * modules/float (Makefile.am): Likewise.
6214         * modules/getopt-posix (Makefile.am): Likewise.
6215         * modules/iconv-h (Makefile.am): Likewise.
6216         * modules/langinfo (Makefile.am): Likewise.
6217         * modules/locale (Makefile.am): Likewise.
6218         * modules/math (Makefile.am): Likewise.
6219         * modules/netdb (Makefile.am): Likewise.
6220         * modules/netinet_in (Makefile.am): Likewise.
6221         * modules/poll-h (Makefile.am): Likewise.
6222         * modules/pthread (Makefile.am): Likewise.
6223         * modules/pty (Makefile.am): Likewise.
6224         * modules/sched (Makefile.am): Likewise.
6225         * modules/search (Makefile.am): Likewise.
6226         * modules/selinux-h (Makefile.am): Likewise.
6227         * modules/signal (Makefile.am): Likewise.
6228         * modules/spawn (Makefile.am): Likewise.
6229         * modules/stdarg (Makefile.am): Likewise.
6230         * modules/stddef (Makefile.am): Likewise.
6231         * modules/stdint (Makefile.am): Likewise.
6232         * modules/stdio (Makefile.am): Likewise.
6233         * modules/stdlib (Makefile.am): Likewise.
6234         * modules/string (Makefile.am): Likewise.
6235         * modules/strings (Makefile.am): Likewise.
6236         * modules/sys_file (Makefile.am): Likewise.
6237         * modules/sys_ioctl (Makefile.am): Likewise.
6238         * modules/sys_select (Makefile.am): Likewise.
6239         * modules/sys_socket (Makefile.am): Likewise.
6240         * modules/sys_stat (Makefile.am): Likewise.
6241         * modules/sys_time (Makefile.am): Likewise.
6242         * modules/sys_times (Makefile.am): Likewise.
6243         * modules/sys_uio (Makefile.am): Likewise.
6244         * modules/sys_utsname (Makefile.am): Likewise.
6245         * modules/sys_wait (Makefile.am): Likewise.
6246         * modules/sysexits (Makefile.am): Likewise.
6247         * modules/termios (Makefile.am): Likewise.
6248         * modules/time (Makefile.am): Likewise.
6249         * modules/unistd (Makefile.am): Likewise.
6250         * modules/wchar (Makefile.am): Likewise.
6251         * modules/wctype-h (Makefile.am): Likewise.
6252         * modules/assert-h (Makefile.am): Replace _GL_VERIFY_H specially.
6253
6254 2011-05-29  Bruno Haible  <bruno@clisp.org>
6255
6256         assert-h: Allow multiple gnulib generated replacements to coexist.
6257         * lib/verify.h (struct _gl_verify_type): Avoid identical redefinition.
6258
6259 2011-05-29  Bruno Haible  <bruno@clisp.org>
6260
6261         argp: Allow coexistence with strerror_r-posix module.
6262         * lib/argp-help.c (__argp_failure): If strerror_r is defined as a macro
6263         (either to __xpg_strerror_r by glibc's <string.h> or to rpl_strerror_r
6264         by gnulib's <string.h> replacement), assume it has the POSIX signature,
6265         not the glibc signature.
6266
6267 2011-05-28  Bruno Haible  <bruno@clisp.org>
6268
6269         gnulib-tool: Alternative structure of testdirs, similar to --import.
6270         * gnulib-tool: New option --single-configure.
6271         (func_usage): Document it.
6272         (single_configure): New variable.
6273         (func_modules_transitive_closure_separately,
6274         func_modules_transitive_closure_separately,
6275         func_determine_use_libtests, func_modules_add_dummy_separately,
6276         func_modules_to_filelist_separately): New functions, extracted from
6277         func_import.
6278         (func_emit_tests_Makefile_am): Handle $single_configure = true case.
6279         (func_import): Use the new functions.
6280         (func_create_testdir): Set final_modules. Handle $single_configure =
6281         true case.
6282
6283 2011-05-28  Bruno Haible  <bruno@clisp.org>
6284
6285         getloadavg: Remove an unreliable safety check.
6286         * m4/getloadavg.m4 (gl_GETLOADAVG): Drop argument. Remove test whether
6287         getloadavg.c is in place.
6288         * modules/getloadavg (configure.ac): Drop argument of gl_GETLOADAVG.
6289         Reported by Sam Steingold <sds@gnu.org>.
6290
6291 2011-05-28  Bruno Haible  <bruno@clisp.org>
6292
6293         doc: Cleanup yet another file produced by texinfo.tex.
6294         * doc/Makefile (mostlyclean): Remove also gnulib.cn.
6295
6296 2011-05-28  Bruno Haible  <bruno@clisp.org>
6297
6298         Finish the conditional dependencies mechanism.
6299         * gnulib-tool: New option --no-conditional-dependencies.
6300         (func_usage): Document it. Don't mark --conditional-dependencies as
6301         experimental.
6302         (cond_dependencies): The possible values can now be true, false, empty.
6303         (func_modules_transitive_closure, func_emit_autoconf_snippets): Update.
6304         (func_import): Store setting in gnulib-cache.m4 and read it from there.
6305         * doc/gnulib-tool.texi (Conditional dependencies): New section.
6306
6307 2011-05-28  Bruno Haible  <bruno@clisp.org>
6308
6309         doc: Use a recent texinfo.tex.
6310         * doc/Makefile (tex_opts): New variable.
6311         (%.dvi, %.pdf): Pass it to texi2dvi and texi2pdf.
6312
6313 2011-05-28  Jim Meyering  <meyering@redhat.com>
6314
6315         intprops.h: adjust comment to match code change
6316         * lib/intprops.h (_GL_INT_CONVERT): Adjust comment: now that E is used
6317         only once, it *may* have side effects.  Also fix an unrelated typo.
6318         (_GL_INT_SIGNED): Likewise.
6319
6320 2011-05-26  Simon Josefsson  <simon@josefsson.org>
6321
6322         * lib/gen-uni-tables.c: Say "gen-uni-tables.c" consistently.
6323
6324 2011-05-26  Bruno Haible  <bruno@clisp.org>
6325
6326         mbsrchr: Avoid collision with system function on Interix.
6327         * lib/string.in.h (mbsrchr): Define as rpl_mbsrchr also on Interix.
6328         Reported by Markus Duft <mduft@gentoo.org>.
6329
6330 2011-05-15  James Youngman  <jay@gnu.org>
6331
6332         getopt: for ambiguous options, enumerate the possibilities.
6333         * lib/getopt.c (_getopt_internal_r): Merge glibc change printing
6334         the ambiguous options when an ambiguous prefix is given. This was
6335         http://sourceware.org/bugzilla/show_bug.cgi?id=7101.  The merged
6336         glibc change was
6337         http://sourceware.org/git/?p=glibc.git;a=commit;h=bd25564e1e98910ed69043ed6a6f884ce60e5780.
6338
6339 2011-05-25  Eric Blake  <eblake@redhat.com>
6340
6341         getcwd: work around mingw bug
6342         * lib/getcwd-lgpl.c (rpl_getcwd): Guarantee correct error.
6343         * doc/posix-functions/getcwd.texi (getcwd): Document it.
6344         Reported by Matthias Bolte.
6345
6346 2011-05-24  Paul Eggert  <eggert@cs.ucla.edu>
6347
6348         test-intprops: disable -Wtype-limits diagnostics
6349         * tests/test-intprops.c: Use a pragma to ignore -Wtype-limits
6350         diagnostics.  Otherwise, the integer overflow macros generate many
6351         diagnostics.  Reported by Jim Meyering in
6352         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00528.html>.
6353
6354         intprops: shorten, to pacify gcc -Woverlength-strings
6355         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_NEGATE_CONVERT):
6356         (_GL_BINARY_OP_OVERFLOW): Say "0 * (x)" rather than "(x) - (x)",
6357         so that, for example, verify (INT_MULTIPLY_OVERFLOW (...)) is less
6358         likely to run afoul of C compiler limits for string constant lengths.
6359         See <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00528.html>.
6360
6361 2011-05-24  Eric Blake  <eblake@redhat.com>
6362
6363         docs: document recently fixed glibc printf bug
6364         * doc/posix-functions/fprintf.texi (fprintf): Document it.
6365         * doc/posix-functions/printf.texi (printf): Likewise.
6366         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
6367         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
6368
6369         closein-tests: convert to init.sh
6370         * modules/closein-tests (Files): Add init.sh
6371         * tests/test-closein.sh Use it.
6372
6373         yesno-tests: convert to init.sh
6374         * modules/yesno-tests (Files): Add init.sh.
6375         * tests/test-yesno.sh: Use it.
6376
6377         atexit-tests: ensure reliable exit status
6378         * tests/test-atexit.sh: Prefer 'Exit' over 'exit'.
6379         Reported by Bruno Haible.
6380
6381 2011-05-24  Bruno Haible  <bruno@clisp.org>
6382
6383         strerror_r-posix: Respect rules for use of AC_LIBOBJ.
6384         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Move AC_LIBOBJ and
6385         gl_PREREQ_STRERROR_R invocations from here...
6386         * modules/strerror_r-posix (configure.ac): ... to here.
6387
6388 2011-05-24  Eric Blake  <eblake@redhat.com>
6389
6390         strerror_r: fix missing header
6391         * lib/strerror_r.c: Avoid compiler warning about snprintf.
6392
6393         strerror_r: fix AIX test failures
6394         * lib/strerror_r.c (strerror_r): Convert silent truncation to
6395         ERANGE failure.
6396
6397         strerror_r: fix Solaris test failures
6398         * lib/strerror_r.c (strerror_r): Partially populate buf on ERANGE
6399         failures.
6400         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
6401
6402         strerror_r: enforce POSIX recommendations
6403         * lib/strerror_r.c (safe_copy): New helper method.
6404         (strerror_r): Guarantee a non-empty string.
6405         * tests/test-strerror_r.c (main): Enhance tests to incorporate
6406         recent POSIX rulings and to match our strerror guarantees.
6407         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
6408
6409 2011-05-24  Jim Meyering  <meyering@redhat.com>
6410
6411         test-perror2.c: avoid warning about unused variable
6412         * tests/test-perror2.c (main): Remove declaration of unused "fp".
6413
6414 2011-05-24  Eric Blake  <eblake@redhat.com>
6415
6416         perror: avoid spurious test failure on HP-UX
6417         * tests/test-perror.sh: Use Exit to avoid wrong exit status.
6418
6419         tests: fix logic bug in init.sh
6420         * tests/init.sh: (gl_set_x_corrupts_stderr_): Clear for successful
6421         shell.
6422
6423 2011-05-24  Jim Meyering  <meyering@redhat.com>
6424
6425         utimensat: do not reference an out-of-scope buffer
6426         Otherwise, with __linux__ defined, "times" would point to a buffer, "ts"
6427         declared in an inner scope, yet "times" would be dereferenced outside
6428         the scope in which "ts" was valid.
6429         * lib/utimensat.c (rpl_utimensat) [__linux__]: Move the declaration
6430         of ts[2] "out/up", so that the use of aliased "times" (via
6431         "times = ts;") does not end up referencing an out-of-scope "ts"
6432
6433         opendir-safer.c: don't clobber errno; don't close negative FD
6434         * lib/opendir-safer.c (opendir_safer):
6435         [HAVE_FDOPENDIR || GNULIB_FDOPENDIR]: Don't close a negative
6436         file descriptor, and more importantly, don't clobber the
6437         offending errno value with EINVAL.  Before, upon failure
6438         of dup_safer, we would pass the negative file descriptor to
6439         fdopendir, which would clobber errno.
6440
6441 2011-05-23  Bruno Haible  <bruno@clisp.org>
6442
6443         idcache: Fix module description.
6444         * modules/idcache (Include): Set to "idcache.h".
6445
6446 2011-05-23  Paul Eggert  <eggert@cs.ucla.edu>
6447
6448         gnulib-tool: fix portability problem with MacOS sed
6449         A sed command like "/x/{s/a/b/}" is not portable; a newline is needed
6450         before the "}".  Problem reported by Leo in
6451         <http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00717.html>.
6452         * gnulib-tool (func_modules_transitive_closure): Insert newlines in
6453         sed_extract_condition1, sed_extract_condition2.
6454
6455 2011-05-23  Bruno Haible  <bruno@clisp.org>
6456
6457         hash: Simplify autoconf macro.
6458         * m4/hash.m4 (gl_HASH): Don't require AM_STDBOOL_H.
6459
6460 2011-05-23  Bruno Haible  <bruno@clisp.org>
6461
6462         getugroups: Fix module description.
6463         * modules/getugroups (Include): Set to "getugroups.h".
6464
6465 2011-05-23  Bruno Haible  <bruno@clisp.org>
6466
6467         linkat: Simplify autoconf macro.
6468         * m4/linkat.m4 (gl_FUNC_LINKAT): Don't require gl_FUNC_LINK.
6469
6470 2011-05-23  Bruno Haible  <bruno@clisp.org>
6471             Eric Blake  <eblake@redhat.com>
6472
6473         linkat, renameat: Update dependencies.
6474         * modules/renameat (Depends-on): Add dosname, save-cwd. Remove stpcpy.
6475         * modules/linkat (Depends-on): Likewise. Remove also readlink,
6476         symlinkat.
6477
6478 2011-05-23  Jim Meyering  <meyering@redhat.com>
6479
6480         maint.mk: more tight_scope improvements
6481         * top/maint.mk: (_gl_TS_var_match): Use $(_gl_TS_extern) here, too.
6482         (_gl_TS_headers): Define only in if-0'd block.
6483         (_gl_TS_dir): Omit the $(srcdir)/ prefix.  Sometimes we need it,
6484         sometimes we must *not* use it.  Adjust uses accordingly.
6485         (sc_tight_scope): Use much simpler grep-based test to determine
6486         whether we skip this rule.
6487
6488         maint.mk: generalize/improve the tight-scope rule
6489         * top/maint.mk: Emit a warning when the test is skipped.
6490         (_gl_TS_dir): Add $(srcdir)/ prefix.
6491         (_gl_TS_function_match): Simplify, rather than trying
6492         to enumerate common types.  Otherwise, it would fail to match an
6493         "extern unsigned char const *" declaration in idutils.
6494         (_gl_TS_extern): Do not endorse use of "XTERN", but do provide
6495         a way to support use of that type of macro.
6496         (_gl_TS_var_match): Simplify regexp.
6497         (_gl_TS_obj_files): New configurable variable.
6498         (_gl_TS_headers): Likewise.
6499
6500 2011-05-22  Paul Eggert  <eggert@cs.ucla.edu>
6501
6502         verify: fix bug when gnulib <assert.h> is also included
6503         * lib/verify.h (verify, verify_true): Define if _GL_VERIFY_H
6504         is defined, not if _GL_STATIC_ASSERT_H is not defined.
6505         Perhaps there's a better way, but this fixes the immediate problem.
6506         Problem reported by Bruno Haible in
6507         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00478.html>.
6508
6509 2011-05-22  Bruno Haible  <bruno@clisp.org>
6510
6511         xgetcwd: Simplify autoconf macro.
6512         * m4/xgetcwd.m4 (gl_XGETCWD): Don't require gl_FUNC_GETCWD.
6513
6514 2011-05-22  Bruno Haible  <bruno@clisp.org>
6515
6516         New module 'mktime-internal'.
6517         * modules/mktime-internal: New file.
6518         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Move contents to ...
6519         * m4/mktime.m4 (gl_FUNC_MKTIME_INTERNAL): New macro. Define
6520         mktime_internal as a C macro if libc has __mktime_internal.
6521         * modules/timegm (Depends-on): Add mktime-internal. Remove mktime. Add
6522         conditions.
6523         * MODULES.html.sh (Date and time <time.h>): Add mktime-internal.
6524
6525 2011-05-22  Bruno Haible  <bruno@clisp.org>
6526
6527         timegm: Correct mktime replacement statements.
6528         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Set REPLACE_MKTIME, instead of
6529         defining mktime as a C macro. This completes a 2009-07-28 commit.
6530
6531 2011-05-22  Bruno Haible  <bruno@clisp.org>
6532
6533         timegm: Simplify autoconf macro.
6534         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Don't require gl_TIME_R.
6535
6536 2011-05-21  Paul Eggert  <eggert@cs.ucla.edu>
6537
6538         clock-time: change to LGPLv2+.
6539         * modules/clock-time: Change from GPL to LGPLv2+.  Actually, it's
6540         BSD-like but we have no mark for that; this is good enough for now.
6541
6542 2011-05-21  Bruno Haible  <bruno@clisp.org>
6543
6544         strerror_r: Fix comments.
6545         * lib/strerror_r.c (strerror_r): Fix comment about Cygwin and sys_nerr.
6546
6547 2011-05-21  Bruno Haible  <bruno@clisp.org>
6548
6549         relocatable-prog-wrapper: Fix possible link error.
6550         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Move determination of
6551         HAVE_SETENV and REPLACE_SETENV and AC_LIBOBJ invocation from here...
6552         (gl_FUNC_SETENV): ... to here.
6553         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL_SEPARATE): Update comment.
6554         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): Likewise.
6555
6556 2011-05-21  Bruno Haible  <bruno@clisp.org>
6557
6558         relocatable-prog-wrapper: Assume strerror() exists.
6559         * modules/relocatable-prog-wrapper (Files): Remove lib/strerror.c,
6560         m4/strerror.m4.
6561         (configure.ac): Don't invoke gl_FUNC_STRERROR_SEPARATE.
6562         * lib/relocwrapper.c: Remove mention of strerror module.
6563         * lib/strerror.c: Assume REPLACE_STRERROR is 1.
6564         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Remove macro.
6565         (gl_FUNC_STRERROR): Inline it here. Don't define REPLACE_STRERROR as a
6566         C macro.
6567
6568 2011-05-21  Bruno Haible  <bruno@clisp.org>
6569
6570         select: Simplify replacement idiom.
6571         * m4/select.m4 (gl_FUNC_SELECT): Set REPLACE_SELECT also on native
6572         Win32 platforms.
6573         * lib/sys_select.in.h (select): Simplify accordingly.
6574         * modules/select (Depends-on): Likewise.
6575
6576 2011-05-21  Bruno Haible  <bruno@clisp.org>
6577
6578         mkdir-p: Simplify autoconf macro.
6579         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't require gl_FUNC_LCHMOD,
6580         gl_FUNC_LCHOWN.
6581
6582 2011-05-21  Eric Blake  <eblake@redhat.com>
6583
6584         strerror_r: avoid clobbering strerror on cygwin
6585         * lib/strerror_r.c (strerror_r): Don't use cygwin's strerror_r;
6586         fall back instead to sys_errlist.
6587         * modules/strerror (configure.ac): Add witness.
6588         * tests/test-strerror_r.c (main): Enhance test.
6589         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
6590         * tests/test-perror2.c (main): Free memory before exit.
6591
6592 2011-05-21  Bruno Haible  <bruno@clisp.org>
6593
6594         mkdtemp: Use gnulib naming conventions.
6595         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Renamed from gt_FUNC_MKDTEMP.
6596         * modules/mkdtemp (configure.ac): Update.
6597
6598 2011-05-20  Eric Blake  <eblake@redhat.com>
6599
6600         strerror_r: avoid corrupting errno on Solaris
6601         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Check for Solaris behavior.
6602         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
6603
6604         strerror_r: avoid compiler warning
6605         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't return a char*.
6606
6607         strerror_r: simplify AIX code
6608         * lib/strerror_r.c (strerror_r): Filter out buflen of 1 up front.
6609
6610         test-perror: avoid spurious failure on FreeBSD
6611         * modules/perror-tests (Depends-on): Add strerror, now that
6612         strerror_r no longer pulls it in.
6613
6614 2011-05-20  Bruno Haible  <bruno@clisp.org>
6615
6616         strerror_r-posix: Remove unused dependencies.
6617         * modules/strerror_r-posix (Depends-on): Remove strerror.
6618         Reported by Eric Blake.
6619
6620 2011-05-20  Paul Eggert  <eggert@cs.ucla.edu>
6621
6622         intprops: remove assumption about A|B representation
6623         * lib/intprops.h (_GL_BINARY_OP_OVERFLOW): Do not assume that A|B
6624         is a valid integer if both A and B are.  Although this is true for
6625         all known practical hosts, the C standard doesn't guarantee it,
6626         and the code need not assume it.  Also, this change may work around
6627         HP-UX 11.23 and IRIX 6.5 cc bugs reported by Bruno Haible in
6628         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00426.html>.
6629
6630 2011-05-20  Eric Blake  <eblake@redhat.com>
6631
6632         perror: work around FreeBSD bug
6633         * m4/perror.m4 (gl_FUNC_PERROR): Also replace perror if strerror_r
6634         is broken.  Move AC_LIBOBJ...
6635         * modules/perror (configure.ac): Here.
6636         * doc/posix-functions/perror.texi (perror): Document this.
6637         * tests/test-perror2.c (main): Enhance test.
6638
6639         test-perror: check for strerror interactions
6640         * tests/macros.h (STREQ): Add macro.
6641         * modules/perror-tests (Files): Add second test.
6642         * tests/test-perror2.c (main): New file.
6643         * doc/posix-functions/perror.texi (perror): Document glibc bug.
6644
6645         test-perror: rewrite to use init script
6646         * modules/perror-tests (Files): Add init.sh.
6647         * tests/test-perror.sh: Use temporary directory.
6648
6649 2011-05-20  Jim Meyering  <meyering@redhat.com>
6650
6651         maint: replace misused "a" with "an"
6652         * doc/intprops.texi: "a integer"
6653         * doc/regex.texi: "a explanation"
6654         * lib/alignof.h: "a object"
6655         * lib/argmatch.h: "a explanation"
6656         * lib/argp-help.c: "a option" and "a OPTION_DOC"
6657         * lib/stdint.in.h: "a integer"
6658         * lib/userspec.c: "a owner"
6659         * doc/gnulib.texi: Fix "a idea", and reword.
6660
6661 2011-05-19  Jim Meyering  <meyering@redhat.com>
6662
6663         maint: correct misuse of "a" and "an"
6664         * doc/regex.texi (Collating Symbol Operators): s/an close.../a close/
6665         * lib/argp-help.c: "an docum...": s/an/a/
6666         * lib/argp-parse.c: "An vector": s/An/A/
6667         * lib/execute.c: "an native": s/an/a/
6668         * lib/spawn-pipe.c: Likewise.
6669         * lib/gc.h: "an Gc_rc": s/an/a/
6670         * lib/unigbrk.in.h: "an grapheme": s/an/a/
6671         * lib/fts.c: "an stat.st_dev": s/an/a/
6672
6673 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
6674
6675         intprops-tests: work around HP-UX 11.23 cc bug with constants
6676         * tests/test-intprops.c (VERIFY): New macro.
6677         (main): Use it, instead of verify, to work around the compiler bug; see
6678         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
6679
6680         intprops: work around IRIX 6.5 cc bug with 0u - 0u + -1
6681         See http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00406.html
6682         * lib/intprops.h (_GL_INT_NEGATE_CONVERT): New macro.
6683         (_GL_INT_SIGNED, _GL_INT_MAXIMUM, _GL_DIVIDE_OVERFLOW):
6684         (_GL_REMAINDER_OVERFLOW): Use it.
6685
6686         intprops-tests: revert unsigned part of previous change
6687         * tests/test-intprops.c (UINT_MAX, ULONG_MAX, UINTMAX_MAX, U0, U1):
6688         Remove; they weren't actually needed.  All uses of U0 and U1 removed,
6689         and other casts to 'unsigned int' reverted to 'u' suffixes.  See
6690         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00406.html>.
6691
6692 2011-05-19  Bruno Haible  <bruno@clisp.org>
6693
6694         strerror_r: Work around strerror_r() change in Cygwin 1.7.8.
6695         * lib/strerror_r.c (strerror_r) [CYGWIN]: Recognize when the system's
6696         strerror_r() returned without filling the buffer.
6697         Reported by Eric Blake.
6698
6699 2011-05-19  Eric Blake  <eblake@redhat.com>
6700
6701         strerror_r: guarantee unchanged errno
6702         * lib/strerror_r.c (strerror_r): Guarantee unchanged errno.
6703         * lib/strerror-impl.h (strerror): Set errno to match strerror_r
6704         failure.
6705         * tests/test-strerror_r.c (main): Enhance test.
6706
6707 2011-05-19  Bruno Haible  <bruno@clisp.org>
6708
6709         strerror_r: Reorder #if blocks.
6710         * lib/strerror_r.c (strerror_r): Reorder conditionals in the function
6711         for consistency with the previous commit.
6712
6713 2011-05-19  Bruno Haible  <bruno@clisp.org>
6714
6715         perror: Avoid clobbering the strerror buffer when possible.
6716         * lib/strerror-impl.h: New file, extracted from lib/strerror.c.
6717         * lib/strerror.c: Include it.
6718         * modules/strerror (Files): Add lib/strerror-impl.h.
6719         * lib/perror.c: Include <stdlib.h>, intprops.h, verify.h.
6720         (my_strerror): New function, defined through lib/strerror-impl.h.
6721         (perror): Use it instead of strerror.
6722         * modules/perror (Files): Add lib/strerror-impl.h.
6723         (Depends-on): Remove strerror. Add intprops, verify, strerror_r-posix.
6724
6725 2011-05-19  Eric Blake  <eblake@redhat.com>
6726
6727         strerror_r: fix on newer cygwin
6728         * lib/strerror_r.c (strerror_r): Cygwin now has
6729         __xpg_strerror_r, use it.
6730
6731 2011-05-19  Bruno Haible  <bruno@clisp.org>
6732
6733         strerror_r: Avoid clobbering the strerror buffer when possible.
6734         * lib/strerror.c: Define _NETBSD_SOURCE. Include <nl_types.h>.
6735         (sys_nerr, sys_errlist): New declarations.
6736         (strerror_r): Be careful not to clobber the strerror buffer on NetBSD,
6737         HP-UX, native Win32, IRIX, and 32-bit Solaris.
6738         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Test whether catgets exists.
6739
6740 2011-05-19  Bruno Haible  <bruno@clisp.org>
6741
6742         strerror_r: Fix test failure on mingw.
6743         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't define
6744         EXTEND_STRERROR_R.
6745         * lib/strerror_r.c (strerror_r): Test the various GNULIB_defined_*
6746         macros from errno.in.h instead.
6747
6748 2011-05-19  Eric Blake  <eblake@redhat.com>
6749
6750         strerror: relax test for Solaris
6751         * tests/test-strerror.c (main): Permit Solaris behavior.
6752         * tests/test-strerror_r.c (main): Likewise.
6753
6754         strerror: enforce POSIX ruling on strerror(0)
6755         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Expose BSD bug.
6756         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
6757         * lib/strerror_r.c (rpl_strerror_r): Work around it.
6758         * doc/posix-functions/strerror.texi (strerror): Document it.
6759         * doc/posix-functions/strerror_r.texi (strerror_r): Likewise.
6760         * tests/test-strerror.c (main): Strengthen test.
6761         * tests/test-strerror_r.c (main): Likewise.
6762
6763 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
6764
6765         intprop-tests: port to older and more-pedantic compilers
6766         * modules/intprops-tests (Files): Add tests/macros.h.
6767         * tests/test-intprops.c: Include macros.h.
6768         (TYPE_IS_INTEGER): Use ASSERT, not verify, to test this macro, as
6769         it's no longer documented to expand to an integer constant expression.
6770         (TYPE_SIGNED): Use ASSERT, not verify, to test this macro when the
6771         argument is floating point, as it's no longer documented to expand
6772         to an integer constant expression in that case.
6773         (UINT_MAX, ULONG_MAX, UINTMAX_MAX): Redefine to work around
6774         compiler bugs reported by Bruno Haible.  See
6775         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
6776         (U0, U1): New constants, to work around the same bugs.  Also,
6777         in tests, use e.g., "(unsigned int) 39" rather than "39u".
6778
6779         intprops: work around C compiler bugs
6780         * lib/intprops.h (INT_MULTIPLY_RANGE_OVERFLOW): Work around compiler
6781         bug in Sun C 5.11 2010/08/13 and other compilers; see
6782         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
6783
6784         intprops: TYPE_IS_INTEGER, TYPE_SIGNED not integer constant exprs
6785         * doc/intprops.texi (Integer Type Determination): Fix
6786         documentation for TYPE_IS_INTEGER: it returns an constant
6787         expression, not an integer constant expression.  Fix doc for
6788         TYPE_SIGNED: it returns an integer constant expression only if its
6789         argument is an integer type.  (TYPE_IS_INTEGER is the same, but is
6790         hardly worth documented that way....)
6791
6792 2011-05-18  Bruno Haible  <bruno@clisp.org>
6793
6794         strerror_r: Avoid clobbering the strerror buffer when possible.
6795         * lib/strerror_r.c (strerror_r): Merge the three implementations.
6796         Handle gnulib defined errno values here. When strerror() returns NULL
6797         or an empty string, return EINVAL.
6798         * lib/strerror.c (strerror): Always call strerror_r. Don't handle
6799         gnulib defined errno values here.
6800         * modules/strerror (Depends-on): Add verify, strerror_r-posix.
6801
6802 2011-05-18  Eric Blake  <eblake@redhat.com>
6803
6804         fnmatch: avoid compiler warning
6805         * lib/fnmatch_loop.c (FCT): Use correct type.
6806         Reported by Matthias Bolte.
6807
6808 2011-05-13  Jim Meyering  <meyering@redhat.com>
6809
6810         maint.mk: three new prohibit_<HDR>_without_use rules
6811         * top/maint.mk (sc_prohibit_stdio--_without_use): New rule.
6812         (sc_prohibit_stdio-safer_without_use): Likewise.
6813         (sc_prohibit_xfreopen_without_use): Likewise.
6814
6815 2011-05-17  Jim Meyering  <meyering@redhat.com>
6816
6817         announce-gen: fail if the NEWS delta is empty
6818         If there's nothing noteworthy in NEWS, then either you forgot
6819         or you shouldn't be releasing.
6820         * build-aux/announce-gen: Die if the NEWS delta is effectively empty.
6821
6822 2011-05-17  Pádraig Brady <P@draigBrady.com>
6823
6824         * top/maint.mk (_gl_tight_scope:): Automatically exclude compiler
6825         reserved symbols starting with double underscore from the check.
6826
6827 2011-05-17  Paul Eggert  <eggert@cs.ucla.edu>
6828
6829         intprops: add doc
6830         * doc/intprops.texi: New file, documenting intprops.
6831         * doc/gnulib.texi (Particular Modules): Include it.
6832
6833         verify: add doc to gnulib manual and fix example
6834         * doc/gnulib.texi (Compile-time Assertions): New node, for 'verify'.
6835         * doc/verify.texi (Compile-time Assertions): Update 'assert' doc.
6836         (Compile-time Assertions): Fix example so it can't overflow.
6837
6838 2011-05-17  Jim Meyering  <meyering@redhat.com>
6839
6840         warnings.m4: don't usurp save_CPPFLAGS variable name
6841         * m4/warnings.m4: Prefix local temporary variable name with gl_.
6842
6843         doc: fix typo
6844         * doc/gnulib-intro.texi (Target Platforms): s/is/are/
6845
6846 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
6847             Bruno Haible  <bruno@clisp.org>
6848
6849         doc: Tweak recent change.
6850         * README (Portability guidelines): Tweak new text.
6851         * doc/gnulib-intro.texi (Target Platforms): Likewise. Mention
6852         Interix 6.1.
6853
6854 2011-05-16  Eric Blake  <eblake@redhat.com>
6855
6856         inttypes: avoid autoconf warning
6857         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Only expand once.
6858         * m4/stdint.m4 (gl_STDINT_H): Likewise.
6859
6860 2011-05-16  Sam Steingold <sds@gnu.org>
6861         and Eric Blake  <eblake@redhat.com>
6862
6863         vc-list-files: accept multiple directory operands
6864         * build-aux/vc-list-files: Iterate over all remaining operands.
6865
6866 2011-05-16  Bruno Haible  <bruno@clisp.org>
6867
6868         Fix confusion regarding deprecated modules.
6869         * modules/calloc (Status, Notice): Mark module as deprecated, not
6870         obsolete.
6871         * modules/fnmatch-posix (Status, Notice): Likewise.
6872         * modules/getdate (Status, Notice): Likewise.
6873         * modules/getopt (Status, Notice): Likewise.
6874         * modules/malloc (Status, Notice): Likewise.
6875         * modules/pipe (Status, Notice): Likewise.
6876         * modules/realloc (Status, Notice): Likewise.
6877         * modules/rename-dest-slash (Status, Notice): Likewise.
6878         * modules/unictype/bidicategory-all (Status, Notice): Likewise.
6879         * modules/unictype/bidicategory-byname (Status, Notice): Likewise.
6880         * modules/unictype/bidicategory-name (Status, Notice): Likewise.
6881         * modules/unictype/bidicategory-of (Status, Notice): Likewise.
6882         * modules/unictype/bidicategory-test (Status, Notice): Likewise.
6883
6884 2011-05-16  Bruno Haible  <bruno@clisp.org>
6885
6886         doc: List the target platforms.
6887         * doc/gnulib-intro.texi (Target Platforms): New section.
6888         * doc/gnulib.texi (Introduction): Update menu.
6889         * README (Portability guidelines): Refer to the new section. Update
6890         statement about oldest supported environment. Remove rationale why
6891         <errno.h>, <string.h>, <stdlib.h> are assumed. Update example of an
6892         unportable C89 function.
6893         Reported by Bastien Roucariès <roucaries.bastien@gmail.com> and
6894         Charles Wilson <cygwin@cwilson.fastmail.fm>. Feedback from Paul Eggert.
6895
6896 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
6897
6898         * build-aux/bootstrap (gnulib_tool): Handle symlink timestamps better.
6899
6900 2011-05-13  Paul Eggert  <eggert@cs.ucla.edu>
6901
6902         intprops-tests: new module
6903         * modules/intprops-tests, tests/test-intprops.c: New files.
6904
6905         intprops: add safe, portable integer overflow checking
6906         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_TWOS_COMPLEMENT):
6907         (_GL_INT_SIGNED, _GL_INT_MINIMUM, _GL_INT_MAXIMUM):
6908         (_GL_SIGNED_INT_MINIMUM, INT_ADD_RANGE_OVERFLOW):
6909         (INT__SUBTRACT__RANGE_OVERFLOW, INT_NEGATE_RANGE_OVERFLOW):
6910         (INT_MULTIPLY_RANGE_OVERFLOW, INT_REMAINDER_RANGE_OVERFLOW):
6911         (INT_LEFT_SHIFT_RANGE_OVERFLOW, _GL_ADD_OVERFLOW):
6912         (_GL__SUBTRACT__OVERFLOW, _GL_MULTIPLY_OVERFLOW, _GL_DIVIDE_OVERFLOW):
6913         (_GL_REMAINDER_OVERFLOW, _GL_UNSIGNED_NEG_MULTIPLE, INT_ADD_OVERFLOW):
6914         (INT__SUBTRACT__OVERFLOW, INT_NEGATE_OVERFLOW, INT_MULTIPLY_OVERFLOW):
6915         (INT_DIVIDE_OVERFLOW, INT_REMAINDER_OVERFLOW):
6916         (INT_LEFT_SHIFT_OVERFLOW, _GL_BINARY_OP_OVERFLOW): New macros.
6917
6918 2011-05-12  James Youngman  <jay@gnu.org>
6919
6920         Add a test for glibc's Bugzilla bug #12378.
6921         * m4/fnmatch.m4: Use gnulib's fnmatch if the system fnmatch
6922         doesn't allow the literal matching of a lone "[" (which is
6923         required by POSIX).
6924         * tests/test-fnmatch.c (main): Check that "[/b" matches itself.
6925
6926 2011-05-11  Ulrich Drepper  <drepper@gmail.com>
6927
6928         Sync glibc change fixing Bugzilla bug #12378.
6929         * lib/fnmatch_loop.c (FCT): When matching '[' keep track of
6930         beginning and fall back to matching as normal character if the
6931         string ends before the matching ']' is found.  This is what POSIX
6932         requires.
6933
6934 2011-05-13  Eric Blake  <eblake@redhat.com>
6935
6936         getcwd-lgpl: relax test for FreeBSD
6937         * doc/posix-functions/getcwd.texi (getcwd): Document portability
6938         issue.
6939         * tests/test-getcwd-lgpl.c (main): Relax test.
6940         Reported by Matthias Bolte.
6941
6942 2011-05-11  Eric Blake  <eblake@redhat.com>
6943
6944         test-fflush: silence compiler warning
6945         * tests/test-fflush.c (main): Don't fclose a NULL pointer.
6946
6947 2011-05-11  Bruno Haible  <bruno@clisp.org>
6948
6949         canonicalize, canonicalize-lgpl: Avoid crash dialog on MacOS X.
6950         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Add GL_NOCRASH code.
6951         * modules/canonicalize (Depends-on): Add 'nocrash'.
6952         * modules/canonicalize-lgpl (Depends-on): Likewise.
6953         * doc/posix-functions/realpath.texi: Update platforms list.
6954         Reported by Ryan Schmidt <ryandesign@macports.org>.
6955
6956 2011-05-11  Bruno Haible  <bruno@clisp.org>
6957
6958         group-member: Declare function in <unistd.h>.
6959         * lib/unistd.in.h (group_member): New declaration.
6960         * lib/group-member.h: Remove file.
6961         * lib/group-member.c: Include <unistd.h> instead of group-member.h.
6962         * tests/test-unistd-c++.cc: Check signature of group_member.
6963         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Require
6964         gl_UNISTD_H_DEFAULTS. Set HAVE_GROUP_MEMBER.
6965         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether group_member is declared.
6966         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GROUP_MEMBER,
6967         HAVE_GROUP_MEMBER.
6968         * modules/group-member (Files): Remove lib/group-member.h.
6969         (Depends-on): Add unistd. Specify conditions.
6970         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
6971         (Include): Change to <unistd.h>.
6972         * modules/unistd (Makefile.am): Substitute GNULIB_GROUP_MEMBER,
6973         HAVE_GROUP_MEMBER.
6974         * NEWS: Mention the change.
6975         * lib/euidaccess.c: Don't include group-member.h.
6976
6977 2011-05-11  Bruno Haible  <bruno@clisp.org>
6978
6979         group-member: Document module.
6980         * doc/glibc-functions/group_member.texi: Mention the 'group-member'
6981         module.
6982
6983 2011-05-11  Bruno Haible  <bruno@clisp.org>
6984
6985         fclose: Fix mistake earlier today.
6986         * lib/fclose.c (rpl_fclose): Don't assume that EOF < 0.
6987
6988 2011-05-11  Eric Blake  <eblake@redhat.com>
6989
6990         fclose: preserve fflush errors
6991         * lib/fclose.c (rpl_fclose): Don't lose fflush errors.
6992         Reported by Jim Meyering.
6993
6994         bootstrap: support a prereq of 'rpcgen -' on RHEL5
6995         * build-aux/bootstrap (check_versions): When no specific version
6996         is required, merely check that the app produces an exit status
6997         that indicates its existence.
6998
6999         maint.mk: drop redundant check
7000         * top/maint.mk (sc_the_the): Delete; sc_prohibit_doubled_word does
7001         the same but better.
7002
7003 2011-05-11  Bruno Haible  <bruno@clisp.org>
7004
7005         fclose: Fix possible link error.
7006         * lib/fclose.c (rpl_fclose): Invoke _gl_unregister_fd, not
7007         unregister_shadow_fd. Improve comments.
7008         * lib/sockets.c (close_fd_maybe_socket): Add comments. Reported by
7009         Eric Blake.
7010
7011 2011-05-11  Jim Meyering  <meyering@redhat.com>
7012
7013         maint.mk: improve "can not" detection and generalize rule name
7014         * top/maint.mk (sc_prohibit_undesirable_word_seq): Renamed from
7015         sc_prohibit_can_not, since we'll probably add a few more word pairs here.
7016         Use the same technique as in sc_prohibit_doubled_word, so that
7017         we recognize "can not" also when the words are separated by a newline.
7018         Suggested by Eric Blake.
7019         (perl_filename_lineno_text_): Define.  Factored out of...
7020         (prohibit_doubled_word_): ...here.  Use the new definition.
7021         (prohibit_undesirable_word_seq_): New var.  Use it here, too.
7022         (prohibit_undesirable_word_seq_RE_): New overridable variable.
7023         (ignore_undesirable_word_sequence_RE_): New overridable variable.
7024
7025 2011-05-10  Eric Blake  <eblake@redhat.com>
7026
7027         fclose: avoid double close race when possible
7028         * lib/fclose.c (rpl_fclose): Rewrite to avoid double-close race on
7029         all but WINDOWS_SOCKETS.
7030
7031 2011-05-10  Bastien Roucariès  <roucaries.bastien@gmail.com>
7032
7033         openat: correct new comment
7034         * lib/openat-proc.c (openat_proc_name): Correct the comment.
7035
7036 2011-05-10  Jim Meyering  <meyering@redhat.com>
7037
7038         openat: add comments
7039         * lib/openat-proc.c (openat_proc_name): Add comments,
7040         mostly from Eric Blake.
7041
7042 2011-05-09  Eric Blake  <eblake@redhat.com>
7043
7044         openat: reduce syscalls in first probe of /proc
7045         * lib/openat-proc.c (openat_proc_name): Require that /proc/self/fd
7046         be a directory.  Simplify the probe for .. bugs.
7047         * modules/openat (Depends-on): Drop same-inode.
7048         Reported by Bastien ROUCARIES.
7049
7050 2011-05-09  Jim Meyering  <meyering@redhat.com>
7051
7052         maint.mk: change semantics/name of tight_scope variables
7053         * top/maint.mk (_gl_TS_var_match, _gl_TS_function_match):
7054         Rename variables to align with semantics that make them more useful.
7055
7056         maint.mk: tweak new rule's name not to impinge
7057         * top/maint.mk (_gl_tight_scope): Rename from sc_tight_scope-0.
7058         (sc_tight_scope): Use new rule name rather than $@-0.
7059
7060         maint.mk: add a syntax-check rule to ensure tightly-scoped symbols
7061         * top/maint.mk (sc_tight_scope): New rule.
7062         (sc_tight_scope-0): New rule, ifdef'd out.
7063         (_gl_TS_dir): Default.
7064         (_gl_TS_unmarked_extern_functions, _gl_TS_function_regex): Define.
7065         (_gl_TS_unmarked_extern_vars, _gl_TS_var_regex): Define.
7066
7067 2011-05-09  Simon Josefsson  <simon@josefsson.org>
7068
7069         * m4/gc.m4: Remove gl_PREREQ_GC (not used).  Reported by Bruno
7070         Haible <bruno@clisp.org>.
7071
7072 2011-05-08  Bruno Haible  <bruno@clisp.org>
7073
7074         Comments.
7075         * m4/isnanf.m4: Add comment.
7076         * m4/isnanl.m4: Likewise.
7077
7078 2011-05-08  Bruno Haible  <bruno@clisp.org>
7079
7080         glob: Remove obsolete macro.
7081         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): Remove macro.
7082
7083 2011-05-08  Paul Eggert  <eggert@cs.ucla.edu>
7084
7085         intprops: Sun C 5.11 supports __typeof__
7086         * lib/intprops.h (_GL_HAVE___TYPEOF__): New macro, which is set
7087         for either GCC 2 or later, as before, or for Sun C 5.11 or later,
7088         which is new.
7089         (_GL_SIGNED_TYPE_OR_EXPR): Use it.
7090
7091         intprops: switch to usual gnulib indenting and naming
7092         * lib/intprops.h (_GL_INTPROPS_H): Rename from GL_INTPROPS_H.
7093         (_GL_SIGNED_TYPE_OR_EXPR): Rename from signed_type_or_expr__.
7094
7095         * tests/test-inttostr.c (IS_TIGHT): Adjust to above renaming.
7096
7097 2011-05-08  Jim Meyering  <meyering@redhat.com>
7098
7099         maint.mk: suppress "Entering/Leaving directory" diag in announcement
7100         * top/maint.mk (release-prep): Use make's --no-print-directory
7101         option when generating the announcement.  This eliminates the
7102         pesky "make[2]: Entering/Leaving directory" diagnostics in the
7103         generated announcement template.
7104
7105 2011-05-08  Bruno Haible  <bruno@clisp.org>
7106
7107         tzset: Fix gettimeofday wrapper on Solaris 2.6.
7108         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): When invoking
7109         gl_GETTIMEOFDAY_REPLACE_LOCALTIME, also set REPLACE_GETTIMEOFDAY.
7110
7111 2011-05-07  Paul Eggert  <eggert@cs.ucla.edu>
7112
7113         ignore-value, verify: Omit include files from lib_SOURCES.
7114         * modules/ignore-value, modules/verify (Makefile.am):
7115         Don't put ignore-value.h, or verify.h, into lib_SOURCES, as
7116         that leads Automake to duplicate use of am__objects_... variables
7117         in Makefile.in.  See
7118         <http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00257.html>.
7119
7120 2011-05-07  Bruno Haible  <bruno@clisp.org>
7121
7122         fclose: Simplify autoconf macro.
7123         * m4/fclose.m4 (gl_FUNC_FCLOSE): Assume gl_FUNC_FFLUSH_STDIN is
7124         defined.
7125
7126 2011-05-07  Bruno Haible  <bruno@clisp.org>
7127
7128         canonicalize-lgpl: Fix autoconf macro ordering bug.
7129         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Require
7130         gl_STDLIB_H_DEFAULTS.
7131
7132 2011-05-06  Eric Blake  <eblake@redhat.com>
7133
7134         maintainer-makefile: make sc_po_check easier to tune
7135         * top/maint.mk (sc_po_check): Allow overriding which non-VC files
7136         to probe for strings, such as an alternate location for gnulib.
7137
7138         fclose: guarantee behavior on seekable stdin
7139         * modules/fclose (Depends-on): Add fflush.
7140         * doc/posix-functions/fclose.texi (fclose): Document this.
7141         * tests/test-fclose.c (main): Make test for this unconditional.
7142
7143 2011-05-06  Bruno Haible  <bruno@clisp.org>
7144
7145         fflush, fpurge: Relicense under LGPLv2+.
7146         * modules/fflush (License): Change from LGPLv3+ to LGPLv2+.
7147         * modules/fpurge (License): Likewise.
7148         With permission from Eric Blake and Jim Meyering.
7149         Suggested by Eric Blake.
7150
7151 2011-05-06  Karl Berry  <karl@gnu.org>
7152
7153         * MODULES.html.sh (func_all_modules): remove exit.
7154
7155 2011-05-06  Jim Meyering  <meyering@redhat.com>
7156
7157         maint.mk: use info-gnu@ as the default only for a stable release
7158         * top/maint.mk: Don't default to info-gnu for alpha or beta releases.
7159         For those, just use $(PACKAGE_BUGREPORT), in which case we don't have
7160         to set the Mail-Followup-To header.  Prompted by Reuben Thomas in
7161         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26488
7162
7163 2011-05-05  Paul Eggert  <eggert@cs.ucla.edu>
7164
7165         assert-h: new module, which supports C1X-style static_assert
7166         * lib/assert.in.h, m4/assert_h.m4, modules/assert-h: New files.
7167         * lib/verify.h: Revamp so that this can be copied into assert.h,
7168         while retaining the ability to use it standalone as before.
7169         Rename private identifiers so as not to encroach on the
7170         standard C namespace, since this is now used by assert.h.
7171         (_GL_VERIFY_TYPE): New macro, factoring out differing parts of
7172         the old verify_true.
7173         (_GL_VERIFY_TRUE): New macro, with much of the contents of
7174         the old verify_true.  Use _GL_VERIFY_TYPE.
7175         (_GL_VERIFY): New macro, with much of the contents of the old verify.
7176         (static_assert): New macro, if _GL_STATIC_ASSERT_H
7177         is defined and static_assert is not; _GL_STATIC_ASSERT_H is
7178         defined when this file is copied into the replacement assert.h.
7179         (_Static_assert): New macro, if _GL_STATIC_ASSERT_H is defined
7180         and _Static_assert is not built in.
7181         (verify_true, verify): Define only if _GL_STATIC_ASSERT_H is not
7182         defined, and use the new macros mentioned above.
7183         * doc/posix-headers/assert.texi: Document this.
7184
7185 2011-05-05  Bruno Haible  <bruno@clisp.org>
7186
7187         fclose, fflush: Respect rules for use of AC_LIBOBJ.
7188         * m4/fflush.m4 (gl_FUNC_FFLUSH): Don't invoke gl_REPLACE_FCLOSE.
7189         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_FFLUSH_STDIN and
7190         gl_REPLACE_FCLOSE here.
7191         * modules/fflush (Depends-on): Remove fclose.
7192         * doc/posix-functions/fclose.texi: Mention module 'fflush' only in
7193         combination with module 'fclose'.
7194
7195 2011-05-05  Bruno Haible  <bruno@clisp.org>
7196
7197         fflush, fseeko: Respect rules for use of AC_LIBOBJ.
7198         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): New macro, extracted from
7199         gl_FUNC_FFLUSH.
7200         (gl_FUNC_FFLUSH): Use it.
7201         (gl_REPLACE_FFLUSH): Don't invoke gl_REPLACE_FSEEKO.
7202         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Invoke gl_FUNC_FFLUSH_STDIN and
7203         gl_REPLACE_FSEEKO here.
7204
7205 2011-05-05  Bruno Haible  <bruno@clisp.org>
7206
7207         tzset: Relicense under LGPL.
7208         * modules/tzset (License): Change to LGPL.
7209         No agreement needed; it's a no-op.
7210
7211         strtoimax, strtoumax: Relicense under LGPL.
7212         * modules/strtoimax (License): Change to LGPL.
7213         * modules/strtoumax (License): Likewise.
7214         With permission from Jim Meyering, Paul Eggert:
7215         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00124.html>
7216         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00109.html>
7217
7218         getgroups: Relicense under LGPL.
7219         * modules/getgroups (License): Change to LGPL.
7220         With permission from Jim Meyering, Paul Eggert, Eric Blake:
7221         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00111.html>
7222         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00148.html>
7223         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
7224
7225         nanosleep: Relicense under LGPL.
7226         * modules/nanosleep (License): Change to LGPL.
7227         With permission from Jim Meyering, Paul Eggert, Eric Blake, Bruno
7228         Haible:
7229         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00111.html>
7230         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00148.html>
7231         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
7232         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00131.html>
7233
7234         futimens: Relicense under LGPL.
7235         * modules/futimens (License): Change to LGPL.
7236         With permission from Eric Blake:
7237         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
7238
7239         fflush: Relicense under LGPL.
7240         * modules/fflush (License): Change to LGPL.
7241         With permission from Eric Blake, Bruno Haible, Jim Meyering:
7242         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
7243         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00131.html>
7244         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00133.html>
7245
7246         tmpfile: Relicense under LGPL.
7247         * modules/tmpfile (License): Change to LGPL.
7248         With permission from Ben Pfaff:
7249         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00185.html>
7250
7251         isfinite: Relicense under LGPL.
7252         * modules/isfinite (License): Change to LGPL.
7253         With permission from Ben Pfaff, Bruno Haible:
7254         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00185.html>
7255         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00130.html>
7256
7257         acosl..tanl: Relicense under LGPL.
7258         * modules/acosl (License): Change to LGPL.
7259         * modules/asinl (License): Likewise.
7260         * modules/atanl (License): Likewise.
7261         * modules/cosl (License): Likewise.
7262         * modules/expl (License): Likewise.
7263         * modules/logl (License): Likewise.
7264         * modules/sinl (License): Likewise.
7265         * modules/sqrtl (License): Likewise.
7266         * modules/tanl (License): Likewise.
7267         Source code originally from glibc and Paolo Bonzini. Agreements:
7268         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00137.html>
7269         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00128.html>
7270
7271 2011-05-05  Bruno Haible  <bruno@clisp.org>
7272
7273         signal: Define sighandler_t.
7274         * lib/signal.in.h (sighandler_t): New type.
7275         * m4/signal_h.m4 (gl_SIGNAL_H): Require AC_USE_SYSTEM_EXTENSIONS. Test
7276         whether sighandler_t is defined.
7277         (gl_SIGNAL_H_DEFAULTS): Initialize HAVE_SIGHANDLER_T.
7278         * modules/signal (Depends-on): Add extensions.
7279         (Makefile.am): Substitute HAVE_SIGHANDLER_T.
7280         * doc/posix-headers/signal.texi: Mention the problem with sighandler_t.
7281         Suggested by Markus Steinborn <gnugv_maintainer@yahoo.de>.
7282
7283 2011-05-05  Eric Blake  <eblake@redhat.com>
7284
7285         maint: remove useless REPLACE_*_H macros
7286         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Delete.
7287         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
7288         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
7289         * m4/poll_h.m4 (gl_REPLACE_POLL_H): Likewise.
7290         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
7291         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
7292         * m4/wchar_h.m4 (gl_REPLACE_WCHAR_H): Likewise.
7293         * m4/btowc.m4: Update callers.
7294         * m4/dirfd.m4: Likewise.
7295         * m4/duplocale.m4: Likewise.
7296         * m4/fchdir.m4: Likewise.
7297         * m4/fdopendir.m4: Likewise.
7298         * m4/inet_ntop.m4: Likewise.
7299         * m4/inet_pton.m4: Likewise.
7300         * m4/ioctl.m4: Likewise.
7301         * m4/mbrlen.m4: Likewise.
7302         * m4/mbrtowc.m4: Likewise.
7303         * m4/mbsinit.m4: Likewise.
7304         * m4/mbsnrtowcs.m4: Likewise.
7305         * m4/mbsrtowcs.m4: Likewise.
7306         * m4/poll.m4: Likewise.
7307         * m4/setlocale.m4: Likewise.
7308         * m4/wcrtomb.m4: Likewise.
7309         * m4/wcsnrtombs.m4: Likewise.
7310         * m4/wcsrtombs.m4: Likewise.
7311         * m4/wctob.m4: Likewise.
7312         * m4/wcwidth.m4: Likewise.
7313         * modules/posix_spawn: Likewise.
7314         * modules/posix_spawn_file_actions_addclose: Likewise.
7315         * modules/posix_spawn_file_actions_adddup2: Likewise.
7316         * modules/posix_spawn_file_actions_addopen: Likewise.
7317         * modules/posix_spawn_file_actions_destroy: Likewise.
7318         * modules/posix_spawn_file_actions_init: Likewise.
7319         * modules/posix_spawnattr_destroy: Likewise.
7320         * modules/posix_spawnattr_getflags: Likewise.
7321         * modules/posix_spawnattr_getpgroup: Likewise.
7322         * modules/posix_spawnattr_getschedparam: Likewise.
7323         * modules/posix_spawnattr_getschedpolicy: Likewise.
7324         * modules/posix_spawnattr_getsigdefault: Likewise.
7325         * modules/posix_spawnattr_getsigmask: Likewise.
7326         * modules/posix_spawnattr_init: Likewise.
7327         * modules/posix_spawnattr_setflags: Likewise.
7328         * modules/posix_spawnattr_setpgroup: Likewise.
7329         * modules/posix_spawnattr_setschedparam: Likewise.
7330         * modules/posix_spawnattr_setschedpolicy: Likewise.
7331         * modules/posix_spawnattr_setsigdefault: Likewise.
7332         * modules/posix_spawnattr_setsigmask: Likewise.
7333         * modules/posix_spawnp: Likewise.
7334
7335 2011-05-04  Reuben Thomas  <rrt@sc3d.org>
7336
7337         Add option to do-release-commit-and-tag to specify branch.
7338         * build-aux/do-release-commit-and-tag: Add --branch.
7339
7340 2011-05-03  Bruno Haible  <bruno@clisp.org>
7341
7342         Avoid unnecessary compilation units, through conditional dependencies.
7343         * modules/accept (Depends-on): Add conditions to the dependencies.
7344         * modules/acosl (Depends-on): Likewise.
7345         * modules/argz (Depends-on): Likewise.
7346         * modules/asinl (Depends-on): Likewise.
7347         * modules/atanl (Depends-on): Likewise.
7348         * modules/atoll (Depends-on): Likewise.
7349         * modules/bind (Depends-on): Likewise.
7350         * modules/btowc (Depends-on): Likewise.
7351         * modules/canonicalize-lgpl (Depends-on): Likewise.
7352         * modules/ceil (Depends-on): Likewise.
7353         * modules/ceilf (Depends-on): Likewise.
7354         * modules/ceill (Depends-on): Likewise.
7355         * modules/chdir-long (Depends-on): Likewise.
7356         * modules/chown (Depends-on): Likewise.
7357         * modules/close (Depends-on): Likewise.
7358         * modules/connect (Depends-on): Likewise.
7359         * modules/cosl (Depends-on): Likewise.
7360         * modules/dirfd (Depends-on): Likewise.
7361         * modules/dprintf (Depends-on): Likewise.
7362         * modules/dprintf-posix (Depends-on): Likewise.
7363         * modules/error (Depends-on): Likewise.
7364         * modules/euidaccess (Depends-on): Likewise.
7365         * modules/expl (Depends-on): Likewise.
7366         * modules/faccessat (Depends-on): Likewise.
7367         * modules/fchdir (Depends-on): Likewise.
7368         * modules/fclose (Depends-on): Likewise.
7369         * modules/fcntl (Depends-on): Likewise.
7370         * modules/fdopendir (Depends-on): Likewise.
7371         * modules/fflush (Depends-on): Likewise.
7372         * modules/floor (Depends-on): Likewise.
7373         * modules/floorf (Depends-on): Likewise.
7374         * modules/floorl (Depends-on): Likewise.
7375         * modules/fnmatch (Depends-on): Likewise.
7376         * modules/fopen (Depends-on): Likewise.
7377         * modules/fprintf-posix (Depends-on): Likewise.
7378         * modules/frexp (Depends-on): Likewise.
7379         * modules/frexp-nolibm (Depends-on): Likewise.
7380         * modules/frexpl (Depends-on): Likewise.
7381         * modules/frexpl-nolibm (Depends-on): Likewise.
7382         * modules/fseek (Depends-on): Likewise.
7383         * modules/fsusage (Depends-on): Likewise.
7384         * modules/ftell (Depends-on): Likewise.
7385         * modules/ftello (Depends-on): Likewise.
7386         * modules/futimens (Depends-on): Likewise.
7387         * modules/getcwd (Depends-on): Likewise.
7388         * modules/getcwd-lgpl (Depends-on): Likewise.
7389         * modules/getdelim (Depends-on): Likewise.
7390         * modules/getdomainname (Depends-on): Likewise.
7391         * modules/getgroups (Depends-on): Likewise.
7392         * modules/gethostname (Depends-on): Likewise.
7393         * modules/getline (Depends-on): Likewise.
7394         * modules/getlogin_r (Depends-on): Likewise.
7395         * modules/getopt-posix (Depends-on): Likewise.
7396         * modules/getpeername (Depends-on): Likewise.
7397         * modules/getsockname (Depends-on): Likewise.
7398         * modules/getsockopt (Depends-on): Likewise.
7399         * modules/getsubopt (Depends-on): Likewise.
7400         * modules/getusershell (Depends-on): Likewise.
7401         * modules/glob (Depends-on): Likewise.
7402         * modules/grantpt (Depends-on): Likewise.
7403         * modules/iconv_open (Depends-on): Likewise.
7404         * modules/iconv_open-utf (Depends-on): Likewise.
7405         * modules/inet_ntop (Depends-on): Likewise.
7406         * modules/inet_pton (Depends-on): Likewise.
7407         * modules/ioctl (Depends-on): Likewise.
7408         * modules/isapipe (Depends-on): Likewise.
7409         * modules/isfinite (Depends-on): Likewise.
7410         * modules/isinf (Depends-on): Likewise.
7411         * modules/lchown (Depends-on): Likewise.
7412         * modules/ldexpl (Depends-on): Likewise.
7413         * modules/link (Depends-on): Likewise.
7414         * modules/linkat (Depends-on): Likewise.
7415         * modules/listen (Depends-on): Likewise.
7416         * modules/logl (Depends-on): Likewise.
7417         * modules/lstat (Depends-on): Likewise.
7418         * modules/mbrlen (Depends-on): Likewise.
7419         * modules/mbrtowc (Depends-on): Likewise.
7420         * modules/mbsinit (Depends-on): Likewise.
7421         * modules/mbsnrtowcs (Depends-on): Likewise.
7422         * modules/mbsrtowcs (Depends-on): Likewise.
7423         * modules/mbtowc (Depends-on): Likewise.
7424         * modules/memcmp (Depends-on): Likewise.
7425         * modules/mkdir (Depends-on): Likewise.
7426         * modules/mkdtemp (Depends-on): Likewise.
7427         * modules/mkfifo (Depends-on): Likewise.
7428         * modules/mkfifoat (Depends-on): Likewise.
7429         * modules/mknod (Depends-on): Likewise.
7430         * modules/mkostemp (Depends-on): Likewise.
7431         * modules/mkostemps (Depends-on): Likewise.
7432         * modules/mkstemp (Depends-on): Likewise.
7433         * modules/mkstemps (Depends-on): Likewise.
7434         * modules/mktime (Depends-on): Likewise.
7435         * modules/nanosleep (Depends-on): Likewise.
7436         * modules/open (Depends-on): Likewise.
7437         * modules/openat (Depends-on): Likewise.
7438         * modules/perror (Depends-on): Likewise.
7439         * modules/poll (Depends-on): Likewise.
7440         * modules/popen (Depends-on): Likewise.
7441         * modules/posix_spawn (Depends-on): Likewise.
7442         * modules/posix_spawn_file_actions_addclose (Depends-on): Likewise.
7443         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
7444         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
7445         * modules/posix_spawnp (Depends-on): Likewise.
7446         * modules/pread (Depends-on): Likewise.
7447         * modules/printf-posix (Depends-on): Likewise.
7448         * modules/ptsname (Depends-on): Likewise.
7449         * modules/putenv (Depends-on): Likewise.
7450         * modules/pwrite (Depends-on): Likewise.
7451         * modules/readline (Depends-on): Likewise.
7452         * modules/readlink (Depends-on): Likewise.
7453         * modules/readlinkat (Depends-on): Likewise.
7454         * modules/recv (Depends-on): Likewise.
7455         * modules/recvfrom (Depends-on): Likewise.
7456         * modules/regex (Depends-on): Likewise.
7457         * modules/remove (Depends-on): Likewise.
7458         * modules/rename (Depends-on): Likewise.
7459         * modules/renameat (Depends-on): Likewise.
7460         * modules/rmdir (Depends-on): Likewise.
7461         * modules/round (Depends-on): Likewise.
7462         * modules/roundf (Depends-on): Likewise.
7463         * modules/roundl (Depends-on): Likewise.
7464         * modules/rpmatch (Depends-on): Likewise.
7465         * modules/select (Depends-on): Likewise.
7466         * modules/send (Depends-on): Likewise.
7467         * modules/sendto (Depends-on): Likewise.
7468         * modules/setenv (Depends-on): Likewise.
7469         * modules/setlocale (Depends-on): Likewise.
7470         * modules/setsockopt (Depends-on): Likewise.
7471         * modules/shutdown (Depends-on): Likewise.
7472         * modules/sigaction (Depends-on): Likewise.
7473         * modules/signbit (Depends-on): Likewise.
7474         * modules/sigprocmask (Depends-on): Likewise.
7475         * modules/sinl (Depends-on): Likewise.
7476         * modules/sleep (Depends-on): Likewise.
7477         * modules/snprintf (Depends-on): Likewise.
7478         * modules/snprintf-posix (Depends-on): Likewise.
7479         * modules/socket (Depends-on): Likewise.
7480         * modules/sprintf-posix (Depends-on): Likewise.
7481         * modules/sqrtl (Depends-on): Likewise.
7482         * modules/stat (Depends-on): Likewise.
7483         * modules/strchrnul (Depends-on): Likewise.
7484         * modules/strdup-posix (Depends-on): Likewise.
7485         * modules/strerror (Depends-on): Likewise.
7486         * modules/strerror_r-posix (Depends-on): Likewise.
7487         * modules/strndup (Depends-on): Likewise.
7488         * modules/strnlen (Depends-on): Likewise.
7489         * modules/strptime (Depends-on): Likewise.
7490         * modules/strsep (Depends-on): Likewise.
7491         * modules/strsignal (Depends-on): Likewise.
7492         * modules/strstr-simple (Depends-on): Likewise.
7493         * modules/strtod (Depends-on): Likewise.
7494         * modules/strtoimax (Depends-on): Likewise.
7495         * modules/strtok_r (Depends-on): Likewise.
7496         * modules/strtoumax (Depends-on): Likewise.
7497         * modules/symlink (Depends-on): Likewise.
7498         * modules/symlinkat (Depends-on): Likewise.
7499         * modules/tanl (Depends-on): Likewise.
7500         * modules/tcgetsid (Depends-on): Likewise.
7501         * modules/tmpfile (Depends-on): Likewise.
7502         * modules/trunc (Depends-on): Likewise.
7503         * modules/truncf (Depends-on): Likewise.
7504         * modules/truncl (Depends-on): Likewise.
7505         * modules/uname (Depends-on): Likewise.
7506         * modules/unlink (Depends-on): Likewise.
7507         * modules/unlockpt (Depends-on): Likewise.
7508         * modules/unsetenv (Depends-on): Likewise.
7509         * modules/usleep (Depends-on): Likewise.
7510         * modules/utimensat (Depends-on): Likewise.
7511         * modules/vasprintf (Depends-on): Likewise.
7512         * modules/vdprintf (Depends-on): Likewise.
7513         * modules/vdprintf-posix (Depends-on): Likewise.
7514         * modules/vfprintf-posix (Depends-on): Likewise.
7515         * modules/vprintf-posix (Depends-on): Likewise.
7516         * modules/vsnprintf (Depends-on): Likewise.
7517         * modules/vsnprintf-posix (Depends-on): Likewise.
7518         * modules/vsprintf-posix (Depends-on): Likewise.
7519         * modules/wcrtomb (Depends-on): Likewise.
7520         * modules/wcscasecmp (Depends-on): Likewise.
7521         * modules/wcscspn (Depends-on): Likewise.
7522         * modules/wcsdup (Depends-on): Likewise.
7523         * modules/wcsncasecmp (Depends-on): Likewise.
7524         * modules/wcsnrtombs (Depends-on): Likewise.
7525         * modules/wcspbrk (Depends-on): Likewise.
7526         * modules/wcsrtombs (Depends-on): Likewise.
7527         * modules/wcsspn (Depends-on): Likewise.
7528         * modules/wcsstr (Depends-on): Likewise.
7529         * modules/wcstok (Depends-on): Likewise.
7530         * modules/wcswidth (Depends-on): Likewise.
7531         * modules/wctob (Depends-on): Likewise.
7532         * modules/wctomb (Depends-on): Likewise.
7533         * modules/wctype (Depends-on): Likewise.
7534         * modules/wcwidth (Depends-on): Likewise.
7535         * modules/write (Depends-on): Likewise.
7536
7537 2011-05-03  Bruno Haible  <bruno@clisp.org>
7538
7539         Support for conditional dependencies.
7540         * doc/gnulib.texi (Module description): Document the syntax of
7541         conditional dependencies.
7542         * gnulib-tool: New option --conditional-dependencies.
7543         (func_usage): Document it.
7544         (cond_dependencies): New variable.
7545         (func_get_automake_snippet_conditional,
7546         func_get_automake_snippet_unconditional): New functions, extracted from
7547         func_get_automake_snippet.
7548         (func_get_automake_snippet): Use them.
7549         (sed_first_32_chars): New variable.
7550         (func_module_shellfunc_name): New function.
7551         (func_module_shellvar_name): New function.
7552         (func_module_conditional_name): New function.
7553         (func_uncond_add_module, func_conddep_add_module, func_cond_module_p,
7554         func_cond_module_condition): New functions.
7555         (func_modules_transitive_closure): Add support for conditional
7556         dependencies.
7557         (func_emit_lib_Makefile_am): For a conditional module, enclose the
7558         conditional automake snippet in an automake conditional.
7559         (func_emit_autoconf_snippets): Emit shell functions that contain the
7560         code for conditional modules.
7561         (func_import, func_create_testdir): Update specification.
7562
7563 2011-05-03  Eric Blake  <eblake@redhat.com>
7564
7565         test-getaddrinfo: report error information
7566         * tests/test-getaddrinfo.c (simple): Use err outside of dbprintf.
7567
7568 2011-05-03  Jim Meyering  <meyering@redhat.com>
7569
7570         bootstrap: avoid build failure when $GZIP is set
7571         * build-aux/bootstrap (check_versions): Do not treat $GZIP as a
7572         program name.  If defined at all, it is supposed to list gzip options.
7573         Reported by Alan Curry in http://debbugs.gnu.org/8609
7574
7575 2011-05-03  Reuben Thomas  <rrt@sc3d.org>
7576
7577         readme-release: new module with release instructions
7578         * modules/readme-release: New module.
7579         * top/README-release: New file, from coreutils, grep, diffutils.
7580         * MODULES.html.sh (Support for maintaining and releasing): Add it.
7581
7582 2011-05-02  Eric Blake  <eblake@redhat.com>
7583
7584         fflush: also replace fclose when fixing fflush
7585         * modules/fflush (Depends-on): Add fclose.
7586         * m4/fflush.m4 (gl_FUNC_FFLUSH): Also replace fclose.
7587         * lib/fclose.c (rpl_fclose): Don't cause spurious failures on
7588         memstreams with no backing fd.
7589         * doc/posix-functions/fclose.texi (fclose): Document the use of
7590         fflush module to fix the bug.
7591         * tests/test-fclose.c (main): Relax test when fclose is used in
7592         isolation.
7593
7594         fclose: add some tests
7595         * modules/fclose-tests: New test module.
7596         * tests/test-fclose.c: New file.
7597         * doc/posix-functions/fclose.texi (fclose): Document the bug.
7598
7599         fclose: reduced dependencies
7600         * modules/fclose (Depends-on): Switch from fflush/fseeko to
7601         simpler lseek.
7602         * lib/fclose.c (rpl_fclose): Likewise.
7603         Reported by Simon Josefsson.
7604
7605         exit: drop remaining clients
7606         * modules/argmatch (Depends-on): Replace exit with stdlib.
7607         * modules/copy-file (Depends-on): Likewise.
7608         * modules/execute (Depends-on): Likewise.
7609         * modules/exitfail (Depends-on): Likewise.
7610         * modules/obstack (Depends-on): Likewise.
7611         * modules/pagealign_alloc (Depends-on): Likewise.
7612         * modules/pipe-filter-gi (Depends-on): Likewise.
7613         * modules/pipe-filter-ii (Depends-on): Likewise.
7614         * modules/savewd (Depends-on): Likewise.
7615         * modules/spawn-pipe (Depends-on): Likewise.
7616         * modules/wait-process (Depends-on): Likewise.
7617         * modules/xsetenv (Depends-on): Likewise.
7618         * modules/chdir-long (Depends-on): Add stdlib, for EXIT_FAILURE.
7619         * modules/git-merge-changelog (Depends-on): Likewise.
7620         * modules/long-options (Depends-on): Likewise.
7621         * modules/pt_chown (Depends-on): Likewise.
7622         * modules/sysexits (Depends-on): Likewise.
7623
7624         freading: relax license from LGPLv3+ to LGPLv2+
7625         * modules/freading (License): Relax LGPL version.
7626
7627 2011-05-02  Bruno Haible  <bruno@clisp.org>
7628
7629         fchdir: Remove unused dependencies.
7630         * modules/fchdir (Depends-on): Remove include_next.
7631
7632 2011-05-02  Bruno Haible  <bruno@clisp.org>
7633
7634         gnulib-tool: Refactor.
7635         * gnulib-tool (func_emit_autoconf_snippet): New function, extracted
7636         from func_emit_autoconf_snippets.
7637         (func_emit_autoconf_snippets): Use it.
7638
7639 2011-05-02  Simon Josefsson  <simon@josefsson.org>
7640
7641         * NEWS: Document removal of 'exit'.
7642         * modules/exit: Remove file.
7643
7644 2011-05-01  Bruno Haible  <bruno@clisp.org>
7645
7646         Update DEPENDENCIES.
7647         * DEPENDENCIES (gettext): Recommend the newest release.
7648         Reported by Simon Josefsson.
7649
7650 2011-05-01  Bruno Haible  <bruno@clisp.org>
7651
7652         gnulib-tool: Reduce code duplication.
7653         * gnulib-tool (func_emit_autoconf_snippets): New function.
7654         (func_import, func_create_testdir): Use it.
7655
7656 2011-04-30  Eric Blake  <eblake@redhat.com>
7657
7658         fclose: don't fail on non-seekable input stream
7659         * modules/fclose (Depends-on): Add freading, fflush, fseeko.
7660         * lib/fclose.c (rpl_fclose): Skip fflush for non-seekable input,
7661         since fflush is allowed to fail in that case.
7662
7663 2011-04-30  Bruno Haible  <bruno@clisp.org>
7664
7665         dup3: cleanup
7666         * lib/dup3.c: Remove old code, leftover from 2009-12-16.
7667
7668 2011-04-30  Bruno Haible  <bruno@clisp.org>
7669
7670         netdb: Make it work in C++ mode.
7671         * lib/netdb.in.h (struct addrinfo): In C++, define as a C struct.
7672         (getaddrinfo, freeaddrinfo, getnameinfo): Use macros from c++defs
7673         module.
7674         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Invoke
7675         gl_MODULE_INDICATOR_FOR_TESTS.
7676         * modules/netdb-tests (Depends-on): Add netdb-c++-tests.
7677         * modules/netdb-c++-tests: New file.
7678         * tests/test-netdb-c++.cc: New file.
7679
7680 2011-04-30  Bruno Haible  <bruno@clisp.org>
7681
7682         New modules 'vfscanf', 'vscanf'.
7683         * modules/vfscanf: New file.
7684         * modules/vscanf: New file.
7685         * m4/stdio_h.m4 (gl_STDIO_H): Don't set GNULIB_VFSCANF, GNULIB_VSCANF
7686         here.
7687         * doc/posix-functions/vfscanf.texi: Mention module 'vfscanf'.
7688         * doc/posix-functions/vscanf.texi: Mention module 'vscanf'.
7689
7690 2011-04-30  Bruno Haible  <bruno@clisp.org>
7691
7692         passfd: Add comments.
7693         * lib/passfd.c: Add comments about platforms.
7694
7695 2011-04-30  Bruno Haible  <bruno@clisp.org>
7696
7697         sys_uio: Make <sys/uio.h> self-contained.
7698         * lib/sys_uio.in.h: Include <sys/types.h> before <sys/uio.h>.
7699         * doc/posix-headers/sys_uio.texi: Mention the OpenBSD problem.
7700
7701 2011-04-30  Bruno Haible  <bruno@clisp.org>
7702
7703         sys_socket: Ensure 'struct iovec' definition.
7704         * lib/sys_socket.in.h: Include <sys/uio.h> also on platforms that have
7705         <sys/socket.h>.
7706         * doc/posix-headers/sys_socket.texi: Mention the OpenBSD problem.
7707
7708 2011-04-30  Bruno Haible  <bruno@clisp.org>
7709
7710         sys_uio: Protect definition of 'struct iovec'.
7711         * lib/sys_uio.in.h (struct iovec): Avoid redefinition. In C++, define
7712         it as a C struct.
7713
7714 2011-04-30  Bruno Haible  <bruno@clisp.org>
7715
7716         manywarnings: fix indentation
7717         * m4/manywarnings.m4: Indent by 2 spaces consistently.
7718
7719 2011-04-30  Pádraig Brady <P@draigBrady.com>
7720
7721         manywarnings: add -Wno-missing-field-initializers if needed.
7722         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add the above
7723         option if it's needed to allow initialization with { 0, }
7724
7725 2011-04-29  Reuben Thomas  <rrt@sc3d.org>
7726
7727         announce-gen: cosmetic improvement
7728         * build-aux/announce-gen: Strip any leading ./ from the NEWS file name.
7729
7730 2011-04-29  Jim Meyering  <meyering@redhat.com>
7731
7732         vc-list-files: indent with spaces, not TABs
7733         * build-aux/vc-list-files: Convert leading TABs to spaces,
7734         to match the style of most other files in gnulib.
7735
7736         announce-gen: indent with spaces, not TABs
7737         * build-aux/announce-gen: Convert all TABs to spaces, to match
7738         the style of most other files in gnulib.
7739
7740 2011-04-29  Eric Blake  <eblake@redhat.com>
7741
7742         quotearg: avoid uninitialized variable use
7743         * lib/quotearg.c (quoting_options_from_style): Initialize
7744         remaining fields, and ensure that custom styles are only used via
7745         quoting_options rather than quoting_style.
7746
7747 2011-04-29  Jim Meyering  <meyering@redhat.com>
7748
7749         maint.mk: remove unused VC-tag variable
7750         * top/maint.mk (VC-tag): Remove unused variable.
7751
7752 2011-04-29  Bruno Haible  <bruno@clisp.org>
7753
7754         netdb: fix gai_strerror replacements
7755         * lib/netdb.in.h: Add _GL_FUNCDECL_RPL definitions.
7756         * modules/netdb: Substitute it.
7757
7758 2011-04-29  Jim Meyering  <meyering@redhat.com>
7759
7760         test-getcwd.c: avoid new set-but-not-used warning
7761         * tests/test-getcwd.c (test_abort_bug): Exit nonzero for any problem,
7762         not just the glibc/abort one that getcwd-abort-bug.m4 detects.
7763         * m4/getcwd-abort-bug.m4: Update this now-duplicated code to match,
7764         and adjust the code that sets gl_cv_func_getcwd_abort_bug accordingly.
7765
7766         test-hash.c: avoid a new shadowing warning
7767         * tests/test-hash.c (main): Don't shadow "dup".
7768
7769 2011-04-28  Eric Blake  <eblake@redhat.com>
7770
7771         getaddrinfo: fix gai_strerror signature
7772         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Detect broken signatures,
7773         and work around mingw with UNICODE defined.
7774         (gl_PREREQ_GETADDRINFO): Drop redundant decl check.
7775         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Add witness.
7776         * modules/netdb (Makefile.am): Substitute it.
7777         * lib/netdb.in.h (gai_strerror): Declare replacement.
7778         * lib/gai_strerror.c (rpl_gai_strerror): Fix signature.
7779         * doc/posix-functions/gai_strerror.texi (gai_strerror): Document
7780         the fix.
7781
7782         getsockopt: avoid compiler warning
7783         * lib/getsockopt.c (rpl_getsockopt): Add a cast for mingw.
7784         Reported by Matthias Bolte.
7785
7786         tests: drop unused link dependency
7787         * modules/areadlinkat-tests (Makefile.am): Drop stale LDADD.
7788         * modules/dirent-safer-tests (Makefile.am): Likewise.
7789         * modules/fdopendir-tests (Makefile.am): Likewise.
7790         * modules/mkfifoat-tests (Makefile.am): Likewise.
7791         * modules/openat-safer-tests (Makefile.am): Likewise.
7792         * modules/openat-tests (Makefile.am): Likewise.
7793         * modules/readlinkat-tests (Makefile.am): Likewise.
7794         * modules/symlinkat-tests (Makefile.am): Likewise.
7795         * modules/linkat-tests (Makefile.am): Likewise.
7796         (Depends-on): Switch to filenamecat-lgpl.
7797         * modules/fdutimensat-tests (test_fdutimensat_LDADD): Drop unused
7798         LIBINTL.
7799         * modules/utimensat-tests (test_utimensat_LDADD): Likewise.
7800         * tests/test-linkat.c (main): Don't require xalloc.
7801
7802         hash, mgetgroups: drop xalloc dependency
7803         * lib/hash.c (includes): Adjust includes.
7804         * lib/mgetgroups.c (includes): Likewise.
7805         (xgetgroups): Move...
7806         * lib/xgetgroups.c: ...to new file.
7807         * lib/mgetgroups.h (xgetgroups): Make declaration conditional.
7808         * modules/xgetgroups: New file, split from...
7809         * modules/mgetgroups: ...here.
7810         (Depends-on): Add xalloc-oversized.
7811         * modules/hash (Depends-on): Likewise.
7812         * modules/hash-tests (Depends-on): Drop xalloc.
7813         (test_hash_LDADD): Drop unused library.
7814         * tests/test-hash.c (main): Break xalloc dependency.
7815         (includes): Drop unused include.
7816
7817         xalloc-oversized: new module
7818         * modules/xalloc-oversized: New module.
7819         * modules/xalloc (Depends-on): Add it.
7820         * lib/xalloc.h (xalloc_oversized): Move...
7821         * lib/xalloc-oversized.h: ...into new file.
7822
7823         utimecmp: drop dependency on xmalloc
7824         * lib/utimecmp.c (utimecmp): Work even if hash table cache fails
7825         due to memory pressure.
7826         * modules/utimecmp (Depends-on): Drop xalloc.
7827
7828 2011-04-27  Eric Blake  <eblake@redhat.com>
7829
7830         getcwd: fix mingw bugs
7831         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Detect one mingw bug.
7832         * doc/posix-functions/getcwd.texi (getcwd): Document the problems.
7833         * lib/getcwd-lgpl.c (rpl_getcwd): Fix return type.
7834
7835 2011-04-27  Bruno Haible  <bruno@clisp.org>
7836
7837         mkstemps: Ensure declaration on MacOS X 10.5.
7838         * lib/stdlib.in.h: Include <unistd.h> when mkstemps is requested.
7839         * doc/glibc-functions/mkstemps.texi: Document header file problem on
7840         MacOS X.
7841
7842 2011-04-27  Bruno Haible  <bruno@clisp.org>
7843
7844         mkstemp: More documentation.
7845         * doc/posix-functions/mkstemp.texi: Document header file problem on
7846         MacOS X.
7847
7848 2011-04-27  Bruno Haible  <bruno@clisp.org>
7849
7850         mkstemp: Tweak configure message when cross-compiling.
7851         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): When cross-compiling, qualify the
7852         result as a guess.
7853
7854 2011-04-27  Bruno Haible  <bruno@clisp.org>
7855
7856         clean-temp: Clarify what it does.
7857         * lib/clean-temp.h: Add more comments.
7858         * doc/posix-functions/mkstemp.texi: Tweak reference to 'clean-temp'
7859         module.
7860         * doc/glibc-functions/mkostemp.texi: Mention 'clean-temp' here too.
7861         * doc/glibc-functions/mkstemps.texi: Likewise.
7862         * doc/glibc-functions/mkostemps.texi: Likewise.
7863
7864 2011-04-27  Eric Blake  <eblake@redhat.com>
7865
7866         fchdir: avoid extra chdir and fix test
7867         * modules/fchdir (Depends-on): Add dosname, filenamecat-lgpl,
7868         getcwd-lgpl.
7869         * lib/fchdir.c (get_name): Any absolute name will do; it does not
7870         have to be canonical.
7871         (canonicalize_file_name): Drop unused macro.
7872         * m4/dup2.m4 (gl_REPLACE_DUP2): Ensure dup2 is replaced.
7873
7874         filenamecat-lgpl: fix licence
7875         * modules/filenamecat-lgpl (License): Mark as LGPLv2+, as intended
7876         when it was first created.
7877
7878         linkat, renameat: add missing dependency
7879         * modules/linkat (Depends-on): Require getcwd-lgpl.
7880         * modules/renameat (Depends-on): Likewise.
7881
7882         tests: reduce dependencies
7883         * tests/test-linkat.c (main): Use lighter-weight getcwd.
7884         * tests/test-renameat.c (main): Likewise.
7885         * modules/linkat-tests (Depends-on): Relax dependency.
7886         * modules/renameat-tests (Depends-on): Likewise.
7887         * modules/fchdir-tests (Depends-on): Likewise.  Also make cloexec
7888         dependency explicit.
7889
7890         save-cwd: reduce default dependency
7891         * modules/save-cwd (Depends-on): Use getcwd-lgpl.
7892         * lib/save-cwd.c: Update comments.
7893         * NEWS: Document the semantic change.
7894
7895         getcwd: enhance tests
7896         * tests/test-getcwd-lgpl.c: New file, taken from...
7897         * tests/test-getcwd.c: ...old contents.  Rewrite this file to
7898         repeat long path stress tests from m4 probe.
7899         * modules/getcwd-lgpl-tests: New module.
7900         * modules/getcwd-tests (Depends-on): Depend on lgpl tests.
7901         * m4/getcwd-abort-bug.m4: Update comment.
7902         * m4/getcwd-path-max.m4: Likewise.
7903
7904         getcwd-lgpl: new module
7905         * modules/getcwd-lgpl: New module.
7906         * lib/getcwd-lgpl.c: New file.
7907         * doc/posix-functions/getcwd.texi (getcwd): Document it.
7908         * MODULES.html.sh (lacking POSIX:2008): Likewise.
7909         * modules/getcwd (configure.ac): Set C witness.
7910         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): New macro.
7911
7912         getcwd: tweak comments
7913         * m4/getcwd-abort-bug.m4: Fix comments.
7914         * m4/getcwd-path-max.m4: Likewise.
7915         * m4/getcwd.m4: Likewise.
7916
7917 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
7918         and Eric Blake  <eblake@redhat.com>
7919
7920         mkstemp: replace if system version uses wrong permissions
7921         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Add test for non-owner
7922         read/write mode bits set in file created by mkstemp.
7923         * doc/posix-functions/mkstemp.texi (mkstemp): Document the fix.
7924
7925 2011-04-27  Eric Blake  <eblake@redhat.com>
7926
7927         passfd: avoid compiler warning
7928         * lib/passfd.c (sendfd, recvfd): Avoid shadowing names.
7929         Reported by Laine Stump.
7930
7931 2011-04-27  J.T. Conklin  <jtc@acorntoolworks.com>  (tiny change)
7932
7933         * gnulib-tool: change "join -a 2" to "join -a2", the latter is
7934         required by the NetBSD (and perhaps other 4.4BSD derived) join.
7935
7936 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
7937         and Eric Blake  <eblake@redhat.com>
7938
7939         mkstemp: mention clean-temp module
7940         * lib/mkstemp.c: Add comment.
7941         * doc/posix-functions/mkstemp.texi (mkstemp): Likewise.
7942
7943 2011-04-26  Paul Eggert  <eggert@cs.ucla.edu>
7944
7945         inttypes: also provide default values for 32-bit tests
7946         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Also provide default values
7947         for INT32_MAX_LT_INTMAX_MAX and for UINT32_MAX_LT_UINTMAX_MAX.
7948
7949 2011-04-25  Paul Eggert  <eggert@cs.ucla.edu>
7950
7951         strtoumax: remove dependency on strtoimax
7952         This is like the strtoull change of yesterday.
7953         * modules/strtoumax (Files): Add lib/strtoimax.c.
7954         (Depends-on): Remove strtoimax and add verify.
7955
7956         inttypes-incomplete: new module
7957         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): New macro, containing
7958         all but the PRI* and SCN* parts of gl_INTTYPES_H.
7959         (gl_INTTYPES_PRI_SCN): New macro, containing the PRI* and SCN* parts
7960         of gl_INTTYPES_H.
7961         (gl_INTTYPES_H): Rewrite in terms of these new macros.
7962         (gl_INTTYPES_H_DEFAULTS): Provide defaults for the PRI* and SCN*
7963         parts, in case gl_INTTYPE_PRI_SCN is not invoked.
7964         * modules/imaxabs, modules/imaxdiv, modules/strtoimax (Depends-on):
7965         * modules/strtoumax, modules/xstrtol (Depends-on):
7966         Depend on inttypes-incomplete, not inttypes.
7967         * modules/inttypes-incomplete: New module, containing the contents
7968         of the old modules/inttypes module, except that the Files: section
7969         omits m4/inttypes-pri.m4, and the configure.ac section invokes
7970         gl_INTTYPES_INCOMPLETE rather than gl_INTTYPES_H.
7971         * modules/inttypes (Files): Remove lib/inttypes.in.h, m4/inttypes.m4.
7972         (Depends-on): Depend only on inttypes-incomplete.
7973         (Makefile.am): Remove everything; this is now in inttypes-incomplete.
7974
7975         inttypes: omit now-redundant strtoimax and strtoumax work
7976         * m4/inttypes.m4 (gl_INTTYPES_H): Do not check for strtoimax and
7977         strtoumax decls; gl_FUNC_STRTOIMAX and gl_FUNC_STRTOUMAX now do this.
7978
7979         strtoimax, strtoumax: simplify, port to HP-UX 11.00 64-bit
7980         This supports apps that need pointers to strtoimax and strtoumax,
7981         and ports to HP-UX 11.00 64.bit, which has macros that expand to
7982         nonexistent functions.  See
7983         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00241.html>
7984         et seq.
7985         * lib/inttypes.in.h (strtoimax, strtoumax): #undef before declaring.
7986         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't check whether it's
7987         a macro.
7988         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
7989
7990 2011-04-25  Simon Josefsson  <simon@josefsson.org>
7991
7992         * modules/gnumakefile (configure.ac): Replace TAB with SPCs.
7993
7994 2011-04-25  Bruno Haible  <bruno@clisp.org>
7995
7996         strtol, strtoul: Mark modules as obsolete.
7997         * modules/strtol (Status, Notice): New sections.
7998         * modules/strtoul (Status, Notice): New sections.
7999
8000 2011-04-25  Bruno Haible  <bruno@clisp.org>
8001
8002         strtod: Remove check for strtod, unless supporting old platforms.
8003         * modules/strtod-obsolete: New file.
8004         * m4/strtod-obsolete.m4: New file.
8005         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't check whether strtod is declared
8006         if gl_FUNC_STRTOD_OBSOLETE is not also defined.
8007         * modules/strtod (Depends-on): Add strtod-obsolete.
8008         * doc/posix-functions/strtod.texi: Mention module strtod-obsolete.
8009
8010 2011-04-25  Bruno Haible  <bruno@clisp.org>
8011
8012         strcase: Make module obsolete.
8013         * modules/strcase (Status, Notice): New sections.
8014
8015 2011-04-25  Bruno Haible  <bruno@clisp.org>
8016
8017         dup2: Remove check for dup2, unless supporting old obsolete platforms.
8018         * modules/dup2-obsolete: New file.
8019         * m4/dup2-obsolete.m4: New file.
8020         * m4/dup2.m4 (gl_FUNC_DUP2): Don't check whether dup2 exists if
8021         gl_FUNC_DUP2_OBSOLETE is not also defined.
8022         * modules/dup2 (Depends-on): Add dup2-obsolete.
8023         * doc/posix-functions/dup2.texi: Mention module dup2-obsolete.
8024
8025 2011-04-25  Bruno Haible  <bruno@clisp.org>
8026
8027         strnlen: Avoid memchr related link error on old obsolete platforms.
8028         * modules/memchr-obsolete: New file.
8029         * m4/memchr-obsolete.m4: New file.
8030         * m4/memchr.m4 (gl_FUNC_MEMCHR): Don't check whether memchr exists if
8031         gl_FUNC_MEMCHR_OBSOLETE is not also defined.
8032         * modules/memchr (Depends-on): Add memchr-obsolete.
8033         * modules/strnlen (Depends-on): Likewise.
8034         * doc/posix-functions/memchr.texi: Mention module memchr-obsolete.
8035
8036 2011-04-25  Jim Meyering  <meyering@redhat.com>
8037
8038         maint.mk: makefile_at_at_check extend and clean up
8039         * top/maint.mk (sc_makefile_at_at_check): Check *.mk files
8040         in addition to */Makefile.am.
8041         Exempt legitimate uses of @VAR@ notation, e.g.,
8042         MAKEINFO = env LANG= LC_MESSAGES= LC_ALL= LANGUAGE= @MAKEINFO@
8043         Remove obsolete coreutils-specific comment.
8044         Prompted by discussion here:
8045         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26074
8046
8047 2011-04-24  Paul Eggert  <eggert@cs.ucla.edu>
8048
8049         strtoul: remove dependency on strtol
8050         This is so that 'configure' need not check for strtol merely because
8051         the application needs strtoul.
8052         * modules/strtoul (Files): Add lib/strtol.c.
8053         (Depends-on): Remove strtol.
8054
8055         strtoull: remove dependency on strtoul
8056         This is like the strtoll change.
8057         * modules/strtoull (Files): Add lib/strtol.c, lib/strtoul.c.
8058         (Depends-on): Remove strtoul.
8059
8060         strtoll: remove dependency on strtol
8061         This is so that 'configure' need not check for strtol merely because
8062         the application needs strtoll.
8063         * modules/strtoll (Files): Add lib/strtol.c.
8064         (Depends-on): Remove strtol.
8065
8066 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
8067
8068         inttypes: Move some configure check to module 'imaxdiv'.
8069         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Require gl_INTTYPES_H_DEFAULTS
8070         instead of gl_INTTYPES_H.  Check for imaxdiv decl here.
8071         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxdiv decl here.
8072
8073 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
8074
8075         inttypes: Move some configure check to module 'imaxabs'.
8076         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Require gl_INTTYPES_H_DEFAULTS
8077         instead of gl_INTTYPES_H.  Check for imaxabs decl here.
8078         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxabs decl here.
8079
8080 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
8081
8082         inttypes: Remove configure tests that are not needed since 2009-12-31.
8083         * m4/inttypes.m4 (gl_INTTYPES_H): Remove determination of
8084         gl_cv_header_working_inttypes_h.
8085
8086 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
8087
8088         * modules/strnlen (Depends-on): Remove memchr.
8089         The strnlen implementation doesn't need the memchr module's fixes; see
8090         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00237.html>.
8091
8092         strtol: remove dependency on wchar
8093         * lib/strtol.c: Include <wchar.h> only if USE_WIDE_CHAR is defined.
8094         * modules/strtol (Depends-on): Remove wchar.
8095
8096 2011-04-21  Eric Blake  <eblake@redhat.com>
8097
8098         passfd: fix test regression on Linux
8099         * modules/passfd-tests (configure.ac): Correct socketpair check.
8100
8101         passfd: speed up configure and drop unused code
8102         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Rename...
8103         * m4/passfd.m4 (gl_PASSFD): ...to something more fitting of
8104         its use.  Drop test for setting unused HAVE_UNIXSOCKET_SCM_RIGHTS.
8105         Instead of probing at configure for unix_scm_rights_bsd44_way,
8106         instead probe for CMSG_FIRSTHDR at compile time.  Simplify BSD 4.3
8107         check to a struct member probe.
8108         * lib/passfd.c (includes): Nothing here requires <sys/un.h>.
8109         (sendfd, recvfd): Update preprocessor checks.
8110         * modules/passfd (Files): Reflect rename, and drop unused file.
8111         (Depends-on): Drop unused dependency.
8112
8113         passfd: allow compilation on mingw
8114         * modules/sys_socket (Depends-on): Add sys_uio.
8115         * lib/sys_socket.in.h [!@HAVE_SYS_SOCKET_H@]: Use it for struct
8116         iovec and a minimal struct msghdr.
8117         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Detect recvmsg/sendmsg.
8118         * tests/test-sys_socket.c (main): Enhance test.
8119         * lib/passfd.c (include): Drop <sys/uio.h>; <sys/sockets.h> is
8120         guaranteed to provide what we need.
8121         (sendmsg, recvmsg): Declare fallbacks if we lack sendmsg.
8122         * modules/passfd-tests (Depends-on): Add sys_wait.
8123         * tests/test-passfd.c (main): Skip test on mingw, for now.
8124         * doc/posix-headers/sys_socket.texi (sys/socket.h): Document the
8125         partial 'struct msghdr' implementation.
8126
8127         sys_uio: new module
8128         * modules/sys_uio: New module.
8129         * modules/sys_uio-tests: Likewise.
8130         * lib/sys_uio.in.h: New file.
8131         * m4/sys_uio_h.m4: Likewise.
8132         * tests/test-sys_uio.c: Likewise.
8133         * doc/posix-headers/sys_uio.texi (sys/uio.h): Document it.
8134         * MODULES.html.sh (systems lacking POSIX:2008): Likewise.
8135
8136 2011-04-20  Jim Meyering  <meyering@redhat.com>
8137
8138         useless-if-before-free: avoid false-positive
8139         * build-aux/useless-if-before-free: Adjust regexp for the non-brace
8140         disjunct so that it too requires a terminating ";".  Without that,
8141         this script would identify as useless one statement from gcc that
8142         was not:
8143           if (aligned_ptr)
8144             free (((void **) aligned_ptr) [-1]);
8145
8146 2011-04-20  Giuseppe Scrivano  <gscrivano@gnu.org>
8147
8148         doc: update users.txt.
8149         * users.txt: Add barcode.
8150
8151 2011-04-19  Bruno Haible  <bruno@clisp.org>
8152
8153         ioctl: Remove link dependency on native Windows.
8154         * lib/fd-hook.h: Renamed from lib/close-hook.h.
8155         (gl_close_fn, gl_ioctl_fn): New types.
8156         (struct fd_hook): Renamed from struct close_hook. Change type of
8157         private_close_fn field. Add private_ioctl_fn field.
8158         (close_hook_fn): Add parameter for primary close method.
8159         (execute_close_hooks, execute_all_close_hooks): Likewise.
8160         (ioctl_hook_fn): New type.
8161         (execute_ioctl_hooks, execute_all_ioctl_hooks): New declarations.
8162         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
8163         argument.
8164         (unregister_fd_hook): Renamed from unregister_close_hook.
8165         * lib/fd-hook.c: Renamed from lib/close-hook.c.
8166         Don't include <unistd.h>.
8167         (close): Remove undef.
8168         (anchor): Update.
8169         (execute_close_hooks): Add argument for primary close method.
8170         (execute_all_close_hooks): Likewise.
8171         (execute_ioctl_hooks, execute_all_ioctl_hooks): New functions.
8172         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
8173         argument. Allow each argument to be NULL.
8174         (unregister_fd_hook): Renamed from unregister_close_hook.
8175         * lib/close.c (rpl_close): Pass 'close' function pointer to
8176         execute_all_close_hooks.
8177         * lib/ioctl.c: Include <errno.h>, fd-hook.h.
8178         (primary_ioctl): New function.
8179         (ioctl): Don't call ioctlsocket here. Instead, call
8180         execute_all_ioctl_hooks.
8181         * lib/sockets.c (close_fd_maybe_socket): Add argument for primary
8182         close method.
8183         (ioctl_fd_maybe_socket): New function, with code from lib/ioctl.c.
8184         (fd_sockets_hook): Renamed from close_sockets_hook.
8185         (gl_sockets_startup, gl_sockets_cleanup): Update.
8186         * modules/fd-hook: Renamed from modules/close-hook. Update.
8187         * modules/close (Depends-on): Add fd-hook, remove close-hook.
8188         * modules/sockets (Depends-on): Likewise.
8189         * modules/ioctl (Depends-on): Add fd-hook.
8190         * tests/test-nonblocking.c (main): Use GNULIB_TEST_SOCKET, not
8191         GNULIB_SOCKET.
8192
8193 2011-04-19  Bruno Haible  <bruno@clisp.org>
8194
8195         Move the support of O_NONBLOCK in open() to the 'open' module.
8196         * modules/nonblocking (Depends-on): Remove 'open'.
8197         * m4/nonblocking.m4 (gl_NONBLOCKING_IO_BODY): Set
8198         gl_cv_have_open_O_NONBLOCK.
8199         * m4/open.m4 (gl_FUNC_OPEN): Replace open() also when required for
8200         O_NONBLOCK support.
8201         * doc/posix-functions/open.texi: Document support for O_NONBLOCK.
8202
8203 2011-04-17  Bruno Haible  <bruno@clisp.org>
8204
8205         pipe2: Simplify code.
8206         * lib/pipe2.c (pipe2): Reduce code duplication.
8207
8208 2011-04-17  Bruno Haible  <bruno@clisp.org>
8209
8210         nonblocking: Add comment.
8211         * lib/fcntl.in.h (O_NONBLOCK): Add comment.
8212
8213 2011-04-17  Bruno Haible  <bruno@clisp.org>
8214
8215         nonblocking: Add tests for sockets.
8216         * tests/test-nonblocking-socket.sh: New file.
8217         * tests/test-nonblocking-socket-main.c: New file.
8218         * tests/test-nonblocking-socket-child.c: New file.
8219         * tests/test-nonblocking-socket.h: New file.
8220         * tests/socket-server.h: New file.
8221         * tests/socket-client.h: New file.
8222         * modules/nonblocking-socket-tests: New file.
8223         * modules/nonblocking-tests (Depends-on): Add nonblocking-socket-tests.
8224
8225 2011-04-17  Bruno Haible  <bruno@clisp.org>
8226
8227         nonblocking: Add tests for pipes.
8228         * tests/test-nonblocking-pipe.sh: New file.
8229         * tests/test-nonblocking-pipe-main.c: New file.
8230         * tests/test-nonblocking-pipe-child.c: New file.
8231         * tests/test-nonblocking-pipe.h: New file.
8232         * tests/test-nonblocking-writer.h: New file.
8233         * tests/test-nonblocking-reader.h: New file.
8234         * tests/test-nonblocking-misc.h: New file.
8235         * modules/nonblocking-pipe-tests: New file.
8236         * modules/nonblocking-tests (Depends-on): Add nonblocking-pipe-tests.
8237
8238 2011-04-16  Bruno Haible  <bruno@clisp.org>
8239
8240         gettext: Clarify the needed programmer actions.
8241         * modules/gettext (Notice): New field.
8242         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
8243
8244 2011-04-16  Bruno Haible  <bruno@clisp.org>
8245
8246         strchrnul: Tweak last commit.
8247         * doc/glibc-functions/strchrnul.texi: Add more details about Cygwin
8248         bug.
8249         * lib/string.in.h (strchrnul): Use same arguments in _GL_FUNCDECL_RPL
8250         as in _GL_FUNCDECL_SYS.
8251         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Invoke gl_PREREQ_STRCHRNUL after
8252         AC_LIBOBJ. When cross-compiling, say "guessing yes" not "yes".
8253
8254 2011-04-15  Eric Blake  <eblake@redhat.com>
8255
8256         strchrnul: work around cygwin bug
8257         * doc/glibc-functions/strchrnul.texi (strchrnul): Document bug.
8258         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Detect it.
8259         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New witness.
8260         * modules/string (Makefile.am): Substitute it.
8261         * lib/string.in.h (strchrnul): Use it.
8262
8263 2011-04-15  Bruno Haible  <bruno@clisp.org>
8264
8265         Don't require lib/stdio-write.c when only module 'stdio' is used.
8266         * m4/stdio_h.m4 (gl_STDIO_H): Move the AC_LIBOBJ back into the m4_ifdef
8267         invocation.
8268         Reported by Rob Vermaas <rob.vermaas@gmail.com>.
8269
8270 2011-04-14  Bruno Haible  <bruno@clisp.org>
8271
8272         Support non-blocking pipe I/O in read() on native Windows.
8273         * lib/unistd.in.h: Include <sys/types.h> also for 'read'.
8274         (read): New declaration.
8275         * lib/read.c: New file.
8276         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_SCANF,
8277         _GL_ATTRIBUTE_FORMAT_SCANF_SYSTEM): New macros.
8278         (fgetc, fgets, fread, fscanf, getc, getchar, gets, scanf, vfscanf,
8279         vscanf): New declarations.
8280         * lib/stdio-read.c: New file.
8281         * m4/read.m4: New file.
8282         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_READ,
8283         REPLACE_READ.
8284         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FGETC, GNULIB_FGETS,
8285         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
8286         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF. In non-blocking I/O is
8287         desired and needs workarounds, set REPLACE_STDIO_READ_FUNCS.
8288         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FGETC, GNULIB_FGETS,
8289         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
8290         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
8291         * modules/read: New file.
8292         * modules/nonblocking (Files): Add lib/stdio-read.c.
8293         * modules/unistd (Makefile.am): Substitute GNULIB_READ, REPLACE_READ.
8294         * modules/stdio (Makefile.am): Substitute GNULIB_FGETC, GNULIB_FGETS,
8295         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
8296         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
8297         * modules/pread (Depends-on): Add read.
8298         * modules/safe-read (Depends-on): Likewise.
8299         * tests/test-stdio-c++.cc (fgetc, fgets, fread, fscanf, getc, getchar,
8300         gets, scanf, vfscanf, vscanf): Verify signatures.
8301         * doc/posix-functions/read.texi: Mention 'nonblocking' module and
8302         problem with non-blocking pipes.
8303         * doc/posix-functions/fgetc.texi: Likewise.
8304         * doc/posix-functions/fgets.texi: Likewise.
8305         * doc/posix-functions/fread.texi: Likewise.
8306         * doc/posix-functions/fscanf.texi: Likewise.
8307         * doc/posix-functions/getc.texi: Likewise.
8308         * doc/posix-functions/getchar.texi: Likewise.
8309         * doc/posix-functions/gets.texi: Likewise.
8310         * doc/posix-functions/scanf.texi: Likewise.
8311         * doc/posix-functions/vfscanf.texi: Likewise.
8312         * doc/posix-functions/vscanf.texi: Likewise.
8313
8314 2011-04-14  Bruno Haible  <bruno@clisp.org>
8315
8316         Support non-blocking pipe I/O in write() on native Windows.
8317         * lib/write.c (rpl_write): Split a write request that failed merely
8318         because the byte count was larger than the pipe buffer's size.
8319         * doc/posix-functions/write.texi: Mention the problem with large byte
8320         counts.
8321
8322 2011-04-14  Bruno Haible  <bruno@clisp.org>
8323
8324         wchar: Ensure that wchar_t gets defined on uClibc.
8325         * lib/wchar.in.h: On uClibc, include <stddef.h>.
8326         Reported by Giuseppe Scrivano <gscrivano@gnu.org>.
8327
8328 2011-04-13  Bruno Haible  <bruno@clisp.org>
8329
8330         safe-write, full-read: Avoid unnecessary compilation units.
8331         * modules/safe-write (Files): Add lib/safe-read.c, m4/safe-read.m4.
8332         (Depends-on): Remove safe-read. Add ssize_t.
8333         * modules/full-read (Files): Add lib/full-write.c.
8334         (Depends-on): Add full-write.
8335
8336 2011-04-13  Bruno Haible  <bruno@clisp.org>
8337
8338         Support non-blocking pipe I/O and SIGPIPE in pwrite().
8339         * modules/pwrite (Depends-on): Add 'write'.
8340
8341 2011-04-13  Bruno Haible  <bruno@clisp.org>
8342
8343         Support non-blocking pipe I/O in write() on native Windows.
8344         * lib/unistd.in.h (write): Enable replacement also if
8345         GNULIB_UNISTD_H_NONBLOCKING is 1.
8346         * lib/write.c: Enable replacement also if GNULIB_NONBLOCKING.
8347         (rpl_write): When failing to write on a non-blocking pipe, change
8348         errno from ENOSPC to EAGAIN.
8349         * lib/stdio.in.h (fprintf, fputc, fputs, fwrite, printf, putc,
8350         putchar, puts, vfprintf, vprintf): Enable replacement also if
8351         GNULIB_STDIO_H_NONBLOCKING is 1.
8352         * lib/stdio-write.c: Enable replacements also if GNULIB_NONBLOCKING.
8353         (CLEAR_ERRNO, HANDLE_ENOSPC): New macros.
8354         (CLEAR_LastError, HANDLE_ERROR_NO_DATA): New macros, extracted from
8355         CALL_WITH_SIGPIPE_EMULATION.
8356         (CALL_WITH_SIGPIPE_EMULATION): Use them.
8357         * m4/nonblocking.m4: New file.
8358         * m4/write.m4 (gl_FUNC_WRITE): Enable REPLACE_WRITE also if required
8359         for non-blocking I/O support.
8360         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
8361         GNULIB_UNISTD_H_NONBLOCKING.
8362         * m4/stdio_h.m4 (gl_STDIO_H): Enable REPLACE_STDIO_WRITE_FUNCS also if
8363         required for non-blocking I/O support.
8364         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_STDIO_H_NONBLOCKING.
8365         * modules/nonblocking (Files): Add m4/nonblocking.m4,
8366         lib/stdio-write.c, m4/asm-underscore.m4.
8367         (Depends-on): Add stdio, unistd.
8368         (configure.ac): Invoke gl_NONBLOCKING_IO. Define GNULIB_NONBLOCKING.
8369         Set GNULIB_STDIO_H_NONBLOCKING, GNULIB_UNISTD_H_NONBLOCKING.
8370         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_NONBLOCKING.
8371         * modules/stdio (Makefile.am): Substitute GNULIB_STDIO_H_NONBLOCKING.
8372         * doc/posix-functions/fprintf.texi: Mention 'nonblocking' module and
8373         problem with non-blocking pipes.
8374         * doc/posix-functions/fputc.texi: Likewise.
8375         * doc/posix-functions/fputs.texi: Likewise.
8376         * doc/posix-functions/fwrite.texi: Likewise.
8377         * doc/posix-functions/printf.texi: Likewise.
8378         * doc/posix-functions/putc.texi: Likewise.
8379         * doc/posix-functions/putchar.texi: Likewise.
8380         * doc/posix-functions/puts.texi: Likewise.
8381         * doc/posix-functions/vfprintf.texi: Likewise.
8382         * doc/posix-functions/vprintf.texi: Likewise.
8383         * doc/posix-functions/write.texi: Likewise.
8384
8385 2011-04-10  Jim Meyering  <meyering@redhat.com>
8386
8387         maint.mk: prohibit doubled words
8388         Detect them also when they're separated by a newline.
8389         There are 3 ways to customize it:
8390           - disable the test on a per file basis, as usual with rules using
8391             $(VC_LIST_EXCEPT)
8392           - replace the default doubled-word-selecting regexp (affects all files)
8393           - ignore a particular file-vs-doubled-word match
8394         I nearly used that last one to ignore the "is is" match in
8395         coreutils' NEWS file, since the text was "ls -is is ..."
8396         To do that, I would have added this line to cfg.mk:
8397           ignore_doubled_word_match_RE_ = ^NEWS:[0-9]+:is[ ]is$
8398         but it would have ignored any "is is" match in NEWS.
8399         Low probability, but still...
8400         Instead, I changed the text, slightly:
8401           -  ls -is is now consistent with ls -lis in ignoring values returned
8402           +  "ls -is" is now consistent with ls -lis in ignoring values returned
8403         * top/maint.mk (prohibit_double_word_RE_): Provide default.
8404         (prohibit_doubled_word_): Define.
8405         (sc_prohibit_doubled_word): New rule.
8406         (sc_prohibit_the_the): Remove.  Subsumed by the above.
8407
8408 2011-04-10  Jim Meyering  <meyering@redhat.com>
8409
8410         maint: fix doubled-word typo in comment
8411         * m4/gethostname.m4: s/is is/it is/
8412         * m4/getdomainname.m4: Likewise.
8413
8414 2011-04-10  Jim Meyering  <meyering@redhat.com>
8415
8416         maint: remove doubled word: s/it it/it/
8417         * lib/stat-time.h (get_stat_birthtime): s/it it/it/
8418
8419 2011-04-10  Jim Meyering  <meyering@redhat.com>
8420
8421         maint.mk: remove useless semicolon and backslash
8422         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Remove stray
8423         semicolon and backslash.
8424
8425 2011-04-10  Bruno Haible  <bruno@clisp.org>
8426
8427         stdint test: Fix compilation failure on OSF/1 with DTK compiler.
8428         * modules/stdint-tests (Depends-on): Add wchar.
8429
8430 2011-04-10  Jim Meyering  <meyering@redhat.com>
8431
8432         maint: remove doubled words in comments, e.g., s/a a/a/
8433         * lib/strptime.c (day_of_the_week): s/the the/the/
8434         * tests/test-chown.h (test_chown): s/a a/a/
8435
8436         test-chown.h: correct a cast
8437         * tests/test-chown.h (test_chown): Cast -1 to gid_t (not uid_t)
8438         when the destination is a stat.st_gid.
8439
8440 2011-04-09  Mats Erik Andersson  <mats.andersson@gisladisker.se>  (tiny change)
8441
8442         getaddrinfo: Fix test for sa_len member.
8443         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): When testing for sa_len,
8444         include <sys/types.h> before <sys/socket.h>.
8445
8446 2011-04-09  Paul Eggert  <eggert@cs.ucla.edu>
8447
8448         maint: change "can not" to "cannot"
8449         * doc/posix-functions/iconv.texi (iconv): This one crossed line
8450         boundaries.
8451
8452 2011-04-09  Jim Meyering  <meyering@redhat.com>
8453
8454         maint: change "a a" to "a"
8455         * tests/test-lchown.h (test_lchown): s/a a/a/
8456
8457         maint.mk: prohibit \<the the\>
8458         * top/maint.mk (sc_prohibit_the_the): New rule.
8459
8460         maint: fix "the the" in comment
8461         * lib/count-one-bits.h: s/the the/the/
8462
8463         maint: change "can not" to "cannot"
8464         But do not change the occurrences in maintain.texi or in
8465         build-aux/po/Makefile.in.in, which I presume comes from gettext.
8466         * doc/gnulib-tool.texi: s/can not/cannot/
8467         * doc/posix-functions/accept.texi (accept): Likewise.
8468         * doc/posix-functions/socket.texi (socket): Likewise.
8469         * lib/mbrtowc.c: Likewise.
8470
8471         maint.mk: prohibit use of "can not"
8472         * top/maint.mk (sc_prohibit_can_not): New rule.
8473         Writing "can not" (rather than "cannot") is too common.  Prohibit it.
8474
8475 2011-04-09  Bruno Haible  <bruno@clisp.org>
8476
8477         careadlinkat: Guard against misuse of careadlinkatcwd.
8478         * lib/careadlinkat.c: Include <stdlib.h>.
8479         (careadlinkatcwd): Check that the fd argument is as expected.
8480
8481 2011-04-09  Bruno Haible  <bruno@clisp.org>
8482
8483         careadlinkat: Use common coding style.
8484         * lib/careadlinkat.c: Move gnulib includes after system includes.
8485
8486 2011-04-09  Bruno Haible  <bruno@clisp.org>
8487
8488         careadlinkat: Clarify specification.
8489         * lib/careadlinkat.h (careadlinkat): Clarify preadlinkat argument.
8490         (careadlinkatcwd): Add comment.
8491         * lib/careadlinkat.c (careadlinkat): Clarify preadlinkat argument.
8492
8493 2011-04-09  Bruno Haible  <bruno@clisp.org>
8494
8495         areadlinkat: Avoid link error on many platforms.
8496         * modules/areadlinkat (Depends-on): Add areadlink.
8497
8498 2011-04-09  Bruno Haible  <bruno@clisp.org>
8499
8500         allocator, careadlinkat: Fix double-inclusion guard.
8501         * lib/allocator.h: Fix double-inclusion guard.
8502         * lib/careadlinkat.h: Likewise.
8503
8504 2011-04-09  Bruno Haible  <bruno@clisp.org>
8505
8506         relocatable-prog-wrapper: Update after module 'areadlink' changed.
8507         * lib/relocwrapper.c: Update dependencies hierarchy.
8508         * build-aux/install-reloc: Update list of files to be compiled.
8509         * modules/relocatable-prog-wrapper (Files): Add lib/careadlinkat.[hc],
8510         lib/allocator.[hc].
8511
8512 2011-04-08  Eric Blake  <eblake@redhat.com>
8513
8514         strftime: silence gnulib-tool warning
8515         * modules/strftime-tests (Depends-on): Drop automatic dependency.
8516
8517 2011-04-08  Bruno Haible  <bruno@clisp.org>
8518
8519         verify: Fix syntax error with GCC 4.6 in C++ mode.
8520         * lib/verify.h (HAVE__STATIC_ASSERT): Don't define in C++ mode.
8521         (HAVE_STATIC_ASSERT): New macro.
8522         (verify_true, verify): Use 'static_assert' if it is supported and
8523         '_Static_assert' is not supported.
8524
8525 2011-04-08  Paul Eggert  <eggert@cs.ucla.edu>
8526
8527         allocator: New module.
8528         * modules/allocator, lib/allocator.c: New files.
8529         * lib/allocator.h (stdlib_allocator): New decl.
8530         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC, standard_allocator):
8531         Remove.  Do not include <stdlib.h>.
8532         (careadlinkat): Use stdlib_allocator instead of rolling our own.
8533         * modules/careadlinkat (Files): Remove lib/allocator.h.
8534         (Depends-on): Add allocator.
8535
8536         stdlib: let modules use system malloc, realloc
8537         * lib/stdlib.in.h (malloc, realloc): Don't #define or add warnings
8538         if !_GL_USE_STDLIB_ALLOC.
8539         (malloc, realloc): Limit this change to a smaller scope.
8540
8541         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC): Define.
8542         (malloc, realloc): Don't #undef; no longer needed.
8543         * lib/malloca.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
8544         * lib/progreloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
8545         * lib/setenv.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
8546         * lib/canonicalize-lgpl.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
8547         * lib/relocatable.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
8548         * lib/relocwrapper.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
8549         * lib/malloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
8550         * lib/realloc.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
8551
8552         careadlinkat: rename members to avoid problem
8553         * lib/allocator.h (struct allocator): Rename members from
8554         malloc/realloc to allocate/reallocate, to avoid problems if malloc
8555         and realloc are #define'd.  Reported by Eric Blake in
8556         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00091.html>.
8557         * lib/careadlinkat.c (careadlinkat): Adjust to renaming.
8558
8559 2011-04-08  Eric Blake  <eblake@redhat.com>
8560
8561         nonblocking: reduce dependency
8562         * tests/test-nonblocking.c: Only test sockets when in use.
8563         * modules/nonblocking-tests (Depends-on): Drop socket.
8564         (Makefile.am): Link even if sockets are not present.
8565         * modules/pipe2-tests (Makefile.am): Likewise.
8566         * lib/ioctl.c (ioctl) [WIN32]: Fail if sockets are not also in use.
8567
8568         pipe2: fix O_NONBLOCK support on mingw
8569         * modules/pipe2 (Depends-on): Add nonblocking.
8570         * lib/pipe2.c (pipe2) [WIN32]: Add O_NONBLOCK support.
8571         * tests/test-pipe2.c (is_nonblocking): Adjust test accordingly.
8572         * tests/test-nonblocking.c (main): Likewise.
8573         * modules/pipe2-tests (Makefile.am): Avoid link failure.
8574
8575         fcntl-h: fix O_ACCMODE on cygwin
8576         * doc/posix-headers/fcntl.texi (fcntl.h): Document the bug.
8577         * lib/fcntl.in.h (O_ACCMODE): Fix it.
8578
8579         pipe-filter: drop O_NONBLOCK workarounds
8580         * modules/pipe-filter-gi (Depends-on): Add fcntl-h.
8581         * modules/pipe-filter-ii (Depends-on): Likewise.
8582         * lib/pipe-filter-aux.h (O_NONBLOCK): Delete workaround.
8583
8584         nonblocking: provide O_NONBLOCK for mingw
8585         * modules/nonblocking (Depends-on): Add open.
8586         (configure.ac): Set new witness macro.
8587         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide default for it.
8588         * modules/fcntl-h (Makefile.am): Substitute it.
8589         * lib/fcntl.in.h (O_NONBLOCK): Guarantee non-zero definition when
8590         nonblocking module is in use.
8591         * lib/nonblocking.c: Adjust portability test.
8592         * lib/open.c (open): Don't let native open see gnulib flag.
8593         * tests/test-fcntl-h.c (main): Enhance test.
8594         * tests/test-open.h (test_open): Likewise.
8595         * doc/posix-headers/fcntl.texi (fcntl.h): Document the replacement.
8596
8597         careadlinkat: fix compilation error on mingw
8598         * lib/careadlinkat.c (standard_allocator): Avoid renaming fields
8599         within struct allocator.
8600
8601 2011-04-06  Eric Blake  <eblake@redhat.com>
8602
8603         binary-io: relicense under LGPLv2+
8604         * modules/binary-io (License): Relax to LGPLv2+.
8605         Requested for libvirt, and required by pipe2.
8606
8607 2011-04-06  Paul Eggert  <eggert@cs.ucla.edu>
8608
8609         verify: use _Static_assert if available
8610         * lib/verify.h (HAVE__STATIC_ASSERT): New macro.
8611         (verify_true, verify): Use it if available.  This generates better
8612         diagnostics with GCC 4.6.0 and later.
8613
8614 2011-04-05  Bruno Haible  <bruno@clisp.org>
8615
8616         Remove leftover generated .h files after config.status changed.
8617
8618         * m4/alloca.m4 (gl_FUNC_ALLOCA): New automake conditional
8619         GL_GENERATE_ALLOCA_H.
8620         * modules/alloca-opt (Makefile.am): Remove alloca.h if
8621         GL_GENERATE_ALLOCA_H evaluates to false.
8622
8623         * m4/argz.m4 (gl_FUNC_ARGZ): New automake conditional
8624         GL_GENERATE_ARGZ_H.
8625         * modules/argz (Makefile.am): Remove argz.h if GL_GENERATE_ARGZ_H
8626         evaluates to false.
8627
8628         * m4/byteswap.m4 (gl_BYTESWAP): New automake conditional
8629         GL_GENERATE_BYTESWAP_H.
8630         * modules/byteswap (Makefile.am): Remove byteswap.h if
8631         GL_GENERATE_BYTESWAP_H evaluates to false.
8632
8633         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): New automake conditional
8634         GL_GENERATE_ERRNO_H.
8635         * modules/errno (Makefile.am): Remove errno.h if GL_GENERATE_ERRNO_H
8636         evaluates to false.
8637
8638         * m4/float_h.m4 (gl_FLOAT_H): New automake conditional
8639         GL_GENERATE_FLOAT_H.
8640         * modules/float (Makefile.am): Remove float.h if GL_GENERATE_FLOAT_H
8641         evaluates to false.
8642
8643         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): New automake conditional
8644         GL_GENERATE_FNMATCH_H.
8645         * modules/fnmatch (Makefile.am): Remove fnmatch.h if
8646         GL_GENERATE_FNMATCH_H evaluates to false.
8647
8648         * m4/glob.m4 (gl_GLOB_SUBSTITUTE, gl_GLOB): New automake conditional
8649         GL_GENERATE_GLOB_H.
8650         * modules/glob (Makefile.am): Remove glob.h if GL_GENERATE_GLOB_H
8651         evaluates to false.
8652
8653         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H, gl_ICONV_H_DEFAULTS): New
8654         automake conditional GL_GENERATE_ICONV_H.
8655         * modules/iconv-h (Makefile.am): Remove iconv.h if GL_GENERATE_ICONV_H
8656         evaluates to false.
8657
8658         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): New automake conditional
8659         GL_GENERATE_NETINET_IN_H.
8660         * modules/netinet_in (Makefile.am): Remove netinet/in.h if
8661         GL_GENERATE_NETINET_IN_H evaluates to false.
8662
8663         * m4/pthread.m4 (gl_PTHREAD_CHECK): Set PTHREAD_H here. New automake
8664         conditional GL_GENERATE_PTHREAD_H.
8665         (gl_PTHREAD_DEFAULTS): Don't set PTHREAD_H here.
8666         * modules/pthread (Makefile.am): Remove pthread.h if
8667         GL_GENERATE_PTHREAD_H evaluates to false.
8668
8669         * m4/sched_h.m4 (gl_SCHED_H): New automake conditional
8670         GL_GENERATE_SCHED_H.
8671         * modules/sched (Makefile.am): Remove sched.h if GL_GENERATE_SCHED_H
8672         evaluates to false.
8673
8674         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): New automake
8675         conditional GL_GENERATE_SELINUX_CONTEXT_H.
8676         * modules/selinux-h (Makefile.am): Remove selinux/context.h if
8677         GL_GENERATE_SELINUX_CONTEXT_H evaluates to false.
8678
8679         * m4/stdarg.m4 (gl_STDARG_H): New automake conditional
8680         GL_GENERATE_STDARG_H.
8681         * modules/stdarg (Makefile.am): Remove stdarg.h if
8682         GL_GENERATE_STDARG_H evaluates to false.
8683
8684         * m4/stdbool.m4 (AM_STDBOOL_H): New automake conditional
8685         GL_GENERATE_STDBOOL_H.
8686         * modules/stdbool (Makefile.am): Remove stdbool.h if
8687         GL_GENERATE_STDBOOL_H evaluates to false.
8688
8689         * m4/stddef_h.m4 (gl_STDDEF_H): Set STDDEF_H here. New automake
8690         conditional GL_GENERATE_STDDEF_H.
8691         (gl_STDDEF_H_DEFAULTS): Don't set STDDEF_H here.
8692         * modules/stddef (Makefile.am): Remove stddef.h if
8693         GL_GENERATE_STDDEF_H evaluates to false.
8694
8695         * m4/stdint.m4 (gl_STDINT_H): New automake conditional
8696         GL_GENERATE_STDINT_H.
8697         * modules/stdint (Makefile.am): Remove stdint.h if
8698         GL_GENERATE_STDINT_H evaluates to false.
8699
8700         * m4/sysexits.m4 (gl_SYSEXITS): New automake conditional
8701         GL_GENERATE_SYSEXITS_H.
8702         * modules/sysexits (Makefile.am): Remove sysexits.h if
8703         GL_GENERATE_SYSEXITS_H evaluates to false.
8704
8705         Reported by Karl Berry and Ralf Wildenhues.
8706
8707 2011-04-05  Bruno Haible  <bruno@clisp.org>
8708
8709         Ensure to rebuild generated .h files when config.status has changed.
8710         * modules/arpa_inet (Makefile.am): Add dependency from .h file to
8711         config.status.
8712         * modules/ctype (Makefile.am): Likewise.
8713         * modules/dirent (Makefile.am): Likewise.
8714         * modules/errno (Makefile.am): Likewise.
8715         * modules/fcntl-h (Makefile.am): Likewise.
8716         * modules/float (Makefile.am): Likewise.
8717         * modules/getopt-posix (Makefile.am): Likewise.
8718         * modules/glob (Makefile.am): Likewise.
8719         * modules/iconv-h (Makefile.am): Likewise.
8720         * modules/inttypes (Makefile.am): Likewise.
8721         * modules/langinfo (Makefile.am): Likewise.
8722         * modules/locale (Makefile.am): Likewise.
8723         * modules/math (Makefile.am): Likewise.
8724         * modules/netdb (Makefile.am): Likewise.
8725         * modules/netinet_in (Makefile.am): Likewise.
8726         * modules/poll-h (Makefile.am): Likewise.
8727         * modules/pthread (Makefile.am): Likewise.
8728         * modules/pty (Makefile.am): Likewise.
8729         * modules/sched (Makefile.am): Likewise.
8730         * modules/search (Makefile.am): Likewise.
8731         * modules/selinux-h (Makefile.am): Likewise.
8732         * modules/signal (Makefile.am): Likewise.
8733         * modules/spawn (Makefile.am): Likewise.
8734         * modules/stdarg (Makefile.am): Likewise.
8735         * modules/stdbool (Makefile.am): Likewise.
8736         * modules/stddef (Makefile.am): Likewise.
8737         * modules/stdint (Makefile.am): Likewise.
8738         * modules/stdio (Makefile.am): Likewise.
8739         * modules/stdlib (Makefile.am): Likewise.
8740         * modules/string (Makefile.am): Likewise.
8741         * modules/strings (Makefile.am): Likewise.
8742         * modules/sys_file (Makefile.am): Likewise.
8743         * modules/sys_ioctl (Makefile.am): Likewise.
8744         * modules/sys_select (Makefile.am): Likewise.
8745         * modules/sys_socket (Makefile.am): Likewise.
8746         * modules/sys_stat (Makefile.am): Likewise.
8747         * modules/sys_time (Makefile.am): Likewise.
8748         * modules/sys_times (Makefile.am): Likewise.
8749         * modules/sys_utsname (Makefile.am): Likewise.
8750         * modules/sys_wait (Makefile.am): Likewise.
8751         * modules/sysexits (Makefile.am): Likewise.
8752         * modules/termios (Makefile.am): Likewise.
8753         * modules/time (Makefile.am): Likewise.
8754         * modules/unistd (Makefile.am): Likewise.
8755         * modules/wchar (Makefile.am): Likewise.
8756         * modules/wctype-h (Makefile.am): Likewise.
8757         Reported by Karl Berry, Eric Blake, and Ralf Wildenhues.
8758
8759 2011-04-05  Bruno Haible  <bruno@clisp.org>
8760
8761         pipe2: Relicense under LGPLv2+.
8762         * modules/pipe2 (License): Change to LGPLv2+.
8763         Requested by Eric Blake, for libvirt.
8764
8765 2011-04-05  Bruce Korb  <bkorb@gnu.org>
8766
8767         bootstrap: compute gnulib_extra_files after updating build_aux
8768         * build-aux/bootstrap (gnulib_extra_files): bootstrap.conf may
8769         change build_aux or also supply gnulib_extra_files.  Handle correctly.
8770
8771 2011-04-05  Eric Blake  <eblake@redhat.com>
8772
8773         bootstrap: preserve git whitelist item sorting
8774         * build-aux/bootstrap (sort_patterns): New function.
8775         (insert_sorted_if_absent): Use it to sink ! lines to the bottom.
8776
8777 2011-04-05  Simon Josefsson  <simon@josefsson.org>
8778
8779         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Don't trigger
8780         sc_space_tab check.
8781
8782 2011-04-05  Paul Eggert  <eggert@cs.ucla.edu>
8783
8784         areadlink, areadlinkat: rewrite in terms of careadlinkat
8785         * lib/areadlink.c, lib/areadlinkat.c: Include careadlinkat.h
8786         instead of errno.h, limits.h, stdint.h, stdlib.h, string.h, unistd.h.
8787         (SSIZE_MAX, INITIAL_BUF_SIZE): Remove.
8788         (malloc, realloc): Remove #undefs.
8789         (areadlink, areadlinkat): Rewrite in terms of careadlinkat.
8790         * modules/areadlink (Depends-on): Add careadlinkat.  Remove
8791         readlink, ssize_t, stdint, unistd.
8792         * modules/areadlinkat (Depends-on): Add careadlinkat.  Remove
8793         areadlink, stdint.
8794
8795         careadlinkat: new module
8796         * lib/allocator.h, lib/careadlinkat.h, lib/careadlinkat.c:
8797         * modules/careadlinkat: New files, written by me with
8798         a review and feedback from Ben Pfaff in
8799         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00008.html>.
8800
8801 2011-04-01  Bruno Haible  <bruno@clisp.org>
8802
8803         wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr: Avoid errors in C++ mode.
8804         * lib/wchar.in.h (wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr): Use
8805         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS. On glibc >= 2.10
8806         systems, use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN.
8807         Reported by Bruce Korb <bruce.korb@gmail.com>.
8808
8809 2011-04-01  Bruno Haible  <bruno@clisp.org>
8810
8811         wcpcpy, wcpncpy: Ensure declaration on glibc >= 2.13 systems.
8812         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Require AC_USE_SYSTEM_EXTENSIONS.
8813         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Likewise.
8814         * modules/wcpcpy (Depends-on): Add extensions.
8815         * modules/wcpncpy (Depends-on): Likewise.
8816         * doc/posix-functions/wcpcpy.texi: Mention missing declaration on glibc
8817         systems.
8818         * doc/posix-functions/wcpncpy.texi: Likewise.
8819         * doc/posix-functions/wcwidth.texi: Likewise.
8820
8821 2011-03-31  Eric Blake  <eblake@redhat.com>
8822
8823         nonblocking: fix mingw test failures
8824         * lib/nonblocking.c (set_nonblocking_flag): Succeed when clearing
8825         non-blocking flag on regular file.
8826         (get_nonblocking_flag): Set errno on invalid fd.
8827         * tests/test-nonblocking.c (main): Avoid test failure on
8828         directories if fchdir is not active.
8829         * modules/nonblocking-tests (Depends-on): Drop unused dependency.
8830
8831 2011-03-31  Bruno Haible  <bruno@clisp.org>
8832
8833         Fix bug with gl_WARN_ON_USE_PREPARE, introduced on 2011-01-23.
8834         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): Hide the
8835         gl_WARN_ON_USE_PREPARE definition from 'aclocal'.
8836         Reported by Simon Josefsson <simon@josefsson.org>.
8837
8838 2011-03-31  Bruno Haible  <bruno@clisp.org>
8839         and Eric Blake  <eblake@redhat.com>
8840
8841         nonblocking: new module
8842         * modules/nonblocking: New module.
8843         * modules/nonblocking-tests: Likewise.
8844         * lib/nonblocking.h: New file.
8845         * lib/nonblocking.c: Likewise.
8846         * tests/test-nonblocking.c: New test.
8847         * lib/ioctl.c (ioctl) [mingw]: Update comment.
8848
8849 2011-03-30  Bruno Haible  <bruno@clisp.org>
8850
8851         stdio: Avoid GCC >= 4.4 warnings when using %lld and similar on mingw.
8852         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_PRINTF): Use 'gnu_printf' format
8853         instead of 'printf' format for GCC >= 4.4.
8854         (_GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM): New macro.
8855         (fprintf, printf, vfprintf, vprintf): Declare with
8856         _GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM when the function ends up calling
8857         the system's vfprintf() function.
8858         Reported by Daniel P. Berrange <berrange@redhat.com> via Eric Blake.
8859
8860 2011-03-30  Eric Blake  <eblake@redhat.com>
8861
8862         passfd: fix scoping bug
8863         * lib/passfd.c (sendfd, recvfd): Don't let buf go out of scope
8864         before sendmsg/recvmsg.
8865
8866         passfd: standardize coding conventions
8867         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Drop check for something that
8868         can be learned at compile time.
8869         * lib/passfd.c (MSG_CMSG_CLOEXEC): Reduce number of in-function
8870         ifdefs.
8871         (sendfd, recvfd): Follow gnulib code conventions.
8872
8873         passfd: fix incorrect sendmsg arguments
8874         * lib/passfd.c (sendfd): Avoid uninitialized msg_flags field, and
8875         incorrect msg_controllen value.
8876         * modules/passfd-tests (Depends-on): Check for alarm.
8877         * tests/test-passfd.c (main) [HAVE_DECL_ALARM]: Avoid hanging test.
8878         Reported by Bastien ROUCARIES.
8879
8880 2011-03-30  Bruno Haible  <bruno@clisp.org>
8881
8882         c-strcasestr: Relicense under LGPLv2+.
8883         * modules/c-strcasestr (License): Change to LGPLv2+.
8884         Requested by Eric Blake, for libvirt.
8885
8886 2011-03-30  Simon Josefsson  <simon@josefsson.org>
8887
8888         * users.txt: Add libidn2.  Fix libtasn1 link.
8889
8890 2011-03-30  Jim Meyering  <meyering@redhat.com>
8891
8892         tests: readlink* ("",... fails with EINVAL on newer kernels
8893         readlink and readlinkat have typically failed with ENOENT for
8894         the invalid, empty file name,  "".  However, with the advent
8895         of linux-2.6.39, they fail with EINVAL.
8896         * tests/test-areadlink.h (test_areadlink): Also accept EINVAL
8897         when operating on the empty file name.
8898         * tests/test-readlink.h (test_readlink): Likewise.
8899
8900 2011-03-29  Bruno Haible  <bruno@clisp.org>
8901
8902         Relicense some modules under LGPLv2+, for libidn2.
8903         * modules/array-mergesort (License): Change to LGPLv2+.
8904         * modules/c-strcaseeq (License): Likewise.
8905         * modules/striconveh (License): Likewise.
8906         * modules/striconveha (License): Likewise.
8907         * modules/uniconv/base (License): Likewise.
8908         * modules/uniconv/u8-conv-from-enc (License): Likewise.
8909         * modules/uniconv/u8-strconv-from-enc (License): Likewise.
8910         * modules/uniconv/u8-strconv-from-locale (License): Likewise.
8911         * modules/unictype/base (License): Likewise.
8912         * modules/unictype/bidiclass-of (License): Likewise.
8913         * modules/unictype/category-M (License): Likewise.
8914         * modules/unictype/category-none (License): Likewise.
8915         * modules/unictype/category-of (License): Likewise.
8916         * modules/unictype/category-test (License): Likewise.
8917         * modules/unictype/category-test-withtable (License): Likewise.
8918         * modules/unictype/combining-class (License): Likewise.
8919         * modules/unictype/joiningtype-of (License): Likewise.
8920         * modules/unictype/scripts (License): Likewise.
8921         * modules/uninorm/base (License): Likewise.
8922         * modules/uninorm/canonical-decomposition (License): Likewise.
8923         * modules/uninorm/composition (License): Likewise.
8924         * modules/uninorm/decompose-internal (License): Likewise.
8925         * modules/uninorm/decomposition-table (License): Likewise.
8926         * modules/uninorm/nfc (License): Likewise.
8927         * modules/uninorm/nfd (License): Likewise.
8928         * modules/uninorm/u32-normalize (License): Likewise.
8929         * modules/unistr/base (License): Likewise.
8930         * modules/unistr/u32-cpy (License): Likewise.
8931         * modules/unistr/u32-mbtouc-unsafe (License): Likewise.
8932         * modules/unistr/u32-to-u8 (License): Likewise.
8933         * modules/unistr/u32-uctomb (License): Likewise.
8934         * modules/unistr/u8-check (License): Likewise.
8935         * modules/unistr/u8-mblen (License): Likewise.
8936         * modules/unistr/u8-mbtouc (License): Likewise.
8937         * modules/unistr/u8-mbtouc-unsafe (License): Likewise.
8938         * modules/unistr/u8-mbtoucr (License): Likewise.
8939         * modules/unistr/u8-prev (License): Likewise.
8940         * modules/unistr/u8-strlen (License): Likewise.
8941         * modules/unistr/u8-to-u32 (License): Likewise.
8942         * modules/unistr/u8-uctomb (License): Likewise.
8943         * modules/unitypes (License): Likewise.
8944         Requested by Simon Josefsson.
8945
8946 2011-03-29  Simon Josefsson  <simon@josefsson.org>
8947
8948         lib-symbol-visibility: Add a notice.
8949         * modules/lib-symbol-visibility (Notice): New field.
8950
8951 2011-03-29  Bruno Haible  <bruno@clisp.org>
8952
8953         getaddrinfo: Doc fix.
8954         * doc/posix-functions/getaddrinfo.texi: Mention Windows problem in the
8955         section "fixed in Gnulib".
8956
8957 2011-03-28  Simon Josefsson  <simon@josefsson.org>
8958
8959         * doc/posix-functions/getaddrinfo.texi: Drop netdb.h discussion.
8960         Reported by Bastien ROUCARIES <roucaries.bastien@gmail.com>.
8961
8962 2011-03-26  Bruno Haible  <bruno@clisp.org>
8963
8964         unictype/property-byname: Reduce the number of load-time relocations.
8965         * lib/unictype/pr_byname.c: Include <stdlib.h>.
8966         (UC_PROPERTY_INDEX_*): New enumeration values.
8967         (uc_property_byname): Convert an index from the lookup table to an
8968         uc_property_t.
8969         * lib/unictype/pr_byname.gperf: Store indices instead of uc_property_t
8970         values.
8971
8972 2011-03-26  Bruno Haible  <bruno@clisp.org>
8973
8974         unictype/property-byname: Allow omitted word separators and aliases.
8975         * lib/unictype/pr_byname.gperf: Add property names without word
8976         separators. Add aliases from Unicode 6.0 PropertyAliases.txt, except
8977         for 'space'.
8978
8979 2011-03-26  Bruno Haible  <bruno@clisp.org>
8980
8981         unictype/joininggroup-byname: Allow hyphens, omitted word separators.
8982         * lib/unictype/joininggroup_byname.c (uc_joining_group_byname): Convert
8983         also hyphens to space.
8984         * lib/unictype/joininggroup_byname.gperf: Recognize the names also
8985         without spaces.
8986         * tests/unictype/test-joininggroup_byname.c (main): Add more tests.
8987
8988 2011-03-26  Bruno Haible  <bruno@clisp.org>
8989
8990         unictype/joiningtype-byname: Recognize long names as well.
8991         * lib/unictype.in.h (uc_joiningtype_class_byname): Allow argument to be
8992         a long name.
8993         * lib/unictype/joiningtype_byname.c: Include <string.h>,
8994         unictype/joiningtype_byname.h.
8995         (uc_joiningtype_class_byname): Use uc_joining_type_lookup.
8996         * lib/unictype/joiningtype_byname.gperf: New file.
8997         * modules/unictype/joiningtype-byname (Files): Add
8998         lib/unictype/joiningtype_byname.gperf.
8999         (Depends-on): Add gperf.
9000         (Makefile.am): Add rule for generating unictype/joiningtype_byname.h.
9001         * tests/unictype/test-joiningtype_byname.c (main): Test the recognition of
9002         long names.
9003
9004         Tests for module 'unictype/joiningtype-longname'.
9005         * modules/unictype/joiningtype-longname-tests: New file.
9006         * tests/unictype/test-joiningtype_longname.c: New file.
9007
9008         New module 'unictype/joiningtype-longname'.
9009         * lib/unictype.in.h (uc_joiningtype_class_long_name): New declaration.
9010         * lib/unictype/joiningtype_longname.c: New file.
9011         * modules/unictype/joiningtype-longname: New file.
9012         * modules/unictype/joiningtype-all (Depends-on): Add
9013         unictype/joiningtype-longname.
9014
9015 2011-03-26  Bruno Haible  <bruno@clisp.org>
9016
9017         unictype/bidiclass-byname: Recognize long names as well.
9018         * lib/unictype.in.h (uc_bidi_class_byname): Allow argument to be a long
9019         name.
9020         * lib/unictype/bidi_byname.c: Include <string.h>,
9021         unictype/bidi_byname.h.
9022         (uc_bidi_class_byname): Use uc_bidi_class_lookup.
9023         * lib/unictype/bidi_byname.gperf: New file.
9024         * modules/unictype/bidiclass-byname (Files): Add
9025         lib/unictype/bidi_byname.gperf.
9026         (Depends-on): Add gperf.
9027         (Makefile.am): Add rule for generating unictype/bidi_byname.h.
9028         * tests/unictype/test-bidi_byname.c (main): Test the recognition of
9029         long names.
9030
9031         Tests for module 'unictype/bidiclass-longname'.
9032         * modules/unictype/bidiclass-longname-tests: New file.
9033         * tests/unictype/test-bidi_longname.c: New file.
9034
9035         New module 'unictype/bidiclass-longname'.
9036         * lib/unictype.in.h (uc_bidi_class_long_name): New declaration.
9037         * lib/unictype/bidi_longname.c: New file.
9038         * modules/unictype/bidiclass-longname: New file.
9039         * modules/unictype/bidiclass-all (Depends-on): Add
9040         unictype/bidiclass-longname.
9041
9042 2011-03-26  Bruno Haible  <bruno@clisp.org>
9043
9044         unictype/bidi*: Rename modules.
9045         * modules/unictype/bidiclass-all: Renamed from
9046         modules/unictype/bidicategory-all.
9047         * modules/unictype/bidiclass-name: Renamed from
9048         modules/unictype/bidiclass-name.
9049         (Description): Update.
9050         * modules/unictype/bidiclass-name-tests: Renamed from
9051         modules/unictype/bidicategory-name-tests.
9052         * modules/unictype/bidiclass-byname: Renamed from
9053         modules/unictype/bidicategory-byname.
9054         (Description): Update.
9055         * modules/unictype/bidiclass-byname-tests: Renamed from
9056         modules/unictype/bidicategory-byname-tests.
9057         * modules/unictype/bidiclass-of: Renamed from
9058         modules/unictype/bidicategory-of.
9059         (Description): Update.
9060         * modules/unictype/bidiclass-of-tests: Renamed from
9061         modules/unictype/bidicategory-of-tests.
9062         * modules/unictype/bidiclass-test: Renamed from
9063         modules/unictype/bidicategory-test.
9064         (Description): Update.
9065         * modules/unictype/bidiclass-test-tests: Renamed from
9066         modules/unictype/bidicategory-test-tests.
9067         * modules/unictype/bidicategory-all: New file, a simple redirection.
9068         * modules/unictype/bidicategory-name: Likewise.
9069         * modules/unictype/bidicategory-byname: Likewise.
9070         * modules/unictype/bidicategory-of: Likewise.
9071         * modules/unictype/bidicategory-test: Likewise.
9072         * modules/unictype/property-bidi-* (Dependencies): Update.
9073         * lib/unictype/bidi_*.c: Update comment.
9074
9075 2011-03-26  Bruno Haible  <bruno@clisp.org>
9076
9077         unictype/bidi*: Rename functions, part 2.
9078         * modules/unictype/bidicategory-name (configure.ac): Update required
9079         libunistring version.
9080         * modules/unictype/bidicategory-byname (configure.ac): Likewise.
9081
9082 2011-03-25  Bruno Haible  <bruno@clisp.org>
9083
9084         New module 'unictype/combining-class-all'.
9085         * modules/unictype/combining-class-all: New file.
9086
9087         Tests for module 'unictype/combining-class-byname'.
9088         * modules/unictype/combining-class-byname-tests: New file.
9089         * tests/unictype/test-combiningclass_byname.c: New file.
9090
9091         New module 'unictype/combining-class-byname'.
9092         * lib/unictype.in.h (uc_combining_class_byname): New declaration.
9093         * lib/unictype/combiningclass_byname.c: New file.
9094         * lib/unictype/combiningclass_byname.gperf: New file.
9095         * modules/unictype/combining-class-byname: New file.
9096
9097         Tests for module 'unictype/combining-class-longname'.
9098         * modules/unictype/combining-class-longname-tests: New file.
9099         * tests/unictype/test-combiningclass_longname.c: New file.
9100
9101         New module 'unictype/combining-class-longname'.
9102         * lib/unictype.in.h (uc_combining_class_long_name): New declaration.
9103         * lib/unictype/combiningclass_longname.c: New file.
9104         * modules/unictype/combining-class-longname: New file.
9105
9106         Tests for module 'unictype/combining-class-name'.
9107         * modules/unictype/combining-class-name-tests: New file.
9108         * tests/unictype/test-combiningclass_name.c: New file.
9109
9110         New module 'unictype/combining-class-name'.
9111         * lib/unictype.in.h (uc_combining_class_name): New declaration.
9112         * lib/unictype/combiningclass_name.c: New file.
9113         * modules/unictype/combining-class-name: New file.
9114
9115 2011-03-25  Bruno Haible  <bruno@clisp.org>
9116
9117         unictype/combining-class: Rename source files.
9118         * lib/gen-uni-tables.c (main): Emit unictype/combiningclass.h instead
9119         of unictype/combining.h.
9120         * lib/unictype/combiningclass.c: Renamed from lib/unictype/combining.c.
9121         Update.
9122         * lib/unictype/combiningclass.h: Renamed from lib/unictype/combining.h.
9123         * modules/unictype/combining-class (Description): Fix.
9124         (Files, Makefile.am): Update.
9125         * tests/unictype/test-combiningclass.c: Renamed from
9126         tests/unictype/test-combining.c.
9127         * modules/unictype/combining-class-tests (Files, Makefile.am): Update.
9128
9129 2011-03-25  Bruno Haible  <bruno@clisp.org>
9130
9131         unictype: Update list of canonical combining classes.
9132         * lib/unictype.in.h (UC_CCC_ATA): New enumeration value.
9133
9134 2011-03-25  Bruno Haible  <bruno@clisp.org>
9135
9136         unictype/category-byname: Recognize long names as well.
9137         * lib/unictype.in.h (uc_general_category_byname): Allow argument to be
9138         a long name.
9139         * lib/unictype/categ_byname.c: Include <stdlib.h>, <string.h>,
9140         unictype/categ_byname.h.
9141         (UC_CATEGORY_INDEX_*): New enumeration values.
9142         (uc_general_category_byname): Use uc_general_category_lookup and
9143         convert from index to value.
9144         * lib/unictype/categ_byname.gperf: New file.
9145         * modules/unictype/category-byname (Files): Add
9146         lib/unictype/categ_byname.gperf.
9147         (Depends-on): Add gperf.
9148         (Makefile.am): Add rule for generating unictype/categ_byname.h.
9149         * tests/unictype/test-categ_byname.c (main): Test the recognition of
9150         long names.
9151
9152         Tests for module 'unictype/category-longname'.
9153         * modules/unictype/category-longname-tests: New file.
9154         * tests/unictype/test-categ_longname.c: New file.
9155
9156         New module 'unictype/category-longname'.
9157         * lib/unictype.in.h (uc_general_category_long_name): New declaration.
9158         * lib/unictype/categ_longname.c: New file.
9159         * modules/unictype/category-longname: New file.
9160         * modules/unictype/category-all (Depends-on): Add it.
9161
9162 2011-03-25  Bruno Haible  <bruno@clisp.org>
9163
9164         Tests for module 'unictype/category-LC'.
9165         * modules/unictype/category-LC-tests: New file.
9166         * tests/unictype/test-categ_LC.c: New file, automatically generated.
9167
9168         New module 'unictype/category-LC'.
9169         * lib/unictype.in.h (UC_CATEGORY_MASK_LC): New enumeration value.
9170         (UC_CATEGORY_LC): New declaration.
9171         (UC_CASED_LETTER): New macro.
9172         * lib/gen-uni-tables.c (is_category_LC): New function.
9173         (output_categories): Also handle category LC.
9174         (UC_CATEGORY_MASK_LC): New enumeration value.
9175         (general_category_byname): Also handle category LC.
9176         * lib/unictype/categ_LC.c: New file.
9177         * lib/unictype/categ_LC.h: New file, automatically generated.
9178         * lib/unictype/categ_name.c (uc_general_category_name): Also handle
9179         category LC.
9180         * lib/unictype/categ_byname.c (uc_general_category_byname): Likewise.
9181         * modules/unictype/category-LC: New file.
9182         * modules/unictype/category-byname (Depends-on): Add
9183         unictype/category-LC.
9184         * modules/unictype/category-all (Depends-on): Likewise.
9185
9186 2011-03-25  Eric Blake  <eblake@redhat.com>
9187
9188         xmalloc: revert yesterday's regression
9189         * lib/xmalloc.c (xrealloc): Once again forward xrealloc(NULL,0) to
9190         realloc's underlying behavior (allowing allocation of zero-size
9191         objects, especially if malloc-gnu is also in use).
9192
9193 2011-03-25  Reuben Thomas  <rrt@sc3d.org>
9194
9195         maint.mk: add missing version to VC-tag
9196         * top/maint.mk: git tag was missing actual tag name; add it.
9197
9198         valgrind: do leak checking, and exit with code 1 on error (not 0)
9199         * m4/valgrind-tests.m4: Add `--error-exitcode=1 --leak-check=full'
9200         to VALGRIND.
9201
9202 2010-11-30  Reuben Thomas  <rrt@sc3d.org>
9203
9204         posix-modules: say what it does.
9205         * posix-modules: Add a line to the --help output saying what it does.
9206
9207 2011-03-24  Paul Eggert  <eggert@cs.ucla.edu>
9208
9209         xmalloc: Do not leak if underlying realloc is C99 compatible.
9210         * lib/xmalloc.c (xrealloc): If N is zero, call 'free' directly.
9211         This avoids a leak on C99-based systems.  See
9212         <http://lists.gnu.org/archive/html/bug-gnulib/2011-03/msg00243.html>.
9213
9214 2011-03-24  Eric Blake  <eblake@redhat.com>
9215
9216         realloc: document portability problem
9217         * doc/posix-functions/realloc.texi (realloc): Mention pitfalls of
9218         passing 0 size to realloc.
9219
9220 2011-03-23  Ben Walton  <bwalton@artsci.utoronto.ca>
9221
9222         doc: update users.txt
9223         * users.txt: Add cvsps, tmpwatch
9224
9225 2011-03-23  Matt Rice  <ratmice@gmail.com>
9226
9227         doc: update users.txt
9228         * users.txt: Add gdb.
9229
9230 2011-03-23  Jim Meyering  <meyering@redhat.com>
9231
9232         doc: update users.txt
9233         Looking through matches up to the following URL (there are still
9234         several more pages), I found several projects that use gnulib:
9235         http://codesearch.google.com/codesearch?start=50&q=gnulib-cache\.m4
9236         * users.txt: Add nagios plugins (nagiosplug), acct, gengetopt,
9237         gmediaserver, gtkreindeer, jugtail, libunistring, mini-httpd, reindeer.
9238
9239 2011-03-22  Bruno Haible  <bruno@clisp.org>
9240
9241         unictype/bidi*: Rename functions.
9242         * lib/unictype.in.h (uc_bidi_class_name, uc_bidi_class_byname,
9243         uc_bidi_class, uc_is_bidi_class): New declarations.
9244         * lib/unictype/bidi_byname.c (uc_bidi_class_byname): Renamed from
9245         uc_bidi_category_byname.
9246         (uc_bidi_category_byname): New function.
9247         * lib/unictype/bidi_name.c (u_bidi_class_name): Renamed from
9248         u_bidi_category_name.
9249         (uc_bidi_class_name): Renamed from uc_bidi_category_name.
9250         (uc_bidi_category_name): New function.
9251         * lib/unictype/bidi_of.c (uc_bidi_class): Renamed from
9252         uc_bidi_category.
9253         (uc_bidi_category): New function.
9254         * lib/unictype/bidi_test.c (uc_is_bidi_class): Renamed from
9255         uc_is_bidi_category. Invoke uc_bidi_class.
9256         (uc_is_bidi_category): New function.
9257         * tests/unictype/test-bidi_byname.c (main): Test uc_bidi_class_byname
9258         instead of uc_bidi_category_byname.
9259         * tests/unictype/test-bidi_name.c (main): Test uc_bidi_class_name
9260         instead of uc_bidi_category_name.
9261         * tests/unictype/test-bidi_of.c (main): Test uc_bidi_class instead of
9262         uc_bidi_category.
9263         * tests/unictype/test-bidi_test.c (main): Test uc_is_bidi_class
9264         instead of uc_is_bidi_category.
9265
9266 2011-03-21  Bruno Haible  <bruno@clisp.org>
9267
9268         New module 'unictype/joininggroup-all'.
9269         * modules/unictype/joininggroup-all: New file.
9270
9271         Tests for module 'unictype/joininggroup-of'.
9272         * modules/unictype/joininggroup-of-tests: New file.
9273         * tests/unictype/test-joininggroup_of.c: New file.
9274         * tests/unictype/test-joininggroup_of.h: New file, automatically
9275         generated by gen-uni-tables.
9276
9277         New module 'unictype/joininggroup-of'.
9278         * modules/unictype/joininggroup-of: New file.
9279         * lib/unictype/joininggroup_of.c: New file.
9280         * lib/unictype/joininggroup_of.h: New file, automatically generated by
9281         gen-uni-tables.
9282
9283         Tests for module 'unictype/joininggroup-byname'.
9284         * modules/unictype/joininggroup-byname-tests: New file.
9285         * tests/unictype/test-joininggroup_byname.c: New file.
9286
9287         New module 'unictype/joininggroup-byname'.
9288         * modules/unictype/joininggroup-byname: New file.
9289         * lib/unictype/joininggroup_byname.c: New file.
9290         * lib/unictype/joininggroup_byname.gperf: New file.
9291
9292         Tests for module 'unictype/joininggroup-name'.
9293         * modules/unictype/joininggroup-name-tests: New file.
9294         * tests/unictype/test-joininggroup_name.c: New file.
9295
9296         New module 'unictype/joininggroup-name'.
9297         * modules/unictype/joininggroup-name: New file.
9298         * lib/unictype/joininggroup_name.c: New file.
9299         * lib/unictype/joininggroup_name.h: New file.
9300
9301         New module 'unictype/joiningtype-all'.
9302         * modules/unictype/joiningtype-all: New file.
9303
9304         Tests for module 'unictype/joiningtype-of'.
9305         * modules/unictype/joiningtype-of-tests: New file.
9306         * tests/unictype/test-joiningtype_of.c: New file.
9307         * tests/unictype/test-joiningtype_of.h: New file, automatically
9308         generated by gen-uni-tables.
9309
9310         New module 'unictype/joiningtype-of'.
9311         * modules/unictype/joiningtype-of: New file.
9312         * lib/unictype/joiningtype_of.c: New file.
9313         * lib/unictype/joiningtype_of.h: New file, automatically generated by
9314         gen-uni-tables.
9315
9316         Tests for module 'unictype/joiningtype-byname'.
9317         * modules/unictype/joiningtype-byname-tests: New file.
9318         * tests/unictype/test-joiningtype_byname.c: New file.
9319
9320         New module 'unictype/joiningtype-byname'.
9321         * modules/unictype/joiningtype-byname: New file.
9322         * lib/unictype/joiningtype_byname.c: New file.
9323
9324         Tests for module 'unictype/joiningtype-name'.
9325         * modules/unictype/joiningtype-name-tests: New file.
9326         * tests/unictype/test-joiningtype_name.c: New file.
9327
9328         New module 'unictype/joiningtype-name'.
9329         * modules/unictype/joiningtype-name: New file.
9330         * lib/unictype/joiningtype_name.c: New file.
9331
9332         unictype: Add support for Arabic shaping properties.
9333         * lib/unictype.in.h (UC_JOINING_TYPE_*): New enumeration values.
9334         (uc_joining_type_name, uc_joining_type_byname, uc_joining_type): New
9335         declarations.
9336         (UC_JOINING_GROUP_*): New enumeration values.
9337         (uc_joining_group_name, uc_joining_group_byname, uc_joining_group): New
9338         declarations.
9339         * lib/gen-uni-tables.c (UC_JOINING_TYPE_*): New enumeration values.
9340         (unicode_joining_type): New variable.
9341         (UC_JOINING_GROUP_*): New enumeration values.
9342         (unicode_joining_group): New variable.
9343         (fill_arabicshaping, joining_type_as_c_identifier,
9344         output_joining_type_test, output_joining_type,
9345         joining_group_as_c_identifier, output_joining_group_test,
9346         output_joining_group): New functions.
9347         (main); Add an argument denoting the ArabicShaping.txt file. Invoke
9348         fill_arabicshaping and output_joining_type_test, output_joining_type,
9349         output_joining_group_test, output_joining_group.
9350         Reported by Simon Josefsson.
9351
9352 2011-03-21  Jim Meyering  <meyering@redhat.com>
9353
9354         strftime: fix a bug in yesterday's change
9355         * lib/strftime.c (add): Accommodate width's initial value of -1.
9356         Otherwise, nstrftime would copy uninitialized data into
9357         the result buffer.
9358
9359 2011-03-21  Jim Meyering  <meyering@redhat.com>
9360
9361         tests: add strftime-tests module
9362         * tests/test-strftime.c: New file.
9363         * modules/strftime-tests: New module.
9364
9365 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
9366
9367         strftime: don't assume a byte count fits in 'int'
9368         * lib/strftime.c (add): Don't assume first arg fits in 'int'.  I
9369         found this problem by static analysis, using gcc -Wstrict-overflow
9370         (GCC 4.5.2, x86-64).  This reported an optimization that depended
9371         on an integer overflow having undefined behavior, but it turns out
9372         that the argument is a size, which might not fit in 'int' anyway,
9373
9374 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
9375
9376         stdio: don't require ignore_value around fwrite
9377
9378         This patch works around libc bug 11959
9379         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=11959>.
9380         Without this patch, applications must often write
9381         ignore_value (fwrite (...)) even though the ignore_value is
9382         not helpful here.  It's common to write many objects, using
9383         fwrite/printf/etc., and then use ferror to detect output error.
9384
9385         I considered making this patch optional, but decided against it,
9386         because libc is obviously being inconsistent here: there is no
9387         reason libc should insist that user code must inspect fwrite
9388         return's value without also insisting that it inspect printf's,
9389         putchar's, etc.  If user code wants to have a strict style where
9390         all these functions' values are checked (so that ferror need not
9391         be checked), we could add support for that style in a new gnulib
9392         module, but in the meantime it's better to be consistent and to
9393         support common usage.
9394
9395         * lib/stdio.in.h (rpl_fwrite): Define this wrapper around fwrite,
9396         to work around libc bug 11959, if __USE_FORTIFY_LEVEL indicates
9397         that we are compiling in checking mode, and if not C++, and
9398         if not already wrapping fwrite for some other reason.
9399         (fwrite): #define to rpl_fwrite if the latter is defined.
9400
9401 2011-03-20  Bruno Haible  <bruno@clisp.org>
9402
9403         verror: Fix compilation error introduced on 2011-02-13.
9404         * lib/verror.h (verror, verror_at_line): Use _GL_ATTRIBUTE_FORMAT macro
9405         instead of __attribute__.
9406         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
9407
9408 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
9409             Bruno Haible  <bruno@clisp.org>
9410
9411         socklen: do not depend on sys_socket
9412         While trying to modify Emacs to use gnulib's socklen module,
9413         I discovered a circular dependency: socklen depends on sys_socket
9414         and vice versa.  Emacs can use socklen, but it does not need
9415         sys_socket because it has its own substitute for sys/socket.h.
9416         * m4/socklen.m4 (gl_SOCKET_HEADERS): New macro, extracted from
9417         gl_TYPE_SOCKLEN_T.
9418         (gl_CHECK_SOCKET_HEADERS): New macro, taken from parts of
9419         gl_PREREQ_SYS_H_SOCKET.
9420         (gl_TYPE_SOCKLEN_T): Require it instead of requiring
9421         gl_PREREQ_SYS_H_SOCKET.
9422         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_SOCKET): Require
9423         gl_CHECK_SOCKET_HEADERS instead of doing its work ourselves.
9424         * modules/socklen (Depends-on): Do not depend on sys_socket.
9425         (Include): Adjust to match the code used in gl_SOCKET_HEADERS.
9426
9427 2011-03-20  Jim Meyering  <meyering@redhat.com>
9428
9429         maint.mk: sort file names *after* new transformation
9430         * top/maint.mk (sc_po_check): Sorting before removing the $(srcdir)/
9431         prefix would have led to an unwarranted failure in GNU parted.
9432         Sort after that transformation.
9433
9434 2011-03-19  Jim Meyering  <meyering@redhat.com>
9435
9436         maint.mk: fix po-file syntax-check rule
9437         * top/maint.mk (sc_po_check): Fix fatal typo in yesterday's change.
9438         Patch by Bruno Haible.
9439
9440 2011-03-19  Bruno Haible  <bruno@clisp.org>
9441
9442         socklen: Update comment.
9443         * m4/socklen.m4: Update comment about platforms.
9444
9445 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
9446             Bruno Haible  <bruno@clisp.org>
9447
9448         inet_ntop, inet_pton: Simplify.
9449         * modules/inet_ntop (Depends-on): Remove socklen, since sys_socket is
9450         documented to provide socklen_t and we already depend on sys_socket.
9451         * modules/inet_pton (Depends-on): Likewise.
9452         * lib/arpa_inet.in.h: Adjust comment.
9453
9454 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
9455             Bruno Haible  <bruno@clisp.org>
9456
9457         netdb: Simplify.
9458         * modules/netdb (Depends-on): Remove socklen, since sys_socket is
9459         documented to provide socklen_t and we already depend on sys_socket.
9460         * lib/netdb.in.h: Adjust comment.
9461
9462 2011-03-19  Bruno Haible  <bruno@clisp.org>
9463
9464         sys_socket, netdb: Document problem with socklen_t.
9465         * doc/posix-headers/sys_socket.texi: Mention lack of socklen_t on some
9466         platforms.
9467         * doc/posix-headers/netdb.texi: Likewise.
9468
9469 2011-03-18  Eric Blake  <eblake@redhat.com>
9470
9471         maint.mk: let po check work in VPATH build
9472         * top/maint.mk (po_file): Allow cfg.mk override.
9473         (sc_po_check): Allow VPATH use.
9474         Reported by Jiri Denemark.
9475
9476 2011-03-16  Jim Meyering  <meyering@redhat.com>
9477
9478         maint.mk: allow fine-grained syntax-check exclusion via Make variables
9479         Before, you would have had to create one .x-sc_ file per rule in order
9480         to exempt offending files.  Now, you may instead use a Make variable --
9481         usually defined in cfg.mk -- whose name identifies the affected rule.
9482         * top/maint.mk (_sc_excl): Define.
9483         (VC_LIST_EXCEPT): Use it to exclude names on a per-rule basis.
9484         (_sc_search_regexp): When not using VC_LIST_EXCEPT, exclude here, too.
9485
9486 2011-03-13  Bruno Haible  <bruno@clisp.org>
9487
9488         ignore-value tests: Avoid warnings.
9489         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Define to
9490         empty for gcc < 3.4.
9491
9492 2011-03-13  Bruno Haible  <bruno@clisp.org>
9493
9494         passfd: Fix link error on Solaris.
9495         * modules/passfd (Description): Correct.
9496         (Depends-on): Add socketlib.
9497         (Link): New section.
9498         * modules/passfd-tests (Makefile.am): Link test-passfd with LIBSOCKET.
9499
9500 2011-03-13  Bruno Haible  <bruno@clisp.org>
9501
9502         passfd: Fix link error on AIX 5.2.
9503         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Define _LINUX_SOURCE_COMPAT.
9504
9505 2011-03-13  Bruno Haible  <bruno@clisp.org>
9506
9507         passfd: Work around bug with CMSG_FIRSTHDR on FreeBSD 6.4.
9508         * lib/sys_socket.in.h: Include <stddef.h>.
9509         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Include <stddef.h> before using
9510         CMSG_FIRSTHDR. Remove unused variable.
9511
9512 2011-03-13  Bruno Haible  <bruno@clisp.org>
9513
9514         passfd: Fix compilation error on OpenBSD.
9515         * lib/passfd.c: Include <sys/uio.h>.
9516
9517 2011-03-13  Bruno Haible  <bruno@clisp.org>
9518
9519         passfd test: Fix warnings.
9520         * tests/test-passfd.c: Include <sys/wait.h>.
9521         (main): Fix typo.
9522
9523 2011-03-13  Bruno Haible  <bruno@clisp.org>
9524
9525         passfd module, part 4, tweaks.
9526         * tests/test-passfd.c: Reorder includes.
9527         (main): Fix perror and printf calls.
9528
9529 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
9530
9531         passfd module, part 4.
9532         * modules/passfd-tests: New file.
9533         * tests/test-passfd.c: New file.
9534
9535 2011-03-13  Jim Meyering  <meyering@redhat.com>
9536
9537         Makefile: rely on GNU make; derive syntax-check rule names
9538         Rather than requiring that each sc_ rule be listed as a dependent
9539         of "check", use features of GNU make to derive the list.
9540         * Makefile (syntax-check-rules): Define.
9541         (check): Depend on the new variable, not the hard-coded list.
9542
9543 2011-03-13  Bastien Roucariès  <roucaries.bastien@gmail.com>
9544             Bruno Haible  <bruno@clisp.org>
9545
9546         passfd module, part 3.
9547         * lib/passfd.h (recvfd): Add a flags argument.
9548         * lib/passfd.c: Include <fcntl.h>, cloexec.h.
9549         (recvfd): Add a flags argument.
9550         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Test whether MSG_CMSG_CLOEXEC
9551         exists.
9552         * modules/passfd (Depends-on): Add cloexec.
9553         Suggested by Eric Blake.
9554
9555 2011-03-13  Bruno Haible  <bruno@clisp.org>
9556
9557         passfd module, part 2, tweaks.
9558         * modules/passfd (Files): Reorder.
9559         (Depends-on): Remove errno.
9560         (Include): Remove <sys/socket.h>, <sys/un.h>.
9561         * lib/passfd.h: Use a GPLv3+ header. Make C++ safe.
9562         * lib/passfd.c: Untabify. Use a GPLv3+ header. Really include the
9563         specification header. Include <sys/socket.h> always. Don't include
9564         <winsock2.h>. Use "#if HAVE_..." instead of "#ifdef HAVE_...".
9565         (sendfd): Clarify that it sets errno when it fails.
9566         (recvfd): Fix specification.
9567
9568 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
9569
9570         passfd module, part 2.
9571         * modules/passfd: New file.
9572         * lib/passfd.h: New file.
9573         * lib/passfd.c: New file.
9574
9575 2011-03-12  Bruno Haible  <bruno@clisp.org>
9576
9577         wcswidth, mbswidth: Avoid integer overflow.
9578         * lib/wcswidth.c: Include <limits.h>.
9579         * lib/wcswidth-impl.h (wcswidth): Avoid 'int' overflow.
9580         * lib/mbswidth.c: Include <limits.h>.
9581         (mbsnwidth): Avoid 'int' overflow.
9582         Reported by Jim Meyering.
9583
9584 2011-03-12  Bruno Haible  <bruno@clisp.org>
9585
9586         futimens, utimensat: Avoid endless recursion on Solaris 10.
9587         * lib/sys_stat.in.h (futimens, utimensat): Define with rpl_ prefix on
9588         Solaris.
9589         Reported by Ben Walton <bwalton@artsci.utoronto.ca> via Eric Blake
9590         in <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=8230>.
9591
9592 2011-03-11  Jim Meyering  <meyering@redhat.com>
9593
9594         maint.mk: relax a regexp to accommodate other formatting styles
9595         * top/maint.mk (sc_unmarked_diagnostics): Allow 0 or 1 space
9596         between "ngettext" and the following "(".
9597
9598 2011-03-11  Pádraig Brady <P@draigBrady.com>
9599
9600         maint.mk: suppress a false positive warning
9601         * top/maint.mk ((sc_unmarked_diagnostics): Don't warn when
9602         diagnostics are marked with ngettext.
9603
9604 2011-03-10  Eric Blake  <eblake@redhat.com>
9605
9606         wchar: add explicit dependencies, for Tru64
9607         * modules/mbmemcasecoll (Depends-on): Add wchar.
9608         * modules/mbtowc (Depends-on): Likewise.
9609         * modules/vasnprintf (Depends-on): Likewise.
9610         * modules/unistdio/u-printf-args (Depends-on): Likewise.
9611         * modules/wctomb (Depends-on): Likewise.
9612         Reported by Peter O'Gorman.
9613
9614 2011-03-08  Bruno Haible  <bruno@clisp.org>
9615
9616         passfd module, part 1, tweaks.
9617         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Update AC_REQUIRE invocation.
9618         Improve indentation. Improve AC_MSG_CHECKING messages.
9619         * m4/sockpfaf.m4 (gl_SOCKET_FAMILY_UNIX): New macro, extracted from
9620         gl_SOCKET_FAMILIES.
9621
9622 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
9623
9624         passfd module, part 1.
9625         * m4/afunix.m4: New file.
9626         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Also test for UNIX domain
9627         sockets.
9628
9629 2011-03-08  Bruno Haible  <bruno@clisp.org>
9630
9631         regex-quote: New API.
9632         * lib/regex-quote.h: Include <stdbool.h>.
9633         (struct regex_quote_spec): New type.
9634         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
9635         New declarations.
9636         (regex_quote_length, regex_quote_copy, regex_quote): Take a
9637         'const struct regex_quote_spec *' argument.
9638         * lib/regex-quote.c (RE_*, PCRE_*): New macros.
9639         (pcre_special): New constant.
9640         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
9641         New functions.
9642         (regex_quote_length, regex_quote_copy, regex_quote): Take a
9643         'const struct regex_quote_spec *' argument.
9644         * modules/regex-quote (Depends-on): Add stdbool.
9645         * tests/test-regex-quote.c (check): Update for new API. Add test for
9646         anchored results.
9647         * NEWS: Mention the API change.
9648         Reported by Reuben Thomas and Eric Blake.
9649
9650 2011-03-06  Bruno Haible  <bruno@clisp.org>
9651
9652         regex-quote: Fix creation of POSIX extended regular expressions.
9653         * lib/regex-quote.c (ere_special): Add grouping and alternation
9654         operators.
9655
9656 2011-03-05  Bruno Haible  <bruno@clisp.org>
9657
9658         doc: Improve doc regarding autopoint vs. gnulib.
9659         * doc/gnulib-tool.texi (gettextize and autopoint): Recommend to
9660         disable autopoint while running autoreconf.
9661         Suggested by Ralf Wildenhues.
9662
9663 2011-03-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9664
9665         Update AC_OPENMP macro for Lahey compiler on GNU/Linux.
9666         * m4/openmp.m4 (AC_OPENMP): Sync from Autoconf.
9667
9668 2011-03-03  Bruce Korb  <bkorb@gnu.org>
9669
9670         parse-duration: remove xalloc.h dependency
9671         * lib/parse-duration.c (parse_period): handle NULL return from
9672         strdup instead of calling xstrdup().
9673         * modules/parse-duration: remove "xalloc" dependency
9674
9675 2011-03-03  Matthew Booth  <mbooth@redhat.com>
9676
9677         bootstrap: honor m4_base when running aclocal
9678         * build-aux/bootstrap: Fix hard-coded use of m4 directory name.
9679
9680 2011-03-02  Jim Meyering  <meyering@redhat.com>
9681
9682         getopt-gnu: relax license from LGPLv3+ to LGPLv2+
9683         * modules/getopt-gnu (License): Relax to LGPLv2+, for augeas,
9684         on request from Matt Booth.
9685
9686 2011-03-01  Eric Blake  <eblake@redhat.com>
9687
9688         test-link: work on Hurd
9689         * tests/test-link.h (test_link): Hurd rejects linking directories
9690         with EISDIR instead of the POSIX-mandated EPERM.
9691
9692 2011-02-28  Paul Eggert  <eggert@cs.ucla.edu>
9693
9694         stdio: simplify by moving files to printf-posix, sigpipe
9695         * m4/stdio_h.m4 (gl_STDIO_H): Do not require gl_ASM_SYMBOL_PREFIX,
9696         since this symbol is needed only if printf is replaced.
9697         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF):
9698         Require gl_ASM_SYMBOL_PREFIX.
9699         * modules/printf-posix (Files): Add m4/asm-underscore.m4.
9700         * modules/sigpipe (Files): Likewise.  Also, add m4/stdio-write.c.
9701         (Depends-on): Add 'raise'.
9702         (configure.ac): Require gl_ASM_SYMBOL_PREFIX.
9703         * modules/stdio (Files): Remove lib/stdio-write.c,
9704         m4/asm-underscore.m4.
9705         (Depends-on): Remove 'raise'.
9706
9707         stdio: simplify by moving gl_STDIN_LARGE_OFFSET to fseeko, ftello
9708         * m4/fseeko.m4 (gl_STDIN_LARGE_OFFSET): Moved here, from ...
9709         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): ... here, because
9710         * modules/ftello (Files): Add m4/fseeko.m4, for gl_STDIN_LARGE_OFFSET.
9711
9712 2011-02-28  Bruno Haible  <bruno@clisp.org>
9713
9714         localcharset: Assume ANSI C behaviour of free().
9715         * lib/localcharset.c (get_charset_aliases): Remove NULL test before
9716         calling free().
9717         Suggested by Simon Josefsson <simon@josefsson.org>.
9718
9719 2011-02-28  Corinna Vinschen  <vinschen@redhat.com>  (tiny change)
9720             Charles Wilson  <cygwin@cwilson.fastmail.fm>  (tiny change)
9721             Bruno Haible  <bruno@clisp.org>  (tiny change)
9722
9723         On Cygwin, use /proc file system instead of win32 API.
9724         * lib/relocatable.c: On Cygwin, use file names from /proc, rather than
9725         Win32 file names.
9726         (DllMain): Simplify by removing Cygwin specific code.
9727         (find_shared_library_fullname): Use Linux specific implementation also
9728         for Cygwin.
9729         (get_shared_library_fullname): Update accordingly.
9730         * lib/progreloc.c: On Cygwin, use file names from /proc, rather than
9731         Win32 file names.
9732         (find_executable): On Cygwin, use /proc, like on Linux. Remove previous
9733         Cygwin specific code.
9734
9735 2011-02-28  Christian Rössel  <christian.roessel@gmx.de>  (tiny change)
9736             Markus Geimer  <m.geimer@fz-juelich.de>  (tiny change)
9737
9738         Fix OpenMP flag detection for various Fortran compilers.
9739         * m4/openmp.m4 (_AC_LANG_OPENMP(Fortran 77)): Use '!$'
9740         OpenMP-conditional compilation construct, to force compile
9741         failure with missing OpenMP flag.
9742         (AC_OPENMP): Add flags for Cray CCE and NEC SX compilers.
9743
9744 2011-02-25  Eric Blake  <eblake@redhat.com>
9745
9746         strstr: expand test coverage
9747         * tests/test-strstr.c (main): Add much shorter trigger.  Fix C89
9748         compilation.
9749         * tests/test-memmem.c (main): Duplicate tests.
9750         * tests/test-strcasestr.c (main): Likewise.
9751         * tests/test-c-strcasestr.c (main): Likewise.
9752
9753 2011-02-25  Jim Meyering  <meyering@redhat.com>
9754
9755         maint.mk: detect missing-NL-at-EOF, too
9756         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Adjust so that
9757         it also detects when a file lacks a newline at EOF.
9758         (require_exactly_one_NL_at_EOF_): Renamed from
9759         detect_empty_lines_at_EOF_.  I opted not to rename the rule,
9760         since people may well have .x-sc_... file names tied to the
9761         existing name.  Suggested by Eric Blake.
9762
9763 2011-02-25  Paul Eggert  <eggert@cs.ucla.edu>
9764
9765         dirname: move m4/dos.m4 functionality into lib/dosname.h
9766
9767         m4/dos.m4 needs to go.  It laboriously invokes the C compiler, and
9768         extracts symbols from it, puts them into config.h; but it's much
9769         easier to use the symbols directly.  filename.h already does this,
9770         but it disagrees with dos.m4 in some respects.  This patch
9771         introduces a different include file dosname.h that packages up
9772         dos.m4, and then later we can work on merging filename.h and
9773         dosname.h.  Applications that need only the easy-to-configure
9774         symbols should consider including dosname.h rather than dirname.h.
9775         * NEWS: Mention incompatible changes.
9776         * m4/dos.m4: Remove.
9777         * lib/dosname.h, modules/dosname: New files.
9778         * lib/dirname.h (ISSLASH, FILE_SYSTEM_PREFIX_LEN):
9779         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE):
9780         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): Move to lib/dosname.h.
9781         * lib/at-func.c, lib/at-func2.c, lib/openat.c, lib/savewd.c:
9782         Include dosname.h, not dirname.h.
9783         * lib/rmdir.c, lib/stat.c, lib/unlink.c, lib/unlinkat.c:
9784         Include dosname.h, for definitions of symbols like ISSLASH
9785         that used to be in config.h.
9786         * m4/dirname.m4 (gl_DIRNAME_LGPL): Do not require gl_AC_DOS.
9787         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
9788         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
9789         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
9790         * modules/dirname-lgpl (Files): Omit m4/dos.m4.
9791         * modules/rmdir (Files): Likewise.
9792         * modules/stat (Files): Likewise.
9793         * modules/unlink (Files): Likewise.
9794         * modules/dirname-lgpl (Depends-on): Add dosname.
9795         * modules/lstat (Depends-on): Likewise.
9796         * modules/openat (Depends-on): Likewise.
9797         * modules/rmdir (Depends-on): Likewise.
9798         * modules/savewd (Depends-on): Likewise.
9799         * modules/stat (Depends-on): Likewise.
9800         * modules/unlink (Depends-on): Likewise.
9801         * modules/openat (Depends-on): Remove dirname-lgpl.
9802         * modules/savewd (Depends-on): Likewise.
9803         * tests/test-dirname.c: Do not use removed symbols like
9804         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.  Instead, use
9805         the remaining symbols, e.g., ISSLASH ('\\').
9806
9807 2011-02-25  Eric Blake  <eblake@redhat.com>
9808
9809         strstr: revert patches that introduced bug and pessimization
9810         * lib/str-two-way.h: Add another reference.
9811         (two_way_short_needle, two_way_long_needle): Revert changes from
9812         2011-02-24; they pessimize search speed.
9813         (critical_factorization): Partially revert changes from
9814         2010-06-22; they violate the requirement that the left half of the
9815         needle be smaller than the period of the needle.
9816
9817 2011-02-24  Paul Eggert  <eggert@cs.ucla.edu>
9818
9819         filenamecat: remove unnecessary dependency on dirname-lgpl
9820         * modules/filenamecat (Depends-on): Remove dirname-lgpl, as there
9821         is no direct dependency, just an indirect one via filenamecat-lgpl.
9822
9823         remove: remove unnecessary use of m4/dos.m4
9824         * m4/remove.m4 (gl_FUNC_REMOVE): Don't require gl_AC_DOS; not needed.
9825         * modules/remove (FILES): Remove m4/dos.m4.
9826
9827         * lib/openat-proc.c: Don't include dirname.h; not needed.
9828
9829         backupfile: remove unnecessary use of m4/dos.m4
9830         * m4/backupfile.m4 (gl_BACKUPFILE): Don't require gl_AC_DOS; none
9831         of its symbols are used by the backupfile code.  backupfile.c does
9832         use a symbol HAVE_DOS_FILE_NAMES, but that symbol is meant only
9833         for the rare case of programs that want all their backup file
9834         names to live within 8+3 limits, and dos.m4 doesn't address that.
9835         * modules/backupfile (Files): Remove m4/dos.m4.
9836
9837 2011-02-24  Jim Meyering  <meyering@redhat.com>
9838
9839         strstr: fix a bug whereby strstr would mistakenly return NULL
9840         * lib/str-two-way.h (two_way_short_needle): Correct off-by-one error
9841         in period calculation.
9842         (two_way_long_needle): Likewise.
9843         The original problem was reported by Mike Stump in
9844         http://thread.gmane.org/gmane.comp.sysutils.autoconf.bugs/7834
9845         Ralf Wildenhues provided the short needle and haystack.
9846         * tests/test-strstr.c: Add Ralf's test case to trigger the bug.
9847         Add a more involved test to trigger the bug in two_way_long_needle.
9848
9849 2011-02-24  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
9850
9851         gnulib-tool: remove use of bold display in help screen
9852         * gnulib-tool (func_usage): Do not use bold display anymore in the
9853         help screen.  That was just meant to be a temporary emphasis for a
9854         backward-incompatible change.
9855
9856 2011-02-23  Bruno Haible  <bruno@clisp.org>
9857
9858         Fix misindentation of preprocessor directives.
9859         * lib/argp-namefrob.h: Reindent preprocessor directives.
9860         * lib/getopt_int.h (struct _getopt_data): Likewise.
9861         * lib/progreloc.c (maybe_executable, find_executable): Likewise.
9862         * lib/vasnprintf.c (decode_long_double): Likewise.
9863         * tests/test-argmatch.c: Insert blank lines, for clarity.
9864         * tests/test-exclude.c: Likewise.
9865
9866 2011-02-22  Bruno Haible  <bruno@clisp.org>
9867
9868         ioctl: Fix for MacOS X in 64-bit mode.
9869         * lib/ioctl.c (rpl_ioctl): Zero-extend, not sign-extend, the request
9870         value.
9871         Suggested by Eric Blake.
9872         Reported by Markus Gothe <nietzsche@lysator.liu.se>.
9873
9874 2011-02-22  Jim Meyering  <meyering@redhat.com>
9875
9876         maint: sc_cpp_indent_check: remove the "only in lib/" restriction
9877         * Makefile (sc_cpp_indent_check): Don't limit the check to files
9878         in lib/.
9879
9880 2011-02-22  Eric Blake  <eblake@redhat.com>
9881
9882         maint: avoid any CDPATH issue
9883         * Makefile (sc_cpp_indent_check): Anchor cd argument.
9884
9885         maint: adjust cpp indentation for my modules, as well
9886         * Makefile (sc_cpp_indent_check): Add my name.
9887         * lib/fbufmode.c: Filter through cppi.
9888         * lib/fpurge.c: Likewise.
9889         * lib/freadable.c: Likewise.
9890         * lib/freading.c: Likewise.
9891         * lib/fwritable.c: Likewise.
9892         * lib/fwriting.c: Likewise.
9893         * lib/sigaction.c: Likewise.
9894
9895 2011-02-22  Jim Meyering  <meyering@redhat.com>
9896
9897         maint: adjust cpp indentation to reflect nesting depth
9898         I.e., in a block of code that begins with an unnested "#if",
9899         put one space between the "#" in column 1 and following token.
9900         For example,
9901         -#include <sys/vfs.h>
9902         +# include <sys/vfs.h>
9903         Do this only in .c files that are part of a module I maintain.
9904         * lib/linkat.c: Filter through cppi.
9905         * lib/nanosleep.c: Likewise.
9906         * lib/openat.c: Likewise.
9907         * lib/openat-die.c: Likewise.
9908         * lib/dup3.c: Likewise.
9909         * lib/fchownat.c: Likewise.
9910         * lib/flock.c: Likewise.
9911         * lib/fsync.c: Likewise.
9912         * lib/fts.c: Likewise.
9913         * lib/getpass.c: Likewise.
9914         * lib/gettimeofday.c: Likewise.
9915         * lib/userspec.c: Likewise.
9916         * Makefile (sc_cpp_indent_check): New rule, to check this.
9917
9918 2011-02-22  Bruno Haible  <bruno@clisp.org>
9919
9920         New module 'wctomb'.
9921         * lib/stdlib.in.h (wctomb): New declaration.
9922         * lib/wctomb.c: New file.
9923         * lib/wctomb-impl.h: New file.
9924         * m4/wctomb.m4: New file.
9925         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_WCTOMB,
9926         REPLACE_WCTOMB.
9927         * modules/stdlib (Makefile.am): Substitute GNULIB_WCTOMB,
9928         REPLACE_WCTOMB.
9929         * modules/wctomb: New file.
9930         * tests/test-stdlib-c++.cc: Test signature of wctomb.
9931         * doc/posix-functions/wctomb.texi: Mention the new module.
9932         * modules/wctob (Depends-on): Add wctomb.
9933
9934 2011-02-22  Bruno Haible  <bruno@clisp.org>
9935
9936         New module 'mbtowc'.
9937         * lib/stdlib.in.h (mbtowc): New declaration.
9938         * lib/mbtowc.c: New file.
9939         * lib/mbtowc-impl.h: New file, from libutf8 with modifications.
9940         * m4/mbtowc.m4: New file.
9941         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MBTOWC,
9942         REPLACE_MBTOWC.
9943         * modules/stdlib (Makefile.am): Substitute GNULIB_MBTOWC,
9944         REPLACE_MBTOWC.
9945         * modules/mbtowc: New file.
9946         * tests/test-stdlib-c++.cc: Test signature of mbtowc.
9947         * doc/posix-functions/mbtowc.texi: Mention the new module.
9948         * modules/btowc (Depends-on): Add mbtowc.
9949
9950 2011-02-22  Bruno Haible  <bruno@clisp.org>
9951
9952         wcrtomb: Add more tests for native Windows platforms.
9953         * tests/test-wcrtomb-w32-1.sh: New file.
9954         * tests/test-wcrtomb-w32-2.sh: New file.
9955         * tests/test-wcrtomb-w32-3.sh: New file.
9956         * tests/test-wcrtomb-w32-4.sh: New file.
9957         * tests/test-wcrtomb-w32-5.sh: New file.
9958         * tests/test-wcrtomb-w32.c: New file.
9959         * modules/wcrtomb-tests (Files): Add them.
9960         (Makefile.am): Arrange to run these tests.
9961         * tests/test-wcrtomb-w32-6.sh: New file, currently unused.
9962         * tests/test-wcrtomb-w32-7.sh: New file, currently unused.
9963
9964 2011-02-20  Bruno Haible  <bruno@clisp.org>
9965
9966         wcrtomb: Enhance test.
9967         * tests/test-wcrtomb.c (main): Add test against bug with NULL argument.
9968
9969 2011-02-20  Bruno Haible  <bruno@clisp.org>
9970
9971         mbrtowc: Tiny optimization.
9972         * lib/mbrtowc.c (mbrtowc): Delay pstate assignment until it is needed.
9973
9974 2011-02-20  Jim Meyering  <meyering@redhat.com>
9975
9976         test-exclude.c: remove unmatched #endif
9977         * tests/test-exclude.c: Remove stray #endif, left over from
9978         the change of a week ago.
9979
9980 2011-02-19  Jim Meyering  <meyering@redhat.com>
9981
9982         git-version-gen: skip "-dirty" check when appropriate
9983         * build-aux/git-version-gen: Don't run any git commands when the
9984         version string comes from .tarball-version.  Prior to this, we
9985         would run git update-index --refresh even from a just-unpacked
9986         tarball directory, and that could affect a .git/ directory in a
9987         parent of the build directory.  Reported by Mike Frysinger.
9988
9989 2011-02-19  Bruno Haible  <bruno@clisp.org>
9990
9991         unictype/property-byname: Reduce the size of the 'data' segment.
9992         * lib/unictype/pr_byname.gperf: Add gperf option '%pic'.
9993
9994 2011-02-19  Bruno Haible  <bruno@clisp.org>
9995
9996         unictype/scripts: Reduce the size of the 'data' segment.
9997         * lib/gen-uni-tables.c (output_scripts_byname): Emit gperf option
9998         '%pic'.
9999         * lib/unictype/scripts_byname.gperf: Regenerated.
10000
10001 2011-02-19  Bruno Haible  <bruno@clisp.org>
10002
10003         stdint: Update documentation.
10004         * doc/posix-headers/stdint.texi: Mention WCHAR_MIN, WCHAR_MAX problem.
10005
10006 2011-02-18  Paul Eggert  <eggert@cs.ucla.edu>
10007
10008         stdint: omit redundant check for wchar.h
10009         * m4/stdint.m4 (gl_STDINT_H): The earlier part of this macro now
10010         always tests whether wchar.h exists, so remove the now-redundant test.
10011
10012 2011-02-18  Bruno Haible  <bruno@clisp.org>
10013
10014         stdint: Cut dependency to module 'wchar'.
10015         * lib/stdint.in.h: Include wchar.h only when HAVE_WCHAR_H is 1. Also
10016         include the necessary prerequisites.
10017         * m4/stdint.m4 (gl_STDINT_H): Test whether wchar.h exists.
10018         * modules/stdint (Depends-on): Remove wchar.
10019         (Makefile.am): Substitute HAVE_WCHAR_H.
10020         This reverts part of a 2007-01-06 commit. Reported by Paul Eggert.
10021
10022 2011-02-18  Eric Blake  <eblake@redhat.com>
10023
10024         longlong: skip, rather than fail, on cross-compilation
10025         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Avoid aborting configure
10026         when cross-compiling; regression from 2011-02-16.
10027
10028 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
10029
10030         * NEWS: Mention 2011-02-08 change to stdlib.
10031
10032 2011-02-17  Bruno Haible  <bruno@clisp.org>
10033
10034         getloadavg: Add comments about platforms.
10035         * m4/getloadavg.m4: Add comment.
10036         * lib/getloadavg.c: Likewise.
10037
10038 2011-02-17  Bruno Haible  <bruno@clisp.org>
10039
10040         getloadavg: Fix link error on Solaris 2.6.
10041         * modules/getloadavg (Link): New section.
10042         * modules/getloadavg-tests (Makefile.am): Use GETLOADAVG_LIBS for
10043         linking test-getloadavg.
10044         * doc/glibc-functions/getloadavg.texi: Mention that Solaris 2.6 lacks
10045         getloadavg.
10046
10047 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
10048
10049         * lib/getloadavg.c (getloadavg) [sgi]: Make ldav_off of type ptrdiff_t.
10050         It was 'int', but this doesn't match the IRIX 6.5 manual.
10051         Suggested by Bruno Haible in
10052         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00207.html>.
10053
10054 2011-02-17  Bruno Haible  <bruno@clisp.org>
10055
10056         havelib: Fix comments.
10057         * m4/lib-link.m4 (AC_LIB_RPATH): Update comments after 2007-01-02
10058         change.
10059
10060 2011-02-17  Bruno Haible  <bruno@clisp.org>
10061
10062         havelib: Update config.rpath.
10063         * build-aux/config.rpath: Update to match libtool.m4 from libtool-2.4.
10064
10065 2011-02-17  Bruno Haible  <bruno@clisp.org>
10066
10067         getloadavg test: Add some plausibility checks.
10068         * tests/test-getloadavg.c (check_avg): Print a warning when the value
10069         is improbable.
10070
10071 2011-02-16  Eric Blake  <eblake@redhat.com>
10072
10073         maintainer-makefile: make syntax-check a no-op from tarballs
10074         * top/maint.mk (no-vc-detected): New rule.
10075         (local-checks-available): Use it to avoid hanging if someone tries
10076         'make syntax-check' from a tarball.  Also append to any non-syntax
10077         checks already defined in cfg.mk.
10078
10079 2011-02-16  Paul Eggert  <eggert@cs.ucla.edu>
10080
10081         longlong: tune, particularly for common case of c99
10082
10083         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Don't bother compiling
10084         or running anything if c99, or if unsigned long long int does not
10085         work.  In either case, we know the answer without further tests.
10086         Do not compile _AC_TYPE_LONG_LONG_SNIPPET twice.  Instead, compile
10087         it at most once, and use its results for both long long int and
10088         unsigned long long int.  This is more likely to be efficient in
10089         the common case where the program wants to check for both long
10090         long int and unsigned long long int.
10091         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Don't bother compiling if c99,
10092         since the answer is already known.
10093
10094 2011-02-15  Paul Eggert  <eggert@cs.ucla.edu>
10095
10096         getloadavg: set errno
10097         * lib/getloadavg.c: Set errno when returning -1.  If no other
10098         error number looks appropriate, set it to ENOSYS if the getloadavg
10099         looks like it can't possibly ever work, ENOTSUP otherwise.
10100         Suggested by Bruno Haible in
10101         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00187.html>.
10102
10103         getloadavg: trim unused parts and speed up 'configure'
10104         * NEWS: Document this.
10105         * lib/getloadavg.c: Ignore HAVE_GETLOADAVG; this file is now
10106         always compiled if getloadavg is absent.
10107         Move test code to ...
10108         * tests/test-getloadavg.c: New file, containing previous
10109         contents of test from lib/getloadavg.c.  It also contains
10110         suggestions by Bruno Haible in
10111         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00186.html>.
10112         * modules/getloadavg-tests: New file.
10113         * m4/getloadavg.m4 (gl_GETLOADAVG): Do not check for getloadavg twice.
10114         Do tests in the same order as they're needed for getloadavg.c.
10115         Omit setgid-related tests that generate symbols KMEM_GROUP,
10116         NEET_SETGID, GETLOADAVG_PRIVILEGED; nobody seems to use those any more.
10117         Do only the tests that are needed to see whether the system has
10118         getloadavg, moving the other tests into ...
10119         (gl_PREREQ_GETLOADAVG): ... here.  Do not define obsolete symbol
10120         NLIST_NAME_UNION; nobody should be using it.  Do not define
10121         symbols C_GETLOADAVG and HAVE_GETLOADAVG; they're no longer
10122         relevant, as the user of this module shouldn't care how getloadavg
10123         is implemented.
10124
10125         getloadavg: omit unused var
10126         * lib/getloadavg.c (getloadavg): Omit unused local variable.
10127
10128 2011-02-15  Jim Meyering  <meyering@redhat.com>
10129
10130         doc: update users.txt
10131         * users.txt: Update iwhd's URL.
10132
10133 2011-02-13  Bruno Haible  <bruno@clisp.org>
10134
10135         Consistent macro naming for macros that use GCC __attribute__.
10136         * lib/di-set.h (_GL_ATTRIBUTE_NONNULL): Renamed from
10137         _ATTRIBUTE_NONNULL_.
10138         * lib/ino-map.h (_GL_ATTRIBUTE_NONNULL): Likewise.
10139         * lib/hash.h (_GL_ATTRIBUTE_WUR): Renamed from ATTRIBUTE_WUR.
10140         * lib/ignore-value.h (_GL_ATTRIBUTE_DEPRECATED): Renamed from
10141         ATTRIBUTE_DEPRECATED.
10142         * lib/openat.h (_GL_ATTRIBUTE_NORETURN): Renamed from
10143         ATTRIBUTE_NORETURN.
10144         * lib/sigpipe-die.h (_GL_ATTRIBUTE_NORETURN): Likewise.
10145         * lib/xmemdup0.h (_GL_ATTRIBUTE_NORETURN): Likewise.
10146         * lib/xstrtol.h (_GL_ATTRIBUTE_NORETURN): Likewise.
10147         * lib/xalloc.h (_GL_ATTRIBUTE_NORETURN): Likewise.
10148         (_GL_ATTRIBUTE_MALLOC): Renamed from ATTRIBUTE_MALLOC.
10149         (_GL_ATTRIBUTE_ALLOC_SIZE): Renamed from ATTRIBUTE_ALLOC_SIZE.
10150         * lib/version-etc.h (_GL_ATTRIBUTE_SENTINEL): Renamed from
10151         ATTRIBUTE_SENTINEL.
10152         * lib/safe-alloc.h (_GL_ATTRIBUTE_RETURN_CHECK): Renamed from
10153         ATTRIBUTE_RETURN_CHECK.
10154         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Likewise.
10155         * tests/test-argmatch.c (_GL_ATTRIBUTE_NORETURN): Renamed from
10156         ATTRIBUTE_NORETURN.
10157         * tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN): Likewise.
10158         Reported by Paul Eggert.
10159
10160 2011-02-13  Bruno Haible  <bruno@clisp.org>
10161
10162         Don't interfere with a program's definition of __attribute__.
10163         * lib/argp.h (__attribute__): Remove definition.
10164         (_GL_ATTRIBUTE_FORMAT): New macro.
10165         (argp_error, __argp_error, argp_failure, __argp_failure): Use it.
10166         * lib/argp-fmtstream.h (__attribute__): Remove definition.
10167         (_GL_ATTRIBUTE_FORMAT): New macro.
10168         (__argp_fmtstream_printf, argp_fmtstream_printf): Use it.
10169         * lib/argp-help.c (hol_entry_long_iterate): Use __attribute__ only for
10170         GCC 3 or newer.
10171         * lib/error.h (__attribute__): Remove definition.
10172         (_GL_ATTRIBUTE_FORMAT): New macro.
10173         (error, error_at_line): Use it.
10174         * lib/hash.h (__attribute__): Remove definition.
10175         (ATTRIBUTE_WUR): Update definition. Define always.
10176         * lib/openat.h (__attribute__): Remove definition.
10177         (ATTRIBUTE_NORETURN): Update definition. Define always.
10178         * lib/sigpipe-die.h (__attribute__): Remove definition.
10179         (ATTRIBUTE_NORETURN): Update definition. Define always.
10180         * lib/vasnprintf.h (__attribute__): Remove definition.
10181         (_GL_ATTRIBUTE_FORMAT): New macro.
10182         (asnprintf, vasnprintf): Use it.
10183         * lib/xalloc.h (__attribute__): Remove definition.
10184         (ATTRIBUTE_NORETURN): Update definition. Define always.
10185         (ATTRIBUTE_MALLOC, ATTRIBUTE_ALLOC_SIZE): Define always.
10186         * lib/xmemdup0.h (__attribute__): Remove definition.
10187         (ATTRIBUTE_NORETURN): Update definition. Define always.
10188         * lib/xprintf.h (__attribute__): Remove definition.
10189         (_GL_ATTRIBUTE_FORMAT): New macro.
10190         (xprintf, xvprintf, xfprintf, xvfprintf): Use it.
10191         * lib/xstrtol.h (__attribute__): Remove definition.
10192         (ATTRIBUTE_NORETURN): Update definition. Define always.
10193         * lib/xvasprintf.h (__attribute__): Remove definition.
10194         (_GL_ATTRIBUTE_FORMAT): New macro.
10195         (xasprintf, xvasprintf): Use it.
10196         * tests/test-argmatch.c (__attribute__): Remove definition.
10197         (ATTRIBUTE_NORETURN): Update definition. Define always.
10198         * tests/test-exclude.c (__attribute__): Remove definition.
10199         (ATTRIBUTE_NORETURN): Update definition. Define always.
10200         Reported by Paul Eggert.
10201
10202 2011-02-13  Bruno Haible  <bruno@clisp.org>
10203
10204         mbrtowc: Add more tests for native Windows platforms.
10205         * tests/test-mbrtowc-w32-1.sh: New file.
10206         * tests/test-mbrtowc-w32-2.sh: New file.
10207         * tests/test-mbrtowc-w32-3.sh: New file.
10208         * tests/test-mbrtowc-w32-4.sh: New file.
10209         * tests/test-mbrtowc-w32-5.sh: New file.
10210         * tests/test-mbrtowc-w32.c: New file.
10211         * modules/mbrtowc-tests (Files): Add them.
10212         (Makefile.am): Arrange to run these tests.
10213         * tests/test-mbrtowc-w32-6.sh: New file, currently unused.
10214         * tests/test-mbrtowc-w32-7.sh: New file, currently unused.
10215
10216 2011-02-13  Bruno Haible  <bruno@clisp.org>
10217
10218         mbrtowc: Work around native Windows bug.
10219         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Detect native Windows bug. Use the
10220         guess when no suitable locale for testing was found.
10221         * doc/posix-functions/mbrtowc.texi: Mention the native Windows bug.
10222
10223 2011-02-13  Bruno Haible  <bruno@clisp.org>
10224
10225         mbsinit: Work around mingw bug.
10226         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Replace mbsinit also on mingw.
10227         * lib/mbsinit.c (mbsinit): Provide an alternate definition for native
10228         Windows.
10229         * doc/posix-functions/mbsinit.texi: Mention the mingw bug.
10230
10231 2011-02-13  Bruno Haible  <bruno@clisp.org>
10232
10233         mbsinit: Don't crash for a NULL argument.
10234         * lib/mbsinit.c (mbsinit): When the argument is NULL, return 1.
10235         * tests/test-mbsinit.c (mbsinit): Check this behaviour.
10236
10237 2011-02-13  Bruno Haible  <bruno@clisp.org>
10238
10239         Don't interfere with a program's definition of __attribute__.
10240         * lib/stdio.in.h (__attribute__): Remove definition.
10241         (_GL_ATTRIBUTE_FORMAT, _GL_ATTRIBUTE_FORMAT_PRINTF): New macros.
10242         (dprintf, fprintf, obstack_printf, obstack_printf, obstack_vprintf,
10243         printf, snprintf, sprintf, asprintf, vasprintf, vdprintf, vfprintf,
10244         vsnprintf, vsprintf): Use _GL_ATTRIBUTE_FORMAT_PRINTF.
10245         * lib/string.in.h (__attribute__): Remove definition.
10246         Reported by Paul Eggert.
10247
10248 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
10249
10250         stdlib: don't get in the way of non-GCC __attribute__
10251         See thread starting at
10252         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00161.html>.
10253         Revert previous stdlib change, installing the following instead:
10254         * lib/stdlib.in.h (__attribute__): Remove.  We do not want
10255         to get in the way of a non-GCC compiler that supports __attribute__.
10256         (_GL_ATTRIBUTE_RETURN): New macro.
10257         (_Exit): Use it instead of __attribute__.
10258
10259 2011-02-12  Bruno Haible  <bruno@clisp.org>
10260
10261         quotearg test: Avoid test failure on mingw.
10262         * tests/test-quotearg.sh: Convert the locale identifier from native
10263         Windows syntax to Unix syntax.
10264
10265 2011-02-12  Bruno Haible  <bruno@clisp.org>
10266
10267         setlocale: Prefer gnulib's override over libintl's override.
10268         * lib/locale.in.h (GNULIB_defined_setlocale): New macro.
10269         * lib/gettext.h (setlocale): Redefine to rpl_setlocale if
10270         GNULIB_defined_setlocale is set.
10271
10272 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
10273
10274         stdlib: support non-GCC __attribute__
10275
10276         Fix a serious and tricky problem encountered when attempting to
10277         add the getloadavg module to Emacs.  Emacs worked fine on RHEL
10278         5.5, but it crashed due to memory corruption on Solaris 10 with
10279         Sun C 5.11.  Emacs normally ORs 3-bit tags into their low-order
10280         bits that are otherwise zero.  This tagging is optional inside
10281         Emacs but is preferred and is used when __attribute__ ((__aligned
10282         (8))) works, as it does with both recent-enough GCC and with Sun C
10283         5.11.  However, Sun C 5.11 is not GCC and does not #define
10284         __GNUC__ and __GNUC_MINOR__.
10285
10286         When I added the getloadavg module to Emacs, it brought in
10287         stdlib.in.h, which contained this fragment:
10288
10289            #ifndef __attribute__
10290            # if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 8)
10291            #  define __attribute__(Spec)   /* empty */
10292            # endif
10293            #endif
10294
10295         When files that include <stdlib.h> were compiled with Sun C 5.11,
10296         the above code disabled __attribute__ ((__aligned (8))), which
10297         caused variables to not be properly aligned, which eventually led
10298         to the pointer corruption mentioned above.  (This was a bit hard
10299         to diagnose, unfortunately.)
10300
10301         Several "#define __attribute__(X) /* empty */" code snippets need
10302         to be eradicated from Gnulib to work with non-GCC compilers that
10303         support __attribute__.  The Autoconf way to do this is to test for
10304         each kind of attribute that we want support for, and selectively
10305         enable that in source code.
10306
10307         Fix this problem just for stdlib.h, by adding a test for the
10308         __noreturn__ attribute, and change stdlib.in.h to use that test
10309         when needed.  This technique can be easily generalized to the
10310         other *.in.h files and attributes, and a similar technique can be
10311         used for *.h and *.c files.  This patch is enough to solve the
10312         problem for Emacs + getloadavg, and I thought I'd publish it for
10313         feedback before undertaking further, similar fixes in other
10314         modules.
10315
10316         This patch does not arrange to #define HAVE_ATTRIBUTE_NORETURN
10317         because it's not needed for stdlib.h.  It merely substitutes the
10318         value directly into stdlib.h.  We may well need to #define it, or
10319         similar symbols, for other modules, but it's nice to also have an
10320         option to not #define it for applications like Emacs that do not
10321         need it.
10322
10323         * lib/stdlib.in.h (__attribute__): Do not #define.
10324         (_GL_ATTRIBUTE_NORETURN): New macro, which in stdlib.h needs to
10325         be defined only if the _Exit module is also used.
10326         * m4/_Exit.m4 (gl_FUNC__EXIT): Require gl_ATTRIBUTE_NORETURN.
10327         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Subst
10328         HAVE_ATTRIBUTE_NORETURN and default it to 1, its value on GNU
10329         platforms.
10330         * modules/_Exit (Files): Add m4/attribute.m4.
10331         * modules/stdlib (Makefile.am): Substitute HAVE_ATTRIBUTE_NORETURN.
10332         * m4/attribute.m4: New file.
10333
10334 2011-02-12  Bruno Haible  <bruno@clisp.org>
10335
10336         wcsrtombs: Work around bug on native Windows.
10337         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_NULL): Test against mingw bug.
10338         * lib/wcsrtombs.c (rpl_wcsrtombs): When dest is NULL, pass SIZE_MAX
10339         instead of len.
10340         * doc/posix-functions/wcsrtombs.texi: Document mingw bug.
10341
10342 2011-02-12  Bruno Haible  <bruno@clisp.org>
10343
10344         mbsrtowcs: Work around bug on native Windows.
10345         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Require gt_LOCALE_FR. Test
10346         against mingw bug.
10347         * doc/posix-functions/mbsrtowcs.texi: Document mingw bug.
10348
10349 2011-02-12  Bruno Haible  <bruno@clisp.org>
10350
10351         Avoid setlocale bugs in tests.
10352         * modules/btowc (Dependencies): Add setlocale.
10353         * modules/c-strcase (Dependencies): Likewise.
10354         * modules/mbmemcasecmp (Dependencies): Likewise.
10355         * modules/mbmemcasecoll (Dependencies): Likewise.
10356         * modules/mbrtowc (Dependencies): Likewise.
10357         * modules/mbscasecmp (Dependencies): Likewise.
10358         * modules/mbscasestr (Dependencies): Likewise.
10359         * modules/mbschr (Dependencies): Likewise.
10360         * modules/mbscspn (Dependencies): Likewise.
10361         * modules/mbsinit (Dependencies): Likewise.
10362         * modules/mbsncasecmp (Dependencies): Likewise.
10363         * modules/mbsnrtowcs (Dependencies): Likewise.
10364         * modules/mbspbrk (Dependencies): Likewise.
10365         * modules/mbspcasecmp (Dependencies): Likewise.
10366         * modules/mbsrchr (Dependencies): Likewise.
10367         * modules/mbsrtowcs (Dependencies): Likewise.
10368         * modules/mbsspn (Dependencies): Likewise.
10369         * modules/mbsstr (Dependencies): Likewise.
10370         * modules/nl_langinfo (Dependencies): Likewise.
10371         * modules/quotearg (Dependencies): Likewise.
10372         * modules/unicase/locale-language (Dependencies): Likewise.
10373         * modules/unicase/ulc-casecmp (Dependencies): Likewise.
10374         * modules/unicase/ulc-casecoll (Dependencies): Likewise.
10375         * modules/unigbrk/ulc-grapheme-breaks (Dependencies): Likewise.
10376         * modules/unistdio/u8-vasnprintf (Dependencies): Likewise.
10377         * modules/unistdio/u16-vasnprintf (Dependencies): Likewise.
10378         * modules/unistdio/u32-vasnprintf (Dependencies): Likewise.
10379         * modules/unistdio/ulc-vasnprintf (Dependencies): Likewise.
10380         * modules/uniwbrk/ulc-wordbreaks (Dependencies): Likewise.
10381         * modules/vasnprintf-posix (Dependencies): Likewise.
10382         * modules/wcrtomb (Dependencies): Likewise.
10383         * modules/wcsnrtombs (Dependencies): Likewise.
10384         * modules/wcsrtombs (Dependencies): Likewise.
10385
10386 2011-02-12  Bruno Haible  <bruno@clisp.org>
10387
10388         setlocale: Workaround native Windows bug.
10389         * lib/setlocale.c (rpl_setlocale): On native Windows, when setlocale
10390         succeeds but sets LC_CTYPE to "C", report a failure.
10391         * tests/test-setlocale2.sh: New file.
10392         * tests/test-setlocale2.c: New file.
10393         * modules/setlocale-tests (Files): Add the new files.
10394         (Makefile.am): Enable test-setlocale2.sh test.
10395         * doc/posix-functions/setlocale.texi: Mention workaround.
10396
10397 2011-02-11  Bruno Haible  <bruno@clisp.org>
10398
10399         Tests for module 'setlocale'.
10400         * modules/setlocale-tests: New file.
10401         * tests/test-setlocale1.sh: New file.
10402         * tests/test-setlocale1.c: New file.
10403
10404         New module 'setlocale'.
10405         * lib/locale.in.h (setlocale): New declaration.
10406         * lib/setlocale.c: New file, based on
10407         gettext/gettext-runtime/intl/setlocale.c.
10408         * m4/setlocale.m4: New file.
10409         * m4/locale_h.m4 (gl_LOCALE_H): Test whether setlocale is declared.
10410         (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_SETLOCALE, REPLACE_SETLOCALE.
10411         * modules/locale (Makefile.am): Substitute GNULIB_SETLOCALE,
10412         REPLACE_SETLOCALE.
10413         * modules/setlocale: New file.
10414         * tests/test-locale-c++.cc: Test the declaration of setlocale.
10415         * doc/posix-functions/setlocale.texi: Mention the new module.
10416
10417 2011-02-11  Bruno Haible  <bruno@clisp.org>
10418
10419         Prepare for locale dependent tests on mingw.
10420         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, don't try "ar"
10421         because it has the wrong locale encoding.
10422         * m4/locale-fr.m4 (gt_LOCALE_FR): On native Windows, try
10423         French_France.1252 instead of "fr".
10424         (gt_LOCALE_FR_UTF8): On native Windows, try French_France.65001.
10425         * m4/locale-ja.m4 (gt_LOCALE_JA): On native Windows, don't try "ja"
10426         because it has the wrong locale encoding.
10427         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Require AC_CANONICAL_HOST. On
10428         native Windows, try Turkish_Turkey.65001.
10429         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On native Windows, try
10430         Chinese_China.54936.
10431
10432         Prepare for locale dependent tests on mingw.
10433         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, call setlocale
10434         differently.
10435         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Likewise.
10436         * m4/locale-ja.m4 (gt_LOCALE_JA): Likewise.
10437         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
10438         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
10439
10440 2011-02-11  Eric Blake  <eblake@redhat.com>
10441
10442         strptime: avoid compiler warnings
10443         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT]: Avoid
10444         compiler warnings about dead code.
10445         Reported by Daniel P. Berrange.
10446
10447 2011-02-11  Thien-Thi Nguyen  <ttn@gnuvola.org>
10448
10449         doc: update users.txt
10450         * users.txt: Add rcs.
10451
10452 2011-02-10  John W. Eaton  <jwe@gnu.org>
10453
10454         doc: update users.txt
10455         * users.txt: Add octave.
10456
10457 2011-02-10  Jim Meyering  <meyering@redhat.com>
10458
10459         doc: update users.txt
10460         * users.txt: Add iwhd.
10461
10462 2011-02-09  Bruno Haible  <bruno@clisp.org>
10463
10464         gnulib-tool: Make copyright notice adjustment more robust.
10465         * gnulib-tool (func_import): In sed_transform_main_lib_file,
10466         sed_transform_build_aux_file, sed_transform_testsrelated_lib_file,
10467         allow a line break to occur after "GNU" in "GNU [Lesser] General Public
10468         License".
10469         Reported by Glenn Morris <rgm@gnu.org> via Paul Eggert.
10470
10471 2011-02-06  Bruno Haible  <bruno@clisp.org>
10472
10473         New module 'towctrans'.
10474         * modules/towctrans: New file.
10475         * lib/wctype.in.h (towctrans): New declaration.
10476         * lib/towctrans.c: New file.
10477         * lib/towctrans-impl.h: New file.
10478         * m4/towctrans.m4: New file.
10479         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towctrans is declared.
10480         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_TOWCTRANS.
10481         * modules/wctype-h (Makefile.am): Substitute GNULIB_TOWCTRANS.
10482         * tests/test-wctype-h-c++.cc: Test the declaration of towctrans.
10483         * doc/posix-functions/towctrans.texi: Mention the new module.
10484
10485 2011-02-06  Bruno Haible  <bruno@clisp.org>
10486
10487         New module 'wctrans'.
10488         * modules/wctrans: New file.
10489         * lib/wctype.in.h (wctrans): New declaration.
10490         * lib/wctrans.c: New file.
10491         * lib/wctrans-impl.h: New file.
10492         * m4/wctrans.m4: New file.
10493         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctrans is declared.
10494         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTRANS.
10495         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTRANS.
10496         * tests/test-wctype-h-c++.cc: Test the declaration of wctrans.
10497         * doc/posix-functions/wctrans.texi: Mention the new module.
10498
10499 2011-02-06  Bruno Haible  <bruno@clisp.org>
10500
10501         New module 'iswctype'.
10502         * modules/iswctype: New file.
10503         * lib/wctype.in.h (iswctype): New declaration.
10504         * lib/iswctype.c: New file.
10505         * lib/iswctype-impl.h: New file.
10506         * m4/iswctype.m4: New file.
10507         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether iswctype is declared.
10508         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_ISWCTYPE.
10509         * modules/wctype-h (Makefile.am): Substitute GNULIB_ISWCTYPE.
10510         * tests/test-wctype-h-c++.cc: Test the declaration of iswctype.
10511         * doc/posix-functions/iswctype.texi: Mention the new module and the
10512         HP-UX 11.00 problem.
10513
10514 2011-02-06  Bruno Haible  <bruno@clisp.org>
10515
10516         New module 'wctype'.
10517         * modules/wctype: Change to represent the wctype() substitute.
10518         * lib/wctype.in.h (wctype): New declaration.
10519         * lib/wctype.c: New file.
10520         * lib/wctype-impl.h: New file.
10521         * m4/wctype.m4: New file.
10522         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctype is declared.
10523         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTYPE.
10524         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTYPE.
10525         * tests/test-wctype-h-c++.cc: Test the declaration of wctype.
10526         * doc/posix-functions/wctype.texi: Mention the new module and the
10527         HP-UX 11.00 problem.
10528
10529 2011-02-06  Bruno Haible  <bruno@clisp.org>
10530
10531         wctype-h: Ensure wctype_t and wctrans_t are defined.
10532         * lib/wctype.in.h (wctype_t, wctrans_t): New type declarations.
10533         * m4/wctype_h.m4 (gl_WCTYPE_H): Determine HAVE_WCTYPE_T, HAVE_WCTRANS_T.
10534         (gl_WCTYPE_H_DEFAULTS): Initialize HAVE_WCTYPE_T, HAVE_WCTRANS_T.
10535         * modules/wctype-h (Makefile.am): Substitute HAVE_WCTYPE_T,
10536         HAVE_WCTRANS_T.
10537         * tests/test-wctype-h.c: Check that wctype_t and wctrans_t are defined.
10538
10539 2011-02-09  Paul Eggert  <eggert@cs.ucla.edu>
10540
10541         flock: fix license typo
10542
10543         * lib/flock.c: Fix typo in license.  One of the "Lesser"s was
10544         omitted.
10545
10546 2011-02-08  Bruno Haible  <bruno@clisp.org>
10547
10548         Split large sed scripts, for HP-UX sed.
10549         * modules/math (Makefile.am): Split sed scripts around 50 sed commands,
10550         to avoid HP-UX limit of 99 commands, in the near future.
10551         * modules/stdlib (Makefile.am): Likewise.
10552         * modules/unistd (Makefile.am): Likewise.
10553         * modules/wchar (Makefile.am): Likewise.
10554         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
10555         Suggestion by Ralf Wildenhues <Ralf.Wildenhues@gmx.de> in
10556         <http://lists.gnu.org/archive/html/bug-gnulib/2010-01/msg00216.html>.
10557
10558 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
10559             Bruno Haible  <bruno@clisp.org>
10560
10561         stdlib: improve random_r modularization
10562         * lib/stdlib.in.h: Encapsulate all the stuff having to do with
10563         random_r inside "#if @GNULIB_RANDOM_R@", so that it's clearer that
10564         you also need the random_r module to get this material right.
10565         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move check for random.h here ...
10566         * m4/stdlib_h.m4 (gl_STDLIB_H): ... from here.
10567         (gl_STDLIB_H_DEFAULTS): Default HAVE_RANDOM_H to 1, and AC_SUBST it.
10568
10569 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
10570
10571         stdlib: don't depend on stdint
10572         * lib/stdlib.in.h: Don't include <stdint.h> merely because
10573         GNULIB_POSIXCHECK is defined.  GNULIB_POSIXCHECK seems to
10574         be independent of whether stdint.h is needed.
10575         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Check for struct random_data
10576         here, instead of ...
10577         * m4/stdlib_h.m4 (gl_STDLIB_H): ... here.  Applications that need
10578         struct random_data should be using the random_r module, not just
10579         the stdlib module (which wouldn't make sense: what package needs
10580         just struct random_data without also needing random_r?).
10581         * modules/stdlib (Depends-on): Remove stdint.
10582
10583         getloadavg: don't depend on c-strtod, cloexec, fcntl-safer
10584         See the thread rooted at
10585         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00090.html>.
10586         * lib/getloadavg.c: Do not include c-strtod.h, cloexec.h, or fcntl--.h.
10587         Include <fcntl.h> only if (defined __linux__ || defined __CYGWIN__
10588         || defined SUNOS_5 || (defined LOAD_AVE_TYPE && !  defined
10589         __VMS)); previously it was always included (via fcntl--.h).
10590         (getloadavg): Do not use c_strtod.  Instead, approximate it by
10591         hand; this is good enough for load averages.  Also, do not use
10592         set_cloexec_flag; instead, use the O_CLOEXEC and F_DUPFD_CLOEXEC
10593         flags directly if available and don't bother otherwise.  (Packages
10594         that need the extra reliability should use the modules that define
10595         these flags on older platforms that lack them.)
10596         * modules/getloadavg (Depends-on): Remove c-strtod, cloexec,
10597         fcntl-safer.
10598
10599 2011-02-08  Jim Meyering  <meyering@redhat.com>
10600
10601         di-set.h, ino-map.h: add multiple-inclusion guard
10602         Technically, the guard is required only for ino-map.h, due to its
10603         INO_MAP_INSERT_FAILURE definition, but do both for consistency.
10604         * lib/di-set.h: Add file-spanning #ifndef _GL_DI_SET_H.
10605         * lib/ino-map.h: Likewise.
10606
10607 2011-02-06  Bruno Haible  <bruno@clisp.org>
10608
10609         iswblank: Ensure declaration on glibc systems.
10610         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Require gl_USE_SYSTEM_EXTENSIONS.
10611         * modules/iswblank (Dependencies): Add 'extensions'.
10612         * doc/posix-functions/iswblank.texi: Document the glibc problem.
10613
10614 2011-02-06  Bruno Haible  <bruno@clisp.org>
10615
10616         New module 'iswblank'.
10617         * lib/wctype.in.h (iswblank): Don't declare if GNULIB_ISWBLANK is 0.
10618         * modules/iswblank: New file.
10619         * modules/wctype-h (Files): Remove lib/iswblank.c.
10620         (Makefile.am): Substitute GNULIB_ISWBLANK.
10621         * m4/iswblank.m4: New file, partially extracted from m4/wctype_h.m4.
10622         * m4/wctype_h.m4 (gl_WCTYPE_MODULE_INDICATOR): New macro.
10623         (gl_WCTYPE_H_DEFAULTS): New macro.
10624         (gl_WCTYPE_H): Require it. Remove iswblank related code.
10625         * modules/iswblank-tests: New file.
10626         * tests/test-iswblank.c: New file, extraced from tests/test-wctype-h.c.
10627         * tests/test-wctype-h.c (main): Remove iswblank tests.
10628         * tests/test-wctype-h-c++.cc: Guard the signature test of iswblank.
10629         * doc/posix-functions/iswblank.texi: Mention module 'iswblank' instead
10630         of 'wctype-h'.
10631         * NEWS: Mention the change.
10632         * modules/mbchar (Depends-on): Add iswblank.
10633
10634 2011-02-08  Bruno Haible  <bruno@clisp.org>
10635
10636         di-set tests: Refactor.
10637         * tests/test-di-set.c: Include di-set.h early. Include macros.h. Drop
10638         unnecessary includes.
10639         (ASSERT): Remove macro.
10640         (main): Make C90 compliant by avoiding variable declaration after
10641         statement.
10642         * modules/di-set-tests (Files): Add tests/macros.h.
10643
10644 2011-02-08  Bruno Haible  <bruno@clisp.org>
10645
10646         ino-map tests: Refactor.
10647         * tests/test-ino-map.c: Include ino-map.h early. Include macros.h. Drop
10648         unnecessary includes.
10649         (ASSERT): Remove macro.
10650         (main): Make C90 compliant by avoiding variable declaration after
10651         statement.
10652         * modules/ino-map-tests (Files): Add tests/macros.h.
10653
10654 2011-02-08  Jim Meyering  <meyering@redhat.com>
10655
10656         di-set: add "const" to a cast
10657         * lib/di-set.c (di_set_insert): Cast hash_insert0 argument to
10658         "(void const *)", not "(void *)".  Spotted by Bruno Haible.
10659
10660 2011-02-06  Bruno Haible  <bruno@clisp.org>
10661
10662         Rename module 'wctype' to 'wctype-h'.
10663         * modules/wctype-h: Renamed from modules/wctype.
10664         * modules/wctype: Simplyfy to a redirection to 'wctype-h'.
10665         * modules/wctype-h-tests: Renamed from modules/wctype-tests.
10666         (Files, Depends-on, Makefile.am): Update.
10667         * modules/wctype-h-c++-tests: Renamed from modules/wctype-c++-tests.
10668         (Files, Makefile.am): Update.
10669         * tests/test-wctype-h.c: Renamed from tests/test-wctype.c.
10670         * tests/test-wctype-h-c++.cc: Renamed from tests/test-wctype-c++.cc.
10671         * doc/posix-headers/wctype.texi: Update.
10672         * doc/posix-functions/iswalnum.texi: Update.
10673         * doc/posix-functions/iswalpha.texi: Update.
10674         * doc/posix-functions/iswblank.texi: Update.
10675         * doc/posix-functions/iswcntrl.texi: Update.
10676         * doc/posix-functions/iswdigit.texi: Update.
10677         * doc/posix-functions/iswgraph.texi: Update.
10678         * doc/posix-functions/iswlower.texi: Update.
10679         * doc/posix-functions/iswprint.texi: Update.
10680         * doc/posix-functions/iswpunct.texi: Update.
10681         * doc/posix-functions/iswspace.texi: Update.
10682         * doc/posix-functions/iswupper.texi: Update.
10683         * doc/posix-functions/iswxdigit.texi: Update.
10684         * doc/posix-functions/towlower.texi: Update.
10685         * doc/posix-functions/towupper.texi: Update.
10686         * NEWS: Mention the change.
10687         * modules/fnmatch (Dependencies): Add wctype-h, remove wctype.
10688         * modules/mbchar (Dependencies): Likewise.
10689         * modules/mbswidth (Dependencies): Likewise.
10690         * modules/quotearg (Dependencies): Likewise.
10691         * modules/regex (Dependencies): Likewise.
10692         * modules/wcscasecmp (Dependencies): Likewise.
10693         * modules/wcsncasecmp (Dependencies): Likewise.
10694         * modules/wcwidth (Dependencies): Likewise.
10695
10696 2011-02-06  Bruno Haible  <bruno@clisp.org>
10697
10698         New module 'wcswidth'.
10699         * modules/wcswidth: New file.
10700         * lib/wchar.in.h (wcswidth): New declaration.
10701         * lib/wcswidth.c: New file.
10702         * lib/wcswidth-impl.h: New file, from libutf8 with modifications.
10703         * m4/wcswidth.m4: New file.
10704         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcswidth is declared.
10705         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSWIDTH, HAVE_WCSWIDTH,
10706         REPLACE_WCSWIDTH.
10707         * modules/wchar (Makefile.am): Substitute GNULIB_WCSWIDTH,
10708         HAVE_WCSWIDTH, REPLACE_WCSWIDTH.
10709         * tests/test-wchar-c++.cc: Test the declaration of wcswidth.
10710         * doc/posix-functions/wcswidth.texi: Mention the new module.
10711
10712 2011-02-06  Bruno Haible  <bruno@clisp.org>
10713
10714         New module 'wcstok'.
10715         * modules/wcstok: New file.
10716         * lib/wchar.in.h (wcstok): New declaration.
10717         * lib/wcstok.c: New file.
10718         * lib/wcstok-impl.h: New file, from libutf8 with modifications.
10719         * m4/wcstok.m4: New file.
10720         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcstok is declared.
10721         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSTOK, HAVE_WCSTOK.
10722         * modules/wchar (Makefile.am): Substitute GNULIB_WCSTOK, HAVE_WCSTOK.
10723         * tests/test-wchar-c++.cc: Test the declaration of wcstok.
10724         * doc/posix-functions/wcstok.texi: Mention the new module.
10725
10726 2011-02-06  Bruno Haible  <bruno@clisp.org>
10727
10728         New module 'wcsstr'.
10729         * modules/wcsstr: New file.
10730         * lib/wchar.in.h (wcsstr): New declaration.
10731         * lib/wcsstr.c: New file.
10732         * lib/wcsstr-impl.h: New file, from libutf8 with modifications.
10733         * m4/wcsstr.m4: New file.
10734         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsstr is declared.
10735         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSTR, HAVE_WCSSTR.
10736         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSTR, HAVE_WCSSTR.
10737         * tests/test-wchar-c++.cc: Test the declaration of wcsstr.
10738         * doc/posix-functions/wcsstr.texi: Mention the new module.
10739
10740 2011-02-06  Bruno Haible  <bruno@clisp.org>
10741
10742         New module 'wcspbrk'.
10743         * modules/wcspbrk: New file.
10744         * lib/wchar.in.h (wcspbrk): New declaration.
10745         * lib/wcspbrk.c: New file.
10746         * lib/wcspbrk-impl.h: New file, from libutf8 with modifications.
10747         * m4/wcspbrk.m4: New file.
10748         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcspbrk is declared.
10749         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSPBRK, HAVE_WCSPBRK.
10750         * modules/wchar (Makefile.am): Substitute GNULIB_WCSPBRK, HAVE_WCSPBRK.
10751         * tests/test-wchar-c++.cc: Test the declaration of wcspbrk.
10752         * doc/posix-functions/wcspbrk.texi: Mention the new module.
10753
10754 2011-02-06  Bruno Haible  <bruno@clisp.org>
10755
10756         New module 'wcsspn'.
10757         * modules/wcsspn: New file.
10758         * lib/wchar.in.h (wcsspn): New declaration.
10759         * lib/wcsspn.c: New file.
10760         * lib/wcsspn-impl.h: New file, from libutf8 with modifications.
10761         * m4/wcsspn.m4: New file.
10762         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsspn is declared.
10763         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSPN, HAVE_WCSSPN.
10764         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSPN, HAVE_WCSSPN.
10765         * tests/test-wchar-c++.cc: Test the declaration of wcsspn.
10766         * doc/posix-functions/wcsspn.texi: Mention the new module.
10767
10768 2011-02-06  Bruno Haible  <bruno@clisp.org>
10769
10770         New module 'wcscspn'.
10771         * modules/wcscspn: New file.
10772         * lib/wchar.in.h (wcscspn): New declaration.
10773         * lib/wcscspn.c: New file.
10774         * lib/wcscspn-impl.h: New file, from libutf8 with modifications.
10775         * m4/wcscspn.m4: New file.
10776         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscspn is declared.
10777         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCSPN, HAVE_WCSCSPN.
10778         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCSPN, HAVE_WCSCSPN.
10779         * tests/test-wchar-c++.cc: Test the declaration of wcscspn.
10780         * doc/posix-functions/wcscspn.texi: Mention the new module.
10781
10782 2011-02-06  Bruno Haible  <bruno@clisp.org>
10783
10784         New module 'wcsrchr'.
10785         * modules/wcsrchr: New file.
10786         * lib/wchar.in.h (wcsrchr): New declaration.
10787         * lib/wcsrchr.c: New file.
10788         * lib/wcsrchr-impl.h: New file, from libutf8 with modifications.
10789         * m4/wcsrchr.m4: New file.
10790         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsrchr is declared.
10791         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRCHR, HAVE_WCSRCHR.
10792         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRCHR, HAVE_WCSRCHR.
10793         * tests/test-wchar-c++.cc: Test the declaration of wcsrchr.
10794         * doc/posix-functions/wcsrchr.texi: Mention the new module.
10795
10796 2011-02-06  Bruno Haible  <bruno@clisp.org>
10797
10798         New module 'wcschr'.
10799         * modules/wcschr: New file.
10800         * lib/wchar.in.h (wcschr): New declaration.
10801         * lib/wcschr.c: New file.
10802         * lib/wcschr-impl.h: New file, from libutf8 with modifications.
10803         * m4/wcschr.m4: New file.
10804         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcschr is declared.
10805         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCHR, HAVE_WCSCHR.
10806         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCHR, HAVE_WCSCHR.
10807         * tests/test-wchar-c++.cc: Test the declaration of wcschr.
10808         * doc/posix-functions/wcschr.texi: Mention the new module.
10809
10810 2011-02-06  Bruno Haible  <bruno@clisp.org>
10811
10812         New module 'wcsdup'.
10813         * modules/wcsdup: New file.
10814         * lib/wchar.in.h (wcsdup): New declaration.
10815         * lib/wcsdup.c: New file.
10816         * lib/wcsdup-impl.h: New file, from libutf8 with modifications.
10817         * m4/wcsdup.m4: New file.
10818         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsdup is declared.
10819         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSDUP, HAVE_WCSDUP.
10820         * modules/wchar (Makefile.am): Substitute GNULIB_WCSDUP, HAVE_WCSDUP.
10821         * tests/test-wchar-c++.cc: Test the declaration of wcsdup.
10822         * doc/posix-functions/wcsdup.texi: Mention the new module.
10823
10824 2011-02-06  Bruno Haible  <bruno@clisp.org>
10825
10826         New module 'wcsxfrm'.
10827         * modules/wcsxfrm: New file.
10828         * lib/wchar.in.h (wcsxfrm): New declaration.
10829         * lib/wcsxfrm.c: New file.
10830         * lib/wcsxfrm-impl.h: New file.
10831         * m4/wcsxfrm.m4: New file.
10832         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsxfrm is declared.
10833         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSXFRM, HAVE_WCSXFRM.
10834         * modules/wchar (Makefile.am): Substitute GNULIB_WCSXFRM, HAVE_WCSXFRM.
10835         * tests/test-wchar-c++.cc: Test the declaration of wcsxfrm.
10836         * doc/posix-functions/wcsxfrm.texi: Mention the new module.
10837
10838 2011-02-06  Bruno Haible  <bruno@clisp.org>
10839
10840         New module 'wcscoll'.
10841         * modules/wcscoll: New file.
10842         * lib/wchar.in.h (wcscoll): New declaration.
10843         * lib/wcscoll.c: New file.
10844         * lib/wcscoll-impl.h: New file.
10845         * m4/wcscoll.m4: New file.
10846         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscoll is declared.
10847         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCOLL, HAVE_WCSCOLL.
10848         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCOLL, HAVE_WCSCOLL.
10849         * tests/test-wchar-c++.cc: Test the declaration of wcscoll.
10850         * doc/posix-functions/wcscoll.texi: Mention the new module.
10851
10852 2011-02-06  Bruno Haible  <bruno@clisp.org>
10853
10854         New module 'wcsncasecmp'.
10855         * modules/wcsncasecmp: New file.
10856         * lib/wchar.in.h (wcsncasecmp): New declaration.
10857         * lib/wcsncasecmp.c: New file.
10858         * lib/wcsncasecmp-impl.h: New file, from libutf8 with modifications.
10859         * m4/wcsncasecmp.m4: New file.
10860         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncasecmp is declared.
10861         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCASECMP, HAVE_WCSNCASECMP.
10862         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCASECMP,
10863         HAVE_WCSNCASECMP.
10864         * tests/test-wchar-c++.cc: Test the declaration of wcsncasecmp.
10865         * doc/posix-functions/wcsncasecmp.texi: Mention the new module.
10866
10867 2011-02-06  Bruno Haible  <bruno@clisp.org>
10868
10869         New module 'wcscasecmp'.
10870         * modules/wcscasecmp: New file.
10871         * lib/wchar.in.h (wcscasecmp): New declaration.
10872         * lib/wcscasecmp.c: New file.
10873         * lib/wcscasecmp-impl.h: New file, from libutf8 with modifications.
10874         * m4/wcscasecmp.m4: New file.
10875         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscasecmp is declared.
10876         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCASECMP, HAVE_WCSCASECMP.
10877         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCASECMP,
10878         HAVE_WCSCASECMP.
10879         * tests/test-wchar-c++.cc: Test the declaration of wcscasecmp.
10880         * doc/posix-functions/wcscasecmp.texi: Mention the new module.
10881
10882 2011-02-05  Bruno Haible  <bruno@clisp.org>
10883
10884         New module 'wcsncmp'.
10885         * modules/wcsncmp: New file.
10886         * lib/wchar.in.h (wcsncmp): New declaration.
10887         * lib/wcsncmp.c: New file.
10888         * lib/wcsncmp-impl.h: New file, from libutf8 with modifications.
10889         * m4/wcsncmp.m4: New file.
10890         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncmp is declared.
10891         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCMP, HAVE_WCSNCMP.
10892         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCMP, HAVE_WCSNCMP.
10893         * tests/test-wchar-c++.cc: Test the declaration of wcsncmp.
10894         * doc/posix-functions/wcsncmp.texi: Mention the new module.
10895
10896 2011-02-05  Bruno Haible  <bruno@clisp.org>
10897
10898         New module 'wcscmp'.
10899         * modules/wcscmp: New file.
10900         * lib/wchar.in.h (wcscmp): New declaration.
10901         * lib/wcscmp.c: New file.
10902         * lib/wcscmp-impl.h: New file, from libutf8 with modifications.
10903         * m4/wcscmp.m4: New file.
10904         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscmp is declared.
10905         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCMP, HAVE_WCSCMP.
10906         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCMP, HAVE_WCSCMP.
10907         * tests/test-wchar-c++.cc: Test the declaration of wcscmp.
10908         * doc/posix-functions/wcscmp.texi: Mention the new module.
10909
10910 2011-02-05  Bruno Haible  <bruno@clisp.org>
10911
10912         New module 'wcsncat'.
10913         * modules/wcsncat: New file.
10914         * lib/wchar.in.h (wcsncat): New declaration.
10915         * lib/wcsncat.c: New file.
10916         * lib/wcsncat-impl.h: New file, from libutf8 with modifications.
10917         * m4/wcsncat.m4: New file.
10918         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncat is declared.
10919         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCAT, HAVE_WCSNCAT.
10920         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCAT, HAVE_WCSNCAT.
10921         * tests/test-wchar-c++.cc: Test the declaration of wcsncat.
10922         * doc/posix-functions/wcsncat.texi: Mention the new module.
10923
10924 2011-02-05  Bruno Haible  <bruno@clisp.org>
10925
10926         New module 'wcscat'.
10927         * modules/wcscat: New file.
10928         * lib/wchar.in.h (wcscat): New declaration.
10929         * lib/wcscat.c: New file.
10930         * lib/wcscat-impl.h: New file, from libutf8 with modifications.
10931         * m4/wcscat.m4: New file.
10932         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscat is declared.
10933         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCAT, HAVE_WCSCAT.
10934         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCAT, HAVE_WCSCAT.
10935         * tests/test-wchar-c++.cc: Test the declaration of wcscat.
10936         * doc/posix-functions/wcscat.texi: Mention the new module.
10937
10938 2011-02-05  Bruno Haible  <bruno@clisp.org>
10939
10940         New module 'wcpncpy'.
10941         * modules/wcpncpy: New file.
10942         * lib/wchar.in.h (wcpncpy): New declaration.
10943         * lib/wcpncpy.c: New file.
10944         * lib/wcpncpy-impl.h: New file, from libutf8 with modifications.
10945         * m4/wcpncpy.m4: New file.
10946         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpncpy is declared.
10947         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPNCPY, HAVE_WCPNCPY.
10948         * modules/wchar (Makefile.am): Substitute GNULIB_WCPNCPY, HAVE_WCPNCPY.
10949         * tests/test-wchar-c++.cc: Test the declaration of wcpncpy.
10950         * doc/posix-functions/wcpncpy.texi: Mention the new module.
10951
10952 2011-02-05  Bruno Haible  <bruno@clisp.org>
10953
10954         New module 'wcsncpy'.
10955         * modules/wcsncpy: New file.
10956         * lib/wchar.in.h (wcsncpy): New declaration.
10957         * lib/wcsncpy.c: New file.
10958         * lib/wcsncpy-impl.h: New file, from libutf8 with modifications.
10959         * m4/wcsncpy.m4: New file.
10960         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncpy is declared.
10961         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCPY, HAVE_WCSNCPY.
10962         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCPY, HAVE_WCSNCPY.
10963         * tests/test-wchar-c++.cc: Test the declaration of wcsncpy.
10964         * doc/posix-functions/wcsncpy.texi: Mention the new module.
10965
10966 2011-02-05  Bruno Haible  <bruno@clisp.org>
10967
10968         New module 'wcpcpy'.
10969         * modules/wcpcpy: New file.
10970         * lib/wchar.in.h (wcpcpy): New declaration.
10971         * lib/wcpcpy.c: New file.
10972         * lib/wcpcpy-impl.h: New file, from libutf8 with modifications.
10973         * m4/wcpcpy.m4: New file.
10974         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpcpy is declared.
10975         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPCPY, HAVE_WCPCPY.
10976         * modules/wchar (Makefile.am): Substitute GNULIB_WCPCPY, HAVE_WCPCPY.
10977         * tests/test-wchar-c++.cc: Test the declaration of wcpcpy.
10978         * doc/posix-functions/wcpcpy.texi: Mention the new module.
10979
10980 2011-02-05  Bruno Haible  <bruno@clisp.org>
10981
10982         New module 'wcscpy'.
10983         * modules/wcscpy: New file.
10984         * lib/wchar.in.h (wcscpy): New declaration.
10985         * lib/wcscpy.c: New file.
10986         * lib/wcscpy-impl.h: New file, from libutf8 with modifications.
10987         * m4/wcscpy.m4: New file.
10988         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscpy is declared.
10989         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCPY, HAVE_WCSCPY.
10990         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCPY, HAVE_WCSCPY.
10991         * tests/test-wchar-c++.cc: Test the declaration of wcscpy.
10992         * doc/posix-functions/wcscpy.texi: Mention the new module.
10993
10994 2011-02-05  Bruno Haible  <bruno@clisp.org>
10995
10996         New module 'wcsnlen'.
10997         * modules/wcsnlen: New file.
10998         * lib/wchar.in.h (wcsnlen): New declaration.
10999         * lib/wcsnlen.c: New file.
11000         * lib/wcsnlen-impl.h: New file, from libutf8 with modifications.
11001         * m4/wcsnlen.m4: New file.
11002         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsnlen is declared.
11003         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNLEN, HAVE_WCSNLEN.
11004         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNLEN, HAVE_WCSNLEN.
11005         * tests/test-wchar-c++.cc: Test the declaration of wcsnlen.
11006         * doc/posix-functions/wcsnlen.texi: Mention the new module.
11007
11008 2011-02-05  Bruno Haible  <bruno@clisp.org>
11009
11010         New module 'wcslen'.
11011         * modules/wcslen: New file.
11012         * lib/wchar.in.h (wcslen): New declaration.
11013         * lib/wcslen.c: New file.
11014         * lib/wcslen-impl.h: New file, from libutf8 with modifications.
11015         * m4/wcslen.m4: New file.
11016         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcslen is declared.
11017         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSLEN, HAVE_WCSLEN.
11018         * modules/wchar (Makefile.am): Substitute GNULIB_WCSLEN, HAVE_WCSLEN.
11019         * tests/test-wchar-c++.cc: Test the declaration of wcslen.
11020         * doc/posix-functions/wcslen.texi: Mention the new module.
11021
11022 2011-02-05  Bruno Haible  <bruno@clisp.org>
11023
11024         New module 'wmemset'.
11025         * modules/wmemset: New file.
11026         * lib/wchar.in.h (wmemset): New declaration.
11027         * lib/wmemset.c: New file.
11028         * lib/wmemset-impl.h: New file, from libutf8 with modifications.
11029         * m4/wmemset.m4: New file.
11030         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemset is declared.
11031         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMSET, HAVE_WMEMSET.
11032         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMSET, HAVE_WMEMSET.
11033         * tests/test-wchar-c++.cc: Test the declaration of wmemset.
11034         * doc/posix-functions/wmemset.texi: Mention the new module.
11035
11036 2011-02-05  Bruno Haible  <bruno@clisp.org>
11037
11038         New module 'wmemmove'.
11039         * modules/wmemmove: New file.
11040         * lib/wchar.in.h (wmemmove): New declaration.
11041         * lib/wmemmove.c: New file.
11042         * lib/wmemmove-impl.h: New file, from libutf8 with modifications.
11043         * m4/wmemmove.m4: New file.
11044         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemmove is declared.
11045         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMMOVE, HAVE_WMEMMOVE.
11046         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMMOVE,
11047         HAVE_WMEMMOVE.
11048         * tests/test-wchar-c++.cc: Test the declaration of wmemmove.
11049         * doc/posix-functions/wmemmove.texi: Mention the new module.
11050
11051 2011-02-05  Bruno Haible  <bruno@clisp.org>
11052
11053         New module 'wmemcpy'.
11054         * modules/wmemcpy: New file.
11055         * lib/wchar.in.h (wmemcpy): New declaration.
11056         * lib/wmemcpy.c: New file.
11057         * lib/wmemcpy-impl.h: New file, from libutf8 with modifications.
11058         * m4/wmemcpy.m4: New file.
11059         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcpy is declared.
11060         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCPY, HAVE_WMEMCPY.
11061         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCPY, HAVE_WMEMCPY.
11062         * tests/test-wchar-c++.cc: Test the declaration of wmemcpy.
11063         * doc/posix-functions/wmemcpy.texi: Mention the new module.
11064
11065 2011-02-05  Bruno Haible  <bruno@clisp.org>
11066
11067         New module 'wmemcmp'.
11068         * modules/wmemcmp: New file.
11069         * lib/wchar.in.h (wmemcmp): New declaration.
11070         * lib/wmemcmp.c: New file.
11071         * lib/wmemcmp-impl.h: New file, from libutf8 with modifications.
11072         * m4/wmemcmp.m4: New file.
11073         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcmp is declared.
11074         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCMP, HAVE_WMEMCMP.
11075         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCMP, HAVE_WMEMCMP.
11076         * tests/test-wchar-c++.cc: Test the declaration of wmemcmp.
11077         * doc/posix-functions/wmemcmp.texi: Mention the new module.
11078
11079 2011-02-07  Jim Meyering  <meyering@redhat.com>
11080
11081         di-set, ino-map: new modules, from coreutils
11082         * lib/di-set.c: New file.
11083         * lib/di-set.h: Likewise.
11084         * lib/ino-map.c: Likewise.
11085         * lib/ino-map.h: Likewise.
11086         * modules/di-set: Likewise.
11087         * modules/di-set-tests: Likewise.
11088         * modules/ino-map: Likewise.
11089         * modules/ino-map-tests: Likewise.
11090         * tests/test-di-set.c: Likewise.
11091         * tests/test-ino-map.c: Likewise.
11092
11093 2011-02-06  Paul Eggert  <eggert@cs.ucla.edu>
11094
11095         getloadavg: merge minor changes from Emacs
11096
11097         * lib/getloadavg.c (getloadavg_initialized): More-accurate comment.
11098         (getloadavg): Use memset, not bzero.
11099
11100         2008-07-25  Chong Yidong  <cyd@stupidchicken.com>
11101         * lib/getloadavg.c (nl): Rename to name_list to avoid ncurses.h
11102         clash (bug#86).
11103
11104 2010-11-14  Bruno Haible  <bruno@clisp.org>
11105
11106         Allow multiple gnulib generated replacements to coexist.
11107         * lib/getopt.in.h (struct option): Avoid identical redefinition.
11108         * lib/inttypes.in.h (imaxdiv_t): Likewise.
11109         * lib/langinfo.in.h (nl_item): Likewise.
11110         * lib/math.in.h (_NaN, NAN): Likewise.
11111         * lib/netdb.in.h (struct addrinfo): Likewise.
11112         * lib/poll.in.h (struct pollfd, nfds_t): Likewise.
11113         * lib/pthread.in.h (pthread_t, pthread_attr_t, pthread_barrier_t,
11114         pthread_barrierattr_t, pthread_cond_t, pthread_condattr_t,
11115         pthread_key_t, pthread_mutex_t, pthread_mutexattr_t, pthread_once_t,
11116         pthread_rwlock_t, pthread_rwlockattr_t, pthread_cond_destroy,
11117         pthread_cond_init, pthread_cond_signal, pthread_cond_wait,
11118         pthread_create, pthread_exit, pthread_join, pthread_mutexattr_destroy,
11119         pthread_mutexattr_init, pthread_mutexattr_settype,
11120         pthread_mutex_destroy, pthread_mutex_init, pthread_mutex_lock,
11121         pthread_mutex_trylock, pthread_mutex_unlock, pthread_spinlock_t,
11122         pthread_spin_init, pthread_spin_destroy, pthread_spin_lock,
11123         pthread_spin_trylock, pthread_spin_unlock): Likewise.
11124         * lib/sched.in.h (struct sched_param): Likewise.
11125         * lib/se-selinux.in.h (security_class_t, security_context_t,
11126         is_selinux_enabled, getcon, freecon, getfscreatecon, setfscreatecon,
11127         matchpathcon, getfilecon, lgetfilecon, fgetfilecon, setfilecon,
11128         lsetfilecon, fsetfilecon, security_check_context,
11129         security_check_context_raw, setexeccon, matchpathcon_init_prefix):
11130         Likewise.
11131         * lib/search.in.h (VISIT, _gl_search_compar_fn, _gl_search_action_fn):
11132         Likewise.
11133         * lib/signal.in.h (sig_atomic_t, sigset_t, verify_NSIG_constraint,
11134         _gl_function_taking_int_returning_void_t, union sigval,
11135         struct siginfo_t, siginfo_t, struct sigaction): Likewise.
11136         * lib/spawn.in.h (posix_spawnattr_t, posix_spawn_file_actions_t,
11137         verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
11138         * lib/stdint.in.h (gl_int8_t, gl_uint8_t, gl_int16_t, gl_uint16_t,
11139         gl_int32_t, gl_uint32_t, gl_int64_t, gl_uint64_t, int_least8_t,
11140         uint_least8_t, int_least16_t, uint_least16_t, int_least32_t,
11141         uint_least32_t, int_least64_t, uint_least64_t, gl_int_fast8_t,
11142         gl_uint_fast8_t, gl_int_fast16_t, gl_uint_fast16_t, gl_int_fast32_t,
11143         gl_uint_fast32_t, int_fast64_t, uint_fast64_t, gl_intptr_t,
11144         gl_uintptr_t, intmax_t, uintmax_t, _verify_intmax_size): Likewise.
11145         * lib/stdio.in.h (rpl_fseek, rpl_ftell): Likewise.
11146         * lib/sys_socket.in.h (sa_family_t, struct sockaddr_storage,
11147         socklen_t, rpl_fd_isset): Likewise.
11148         * lib/sys_stat.in.h (rpl_mkdir): Likewise.
11149         * lib/sys_time.in.h (struct timeval): Likewise.
11150         * lib/sys_times.in.h (struct tms): Likewise.
11151         * lib/sys_utsname.in.h (struct utsname):
11152         * lib/time.in.h (struct timespec, __time_t_must_be_integral): Likewise.
11153         * lib/unistd.in.h (getpagesize): Likewise.
11154         * lib/wchar.in.h (mbstate_t): Likewise.
11155         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
11156         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit,
11157         towlower, towupper): Likewise.
11158         Reported by Sam Steingold <sds@gnu.org>.
11159
11160 2011-02-05  Eric Blake  <eblake@redhat.com>
11161
11162         unsetenv: work around Haiku issues
11163         * m4/setenv.m4 (gl_FUNC_UNSETENV): Also detect Haiku issue.
11164         * doc/posix-functions/unsetenv.texi (unsetenv): Document it.
11165
11166 2010-12-30  Bruce Korb  <bkorb@gnu.org>
11167
11168         libposix: avoid calling error() within libposix
11169         * lib/openat-die.c: remove error module stuff when GNULIB_LIBPOSIX
11170         is defined.
11171
11172 2011-02-05  Eric Blake  <eblake@redhat.com>
11173
11174         strerror_r-posix: port to cygwin
11175         * lib/strerror_r.c (strerror_r) [__CYGWIN__]: Add cygwin
11176         implementation.
11177         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Adjust comment.
11178         * tests/test-strerror_r.c (main): Fix test.
11179         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
11180         issue.
11181
11182 2011-02-05  Bruno Haible  <bruno@clisp.org>
11183
11184         New module 'wmemchr'.
11185         * modules/wmemchr: New file.
11186         * lib/wchar.in.h (wmemchr): New declaration.
11187         * lib/wmemchr.c: New file.
11188         * lib/wmemchr-impl.h: New file, from libutf8 with modifications.
11189         * m4/wmemchr.m4: New file.
11190         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemchr is declared.
11191         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCHR, HAVE_WMEMCHR.
11192         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCHR, HAVE_WMEMCHR.
11193         * tests/test-wchar-c++.cc: Test the declaration of wmemchr.
11194         * doc/posix-functions/wmemchr.texi: Mention the new module.
11195
11196 2011-02-04  Eric Blake  <eblake@redhat.com>
11197
11198         fdopendir: detect FreeBSD bug
11199         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Detect bug.
11200         * doc/posix-functions/fdopendir.texi (fdopendir): Document it.
11201
11202 2011-02-04  Paul Eggert  <eggert@cs.ucla.edu>
11203
11204         stdbool: do not define HAVE_STDBOOL_H
11205         * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL): Renamed from
11206         AC_HEADER_STDBOOL.  All uses changed.  Do not define
11207         HAVE_STDBOOL_H, as gnulib does not need this.  This change is
11208         imported from the latest Autoconf git.  It was motivated by Emacs,
11209         which uses gnulib but does not need HAVE_STDBOOL_H.
11210
11211 2011-02-04  Bruno Haible  <bruno@clisp.org>
11212
11213         wcsnrtombs: Prepare for new module wwcsnrtombs.
11214         * lib/wcsnrtombs-impl.h: New file, extracted from lib/wcsnrtombs.c.
11215         * lib/wcsnrtombs.c: Include it.
11216         * modules/wcsnrtombs (Files): Add lib/wcsnrtombs-impl.h.
11217
11218         wcsrtombs: Prepare for new module wwcsrtombs.
11219         * lib/wcsrtombs-impl.h: New file, extracted from lib/wcsrtombs.c.
11220         * lib/wcsrtombs.c: Include it.
11221         * modules/wcsrtombs (Files): Add lib/wcsrtombs-impl.h.
11222
11223         mbsnrtowcs: Prepare for new module mbsnrtowwcs.
11224         * lib/mbsnrtowcs-impl.h: New file, extracted from lib/mbsnrtowcs.c.
11225         * lib/mbsnrtowcs.c: Include it.
11226         * modules/mbsnrtowcs (Files): Add lib/mbsnrtowcs-impl.h.
11227
11228         mbsrtowcs: Prepare for new module mbsrtowwcs.
11229         * lib/mbsrtowcs-impl.h: New file, extracted from lib/mbsrtowcs.c.
11230         * lib/mbsrtowcs.c: Include it.
11231         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-impl.h.
11232
11233 2011-02-04  Bruno Haible  <bruno@clisp.org>
11234
11235         vasnprintf: Reduce use of malloc for small format strings.
11236         * lib/printf-args.h (N_DIRECT_ALLOC_ARGUMENTS): New macro.
11237         (arguments): Add room for the first 7 arguments.
11238         * lib/printf-parse.h (N_DIRECT_ALLOC_DIRECTIVES): New macro.
11239         (char_directives, u8_directives, u16_directives, u32_directives): Add
11240         room for the first 7 directives.
11241         * lib/printf-parse.c: Include <string.h>.
11242         (PRINTF_PARSE): Change memory handling code so that it uses the first
11243         7 preallocated elements in an 'arguments' or 'DIRECTIVES' struct.
11244         * lib/vasnprintf.c (VASNPRINTF): Update memory handling code.
11245         Reported by Pádraig Brady <P@draigbrady.com>.
11246
11247 2011-01-31  Eric Blake  <eblake@redhat.com>
11248
11249         dup2: work around Haiku bug
11250         * m4/dup2.m4 (gl_FUNC_DUP2): Test for bug.
11251         * lib/dup2.c (rpl_dup2) [!WIN32]: Add workaround.
11252         * doc/posix-functions/dup2.texi (dup2): Document the bug.
11253         * tests/test-dup2.c (main): Enhance test.
11254
11255 2011-01-31  Simon Josefsson  <simon@josefsson.org>
11256
11257         doc: off_t is not available in eglibc 2.11.2 stdio.h.
11258         * doc/posix-headers/stdio.texi (stdio.h): Mention that off_t isn't
11259         declared by eglibc 2.11.2.
11260         * lib/stdio.in.h: Likewise.
11261
11262 2011-01-31  Eric Blake  <eblake@redhat.com>
11263
11264         ignore-value: add missing test dependency
11265         * tests/test-ignore-value.c: Revert previous change; stdio.h
11266         provides off_t.
11267         * modules/ignore-value-tests (Depends-on): Add missing dependency.
11268
11269 2011-01-30  Paul Eggert  <eggert@cs.ucla.edu>
11270
11271         mktime: clarify long_int width checking
11272         * lib/mktime.c (long_int_is_wide_enough): Move this assertion to
11273         the top level, to make it clearer that the assumption about
11274         long_int width is being checked.  See
11275         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00554.html>.
11276
11277 2011-01-30  Simon Josefsson  <simon@josefsson.org>
11278
11279         ignore-value: Fix self-test.
11280         * tests/test-ignore-value.c: Include sys/types.h for off_t.
11281
11282 2011-01-29  Paul Eggert  <eggert@cs.ucla.edu>
11283
11284         TYPE_MAXIMUM: avoid theoretically undefined behavior
11285         * lib/intprops.h (TYPE_MINIMUM, TYPE_MAXIMUM): Do not shift a
11286         negative number, which the C Standard says has undefined behavior.
11287         In practice this is not a problem, but might as well do it by the book.
11288         Reported by Rich Felker and Eric Blake; see
11289         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00493.html>.
11290         * lib/strtol.c (TYPE_MINIMUM, TYPE_MAXIMUM): Likewise.
11291         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
11292         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
11293         * m4/parse-datetime.m4 (gl_PARSE_DATETIME): Likewise.
11294         * m4/stdint.m4 (gl_STDINT_H): Likewise.
11295         * lib/mktime.c (TYPE_MAXIMUM): Redo slightly to match the others.
11296
11297         mktime: #undef mktime before #defining it
11298         * lib/mktime.c (mktime) [DEBUG]: #undef mktime before #defining it.
11299
11300         mktime: systematically normalize tm_isdst comparisons
11301         * lib/mktime.c (isdst_differ): New function.
11302         (__mktime_internal): Use it systematically for all isdst comparisons.
11303         This completes the fix for libc BZ #6723, and removes the need for
11304         normalizing tm_isdst.  See
11305         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>
11306         (not_equal_tm) [DEBUG]: Use isdst_differ here, too.
11307
11308         mktime: fix some integer overflow issues and sidestep the rest
11309
11310         This was prompted by a bug report by Benjamin Lindner for MinGW
11311         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00472.html>.
11312         His bug is due to signed integer overflow (0 - INT_MIN), and I
11313         I scanned through mktime.c looking for other integer overflow
11314         problems, fixing all the bugs I found.
11315
11316         Although the C Standard says the resulting code is still not safe
11317         in the presence of integer overflow, in practice it should be good
11318         enough for all real-world two's-complement implementations, except
11319         for debugging environments that deliberately trap on integer
11320         overflow (e.g., gcc -ftrapv).
11321
11322         * lib/mktime.c (WRAPV): New macro.
11323         (SHR): Also check that long_int and time_t shift right in the
11324         usual way, before using the fast-but-unportable method.
11325         (TYPE_ONES_COMPLEMENT, TYPE_SIGNED_MAGNITUDE): Remove, no longer
11326         used.  The code already assumed two's complement, so there's
11327         no need to test for alternatives.  All uses removed.
11328         (TYPE_MAXIMUM): Don't rely here on overflow behavior not defined by
11329         the C standard.  Problem reported by Rich Felker in
11330         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00488.html>.
11331         (twos_complement_arithmetic): Also check long_int and time_t.
11332         (time_t_avg, time_t_add_ok, time_t_int_add_ok): New functions.
11333         (guess_time_tm, ranged_convert, __mktime_internal): Use them.
11334         (__mktime_internal): Avoid integer overflow with unary subtraction
11335         in two instances where -1 - X is an adequate replacement for -X,
11336         since the calculations are approximate.
11337
11338 2011-01-29  Eric Blake  <eblake@redhat.com>
11339
11340         mktime: avoid infinite loop
11341         * m4/mktime.m4 (AC_FUNC_MKTIME): Avoid overflow on possibly-signed
11342         type; behavior is still undefined but portable to all known targets.
11343         Reported by Rich Felker.
11344
11345 2011-01-29  Simon Josefsson  <simon@josefsson.org>
11346
11347         rename, unlink, same-inode: Relicense.
11348         * modules/rename (License): Relax from LGPLv3+ to LGPLv2+.
11349         * modules/unlink (License): Likewise.
11350         * modules/same-inode (License): Likewise.
11351
11352 2011-01-28  Paul Eggert  <eggert@cs.ucla.edu>
11353
11354         mktime: avoid problems on NetBSD 5 / i386
11355         * lib/mktime.c (long_int): New type.  This works around a problem
11356         on NetBSD 5 / i386, where 'long int' and 'int' are both 32 bits
11357         but time_t is 64 bits, and where I expect the existing code is
11358         wrong in some cases.
11359         (leapyear, ydhms_diff, guess_time_tm, __mktime_internal): Use it.
11360         (ydhms_diff): Bring back the compile-time check for wide-enough
11361         year and yday.
11362
11363         mktime: fix misspelling in comment
11364         * lib/mktime.c (__mktime_internal): Fix misspelling in comment.
11365         This merges all recent glibc changes of importance.
11366
11367 2011-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11368
11369         move-if-change: cope with concurrent mv of identical file.
11370         * build-aux/move-if-change (CMPPROG): Accept environment
11371         variable as an override for `cmp'.
11372         (usage): Document CMPPROG.
11373         Adjust comparison to drop stdout.  Cope with failure of mv if
11374         the target file exists and is identical to the source, for
11375         parallel builds.
11376         Report from H.J. Lu against binutils in PR binutils/12283.
11377
11378 2011-01-28  Bruce Korb  <bkorb@gnu.org>
11379
11380         * users.txt: Mention sharutils.
11381
11382 2011-01-28  Simon Josefsson  <simon@josefsson.org>
11383
11384         * users.txt: Mention OATH Toolkit.
11385
11386 2011-01-27  Bruno Haible  <bruno@clisp.org>
11387
11388         Prepare for supporting FreeBSD 10.
11389         * build-aux/config.libpath: Remove handling of freebsd1*.
11390
11391 2011-01-27  Gerald Pfeifer  <gerald@pfeifer.com>  (tiny change)
11392
11393         Prepare for supporting FreeBSD 10.
11394         * build-aux/config.rpath: Remove handling of freebsd1* which soon would
11395         match FreeBSD 10.0.
11396
11397 2011-01-27  Bruno Haible  <bruno@clisp.org>
11398
11399         vma-iter, get-rusage-as: Add OpenBSD support.
11400         * modules/vma-iter (configure.ac): Test for mquery.
11401         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on OpenBSD.
11402         * lib/vma-iter.c: Include <sys/mman.h>.
11403         (vma_iterate): Add an implementation based on mquery().
11404         * lib/resource-ext.h (get_rusage_as): Update comments.
11405         * lib/get-rusage-as.c: Likewise.
11406         * lib/get-rusage-data.c: Likewise.
11407
11408 2011-01-26  Karl Berry  <karl@gnu.org>
11409
11410         * doc/Makefile (lang_env, makeinfo_prog, manual_opts): new
11411         variables to make it easier to override the makeinfo program used.
11412
11413 2011-01-26  Eric Blake  <eblake@redhat.com>
11414
11415         fcntl: work around Haiku F_DUPFD bugs
11416         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also catch Haiku errno bug.
11417         * lib/fcntl.c (rpl_fcntl) [F_DUPFD]: Work around Haiku losing
11418         cloexec bit on duplication.
11419         * doc/posix-functions/fcntl.texi (fcntl): Document the bug.
11420
11421 2011-01-26  Bruno Haible  <bruno@clisp.org>
11422
11423         Enable memory leak tests on AIX.
11424         * tests/test-dprintf-posix2.c (main): Don't skip the test on AIX.
11425         * tests/test-fprintf-posix3.c (main): Likewise.
11426
11427 2011-01-26  Bruno Haible  <bruno@clisp.org>
11428
11429         Tests for module 'get-rusage-data'.
11430         * modules/get-rusage-data-tests: New file.
11431         * tests/test-get-rusage-data.c: New file.
11432
11433         New module 'get-rusage-data'.
11434         * lib/resource-ext.h (get_rusage_data): New declaration.
11435         * lib/get-rusage-data.c: New file.
11436         * modules/get-rusage-data: New file.
11437
11438 2011-01-25  Bruno Haible  <bruno@clisp.org>
11439
11440         get-rusage-as: Allow for easier testing.
11441         * lib/resource-ext.h (get_rusage_as): Add comment.
11442         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Define always.
11443         (main): New function for interactive testing.
11444
11445 2011-01-25  Bruno Haible  <bruno@clisp.org>
11446
11447         vma-iter: Treat Haiku like BeOS.
11448         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define on Haiku as well.
11449         * lib/vma-iter.c (vma_iterate) [Haiku]: Use the BeOS API.
11450
11451 2011-01-25  Eric Blake  <eblake@redhat.com>
11452
11453         c-stack: fix regression on cygwin when libsigsegv is present
11454         * lib/c-stack.c (die): Don't flatten error if sigsegv is present.
11455
11456 2011-01-24  Bruno Haible  <bruno@clisp.org>
11457
11458         vma-iter: Avoid empty intervals.
11459         * lib/vma-iter.c (vma_iterate) [IRIX, OSF/1]: Don't call the callback
11460         on an empty interval.
11461
11462 2011-01-24  Jim Meyering  <meyering@redhat.com>
11463
11464         u64: remove unnecessary #include
11465         * lib/u64.h: Don't include <stddef.h>.  It was not used.
11466
11467 2011-01-23  Paul Eggert  <eggert@cs.ucla.edu>
11468
11469         Allow the user to avoid the HAVE_RAW_DECL_* macros.
11470         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): New macro.
11471
11472 2011-01-23  Bruno Haible  <bruno@clisp.org>
11473
11474         New module 'vma-iter'.
11475         * lib/vma-iter.h: New file.
11476         * lib/vma-iter.c: New file, based on lib/get-rusage-as.c.
11477         * modules/vma-iter: New file.
11478         * lib/get-rusage-as.c: Include vma-iter.h. Don't include system headers
11479         for get_rusage_as_via_iterator.
11480         (vma_iterate_callback): New function.
11481         (get_rusage_as_via_iterator): Rewritten to use vma_iterate.
11482         * modules/get-rusage-as (Depends-on): Add vma-iter.
11483
11484 2011-01-23  Bruno Haible  <bruno@clisp.org>
11485
11486         uninorm: Tweak includes.
11487         * lib/uninorm/normalize-internal.h: Don't include <stddef.h>.
11488         Reported by Jim Meyering.
11489
11490 2011-01-23  Bruno Haible  <bruno@clisp.org>
11491
11492         get-rusage-as: Improve on NetBSD.
11493         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On NetBSD, use
11494         /proc, like on FreeBSD.
11495
11496 2011-01-23  Jim Meyering  <meyering@redhat.com>
11497
11498         xreadlink.h: remove unnecessary #include
11499         * lib/xreadlink.h: Don't include <stddef.h>.  It was not used.
11500
11501         maint.mk: add syntax-check rule: detect unnecessary #include <stddef.h>
11502         * top/maint.mk (sc_prohibit_stddef_without_use): New rule.
11503
11504 2011-01-23  Bruno Haible  <bruno@clisp.org>
11505
11506         get-rusage-as: Fix bug.
11507         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Restore the
11508         original limit when aborting the first loop.
11509
11510 2011-01-23  Bruno Haible  <bruno@clisp.org>
11511
11512         wctype: Ensure valid C syntax.
11513         * m4/wctype_h.m4 (gl_WCTYPE_H): Invoke gl_CHECK_NEXT_HEADERS
11514         unconditionally, instead of gl_NEXT_HEADERS conditionally.
11515
11516 2011-01-21  Paul Eggert  <eggert@cs.ucla.edu>
11517
11518         getopt: omit HAVE_OPTRESET, HAVE_GETOPT_CLIP from config.h
11519         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not put the
11520         symbols HAVE_OPTRESET and HAVE_GETOPT_CLIP into config.h,
11521         as they are needed only for configure's test case.
11522         This removes two unnecessary symbols from config.h.
11523
11524         gl_CHECK_NEXT_HEADERS implies AC_CHECK_HEADERS_ONCE
11525         * m4/include_next.m4 (gl_CHECK_HEXT_HEADERS): Document this.
11526         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Don't bother to invoke
11527         AC_CHECK_HEADERS_ONCE on a header that we also invoke
11528         gl_CHECK_NEXT_HEADERS on, since the latter invokes the former.
11529         * m4/netdb_h.m4 (gl_HEADER_NETDB): Likewise.
11530         * m4/pthread.m4 (gl_PTHREAD_CHECK): Likewise.
11531         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
11532         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
11533         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
11534         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
11535         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
11536         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
11537         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
11538         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
11539         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
11540         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
11541         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
11542
11543 2011-01-21  Eric Blake  <eblake@redhat.com>
11544
11545         maintainer-makefile: work with older git for submodule check
11546         * top/maint.mk (public-submodule-commit): Rewrite to avoid
11547         merge-base --independent, which Ubuntu 10.04 git 1.7.0.4 lacks.
11548         Reported by Matthias Bolte.
11549
11550         bootstrap: minor portability fixes
11551         * build-aux/bootstrap (me): Use $me instead of $0 in functions.
11552         (usage): Omit leading capital and trailing . on help phrases, per
11553         GNU Coding Standards.
11554         (check_versions, top level): Prefix messages with script name.
11555
11556 2011-01-21  Benjamin Lindner  <bjmldn@gmail.com>  (tiny change)
11557
11558         bootstrap: support --no-git option
11559         * build-aux/bootstrap: Add --no-git option, to be used when
11560         --gnulib-srcdir points to the exact desired checkout.
11561
11562 2011-01-21  Eric Blake  <eblake@redhat.com>
11563
11564         strerror_r-posix: work with glibc 2.13
11565         * lib/strerror_r.c (strerror_r): Fix return type.
11566
11567 2011-01-21  Pádraig Brady  <P@draigBrady.com>
11568             Bruno Haible  <bruno@clisp.org>
11569
11570         uN_strstr: New unit tests.
11571         * modules/unistr/u8-strstr-tests: New file.
11572         * modules/unistr/u16-strstr-tests: New file.
11573         * modules/unistr/u32-strstr-tests: New file.
11574         * tests/unistr/test-u-strstr.h: New file, based on tests/test-strstr.c.
11575         * tests/unistr/test-u8-strstr.c: New file.
11576         * tests/unistr/test-u16-strstr.c: New file.
11577         * tests/unistr/test-u32-strstr.c: New file.
11578
11579 2011-01-21  Pádraig Brady  <P@draigBrady.com>
11580             Bruno Haible  <bruno@clisp.org>
11581
11582         Make uN_strstr functions O(n) worst-case.
11583         * lib/unistr/u-strstr.h (FUNC): In the 8-bit case, use strstr. In the
11584         16-bit and 32-bit unit cases, use the unibyte algorithm from
11585         lib/mbsstr.c.
11586         * lib/unistr/u8-strstr.c: Include <string.h>.
11587         (UNIT_IS_UINT8_T): New macro.
11588         * lib/unistr/u16-strstr.c: Include malloca.h and str-kmp.h.
11589         (U_STRLEN, U_STRNLEN): New macros.
11590         * lib/unistr/u32-strstr.c: Include malloca.h and str-kmp.h.
11591         (U_STRLEN, U_STRNLEN): New macros.
11592         * modules/unistr/u8-strstr (Depends-on): Add strstr.
11593         (configure.ac): Update required libunistring version.
11594         * modules/unistr/u16-strstr (Files): Add lib/str-kmp.h.
11595         (Depends-on): Add unistr/u16-strlen, unistr/u16-strnlen, stdbool,
11596         malloca.
11597         (configure.ac): Update required libunistring version.
11598         * modules/unistr/u32-strstr (Files): Add lib/str-kmp.h.
11599         (Depends-on): Add unistr/u32-strlen, unistr/u32-strnlen, stdbool,
11600         malloca.
11601         (configure.ac): Update required libunistring version.
11602
11603 2011-01-21  Pádraig Brady  <P@draigBrady.com>
11604             Bruno Haible  <bruno@clisp.org>
11605
11606         Prepare for faster uN_strstr functions.
11607         * lib/str-kmp.h: Support definable UNITs.
11608         (knuth_morris_pratt): Renamed from knuth_morris_pratt_unibyte. Add
11609         needle_len argument.
11610         * lib/mbsstr.c (mbsstr): Adjust for the changed str-kmp.h.
11611         * lib/mbscasestr.c (mbscasestr): Likewise.
11612
11613 2011-01-21  Pádraig Brady <P@draigBrady.com>
11614
11615         malloca-tests: make faster by unsetting MALLOC_PERTURB_
11616         * tests/test-malloca.c (main): Unset the environment variable
11617         to greatly speed up the test.
11618         * tests/init.sh: Don't say that MALLOC_PERTURB_ is cheap.
11619         * modules/malloca-tests: Depend on unsetenv.
11620
11621 2011-01-21  Pádraig Brady <P@draigBrady.com>
11622
11623         ignore-value: remove stdint dependency
11624         * lib/ignore-value.h: Remove <stdint.h>
11625         * modules/ignore-value: Remove stdint dependency.
11626
11627 2011-01-21  Jim Meyering  <meyering@redhat.com>
11628
11629         maint.mk: adjust variable name to be consistent with other gl_ vars
11630         * top/maint.mk (gl_public_submodule_commit): Rename the variable
11631         to be lower case.
11632
11633 2011-01-20  Jim Meyering  <meyering@redhat.com>
11634
11635         maint.mk: make "check" depend on public-submodule-commit by default
11636         * top/maint.mk (GL_PUBLIC_SUBMODULE_COMMIT): New overridable variable.
11637
11638 2011-01-20  Bruno Haible  <bruno@clisp.org>
11639
11640         mbfile, mbiter: Complete change from 2008-12-21.
11641         * m4/mbfile.m4 (gl_MBFILE): Don't require AC_FUNC_MBRTOWC.
11642         * m4/mbiter.m4 (gl_MBITER): Likewise.
11643
11644 2011-01-20  Jim Meyering  <meyering@redhat.com>
11645
11646         init.sh: insert space between each function name and "()"
11647         * tests/init.sh: Make it a little easier to see that a function's
11648         name is "warn_", and not "warn" when looking at the first part of
11649         its definition: "warn_ ()".  Suggested by Ralf Wildenhues.
11650
11651 2011-01-20  Jim Meyering  <meyering@redhat.com>
11652
11653         mountlist: clean up code formatting
11654         * lib/mountlist.c (read_file_system_list): Split a long line,
11655         correct bracing style, use NULL in place of "(struct statfs *)0",
11656         don't parenthesize return value, add spaces around "=" and after
11657         ";-in-for-stmt".
11658
11659 2011-01-14  Markus Duft <mduft@gentoo.org>
11660
11661         mountlist: add support for Interix
11662         * lib/mountlist.c (read_file_system_list) [MOUNTED_INTERIX_STATVFS]:
11663         Apply statvfs to all entries of /dev/fs.
11664         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for statvfs,
11665         and if found, AC_DEFINE MOUNTED_INTERIX_STATVFS.
11666
11667 2011-01-20  Jim Meyering  <meyering@redhat.com>
11668
11669         maint.mk: improve the public-submodule-commit rule
11670         * top/maint.mk (public-submodule-commit): Prefix with $(AM_V_GEN),
11671         to suppress printing of its commands... unless V=1.
11672         Add git submodule's --quiet option to suppress printing of e.g.,
11673         "Entering gnulib" output.
11674         "cd" into $(srcdir) before running git submodule.
11675
11676 2011-01-20  Bruno Haible  <bruno@clisp.org>
11677
11678         include_next: Fix bug introduced on 2011-01-18.
11679         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): New macro, extracted
11680         from gl_CHECK_NEXT_HEADERS and gl_NEXT_HEADERS. Omit test of
11681         ac_cv_header_... variable if the second argument is not 'check'.
11682         (gl_CHECK_NEXT_HEADERS, gl_NEXT_HEADERS): Invoke
11683         gl_NEXT_HEADERS_INTERNAL.
11684
11685 2011-01-20  Bruno Haible  <bruno@clisp.org>
11686
11687         Allow the user to avoid the GNULIB_TEST_* macros.
11688         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_TESTS): New macro.
11689         Suggested by Paul Eggert.
11690
11691 2011-01-14  Jim Meyering  <meyering@redhat.com>
11692
11693         bootstrap: avoid failure when there is no .gitmodules file
11694         ": ${gnulib_path=gnulib}" fails to set $gnulib_path when that variable
11695         has been assigned to, even when its value is the empty string.
11696         * build-aux/bootstrap (gnulib_path): Test explicitly for an empty
11697         "$gnulib_path", rather than using ${gnulib_path=gnulib}.
11698         Reported by John W. Eaton <jwe@gnu.org>.
11699
11700 2011-01-19  Paul Eggert  <eggert@cs.ucla.edu>
11701
11702         assume <ctype.h>, ..., <time.h> exist
11703         For years gnulib has been assuming the existence of the headers
11704         <ctime.h>, <errno.h>, <fcntl.h>, <locale.h>, <signal.h>,
11705         <stdio.h>, <stdlib.h>, <string.h>, and <time.h>.  Omit checks for
11706         them, since they don't appear to be needed.
11707         * README (Portability guidelines): Document this.
11708         * lib/flock.c: Assume <fcntl.h> exists.
11709         * lib/regex_internal.h: Assume <locale.h> exists.
11710         * m4/ctype.m4 (gl_CTYPE_H): Assume <ctype.h> exists.
11711         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Assume <errno.h> exists.
11712         * m4/fcntl_h.m4 (gl_FCNTL_H): Assume <fcntl.h> exists.
11713         * m4/flock.m4 (gl_PREREQ_FLOCK): Likewise.
11714         * m4/locale_h.m4 (gl_LOCALE_H): Assume <locale.h> exists.
11715         * m4/regex.m4 (gl_REGEX): Likewise.
11716         * m4/signal_h.m4 (gl_SIGNAL_H): Assume <signal.h> exists.
11717         * m4/stdio_h.m4 (gl_STDIO_H): Assume <stdio.h> exists.
11718         * m4/stdlib_h.m4 (gl_STDLIB_H): Assume <stdlib.h> exists.
11719         * m4/string_h.m4 (gl_STRING_H): Assume <string.h> exists.
11720         * tests/test-argp.c: Likewise.
11721         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Assume <time.h> exists.
11722
11723         multiarch: remove AA_APPLE_UNIVERSAL_BUILD
11724         * m4/multiarch.m4 (gl_MULTIARCH): Don't AC_DEFINE
11725         AA_APPLE_UNIVERSAL_BUILD.  See
11726         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00247.html>.
11727         * NEWS: Document this.
11728
11729 2011-01-19  Eric Blake  <eblake@redhat.com>
11730
11731         c-stack: assume stack overflow if SA_SIGINFO unsupported
11732         * lib/c-stack.c (SIGACTION_WORKS): Rename...
11733         (SIGINFO_WORKS): ...since gnulib module guarantees that (most) of
11734         sigaction will work.
11735         (die): Assume stack overflow if siginfo doesn't work, to let Haiku
11736         behavior match Linux.
11737         * tests/test-c-stack.c (main): Prefer NULL for pointers.
11738
11739         stdbool-tests: accomodate Haiku
11740         * tests/test-stdbool.c: Haiku's gcc 2.95 lacks native _Bool.
11741
11742         binary-io: fix O_TEXT on Haiku
11743         * modules/binary-io (Depends-on): Add fcntl-h.
11744         * lib/binary-io.h (O_TEXT): Rely on replacement <fcntl.h> rather
11745         than blindly undefining O_TEXT.
11746         Reported by Scott McCreary.
11747
11748 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
11749
11750         include_next: do not check for standard headers like stddef.h
11751
11752         I found this problem when modifying Emacs to use gnulib.
11753         I noticed that it added HAVE_STDDEF_H to config.h, even though
11754         gnulib always assumes <stddef.h> exists as per README and this
11755         symbol is unnecessary.
11756         * m4/include_next.m4 (gl_NEXT_HEADERS): New macro, which does not
11757         use AC_CHECK_HEADERS_ONCE, but which otherwise contains what
11758         gl_CHECK_NEXT_HEADERS used to contain.  This makes 'configure' run
11759         faster for headers like stddef.h that are known to exist.
11760         (gl_CHECK_NEXT_HEADERS): Use it.
11761         * m4/float_h.m4 (gl_FLOAT_H): For float.h, use gl_NEXT_HEADERS
11762         rather than gl_CHECK_NEXT_HEADERS.
11763         * m4/stdarg.m4 (gl_STDARG_H): Likewise, for stdarg.h.
11764         * m4/stddef_h.m4 (gl_STDDEF_H): Likewise, for stddef.h.
11765
11766 2011-01-18  Eric Blake  <eblake@redhat.com>
11767
11768         ansi-c++-opt: skip C++ dependency style if C++ is unused
11769         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Avoid full-blown dependency
11770         tests when we know C++ compilation is not desired.
11771         Reported by Scott McCreary.
11772
11773 2011-01-18  Bruno Haible  <bruno@clisp.org>
11774
11775         *printf-posix: Avoid test failures. Make tests work on MacOS X, Cygwin.
11776         * tests/test-fprintf-posix3.c: Include "resource-ext.h".
11777         (main): Perform test also when getrlimit and setrlimit don't exist or
11778         when setrlimit of RLIMIT_DATA fails (like on Cygwin). Instead of
11779         limiting the address space size using setrlimit, compare the address
11780         space size before and after the the test.
11781         * tests/test-dprintf-posix2.c: Likewise.
11782         * tests/test-fprintf-posix3.sh: Update skip messages.
11783         * tests/test-dprintf-posix2.sh: Likewise.
11784         * modules/fprintf-posix-tests (Depends-on): Add get-rusage-as.
11785         * modules/dprintf-posix-tests (Depends-on): Likewise.
11786         Reported by Bruce Korb <bkorb@gnu.org> and
11787         Gary V. Vaughan <gary@gnu.org>.
11788
11789 2011-01-18  Bruno Haible  <bruno@clisp.org>
11790
11791         get-rusage-as: Improvement for Cygwin.
11792         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On Windows, ignore
11793         areas that are merely reserved.
11794
11795 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
11796
11797         strftime: remove dependencies on multibyte modules
11798
11799         strftime depended on mbrlen, mbsinit, and wchar, but these modules
11800         are needed only if ! MULTIBYTE_IS_FORMAT_SAFE, and that is true
11801         only if __osf__ is defined, and I suspect OSF doesn't need these
11802         other modules.  If my guess is wrong, we'll need to come up with a
11803         variant of strftime that doesn't need the multibyte modules.
11804
11805         I discovered this problem when attempting modify Emacs to use the
11806         strftime module.  With the previous gnulib, this caused Emacs to
11807         need 31 new files, ranging from lib/config.charset to
11808         m4/wint_t.m4.  This was overkill and I expect would be offputting
11809         to the Emacs maintainers.  After this change, only 6 new files are
11810         needed, namely strftime.[ch], srtftime.m4, stdbool.in.h,
11811         stdbool.m4, and tm_gmtoff.m4.
11812
11813         * lib/strftime.c (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 always.
11814         Suggested by Bruno Haible in
11815         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00238.html>.
11816         * m4/strftime.m4 (gl_FUNC_STRFTIME): Do not require AC_TYPE_MBSTATE_T,
11817         and do not check for wchar.h.
11818         * modules/strftime (Files): Remove m4/mbstate_t.m4.
11819         (Depends-on): Remove mbrlen, mbsinit, wchar.
11820
11821 2011-01-18  Bruno Haible  <bruno@clisp.org>
11822
11823         Tests for module 'get-rusage-as'.
11824         * modules/get-rusage-as-tests: New file.
11825         * tests/test-get-rusage-as.c: New file.
11826
11827         New module 'get-rusage-as'.
11828         * modules/get-rusage-as: New file.
11829         * lib/resource-ext.h: New file.
11830         * lib/get-rusage-as.c: New file.
11831
11832 2011-01-17  Eric Blake  <eblake@redhat.com>
11833
11834         sigaction: relax license from LGPLv3+ to LGPLv2+
11835         * modules/sigaction (License): Relax to LGPLv2+.
11836
11837 2011-01-14  Bruno Haible  <bruno@clisp.org>
11838
11839         filemode: Make function declarations usable in C++ mode.
11840         * lib/filemode.h: Enclose function declarations in extern "C" block.
11841         Reported by John W. Eaton <jwe@gnu.org>.
11842
11843 2011-01-12  Rob Vermaas  <rob.vermaas@gmail.com>
11844
11845         save-cwd: no longer include "xgetcwd.h"
11846         * lib/save-cwd.c: Don't include "xgetcwd.h"; it's no longer used.
11847         This avoids a compilation failure in projects that use save-cwd
11848         without also using the xgetcwd module.
11849
11850 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
11851
11852         ftoastr: split into 3 modules ftoastr, dtoastr, ldtoastr
11853         This is so that a program like Emacs, which needs only dtoastr,
11854         does not have to bother with distributing and compiling ftoastr
11855         and ldtoastr.
11856         * MODULES.html.sh: Document these modules (ftoastr wasn't documented).
11857         * modules/dtoastr, modules/ldtoastr: New files.
11858         * modules/ftoastr: Now works just for 'float'.
11859         (Files): Remove lib/dtoastr.c, lib/ldtoastr.c.
11860         (Makefile.am): Remove ftoastr.h (not needed and no effect),
11861         dtoastr.c, ldtoastr.c.
11862
11863 2011-01-11  Jim Meyering  <meyering@redhat.com>
11864
11865         save-cwd: remove #if-!HAVE_FCHDIR'd code; use the fchdir module
11866         There is no need to work around the lack of the fchdir function,
11867         since gnulib can now provide a replacement when required.
11868         * lib/save-cwd.c: Remove #if !HAVE_FCHDIR...#endif code.
11869         * modules/save-cwd (Depends-on): Add fchdir.
11870
11871 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
11872
11873         openat, save-cwd: avoid xmalloc
11874
11875         This removes a direct (but undocumented) dependency of openat on
11876         xalloc, along with an indirect dependency via save-cwd.  It also
11877         removes a dependency of save-cwd on xgetcwd, and thereby
11878         indirectly on xalloc.  This change causes the openat substitute
11879         to fall back on save_cwd when memory is tight, and for save_cwd to
11880         fail instead of dying when memory is tight, but that's good enough.
11881         Problem and initial idea for fix reported by Bastien Roucaries in
11882         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00170.html>.
11883
11884         * lib/openat-proc.c: Include stdlib.h (for malloc), not
11885         xalloc.h (for xmalloc).
11886         (openat_proc_name): Use malloc, not xmalloc.
11887         * lib/save-cwd.c (save_cwd): Use getcwd, not xgetcwd.
11888         * modules/save-cwd (Files): Depend on getcwd, not xgetcwd.
11889
11890         openat: Increase OPENAT_BUFFER_SIZE from 512 to at least 1024
11891         This avoids heap allocation for file names whose lengths are in
11892         the range 512..1023, with the upper bound increasing to at most
11893         4031 depending on the platform's PATH_MAX.  (We do not want
11894         pathmax.h here as it might supply a non-constant PATH_MAX.)
11895         * lib/openat-priv.h (SAFER_ALLOCA_MAX, SAFER_ALLOCA): New macros.
11896         Perhaps they should be moved to malloca.h?
11897         (OPENAT_BUFFER_SIZE): Use them.
11898
11899 2011-01-10  Bruno Haible  <bruno@clisp.org>
11900
11901         doc: Update users.txt.
11902         * users.txt: Add recutils.
11903
11904 2011-01-09  Karl Berry  <karl@gnu.org>
11905
11906         * doc/posix-functions/gai_strerror.texi: Insert missing @item.
11907
11908         * doc/configmake.texi: New file.
11909         * doc/gnulib.texi: Include it.
11910         * modules/configmake: Move documentation from here.
11911
11912 2011-01-09  Bruno Haible  <bruno@clisp.org>
11913
11914         Update to Unicode 6.0.0.
11915         * lib/gen-uni-tables.c (symbolic_width): Fix bounds of planes.
11916         (get_lbp): Update for Unicode 6.0.0.
11917         * lib/uniwidth/width.c (nonspacing_table_data): Add U+065F,
11918         U+0859..U+085B, U+093A, U+0956..U+0957, U+0F8D..U+0F8F, U+135D..U+135E,
11919         U+1BE6, U+1BE8..U+1BE9, U+1BED, U+1BEF..U+1BF1, U+1DFC, U+2D7F,
11920         U+11001, U+11038..U+11046. Remove U+06DE.
11921         (uc_width): Fix bounds of planes.
11922         * tests/uniwidth/test-uc_width2.sh: Same updates as in
11923         lib/uniwidth/width.c.
11924         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 6.0.0, with
11925         trailing whitespace removed.
11926         * tests/uninorm/NormalizationTest.txt: Update from Unicode 6.0.0,
11927         without comments, but with the original copyright notice.
11928         * lib/unicase/cased.h: Regenerated for Unicode 6.0.0.
11929         * lib/unicase/ignorable.h: Likewise.
11930         * lib/unicase/tocasefold.h: Likewise.
11931         * lib/unicase/tolower.h: Likewise.
11932         * lib/unicase/totitle.h: Likewise.
11933         * lib/unicase/toupper.h: Likewise.
11934         * lib/unictype/bidi_of.h: Likewise.
11935         * lib/unictype/blocks.h: Likewise.
11936         * lib/unictype/categ_C.h: Likewise.
11937         * lib/unictype/categ_Cn.h: Likewise.
11938         * lib/unictype/categ_L.h: Likewise.
11939         * lib/unictype/categ_Ll.h: Likewise.
11940         * lib/unictype/categ_Lm.h: Likewise.
11941         * lib/unictype/categ_Lo.h: Likewise.
11942         * lib/unictype/categ_Lu.h: Likewise.
11943         * lib/unictype/categ_M.h: Likewise.
11944         * lib/unictype/categ_Mc.h: Likewise.
11945         * lib/unictype/categ_Me.h: Likewise.
11946         * lib/unictype/categ_Mn.h: Likewise.
11947         * lib/unictype/categ_N.h: Likewise.
11948         * lib/unictype/categ_Nd.h: Likewise.
11949         * lib/unictype/categ_No.h: Likewise.
11950         * lib/unictype/categ_P.h: Likewise.
11951         * lib/unictype/categ_Po.h: Likewise.
11952         * lib/unictype/categ_S.h: Likewise.
11953         * lib/unictype/categ_Sc.h: Likewise.
11954         * lib/unictype/categ_Sk.h: Likewise.
11955         * lib/unictype/categ_Sm.h: Likewise.
11956         * lib/unictype/categ_So.h: Likewise.
11957         * lib/unictype/categ_of.h: Likewise.
11958         * lib/unictype/combining.h: Likewise.
11959         * lib/unictype/ctype_alnum.h: Likewise.
11960         * lib/unictype/ctype_alpha.h: Likewise.
11961         * lib/unictype/ctype_graph.h: Likewise.
11962         * lib/unictype/ctype_lower.h: Likewise.
11963         * lib/unictype/ctype_print.h: Likewise.
11964         * lib/unictype/ctype_punct.h: Likewise.
11965         * lib/unictype/ctype_upper.h: Likewise.
11966         * lib/unictype/decdigit.h: Likewise.
11967         * lib/unictype/digit.h: Likewise.
11968         * lib/unictype/numeric.h: Likewise.
11969         * lib/unictype/pr_alphabetic.h: Likewise.
11970         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
11971         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
11972         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
11973         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
11974         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
11975         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
11976         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
11977         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
11978         * lib/unictype/pr_case_ignorable.h: Likewise.
11979         * lib/unictype/pr_cased.h: Likewise.
11980         * lib/unictype/pr_changes_when_casefolded.h: Likewise.
11981         * lib/unictype/pr_changes_when_casemapped.h: Likewise.
11982         * lib/unictype/pr_changes_when_lowercased.h: Likewise.
11983         * lib/unictype/pr_changes_when_titlecased.h: Likewise.
11984         * lib/unictype/pr_changes_when_uppercased.h: Likewise.
11985         * lib/unictype/pr_combining.h: Likewise.
11986         * lib/unictype/pr_composite.h: Likewise.
11987         * lib/unictype/pr_currency_symbol.h: Likewise.
11988         * lib/unictype/pr_decimal_digit.h: Likewise.
11989         * lib/unictype/pr_deprecated.h: Likewise.
11990         * lib/unictype/pr_format_control.h: Likewise.
11991         * lib/unictype/pr_grapheme_base.h: Likewise.
11992         * lib/unictype/pr_grapheme_extend.h: Likewise.
11993         * lib/unictype/pr_grapheme_link.h: Likewise.
11994         * lib/unictype/pr_id_continue.h: Likewise.
11995         * lib/unictype/pr_id_start.h: Likewise.
11996         * lib/unictype/pr_ideographic.h: Likewise.
11997         * lib/unictype/pr_lowercase.h: Likewise.
11998         * lib/unictype/pr_math.h: Likewise.
11999         * lib/unictype/pr_numeric.h: Likewise.
12000         * lib/unictype/pr_other_alphabetic.h: Likewise.
12001         * lib/unictype/pr_other_id_continue.h: Likewise.
12002         * lib/unictype/pr_other_math.h: Likewise.
12003         * lib/unictype/pr_punctuation.h: Likewise.
12004         * lib/unictype/pr_sentence_terminal.h: Likewise.
12005         * lib/unictype/pr_terminal_punctuation.h: Likewise.
12006         * lib/unictype/pr_unassigned_code_value.h: Likewise.
12007         * lib/unictype/pr_unified_ideograph.h: Likewise.
12008         * lib/unictype/pr_uppercase.h: Likewise.
12009         * lib/unictype/pr_xid_continue.h: Likewise.
12010         * lib/unictype/pr_xid_start.h: Likewise.
12011         * lib/unictype/scripts.h: Likewise.
12012         * lib/unictype/scripts_byname.gperf: Likewise.
12013         * lib/unictype/sy_java_ident.h: Likewise.
12014         * lib/unigbrk/gbrkprop.h: Likewise.
12015         * lib/unilbrk/lbrkprop1.h: Likewise.
12016         * lib/unilbrk/lbrkprop2.h: Likewise.
12017         * lib/uninorm/decomposition-table2.h: Likewise.
12018         * lib/uniwbrk/wbrkprop.h: Likewise.
12019         * tests/unicase/test-cased.c: Likewise.
12020         * tests/unicase/test-ignorable.c: Likewise.
12021         * tests/unicase/test-uc_tolower.c: Likewise.
12022         * tests/unicase/test-uc_totitle.c: Likewise.
12023         * tests/unicase/test-uc_toupper.c: Likewise.
12024         * tests/unictype/test-categ_C.c: Likewise.
12025         * tests/unictype/test-categ_Cn.c: Likewise.
12026         * tests/unictype/test-categ_L.c: Likewise.
12027         * tests/unictype/test-categ_Ll.c: Likewise.
12028         * tests/unictype/test-categ_Lm.c: Likewise.
12029         * tests/unictype/test-categ_Lo.c: Likewise.
12030         * tests/unictype/test-categ_Lu.c: Likewise.
12031         * tests/unictype/test-categ_M.c: Likewise.
12032         * tests/unictype/test-categ_Mc.c: Likewise.
12033         * tests/unictype/test-categ_Me.c: Likewise.
12034         * tests/unictype/test-categ_Mn.c: Likewise.
12035         * tests/unictype/test-categ_N.c: Likewise.
12036         * tests/unictype/test-categ_Nd.c: Likewise.
12037         * tests/unictype/test-categ_No.c: Likewise.
12038         * tests/unictype/test-categ_P.c: Likewise.
12039         * tests/unictype/test-categ_Po.c: Likewise.
12040         * tests/unictype/test-categ_S.c: Likewise.
12041         * tests/unictype/test-categ_Sc.c: Likewise.
12042         * tests/unictype/test-categ_Sk.c: Likewise.
12043         * tests/unictype/test-categ_Sm.c: Likewise.
12044         * tests/unictype/test-categ_So.c: Likewise.
12045         * tests/unictype/test-ctype_alnum.c: Likewise.
12046         * tests/unictype/test-ctype_alpha.c: Likewise.
12047         * tests/unictype/test-ctype_graph.c: Likewise.
12048         * tests/unictype/test-ctype_lower.c: Likewise.
12049         * tests/unictype/test-ctype_print.c: Likewise.
12050         * tests/unictype/test-ctype_punct.c: Likewise.
12051         * tests/unictype/test-ctype_upper.c: Likewise.
12052         * tests/unictype/test-decdigit.h: Likewise.
12053         * tests/unictype/test-digit.h: Likewise.
12054         * tests/unictype/test-numeric.h: Likewise.
12055         * tests/unictype/test-pr_alphabetic.c: Likewise.
12056         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
12057         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
12058         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
12059         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
12060         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
12061         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
12062         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
12063         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
12064         * tests/unictype/test-pr_case_ignorable.c: Likewise.
12065         * tests/unictype/test-pr_cased.c: Likewise.
12066         * tests/unictype/test-pr_changes_when_casefolded.c: Likewise.
12067         * tests/unictype/test-pr_changes_when_casemapped.c: Likewise.
12068         * tests/unictype/test-pr_changes_when_lowercased.c: Likewise.
12069         * tests/unictype/test-pr_changes_when_titlecased.c: Likewise.
12070         * tests/unictype/test-pr_changes_when_uppercased.c: Likewise.
12071         * tests/unictype/test-pr_combining.c: Likewise.
12072         * tests/unictype/test-pr_composite.c: Likewise.
12073         * tests/unictype/test-pr_currency_symbol.c: Likewise.
12074         * tests/unictype/test-pr_decimal_digit.c: Likewise.
12075         * tests/unictype/test-pr_deprecated.c: Likewise.
12076         * tests/unictype/test-pr_format_control.c: Likewise.
12077         * tests/unictype/test-pr_grapheme_base.c: Likewise.
12078         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
12079         * tests/unictype/test-pr_grapheme_link.c: Likewise.
12080         * tests/unictype/test-pr_id_continue.c: Likewise.
12081         * tests/unictype/test-pr_id_start.c: Likewise.
12082         * tests/unictype/test-pr_ideographic.c: Likewise.
12083         * tests/unictype/test-pr_lowercase.c: Likewise.
12084         * tests/unictype/test-pr_math.c: Likewise.
12085         * tests/unictype/test-pr_numeric.c: Likewise.
12086         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
12087         * tests/unictype/test-pr_other_id_continue.c: Likewise.
12088         * tests/unictype/test-pr_other_math.c: Likewise.
12089         * tests/unictype/test-pr_punctuation.c: Likewise.
12090         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
12091         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
12092         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
12093         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
12094         * tests/unictype/test-pr_uppercase.c: Likewise.
12095         * tests/unictype/test-pr_xid_continue.c: Likewise.
12096         * tests/unictype/test-pr_xid_start.c: Likewise.
12097         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
12098         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
12099         changes.
12100         * lib/unictype/categ_Cc.h: Likewise.
12101         * lib/unictype/categ_Cf.h: Likewise.
12102         * lib/unictype/categ_Co.h: Likewise.
12103         * lib/unictype/categ_Cs.h: Likewise.
12104         * lib/unictype/categ_Lt.h: Likewise.
12105         * lib/unictype/categ_Nl.h: Likewise.
12106         * lib/unictype/categ_Pc.h: Likewise.
12107         * lib/unictype/categ_Pd.h: Likewise.
12108         * lib/unictype/categ_Pe.h: Likewise.
12109         * lib/unictype/categ_Pf.h: Likewise.
12110         * lib/unictype/categ_Pi.h: Likewise.
12111         * lib/unictype/categ_Ps.h: Likewise.
12112         * lib/unictype/categ_Z.h: Likewise.
12113         * lib/unictype/categ_Zl.h: Likewise.
12114         * lib/unictype/categ_Zp.h: Likewise.
12115         * lib/unictype/categ_Zs.h: Likewise.
12116         * lib/unictype/ctype_blank.h: Likewise.
12117         * lib/unictype/ctype_cntrl.h: Likewise.
12118         * lib/unictype/ctype_digit.h: Likewise.
12119         * lib/unictype/ctype_space.h: Likewise.
12120         * lib/unictype/ctype_xdigit.h: Likewise.
12121         * lib/unictype/mirror.h: Likewise.
12122         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
12123         * lib/unictype/pr_bidi_block_separator.h: Likewise.
12124         * lib/unictype/pr_bidi_common_separator.h: Likewise.
12125         * lib/unictype/pr_bidi_control.h: Likewise.
12126         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
12127         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
12128         * lib/unictype/pr_bidi_european_digit.h: Likewise.
12129         * lib/unictype/pr_bidi_pdf.h: Likewise.
12130         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
12131         * lib/unictype/pr_bidi_whitespace.h: Likewise.
12132         * lib/unictype/pr_dash.h: Likewise.
12133         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
12134         * lib/unictype/pr_diacritic.h: Likewise.
12135         * lib/unictype/pr_extender.h: Likewise.
12136         * lib/unictype/pr_hex_digit.h: Likewise.
12137         * lib/unictype/pr_hyphen.h: Likewise.
12138         * lib/unictype/pr_ids_binary_operator.h: Likewise.
12139         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
12140         * lib/unictype/pr_ignorable_control.h: Likewise.
12141         * lib/unictype/pr_iso_control.h: Likewise.
12142         * lib/unictype/pr_join_control.h: Likewise.
12143         * lib/unictype/pr_left_of_pair.h: Likewise.
12144         * lib/unictype/pr_line_separator.h: Likewise.
12145         * lib/unictype/pr_logical_order_exception.h: Likewise.
12146         * lib/unictype/pr_non_break.h: Likewise.
12147         * lib/unictype/pr_not_a_character.h: Likewise.
12148         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
12149         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
12150         * lib/unictype/pr_other_id_start.h: Likewise.
12151         * lib/unictype/pr_other_lowercase.h: Likewise.
12152         * lib/unictype/pr_other_uppercase.h: Likewise.
12153         * lib/unictype/pr_paired_punctuation.h: Likewise.
12154         * lib/unictype/pr_paragraph_separator.h: Likewise.
12155         * lib/unictype/pr_pattern_syntax.h: Likewise.
12156         * lib/unictype/pr_pattern_white_space.h: Likewise.
12157         * lib/unictype/pr_private_use.h: Likewise.
12158         * lib/unictype/pr_quotation_mark.h: Likewise.
12159         * lib/unictype/pr_radical.h: Likewise.
12160         * lib/unictype/pr_soft_dotted.h: Likewise.
12161         * lib/unictype/pr_space.h: Likewise.
12162         * lib/unictype/pr_titlecase.h: Likewise.
12163         * lib/unictype/pr_variation_selector.h: Likewise.
12164         * lib/unictype/pr_white_space.h: Likewise.
12165         * lib/unictype/pr_zero_width.h: Likewise.
12166         * lib/unictype/sy_c_ident.h: Likewise.
12167         * lib/unictype/sy_c_whitespace.h: Likewise.
12168         * lib/unictype/sy_java_whitespace.h: Likewise.
12169         * lib/uninorm/composition-table.gperf: Likewise.
12170         * lib/uninorm/decomposition-table1.h: Likewise.
12171         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Add test for rule
12172         LB8.
12173         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
12174         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
12175         * modules/unictype/*: Bump version number of expected libunistring
12176         version.
12177
12178 2011-01-09  Bruno Haible  <bruno@clisp.org>
12179
12180         Update to Unicode 5.2.0.
12181         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 5.2.0, with
12182         trailing whitespace removed.
12183
12184 2011-01-09  Bruno Haible  <bruno@clisp.org>
12185
12186         New Unicode character properties, from Unicode 5.2.0.
12187         * lib/unictype.in.h (UC_PROPERTY_CASED, UC_PROPERTY_CASE_IGNORABLE,
12188         UC_PROPERTY_CHANGES_WHEN_LOWERCASED,
12189         UC_PROPERTY_CHANGES_WHEN_UPPERCASED,
12190         UC_PROPERTY_CHANGES_WHEN_TITLECASED,
12191         UC_PROPERTY_CHANGES_WHEN_CASEFOLDED,
12192         UC_PROPERTY_CHANGES_WHEN_CASEMAPPED,
12193         uc_is_property_cased, uc_is_property_case_ignorable,
12194         uc_is_property_changes_when_lowercased,
12195         uc_is_property_changes_when_uppercased,
12196         uc_is_property_changes_when_titlecased,
12197         uc_is_property_changes_when_casefolded,
12198         uc_is_property_changes_when_casemapped): New declarations.
12199         * lib/unictype/pr_byname.gperf: Add the new properties.
12200         * modules/unictype/property-byname (Depends-on): Depend on the new
12201         properties modules.
12202         * modules/unictype/property-all (Depends-on): Likewise.
12203         * MODULES.html.sh (Unicode string functions): Add
12204         unictype/property-case-ignorable, unictype/property-cased,
12205         unictype/property-changes-when-casefolded,
12206         unictype/property-changes-when-casemapped,
12207         unictype/property-changes-when-lowercased,
12208         unictype/property-changes-when-titlecased,
12209         unictype/property-changes-when-uppercased.
12210
12211         New module 'unictype/property-changes-when-casemapped'.
12212         * modules/unictype/property-changes-when-casemapped: New file.
12213         * lib/unictype/pr_changes_when_casemapped.c: New file.
12214         * lib/unictype/pr_changes_when_casemapped.h: New file, automatically
12215         generated by gen-uni-tables.
12216         * modules/unictype/property-changes-when-casemapped-tests: New file.
12217         * tests/unictype/test-pr_changes_when_casemapped.c: New file,
12218         automatically generated by gen-uni-tables.
12219
12220         New module 'unictype/property-changes-when-casefolded'.
12221         * modules/unictype/property-changes-when-casefolded: New file.
12222         * lib/unictype/pr_changes_when_casefolded.c: New file.
12223         * lib/unictype/pr_changes_when_casefolded.h: New file, automatically
12224         generated by gen-uni-tables.
12225         * modules/unictype/property-changes-when-casefolded-tests: New file.
12226         * tests/unictype/test-pr_changes_when_casefolded.c: New file,
12227         automatically generated by gen-uni-tables.
12228
12229         New module 'unictype/property-changes-when-titlecased'.
12230         * modules/unictype/property-changes-when-titlecased: New file.
12231         * lib/unictype/pr_changes_when_titlecased.c: New file.
12232         * lib/unictype/pr_changes_when_titlecased.h: New file, automatically
12233         generated by gen-uni-tables.
12234         * modules/unictype/property-changes-when-titlecased-tests: New file.
12235         * tests/unictype/test-pr_changes_when_titlecased.c: New file,
12236         automatically generated by gen-uni-tables.
12237
12238         New module 'unictype/property-changes-when-uppercased'.
12239         * modules/unictype/property-changes-when-uppercased: New file.
12240         * lib/unictype/pr_changes_when_uppercased.c: New file.
12241         * lib/unictype/pr_changes_when_uppercased.h: New file, automatically
12242         generated by gen-uni-tables.
12243         * modules/unictype/property-changes-when-uppercased-tests: New file.
12244         * tests/unictype/test-pr_changes_when_uppercased.c: New file,
12245         automatically generated by gen-uni-tables.
12246
12247         New module 'unictype/property-changes-when-lowercased'.
12248         * modules/unictype/property-changes-when-lowercased: New file.
12249         * lib/unictype/pr_changes_when_lowercased.c: New file.
12250         * lib/unictype/pr_changes_when_lowercased.h: New file, automatically
12251         generated by gen-uni-tables.
12252         * modules/unictype/property-changes-when-lowercased-tests: New file.
12253         * tests/unictype/test-pr_changes_when_lowercased.c: New file,
12254         automatically generated by gen-uni-tables.
12255
12256         New module 'unictype/property-case-ignorable'.
12257         * modules/unictype/property-case-ignorable: New file.
12258         * lib/unictype/pr_case_ignorable.c: New file.
12259         * lib/unictype/pr_case_ignorable.h: New file, automatically generated
12260         by gen-uni-tables.
12261         * modules/unictype/property-case-ignorable-tests: New file.
12262         * tests/unictype/test-pr_case_ignorable.c: New file, automatically
12263         generated by gen-uni-tables.
12264
12265         New module 'unictype/property-cased'.
12266         * modules/unictype/property-cased: New file.
12267         * lib/unictype/pr_cased.c: New file.
12268         * lib/unictype/pr_cased.h: New file, automatically generated by
12269         gen-uni-tables.
12270         * modules/unictype/property-cased-tests: New file.
12271         * tests/unictype/test-pr_cased.c: New file, automatically generated by
12272         gen-uni-tables.
12273
12274 2011-01-09  Bruno Haible  <bruno@clisp.org>
12275
12276         Update to Unicode 5.2.0.
12277         * lib/gen-uni-tables.c (output_predicate, output_category,
12278         output_combclass, output_bidi_category, output_decimal_digit_test,
12279         output_decimal_digit, output_digit_test, output_digit,
12280         output_numeric_test, output_numeric, output_mirror, output_scripts,
12281         output_scripts_byname, output_blocks, output_ident_category): Fix
12282         comment header.
12283         (is_WBP_MIDNUMLET, is_WBP_MIDLETTER): New functions, extracted from
12284         get_wbp.
12285         (PROP_CASED, PROP_CASE_IGNORABLE, PROP_CHANGES_WHEN_*): New enumeration
12286         items.
12287         (fill_properties): Also fill the peoperties Cased, Case_Ignorable,
12288         Changes_When_Lowercased, Changes_When_Uppercased,
12289         Changes_When_Titlecased, Changes_When_Casefolded,
12290         Changes_When_Casemapped.
12291         (is_property_alphabetic, is_property_default_ignorable_code_point):
12292         Update for Unicode 5.2.0.
12293         (is_property_cased, is_property_case_ignorable,
12294         is_property_changes_when_lowercased,
12295         is_property_changes_when_uppercased,
12296         is_property_changes_when_titlecased,
12297         is_property_changes_when_casefolded,
12298         is_property_changes_when_casemapped): New functions.
12299         (output_properties): Output also the properties cased, case_ignorable,
12300         changes_when_lowercased, changes_when_uppercased,
12301         changes_when_titlecased, changes_when_casefolded,
12302         changes_when_casemapped.
12303         (symbolic_width): Update for Unicode 5.2.0, incorporating changes from
12304         Unicode TR#11 revision 17 -> 19.
12305         (LBP_CP): New enumeration value.
12306         (LBP_*): Adjust values accordingly.
12307         (get_lbp): Update for Unicode 5.2.0, incorporating changes from Unicode
12308         TR#14 revision 22 -> 24.
12309         (debug_output_lbp): Allow for LBP_* bits >= 32. Support LBP_CP.
12310         (fill_org_lbp, debug_output_org_lbp, output_lbp): Support LBP_CP.
12311         (get_wbp): Update for Unicode 5.2.0, incorporating changes from Unicode
12312         TR#29 revision 13 -> 15. Use functions is_WBP_MIDNUMLET,
12313         is_WBP_MIDLETTER.
12314         (output_composition_tables): Allow for 24 bits instead of 16 bits in
12315         the code1 and code2 of each composition rule.
12316         * lib/unicase/cased.h: Regenerated for Unicode 5.2.0.
12317         * lib/unicase/ignorable.h: Likewise.
12318         * lib/unicase/tocasefold.h: Likewise.
12319         * lib/unicase/tolower.h: Likewise.
12320         * lib/unicase/totitle.h: Likewise.
12321         * lib/unicase/toupper.h: Likewise.
12322         * lib/unictype/bidi_of.h: Likewise.
12323         * lib/unictype/blocks.h: Likewise.
12324         * lib/unictype/categ_C.h: Likewise.
12325         * lib/unictype/categ_Cf.h: Likewise.
12326         * lib/unictype/categ_Cn.h: Likewise.
12327         * lib/unictype/categ_L.h: Likewise.
12328         * lib/unictype/categ_Ll.h: Likewise.
12329         * lib/unictype/categ_Lm.h: Likewise.
12330         * lib/unictype/categ_Lo.h: Likewise.
12331         * lib/unictype/categ_Lu.h: Likewise.
12332         * lib/unictype/categ_M.h: Likewise.
12333         * lib/unictype/categ_Mc.h: Likewise.
12334         * lib/unictype/categ_Mn.h: Likewise.
12335         * lib/unictype/categ_N.h: Likewise.
12336         * lib/unictype/categ_Nd.h: Likewise.
12337         * lib/unictype/categ_Nl.h: Likewise.
12338         * lib/unictype/categ_No.h: Likewise.
12339         * lib/unictype/categ_P.h: Likewise.
12340         * lib/unictype/categ_Pd.h: Likewise.
12341         * lib/unictype/categ_Po.h: Likewise.
12342         * lib/unictype/categ_S.h: Likewise.
12343         * lib/unictype/categ_Sc.h: Likewise.
12344         * lib/unictype/categ_So.h: Likewise.
12345         * lib/unictype/categ_of.h: Likewise.
12346         * lib/unictype/combining.h: Likewise.
12347         * lib/unictype/ctype_alnum.h: Likewise.
12348         * lib/unictype/ctype_alpha.h: Likewise.
12349         * lib/unictype/ctype_graph.h: Likewise.
12350         * lib/unictype/ctype_lower.h: Likewise.
12351         * lib/unictype/ctype_print.h: Likewise.
12352         * lib/unictype/ctype_punct.h: Likewise.
12353         * lib/unictype/ctype_upper.h: Likewise.
12354         * lib/unictype/decdigit.h: Likewise.
12355         * lib/unictype/digit.h: Likewise.
12356         * lib/unictype/numeric.h: Likewise.
12357         * lib/unictype/pr_alphabetic.h: Likewise.
12358         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
12359         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
12360         * lib/unictype/pr_bidi_european_digit.h: Likewise.
12361         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
12362         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
12363         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
12364         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
12365         * lib/unictype/pr_combining.h: Likewise.
12366         * lib/unictype/pr_composite.h: Likewise.
12367         * lib/unictype/pr_currency_symbol.h: Likewise.
12368         * lib/unictype/pr_dash.h: Likewise.
12369         * lib/unictype/pr_decimal_digit.h: Likewise.
12370         * lib/unictype/pr_deprecated.h: Likewise.
12371         * lib/unictype/pr_diacritic.h: Likewise.
12372         * lib/unictype/pr_extender.h: Likewise.
12373         * lib/unictype/pr_grapheme_base.h: Likewise.
12374         * lib/unictype/pr_grapheme_extend.h: Likewise.
12375         * lib/unictype/pr_grapheme_link.h: Likewise.
12376         * lib/unictype/pr_id_continue.h: Likewise.
12377         * lib/unictype/pr_id_start.h: Likewise.
12378         * lib/unictype/pr_ideographic.h: Likewise.
12379         * lib/unictype/pr_ignorable_control.h: Likewise.
12380         * lib/unictype/pr_logical_order_exception.h: Likewise.
12381         * lib/unictype/pr_lowercase.h: Likewise.
12382         * lib/unictype/pr_numeric.h: Likewise.
12383         * lib/unictype/pr_other_alphabetic.h: Likewise.
12384         * lib/unictype/pr_punctuation.h: Likewise.
12385         * lib/unictype/pr_sentence_terminal.h: Likewise.
12386         * lib/unictype/pr_terminal_punctuation.h: Likewise.
12387         * lib/unictype/pr_unassigned_code_value.h: Likewise.
12388         * lib/unictype/pr_unified_ideograph.h: Likewise.
12389         * lib/unictype/pr_uppercase.h: Likewise.
12390         * lib/unictype/pr_xid_continue.h: Likewise.
12391         * lib/unictype/pr_xid_start.h: Likewise.
12392         * lib/unictype/pr_zero_width.h: Likewise.
12393         * lib/unictype/scripts.h: Likewise.
12394         * lib/unictype/scripts_byname.gperf: Likewise.
12395         * lib/unictype/sy_java_ident.h: Likewise.
12396         * lib/unigbrk/gbrkprop.h: Likewise.
12397         * lib/unilbrk/lbrkprop1.h: Likewise.
12398         * lib/unilbrk/lbrkprop2.h: Likewise.
12399         * lib/unilbrk/lbrktables.h: Likewise.
12400         * lib/unilbrk/lbrktables.c (unilbrk_table): Add a row and column for
12401         LBP_CP. Implement rule LB30.
12402         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0816..U+0819,
12403         U+081B..U+0823, U+0825..U+0827, U+0829..U+082D, U+0900, U+0955, U+109D,
12404         U+1A56, U+1A58..U+1A5E, U+1A60, U+1A62, U+1A65..U+1A6C, U+1A73..U+1A7C,
12405         U+1A7F, U+1CD0..U+1CD2, U+1CD4..U+1CE0, U+1CE2..U+1CE8, U+1CED, U+1DFD,
12406         U+2CEF..U+2CF1, U+A6F0..U+A6F1, U+A8E0..U+A8F1, U+A980..U+A982, U+A9B3,
12407         U+A9B6..U+A9B9, U+A9BC, U+AAB0, U+AAB2..U+AAB4, U+AAB7..U+AAB8,
12408         U+AABE..U+AABF, U+AAC1, U+ABE5, U+ABE8, U+ABED, U+11080..U+11081,
12409         U+110B3..U+110B6, U+110B9..U+110BA, U+110BD.
12410         (uc_width): Return 2 also for unassigned code points of planes 2 and 3.
12411         * lib/uninorm/composition-table.gperf: Regenerated for Unicode 5.2.0.
12412         * lib/uninorm/composition.c (struct composition_rule): Allow for 24
12413         bits instead of 16 bits in the code1 and code2 of each composition
12414         rule.
12415         (uc_composition): Update for Unicode 5.2.0.
12416         * lib/uninorm/decomposition-table1.h: Regenerated for Unicode 5.2.0.
12417         * lib/uninorm/decomposition-table2.h: Likewise.
12418         * lib/uniwbrk/wbrkprop.h: Likewise.
12419         * tests/unicase/test-cased.c: Likewise.
12420         * tests/unicase/test-ignorable.c: Likewise.
12421         * tests/unicase/test-uc_tolower.c: Likewise.
12422         * tests/unicase/test-uc_totitle.c: Likewise.
12423         * tests/unicase/test-uc_toupper.c: Likewise.
12424         * tests/unictype/test-categ_C.c: Likewise.
12425         * tests/unictype/test-categ_Cf.c: Likewise.
12426         * tests/unictype/test-categ_Cn.c: Likewise.
12427         * tests/unictype/test-categ_L.c: Likewise.
12428         * tests/unictype/test-categ_Ll.c: Likewise.
12429         * tests/unictype/test-categ_Lm.c: Likewise.
12430         * tests/unictype/test-categ_Lo.c: Likewise.
12431         * tests/unictype/test-categ_Lu.c: Likewise.
12432         * tests/unictype/test-categ_M.c: Likewise.
12433         * tests/unictype/test-categ_Mc.c: Likewise.
12434         * tests/unictype/test-categ_Mn.c: Likewise.
12435         * tests/unictype/test-categ_N.c: Likewise.
12436         * tests/unictype/test-categ_Nd.c: Likewise.
12437         * tests/unictype/test-categ_Nl.c: Likewise.
12438         * tests/unictype/test-categ_No.c: Likewise.
12439         * tests/unictype/test-categ_P.c: Likewise.
12440         * tests/unictype/test-categ_Pd.c: Likewise.
12441         * tests/unictype/test-categ_Po.c: Likewise.
12442         * tests/unictype/test-categ_S.c: Likewise.
12443         * tests/unictype/test-categ_Sc.c: Likewise.
12444         * tests/unictype/test-categ_So.c: Likewise.
12445         * tests/unictype/test-ctype_alnum.c: Likewise.
12446         * tests/unictype/test-ctype_alpha.c: Likewise.
12447         * tests/unictype/test-ctype_graph.c: Likewise.
12448         * tests/unictype/test-ctype_lower.c: Likewise.
12449         * tests/unictype/test-ctype_print.c: Likewise.
12450         * tests/unictype/test-ctype_punct.c: Likewise.
12451         * tests/unictype/test-ctype_upper.c: Likewise.
12452         * tests/unictype/test-decdigit.h: Likewise.
12453         * tests/unictype/test-digit.h: Likewise.
12454         * tests/unictype/test-numeric.h: Likewise.
12455         * tests/unictype/test-pr_alphabetic.c: Likewise.
12456         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
12457         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
12458         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
12459         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
12460         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
12461         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
12462         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
12463         * tests/unictype/test-pr_combining.c: Likewise.
12464         * tests/unictype/test-pr_composite.c: Likewise.
12465         * tests/unictype/test-pr_currency_symbol.c: Likewise.
12466         * tests/unictype/test-pr_dash.c: Likewise.
12467         * tests/unictype/test-pr_decimal_digit.c: Likewise.
12468         * tests/unictype/test-pr_deprecated.c: Likewise.
12469         * tests/unictype/test-pr_diacritic.c: Likewise.
12470         * tests/unictype/test-pr_extender.c: Likewise.
12471         * tests/unictype/test-pr_grapheme_base.c: Likewise.
12472         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
12473         * tests/unictype/test-pr_grapheme_link.c: Likewise.
12474         * tests/unictype/test-pr_id_continue.c: Likewise.
12475         * tests/unictype/test-pr_id_start.c: Likewise.
12476         * tests/unictype/test-pr_ideographic.c: Likewise.
12477         * tests/unictype/test-pr_ignorable_control.c: Likewise.
12478         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
12479         * tests/unictype/test-pr_lowercase.c: Likewise.
12480         * tests/unictype/test-pr_numeric.c: Likewise.
12481         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
12482         * tests/unictype/test-pr_punctuation.c: Likewise.
12483         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
12484         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
12485         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
12486         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
12487         * tests/unictype/test-pr_uppercase.c: Likewise.
12488         * tests/unictype/test-pr_xid_continue.c: Likewise.
12489         * tests/unictype/test-pr_xid_start.c: Likewise.
12490         * tests/unictype/test-pr_zero_width.c: Likewise.
12491         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
12492         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update for
12493         changed behaviour: line breaking is now disallowed between a letter
12494         or '=' and '('.
12495         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
12496         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
12497         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
12498         * tests/unilbrk/test-ulc-width-linebreaks.c (main): Likewise.
12499         * tests/uniwidth/test-uc_width2.sh: Same updates as in
12500         lib/uniwidth/width.c.
12501         * tests/uninorm/NormalizationTest.txt: Update from Unicode 5.2.0,
12502         without comments, but with the original copyright notice.
12503         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
12504         changes.
12505         * lib/unictype/categ_Cc.h: Likewise.
12506         * lib/unictype/categ_Co.h: Likewise.
12507         * lib/unictype/categ_Cs.h: Likewise.
12508         * lib/unictype/categ_Lt.h: Likewise.
12509         * lib/unictype/categ_Me.h: Likewise.
12510         * lib/unictype/categ_Pc.h: Likewise.
12511         * lib/unictype/categ_Pe.h: Likewise.
12512         * lib/unictype/categ_Pf.h: Likewise.
12513         * lib/unictype/categ_Pi.h: Likewise.
12514         * lib/unictype/categ_Ps.h: Likewise.
12515         * lib/unictype/categ_Sk.h: Likewise.
12516         * lib/unictype/categ_Sm.h: Likewise.
12517         * lib/unictype/categ_Z.h: Likewise.
12518         * lib/unictype/categ_Zl.h: Likewise.
12519         * lib/unictype/categ_Zp.h: Likewise.
12520         * lib/unictype/categ_Zs.h: Likewise.
12521         * lib/unictype/ctype_blank.h: Likewise.
12522         * lib/unictype/ctype_cntrl.h: Likewise.
12523         * lib/unictype/ctype_digit.h: Likewise.
12524         * lib/unictype/ctype_space.h: Likewise.
12525         * lib/unictype/ctype_xdigit.h: Likewise.
12526         * lib/unictype/mirror.h: Likewise.
12527         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
12528         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
12529         * lib/unictype/pr_bidi_block_separator.h: Likewise.
12530         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
12531         * lib/unictype/pr_bidi_common_separator.h: Likewise.
12532         * lib/unictype/pr_bidi_control.h: Likewise.
12533         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
12534         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
12535         * lib/unictype/pr_bidi_pdf.h: Likewise.
12536         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
12537         * lib/unictype/pr_bidi_whitespace.h: Likewise.
12538         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
12539         * lib/unictype/pr_format_control.h: Likewise.
12540         * lib/unictype/pr_hex_digit.h: Likewise.
12541         * lib/unictype/pr_hyphen.h: Likewise.
12542         * lib/unictype/pr_ids_binary_operator.h: Likewise.
12543         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
12544         * lib/unictype/pr_iso_control.h: Likewise.
12545         * lib/unictype/pr_join_control.h: Likewise.
12546         * lib/unictype/pr_left_of_pair.h: Likewise.
12547         * lib/unictype/pr_line_separator.h: Likewise.
12548         * lib/unictype/pr_math.h: Likewise.
12549         * lib/unictype/pr_non_break.h: Likewise.
12550         * lib/unictype/pr_not_a_character.h: Likewise.
12551         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
12552         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
12553         * lib/unictype/pr_other_id_continue.h: Likewise.
12554         * lib/unictype/pr_other_id_start.h: Likewise.
12555         * lib/unictype/pr_other_lowercase.h: Likewise.
12556         * lib/unictype/pr_other_math.h: Likewise.
12557         * lib/unictype/pr_other_uppercase.h: Likewise.
12558         * lib/unictype/pr_paired_punctuation.h: Likewise.
12559         * lib/unictype/pr_paragraph_separator.h: Likewise.
12560         * lib/unictype/pr_pattern_syntax.h: Likewise.
12561         * lib/unictype/pr_pattern_white_space.h: Likewise.
12562         * lib/unictype/pr_private_use.h: Likewise.
12563         * lib/unictype/pr_quotation_mark.h: Likewise.
12564         * lib/unictype/pr_radical.h: Likewise.
12565         * lib/unictype/pr_soft_dotted.h: Likewise.
12566         * lib/unictype/pr_space.h: Likewise.
12567         * lib/unictype/pr_titlecase.h: Likewise.
12568         * lib/unictype/pr_variation_selector.h: Likewise.
12569         * lib/unictype/pr_white_space.h: Likewise.
12570         * lib/unictype/sy_c_ident.h: Likewise.
12571         * lib/unictype/sy_c_whitespace.h: Likewise.
12572         * lib/unictype/sy_java_whitespace.h: Likewise.
12573         * modules/uni*/*: Bump version number of expected libunistring version.
12574         Reported by Simon Josefsson.
12575
12576 2011-01-09  Karl Heuer  <kwzh@gnu.org>
12577
12578         useless-if-before-free: fix typo in --help and make the internal,
12579         automatic version date update process work once again.
12580         --help output contained a NUL character instead of the
12581         backslash-zero that was intended.  Also, the "must lie within
12582         the first 8 lines" line is on line 9, and hence not getting
12583         automatically updated.
12584         * build-aux/useless-if-before-free: Fix the former by adding a
12585         backslash, and the latter by condensing the three lines of what-it-does
12586         to a single line, leaving one line of slack for the future.
12587
12588 2011-01-09  Bruno Haible  <bruno@clisp.org>
12589
12590         uniwidth/width: Fix width of U+1D173..U+1D17A.
12591         * lib/gen-uni-tables.c (is_nonspacing, output_nonspacing_property,
12592         symbolic_width, output_width_property_test): New functions.
12593         (main): Invoke output_nonspacing_property, output_width_property_test.
12594         * lib/uniwidth/width.c (nonspacing_table_data): Set bits for
12595         U+1D173..U+1D17A.
12596         * tests/uniwidth/test-uc_width2.sh: For U+1D173..U+1D17A, expect 0, not
12597         1.
12598         * modules/uniwidth/*: Bump version number of expected libunistring
12599         version.
12600         * modules/unilbrk/*: Likewise.
12601
12602 2011-01-08  Bruno Haible  <bruno@clisp.org>
12603
12604         uninorm tests: Preserve copyright of Unicode data file.
12605         * tests/uninorm/NormalizationTest.txt: Re-add original copyright.
12606         Mention modifications.
12607
12608 2011-01-08  Bruno Haible  <bruno@clisp.org>
12609
12610         gen-uni-tables: Prepare for Unicode 5.2.0.
12611         * lib/gen-uni-tables.c (get_lbp): Allow for more than 32 LBP_* values.
12612         (debug_output_lbp, output_lbp): Update.
12613
12614 2011-01-08  Bruno Haible  <bruno@clisp.org>
12615
12616         unilbrk: Clarify gen-uni-tables.c code.
12617         * lib/gen-uni-tables.c (get_lbp): Assume REVISION_22 to be false. These
12618         were mistakes in UAX #14 revision 22 that are corrected in revision 24.
12619         Clarify what to do with unilbrk/lbrkprop.txt and uniwbrk/wbrkprop.txt.
12620
12621 2011-01-07  Bruno Haible  <bruno@clisp.org>
12622
12623         strtod: Restore errno when successfully parsing Infinity or NaN.
12624         * lib/strtod.c (strtod): After successfully parsing an Infinity or NaN,
12625         restore the original errno.
12626
12627 2011-01-07  Bruno Haible  <bruno@clisp.org>
12628
12629         remove test: Avoid failure on HP-UX 11.
12630         * tests/test-remove.c (main): Allow EEXIST as alternative error code.
12631
12632 2011-01-07  Bruno Haible  <bruno@clisp.org>
12633
12634         mkdir, mkdirat tests: Avoid failure on HP-UX 11.11.
12635         * tests/test-mkdir.h (test_mkdir): Allow EOPNOTSUPP as alternative
12636         error code.
12637
12638 2011-01-07  Pádraig Brady <P@draigBrady.com>
12639
12640         ignore-value: fixup comments, and add Eric Blake
12641         as an author since he rewrote the macros.
12642         * lib/ignore-value.h (ignore_value):  State that
12643         we now support aggregates.  Also specify exactly
12644         when the GCC warn_unused_result feature was added.
12645
12646 2011-01-06  Eric Blake  <eblake@redhat.com>
12647
12648         ignore-value: support aggregate types
12649         * lib/ignore-value.h (ignore_value): Provide separate gcc
12650         definition.
12651         * modules/ignore-value-tests: New test module.
12652         * tests/test-ignore-value.c: New test.
12653
12654         maint.mk: improve sc_prohibit_strcmp regex
12655         * top/maint.mk (sc_prohibit_strcmp): Detect strcmp()!=0, as
12656         documented.  Also, detect strcmp((expr),expr) == 0.  Exempt the
12657         definition of STRNEQ.
12658
12659         signal: work around Haiku issue with SIGBUS
12660         * lib/siglist.h: Add comment.
12661         * lib/sig2str.c (numname_table): Swap SIGBUS order, to match
12662         strsignal's favoring of SIGSEGV.
12663         * tests/test-signal.c (main): Avoid test failure.
12664         * doc/posix-headers/signal.texi (signal.h): Document the issue.
12665         Reported by Scott McCreary.
12666
12667         maint.mk: add pre-release check to ensure submodule commits are public
12668         * top/maint.mk (public-submodule-commit): New rule.
12669         (submodule-checks): New variable.
12670         (alpha beta stable): Depend on the variable.
12671
12672 2011-01-05  Pádraig Brady <P@draigBrady.com>
12673         and Jim Meyering  <meyering@redhat.com>
12674
12675         ignore-value: make ignore_value more generic; deprecate ignore_ptr
12676         * lib/ignore-value.h: Include <stdint.h>, for decl of intptr_t.
12677         (ATTRIBUTE_DEPRECATED): Define.
12678         (_ignore_case): New function.
12679         (ignore_value): New macro, to replace the old function.
12680         (ignore_ptr): Arrange for any use to evoke a deprecation warning.
12681         * modules/ignore-value (Depends-on): Add stdint.
12682
12683 2011-01-04  Eric Blake  <eblake@redhat.com>
12684
12685         doc: regenerate INSTALL
12686         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Re-add
12687         @firstparagraphindent support, now that autoconf dropped it.
12688         (INSTALL_PRELUDE): Reinstate old macro.
12689         * doc/install.texi: Resync from autoconf.
12690         * doc/INSTALL: Reflect recent autoconf update.
12691         * doc/INSTALL.ISO: Likewise.
12692         * doc/INSTALL.UTF-8: Likewise.
12693         Reported by Karl Berry.
12694
12695 2011-01-04  Bruce Korb  <address@hidden>
12696
12697         git-version-gen: avoid a sub-shell
12698         * build-aux/git-version-gen: Redirect stderr in `...` via
12699         "exec 2>...", rather than via an added sub-shell.
12700
12701 2011-01-03  Ben Pfaff  <blp@cs.stanford.edu>
12702
12703         git-version-gen: use (...) rather than sh -c '...'
12704         * build-aux/git-version-gen: Rather than hard-coding a shell's name
12705         with "sh -c '...'", just use "(...)".  Less syntax is better, too.
12706
12707 2011-01-03  Jim Meyering  <meyering@redhat.com>
12708
12709         git-version-gen: convert leading TABs to spaces
12710         * build-aux/git-version-gen: Expand leading TABs.
12711
12712         git-version-gen: handle failed "git rev-list"
12713         * build-aux/git-version-gen: Rather than leaking a "fatal" error
12714         from git and proceeding as if it had succeeded but printed no SHA1
12715         checksums, suppress the diagnostic and handle the failure.
12716         Reported by Bruce Korb in http://marc.info/?l=git&m=129399145930450&w=2
12717
12718         git-version-gen: include command name in one more diagnostic
12719         * build-aux/git-version-gen: When the required .tarball-version file
12720         was missing or unreadable, you might see the diagnostic from "cat",
12721         but no trace of the name of the invoking script.  Now, you still see
12722         the diagnostic from cat, but also get one from "git-version-gen: ".
12723         Inspired by a patch from Bruce Korb.
12724
12725         update-copyright: adjust test to match changed code
12726         * tests/test-update-copyright.sh: Change test's expected output
12727         to match new actual output.
12728
12729 2011-01-02  Bruno Haible  <bruno@clisp.org>
12730
12731         getlogin_r: Avoid test failure on HP-UX 11.
12732         * tests/test-getlogin_r.c (main): Allow an error code EINVAL instead of
12733         ERANGE when the second argument is zero.
12734         * doc/posix-functions/getlogin_r.texi: Document the HP-UX 11
12735         portability problem.
12736
12737 2011-01-02  Bruce Korb  <bkorb@gnu.org>
12738
12739         * build-aux/update-copyright: doc Simon's changes
12740
12741 2011-01-02  Simon Josefsson  <simon@josefsson.org>
12742
12743         * build-aux/update-copyright: Support UPDATE_COPYRIGHT_HOLDER
12744         environment variable.
12745
12746 2011-01-02  Bruno Haible  <bruno@clisp.org>
12747
12748         unigbrk: Avoid gcc warnings.
12749         * lib/unigbrk/u16-grapheme-breaks.c (u16_grapheme_breaks): Remove
12750         unused variable.
12751         * lib/unigbrk/u16-grapheme-prev.c (u16_grapheme_prev): Likewise.
12752         * lib/unigbrk/u8-grapheme-prev.c (u8_grapheme_prev): Likewise.
12753         * tests/unigbrk/test-u16-grapheme-breaks.c (main): Likewise.
12754         * tests/unigbrk/test-u32-grapheme-breaks.c (main): Likewise.
12755         * tests/unigbrk/test-u8-grapheme-breaks.c (test_u8_grapheme_breaks):
12756         Change type of first argument to 'const char *'.
12757         (main): Remove unused variable.
12758         * tests/unigbrk/test-u8-grapheme-next.c (test_u8_grapheme_next): Change
12759         type of first argument to 'const char *'.
12760         * tests/unigbrk/test-u8-grapheme-prev.c (test_u8_grapheme_prev):
12761         Likewise.
12762         (main): Change type of variable 's'.
12763         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Cast column number
12764         to 'int'.
12765
12766 2011-01-02  Bruno Haible  <bruno@clisp.org>
12767
12768         pwrite: Fix test whether it works and make it work on HP-UX 11.11.
12769         * m4/pwrite.m4 (gl_FUNC_PWRITE): Use AC_LANG_PROGRAM, not
12770         AC_LANG_SOURCE. Extend the test program to catch another HP-UX 11.11
12771         bug.
12772         * lib/pwrite.c: Undo 2010-12-31 patch.
12773         * doc/posix-functions/pwrite.texi: Document another HP-UX 11.11 bug.
12774
12775 2011-01-02  Bruno Haible  <bruno@clisp.org>
12776
12777         pread: Fix test whether it works.
12778         * m4/pread.m4 (gl_FUNC_PREAD): Use AC_LANG_PROGRAM, not AC_LANG_SOURCE.
12779
12780 2011-01-02  Bruno Haible  <bruno@clisp.org>
12781
12782         Fix detection of traditional Arabic locale on HP-UX, Solaris, Cygwin.
12783         * m4/locale-ar.m4 (gt_LOCALE_AR): Require that the locale encoding name
12784         ends in "6". Don't require a specific month name. Try also the locale
12785         names found on HP-UX 11 and Solaris 7.
12786
12787 2011-01-02  Bruno Haible  <bruno@clisp.org>
12788
12789         tcgetsid: Correct linkage in C++ mode on HP-UX 11.00.
12790         * lib/termios.in.h: In C++ mode, on HP-UX, include <sys/termios.h> with
12791         C linkage.
12792         * doc/posix-functions/tcgetsid.texi: Mention the HP-UX 11.00 bug.
12793
12794 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
12795
12796         Rename uc_is_grapheme_cluster_break() to uc_is_grapheme_break()
12797         for consistency, since the "cluster" term is not used elsewhere.
12798         * lib/unigbrk.in.h: Update name.
12799         * lib/unigbrk/u16-grapheme-breaks.c: Update name.
12800         * lib/unigbrk/u16-grapheme-next.c: Update name.
12801         * lib/unigbrk/u16-grapheme-prev.c: Update name.
12802         * lib/unigbrk/u32-grapheme-breaks.c: Update name.
12803         * lib/unigbrk/u32-grapheme-next.c: Update name.
12804         * lib/unigbrk/u32-grapheme-prev.c: Update name.
12805         * lib/unigbrk/u8-grapheme-breaks.c: Update name.
12806         * lib/unigbrk/u8-grapheme-next.c: Update name.
12807         * lib/unigbrk/u8-grapheme-prev.c: Update name.
12808         * lib/unigbrk/uc-is-grapheme-break.c: Update name.
12809         * tests/unigbrk/test-uc-is-grapheme-break.c: Update name.
12810         Suggested by Bruno Haible.
12811
12812 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
12813
12814         Remove module 'u8-grapheme-len' as too redundant with
12815         'u8-grapheme-next'.
12816         * modules/unigbrk/u8-grapheme-len: Delete file.
12817         * modules/unigbrk/u8-grapheme-len-tests: Delete file.
12818         * lib/unigbrk.in.h: Remove prototype for deleted function.
12819         * lib/unigbrk/u8-grapheme-len.c: Delete file.
12820         * tests/unigbrk/test-u8-grapheme-len.c: Delete file.
12821
12822         Remove module 'u16-grapheme-len' as too redundant with
12823         'u16-grapheme-next'.
12824         * modules/unigbrk/u16-grapheme-len: Delete file.
12825         * modules/unigbrk/u16-grapheme-len-tests: Delete file.
12826         * lib/unigbrk.in.h: Remove prototype for deleted function.
12827         * lib/unigbrk/u16-grapheme-len.c: Delete file.
12828         * tests/unigbrk/test-u16-grapheme-len.c: Delete file.
12829
12830         Remove module 'u32-grapheme-len' as too redundant with
12831         'u32-grapheme-next'.
12832         * modules/unigbrk/u32-grapheme-len: Delete file.
12833         * modules/unigbrk/u32-grapheme-len-tests: Delete file.
12834         * lib/unigbrk.in.h: Remove prototype for deleted function.
12835         * lib/unigbrk/u32-grapheme-len.c: Delete file.
12836         * tests/unigbrk/test-u32-grapheme-len.c: Delete file.
12837
12838         Suggested by Bruno Haible.
12839
12840 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
12841
12842         * unigbrk.in.h: Fix typo: "ben" => "been".
12843         Reported by Bruno Haible.
12844
12845 2011-01-01  Jim Meyering  <meyering@redhat.com>
12846
12847         maint: update almost all copyright ranges to include 2011
12848         Run the new "make update-copyright" rule.
12849
12850 2011-01-01  Jim Meyering  <meyering@redhat.com>
12851
12852         maint: update-copyright: exempt doc/INSTALL*
12853         * Makefile (update-copyright): Also exclude doc/INSTALL*,
12854         since they are generated.  Suggested by Bruno Haible.
12855
12856 2011-01-01  Jim Meyering  <meyering@redhat.com>
12857
12858         maint: refine the update-copyright rule
12859         * Makefile (update-copyright): Also exclude any file that includes
12860         the "GENERATED AUTOMATICALLY" comment, being careful not to exclude
12861         code that merely generates the comment.
12862
12863 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
12864
12865         New module 'u8-grapheme-len'.
12866         * modules/unigbrk/u8-grapheme-len: New file.
12867         * modules/unigbrk/u8-grapheme-len-tests: New file.
12868         * lib/unigbrk.in.h: Add prototype for new function.
12869         * lib/unigbrk/u8-grapheme-len.c: New file.
12870         * tests/unigbrk/test-u8-grapheme-len.c: New file.
12871
12872         New module 'u16-grapheme-len'.
12873         * modules/unigbrk/u16-grapheme-len: New file.
12874         * modules/unigbrk/u16-grapheme-len-tests: New file.
12875         * lib/unigbrk.in.h: Add prototype for new function.
12876         * lib/unigbrk/u16-grapheme-len.c: New file.
12877         * tests/unigbrk/test-u16-grapheme-len.c: New file.
12878
12879         New module 'u32-grapheme-len'.
12880         * modules/unigbrk/u32-grapheme-len: New file.
12881         * modules/unigbrk/u32-grapheme-len-tests: New file.
12882         * lib/unigbrk.in.h: Add prototype for new function.
12883         * lib/unigbrk/u32-grapheme-len.c: New file.
12884         * tests/unigbrk/test-u32-grapheme-len.c: New file.
12885
12886         New module 'u8-grapheme-next'.
12887         * modules/unigbrk/u8-grapheme-next: New file.
12888         * modules/unigbrk/u8-grapheme-next-tests: New file.
12889         * lib/unigbrk.in.h: Add prototype for new function.
12890         * lib/unigbrk/u8-grapheme-next.c: New file.
12891         * tests/unigbrk/test-u8-grapheme-next.c: New file.
12892
12893         New module 'u16-grapheme-next'.
12894         * modules/unigbrk/u16-grapheme-next: New file.
12895         * modules/unigbrk/u16-grapheme-next-tests: New file.
12896         * lib/unigbrk.in.h: Add prototype for new function.
12897         * lib/unigbrk/u16-grapheme-next.c: New file.
12898         * tests/unigbrk/test-u16-grapheme-next.c: New file.
12899
12900         New module 'u32-grapheme-next'.
12901         * modules/unigbrk/u32-grapheme-next: New file.
12902         * modules/unigbrk/u32-grapheme-next-tests: New file.
12903         * lib/unigbrk.in.h: Add prototype for new function.
12904         * lib/unigbrk/u32-grapheme-next.c: New file.
12905         * tests/unigbrk/test-u32-grapheme-next.c: New file.
12906
12907         New module 'u8-grapheme-prev'.
12908         * modules/unigbrk/u8-grapheme-prev: New file.
12909         * modules/unigbrk/u8-grapheme-prev-tests: New file.
12910         * lib/unigbrk.in.h: Add prototype for new function.
12911         * lib/unigbrk/u8-grapheme-prev.c: New file.
12912         * tests/unigbrk/test-u8-grapheme-prev.c: New file.
12913
12914         New module 'u16-grapheme-prev'.
12915         * modules/unigbrk/u16-grapheme-prev: New file.
12916         * modules/unigbrk/u16-grapheme-prev-tests: New file.
12917         * lib/unigbrk.in.h: Add prototype for new function.
12918         * lib/unigbrk/u16-grapheme-prev.c: New file.
12919         * tests/unigbrk/test-u16-grapheme-prev.c: New file.
12920
12921         New module 'u32-grapheme-prev'.
12922         * modules/unigbrk/u32-grapheme-prev: New file.
12923         * modules/unigbrk/u32-grapheme-prev-tests: New file.
12924         * lib/unigbrk.in.h: Add prototype for new function.
12925         * lib/unigbrk/u32-grapheme-prev.c: New file.
12926         * tests/unigbrk/test-u32-grapheme-prev.c: New file.
12927
12928         New module 'u8-grapheme-breaks'.
12929         * modules/unigbrk/u8-grapheme-breaks: New file.
12930         * modules/unigbrk/u8-grapheme-breaks-tests: New file.
12931         * lib/unigbrk.in.h: Add prototype for new function.
12932         * lib/unigbrk/u8-grapheme-breaks.c: New file.
12933         * tests/unigbrk/test-u8-grapheme-breaks.c: New file.
12934
12935         New module 'u16-grapheme-breaks'.
12936         * modules/unigbrk/u16-grapheme-breaks: New file.
12937         * modules/unigbrk/u16-grapheme-breaks-tests: New file.
12938         * lib/unigbrk.in.h: Add prototype for new function.
12939         * lib/unigbrk/u16-grapheme-breaks.c: New file.
12940         * tests/unigbrk/test-u16-grapheme-breaks.c: New file.
12941
12942         New module 'u32-grapheme-breaks'.
12943         * modules/unigbrk/u32-grapheme-breaks: New file.
12944         * modules/unigbrk/u32-grapheme-breaks-tests: New file.
12945         * lib/unigbrk.in.h: Add prototype for new function.
12946         * lib/unigbrk/u32-grapheme-breaks.c: New file.
12947         * tests/unigbrk/test-u32-grapheme-breaks.c: New file.
12948
12949         New module 'ulc-grapheme-breaks'.
12950         * modules/unigbrk/ulc-grapheme-breaks: New file.
12951         * modules/unigbrk/ulc-grapheme-breaks-tests: New file.
12952         * m4/locale-ar.m4: New file.
12953         * lib/unigbrk/ulc-grapheme-breaks.c: New file.
12954         * tests/unigbrk/test-ulc-grapheme-breaks.c: New file.
12955         * tests/unigbrk/test-ulc-grapheme-breaks.sh: New file.
12956
12957 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
12958
12959         gbrkprop: Fix implementation of uc_graphemeclusterbreak_property.
12960         * lib/unigbrk/gbrkprop.h: Regenerate with gen-uni-tables.c.  I had
12961         modified how this file was generated before I initially submitted
12962         the module, but failed to regenerate it.  This meant that several
12963         of the level2 entries were wrong.
12964         * lib/unigbrk/uc-gbrk-prop.h (uc_graphemeclusterbreak_property):
12965         Remove the division-by-2 that is folded into the table now that
12966         gbrkprop.h has been regenerated properly.  Now -1 entries are
12967         handled correctly.
12968
12969         New module 'unigbrk/uc-gbrk-prop-tests'.
12970         * modules/unigbrk/uc-gbrk-prop-tests: New file.
12971         * lib/gen-uni-tables.c: Generate tests/test-uc-gbrk-prop.h.
12972         * tests/unigbrk/test-uc-gbrk-prop.c: New file.
12973         * tests/unigbrk/test-uc-gbrk-prop.h: New file.
12974
12975 2011-01-01  Bruno Haible  <bruno@clisp.org>
12976
12977         Avoid use of hexadecimal escapes.
12978         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Use octal escapes
12979         instead of hexadecimal escapes.
12980
12981 2011-01-01  Jim Meyering  <meyering@redhat.com>
12982
12983         maint: new rule to update copyright year ranges
12984         * Makefile (update-copyright): New rule.
12985
12986         maint: indent with TABs in Makefile
12987         * Makefile: Expand leading sequences of spaces to TABs
12988
12989         version-etc: update the copyright year it reports
12990         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2011.
12991
12992 2010-12-31  Bruno Haible  <bruno@clisp.org>
12993
12994         isfinite: Avoid compiler bug of "cc -O" on HP-UX 11.11.
12995         * lib/isfinite.c (zerof, zerod, zerol): New variables.
12996         (gl_isfinitef, gl_isfinited, gl_isfinitel): Use them instead of literal
12997         zero.
12998
12999 2010-12-31  Bruno Haible  <bruno@clisp.org>
13000
13001         pwrite: Work around HP-UX 11.11 bug.
13002         * m4/pwrite.m4 (gl_FUNC_PWRITE): When pwrite exists, test whether it
13003         works and set REPLACE_PWRITE if not.
13004         * lib/pwrite.c (pwrite): Add an implementation that uses the system
13005         function.
13006         * doc/posix-functions/pwrite.texi: Document the HP-UX 11 bug.
13007
13008 2010-12-31  Bruno Haible  <bruno@clisp.org>
13009
13010         pread: Work around HP-UX 11 bugs.
13011         * m4/pread.m4 (gl_FUNC_PREAD): When pread exists, test whether it works
13012         and set REPLACE_PREAD if not.
13013         * doc/posix-functions/pread.texi: Document the HP-UX 11 bugs.
13014
13015 2010-12-31  Eric Blake  <eblake@redhat.com>
13016
13017         nl_langinfo: fix YESEXPR on Irix 6.5
13018         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Test for Irix bug.
13019         * lib/nl_langinfo.c (rpl_nl_langinfo): Work around it.
13020         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Document
13021         it.
13022
13023 2010-12-31  Bruno Haible  <bruno@clisp.org>
13024
13025         iconv: Document HP-UX 11 bug.
13026         * doc/posix-functions/iconv.texi: Document HP-UX 11 return value bug.
13027
13028 2010-12-31  Bruno Haible  <bruno@clisp.org>
13029
13030         ldexpl: Fix link error on HP-UX 11.
13031         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When replacing ldexpl, set
13032         LDEXPL_LIBM, using $ISNANL_LIBM.
13033
13034 2010-12-31  Eric Blake  <eblake@redhat.com>
13035
13036         ftello: avoid compilation failure with SunStudio c89
13037         * lib/ftello.c (ftello): Use lseek, not llseek.
13038
13039         tests: avoid failing coreutils tests on cygwin
13040         * tests/init.sh (find_exe_basenames_): Exempt [.exe.
13041         (create_exe_shims_): Return 0 when skipping.
13042
13043 2010-12-31  Bruno Haible  <bruno@clisp.org>
13044
13045         sys_select: Avoid warning about missing memset declaration on HP-UX 11.
13046         * lib/sys_select.in.h: On HP-UX, include also <string.h>.
13047
13048 2010-12-31  Bruno Haible  <bruno@clisp.org>
13049
13050         waitpid: Fix link error in C++ mode.
13051         * lib/sys_wait.in.h: Remove extern "C" { ... } group.
13052
13053 2010-12-31  Bruno Haible  <bruno@clisp.org>
13054
13055         isnan: Use GCC built-ins when possible.
13056         * lib/math.in.h (gl_isnan_f): Use __builtin_isnanf instead of
13057         __builtin_isnan.
13058         (gl_isnan_l): Use __builtin_isnanl instead of __builtin_isnan.
13059         (isnan): Define using GCC built-ins for GCC >= 4.0.
13060
13061 2010-12-31  Bruno Haible  <bruno@clisp.org>
13062
13063         isnand: Fix mistake.
13064         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM): Use __builtin_isnan, not
13065         __builtin_isnand.
13066
13067 2010-12-31  Bruno Haible  <bruno@clisp.org>
13068
13069         open: Avoid C++ error on HP-UX 11.
13070         * lib/fcntl.in.h (open): Disable _GL_CXXALIASWARN invocation on HP-UX.
13071
13072 2010-12-31  Bruno Haible  <bruno@clisp.org>
13073
13074         time_r: Add missing declarations on HP-UX 11.
13075         * lib/time.in.h (localtime_r, gmtime_r): Test HAVE_DECL_LOCALTIME_R
13076         instead of HAVE_LOCALTIME_R.
13077         * m4/time_r.m4 (gl_TIME_R): Test whether localtime_r is declared. Set
13078         HAVE_LOCALTIME_R always.
13079         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize
13080         HAVE_DECL_LOCALTIME_R, not HAVE_LOCALTIME_R.
13081         * modules/time (Makefile.am): Substitute HAVE_DECL_LOCALTIME_R, not
13082         HAVE_LOCALTIME_R.
13083         * doc/posix-functions/gmtime_r.texi: Document the HP-UX 11 problem.
13084         * doc/posix-functions/localtime_r.texi: Likewise.
13085
13086 2010-12-29  Eric Blake  <eblake@redhat.com>
13087
13088         mountlist: tweak previous commit
13089         * lib/mountlist.c (me_remote): Guarantee trailing backslash.
13090         Reported by Paul Eggert.
13091
13092         mountlist: fix local drive detection on cygwin
13093         * lib/mountlist.c (ME_REMOTE) [__CYGWIN__]: Provide implementation
13094         that works for cygwin.
13095
13096 2010-12-29  Paul Eggert  <eggert@cs.ucla.edu>
13097
13098         ftoastr, snprintf: ftoastr + snprintf module
13099         * lib/ftoastr.c: Use GNULIB_SNPRINTF, not GNULIB_SNPRINTF_POSIX,
13100         since the snprintf module now should be good enough here.
13101         * modules/snprintf (configure.ac): Add gl_MODULE_INDICATOR([snprintf]).
13102         It seems odd to have both gl_STDIO_MODULE_INDICATOR([snprintf])
13103         and gl_MODULE_INDICATOR([snprintf]), but the former enables
13104         GNULIB_SNPRINTF only for the test directory, and the latter
13105         doesn't arrange for gl_STDIO_H_DEFAULTS to be called, so neither
13106         seems to suffice by itself.
13107
13108 2010-12-28  Paul Eggert  <eggert@cs.ucla.edu>
13109
13110         alloca: one step towards thread-safety
13111         * lib/alloca.c (find_stack_direction): New arg PTR, to avoid the
13112         need for a static variable.  All callers changed.  This does not
13113         make the alloca replacement thread-safe, but it's one step.
13114
13115         tests: minor indenting change
13116         * tests/init.sh: Sync from coreutils housekeeping patch
13117         <http://lists.gnu.org/archive/html/coreutils/2010-12/msg00116.html>
13118         to keep lines within 80 columns.
13119
13120 2010-12-28  Jim Meyering  <meyering@redhat.com>
13121
13122         regex: don't infloop on persistent failing calloc
13123         * lib/regexec.c (build_trtable): Return failure indication upon
13124         calloc failure.  Otherwise, re_search_internal could infloop on OOM.
13125         In glibc, this was fixed for version 2.13:
13126         http://sourceware.org/bugzilla/show_bug.cgi?id=12348
13127
13128 2010-12-28  Bruno Haible  <bruno@clisp.org>
13129             Paul Eggert <eggert@cs.ucla.edu>
13130
13131         linkat: Make implementation robust against system behaviour variations.
13132         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Define
13133         LINK_FOLLOWS_SYMLINKS to -1 if it needs a runtime test in the Solaris
13134         way, and to -2 if it needs a generic runtime test.
13135         * lib/linkat.c (solaris_optimized_link_immediate,
13136         solaris_optimized_link_follow): New functions.
13137         * tests/test-linkat.c (EXPECT_LINK_HARDLINKS_SYMLINKS): New macro.
13138         (check_same_link): Use it.
13139
13140 2010-12-26  Ben Pfaff  <blp@cs.stanford.edu>
13141
13142         New module 'unigbrk/base'.
13143         * modules/unigbrk/base: New file.
13144         * lib/unigbrk.in.h: New file.
13145
13146         New module 'unigbrk/uc-gbrk-prop'.
13147         * lib/gen-uni-tables.c: Generate lib/unigbrk/gbrkprop.h.
13148         * modules/unigbrk/uc-gbrk-prop: New file.
13149         * lib/unigbrk/gbrkprop.h: New file.
13150         * lib/unigbrk/uc-gbrk-prop.c: New file.
13151
13152         New module 'unigbrk/uc-is-grapheme-break'.
13153         * modules/unigbrk/uc-is-grapheme-break: New file.
13154         * modules/unigbrk/uc-is-grapheme-break-tests: New file.
13155         * lib/unigbrk/uc-is-grapheme-break.c: New file.
13156         * tests/unigbrk/test-uc-is-grapheme-break.c: New file.
13157         * tests/unigbrk/test-uc-is-grapheme-break.sh: New file.
13158         * tests/unigbrk/GraphemeBreakTest.txt: New file.
13159
13160         With corrections and tweaks by Bruno Haible <bruno@clisp.org>.
13161
13162 2010-12-27  Bruno Haible  <bruno@clisp.org>
13163
13164         linkat test: Avoid failure on Solaris 11 2010-11.
13165         * tests/test-linkat.c (main): Allow ENOTDIR as alternative error code.
13166
13167 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
13168
13169         utimens: work around glibc rounding bug on more platforms
13170         * lib/utimens.c (fdutimens): Work around rounding bug even if
13171         HAVE_WORKING_UTIMES.  Reported for Linux 2.4.21 by Bruno Haible in
13172         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00298.html>.
13173
13174 2010-12-27  Bruno Haible  <bruno@clisp.org>
13175
13176         select tests: Improve comments.
13177         * tests/test-select.c (do_select): Add comments.
13178
13179 2010-12-27  Bruno Haible  <bruno@clisp.org>
13180
13181         select tests: Safer way of handling timeout.
13182         * tests/test-select.c (do_select_nowait): Zero-initialize the timeout
13183         at every invocation.
13184
13185 2010-12-27  Bruno Haible  <bruno@clisp.org>
13186
13187         select tests: Use 'bool' where appropriate.
13188         * tests/test-select.c (connect_to_socket): Change argument type to
13189         'bool'.
13190
13191 2010-12-27  Bruno Haible  <bruno@clisp.org>
13192
13193         select tests: Use existing modules.
13194         * modules/select-tests (Depends-on): Add pipe-posix, unistd.
13195         (configure.ac): Don't test for unistd.h.
13196         * tests/test-select.c: Include <unistd.h> always. Use pipe() as
13197         declared in <unistd.h>.
13198
13199 2010-12-27  Bruno Haible  <bruno@clisp.org>
13200
13201         mbrtowc: Work around a Solaris 7 bug.
13202         * m4/mbrtowc.m4 (gl_MBRTOWC_NULL_ARG1): New macro.
13203         (gl_MBRTOWC_NULL_ARG2): Renamed from gl_MBRTOWC_NULL_ARG.
13204         (gl_FUNC_MBRTOWC): Update. Define MBRTOWC_NULL_ARG2_BUG instead of
13205         MBRTOWC_NULL_ARG_BUG. Invoke gl_MBRTOWC_NULL_ARG1 and define
13206         MBRTOWC_NULL_ARG1_BUG.
13207         * lib/mbrtowc.c (rpl_mbrtowc): Use MBRTOWC_NULL_ARG2_BUG instead of
13208         MBRTOWC_NULL_ARG_BUG. Handle MBRTOWC_NULL_ARG1_BUG.
13209         * tests/test-mbrtowc.c (main): Test support of a NULL first argument.
13210         * doc/posix-functions/mbrtowc.texi: Mention the Solaris 7 bug.
13211
13212 2010-12-27  Jim Meyering  <meyering@redhat.com>
13213
13214         read-file.c: tweak syntax
13215         * lib/read-file.c (fread_file): Remove space after "*" in function
13216         definitions.
13217
13218 2010-12-27  Bruno Haible  <bruno@clisp.org>
13219
13220         times test: Avoid gcc warnings on OSF/1.
13221         * tests/test-times.c (main): Cast printf arguments from clock_t to
13222         'long int'.
13223
13224 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
13225
13226         utimens: work around glibc rounding bug on older Linux kernels
13227         * lib/utimens.c (fdutimens): If invoking futimesat or futimes
13228         on Linux with a glibc whose utimes might not work, then work
13229         around a longstanding glibc bug involving rounding rather than
13230         truncated time stamps.  Reported for Linux 2.4.21 by Bruno Haible in
13231         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
13232
13233 2010-12-26  Bruno Haible  <bruno@clisp.org>
13234
13235         inet_ntop: Hide mismatch of declaration on NonStop Kernel.
13236         * lib/arpa_inet.in.h (inet_ntop): Use _GL_CXXALIAS_SYS_CAST instead of
13237         _GL_CXXALIAS_SYS.
13238         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
13239
13240 2010-12-26  Bruno Haible  <bruno@clisp.org>
13241
13242         inet_ntop, inet_pton: Ensure declaration on NonStop Kernel.
13243         * lib/arpa_inet.in.h: On NonStop Kernel, include also <netdb.h>.
13244         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
13245         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Include also <netdb.h> when
13246         looking for the declaration.
13247         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
13248         * doc/posix-functions/inet_ntop.texi: Document the NonStop Kernel
13249         problem.
13250         * doc/posix-functions/inet_pton.texi: Likewise.
13251
13252 2010-12-26  Bruno Haible  <bruno@clisp.org>
13253
13254         arpa_inet: Use the common idioms with C++ support.
13255         * lib/arpa_inet.in.h: Include c++defs.h.
13256         (inet_ntop, inet_pton): Declare using the macros with C++ namespace
13257         support.
13258         * modules/arpa_inet (Depends-on): Add c++defs.
13259         (Makefile.am): Substitute the contents of c++defs.h.
13260         * modules/arpa_inet-tests (Depends-on): Add arpa_inet-c++-tests.
13261         * modules/arpa_inet-c++-tests: New file.
13262         * tests/test-arpa_inet-c++.cc: New file.
13263
13264 2010-12-25  Bruno Haible  <bruno@clisp.org>
13265
13266         Fix more C++ link errors on Solaris 8.
13267         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Add
13268         $(LIB_EACCESS).
13269         * modules/stdio-c++-tests (test_stdio_c___LDADD): Likewise.
13270         * modules/stdlib-c++-tests (test_stdlib_c___LDADD): Likewise.
13271         * modules/sys_ioctl-c++-tests (test_sys_ioctl_c___LDADD): Likewise.
13272         * modules/wchar-c++-tests (test_wchar_c___LDADD): Likewise.
13273         * modules/wctype-c++-tests (test_wctype_c___LDADD): Likewise.
13274
13275 2010-12-25  Bruno Haible  <bruno@clisp.org>
13276
13277         printf-posix: Fix link error when a non-GCC compiler is used.
13278         * lib/stdio.in.h (printf): When not using GCC, override printf
13279         correctly.
13280         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
13281
13282 2010-12-25  Bruno Haible  <bruno@clisp.org>
13283
13284         strerror_r-posix: Update doc.
13285         * doc/posix-functions/strerror_r.texi: Update doc about the return
13286         value. See <http://sources.redhat.com/bugzilla/show_bug.cgi?id=12204>.
13287
13288 2010-12-25  Paul Eggert  <eggert@cs.ucla.edu>
13289
13290         utimens: simplify the logic of the previous change
13291         * m4/utimes.m4 (gl_FUNC_UTIMES): Simplify the logic a bit.
13292         This should not affect whether the test succeeds or fails.
13293
13294         utimens: configure better on hosts with NFS clock skew
13295         * m4/utimes.m4 (gl_FUNC_UTIMES): Don't assume that utimes (f, NULL)
13296         uses the clock of the local host.  It might use the clock of the
13297         NFS server.  Reported for Linux 2.4.21 client by Bruno Haible in
13298         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
13299
13300 2010-12-25  Bruno Haible  <bruno@clisp.org>
13301
13302         ptsname test: Avoid failure on Solaris.
13303         * tests/test-ptsname.c (main): For Solaris, use the recommended way to
13304         open a pseudo-terminal; don't use BSD-style ptys.
13305         * doc/posix-functions/ptsname.texi: Document the limitation on Solaris.
13306
13307 2010-12-25  Bruno Haible  <bruno@clisp.org>
13308
13309         ptsname: Avoid ERANGE failure on some systems.
13310         * lib/ptsname.c (buffer): Increase size.
13311
13312 2010-12-25  Bruno Haible  <bruno@clisp.org>
13313
13314         rename, renameat: Avoid test failures at NFS mounted locations.
13315         * tests/test-rename.h (assert_nonexistent): Remove the old directory,
13316         so that subsequent mkdir calls succeed.
13317
13318 2010-12-25  Bruno Haible  <bruno@clisp.org>
13319
13320         iswblank: Fix C++ link error on Solaris 8.
13321         * lib/wctype.in.h (iswblank): Declare using _GL_FUNCDECL_RPL or
13322         _GL_FUNCDECL_SYS.
13323
13324 2010-12-25  Bruno Haible  <bruno@clisp.org>
13325
13326         unistd: Fix C++ link error on Solaris 8.
13327         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add $(LIB_EACCESS).
13328
13329 2010-12-25  Bruno Haible  <bruno@clisp.org>
13330
13331         readlink doc: Mention an old glibc bug.
13332         * doc/posix-functions/readlink.texi: Mention glibc 2.4 bug (BZ #2450).
13333
13334 2010-12-25  Bruno Haible  <bruno@clisp.org>
13335
13336         fcntl-h: Fix for use of C++ on glibc systems.
13337         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
13338         also on glibc systems in C++ mode.
13339         Reported by Gary V. Vaughan <gary@gnu.org>.
13340
13341 2010-12-25  Bruno Haible  <bruno@clisp.org>
13342
13343         roundl-ieee: Make it work on OSF/1 5.1 with cc.
13344         * modules/roundl-ieee (Depends-on): Add floorl-ieee, ceill-ieee.
13345
13346 2010-12-25  Bruno Haible  <bruno@clisp.org>
13347
13348         truncl-ieee: Make it work on OSF/1 5.1 with cc.
13349         * doc/posix-functions/truncl.texi: Mention the OSF/1 5.1 bug.
13350         * m4/truncl.m4 (gl_FUNC_TRUNCL): If gl_FUNC_TRUNCL_IEEE is also used,
13351         test whether truncl works according to ISO C 99 with IEC 60559.
13352         * m4/truncl-ieee.m4: New file.
13353         * modules/truncl-ieee (Files): Add it and m4/minus-zero.m4,
13354         m4/signbit.m4.
13355         (configure.ac): Invoke gl_FUNC_TRUNCL_IEEE.
13356
13357 2010-12-25  Bruno Haible  <bruno@clisp.org>
13358
13359         ceill-ieee: Make it work on OSF/1 5.1 with cc.
13360         * doc/posix-functions/ceill.texi: Mention the OSF/1 5.1 bug.
13361         * m4/ceill.m4 (gl_FUNC_CEILL): If gl_FUNC_CEILL_IEEE is also used,
13362         test whether ceill works according to ISO C 99 with IEC 60559.
13363         * m4/ceill-ieee.m4: New file.
13364         * modules/ceill-ieee (Files): Add it and m4/minus-zero.m4,
13365         m4/signbit.m4.
13366         (configure.ac): Invoke gl_FUNC_CEILL_IEEE.
13367
13368 2010-12-25  Bruno Haible  <bruno@clisp.org>
13369
13370         Ensure all prerequisites of <wchar.h> are included.
13371         * m4/btowc.m4 (gl_FUNC_BTOWC): Include <stddef.h>, <stdio.h>, <time.h>
13372         before <wchar.h>.
13373         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
13374         gl_MBRLEN_NUL_RETVAL): Likewise.
13375         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
13376         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL,
13377         AC_FUNC_MBRTOWC): Likewise.
13378         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
13379         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
13380         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
13381         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
13382         Likewise.
13383         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
13384         * m4/wchar_h.m4 (gl_WCHAR_H_INLINE_OK): Likewise.
13385         (gl_WCHAR_H): Improve comments.
13386         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
13387
13388 2010-12-25  Bruno Haible  <bruno@clisp.org>
13389
13390         strtok_r: Fix C syntax error in autoconf macro.
13391         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't use UTF-8 encoded U+00A0
13392         characters in test program.
13393
13394 2010-12-24  Bruno Haible  <bruno@clisp.org>
13395
13396         ceil, trunc, round: Fix gcc warnings.
13397         * lib/ceil.c (MIN): Undefine before redefining.
13398         * lib/trunc.c (MIN): Likewise.
13399         * lib/round.c (MIN): Likewise.
13400         Include <math.h> first.
13401
13402 2010-12-24  Bruno Haible  <bruno@clisp.org>
13403
13404         select tests: Avoid failures on OSF/1 5.1.
13405         * tests/test-select.c (test_accept_first, test_socket_pair): Ignore
13406         failure of closing the last socket; it may fail with ECONNRESET.
13407
13408 2010-12-24  Eric Blake  <eblake@redhat.com>
13409
13410         stdint: avoid HP-UX 10.20 preprocessor bug
13411         * lib/stdint.in.h (INT64_MAX, UINT64_MAX): Check via #ifdef rather
13412         than #if.
13413         * tests/test-floor2.c (main): Likewise.
13414         Reported by Peter O'Gorman.
13415
13416         pipe: make obsoletion transition easier
13417         * lib/pipe.h: Restore file as thin shim around "spawn-pipe.h".
13418         * modules/pipe (Files): Include revived file.
13419         (Include): Drop reference, to mirror getdate's behavior.
13420
13421 2010-12-24  Bruno Haible  <bruno@clisp.org>
13422
13423         sys_socket: Hide mismatch of declarations on NonStop Kernel.
13424         * lib/sys_socket.in.h (connect, bind, sendto, setsockopt): Use
13425         _GL_CXXALIAS_SYS_CAST instead of _GL_CXXALIAS_SYS.
13426         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
13427
13428 2010-12-24  Bruno Haible  <bruno@clisp.org>
13429
13430         gethostname: Ensure declaration on NonStop Kernel.
13431         * lib/unistd.in.h: Include <netdb.h> also on NonStop Kernel systems.
13432         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
13433
13434 2010-12-24  Bruno Haible  <bruno@clisp.org>
13435
13436         sys_select: Ensure all necessary types on NonStop Kernel.
13437         * lib/sys_select.in.h: If the system does not have <sys/select.h>,
13438         include <sys/time.h>.
13439         * doc/posix-headers/sys_select.texi: Mention that it's missing on
13440         NonStop Kernel.
13441         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
13442
13443 2010-12-24  Bruno Haible  <bruno@clisp.org>
13444
13445         sys_select: Remove unneeded include.
13446         * lib/sys_select.in.h: Don't include <sys/socket.h> on platforms that
13447         have <sys/select.h>.
13448
13449 2010-12-24  Bruno Haible  <bruno@clisp.org>
13450
13451         gethostname: Provide a fallback for HOST_NAME_MAX.
13452         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): When neither HOST_NAME_MAX
13453         nor MAXHOSTNAMELEN is found in the usual system headers, use 256
13454         instead.
13455         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
13456
13457 2010-12-24  Bruno Haible  <bruno@clisp.org>
13458
13459         sigaction tests: Allow missing SA_RESETHAND and SA_RESTART.
13460         * tests/test-sigaction.c (SA_RESETHAND): Fall back to 0.
13461         (SA_RESTART): Likewise.
13462         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
13463
13464 2010-12-24  Bruno Haible  <bruno@clisp.org>
13465
13466         signal: Define NSIG.
13467         * lib/signal.in.h (NSIG): Define to 32 on NonStop Kernel.
13468         * tests/test-signal.c (nsig): New variable.
13469         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
13470
13471 2010-12-24  Bruno Haible  <bruno@clisp.org>
13472
13473         rename, renameat: Avoid test failures on OSF/1 5.1.
13474         * tests/test-rename.h (test_rename): Allow EEXIST and ENOTDIR as
13475         alternative error codes.
13476         * tests/test-renameat.c (main): Likewise.
13477
13478 2010-12-24  Bruno Haible  <bruno@clisp.org>
13479
13480         *printf: Detect large precisions bug on Solaris 10/SPARC.
13481         * m4/printf.m4 (gl_PRINTF_PRECISION): Add one more test code, provided
13482         by Paul Eggert.
13483         * tests/test-snprintf-posix.h (test_function): Add this test code here
13484         too.
13485         * tests/test-sprintf-posix.h (test_function): Likewise.
13486         * tests/test-vasnprintf-posix.c (test_function): Likewise.
13487         * tests/test-vasprintf-posix.c (test_function): Likewise.
13488         * doc/posix-functions/fprintf.texi: Mention Solaris 10 bug as worked
13489         around by gnulib.
13490         * doc/posix-functions/printf.texi: Likewise.
13491         * doc/posix-functions/snprintf.texi: Likewise.
13492         * doc/posix-functions/sprintf.texi: Likewise.
13493         * doc/posix-functions/vfprintf.texi: Likewise.
13494         * doc/posix-functions/vprintf.texi: Likewise.
13495         * doc/posix-functions/vsnprintf.texi: Likewise.
13496         * doc/posix-functions/vsprintf.texi: Likewise.
13497         * doc/posix-functions/dprintf.texi: Undo last commit.
13498         * doc/posix-functions/vdprintf.texi: Likewise.
13499
13500 2010-12-23  Paul Eggert  <eggert@cs.ucla.edu>
13501
13502         tests: port test-fdutimensat.c to Solaris 8
13503         * tests/test-fdutimensat.c (do_fdutimens): Don't assume
13504         fdutimensat works with a nonnegative fd and AT_SYMLINK_NOFOLLOW.
13505         On Solaris 8, it fails with errno == ENOSYS, because there is no
13506         futimens (so it can't use the fd), and there is no lutimens (so it
13507         can't implement AT_SYMLINK_NOFOLLOW on symlinks).
13508
13509         vsnprintf: make more consistent with snprintf; doc fixes
13510
13511         * doc/posix-functions/snprintf.texi (snprintf): The workaround for
13512         the byte count return problem was promoted from the snprintf-posix
13513         to the snprintf module.
13514         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
13515         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Also check
13516         gl_SNPRINTF_RETVAL_C99, for consistency with gl_FUNC_SNPRINTF.
13517         * tests/test-snprintf.c (main): Check the byte count returned.
13518         * tests/test-vsnprintf.c (main): Likewise.
13519
13520 2010-12-23  Eric Blake  <eblake@redhat.com>
13521
13522         sigpipe: relax to LGPLv2+, since it did not have any LGPLv3+ parts
13523         * modules/sigpipe (License): Relax license.
13524
13525 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
13526
13527         doc: document Solaris printf bug with large float precisions
13528         * doc/posix-functions/dprintf.texi (dprintf):
13529         * doc/posix-functions/fprintf.texi (fprintf):
13530         * doc/posix-functions/printf.texi (printf):
13531         * doc/posix-functions/snprintf.texi (snprintf):
13532         * doc/posix-functions/sprintf.texi (sprintf):
13533         * doc/posix-functions/vdprintf.texi (vdprintf):
13534         * doc/posix-functions/vfprintf.texi (vfprintf):
13535         * doc/posix-functions/vprintf.texi (vprintf):
13536         * doc/posix-functions/vsnprintf.texi (vsnprintf):
13537         * doc/posix-functions/vsprintf.texi (vsprintf):
13538         Mention that these functions mishandle large floating point
13539         precisions on Solaris 10.  The same bug is also present in Solaris
13540         8, and I assume earlier.  This causes "cd gnulib-tests; make
13541         check" to fail on Solaris 8 (and I assume, later) when building
13542         the latest coreutils, in test-vasprintf-posix's call to
13543         my_asprintf (&result, "%.4000f %d", 1.0, 99).  I have not checked
13544         the wide flavors (e.g., wprintf) so this patch just updates the
13545         documentation for the narrow ones.
13546
13547         test-posixtm.c: add two tests
13548         * tests/test-posixtm.c: Add two tests, to highlight the
13549         bug in Solaris 10 (and earlier) localtime.  Gnulib doesn't work
13550         around this bug; this is merely to document it.
13551
13552 2010-12-22  Bruno Haible  <bruno@clisp.org>
13553
13554         getlogin_r: Work around portability problem on OSF/1.
13555         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Detect the OSF/1 problem.
13556         * lib/unistd.in.h (getlogin_r): Replace if REPLACE_GETLOGIN_R is set.
13557         * lib/getlogin_r.c (getlogin_r): When getlogin_r exists, invoke it and
13558         test for a truncated result.
13559         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_GETLOGIN_R.
13560         * modules/unistd (Makefile.am): Substitute REPLACE_GETLOGIN_R.
13561         * modules/getlogin_r (Depends-on): Add memchr.
13562         * doc/posix-functions/getlogin_r.texi: Mention the OSF/1 problem.
13563
13564 2010-12-22  Bruno Haible  <bruno@clisp.org>
13565
13566         ptsname: Avoid test failure on OSF/1 5.1.
13567         * modules/ptsname-tests (Depends-on): Add 'same-inode'.
13568         * tests/test-ptsname.c: Include <sys/stat.h>, same-inode.h.
13569         (same_slave): New function.
13570         (main): Use it to compare ptsname's result with the expected file name.
13571
13572 2010-12-22  Bruno Haible  <bruno@clisp.org>
13573
13574         Port extended stdio modules to HP NonStop Kernel.
13575         * lib/stdio-impl.h (_IOERR, _IOREAD, _IOWRT, _IORW) [__TANDEM]: New
13576         macros.
13577         * lib/fbufmode.c: Update comments.
13578         * lib/fflush.c: Likewise.
13579         * lib/fpurge.c: Likewise.
13580         * lib/freadable.c: Likewise.
13581         * lib/freadahead.c: Likewise.
13582         * lib/freading.c: Likewise.
13583         * lib/freadptr.c: Likewise.
13584         * lib/freadseek.c: Likewise.
13585         * lib/fseeko.c: Likewise.
13586         * lib/fseterr.c: Likewise.
13587         * lib/fwritable.c: Likewise.
13588         * lib/fwriting.c: Likewise.
13589         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
13590
13591 2010-12-22  Bruno Haible  <bruno@clisp.org>
13592
13593         ttyname_r: Work around bug on OSF/1 5.1.
13594         * doc/posix-functions/ttyname_r.texi: Mention the OSF/1 bug.
13595         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Detect the OSF/1 bug. Say "no"
13596         instead of "guessing no" when the OSF/1 bug or the Solaris bug is
13597         present.
13598         * lib/ttyname_r.c (ttyname_r): Update comments.
13599
13600 2010-12-22  Bruno Haible  <bruno@clisp.org>
13601
13602         round: Implement result sign according to IEEE 754.
13603         * lib/round.c (MIN, MINUS_ZERO): New macros.
13604         (FLOOR_FREE_ROUND): Return -0.0 for -0.5 < x < 0.
13605         * tests/test-roundf-ieee.c (main): Test also values between -1 and 1.
13606         * tests/test-round-ieee.c (main): Likewise.
13607         * tests/test-roundl-ieee.c (main): Likewise.
13608
13609         trunc: Implement result sign according to IEEE 754.
13610         * lib/trunc.c (MIN, MINUS_ZERO): New macros.
13611         (FUNC): Return +0.0 for 0 < x < 1 and -0.0 for -1 < x < 0.
13612         * tests/test-trunc2.c: Include minus-zero.h.
13613         (MINUS_ZERO): New macro.
13614         (trunc_reference): Keep in sync with lib/trunc.c.
13615         * tests/test-truncf2.c: Include minus-zero.h.
13616         (MINUS_ZERO): New macro.
13617         (truncf_reference): Keep in sync with lib/trunc.c.
13618         * tests/test-truncf-ieee.c (main): Test also values between -1 and 1.
13619         * tests/test-trunc-ieee.c (main): Likewise.
13620         * tests/test-truncl-ieee.c (main): Likewise.
13621
13622         ceil: Implement result sign according to IEEE 754.
13623         * lib/ceil.c (MIN, MINUS_ZERO): New macros.
13624         (FUNC): Return -0.0 for -1 < x < 0.
13625         * tests/test-ceil2.c: Include minus-zero.h.
13626         (MINUS_ZERO): New macro.
13627         (ceil_reference): Keep in sync with lib/ceil.c.
13628         * tests/test-ceilf2.c: Include minus-zero.h.
13629         (MINUS_ZERO): New macro.
13630         (ceilf_reference): Keep in sync with lib/ceil.c.
13631         * tests/test-ceilf-ieee.c (main): Test also values between -1 and 1.
13632         * tests/test-ceil-ieee.c (main): Likewise.
13633         * tests/test-ceill-ieee.c (main): Likewise.
13634
13635         floor: Implement result sign according to IEEE 754.
13636         * lib/floor.c (FUNC): Return +0.0 for 0 < x < 1.
13637         * tests/test-floor2.c (floor_reference): Keep in sync with lib/floor.c.
13638         * tests/test-floorf2.c (floorf_reference): Likewise.
13639         * tests/test-floorf-ieee.c (main): Test also values between -1 and 1.
13640         * tests/test-floor-ieee.c (main): Likewise.
13641         * tests/test-floorl-ieee.c (main): Likewise.
13642
13643 2010-12-22  Bruno Haible  <bruno@clisp.org>
13644
13645         getaddrinfo: Update doc.
13646         * doc/posix-functions/gai_strerror.texi: Return type is also different
13647         on AIX and HP-UX.
13648
13649 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
13650
13651         getaddrinfo, inet_ntop: Update doc for Solaris.
13652         * doc/posix-functions/gai_strerror.texi: Return type is also an
13653         issue on Solaris 9 and earlier.
13654         * doc/posix-functions/inet_ntop.texi: 4th arg type is also an issue
13655         on Solaris 10 and earlier.
13656
13657 2010-12-21  Bruno Haible  <bruno@clisp.org>
13658
13659         New module 'roundl-ieee'.
13660         * modules/roundl-ieee: New file.
13661         * m4/roundl.m4 (gl_FUNC_ROUNDL): If gl_FUNC_ROUNDL_IEEE is also used,
13662         test whether roundl works according to ISO C 99 with IEC 60559.
13663         * m4/roundl-ieee.m4: New file.
13664         * modules/roundl-ieee-tests: New file.
13665         * tests/test-roundl-ieee.c: New file, based on tests/test-roundl.c.
13666         * tests/test-roundl.c (main): Remove signbit tests.
13667         * modules/roundl-tests (Depends-on): Remove signbit.
13668         * doc/posix-functions/roundl.texi: Mention the new module.
13669
13670 2010-12-21  Bruno Haible  <bruno@clisp.org>
13671
13672         New module 'truncl-ieee'.
13673         * modules/truncl-ieee: New file.
13674         * modules/truncl-ieee-tests: New file.
13675         * tests/test-truncl-ieee.c: New file, based on tests/test-truncl.c.
13676         * tests/test-truncl.c (main): Remove signbit tests.
13677         * modules/truncl-tests (Depends-on): Remove signbit.
13678         * doc/posix-functions/truncl.texi: Mention the new module.
13679
13680 2010-12-21  Bruno Haible  <bruno@clisp.org>
13681
13682         New module 'ceill-ieee'.
13683         * modules/ceill-ieee: New file.
13684         * modules/ceill-ieee-tests: New file.
13685         * tests/test-ceill-ieee.c: New file, based on tests/test-ceill.c.
13686         * tests/test-ceill.c (main): Remove signbit tests.
13687         * modules/ceill-tests (Depends-on): Remove signbit.
13688         * doc/posix-functions/ceill.texi: Mention the new module.
13689
13690 2010-12-21  Bruno Haible  <bruno@clisp.org>
13691
13692         New module 'floorl-ieee'.
13693         * modules/floorl-ieee: New file.
13694         * modules/floorl-ieee-tests: New file.
13695         * tests/test-floorl-ieee.c: New file, based on tests/test-floorl.c.
13696         * tests/test-floorl.c (main): Remove signbit tests.
13697         * modules/floorl-tests (Depends-on): Remove signbit.
13698         * doc/posix-functions/floorl.texi: Mention the new module.
13699
13700 2010-12-21  Bruno Haible  <bruno@clisp.org>
13701
13702         New module 'round-ieee'.
13703         * modules/round-ieee: New file.
13704         * m4/round.m4 (gl_FUNC_ROUND): If gl_FUNC_ROUND_IEEE is also used, test
13705         whether round works according to ISO C 99 with IEC 60559.
13706         * m4/round-ieee.m4: New file.
13707         * modules/round-ieee-tests: New file.
13708         * tests/test-round-ieee.c: New file, based on tests/test-roundf-ieee.c.
13709         * tests/test-round1.c (main): Remove signbit tests.
13710         * modules/round-tests (Depends-on): Remove 'signbit'.
13711         * doc/posix-functions/round.texi: Mention the new module.
13712
13713 2010-12-21  Bruno Haible  <bruno@clisp.org>
13714
13715         New module 'trunc-ieee'.
13716         * modules/trunc-ieee: New file.
13717         * m4/trunc.m4 (gl_FUNC_TRUNC): If gl_FUNC_TRUNC_IEEE is also used, test
13718         whether trunc works according to ISO C 99 with IEC 60559.
13719         * m4/trunc-ieee.m4: New file.
13720         * lib/math.in.h (trunc): Replace if REPLACE_TRUNC is set.
13721         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNC.
13722         * modules/math (Makefile.am): Substitute REPLACE_TRUNC.
13723         * modules/trunc-ieee-tests: New file.
13724         * tests/test-trunc-ieee.c: New file, based on tests/test-truncf-ieee.c.
13725         * tests/test-trunc1.c (main): Remove signbit tests.
13726         * modules/trunc-tests (Depends-on): Remove 'signbit'.
13727         * doc/posix-functions/trunc.texi: Mention the new module.
13728
13729 2010-12-21  Bruno Haible  <bruno@clisp.org>
13730
13731         New module 'ceil-ieee'.
13732         * modules/ceil-ieee: New file.
13733         * m4/ceil.m4 (gl_FUNC_CEIL): Require gl_MATH_H_DEFAULTS. If
13734         gl_FUNC_CEIL_IEEE is also used, test whether ceil works according to
13735         ISO C 99 with IEC 60559.
13736         * m4/ceil-ieee.m4: New file.
13737         * modules/ceil (Files): Add lib/ceil.c.
13738         (Depends-on): Add 'float'.
13739         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
13740         * lib/math.in.h (ceil): New declaration.
13741         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEIL,
13742         REPLACE_CEIL.
13743         * modules/math (Makefile.am): Substitute GNULIB_CEIL, REPLACE_CEIL.
13744         * modules/ceil-ieee-tests: New file.
13745         * tests/test-ceil-ieee.c: New file, based on tests/test-ceilf-ieee.c.
13746         * tests/test-math-c++.cc: Check the signature of 'ceil'.
13747         * doc/posix-functions/ceil.texi: Mention the new module.
13748
13749 2010-12-21  Bruno Haible  <bruno@clisp.org>
13750
13751         New module 'floor-ieee'.
13752         * modules/floor-ieee: New file.
13753         * m4/floor.m4 (gl_FUNC_FLOOR): Require gl_MATH_H_DEFAULTS. If
13754         gl_FUNC_FLOOR_IEEE is also used, test whether floor works according to
13755         ISO C 99 with IEC 60559.
13756         * m4/floor-ieee.m4: New file.
13757         * modules/floor (Files): Add lib/floor.c.
13758         (Depends-on): Add 'float'.
13759         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
13760         * lib/math.in.h (floor): New declaration.
13761         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOOR,
13762         REPLACE_FLOOR.
13763         * modules/math (Makefile.am): Substitute GNULIB_FLOOR, REPLACE_FLOOR.
13764         * modules/floor-ieee-tests: New file.
13765         * tests/test-floor-ieee.c: New file, based on tests/test-floorf-ieee.c.
13766         * tests/test-math-c++.cc: Check the signature of 'floor'.
13767         * doc/posix-functions/floor.texi: Mention the new module.
13768
13769 2010-12-21  Bruno Haible  <bruno@clisp.org>
13770
13771         New module 'roundf-ieee'.
13772         * modules/roundf-ieee: New file.
13773         * m4/roundf.m4 (gl_FUNC_ROUNDF): If gl_FUNC_ROUNDF_IEEE is also used,
13774         test whether roundf works according to ISO C 99 with IEC 60559.
13775         * m4/roundf-ieee.m4: New file.
13776         * modules/roundf-ieee-tests: New file.
13777         * tests/test-roundf-ieee.c: New file, based on tests/test-roundf1.c.
13778         * tests/test-roundf1.c (main): Remove signbit tests.
13779         * modules/roundf-tests (Depends-on): Remove 'signbit'.
13780         * doc/posix-functions/roundf.texi: Mention the new module.
13781
13782 2010-12-21  Bruno Haible  <bruno@clisp.org>
13783
13784         New module 'truncf-ieee'.
13785         * modules/truncf-ieee: New file.
13786         * m4/truncf.m4 (gl_FUNC_TRUNCF): If gl_FUNC_TRUNCF_IEEE is also used,
13787         test whether truncf works according to ISO C 99 with IEC 60559.
13788         * m4/truncf-ieee.m4: New file.
13789         * lib/math.in.h (truncf): Replace if REPLACE_TRUNCF is set.
13790         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCF.
13791         * modules/math (Makefile.am): Substitute REPLACE_TRUNCF.
13792         * modules/truncf-ieee-tests: New file.
13793         * tests/test-truncf-ieee.c: New file, based on tests/test-truncf1.c.
13794         * tests/test-truncf1.c (main): Remove signbit tests.
13795         * modules/truncf-tests (Depends-on): Remove 'signbit'.
13796         * doc/posix-functions/truncf.texi: Mention the new module.
13797
13798 2010-12-21  Bruno Haible  <bruno@clisp.org>
13799
13800         New module 'ceilf-ieee'.
13801         * modules/ceilf-ieee: New file.
13802         * m4/ceilf.m4 (gl_FUNC_FLOORF): If gl_FUNC_CEILF_IEEE is also used,
13803         test whether ceilf works according to ISO C 99 with IEC 60559.
13804         * m4/ceilf-ieee.m4: New file.
13805         * modules/ceilf-ieee-tests: New file.
13806         * tests/test-ceilf-ieee.c: New file, based on tests/test-ceilf1.c.
13807         * tests/test-ceilf1.c (main): Remove signbit tests.
13808         * modules/ceilf-tests (Depends-on): Remove 'signbit'.
13809         * doc/posix-functions/ceilf.texi: Mention the new module.
13810
13811 2010-12-21  Bruno Haible  <bruno@clisp.org>
13812
13813         New module 'floorf-ieee'.
13814         * modules/floorf-ieee: New file.
13815         * m4/floorf.m4 (gl_FUNC_FLOORF): If gl_FUNC_FLOORF_IEEE is also used,
13816         test whether floorf works according to ISO C 99 with IEC 60559.
13817         * m4/floorf-ieee.m4: New file.
13818         * modules/floorf-ieee-tests: New file.
13819         * tests/test-floorf-ieee.c: New file, based on tests/test-floorf1.c.
13820         * tests/test-floorf1.c (main): Remove signbit tests.
13821         * modules/floorf-tests (Depends-on): Remove 'signbit'.
13822         * doc/posix-functions/floorf.texi: Mention the new module.
13823
13824 2010-12-21  Bruno Haible  <bruno@clisp.org>
13825
13826         Support for minus zero in autoconf macros.
13827         * m4/minus-zero.m4: New file, based on tests/minus-zero.h.
13828         * m4/signbit.m4 (gl_FLOAT_SIGNBIT_CODE, gl_DOUBLE_SIGNBIT_CODE,
13829         gl_LONG_DOUBLE_SIGNBIT_CODE, gl_FLOATTYPE_SIGNBIT_CODE): New macros.
13830         * tests/minus-zero.h: Update comments.
13831
13832 2010-12-21  Bruno Haible  <bruno@clisp.org>
13833
13834         Tests for module 'ceil'.
13835         * modules/ceil-tests: New file.
13836         * tests/test-ceil1.c: New file, based on tests/test-ceill.c.
13837         * tests/test-ceil2.c: New file, based on tests/test-ceilf2.c.
13838
13839 2010-12-21  Bruno Haible  <bruno@clisp.org>
13840
13841         Tests for module 'floor'.
13842         * modules/floor-tests: New file.
13843         * tests/test-floor1.c: New file, based on tests/test-floorl.c.
13844         * tests/test-floor2.c: New file, based on tests/test-floorf2.c.
13845
13846 2010-12-21  Bruno Haible  <bruno@clisp.org>
13847
13848         math: Fix indentation.
13849         * lib/math.in.h (floorf): Fix indentation.
13850
13851 2010-12-21  Bruno Haible  <bruno@clisp.org>
13852
13853         Fix cross-compilation guesses on Solaris.
13854         * m4/fopen.m4 (gl_FUNC_FOPEN): Correct shell pattern so that it does
13855         not match "solaris2.10".
13856         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
13857         * m4/printf.m4 (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_DIRECTIVE_N,
13858         gl_VSNPRINTF_ZEROSIZE_C99): Likewise.
13859
13860 2010-12-21  Paul Eggert  <eggert@cs.ucla.edu>
13861
13862         snprintf: port snprintf (NULL, 0, ...) to Solaris 8 and 9
13863         This fixes a problem observed with the latest coreutils snapshot
13864         that caused a test to fail on Solaris 8.  src/csplit.c's call
13865         snprintf (NULL, 0, format, UINT_MAX) returns -1 on Solaris 9 and
13866         earlier, instead of returning the number of bytes that would have
13867         been generated; this causes csplit to incorrectly report memory
13868         exhaustion.
13869         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Also check for
13870         snprintf (NULL, 0, ...) and (for good measure) snprintf (buf, 0, ...).
13871         Guess that it doesn't work on Solaris 2.6 through 9.  Adjust
13872         comments to match.
13873         (gl_PRINTF_SIZES_C99, gl_PRINTF_DIRECTIVE_F, gl_SNPRINTF_RETVAL_C99):
13874         Fix typo in matching older versions of Solaris: "solaris2.10"
13875         is matched by the shell pattern "solaris2.[0-9]*".  This matters
13876         only for guessing while cross-compiling.
13877         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Also check gl_SNPRINTF_RETVAL_C99.
13878
13879 2010-12-20  Paul Eggert  <eggert@cs.ucla.edu>
13880
13881         ftoastr: fix comment again
13882         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
13883         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00149.html>.
13884         Also, simplify example a bit by using flags = 0.
13885
13886 2010-12-20  Bruno Haible  <bruno@clisp.org>
13887
13888         round*, trunc*: Update documentation regarding glibc.
13889         * doc/posix-functions/roundf.texi: Mention missing declaration problem.
13890         * doc/posix-functions/round.texi: Likewise.
13891         * doc/posix-functions/roundl.texi: Likewise.
13892         * doc/posix-functions/truncf.texi: Likewise.
13893         * doc/posix-functions/trunc.texi: Likewise.
13894         * doc/posix-functions/truncl.texi: Likewise.
13895
13896 2010-12-20  Bruno Haible  <bruno@clisp.org>
13897
13898         roundf, round, roundl: Update documentation regarding OSF/1 5.1.
13899         * doc/posix-functions/roundf.texi: Mention OSF/1 5.1 problem.
13900         * doc/posix-functions/round.texi: Likewise.
13901         * doc/posix-functions/roundl.texi: Likewise.
13902
13903 2010-12-20  Bruno Haible  <bruno@clisp.org>
13904
13905         ttyname_r: Add missing declaration on HP-UX 11.
13906         * lib/unistd.in.h (ttyname_r): Test HAVE_DECL_TTYNAME_R instead of
13907         HAVE_TTYNAME_R.
13908         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether ttyname_r is
13909         declared. Set HAVE_TTYNAME_R always.
13910         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
13911         HAVE_DECL_TTYNAME_R, not HAVE_TTYNAME_R.
13912         * modules/unistd (Makefile.am): Substitute HAVE_DECL_TTYNAME_R, not
13913         HAVE_TTYNAME_R.
13914         * doc/posix-functions/ttyname_r.texi: Document the HP-UX 11 problem.
13915
13916 2010-12-20  Bruno Haible  <bruno@clisp.org>
13917
13918         getlogin, getlogin_r: Document HP-UX 11.11 bugs.
13919         * doc/posix-functions/getlogin.texi: Document HP-UX 11.11 bug.
13920         * doc/posix-functions/getlogin_r.texi: Likewise.
13921         * tests/test-getlogin.c: Include <errno.h>.
13922         (main): Avoid test failure on HP-UX 11.11.
13923         * tests/test-getlogin_r.c (main): Likewise.
13924
13925 2010-12-20  Bruno Haible  <bruno@clisp.org>
13926
13927         getlogin_r: Add missing declaration on HP-UX 11.
13928         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Test whether getlogin_r is
13929         declared also when it exists as a function.
13930         * doc/posix-functions/getlogin_r.texi: Document this workaround.
13931
13932 2010-12-20  Bruno Haible  <bruno@clisp.org>
13933
13934         wcsrtombs: Don't confuse mbstate_t with rpl_mbstate_t.
13935         * lib/wcsrtombs.c: If gnulib overrides mbstate_t, define wcsrtombs
13936         through wcrtomb.
13937
13938 2010-12-19  Paul Eggert  <eggert@cs.ucla.edu>
13939
13940         ftoastr: fix comment
13941         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
13942         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00130.html>.
13943
13944 2010-12-19  Bruno Haible  <bruno@clisp.org>
13945
13946         isnan: Ensure it is a macro.
13947         * lib/math.in.h (isnan): Define as a macro if not already a macro.
13948         * doc/posix-functions/isnan.texi: Mention problem on IRIX, OSF/1,
13949         Solaris.
13950
13951 2010-12-19  Bruno Haible  <bruno@clisp.org>
13952
13953         ldexpl test: Fix link error on OSF/1 5.1.
13954         * modules/ldexpl-tests (Makefile.am): Define test_ldexpl_LDADD.
13955
13956 2010-12-19  Bruno Haible  <bruno@clisp.org>
13957
13958         wctype: Make it work in C++ mode on OSF/1 5.1.
13959         * lib/wctype.in.h (iswblank): Declare but not define here.
13960         * lib/iswblank.c: New file, extracted from lib/wctype.in.h.
13961         * m4/wctype_h.m4 (gl_WCTYPE_H): Arrange to compile it if needed.
13962         * modules/wctype (Files): Add lib/iswblank.c.
13963
13964 2010-12-19  Bruno Haible  <bruno@clisp.org>
13965
13966         signal: Document problem with type of SIGRTMIN, SIGRTMAX on OSF/1 5.1.
13967         * doc/posix-headers/signal.texi: Document OSF/1 5.1 problem.
13968         * lib/strsignal.c (strsignal): Cast SIGRTMIN to 'int'.
13969
13970 2010-12-19  Bruno Haible  <bruno@clisp.org>
13971
13972         sys_socket: Use POSIX compatible declarations on OSF/1 5.1.
13973         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): On OSF/1, define
13974         _POSIX_PII_SOCKET.
13975         * doc/posix-functions/recv.texi: Document the OSF/1 problem.
13976         * doc/posix-functions/recvfrom.texi: Likewise.
13977         * doc/posix-functions/send.texi: Likewise.
13978         * doc/posix-functions/sendto.texi: Likewise.
13979
13980 2010-12-19  Bruno Haible  <bruno@clisp.org>
13981
13982         tcgetsid: Add missing declaration on OSF/1 5.1.
13983         * lib/termios.in.h (tcgetsid): Test HAVE_DECL_TCGETSID instead of
13984         HAVE_TCGETSID.
13985         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Test whether tcgetsid is declared.
13986         Don't set HAVE_TCGETSID.
13987         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Initialize
13988         HAVE_DECL_TCGETSID, not HAVE_TCGETSID.
13989         * modules/termios (Makefile.am): Substitute HAVE_DECL_TCGETSID, not
13990         HAVE_TCGETSID.
13991         * doc/posix-functions/tcgetsid.texi: Mention the OSF/1 5.1 problem.
13992
13993 2010-12-19  Bruno Haible  <bruno@clisp.org>
13994
13995         stdio: Fix problem with popen() declaration on OSF/1 5.1.
13996         * lib/stdio.in.h: During the include_next statement, let recursive
13997         includes of this file include only the system header file.
13998
13999 2010-12-19  Bruno Haible  <bruno@clisp.org>
14000
14001         iconv_open: Fix regression from 2010-12-04.
14002         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Fix typo.
14003         Reported by Noah Lavine <noah.b.lavine@gmail.com>.
14004
14005 2010-12-19  Bruno Haible  <bruno@clisp.org>
14006
14007         stdbool test: Avoid a gcc warning.
14008         * tests/test-stdbool.c (main): Fail if e1 is false.
14009         Reported by Jim Meyering.
14010
14011 2010-12-19  Jim Meyering  <meyering@redhat.com>
14012
14013         setenv: restore to working order
14014         $HAVE_SETENV is used in gl_FUNC_SETENV, yet its definitions were
14015         mistakenly removed.
14016         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Restore code to set
14017         HAVE_SETENV.
14018         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Restore code to initialize
14019         HAVE_SETENV.
14020
14021 2010-12-19  Bruno Haible  <bruno@clisp.org>
14022
14023         Document some different function declarations on OSF/1 5.1.
14024         * doc/posix-functions/gai_strerror.texi: Mention different declaration.
14025         * doc/posix-functions/inet_ntop.texi: Likewise.
14026         * doc/posix-functions/gethostname.texi: Likewise.
14027         * lib/unistd.in.h (gethostname): Update comment.
14028
14029 2010-12-19  Bruno Haible  <bruno@clisp.org>
14030
14031         doc: Mention vasprintf-posix module.
14032         * doc/glibc-functions/asprintf.texi: Mention the workarounds present in
14033         the 'vasprintf-posix' module.
14034         * doc/glibc-functions/vasprintf.texi: Likewise.
14035
14036 2010-12-19  Bruno Haible  <bruno@clisp.org>
14037
14038         unsetenv: Add missing declaration on OSF/1 5.1.
14039         * lib/stdlib.in.h (setenv): Test HAVE_DECL_UNSETENV, not HAVE_UNSETENV.
14040         * m4/setenv.m4 (gl_FUNC_UNSETENV): Test whether unsetenv is declared.
14041         Don't set HAVE_UNSETENV. In the test program, set _BSD.
14042         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_UNSETENV,
14043         not HAVE_UNSETENV.
14044         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_UNSETENV, not
14045         HAVE_UNSETENV.
14046         * doc/posix-functions/unsetenv.texi: Mention the OSF/1 5.1 problem.
14047
14048 2010-12-19  Bruno Haible  <bruno@clisp.org>
14049
14050         setenv: Add missing declaration on OSF/1 5.1.
14051         * lib/stdlib.in.h (setenv): Test HAVE_DECL_SETENV, not HAVE_SETENV.
14052         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test whether setenv is
14053         declared. Don't set HAVE_SETENV.
14054         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_SETENV,
14055         not HAVE_SETENV.
14056         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_SETENV, not
14057         HAVE_SETENV.
14058         * doc/posix-functions/setenv.texi: Mention the OSF/1 5.1 problem.
14059
14060 2010-12-19  Bruno Haible  <bruno@clisp.org>
14061
14062         nl_langinfo tests: Avoid gcc warning.
14063         * tests/test-nl_langinfo.c: Don't enable the GCC pragma for GCC 4.2.
14064
14065 2010-12-19  Bruno Haible  <bruno@clisp.org>
14066
14067         mknod: Avoid error in C++ mode on OSF/1 with GCC.
14068         * lib/sys_stat.in.h (mknod): Use _GL_CXXALIAS_SYS_CAST instead of
14069         _GL_CXXALIAS_SYS.
14070
14071 2010-12-19  Bruno Haible  <bruno@clisp.org>
14072
14073         stdbool: Relax test.
14074         * tests/test-stdbool.c (e): Don't require that casts from a variable's
14075         address to 'bool' work in static initializer, for compilers other than
14076         GCC.
14077
14078 2010-12-19  Bruno Haible  <bruno@clisp.org>
14079
14080         ftello: Add missing declaration on OSF/1 5.1.
14081         * lib/stdio.in.h (ftello): Test HAVE_DECL_FTELLO, not HAVE_FTELLO.
14082         * m4/ftello.m4 (gl_FUNC_FTELLO): Test whether ftello is declared.
14083         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FTELLO.
14084         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FTELLO.
14085         * doc/posix-functions/ftello.texi: Mention the OSF/1 5.1 problem.
14086
14087 2010-12-19  Bruno Haible  <bruno@clisp.org>
14088
14089         fseeko: Add missing declaration on OSF/1 5.1.
14090         * lib/stdio.in.h (fseeko): Test HAVE_DECL_FSEEKO, not HAVE_FSEEKO.
14091         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Test whether fseeko is declared.
14092         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FSEEKO.
14093         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FSEEKO.
14094         * doc/posix-functions/fseeko.texi: Mention the OSF/1 5.1 problem.
14095
14096 2010-12-19  Bruno Haible  <bruno@clisp.org>
14097
14098         fchdir: Add missing declaration on OSF/1 5.1.
14099         * lib/unistd.in.h (fchdir): Provide declaration if systems lacks it.
14100         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check whether fchdir is declared.
14101         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_DECL_FCHDIR.
14102         * modules/unistd (Makefile.am): Substitute HAVE_DECL_FCHDIR.
14103         * doc/posix-functions/fchdir.texi: Mention the OSF/1 5.1 problem.
14104
14105 2010-12-19  Bruno Haible  <bruno@clisp.org>
14106
14107         relocatable-prog-wrapper: Separate from relocatable-prog.
14108         * modules/relocatable-prog (Makefile.am): Define uninstall-hook and
14109         uninstall-relocwrapper rule here.
14110         * modules/relocatable-prog-wrapper (Makefile.am): ... not here.
14111         Reported by Ian Beckwith <ianb@erislabs.net>.
14112
14113 2010-12-19  Bruno Haible  <bruno@clisp.org>
14114
14115         unistr/u8-mbsnlen: Add missing dependency.
14116         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtouc.
14117         Reported by Ian Beckwith <ianb@erislabs.net>.
14118
14119 2010-12-19  Bruno Haible  <bruno@clisp.org>
14120
14121         iconv: Make it possible again to use this module without 'iconv-h'.
14122         * modules/iconv (configure.ac): Don't invoke gl_ICONV_MODULE_INDICATOR
14123         if it is not defined.
14124         Reported by Ian Beckwith <ianb@erislabs.net>.
14125
14126 2010-12-18  Paul Eggert  <eggert@cs.ucla.edu>
14127
14128         acl: port to Solaris 8 when copying from tmpfs to ufs
14129         * lib/copy-acl.c (qcopy_acl): Also allow EINVAL as an ignorable
14130         error number.  Problem observed on Solaris 8 with latest
14131         coreutils, with "mv A B", where A is on a tmpfs file system and B
14132         is on a ufs file system.  This caused coreutils' mv/part-symlink
14133         test to fail.
14134
14135         tests: set fail=0 at start
14136         * tests/init.sh (setup_): Move fail=0 initialization here ...
14137         (mktempd_): ... from here, so that tests can rely on fail being
14138         set to 0 initially.  This fixes a problem in coreutils; see:
14139         http://lists.gnu.org/archive/html/coreutils/2010-12/msg00083.html
14140
14141 2010-12-18  Bruno Haible  <bruno@clisp.org>
14142
14143         memmem-simple: Stylistic changes.
14144         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Avoid possible gcc warning.
14145         Fix preprocessor directive indentation.
14146
14147 2010-12-15  Pádraig Brady <P@draigBrady.com>
14148
14149         memmem, memmem-simple: reorganize and expand empty needle check
14150         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Move all
14151         functional checks to memmem-simple so that one has a fully functional
14152         memmem by using just this module.
14153         Restrict the performance only check to the memmem module.
14154         Also expand the empty needle check to ensure the correct
14155         pointer is returned, not just a non NULL pointer.
14156         * doc/glibc-functions/memmem.texi: Rearrange the portability
14157         documentation to correlate with the rearranged checks.
14158         Clarify exactly how the memmem and memmem-simple modules
14159         relate to each other.
14160
14161 2010-12-15  Pádraig Brady <P@draigBrady.com>
14162             Bruno Haible  <bruno@clisp.org>
14163
14164         Improve cross-compilation guesses for uClibc.
14165         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): When cross-compiling, assume
14166         that uClibc does not have the glibc bug.
14167         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Likewise.
14168         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Likewise.
14169
14170 2010-12-14  Eric Blake  <eblake@redhat.com>
14171
14172         configmake: provide fallbacks for oldest supported autotools
14173         * m4/configmake.m4: New file.
14174         * modules/configmake (Files): Ship it.
14175         (configure.ac): Use it to guarantee fallbacks.
14176
14177 2010-12-13  Pádraig Brady <P@draigBrady.com>
14178
14179         read-file: Improve handling of large files
14180         * lib/read-file.c (fread_file): Minimize realloc()s
14181         for regular files, and better manage sizes around SIZE_MAX.
14182
14183 2010-12-13  Eric Blake  <eblake@redhat.com>
14184
14185         cloexec, fcntl: relax license
14186         * modules/cloexec (License): Change from LGPLv3+ to LGPLv2+, with
14187         consent from all contributors.
14188         * modules/fcntl (License): Likewise.
14189
14190 2010-12-10  Bruno Haible  <bruno@clisp.org>
14191
14192         Tests for module 'pipe-posix'.
14193         * modules/pipe-posix-tests: New file.
14194         * tests/test-pipe.c: New file, based on tests/test-pipe2.c.
14195
14196 2010-12-10  Bruno Haible  <bruno@clisp.org>
14197
14198         pipe-posix: Make it work in C++ mode.
14199         * lib/unistd.in.h: Don't include <io.h>, <fcntl.h> for pipe.
14200         (pipe): Use common idiom, not a macro definition.
14201         * lib/pipe.c: New file.
14202         * m4/pipe.m4: New file.
14203         * modules/pipe-posix (Description): Enhance.
14204         (Files): Add lib/pipe.c, m4/pipe.m4.
14205         (configure.ac): Invoke gl_FUNC_PIPE.
14206         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_PIPE.
14207         * modules/unistd (Makefile.am): Substitute HAVE_PIPE.
14208         * tests/test-unistd-c++.cc: Check the signature of pipe.
14209
14210 2010-12-10  Bruno Haible  <bruno@clisp.org>
14211
14212         Rename module 'pipe' to 'spawn-pipe'.
14213         * modules/spawn-pipe: New file, renamed from modules/pipe.
14214         (Files, configure.ac, Makefile.am): Update.
14215         (Include): Mention "spawn-pipe.h" instead of "pipe.h".
14216         * modules/pipe: Reduce to an obsolete indirection to 'spawn-pipe'.
14217         * lib/spawn-pipe.h: New file, renamed from lib/pipe.h.
14218         * lib/spawn-pipe.c: New file, renamed from lib/pipe.c. Include
14219         "spawn-pipe.h" instead of "pipe.h".
14220         * m4/spawn-pipe.m4: New file, renamed from m4/pipe.m4. Rename gl_PIPE
14221         to gl_SPAWN_PIPE.
14222         * modules/spawn-pipe-tests: New file, renamed from modules/pipe-tests.
14223         (Files, Makefile.am): Update.
14224         * tests/test-spawn-pipe.sh: New file, renamed from tests/test-pipe.sh.
14225         Update.
14226         * tests/test-spawn-pipe.c: New file, renamed from tests/test-pipe.c.
14227         Include "spawn-pipe.h" instead of "pipe.h".
14228         * lib/csharpcomp.c: Include "spawn-pipe.h" instead of "pipe.h".
14229         * lib/javacomp.c: Likewise.
14230         * lib/javaversion.c: Likewise.
14231         * lib/pipe-filter-gi.c: Likewise.
14232         * lib/pipe-filter-ii.c: Likewise.
14233         * modules/csharpcomp (Depends-on): Add 'spawn-pipe', remove 'pipe'.
14234         * modules/javacomp (Depends-on): Likewise.
14235         * modules/javaversion (Depends-on): Likewise.
14236         * modules/pipe-filter-gi (Depends-on): Likewise.
14237         * modules/pipe-filter-ii (Depends-on): Likewise.
14238         * MODULES.html.sh (Executing programs): Update.
14239         * NEWS: Mention the change.
14240
14241 2010-12-10  Eric Blake  <eblake@redhat.com>
14242
14243         pipe-posix: new module
14244         * modules/pipe-posix: New file.
14245         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set default.
14246         (gl_UNISTD_H): Check for declaration.
14247         * modules/unistd (Makefile.am): Substitute it.
14248         * lib/unistd.in.h (pipe): Provide it for mingw.
14249         * doc/posix-functions/pipe.texi (pipe): Update documentation.
14250         * MODULES.html.sh (File descriptor based Input/Output): Likewise.
14251
14252 2010-12-07  Bruno Haible  <bruno@clisp.org>
14253
14254         unistr/u8-strcmp: Avoid collision with libc function on Solaris 11.
14255         * lib/unistr.in.h (u8_strcmp) [__sun]: Declare with real name
14256         u8_strcmp_gnu.
14257         * modules/unistr/u8-strcmp (configure.ac): Bump version number.
14258
14259 2010-12-06  Bruno Haible  <bruno@clisp.org>
14260
14261         Update internal documentation.
14262         * m4/README: Document new idioms for AC_RUN_IFELSE invocations.
14263
14264 2010-12-04  Bruno Haible  <bruno@clisp.org>
14265
14266         Put more information about failed tests into the test return codes.
14267         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Change test
14268         program so that it returns an enumerated value (0, 1, 2, 3, 4, ...).
14269         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
14270         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
14271         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Likewise.
14272         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
14273         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
14274         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
14275         * m4/isapipe.m4 (gl_PREREQ_ISAPIPE): Likewise.
14276         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
14277         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Likewise.
14278         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
14279         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
14280         * m4/stdint.m4 (gl_STDINT_H): Likewise.
14281         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Change test program so that it
14282         returns a bit mask.
14283         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Likewise.
14284         * m4/chown.m4 (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Likewise.
14285         * m4/dup2.m4 (gl_FUNC_DUP2): Likewise.
14286         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Likewise.
14287         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
14288         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
14289         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
14290         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
14291         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
14292         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
14293         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
14294         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
14295         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
14296         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
14297         * m4/link.m4 (gl_FUNC_LINK): Likewise.
14298         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
14299         * m4/mbrlen.m4 (gl_MBRLEN_RETVAL): Likewise.
14300         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Likewise.
14301         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
14302         * m4/memchr.m4 (gl_FUNC_MEMCHR): Likewise.
14303         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
14304         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
14305         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Likewise.
14306         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
14307         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
14308         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
14309         * m4/popen.m4 (gl_FUNC_POPEN): Likewise.
14310         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
14311         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
14312         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_LS,
14313         gl_PRINTF_PRECISION): Likewise.
14314         * m4/regex.m4 (gl_REGEX): Likewise.
14315         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
14316         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
14317         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Likewise.
14318         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
14319         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
14320         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
14321         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
14322         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Likewise.
14323         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
14324         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
14325         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
14326         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
14327         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
14328         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
14329         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
14330         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
14331         * m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
14332         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
14333         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
14334         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Likewise.
14335         (gl_FLOATTYPE_SIGN_LOCATION): Change test program so that it returns an
14336         enumerated value.
14337         * m4/acl.m4 (gl_ACL_GET_FILE): Use "if ... return 1; return 0;" style.
14338
14339 2010-12-04  Bruno Haible  <bruno@clisp.org>
14340
14341         Update for Solaris 11 2010-11.
14342         * doc/{glibc,posix}-{functions,headers}: Add info about Solaris 11
14343         Express, released in November 2010.
14344
14345 2010-12-04  Bruno Haible  <bruno@clisp.org>
14346
14347         nproc: Relax license.
14348         * modules/nproc (License): Change to LGPL, with consent by Glen Lenker
14349         and Paul Eggert.
14350         Requested by Ludovic Courtès <ludo@gnu.org>.
14351
14352 2010-12-01  Paul Eggert  <eggert@cs.ucla.edu>
14353
14354         utimecmp: fine-grained src to nearby coarse-grained dest
14355
14356         * lib/utimecmp.c (utimecmp): When UTIMECMP_TRUNCATE_SOURCE is set,
14357         and the source is on a file system with higher-resolution time
14358         stamps, than the destination, and _PC_TIMESTAMP_RESOLUTION does
14359         not work, and the time stamps are close together, the algorithm to
14360         determine the exact resolution from the read-back mtime was buggy:
14361         it had a "!=" where it should have had an "==".  This bug has been
14362         in the code ever since it was introduced to gnulib.
14363         Problem reported by Dan Jacobson in
14364         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=7529>.
14365
14366 2010-11-30  Bruno Haible  <bruno@clisp.org>
14367
14368         strerror_r-posix: Fix autoconf test.
14369         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Fix typo.
14370
14371 2010-11-28  Bruno Haible  <bruno@clisp.org>
14372             Paul Eggert  <eggert@cs.ucla.edu>
14373
14374         Tests for module 'getdomainname'.
14375         * modules/getdomainname-tests: New file.
14376         * tests/test-getdomainname.c: New file, based on
14377         tests/test-gethostname.c.
14378
14379 2010-11-28  Bruno Haible  <bruno@clisp.org>
14380             Paul Eggert  <eggert@cs.ucla.edu>
14381
14382         getdomainname: Use the system function when possible.
14383         * lib/unistd.in.h: Include <netdb.h>, for getdomainname's declaration.
14384         (getdomainname): Replace if needed. Provide the declaration if it is
14385         missing. Don't use _GL_CXXALIAS_SYS_CAST.
14386         * lib/getdomainname.c: Include <limits.h> and <sys/systeminfo.h>.
14387         (getdomainname): When the system has getdomainname, call the system
14388         function. When sysinfo (SI_SRPC_DOMAIN, ...) is possible, use that.
14389         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
14390         gl_HEADER_SYS_SOCKET and gl_HEADER_NETDB. Test whether the function is
14391         found in libnsl. Look for the declaration also in <netdb.h>. Replace
14392         the function if its second argument is of type 'int' or if it is found
14393         in libnsl.
14394         (gl_PREREQ_GETDOMAINNAME): Define HAVE_GETDOMAINNAME. Check for
14395         <sys/systeminfo.h> and sysinfo().
14396         * modules/getdomainname (Depends-on): Add netdb, sys_socket.
14397         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
14398         HAVE_DECL_GETDOMAINNAME and REPLACE_GETDOMAINNAME instead of
14399         HAVE_GETDOMAINNAME.
14400         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETDOMAINNAME and
14401         REPLACE_GETDOMAINNAME instead of HAVE_GETDOMAINNAME.
14402         * doc/glibc-functions/getdomainname.texi: Document the problems with
14403         the getdomainname declaration.
14404
14405 2010-11-28  Bruno Haible  <bruno@clisp.org>
14406
14407         sys_socket: Ensure ss_family field on AIX.
14408         * lib/sys_socket.in.h (ss_family): New macro definition.
14409         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Set
14410         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY. Set SYS_SOCKET_H if necessary.
14411         (gl_SYS_SOCKET_H_DEFAULTS): Initialize
14412         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
14413         * modules/sys_socket (Makefile.am): Substitute
14414         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
14415         * doc/posix-headers/sys_socket.texi: Mention the AIX bug.
14416
14417 2010-11-27  Bruno Haible  <bruno@clisp.org>
14418
14419         readline: Improve configure output.
14420         * m4/readline.m4 (gl_FUNC_READLINE): Make the
14421         "checking for readline..." result understandable.
14422
14423 2010-11-27  Bruno Haible  <bruno@clisp.org>
14424
14425         *printf-posix: Detect a bug on Solaris 10/x86.
14426         * m4/printf.m4 (gl_PRINTF_PRECISION): Detect crash with large precision
14427         for floating-point output.
14428         * tests/test-vasnprintf-posix.c (test_function): Test precision with %f
14429         directive.
14430         * tests/test-snprintf-posix.h (test_function): Likewise.
14431         * tests/test-sprintf-posix.h (test_function): Likewise.
14432         * tests/test-vasprintf-posix.c (test_function): Likewise.
14433         * doc/posix-functions/fprintf.texi: Mention Solaris/x86 bug.
14434         * doc/posix-functions/printf.texi: Likewise.
14435         * doc/posix-functions/snprintf.texi: Likewise.
14436         * doc/posix-functions/sprintf.texi: Likewise.
14437         * doc/posix-functions/vfprintf.texi: Likewise.
14438         * doc/posix-functions/vprintf.texi: Likewise.
14439         * doc/posix-functions/vsnprintf.texi: Likewise.
14440         * doc/posix-functions/vsprintf.texi: Likewise.
14441         * doc/glibc-functions/obstack_printf.texi: Likewise.
14442         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
14443
14444 2010-11-27  Bruno Haible  <bruno@clisp.org>
14445
14446         Fix link error when module libunistring-optional is in use.
14447         * modules/striconveh-tests (Makefile.am): Link with $(LIBUNISTRING).
14448         * modules/striconveha-tests (Makefile.am): Likewise.
14449
14450 2010-11-27  Bruno Haible  <bruno@clisp.org>
14451
14452         regex: Mention link dependencies.
14453         * modules/regex (Link): New section.
14454         * modules/rpmatch (Link): Likewise.
14455         * modules/regex-quote-tests (Makefile.am): Link with $(LIBINTL).
14456
14457 2010-11-27  Bruno Haible  <bruno@clisp.org>
14458
14459         ftoastr: Fix compilation error on Solaris.
14460         * lib/ftoastr.c: Include <config.h>.
14461
14462 2010-11-27  Bruno Haible  <bruno@clisp.org>
14463
14464         getloadavg: Update documentation.
14465         * doc/glibc-functions/getloadavg.texi: Mention the Solaris problem.
14466
14467 2010-11-27  Bruno Haible  <bruno@clisp.org>
14468
14469         sys_socket: Fix test whether the functions are declared.
14470         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Include <sys/socket.h>,
14471         not <sys/select.h>.
14472
14473 2010-11-27  Bruno Haible  <bruno@clisp.org>
14474
14475         getpass: Make sure to get system declaration on some platforms.
14476         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU): Require
14477         gl_USE_SYSTEM_EXTENSIONS.
14478         * modules/getpass (Depends-on): Add extensions.
14479
14480 2010-11-26  Bruno Haible  <bruno@clisp.org>
14481
14482         iconv-h: Fix test-iconv-h-c++ failure on Solaris 11 2010-11.
14483         * lib/iconv.in.h (iconv_open, iconv, iconv_close): Define only if the
14484         'iconv' module is present.
14485         (ICONV_CONST): New macro.
14486         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize GNULIB_ICONV and
14487         ICONV_CONST.
14488         * m4/iconv.m4 (AM_ICONV): If the gnulib module 'iconv-h' is present,
14489         set ICONV_CONST.
14490         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Don't set ICONV_CONST
14491         here.
14492         * modules/iconv (configure.ac): Invoke gl_ICONV_MODULE_INDICATOR.
14493         * modules/iconv-h (Makefile.am): Substitute GNULIB_ICONV.
14494         * tests/test-iconv-h.c (ICONV_CONST): Don't define here.
14495         * tests/test-iconv-h-c++.cc (ICONV_CONST): Don't define here.
14496         (iconv_open, iconv, iconv_close): Test only if the 'iconv' module is
14497         present.
14498
14499 2010-11-25  Paul Eggert  <eggert@cs.ucla.edu>
14500
14501         ftoastr: comment fix
14502         * lib/ftoastr.c: "little" -> "little or no" in comment
14503
14504 2010-11-24  Paul Eggert  <eggert@cs.ucla.edu>
14505
14506         stdint: port to GCC 4.3 + OSX + Octave
14507         On this platform, stdint.h is buggy and defines int64_t to long
14508         long int.  The replacement defined it to long int, causing
14509         problems with C++ style name mangling.  Instead, trust the system
14510         definition if INT64_MAX is defined, and likewise for the unsigned
14511         variant.   Problem reported by Jarno Rajahalme in
14512         <http://lists.gnu.org/archive/html/bug-gnulib/2010-04/msg00143.html>.
14513         * lib/stdint.in.h (GL_INT64_T): Define if INT64_MAX is defined,
14514         and don't mess with int64_t and INT64_MAX in this case.
14515         (GL_UINT64_T): Likewise for UINT64_MAX and uint64_t.
14516
14517 2010-11-24  Bruno Haible  <bruno@clisp.org>
14518
14519         doc: Corrections regarding MacOS X 10.4 and 10.5.
14520         * doc/{glibc,posix,pastposix}-functions/*.texi: Update info about
14521         MacOS X.
14522         Reported by Simon Josefsson.
14523
14524 2010-11-22  Ben Pfaff  <blp@cs.stanford.edu>
14525
14526         Uninstall ".bin" files installed by relocwrapper.
14527         * modules/relocatable-prog-wrapper (uninstall-relocwrapper):
14528         Recursively run "make uninstall" with ".bin" prefixed to EXEEXT,
14529         unless it is already there.
14530
14531 2010-11-21  Bruno Haible  <bruno@clisp.org>
14532
14533         Update for NetBSD 5.0.
14534         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
14535         NetBSD; the test fails on NetBSD 5.0.
14536         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
14537         about NetBSD.
14538
14539 2010-11-21  Bruno Haible  <bruno@clisp.org>
14540
14541         Update for HP-UX 11.23 and HP-UX 11.31.
14542         * doc/{glibc,posix}-{headers,functions}/*.texi: Update info about
14543         HP-UX.
14544
14545 2010-11-21  Bruno Haible  <bruno@clisp.org>
14546
14547         Update for MacOS X 10.5.
14548         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
14549         MacOS X; the test fails on MacOS X 10.5.8.
14550         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
14551         about MacOS X.
14552
14553 2010-11-20  Joel E. Denny  <joeldenny@joeldenny.org>
14554
14555         bootstrap: add bootstrap_sync option.
14556         See discussion at
14557         <http://lists.gnu.org/archive/html/bug-gnulib/2010-10/msg00369.html>,
14558         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00200.html>.
14559         * build-aux/bootstrap: Accept --bootstrap-sync to update
14560         bootstrap if it is not identical to the local gnulib's
14561         bootstrap.  Accept bootstrap_sync=true in bootstrap.conf to
14562         enable this by default.  Accept --no-bootstrap-sync to disable
14563         it.
14564
14565 2010-11-20  Bruno Haible  <bruno@clisp.org>
14566
14567         Ensure that <features.h> is included before __GLIBC__ is tested.
14568         * lib/printf-parse.h: Include <features.h>.
14569         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gl_FEATURES_H.
14570         Reported by Mike Frysinger <vapier@gentoo.org>.
14571
14572         Ensure that <features.h> is included before __GLIBC__ is tested.
14573         * lib/wchar.in.h: Include <features.h>.
14574         * m4/wchar_h.m4 (gl_WCHAR_H): Require gl_FEATURES_H.
14575         * modules/wchar (Makefile.am): Substitute HAVE_FEATURES_H.
14576         Reported by Mike Frysinger <vapier@gentoo.org>.
14577
14578         Ensure that <features.h> is included before __GLIBC__ is tested.
14579         * lib/arpa_inet.in.h: Include <features.h>.
14580         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Require gl_FEATURES_H.
14581         * modules/arpa_inet (Makefile.am): Substitute HAVE_FEATURES_H.
14582         Reported by Mike Frysinger <vapier@gentoo.org>.
14583
14584         Ensure that <features.h> is included before __GLIBC__ is tested.
14585         * build-aux/link-warning.h: Include <features.h>.
14586         * modules/link-warning (configure.ac): Require gl_FEATURES_H.
14587         (Makefile.am): Substitute HAVE_FEATURES_H into link-warning.h.
14588         Reported by Mike Frysinger <vapier@gentoo.org>.
14589
14590         Ensure that <features.h> is included before __GLIBC__ is tested.
14591         * m4/gnulib-common.m4 (gl_FEATURES_H): New macro.
14592         Reported by Mike Frysinger <vapier@gentoo.org>.
14593
14594 2010-11-20  Bruno Haible  <bruno@clisp.org>
14595
14596         memmem: Fix autoconf test.
14597         * m4/memmem.m4 (gl_FUNC_MEMMEM): Test HAVE_DECL_MEMMEM, not HAVE_MEMMEM.
14598
14599 2010-11-20  Bruno Haible  <bruno@clisp.org>
14600
14601         Port to uClibc.
14602         * build-aux/link-warning.h (GL_LINK_WARNING): Treat uClibc like glibc.
14603         * lib/fcntl.in.h: Likewise.
14604         * lib/hard-locale.c (GLIBC_VERSION): Likewise.
14605         * lib/mbrtowc.c (mbrtowc): Likewise.
14606         * lib/relocatable.c (find_shared_library_fullname): Likewise.
14607         * lib/strerror_r.c: Likewise.
14608         * lib/unistr/u8-strnlen.c: Likewise.
14609         * lib/vasnprintf.c (decimal_point_char): Likewise.
14610         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
14611         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
14612         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
14613         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
14614         * tests/test-sigaction.c (handler, main): Likewise.
14615         * lib/freading.h: Treat uClibc like a non-glibc platform.
14616         * lib/freading.c: Likewise.
14617         * lib/gettext.h: Likewise.
14618         * lib/localename.c (gl_locale_name_thread_unsafe, HAVE_LOCALE_NULL):
14619         Likewise.
14620         * lib/printf-parse.h (FLAG_LOCALIZED): Likewise.
14621         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
14622         * lib/propername.c (proper_name_utf8): Likewise.
14623         * lib/spawn.in.h: Likewise.
14624         * lib/striconv.c (mem_cd_iconv, str_cd_iconv, str_iconv): Likewise.
14625         * lib/striconveh.c (iconveh_open, iconv_carefully, iconv_carefully_1,
14626         mem_cd_iconveh_internal): Likewise.
14627         * lib/striconveha.c (mem_iconveha, str_iconveha): Likewise.
14628         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
14629         strstr, strcasestr): Likewise.
14630         * lib/unicodeio.c (unicode_to_mb): Likewise.
14631         * lib/uniconv/u16-conv-from-enc.c (UTF16_NAME): Likewise.
14632         * lib/uniconv/u16-conv-to-enc.c (UTF16_NAME): Likewise.
14633         * lib/uniconv/u16-strconv-to-enc.c (UTF16_NAME): Likewise.
14634         * lib/uniconv/u32-conv-from-enc.c (UTF32_NAME): Likewise.
14635         * lib/uniconv/u32-conv-to-enc.c (UTF32_NAME): Likewise.
14636         * lib/uniconv/u32-strconv-to-enc.c (UTF32_NAME): Likewise.
14637         * lib/unistr/u8-stpncpy.c: Likewise.
14638         * lib/vasnprintf.c (VASNPRINTF): Likewise.
14639         * lib/xmalloc.c (HAVE_GNU_CALLOC): Likewise.
14640         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
14641         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
14642         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
14643         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Likewise.
14644         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Likewise.
14645         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Likewise.
14646         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
14647         Likewise.
14648         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
14649         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
14650         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
14651         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
14652         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
14653         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
14654         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
14655         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
14656         * tests/test-getopt.h (OPTIND_MIN): Likewise.
14657         * tests/test-striconveha.c (main): Likewise.
14658         * tests/test-vasnprintf-posix.c (test_function): Likewise.
14659         * tests/test-vasnprintf-posix3.c (test_function, main): Likewise.
14660         * doc/posix-functions/getdelim.texi: Mention an uClibc bug.
14661         * doc/posix-functions/getline.texi: Likewise.
14662         Reported by Mike Frysinger <vapier@gentoo.org>.
14663
14664 2010-11-20  Bruno Haible  <bruno@clisp.org>
14665
14666         nproc: Fix condition.
14667         * lib/nproc.c: Test HAVE_PTHREAD_GETAFFINITY_NP, not
14668         HAVE_PTHREAD_AFFINITY_NP.
14669
14670 2010-11-20  Bruno Haible  <bruno@clisp.org>
14671
14672         Fix a comment.
14673         * lib/vasnprintf.c (VASNPRINTF): Fix comment.
14674
14675 2010-11-19  Paul Eggert  <eggert@cs.ucla.edu>
14676
14677         ftoastr: don't assume snprintf
14678         * lib/ftoastr.c (snprintf) [! GNULIB_SNPRINTF_POSIX]:
14679         Implement a subset of snprintf here, by using sprintf safely.
14680         * modules/ftoastr (Depends-on): Remove snprintf.
14681
14682 2010-11-19  Jim Meyering  <meyering@redhat.com>
14683
14684         test-rename.h: fix compilation failure
14685         * tests/test-rename.h (test_rename): Add omitted "}".
14686
14687 2010-11-17  Jim Meyering  <meyering@redhat.com>
14688
14689         maint.mk: add a URL discussing the no-@acronym policy
14690         * top/maint.mk (sc_texinfo_acronym): Add a URL in a comment.
14691
14692 2010-11-18  Paul Eggert  <eggert@cs.ucla.edu>
14693
14694         ftoastr: depend on snprintf, improve comments
14695         * lib/ftoastr.c: Also mention Loitsch's draft.
14696         * lib/ftoastr.h: Require WIDTH to be nonnegative.  This isn't
14697         needed in the current implementation, but it might simplify
14698         speeding up the code later.
14699         * modules/ftoastr: Depend on snprintf; this improves portability.
14700         Suggested by Bruno Haible in the same email.
14701
14702         ftoastr: port to hosts lacking strtof and strtold
14703         Problem reported by Bruno Haible in
14704         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00242.html>.
14705         * lib/ftoastr.c (STRTOF): Define to strtod if in a pre-C99
14706         environment and strtold (and presumably strtof) are not available.
14707         * modules/ftoastr (Files): Add m4/c-strtod.m4.
14708         (configure.ac): Require gl_C99_STRTOLD.
14709
14710 2010-11-18  Bruno Haible  <bruno@clisp.org>
14711
14712         c-strtold: Avoid link error on AIX 7.
14713         * lib/c-strtod.c: Test also HAVE_STRTOD_L or HAVE_STRTOLD_L.
14714         * m4/c-strtod.m4 (gl_C_STRTOD): Test whether strtod_l exists.
14715         (gl_C_STRTOLD): Test whether strtold_l exists.
14716         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
14717
14718 2010-11-17  Paul Eggert  <eggert@cs.ucla.edu>
14719
14720         intprops: new macro INT_BITS_STRLEN_BOUND
14721         * lib/intprops.h (INT_BITS_STRLEN_BOUND): New macro, needed by
14722         ftoastr.h.  This exposes an internal of intprops.h that was formerly
14723         not exposed.  Also, it uses a slightly tighter bound than before;
14724         though this makes no practical difference, we might as well be as
14725         tight as we easily can.
14726
14727         ftoastr: new module, for lossless conversion of floats to short strings
14728         * lib/ftoastr.h, lib/ftoastr.c, lib/dtoastr.c, lib/ldtoastr.c:
14729         * modules/ftoastr: New files.
14730
14731 2010-11-15  Paul Eggert  <eggert@cs.ucla.edu>
14732
14733         bootstrap: port to Solaris sed
14734         * build-aux/bootstrap (get_version): Port to Solaris sed.
14735         See Ralf Wildenhues's note in
14736         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00156.html>.
14737
14738 2010-11-14  Jim Meyering  <meyering@redhat.com>
14739
14740         maint.mk: rename variable: s/noteworthy/gl_noteworthy_news_/
14741         * top/maint.mk (gl_noteworthy_news_): Rename from "noteworthy"
14742         and move definition closer to sole use.
14743
14744 2010-11-13  Jim Meyering  <meyering@redhat.com>
14745
14746         remove autoconf-2.57 work-around requiring AC_PROG_EGREP and AC_PROG_CPP
14747         Now we require at least autoconf-2.59, which means the work-around
14748         is no longer needed.
14749         * m4/alloca.m4 (gl_FUNC_ALLOCA): Remove work-around.
14750         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
14751         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
14752         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
14753         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
14754
14755 2010-11-13  Bruno Haible  <bruno@clisp.org>
14756
14757         rename, renameat: Avoid test failures at NFS mounted locations.
14758         * tests/test-rename.h (dentry_exists, assert_nonexistent): New
14759         functions.
14760         (test_rename): Use assert_nonexistent.
14761         * tests/test-rename.c: Include <dirent.h>.
14762         * tests/test-renameat.c: Likewise.
14763         Reported by Gary V. Vaughan <gary@gnu.org>.
14764
14765         rename, renameat: Document Linux bug with NFS
14766         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00154.html>.
14767         * doc/posix-functions/rename.texi: Mention the NFS bug on Linux.
14768         * doc/posix-functions/renameat.texi: Likewise.
14769         Suggested by Eric Blake.
14770
14771 2010-11-13  Bruno Haible  <bruno@clisp.org>
14772
14773         rename test: Add comments.
14774         * tests/test-rename.h (test_rename): Add structure and comments.
14775
14776 2010-11-13  Eric Blake  <eblake@redhat.com>
14777
14778         maintainer-makefile: cover a few more files
14779         * top/maint.mk (sc_prohibit_test_double_equal): Also cover shell
14780         scripts generated within C files, for libvirt.
14781
14782 2010-11-13  Bruno Haible  <bruno@clisp.org>
14783
14784         unistr/u8-mbtouc: Improve handling of ill-formed UTF-8 input.
14785         * lib/unistr/u8-mbtouc.c (u8_mbtouc): For an invalid multibyte
14786         character, return the number of bytes that belong together, not always
14787         1.
14788         * lib/unistr/u8-mbtouc-unsafe.c (u8_mbtouc_unsafe): Likewise.
14789         * lib/unistr/u8-mbtouc-aux.c (u8_mbtouc_aux): Likewise.
14790         * lib/unistr/u8-mbtouc-unsafe-aux.c (u8_mbtouc_unsafe_aux): Likewise.
14791         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtouc to determine the
14792         number of bytes of an invalid character.
14793         * tests/unistr/test-u8-mbtouc.c (test_safe_function): New function.
14794         (main): Invoke it.
14795         * tests/unistr/test-u8-mbtouc.h (test_function): Update two test
14796         results.
14797         * tests/unistr/test-u8-mbsnlen.c (main): Test various kinds of
14798         malformed byte sequences.
14799         * modules/unistr/u8-mbtouc (configure.ac): Bump version number.
14800         * modules/unistr/u8-mbtouc-unsafe (configure.ac): Likewise.
14801         * modules/unistr/u8-mbsnlen (configure.ac): Likewise.
14802         Reported by Ben Pfaff and Paolo Bonzini.
14803
14804 2010-11-13  Bruno Haible  <bruno@clisp.org>
14805
14806         openat: Work around glibc bug with fchownat() and empty file names.
14807         * m4/openat.m4 (gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG): New macro.
14808         (gl_FUNC_FCHOWNAT): Invoke it.
14809         * lib/fchownat.c (rpl_fchownat): Handle the empty file name specially.
14810         * doc/posix-functions/fchownat.texi: Document the glibc bug.
14811         Reported by Gary V. Vaughan <gary@gnu.org>.
14812
14813 2010-11-13  Bruno Haible  <bruno@clisp.org>
14814
14815         openat: Ensure autoconf macro ordering.
14816         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Require
14817         gl_USE_SYSTEM_EXTENSIONS.
14818         (gl_FUNC_FCHOWNAT): Require gl_UNISTD_H_DEFAULTS.
14819
14820 2010-11-13  Bruno Haible  <bruno@clisp.org>
14821
14822         Update comments.
14823         * lib/unistr/u8-check.c: Update file name in comments.
14824         * lib/unistr/u8-mblen.c: Likewise.
14825         * lib/unistr/u8-prev.c: Likewise.
14826         * lib/unistr/u8-strmblen.c: Likewise.
14827         * lib/unistr/u8-strmbtouc.c: Likewise.
14828
14829 2010-11-13  Jim Meyering  <meyering@redhat.com>
14830
14831         tests: avoid test failure on Solaris 10 due to lack of PATH export
14832         * tests/test-update-copyright.sh: Don't forget to export PATH.
14833
14834         init.sh: ensure that IFS is defined, just in case...
14835         * tests/init.sh (setup_): Ensure that IFS is defined,
14836         so that saving and restoring it works as expected.  This
14837         appears to be useful at least for an old version of dash
14838         from a long time ago (RH 6).  See here for details:
14839         http://thread.gmane.org/gmane.comp.gnu.coreutils.general/436/focus=455
14840
14841         maint.mk: tighten "test a == b" check
14842         * top/maint.mk (sc_prohibit_test_double_equal): Restrict this
14843         test to files that contain something like #!/bin/sh.
14844         Without this, coreutils would get two false positives in
14845         the comments of C source files.
14846
14847 2010-11-12  Eric Blake  <eblake@redhat.com>
14848
14849         bootstrap: fix typo in previous attempt
14850         * build-aux/bootstrap (buildreq): Correct the grouping.
14851         Reported by Paul Eggert.
14852
14853         maintainer-makefile: prohibit test x == x
14854         * top/maint.mk (sc_prohibit_test_double_equal): New rule.
14855         Based on a report by Matthias Bolte.
14856
14857         bootstrap: allow FreeBSD gzip
14858         * build-aux/bootstrap (get_version): Parse FreeBSD gzip version,
14859         which has no '.' and goes to stderr.
14860         * build-aux/bootstrap.conf (buildreq): Improve the sample file.
14861         Reported by Matthias Bolte.
14862
14863         maintainer-makefile: check for i18n setup
14864         * top/maint.mk (sc_bindtextdomain): Check for evidence that _()
14865         will likely work.
14866
14867 2010-11-12  Bruno Haible  <bruno@clisp.org>
14868
14869         sleep, nanosleep: Work around Linux 2.6.9 nanosleep bug.
14870         * lib/sleep.c (rpl_sleep): Split in chunks no larger than 24 days.
14871         * lib/nanosleep.c (nanosleep): Likewise.
14872
14873 2010-11-11  Bruno Haible  <bruno@clisp.org>
14874
14875         fcntl-h: Fix for use of C++ on glibc systems.
14876         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
14877         also on glibc systems in C++ mode.
14878         Reported by Gary V. Vaughan <gary@gnu.org>.
14879
14880 2010-11-11  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
14881
14882         mknod: avoid false failure with dash
14883         * m4/mknod.m4 (gl_FUNC_MKNOD): Use portable shell syntax.
14884
14885 2010-11-11  Paul Eggert  <eggert@cs.ucla.edu>
14886
14887         unlink: Fix "is it should" typo in diagnostic.
14888         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix typo, as per Reuben Thomas in
14889         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00106.html>.
14890
14891 2010-11-11  Bruno Haible  <bruno@clisp.org>
14892
14893         Tests for module 'strerror_r-posix'.
14894         * modules/strerror_r-posix-tests: New file.
14895         * tests/test-strerror_r.c: New file.
14896         * tests/test-string-c++.cc: Check the signature of strerror_r.
14897
14898         New module 'strerror_r-posix'.
14899         * lib/string.in.h (strerror_r): New declaration.
14900         * lib/strerror_r.c: New file.
14901         * m4/strerror_r.m4: New file.
14902         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Check for the declaration
14903         of strerror_r.
14904         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRERROR_R,
14905         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
14906         * modules/strerror_r-posix: New file.
14907         * modules/string (Makefile.am): Substitute GNULIB_STRERROR_R,
14908         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
14909         * doc/posix-functions/strerror_r.texi: Mention the new module and the
14910         portability problems.
14911
14912 2010-11-11  Torsten Scheck  <Torsten.Scheck@Leica-Microsystems.com> (tiny change)
14913
14914         * build-aux/pmccabe2html: Fixed a off-by-one error, so last input
14915         line is also considered for output. Quoted function name in shell
14916         command, so temporary files for functions like MyClass::operator()
14917         are removed correctly without errors.
14918
14919 2010-11-09  Bruno Haible  <bruno@clisp.org>
14920
14921         * doc/posix-functions/strerror.texi: List more failing platforms.
14922
14923         * doc/posix-functions/strerror.texi: Add a comment.
14924
14925 2010-11-07  Paul Eggert  <eggert@cs.ucla.edu>
14926
14927         fdopendir: fix bug on MacOS X when low on file descriptors
14928
14929         * lib/fdopendir.c (REPLACE_FCHDIR): #define to 0 if not defined.
14930         (fdopendir_with_dup, fd_clone_opendir): Now have extra CWD arg.
14931         All callers changed.
14932         (fdopendir): Invoke save_cwd at the top level, not after using
14933         multiple dup() calls to use up file descriptors.  Then retry
14934         fdopendir_with_dup.  This avoids failure with EMFILE if FD is 1
14935         less than the maximum number of open file descriptors, because
14936         save_cwd fails with errno == EMFILE.  Problem reported by tsteven4
14937         on Mac OS X 10.6.4 for tar 1.24
14938         <http://lists.gnu.org/archive/html/bug-tar/2010-10/msg00084.html>
14939         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00000.html>
14940         and for tar 1.25
14941         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00038.html>.
14942
14943 2010-11-07  Bruno Haible  <bruno@clisp.org>
14944
14945         vasnprintf: Support I flag on glibc systems.
14946         * lib/printf-parse.h (FLAG_LOCALIZED): New macro.
14947         * lib/printf-parse.c (PRINTF_PARSE): Handle the 'I' flag.
14948         * lib/vasnprintf.c (VASNPRINTF): Pass the 'I' flag on to the system's
14949         snprintf function.
14950         * tests/test-vasnprintf-posix.c (test_function): Test the 'I' flag on
14951         glibc systems.
14952         * tests/test-vasnprintf-posix3.c: New file.
14953         * modules/vasnprintf-posix-tests (Files): Add it.
14954         (TESTS, check_PROGRAMS): Add test-vasnprintf-posix3.
14955
14956 2010-11-05  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
14957
14958         [html] Fix copy/paste bug: Use unique name for compiler warnings.
14959         * MODULES.html.sh: For compiler warnings, use name
14960         `ansic_ext_compwarn' since `ansic_ext_misc' is already taken.
14961
14962 2010-11-05  Eric Blake  <eblake@redhat.com>
14963
14964         ceil, floor: avoid spurious failure with icc
14965         * tests/test-ceilf2.c (ceilf_reference): Avoid icc's use of DAZ
14966         [denormals-as-zero] when optimizing without -mieee-fp option.
14967         * tests/test-floorf2.c (floorf_reference): Likewise.
14968         * tests/test-ceilf1.c (dummy): New function.
14969         (main): Use it to outsmart icc's optimization.
14970         * tests/test-floorf1.c (dummy, main): Likewise.
14971
14972         tests: require working signbit
14973         * modules/ceilf-tests (Depends-on): Add signbit.
14974         * modules/ceill-tests (Depends-on): Likewise.
14975         * modules/floorf-tests (Depends-on): Likewise.
14976         * modules/floorl-tests (Depends-on): Likewise.
14977         * modules/round-tests (Depends-on): Likewise.
14978         * modules/roundf-tests (Depends-on): Likewise.
14979         * modules/roundl-tests (Depends-on): Likewise.
14980         * modules/trunc-tests (Depends-on): Likewise.
14981         * modules/truncf-tests (Depends-on): Likewise.
14982         * modules/truncl-tests (Depends-on): Likewise.
14983
14984         strtod: work around icc bug
14985         * lib/strtod.c (minus_zero): Define to working value.
14986         (strtod): Use it to avoid icc bug.
14987
14988         copysign: enhance tests
14989         * modules/copysign-tests (Files): Add minus-zero.h.
14990         * tests/test-copysign.c (main): Also test zeros.
14991
14992 2010-11-04  Eric Blake  <eblake@redhat.com>
14993
14994         ceil, floor, round, trunc: enhance tests of -0
14995         * tests/test-ceilf1.c (main): Ensure correct sign of result.
14996         * tests/test-ceill.c (main): Likewise.
14997         * tests/test-floorf1.c (main): Likewise.
14998         * tests/test-floorl.c (main): Likewise.
14999         * tests/test-round1.c (main): Likewise.
15000         * tests/test-roundf1.c (main): Likewise.
15001         * tests/test-roundl.c (main): Likewise.
15002         * tests/test-trunc1.c (main): Likewise.
15003         * tests/test-truncf1.c (main): Likewise.
15004         * tests/test-truncl.c (main): Likewise.
15005
15006 2010-11-04  Eric Blake  <eblake@redhat.com>
15007
15008         frexp, tests: work around ICC bug with -zero
15009         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Compute -0.0 in a way that
15010         works with more compilers.
15011         * tests/minus-zero.h: New file.
15012         * modules/ceilf-tests (Files): Include it.
15013         * modules/ceill-tests (Files): Likewise.
15014         * modules/floorf-tests (Files): Likewise.
15015         * modules/floorl-tests (Files): Likewise.
15016         * modules/frexp-nolibm-tests (Files): Likewise.
15017         * modules/frexp-tests (Files): Likewise.
15018         * modules/frexpl-nolibm-tests (Files): Likewise.
15019         * modules/frexpl-tests (Files): Likewise.
15020         * modules/isnan-tests (Files): Likewise.
15021         * modules/isnand-nolibm-tests (Files): Likewise.
15022         * modules/isnand-tests (Files): Likewise.
15023         * modules/isnanf-nolibm-tests (Files): Likewise.
15024         * modules/isnanf-tests (Files): Likewise.
15025         * modules/isnanl-nolibm-tests (Files): Likewise.
15026         * modules/isnanl-tests (Files): Likewise.
15027         * modules/round-tests (Files): Likewise.
15028         * modules/roundf-tests (Files): Likewise.
15029         * modules/roundl-tests (Files): Likewise.
15030         * modules/ldexpl-tests (Files): Likewise.
15031         * modules/signbit-tests (Files): Likewise.
15032         * modules/snprintf-posix-tests (Files): Likewise.
15033         * modules/sprintf-posix-tests (Files): Likewise.
15034         * modules/strtod-tests (Files): Likewise.
15035         * modules/trunc-tests (Files): Likewise.
15036         * modules/truncf-tests (Files): Likewise.
15037         * modules/truncl-tests (Files): Likewise.
15038         * modules/vsnprintf-posix-tests (Files): Likewise.
15039         * modules/vsprintf-posix-tests (Files): Likewise.
15040         * modules/vasnprintf-posix-tests (Files): Likewise.
15041         * modules/vasprintf-posix-tests (Files): Likewise.
15042         * tests/test-ceilf1.c (main): Use it.
15043         * tests/test-ceill.c (main): Likewise.
15044         * tests/test-floorf1.c (main): Likewise.
15045         * tests/test-floorl.c (main): Likewise.
15046         * tests/test-frexp.c (main): Likewise.
15047         * tests/test-frexpl.c (main): Likewise.
15048         * tests/test-isnan.c (main): Likewise.
15049         * tests/test-isnand.h (main): Likewise.
15050         * tests/test-isnanf.h (main): Likewise.
15051         * tests/test-isnanl.h (main): Likewise.
15052         * tests/test-ldexpl.c (main): Likewise.
15053         * tests/test-round.c (main): Likewise.
15054         * tests/test-roundf.c (main): Likewise.
15055         * tests/test-roundl.c (main): Likewise.
15056         * tests/test-signbit.c (test_signbitf, test_signbitd)
15057         (test_signbitl): Likewise.
15058         * tests/test-snprintf-posix.h (test_function): Likewise.
15059         * tests/test-sprintf-posix.h (test_function): Likewise.
15060         * tests/test-strtod.c (main): Likewise.
15061         * tests/test-trunc1.c (main): Likewise.
15062         * tests/test-truncf1.c (main): Likewise.
15063         * tests/test-truncl.c (main): Likewise.
15064
15065         isnanl: work around icc bug
15066         * lib/isnan.c (FUNC): Compute run-time NaN under ICC as well.
15067
15068 2010-11-03  Eric Blake  <eblake@redhat.com>
15069
15070         tests: fix compiler warnings
15071         * tests/test-getopt.h (test_getopt): Fix condition.
15072         * tests/test-getopt_long.h (test_getopt_long): Likewise.
15073         * tests/test-pipe2.c (main): Likewise.
15074         * tests/test-quotearg-simple.c (main): Avoid icc warning.
15075
15076         utimens: fix broken m4 test
15077         * m4/utimens.m4 (gl_UTIMENS): Include correct headers.
15078
15079 2010-10-28  Bruno Haible  <bruno@clisp.org>
15080
15081         posix_spawn*, getdtablesize: Relax license.
15082         * modules/posix_spawn (License): Change to LGPLv2+.
15083         * modules/posix_spawnp (License): Likewise.
15084         * modules/posix_spawn-internal (License): Likewise.
15085         * modules/posix_spawnattr_init (License): Likewise.
15086         * modules/posix_spawnattr_getflags (License): Likewise.
15087         * modules/posix_spawnattr_setflags (License): Likewise.
15088         * modules/posix_spawnattr_getpgroup (License): Likewise.
15089         * modules/posix_spawnattr_setpgroup (License): Likewise.
15090         * modules/posix_spawnattr_getschedparam (License): Likewise.
15091         * modules/posix_spawnattr_setschedparam (License): Likewise.
15092         * modules/posix_spawnattr_getschedpolicy (License): Likewise.
15093         * modules/posix_spawnattr_setschedpolicy (License): Likewise.
15094         * modules/posix_spawnattr_getsigdefault (License): Likewise.
15095         * modules/posix_spawnattr_setsigdefault (License): Likewise.
15096         * modules/posix_spawnattr_getsigmask (License): Likewise.
15097         * modules/posix_spawnattr_setsigmask (License): Likewise.
15098         * modules/posix_spawnattr_destroy (License): Likewise.
15099         * modules/posix_spawn_file_actions_init (License): Likewise.
15100         * modules/posix_spawn_file_actions_addclose (License): Likewise.
15101         * modules/posix_spawn_file_actions_adddup2 (License): Likewise.
15102         * modules/posix_spawn_file_actions_addopen (License): Likewise.
15103         * modules/posix_spawn_file_actions_destroy (License): Likewise.
15104         * modules/getdtablesize (License): Likewise.
15105         Requested by Adam Stokes <ajs@redhat.com> for use in netcf.
15106
15107 2010-10-26  Bruno Haible  <bruno@clisp.org>
15108
15109         unistd: Refine workaround from 2009-12-23 against Cygwin bug.
15110         * lib/unistd.in.h: Don't include <stdio.h> and <fcntl.h>, except on
15111         Cygwin and mingw.
15112         Suggested by Eric Blake.
15113
15114 2010-10-26  Bruno Haible  <bruno@clisp.org>
15115
15116         stdio: Work around compilation error due to renameat() on Solaris 10.
15117         * lib/stdio.in.h: Include <unistd.h> on Solaris.
15118         * lib/renameat.c: Don't include <unistd.h> here.
15119         * doc/posix-functions/renameat.texi: Mention the Solaris problem.
15120         Reported by Paul Eggert and Eric Blake.
15121
15122 2010-10-26  Paul Eggert  <eggert@cs.ucla.edu>
15123
15124         renameat: port to Solaris 10, which declares renameat in unistd.h
15125
15126         * lib/renameat.c: Include unistd.h before stdio.h, because
15127         Solaris 10 declares renameat in unistd.h.  Problem encountered
15128         when building GNU tar 1.24 on Solaris 10.
15129
15130 2010-10-26  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
15131
15132         fdopendir: fix C89 compilation
15133         * lib/fdopendir.c (fd_clone_opendir): Move declaration for older
15134         compilers.
15135
15136 2010-10-23  Paul Eggert  <eggert@cs.ucla.edu>
15137
15138         inttostr: simplify by removing unnecessary redundancy
15139         * lib/anytostr.c: Don't include verify.h.
15140         (anytostr): Don't verify that TYPE_SIGNED (inttype) equals
15141         inttype_is_signed.  Instead, disable the bogus GCC warnings, so that
15142         there's no need for inttype_is_signed and for calling TYPE_SIGNED.
15143         * lib/imaxtostr.c (inttype_is_signed): Remove; no longer needed.
15144         * lib/inttostr.c, lib/offtostr.c, lib/uinttostr.c, lib/umaxtostr.c:
15145         Likewise.
15146         * modules/inttostr (Depends-on): Remove 'verify'.
15147
15148 2010-10-23  Bruno Haible  <bruno@clisp.org>
15149
15150         nl_langinfo: Mention problem with CRNCYSTR on NetBSD 5.0.
15151         * doc/posix-functions/nl_langinfo.texi: Mention problem with CRNCYSTR.
15152         Reported by Eric Blake.
15153
15154 2010-10-23  Bruno Haible  <bruno@clisp.org>
15155
15156         Tests: Fix LOCALE_JA on MirBSD 10.
15157         * m4/locale-ja.m4 (gt_LOCALE_JA): Reject a locale identifier that leads
15158         to an UTF-8 locale.
15159         * m4/locale-fr.m4 (gt_LOCALE_FR): Likewise.
15160         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
15161         Reported by Eric Blake.
15162
15163 2010-10-21  Bruno Haible  <bruno@clisp.org>
15164
15165         nl_langinfo test: Avoid test failure on NetBSD 5.
15166         * tests/test-nl_langinfo.c (main): Relax test of nl_langinfo(CRNCYSTR).
15167         Reported by Eric Blake.
15168
15169 2010-10-21  Eric Blake  <eblake@redhat.com>
15170
15171         c-stack: work around libsigsegv 2.8 bug
15172         * lib/c-stack.c (SIGSTKSZ): Increase size to avoid alternate stack
15173         overflow on at least PowerPC64.
15174
15175 2010-10-17  Bruno Haible  <bruno@clisp.org>
15176
15177         userspec: Drop redundant file.
15178         * modules/userspec (Files): Remove lib/inttostr.h.
15179
15180 2010-10-17  Bruno Haible  <bruno@clisp.org>
15181
15182         nl_langinfo tests: Silence some warnings.
15183         * tests/test-nl_langinfo.c: Silence -Wtype-limits warnings.
15184         Reported by Jim Meyering.
15185
15186 2010-10-17  Bruno Haible  <bruno@clisp.org>
15187
15188         Make use of GCC's attribute __alloc_size__.
15189         * lib/xalloc.h (ATTRIBUTE_ALLOC_SIZE): New macro.
15190         (xmalloc, xzalloc, xcalloc, xrealloc, xmemdup, xnmalloc, xnrealloc,
15191         xcharalloc): Declare with ATTRIBUTE_ALLOC_SIZE.
15192         * lib/eealloc.h (eemalloc, eerealloc): Declare with attribute
15193         __alloc_size__.
15194         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
15195         Suggested by Jim Meyering.
15196
15197 2010-10-16  Joel E. Denny  <joeldenny@joeldenny.org>
15198
15199         bootstrap: anchor .gitignore entries.
15200         * build-aux/bootstrap (insert_sorted_if_absent): Replace all uses
15201         with...
15202         (insert_vc_ignore): ... this new function, which prepends `/' to
15203         all .gitignore entries before passing them to
15204         insert_sorted_if_absent.
15205
15206 2010-10-16  Bruno Haible  <bruno@clisp.org>
15207
15208         nextafter: Fix configure check.
15209         * modules/nextafter (configure.ac): Correct expected prototype.
15210
15211 2010-10-16  Bruno Haible  <bruno@clisp.org>
15212
15213         termios: Update documentation.
15214         * doc/posix-headers/termios.texi: Mention remaining mingw problems.
15215
15216 2010-10-16  Bruno Haible  <bruno@clisp.org>
15217
15218         tests: Make them compile with TinyCC.
15219         * tests/test-strstr.c (main): Remove parentheses around array
15220         initializer.
15221
15222 2010-10-15  Eric Blake  <eblake@redhat.com>
15223
15224         ignore-value: make header idempotent
15225         * lib/ignore-value.h: Add double-inclusion guards.
15226         Reported by Stefan Berger.
15227
15228 2010-10-15  Jim Meyering  <meyering@redhat.com>
15229
15230         GNUmakefile: handle "stable" target, not "major"
15231         * top/GNUmakefile (_is-dist-target): s/major/stable/ to match the
15232         lists in maint.mk and announce-gen.  Without this, "make stable"
15233         would fail to ensure that $(VERSION) is up to date.
15234
15235 2010-10-15  Ludovic Courtès  <ludo@gnu.org>
15236
15237         * lib/isnan.c (FUNC): Treat TinyCC (`__TINYC__') like `__SUNPRO_C'
15238         & co.
15239
15240 2010-10-14  Bruno Haible  <bruno@clisp.org>
15241
15242         vasnprintf: Don't set errno to 0.
15243         * lib/vasnprintf.c (VASNPRINTF): Save and restore errno around the
15244         block that sets it to 0.
15245         Reported by Gianluigi Tiesi <sherpya@netfarm.it>.
15246
15247 2010-10-14  Bruno Haible  <bruno@clisp.org>
15248
15249         socketlib: Fix.
15250         * modules/socketlib (Files): Add m4/sys_socket_h.m4. Needed for
15251         gl_PREREQ_SYS_H_WINSOCK2.
15252         Reported by Ian Beckwith <ianb@erislabs.net>.
15253
15254 2010-10-13  Jim Meyering  <meyering@redhat.com>
15255
15256         test-select-stdin.c: avoid warn_unused_result warnings
15257         * tests/test-select-stdin.c: Include "macros.h".
15258         ASSERT that read and fflush succeed.
15259
15260 2010-10-13  Jim Meyering  <meyering@redhat.com>
15261
15262         git-version-gen: do require git-VC'd files in cwd
15263         * build-aux/git-version-gen: Reject a git version string
15264         if there are no commits associated with the current directory.
15265         This avoids an unlikely false-positive (unrelated dir whose parent
15266         repository also contains a tag matching v*), as pointed out
15267         by Giuseppe Scrivano in
15268         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=23664
15269
15270 2010-10-13  Paul Eggert  <eggert@cs.ucla.edu>
15271
15272         argv-iter: omit nonconforming declaration
15273         * lib/argv-iter.h (enum argv_iter_err): Omit the useless
15274         enum arg_iter_err declaration, which doesn't conform to C99.
15275         Solaris 10 cc warns about this.
15276
15277 2010-10-13  Eric Blake  <eblake@redhat.com>
15278
15279         termios: fix compilation on mingw
15280         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Set default.
15281         (gl_TERMIOS_H): Adjust it on mingw.
15282         * modules/termios (Makefile.am): Substitute new key.
15283         * lib/termios.in.h (includes): Make include_next conditional.
15284         * doc/posix-headers/termios.texi (termios.h): Update
15285         documentation.
15286         Reported by Daniel P. Berrange.
15287
15288 2010-10-13  Jim Meyering  <meyering@redhat.com>
15289
15290         git-version-gen: don't require that .git/ be in the current dir
15291         * build-aux/git-version-gen: Adjust this script so that it works
15292         when run from any working directory beneath the top-level .git/-
15293         containing directory.  Inspired by a patch from Giuseppe Scrivano,
15294         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=21847
15295
15296         test-select: avoid warn_unused_result warnings
15297         * tests/test-select.c: Include "macros.h".
15298         ASSERT that each call to read, write, and pipe succeeds.
15299         While not technically required, also check each "close".
15300         * modules/select-tests (Files): Add tests/macros.h.
15301
15302         test-symlinkat: remove declaration of unused local
15303         * tests/test-symlinkat.c (main): Remove unused local, "buf".
15304
15305         test-inttostr: avoid shadowing warnings
15306         * tests/test-inttostr.c (main): Rename local, "buf" to "b",
15307         and use malloc rather than the stack for the same reason as
15308         mentioned in the comment justifying the other allocation.
15309
15310 2010-10-11  Bruno Haible  <bruno@clisp.org>
15311
15312         stdlib: Allow multiple gnulib generated replacements to coexist.
15313         * lib/stdlib.in.h (struct random_data): Avoid identical redefinition.
15314         Reported by Sam Steingold <sds@gnu.org>.
15315
15316 2010-10-11  Jim Meyering  <meyering@redhat.com>
15317
15318         fix a documentation typo
15319         * doc/posix-functions/futimens.texi (futimens): Fix typo: s/itme/item/
15320
15321 2010-10-11  Eric Blake  <eblake@redhat.com>
15322
15323         futimens: work around Solaris 11 bug
15324         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect the bug.
15325         * tests/test-futimens.h (test_futimens): Enhance, rather than
15326         weaken test.
15327         * doc/posix-functions/futimens.texi (futimens): Document the bug.
15328
15329 2010-10-11  Paul Eggert  <eggert@cs.ucla.edu>
15330
15331         Indentation.
15332         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Indent
15333         higher-level operators more to the left.
15334
15335 2010-10-11  Jim Meyering  <meyering@redhat.com>
15336
15337         test-futimens: avoid unwarranted test failure on Solaris 5.11
15338         * tests/test-futimens.h (test_futimens): When provoking EBADF, use an
15339         invalid file descriptor, so we don't provoke EFAULT from Solaris 5.11,
15340         because it tries to dereference the NULL name argument.
15341
15342 2010-10-11  Bruno Haible  <bruno@clisp.org>
15343
15344         Indentation.
15345         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Improve
15346         indentation.
15347
15348 2010-10-11  Jim Meyering  <meyering@redhat.com>
15349
15350         spawn.in.h: make indentation consistent with parentheses
15351         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap):
15352         Make indentation consistent with parentheses.
15353
15354 2010-10-11  Gary V. Vaughan  <gary@gnu.org>
15355
15356         Fix mismatched parens in previous commit
15357         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Fix mismatched
15358         parens.
15359
15360 2010-10-10  Paul Eggert  <eggert@cs.ucla.edu>
15361
15362         rewrite int foo[2*X-1] to verify(X) or to int foo[X?1:-1]
15363
15364         * lib/float+.h (verify_sizeof_flt, verify_sizeof_dbl):
15365         (verify_sizeof_ldbl): Rewrite 2*X-1 to X?1:-1.
15366         * lib/malloca.c: Include "verify.h".
15367         (verify1): Remove, replacing with a verify call.
15368         * lib/relocwrapper.c (verify1): Likewise.
15369         * lib/vasnprintf.c (mp_limb_verify, mp_twolimb_verify, TCHAR_T_verify):
15370         Likewise.
15371         * modules/malloca (Depends-on): Add 'verify'.
15372         * modules/relocatable-prog-wrapper (Depends-on): Add 'verify'.
15373         * modules/vasnprintf (Depends-on): Add 'verify'.
15374         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
15375         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
15376         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
15377         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
15378         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
15379         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
15380         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
15381
15382         prefer (X ? 1 : -1) when converting from boolean (1,0) to int (1,-1)
15383
15384         Formerly the style was sometimes 2*X - 1, because the C standard
15385         was wrongly thought to disallow ?: in integral constant expressions.
15386         * lib/inet_ntop.c (verify_int_size): Rewrite 2*X-7 (!) to 4<=X?1:-1.
15387         * lib/signal.in.h (verify_NSIG_constraint): Rewrite 2*X-1 to X?1:-1.
15388         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
15389         * lib/stdint.in.h (_verify_intmax_size): Likewise.
15390         * lib/time.in.h (struct __time_t_must_be_integral): Rewrite
15391         2 * ((time_t) 1 / 2 == 0) - 1 to (time_t) 1; this suffices to
15392         verify that time_t cannot be floating.
15393
15394 2010-10-08  Eric Blake  <eblake@redhat.com>
15395
15396         time: enforce recent POSIX ruling that time_t is integral
15397         * lib/time.in.h (__time_t_must_be_integral): Detect any
15398         problematic systems, allowing the rest of gnulib to assume POSIX.
15399
15400 2010-10-08  Jim Meyering  <meyering@redhat.com>
15401
15402         fdopendir: fix a bug on systems lacking openat and /proc support
15403         OpenBSD 4.7 is one such system.  The most noticeable effect was
15404         failure of any application making nontrivial use of fts: rm, du,
15405         chown, chmod etc.  E.g., "mkdir -p a/b; ./rm -rf a" would fail with
15406           ./rm: traversal failed: `a': Bad file descriptor
15407         Debugging that, you see that even though FD 6 was closed just
15408         prior to the opendir call in fd_clone_opendir, its resulting
15409         dir->dd_fd was 8, rather than the expected value of 6:
15410
15411         Breakpoint 3, fdopendir_with_dup (fd=6, older_dupfd=-1) at fdopendir.c:93
15412         93                close (fd);
15413         (gdb) n
15414         94                dir = fd_clone_opendir (dupfd);
15415         (gdb) n
15416         95                saved_errno = errno;
15417         (gdb) p dir->dd_fd
15418         $11 = 8
15419
15420         Notice how it closes FD 6, then gets a DIR* pointer using FD 8.
15421         The problem is that on OpenBSD, fd_clone_opendir has to resort
15422         to using the old-style save/restore CWD mechanism, due to its
15423         lack of openat/proc support, and *that* would steal the FD (6)
15424         that opendir was supposed to use.
15425
15426         The fix is to squirrel away the desired FD so that save_cwd uses a
15427         different one, and then free the dest FD right before calling opendir.
15428         That guarantees opendir will use the required file descriptor.
15429
15430         * lib/fdopendir.c (fd_clone_opendir): Handle the above.
15431
15432 2010-10-08  Bruno Haible  <bruno@clisp.org>
15433
15434         sys_select: Avoid warning due to undeclared memset() on OpenBSD 4.5.
15435         * lib/sys_select.in.h: Include <string.h> also on OpenBSD.
15436
15437 2010-10-08  Bruno Haible  <bruno@clisp.org>
15438
15439         nanosleep: Make replacement POSIX compliant.
15440         * lib/nanosleep.c (nanosleep): Return -1/EINVAL if the delay's tv_nsec
15441         is out of range.
15442         Reported by Jim Meyering.
15443
15444 2010-10-08  Paul Eggert  <eggert@cs.ucla.edu>
15445
15446         bootstrap: add hook for altering gnulib.mk, for Bison
15447         * build-aux/bootstrap (gnulib_mk_hook): New function, so that
15448         the Bison bootstrapping process can rewrite file names and variables
15449         in this file before later parts of 'bootstrap' use the file.
15450         Bison wants to include lib/gnulib.mk from the top-level makefile,
15451         so it needs the file names in this file to be relative to the top
15452         level, not relative to lib; plus it needs variable names to be
15453         rewritten.
15454         (slurp): Use the new function.
15455
15456         bootstrap: reformat for readability
15457         * build-aux/bootstrap: Rewrite to avoid lines longer than 80 columns.
15458
15459 2010-10-08  Eric Blake  <eblake@redhat.com>
15460
15461         docs: update cygwin progress
15462         * doc/posix-functions/cacos.texi (cacos): Added after cygwin
15463         1.7.7.
15464         * doc/posix-functions/cacosf.texi (cacosf): Likewise.
15465         * doc/posix-functions/cacosh.texi (cacosh): Likewise.
15466         * doc/posix-functions/cacoshf.texi (cacoshf): Likewise.
15467         * doc/posix-functions/carg.texi (carg): Likewise.
15468         * doc/posix-functions/cargf.texi (cargf): Likewise.
15469         * doc/posix-functions/casin.texi (casin): Likewise.
15470         * doc/posix-functions/casinf.texi (casinf): Likewise.
15471         * doc/posix-functions/casinh.texi (casinh): Likewise.
15472         * doc/posix-functions/casinhf.texi (casinhf): Likewise.
15473         * doc/posix-functions/catan.texi (catan): Likewise.
15474         * doc/posix-functions/catanf.texi (catanf): Likewise.
15475         * doc/posix-functions/catanh.texi (catanh): Likewise.
15476         * doc/posix-functions/catanhf.texi (catanhf): Likewise.
15477         * doc/posix-functions/ccos.texi (ccos): Likewise.
15478         * doc/posix-functions/ccosf.texi (ccosf): Likewise.
15479         * doc/posix-functions/ccosh.texi (ccosh): Likewise.
15480         * doc/posix-functions/ccoshf.texi (ccoshf): Likewise.
15481         * doc/posix-functions/cexp.texi (cexp): Likewise.
15482         * doc/posix-functions/cexpf.texi (cexpf): Likewise.
15483         * doc/posix-functions/cimag.texi (cimag): Likewise.
15484         * doc/posix-functions/cimagf.texi (cimagf): Likewise.
15485         * doc/posix-functions/clog.texi (clog): Likewise.
15486         * doc/posix-functions/clogf.texi (clogf): Likewise.
15487         * doc/posix-functions/conj.texi (conj): Likewise.
15488         * doc/posix-functions/conjf.texi (conjf): Likewise.
15489         * doc/posix-functions/cpow.texi (cpow): Likewise.
15490         * doc/posix-functions/cpowf.texi (cpowf): Likewise.
15491         * doc/posix-functions/cproj.texi (cproj): Likewise.
15492         * doc/posix-functions/cprojf.texi (cprojf): Likewise.
15493         * doc/posix-functions/creal.texi (creal): Likewise.
15494         * doc/posix-functions/crealf.texi (crealf): Likewise.
15495         * doc/posix-functions/csin.texi (csin): Likewise.
15496         * doc/posix-functions/csinf.texi (csinf): Likewise.
15497         * doc/posix-functions/csinh.texi (csinh): Likewise.
15498         * doc/posix-functions/csinhf.texi (csinhf): Likewise.
15499         * doc/posix-functions/csqrt.texi (csqrt): Likewise.
15500         * doc/posix-functions/csqrtf.texi (csqrtf): Likewise.
15501         * doc/posix-functions/ctan.texi (ctan): Likewise.
15502         * doc/posix-functions/ctanf.texi (ctanf): Likewise.
15503         * doc/posix-functions/ctanh.texi (ctanh): Likewise.
15504         * doc/posix-functions/ctanhf.texi (ctanhf): Likewise.
15505         * doc/posix-headers/complex.texi (complex.h): Likewise.
15506
15507 2010-10-07  Jim Meyering  <meyering@redhat.com>
15508
15509         parse-datetime: avoid compilation failure on OpenBSD 4.7
15510         * lib/parse-datetime.y (_STDLIB_H) [_STDLIB_H_]: Define.
15511         This works around a compilation failure on OpenBSD 4.7:
15512         http://thread.gmane.org/gmane.comp.parsers.bison.bugs/3418
15513
15514 2010-10-07  Eric Blake  <eblake@redhat.com>
15515
15516         docs: update cygwin progress
15517         * doc/glibc-functions/mkostemp.texi (mkostemp): Added in cygwin
15518         1.7.6.
15519         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
15520         * doc/posix-headers/fenv.texi (fenv.h): Added after cygwin 1.7.7.
15521         * doc/posix-functions/feclearexcept.texi (feclearexcept): Likewise.
15522         * doc/posix-functions/fegetenv.texi (fegetenv): Likewise.
15523         * doc/posix-functions/fegetexceptflag.texi (fegetexceptflag):
15524         Likewise.
15525         * doc/posix-functions/fegetround.texi (fegetround): Likewise.
15526         * doc/posix-functions/feholdexcept.texi (feholdexcept): Likewise.
15527         * doc/posix-functions/feraiseexcept.texi (feraiseexcept):
15528         Likewise.
15529         * doc/posix-functions/fesetenv.texi (fesetenv): Likewise.
15530         * doc/posix-functions/fesetexceptflag.texi (fesetexceptflag):
15531         Likewise.
15532         * doc/posix-functions/fesetround.texi (fesetround): Likewise.
15533         * doc/posix-functions/fetestexcept.texi (fetestexcept): Likewise.
15534         * doc/posix-functions/feupdateenv.texi (feupdateenv): Likewise.
15535         * doc/glibc-functions/feenableexcept.texi (feenableexcept):
15536         Likewise.
15537         * doc/glibc-functions/fedisableexcept.texi (fedisableexcept):
15538         Likewise.
15539         * doc/glibc-functions/fegetexcept.texi (fegetexcept): Likewise.
15540
15541         docs: update parse-datetime history
15542         * doc/parse-datetime.texi (Authors of parse_datetime): Better
15543         documentation of this function's history and alternatives.
15544
15545         cygwin: use more robust version check
15546         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Don't
15547         exclude an eventual cygwin 1.9.1.
15548         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
15549         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
15550         (gl_FUNC_STRCASESTR): Likewise.
15551         Reported by Bruno Haible.
15552
15553 2010-10-06  Bruno Haible  <bruno@clisp.org>
15554
15555         string, sys_select: Avoid #including large headers unless necessary.
15556         * lib/string.in.h: Don't include <unistd.h> except on NetBSD.
15557         * lib/sys_select.in.h: Don't include <string.h> except on Solaris,
15558         OSF/1, BeOS, Haiku.
15559         Reported by Jim Meyering.
15560
15561 2010-10-05  Eric Blake  <eblake@redhat.com>
15562
15563         memmem, strstr, strcasestr: fix bug with long periodic needle
15564         * lib/str-two-way.h (two_way_long_needle): Avoid bug with long
15565         periodic needle having false positive.
15566         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Detect bug in glibc 2.12
15567         and cygwin 1.7.7.
15568         (gl_FUNC_MEMMEM): Be more pessimistic when cross-compiling.
15569         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
15570         (gl_FUNC_STRCASESTR): Likewise.
15571         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
15572         * tests/test-memmem.c (main): Expose the bug.
15573         * tests/test-strcasestr.c (main): Likewise.
15574         * tests/test-strstr.c (main): Likewise.
15575         * tests/test-c-strcasestr.c (main): Likewise.
15576         * doc/glibc-functions/memmem.texi (memmem): Document the bug.
15577         * doc/posix-functions/strstr.texi (strstr): Likewise.
15578         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
15579         Reported via http://sourceware.org/bugzilla/show_bug.cgi?id=12092
15580
15581 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
15582
15583         parse-datetime: do some more renaming
15584         * doc/parse-datetime.texi (Authors of parse_datetime): Call it
15585         parse_datetime, not get_date.  Mention the renaming.
15586         * lib/parse-datetime.y:  Call it parse_datetime, not getdate,
15587         in comments.
15588         * m4/bison.m4: Likewise.
15589
15590 2010-10-05  Eric Blake  <eblake@redhat.com>
15591
15592         parse-datetime: better name than get_date
15593         * NEWS: Reword the deprecation notice.
15594         * modules/get_date: Rename to modules/parse-datetime.
15595         * modules/get_date-tests: Rename to modules/parse-datetime-tests.
15596         * m4/get_date.m4: Rename to m4/parse-datetime.m4.
15597         * lib/get_date.y: Rename to lib/parse-datetime.y.
15598         * tests/test-get_date.c: Rename to tests/test-parse-datetime.c.
15599         * doc/get_date.texi: Rename to doc/parse-datetime.texi.
15600         * doc/getdate.texi: Provide fallback wrapper.
15601         * lib/getdate.h: Move guts, and wrap...
15602         * lib/parse-datetime.h: ...new file.
15603         * lib/parse-datetime.y (get_date): Rename...
15604         (parse_datetime): ...to this.
15605         * m4/parse-datetime.m4 (gl_GET_DATE): Rename...
15606         (gl_PARSE_DATETIME): ...to this.
15607         * doc/posix-functions/getdate.texi (get_date): Provide fallback
15608         documentation.
15609         * modules/getdate (Files): Provide fallback docs and header.
15610         (Notice, Depends-on): Update references.
15611         * tests/test-parse-datetime.c: Likewise.
15612         * DEPENDENCIES: Likewise.
15613         * MODULES.html.sh (Date and time <time.h>): Likewise.
15614         * doc/parse-datetime.texi (Date input formats)
15615         (Authors of parse_datetime): Likewise.
15616         * modules/parse-datetime (Files, configure.ac, Makefile.am)
15617         (Include): Likewise.
15618         * modules/parse-datetime-tests (Files, Makefile.am): Likewise.
15619         * gnulib-tool: Likewise.
15620         * m4/bison.m4 (gl_BISON): Likewise.
15621         Suggested by Bruno Haible.
15622
15623 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
15624
15625         more ports to Solaris tr, which needs [] around ranges
15626         * gnulib-tool: Solaris tr needs [] around ranges.
15627         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
15628         * tests/test-pipe-filter-gi1.c (main): Likewise.
15629         * tests/test-pipe-filter-ii1.c (main): Likewise.
15630
15631 2010-10-05  Eric Blake  <eblake@redhat.com>
15632
15633         bootstrap: fix Solaris regression
15634         * build-aux/bootstrap (check_versions): Solaris tr still needs []
15635         around ranges.
15636         Reported by Pádraig Brady.
15637
15638         bootstrap: work with pkg-config
15639         * build-aux/bootstrap (check_versions): Also transliterate - in
15640         prerequisite name.
15641         (print_versions): Be robust to any \ in $buildreq.  Avoid listing
15642         prerequisites that were already found, to avoid confusion.
15643         Reported by Justin Clift.
15644
15645         faccessat: remove unused wrappers
15646         * lib/openat.h (accessat, euidaccesat): Delete, since the mere
15647         presence of these wrappers dragged in -lgen on Solaris.
15648         Reported by Clemens Brogi; fix suggested by Paul Eggert.
15649
15650 2010-10-05  Jim Meyering  <meyering@redhat.com>
15651
15652         tests: require @PRAGMA_COLUMNS@ with each @PRAGMA_SYSTEM_HEADER@
15653         * Makefile (sc_pragma_columns): New syntax-check rule.
15654
15655 2010-10-04  Bruno Haible  <bruno@clisp.org>
15656
15657         gnulib-tool: Synthesize appropriate _LDFLAGS for a libtool library.
15658         * gnulib-tool (func_emit_lib_Makefile_am): When preparing for a libtool
15659         library, put '-no-undefined' and the link dependencies into _LDFLAGS.
15660         Reported by Bruce Korb and Eric Blake.
15661
15662 2010-10-04  Bruno Haible  <bruno@clisp.org>
15663
15664         threadlib: Make option --with-libpth-prefix work.
15665         * m4/threadlib.m4 (gl_THREADLIB_BODY): When testing whether pth works,
15666         use $LIBPTH, not just -lpth.
15667
15668 2010-10-04  Bruno Haible  <bruno@clisp.org>
15669
15670         Avoid line length limitation from HP NonStop system header files.
15671         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define also PRAGMA_COLUMNS.
15672         * lib/arpa_inet.in.h: Use PRAGMA_COLUMNS.
15673         * lib/ctype.in.h: Likewise.
15674         * lib/dirent.in.h: Likewise.
15675         * lib/errno.in.h: Likewise.
15676         * lib/fcntl.in.h: Likewise.
15677         * lib/float.in.h: Likewise.
15678         * lib/getopt.in.h: Likewise.
15679         * lib/iconv.in.h: Likewise.
15680         * lib/inttypes.in.h: Likewise.
15681         * lib/langinfo.in.h: Likewise.
15682         * lib/locale.in.h: Likewise.
15683         * lib/math.in.h: Likewise.
15684         * lib/netdb.in.h: Likewise.
15685         * lib/netinet_in.in.h: Likewise.
15686         * lib/poll.in.h: Likewise.
15687         * lib/pthread.in.h: Likewise.
15688         * lib/pty.in.h: Likewise.
15689         * lib/sched.in.h: Likewise.
15690         * lib/se-selinux.in.h: Likewise.
15691         * lib/search.in.h: Likewise.
15692         * lib/signal.in.h: Likewise.
15693         * lib/spawn.in.h: Likewise.
15694         * lib/stdarg.in.h: Likewise.
15695         * lib/stddef.in.h: Likewise.
15696         * lib/stdint.in.h: Likewise.
15697         * lib/stdio.in.h: Likewise.
15698         * lib/stdlib.in.h: Likewise.
15699         * lib/string.in.h: Likewise.
15700         * lib/strings.in.h: Likewise.
15701         * lib/sys_file.in.h: Likewise.
15702         * lib/sys_ioctl.in.h: Likewise.
15703         * lib/sys_select.in.h: Likewise.
15704         * lib/sys_socket.in.h: Likewise.
15705         * lib/sys_stat.in.h: Likewise.
15706         * lib/sys_time.in.h: Likewise.
15707         * lib/sys_times.in.h: Likewise.
15708         * lib/sys_utsname.in.h: Likewise.
15709         * lib/sys_wait.in.h: Likewise.
15710         * lib/sysexits.in.h: Likewise.
15711         * lib/termios.in.h: Likewise.
15712         * lib/time.in.h: Likewise.
15713         * lib/unistd.in.h: Likewise.
15714         * lib/wchar.in.h: Likewise.
15715         * lib/wctype.in.h: Likewise.
15716         * modules/arpa_inet (Makefile.am): Substitute PRAGMA_COLUMNS.
15717         * modules/ctype (Makefile.am): Likewise.
15718         * modules/dirent (Makefile.am): Likewise.
15719         * modules/errno (Makefile.am): Likewise.
15720         * modules/fcntl-h (Makefile.am): Likewise.
15721         * modules/float (Makefile.am): Likewise.
15722         * modules/getopt-posix (Makefile.am): Likewise.
15723         * modules/iconv-h (Makefile.am): Likewise.
15724         * modules/inttypes (Makefile.am): Likewise.
15725         * modules/langinfo (Makefile.am): Likewise.
15726         * modules/locale (Makefile.am): Likewise.
15727         * modules/math (Makefile.am): Likewise.
15728         * modules/netdb (Makefile.am): Likewise.
15729         * modules/netinet_in (Makefile.am): Likewise.
15730         * modules/poll-h (Makefile.am): Likewise.
15731         * modules/pthread (Makefile.am): Likewise.
15732         * modules/pty (Makefile.am): Likewise.
15733         * modules/sched (Makefile.am): Likewise.
15734         * modules/search (Makefile.am): Likewise.
15735         * modules/selinux-h (Makefile.am): Likewise.
15736         * modules/signal (Makefile.am): Likewise.
15737         * modules/spawn (Makefile.am): Likewise.
15738         * modules/stdarg (Makefile.am): Likewise.
15739         * modules/stddef (Makefile.am): Likewise.
15740         * modules/stdint (Makefile.am): Likewise.
15741         * modules/stdio (Makefile.am): Likewise.
15742         * modules/stdlib (Makefile.am): Likewise.
15743         * modules/string (Makefile.am): Likewise.
15744         * modules/strings (Makefile.am): Likewise.
15745         * modules/sys_file (Makefile.am): Likewise.
15746         * modules/sys_ioctl (Makefile.am): Likewise.
15747         * modules/sys_select (Makefile.am): Likewise.
15748         * modules/sys_socket (Makefile.am): Likewise.
15749         * modules/sys_stat (Makefile.am): Likewise.
15750         * modules/sys_time (Makefile.am): Likewise.
15751         * modules/sys_times (Makefile.am): Likewise.
15752         * modules/sys_utsname (Makefile.am): Likewise.
15753         * modules/sys_wait (Makefile.am): Likewise.
15754         * modules/sysexits (Makefile.am): Likewise.
15755         * modules/termios (Makefile.am): Likewise.
15756         * modules/time (Makefile.am): Likewise.
15757         * modules/unistd (Makefile.am): Likewise.
15758         * modules/wchar (Makefile.am): Likewise.
15759         * modules/wctype (Makefile.am): Likewise.
15760
15761 2010-10-04  Bruno Haible  <bruno@clisp.org>
15762
15763         read-file tests: Avoid a test failure on NonStop Kernel.
15764         * tests/test-read-file.c (main): Don't assume that /etc/resolv.conf is
15765         a regular file.
15766         Reported by Joachim Schmitz <schmitz@hp.com>.
15767
15768 2010-10-03  Bruno Haible  <bruno@clisp.org>
15769
15770         gnulib-tool: Fixes for --create-testdir with --libtool.
15771         * gnulib-tool (func_get_automake_snippet): Don't augment
15772         EXTRA_lib_SOURCES for the pt_chown module, since pt_chown.o goes into
15773         an executable.
15774         (func_create_testdir): Handle module 'alloca' like func_import.
15775         Reported by Bruce Korb <bruce.korb@gmail.com>.
15776
15777 2010-10-03  Paul Eggert  <eggert@cs.ucla.edu>
15778
15779         Avoid some lines longer than 80 characters.
15780         * lib/stdint.in.h: Break long comment lines.
15781         * lib/math.in.h: Likewise.
15782         (_GL_NUM_UINT_WORDS): New macro, for readability.
15783         (gl_signbitf, gl_signbitd, gl_signbitl): Use it.
15784         * lib/stdio.in.h: Break lines in _GL_WARN_ON_USE calls.
15785         * lib/stdlib.in.h: Likewise.
15786         * lib/spawn.in.h: Likewise.
15787         * lib/sys_socket.in.h: Update an URL.
15788         * lib/sys_stat.in.h: Break long line.
15789
15790 2010-10-03  Reuben Thomas  <rrt@sc3d.org>
15791
15792         Improve pmccabe2html.
15793         * build-aux/pmccabe2html: Add CYCLO_SRCS variable, and make
15794         cyclo-$(PACKAGE).html depend on it, so the HTML file is remade
15795         when the sources change. Remove the line in the HTML about "Used
15796         ranges" (which implied that there might be other unused ranges),
15797         rename "Resume" to "Summary" (easier to understand for more users).
15798         * build-aux/pmccabe.css: Removing the dashed dividers, some unused
15799         styles, and some unnecessary blank lines.
15800
15801 2010-10-03  Bruno Haible  <bruno@clisp.org>
15802             Joachim Schmitz  <schmitz@hp.com>  (tiny change)
15803
15804         acl: Add support for ACLs on NonStop Kernel.
15805         * m4/acl.m4 (gl_FUNC_ACL): For Solaris, test for facl(), not for acl().
15806         Check whether the function aclsort() exists.
15807         * lib/acl-internal.h: For Solaris, test HAVE_FACL, not HAVE_ACL.
15808         (acl_nontrivial) [HAVE_ACLSORT]: New declaration.
15809         * lib/file-has-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
15810         (acl_nontrivial [HAVE_ACLSORT]: New function.
15811         (file_has_acl): Implement for NonStop Kernel.
15812         * lib/set-mode-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
15813         (qset_acl): Implement for NonStop Kernel.
15814         * lib/copy-acl.c (qcopy_acl): Implement for NonStop Kernel.
15815         * tests/test-sameacls.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
15816         (main): Implement for NonStop Kernel.
15817         * tests/test-file-has-acl.sh (acl_flavor): Set to 'nsk' on NonStop
15818         Kernel. Handle this flavor.
15819         * tests/test-set-mode-acl.sh: Likewise.
15820         * tests/test-copy-acl.sh: Likewise.
15821         * tests/test-copy-file.sh: Likewise.
15822
15823 2010-10-03  Bruno Haible  <bruno@clisp.org>
15824
15825         Info about ACLs on NonStop Kernel.
15826         * doc/acl-resources.txt: Add info about NonStop Kernel.
15827         References by Joachim Schmitz <schmitz@hp.com>.
15828
15829 2010-10-02  Bruno Haible  <bruno@clisp.org>
15830
15831         Define missing EDQUOT on NonStop Kernel.
15832         * lib/errno.in.h (EDQUOT): Assign a value if missing.
15833         * lib/strerror.c (rpl_strerror): Handle missing EDQUOT.
15834         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether EDQUOT is
15835         missing.
15836         * doc/posix-headers/errno.texi: Mention the NSK bug.
15837         * doc/posix-functions/strerror.texi: Mention the workaround on NSK.
15838         Reported by Joachim Schmitz <schmitz@hp.com>.
15839
15840 2010-10-02  Bruno Haible  <bruno@clisp.org>
15841
15842         Update doc for POSIX:2008.
15843         * doc/posix-headers/*.texi [except ucontext.texi, sys_timeb.texi]:
15844         Update URL of POSIX specification.
15845
15846 2010-10-02  Bruno Haible  <bruno@clisp.org>
15847
15848         gnulib-tool: In testdirs, use the newest available config.{guess.sub}.
15849         * gnulib-tool (func_create_testdir): Use config.guess and config.sub
15850         from gnulib, not from Automake.
15851
15852 2010-10-02  Bruno Haible  <bruno@clisp.org>
15853
15854         New module 'system-posix'.
15855         * modules/system-posix: New file.
15856         * lib/stdlib.in.h: Include <sys/wait.h> only when the 'system-posix'
15857         module is present.
15858         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
15859         GNULIB_SYSTEM_POSIX.
15860         * modules/stdlib (Depends-on): Remove sys_wait.
15861         (Makefile.am): Substitute GNULIB_SYSTEM_POSIX.
15862         * doc/posix-functions/system.texi: Mention the new module.
15863         * doc/posix-headers/stdlib.texi: Likewise.
15864         * tests/test-stdlib.c: If GNULIB_TEST_SYSTEM_POSIX is not defined,
15865         define test_sys_wait_macros to a no-op.
15866         Reported by Sam Steingold <sds@gnu.org>.
15867
15868 2010-09-30  Bruno Haible  <bruno@clisp.org>
15869
15870         More renaming from 'getdate' to 'get_date'.
15871         * doc/get_date.texi: Renamed from doc/getdate.texi.
15872         * modules/get_date (Files): Update.
15873         * MODULES.html.sh (Date and time <time.h>): Update.
15874         * DEPENDENCIES: Update.
15875         * gnulib-tool: Update comment.
15876         * m4/bison.m4 (gl_BISON): Likewise.
15877         * m4/get_date.m4 (gl_GET_DATE): Likewise.
15878
15879 2010-09-30  Justin Clift  <jclift@redhat.com>  (tiny change)
15880
15881         bootstrap: support ACLOCAL_FLAGS during aclocal
15882         * build-aux/bootstrap (aclocal): Honor ACLOCAL_FLAGS, so the user
15883         can add additional -I dir for third-party .m4 files.
15884
15885 2010-09-30  Eric Blake  <eblake@redhat.com>
15886
15887         bootstrap: use glibtoolize on MacOS
15888         * build-aux/bootstrap (check_versions): Convert libtool into
15889         libtoolize.
15890         (tool search): Move libtool check earlier, and look for
15891         glibtoolize for MacOS.
15892         (gnulib_tool_options): Auto-add --libtool when appropriate.
15893         Reported by Justin Clift.
15894
15895         poll: fix typo that broke test on MacOS
15896         * m4/poll.m4 (gl_FUNC_POLL): Add missing test.
15897         Reported by Justin Clift.
15898
15899         getdate: rename to get_date
15900         Note: getdate.h is not renamed, to minimize client impact.
15901         * modules/getdate: Mark obsolete.  Move old contents...
15902         * modules/get_date: ...to new module name.
15903         * modules/getdate-tests: Move...
15904         * modules/get_date-tests: ...here.
15905         * m4/getdate.m4: Move...
15906         * m4/get_date.m4: ...here, and rename gl_GETDATE to gl_GET_DATE.
15907         * lib/getdate.y: Move...
15908         * lib/get_date.y: ...here.
15909         * tests/test-getdate.c: Move...
15910         * tests/test-get_date.c: ...here.
15911         * doc/posix-functions/getdate.texi (getdate): Update name.
15912         * NEWS: Mention the change.
15913
15914 2010-09-29  Bruno Haible  <bruno@clisp.org>
15915
15916         Separate the module 'waitpid' from the module 'sys_wait'.
15917         * lib/sys_wait.in.h (waitpid): Declare only if the 'waitpid' module is
15918         present.
15919         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Invoke
15920         gl_MODULE_INDICATOR_FOR_TESTS.
15921         (gl_SYS_WAIT_H_DEFAULTS): Initialize GNULIB_WAITPID.
15922         * modules/sys_wait (Depends-on): Remove waitpid.
15923         (Makefile.am): Substitute GNULIB_WAITPID.
15924         * modules/waitpid (configure.ac): Invoke gl_SYS_WAIT_MODULE_INDICATOR.
15925         * tests/test-sys_wait-c++.cc (GNULIB_NAMESPACE::waitpid): Check the
15926         signature only if the 'waitpid' module is present.
15927         * doc/posix-functions/waitpid.texi: Mention the 'waitpid' module.
15928         * NEWS: Mention the change.
15929         * modules/grantpt (Depends-on): Add waitpid.
15930         * modules/wait-process (Depends-on): Likewise.
15931
15932 2010-09-29  Bruno Haible  <bruno@clisp.org>
15933
15934         More tests for module 'sys_wait'.
15935         * modules/sys_wait-c++-tests: New file.
15936         * tests/test-sys_wait-c++.cc: New file.
15937         * modules/sys_wait-tests (Depends-on): Add sys_wait-c++-tests.
15938         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
15939
15940 2010-09-29  Bruno Haible  <bruno@clisp.org>
15941
15942         New module 'waitpid'.
15943         * lib/waitpid.c: New file, extracted from lib/sys_wait.in.h.
15944         * lib/sys_wait.in.h: Include <sys/types.h>, c++defs.h, warn-on-use.h.
15945         Don't include <process.h>.
15946         (waitpid): Declare only, using modern idiom.
15947         * m4/waitpid.m4: New file.
15948         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Check whether waitpid is declared.
15949         * modules/waitpid: New file.
15950         * modules/sys_wait (Depends-on): Add c++defs, warn-on-use, waitpid.
15951         (Makefile.am): Update.
15952         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
15953
15954 2010-09-28  Bruno Haible  <bruno@clisp.org>
15955
15956         poll: Assume ANSI C.
15957         * lib/poll.c (poll): Use an ANSI C declaration.
15958
15959 2010-09-28  Bruno Haible  <bruno@clisp.org>
15960
15961         poll-h: Create poll.h on all platforms.
15962         * lib/poll.in.h: Use double-inclusion guard. Don't define POLL*,
15963         struct pollfd, nfds_t, INFTIM when the system has <poll.h>.
15964         * m4/poll_h.m4 (gl_POLL_H): Set HAVE_POLL_H. Invoke
15965         gl_CHECK_NEXT_HEADERS. Don't set POLL_H.
15966         (gl_REPLACE_POLL_H): Don't set POLL_H.
15967         (gl_POLL_H_DEFAULTS): Don't initialize POLL_H.
15968         * modules/poll-h (Depends-on): Add include_next.
15969         (Makefile.am): Create poll.h unconditionally. Substitute also
15970         HAVE_POLL_H, INCLUDE_NEXT, PRAGMA_SYSTEM_HEADER, NEXT_POLL_H.
15971
15972 2010-09-28  Bruno Haible  <bruno@clisp.org>
15973
15974         Tests for module 'poll-h'.
15975         * modules/poll-h-c++-tests: New file.
15976         * tests/test-poll-h-c++.cc: New file.
15977
15978         Tests for module 'poll-h'.
15979         * modules/poll-h-tests: New file.
15980         * tests/test-poll-h.c: New file.
15981
15982 2010-09-28  Bruno Haible  <bruno@clisp.org>
15983
15984         poll-h: Ensure POLL{RD,WR}{NORM,BAND} are defined on glibc platforms.
15985         * modules/poll-h (Depends-on): Add 'extensions'.
15986
15987 2010-09-28  Bruno Haible  <bruno@clisp.org>
15988
15989         New module 'poll-h'.
15990         * lib/poll.in.h: Include c++defs.h and warn-on-use.h.
15991         (poll): Use modern idiom.
15992         * modules/poll-h: New file.
15993         * modules/poll (Files): Remove lib/poll.in.h.
15994         (Depends-on): Add poll-h.
15995         (configure.ac): Invoke gl_POLL_MODULE_INDICATOR.
15996         (Makefile.am): Move code for generation of poll.h to modules/poll-h.
15997         * m4/poll_h.m4: New file.
15998         * m4/poll.m4 (gl_FUNC_POLL): Require gl_POLL_H. Don't check for poll.h
15999         here. Don't set POLL_H here. Instead, set HAVE_POLL and REPLACE_POLL
16000         and invoke gl_REPLACE_POLL_H.
16001         * lib/poll.c: Use common idiom.
16002         * tests/test-poll.c: Likewise.
16003         * doc/posix-headers/poll.texi: Mention the poll-h module.
16004         Suggested by Eric Blake.
16005
16006 2010-09-26  Bruno Haible  <bruno@clisp.org>
16007
16008         sys_wait: Implement WSTOPSIG.
16009         * lib/sys_wait.in.h (WSTOPSIG): New macro.
16010         Reported by Simon Josefsson.
16011
16012 2010-09-26  Simon Josefsson  <simon@josefsson.org>
16013
16014         stdlib, sys_wait: Avoid compilation error on mingw.
16015         * lib/sys_wait.in.h: Include <signal.h>, for SIGTERM.
16016
16017 2010-09-26  Bruno Haible  <bruno@clisp.org>
16018
16019         stdlib tests: Avoid code duplication.
16020         * modules/stdlib-tests (Files): Add tests/test-sys_wait.h.
16021         * modules/sys_wait-tests (Files): Likewise.
16022         * tests/test-sys_wait.h: New file, extracted from tests/test-stdlib.c.
16023         * tests/test-stdlib.c: Include test-sys_wait.h.
16024         (main): Invoke test_sys_wait_macros.
16025         * tests/test-sys_wait.c: Include test-sys_wait.h.
16026         (main): Invoke test_sys_wait_macros.
16027
16028 2010-09-25  Simon Josefsson  <simon@josefsson.org>
16029
16030         * modules/getaddrinfo (Depends-on): Depend on the sockets module.
16031         * lib/getaddrinfo.c (use_win32_p): Call gl_sockets_startup to make
16032         sure Windows sockets are working before calling getaddrinfo.
16033         * tests/test-getaddrinfo.c (main): Don't call WSAStartup here.
16034         * doc/gnulib.texi (Windows sockets): Fix typo.
16035
16036 2010-09-25  Bruno Haible  <bruno@clisp.org>
16037
16038         Tests for module 'regex-quote'.
16039         * modules/regex-quote-tests: New file.
16040         * tests/test-regex-quote.c: New file.
16041
16042         New module 'regex-quote'.
16043         * lib/regex-quote.h: New file.
16044         * lib/regex-quote.c: New file.
16045         * modules/regex-quote: New file.
16046         Suggested by Reuben Thomas <rrt@sc3d.org>.
16047
16048 2010-09-24  Bruno Haible  <bruno@clisp.org>
16049
16050         unistr/u8-strchr: Fix a test failure on i586 glibc systems.
16051         * tests/unistr/test-strchr.h (test_strchr): Disable an invalid check.
16052
16053 2010-09-23  Bruno Haible  <bruno@clisp.org>
16054
16055         setenv: Relax license.
16056         * modules/setenv (License): Change to LGPLv2+, with consent by Eric
16057         Blake.
16058         Requested by Eric Blake.
16059
16060 2010-09-22  Bruno Haible  <bruno@clisp.org>
16061
16062         termios: Relax license.
16063         * modules/termios (License): Change to LGPLv2+.
16064         Requested by Eric Blake.
16065
16066 2010-09-22  Bruno Haible  <bruno@clisp.org>
16067
16068         threadlib: Allow the package to change the default to 'no'.
16069         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): When
16070         gl_THREADLIB_DEFAULT_NO is defined, change the default to 'no'.
16071         Reported by Paul Eggert.
16072
16073 2010-09-22  Pádraig Brady  <P@draigbrady.com>
16074             Bruno Haible  <bruno@clisp.org>
16075
16076         Fix endless loop in mbmemcasecoll.
16077         * lib/mbmemcasecoll.c (apply_towlower): When mbrtowc returns 0, copy 1
16078         byte.
16079         * tests/test-mbmemcasecmp.h (test_ascii): Test embedded NULs.
16080
16081 2010-09-22  Bruno Haible  <bruno@clisp.org>
16082
16083         Tests for module 'memcoll'.
16084         * modules/memcoll-tests: New file.
16085         * tests/test-memcoll.c: New file, based on tests/test-memcmp.c.
16086
16087         memcoll, xmemcoll: Clarify size vs. length.
16088         * modules/memcoll.c (memcoll0): Clarify specification.
16089         * modules/xmemcoll.c (xmemcoll0): Likewise. Reduce by 1 the lengths
16090         passed to collate_error.
16091
16092 2010-09-22  Bruno Haible  <bruno@clisp.org>
16093
16094         Tests for module 'memcasecmp'.
16095         * modules/memcasecmp-tests: New file.
16096         * tests/test-memcasecmp.c: New file, based on tests/test-memcmp.c.
16097
16098 2010-09-22  Paul Eggert  <eggert@cs.ucla.edu>
16099
16100         * lib/pthread.in.h: Add split double-inclusion guard, and include
16101         system <pthread.h> if there is one.  Use @@-style as in other
16102         .in.h files.  Define PTHREAD_COND_INITIALIZER etc. only if system
16103         pthread.h doesn't.
16104         (pthread_mutexattr_destroy, pthread_mutexattr_init):
16105         (pthread_mutexattr_settype, pthread_mutex_trylock):
16106         New static inline functions, if there's no system <pthread.h>.
16107         (pthread_spinlock_t, pthread_spin_init, pthread_spin_destroy):
16108         (pthread_spin_lock, pthread_spin_trylock, pthread_spin_unlock):
16109         Approximate with mutexes if the system lacks spinlocks, as in
16110         MacOS.
16111         * m4/pthread.m4 (gl_PTHREAD_CHECK): Require gl_PTHREAD_DEFAULTS.
16112         Add gl_CHECK_NEXT_HEADERS for pthread.h, and support the usual
16113         @@-style.  Check for spinlocks separately.
16114         (gl_PTHREAD_DEFAULTS): New macro.
16115         * modules/pthread: Redo to use a more typical style for in.h files.
16116
16117 2010-09-21  Eric Blake  <eblake@redhat.com>
16118
16119         net_if: enhance tests
16120         * tests/test-net_if.c (main): Move signature checks earlier.
16121         Print failures to stderr.
16122         * doc/posix-functions/if_freenameindex.texi (if_freenameindex):
16123         Document the bug that we do not yet fix.
16124
16125 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
16126
16127         * doc/gnulib.texi (Out of memory handling): Rewrite section to be
16128         about gnulib, not GSS.
16129
16130 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
16131
16132         * build-aux/pmccabe2html: Look for sources in src/ instead of lib/.
16133         * build-aux/pmccabe2html: Set cut_dir properly, and add mode line
16134         for Emacs.
16135         * build-aux/pmccabe2html: Make Makefile.am example code more
16136         cut-and-paste friendly.
16137
16138 2010-09-21  Simon Josefsson  <simon@josefsson.org>
16139
16140         * tests/test-net_if.c: New file.
16141         * modules/net_if-tests: New file.
16142
16143 2010-09-20  Paul Eggert  <eggert@cs.ucla.edu>
16144
16145         pthread: add pthread_spin_destroy
16146         * lib/pthread.in.h (pthread_spin_destroy): New function.
16147
16148 2010-09-19  Bruno Haible  <bruno@clisp.org>
16149
16150         gnulib-tool: Fix --help output.
16151         * gnulib-tool (func_usage): Fix help message.
16152         Reported by Reuben Thomas <rrt@sc3d.org>.
16153
16154 2010-09-18  Jim Meyering  <meyering@redhat.com>
16155
16156         maint.mk: avoid unexpanded \n in two diagnostics
16157         * top/maint.mk (sc_prohibit_always_true_header_tests):
16158         Don't use a literal \n in a halt=... assignment.  It would not be
16159         expanded, and the two \n bytes would appear in the diagnostic output
16160         rather than the desired newline.  Use halt=$$(printf ... instead.
16161         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
16162
16163 2010-09-18  Bruno Haible  <bruno@clisp.org>
16164
16165         netinet_in: Doc tweak.
16166         * doc/posix-headers/netinet_in.texi: Mention an affected platform.
16167         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
16168
16169 2010-09-18  Jim Meyering  <meyering@redhat.com>
16170
16171         init.sh: correct an outdated comment
16172         * tests/init.sh (create_exe_shims_):  s/function/alias/
16173
16174         init.sh: don't let an ephemeral "*.exe" make us skip all dir entries
16175         * tests/init.sh (find_exe_basenames_): Don't give up on a directory if
16176         a file named "*.exe" is removed between the glob expansion and the
16177         processing of that oddly named file.
16178
16179 2010-09-17  Eric Blake  <eblake@redhat.com>
16180
16181         mirbsd: add some more support
16182         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): MirBSD is
16183         in BSD family.
16184         * m4/gc-random.m4 (gl_GC_RANDOM): MirBSD supports same random
16185         devices as OpenBSD.
16186         * m4/host-os.m4 (mirbsd): Add MirBSD.
16187
16188         tests: fix unportable assumption on sys/wait.h
16189         * tests/test-sys_wait.c (main): Relax test.
16190         * tests/test-stdlib.c (main): Likewise.
16191
16192         init.sh: accomodate directory with no .exes
16193         * tests/init.sh: Accomodate directory containing only scripts.
16194
16195         tests: avoid compiler warning
16196         * tests/test-stdlib.c (main): Use the variable.
16197
16198         fdutimens, fdutimensat: update signature, again
16199         * lib/utimens.h (gl_futimens): Delete, and move signature...
16200         (fdutimens): ...here.
16201         (fdutimensat): Rearrange signature.
16202         (lutimensat): Rename variable for clarity.
16203         * lib/fdutimensat.c (fdutimensat): Update signature.
16204         * lib/utimens.c (fdutimens): Likewise.
16205         (gl_futimens): Delete.
16206         (utimens, lutimens): Update callers.
16207         * lib/futimens.c (futimens): Likewise.
16208         * tests/test-fdutimensat.c: Likewise.
16209         * tests/test-utimens.c: Likewise.
16210         * tests/test-futimens.h: Update comment.
16211         * NEWS: Mention this.
16212         Suggested by Paul Eggert.
16213
16214 2010-09-17  Bruno Haible  <bruno@clisp.org>
16215
16216         Take over the maintenance of some older macros from Autoconf.
16217         * m4/error.m4 (AC_FUNC_ERROR_AT_LINE): New macro, from GNU Autoconf.
16218         * m4/lstat.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): New macro, from
16219         GNU Autoconf.
16220         * m4/memcmp.m4 (AC_FUNC_MEMCMP): New macro, from GNU Autoconf.
16221         * m4/mktime.m4 (AC_FUNC_MKTIME): Change comment.
16222
16223 2010-09-17  Eric Blake  <eblake@redhat.com>
16224
16225         fdutimensat: drop atflag validation
16226         * lib/fdutimensat.c (fdutimensat): Allow AT_SYMLINK_NOFOLLOW even
16227         with valid fd, to close a race scenario where futimens is
16228         unsupported and FILE was replaced by a symlink.
16229         * tests/test-fdutimensat.c (do_fdutimens, main): Adjust test
16230         accordingly.
16231         Suggested by Paul Eggert.
16232
16233 2010-09-16  Bruno Haible  <bruno@clisp.org>
16234
16235         unlockpt: Fix declaration within GNULIB_POSIXCHECK.
16236         * lib/stdlib.in.h (unlockpt): Fix warning declaration.
16237
16238 2010-09-16  Bruno Haible  <bruno@clisp.org>
16239
16240         login_tty: Fix detection of function on FreeBSD, OpenBSD, NetBSD.
16241         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Augment LIBS while checking whether
16242         login_tty exists.
16243         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
16244
16245 2010-09-16  Bruno Haible  <bruno@clisp.org>
16246
16247         login_tty: Make the replacement code work on BSD systems.
16248         * lib/login_tty.c: Include <sys/ioctl.h>.
16249         (login_tty): Use ioctl TIOCSCTTY when available.
16250         * modules/login_tty (Depends-on): Add sys_ioctl.
16251         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
16252
16253 2010-09-16  Bruno Haible  <bruno@clisp.org>
16254
16255         login_tty: Stricter unit test.
16256         * modules/login_tty-tests (Depends-on): Add tcgetsid.
16257         * tests/test-login_tty.c (main): Also check the results of tcgetpgrp()
16258         and tcgetsid() after login_tty.
16259         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
16260
16261 2010-09-16  Bruno Haible  <bruno@clisp.org>
16262
16263         New module 'tcgetsid'.
16264         * lib/tcgetsid.c: New file.
16265         * m4/tcgetsid.m4: New file.
16266         * modules/tcgetsid: New file.
16267         * modules/termios (Depends-on): Add c++defs, warn-on-use.
16268         (Makefile.am): Ensure c++defs.h, warn-on-use.h get included. Substitute
16269         GNULIB_TCGETSID, HAVE_TCGETSID.
16270         * lib/termios.in.h: Include <sys/types.h>.
16271         (tcgetsid): New declaration.
16272         * m4/termios_h.m4 (gl_TERMIOS_H): Check whether tcgetsid is declared.
16273         (gl_TERMIOS_H_DEFAULTS): Initialize GNULIB_TCGETSID, HAVE_TCGETSID.
16274         * doc/posix-functions/tcgetsid.texi: Mention the new module.
16275         * tests/test-termios-c++.cc: Check GNULIB_NAMESPACE::tcgetsid.
16276
16277 2010-09-16  Bruno Haible  <bruno@clisp.org>
16278
16279         Tests for module 'termios'.
16280         * modules/termios-c++-tests: New file.
16281         * modules/termios-tests: New file.
16282         * tests/test-termios-c++.cc: New file.
16283         * tests/test-termios.c: New file.
16284
16285         New module 'termios'.
16286         * modules/termios: New file.
16287         * lib/termios.in.h: New file.
16288         * m4/termios_h.m4: New file.
16289         * doc/posix-headers/termios.texi: Mention the new module.
16290
16291 2010-09-16  Eric Blake  <eblake@redhat.com>
16292
16293         fdutimensat: add an atflag parameter
16294         * lib/fdutimensat.c (fdutimensat): Add new parameter.
16295         * lib/utimens.h (fdutimensat): Update prototype.
16296         * tests/test-fdutimensat.c: Adjust test to match.
16297         * NEWS: Document the change.
16298         Suggested by Paul Eggert.
16299
16300 2010-09-16  Bruno Haible  <bruno@clisp.org>
16301
16302         Fix typos in comments.
16303         * lib/striconveh.h: Fix typo in comment.
16304         * lib/login_tty.c (login_tty): Likewise.
16305
16306 2010-09-15  Bruno Haible  <bruno@clisp.org>
16307
16308         stdlib: clarify MirBSD WEXITSTATUS bug
16309         * lib/stdlib.in.h: Clarify the MirBSD bug regarding WEXITSTATUS.
16310         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
16311
16312 2010-09-15  Eric Blake  <eblake@redhat.com>
16313
16314         stdlib: work around MirBSD WEXITSTATUS bug
16315         * lib/stdlib.in.h (includes): Guarantee WEXITSTATUS.
16316         * modules/stdlib (Depends-on): Add sys_wait.
16317         * tests/test-sys_wait.c (main): Enhance test.
16318         * tests/test-stdlib.c (main): Likewise.
16319         * doc/posix-headers/stdlib.texi (stdlib.h): Document the bug.
16320
16321         docs: mention MacOS issue with WEXITSTATUS(constant)
16322         * doc/posix-headers/sys_wait.texi (sys/wait.h): Document the
16323         issue.
16324         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
16325
16326         strnlen: add tests
16327         * modules/strnlen-tests: New file.
16328         * tests/test-strnlen.c: Likewise.
16329
16330 2010-09-14  Bruno Haible  <bruno@clisp.org>
16331
16332         unistr/base: Avoid link errors when module 'libunistring' is also used.
16333         * lib/unistr.in.h (u8_mbtouc_unsafe, u16_mbtouc_unsafe,
16334         u32_mbtouc_unsafe, u8_mbtouc, u16_mbtouc, u32_mbtouc, u8_mbtoucr,
16335         u16_mbtoucr, u32_mbtoucr, u8_uctomb_aux, u16_uctomb_aux, u32_uctomb):
16336         Declare also when HAVE_LIBUNISTRING is set.
16337         Reported by Pádraig Brady <P@draigbrady.com>.
16338
16339 2010-09-14  Eric Blake  <eblake@redhat.com>
16340
16341         test-rawmemchr: make more robust
16342         * modules/rawmemchr-tests (Files): Add zerosize-ptr.h, mmap-anon.m4.
16343         (Depends-on, configure.ac): Add needed prerequisites to use it.
16344         * modules/memchr-tests (Files, Depends-on, configure.ac):
16345         Likewise, to avoid implicit reliance on memchr module prereqs.
16346         * tests/test-memchr.c (main): Ensure proper masking.
16347         * tests/test-rawmemchr.c (main): Likewise.  Detect oversized
16348         reads.
16349
16350         memchr: detect glibc Alpha bug
16351         Avoids http://sourceware.org/bugzilla/show_bug.cgi?id=12019.
16352         * m4/memchr.m4 (gl_FUNC_MEMCHR): Detect glibc 2.11.2 failure on
16353         Alpha.
16354         * doc/posix-functions/memchr.texi (memchr): Tweak wording.
16355         * tests/test-memchr.c (main): Enhance test.
16356         Reported by Nelson H. F. Beebe.
16357
16358 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
16359
16360         fts, getcwd, glob: audit for dirfd returning -1
16361         * lib/fts.c (opendir): Remove #define; no longer used.
16362         (opendirat): New arg PDIR_FD.  All callers changed.
16363         (fts_build, _opendir2): Use new opendirat to avoid the need for
16364         dirfd, or for checking whether dirfd returns a negative value.
16365         Don't use opendir; always use openat followed by fdopendir.
16366         * lib/getcwd.c (__getcwd): Don't reset fd; fdopendir no longer clobbers
16367         it.
16368         * lib/glob.c (link_exists_p): Add comment explaining why dirfd never
16369         returns -1 here.
16370         * modules/fts (Depends-on): Remove dirfd.
16371         * modules/getcwd (Depends-on): Likewise.
16372
16373 2010-09-13  Eric Blake  <eblake@redhat.com>
16374
16375         float: fix broken MirBSD header
16376         * m4/float_h.m4 (gl_FLOAT_H): MirBSD copied OpenBSD's bug.
16377         * doc/posix-headers/float.texi (float.h): Document it.
16378
16379 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
16380
16381         fts: use O_NOFOLLOW to avoid race condition when opening a directory
16382         * lib/fts.c (opendirat): New arg extra_flags.
16383         (__opendir2): Use it to avoid following symlinks when opening
16384         a directory, if symlinks are not supposed to be followed.  See
16385         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00213.html>.
16386
16387         fdopendir: preserve argument fd before returning
16388         * lib/fdopendir.c: Adjust comments to say POSIX, not Solaris.
16389         (fdopendir_with_dup, fd_clone_opendir): New static functions.
16390         (fdopendir): Use them, arranging for FD to be open to the same
16391         directory that it was when it started.  (It might be temporarily
16392         closed while fdopendir is running, so this not thread- or
16393         signal-safe.)  Be careful to do the right thing even when file
16394         descriptors are scarce and dup fails with errno == EMFILE.  See
16395         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00208.html>.
16396
16397 2010-09-10  Paolo Bonzini  <bonzini@gnu.org>
16398
16399         regex: Pass the system regex if its only problem is 32-bit regoff_t.
16400         * NEWS: Document change.
16401         * m4/regex.m4: Disable test for regoff_t size.
16402
16403 2010-09-13  Jim Meyering  <meyering@redhat.com>
16404
16405         fts: don't operate on an invalid file descriptor after failed dup
16406         * lib/fts.c (fts_build): Don't call set_cloexec_flag on a
16407         negative file descriptor.
16408
16409 2010-09-12  Paul Eggert  <eggert@cs.ucla.edu>
16410
16411         savedir: add streamsavedir, deprecate fdsavedir
16412         * NEWS: Mention deprecation of fdsavedir.
16413         * lib/savedir.c (streamsavedir): New extern function, whose name
16414         ends in "savedir" to be consistent with the others.  This differs
16415         from savedirstream in that it doesn't close its argument.  The
16416         next version of GNU tar will use this instead of fdsavedir, to
16417         avoid some race conditions and conserve file descriptors.
16418         (savedirstream): Reimplement as a wrapper around streamsavedir.
16419         (fdsavedir): Add a comment deprecating this function.  As far as
16420         I know, only GNU tar used it, and GNU tar doesn't need it any more.
16421         * lib/savedir.h (streamsavedir): New decl.
16422         (fdsavedir): Add a comment deprecating this.
16423
16424 2010-09-10  Bruno Haible  <bruno@clisp.org>
16425
16426         langinfo: Fix last commit.
16427         * m4/langinfo_h.m4 (gl_LANGINFO_H): Initialize
16428         HAVE_LANGINFO_T_FMT_AMPM, HAVE_LANGINFO_YESEXPR.
16429         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
16430
16431 2010-09-10  Bruno Haible  <bruno@clisp.org>
16432
16433         relocatable-prog-wrapper: Fix compilation failure due to O_EXEC.
16434         * lib/progreloc.c (O_EXEC): Define fallback.
16435
16436 2010-09-10  Paul Eggert  <eggert@cs.ucla.edu>
16437
16438         fcntl-h: define O_CLOEXEC and O_EXEC if not defined; use new defines
16439         * NEWS: Document recent changes to fcntl-h.
16440         * doc/posix-headers/fcntl.texi (fcntl.h): Document that
16441         O_CLOEXEC is now defined to 0 if it is not defined, like other flags.
16442         Also, O_EXEC is now defined to be O_RDONLY if O_EXEC is not defined.
16443         Similarly for O_SEARCH; this last was already true, but not documented.
16444         * lib/fcntl.in.h (O_CLOEXEC): Define to 0 if not defined.
16445         * lib/dup-safer-flag.c (O_CLOEXEC): Remove now-useless #define.
16446         * lib/dup3.c, lib/pipe2.c, tests/test-dup-safer.c, tests/test-fcntl.c:
16447         Likewise.
16448         * lib/popen-safer.c (open_noinherit): Check whether O_CLOEXEC
16449         is zero, not whether it is defined.
16450         * tests/test-dup3.c, tests/test-pipe2.c (main): Likewise.
16451         * lib/progreloc.c (find_executable): Use O_EXEC rather than O_RDONLY.
16452         * lib/open.c (open): Check for O_SEARCH as well as for O_RDONLY.
16453
16454 2010-09-10  Bruno Haible  <bruno@clisp.org>
16455
16456         langinfo, nl_langinfo: Fix for IRIX 5.3.
16457         * m4/langinfo_h.m4 (gl_LANGINFO_H): Test whether langinfo.h defines
16458         T_FMT_AMPM, YESEXPR. Set HAVE_LANGINFO_T_FMT_AMPM,
16459         HAVE_LANGINFO_YESEXPR.
16460         * modules/langinfo (Makefile.am): Substitute HAVE_LANGINFO_T_FMT_AMPM,
16461         HAVE_LANGINFO_YESEXPR.
16462         * lib/langinfo.in.h (T_FMT_AMPM, GNULIB_defined_T_FMT_AMPM): Define if
16463         HAVE_LANGINFO_T_FMT_AMPM is 0.
16464         (YESEXPR, NOEXPR, GNULIB_defined_YESEXPR): Define if
16465         HAVE_LANGINFO_YESEXPR is 0.
16466         * lib/nl_langinfo.c (rpl_nl_langinfo): Handle also T_FMT_AMPM, YESEXPR,
16467         NOEXPR.
16468         * doc/posix-headers/langinfo.texi: Mention the IRIX 5.3 problem.
16469         * doc/posix-functions/nl_langinfo.texi: Likewise.
16470         Reported by Eric Blake.
16471
16472 2010-09-10  Bruno Haible  <bruno@clisp.org>
16473
16474         pty, readutmp: Fix for FreeBSD 8.0 and OpenBSD 4.6.
16475         * doc/glibc-functions/login_tty.texi: Mention the include file problem
16476         on FreeBSD 8.0 and OpenBSD 4.6.
16477         * lib/pty.in.h: Include <sys/types.h> before <libutil.h>.
16478         * m4/pty_h.m4 (gl_PTY_H): Likewise.
16479         * m4/pty.m4 (gl_FUNC_FORKPTY, gl_FUNC_OPENPTY): Likewise.
16480         * m4/readutmp.m4 (gl_READUTMP): Include <sys/types.h> before <utmp.h>.
16481         Invoke AC_INCLUDES_DEFAULT instead of using the undocumented variable
16482         ac_includes_default.
16483         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
16484
16485 2010-09-09  Eric Blake  <eblake@redhat.com>
16486
16487         strsignal: work around NetBSD bug
16488         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check in <unistd.h>.
16489         * lib/string.in.h (includes): Likewise.
16490         * doc/posix-functions/strsignal.texi (strsignal): Document the
16491         bug.
16492         Reported by Nelson H. F. Beebe.
16493
16494         gnulib-tool: work with NetBSD /bin/sh
16495         * gnulib-tool (func_cache_var, func_cache_lookup_module)
16496         (func_get_description, func_get_comment, func_get_status)
16497         (func_get_notice, func_get_applicability, func_get_filelist)
16498         (func_get_dependencies, func_get_autoconf_early_snippet)
16499         (func_get_autoconf_snippet, func_get_automake_snippet)
16500         (func_get_include_directive, func_get_link_directive)
16501         (func_get_license, func_get_maintainer, func_import): Avoid
16502         shell syntax errors from parsing syntax extensions.
16503
16504 2010-09-09  Bruno Haible  <bruno@clisp.org>
16505
16506         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
16507         * gnulib-tool: Don't fiddle with file descriptors 0, 1, 2. Instead, use
16508         a reliable way to determine whether the 'alias' command works.
16509
16510 2010-09-08  Jim Meyering  <meyering@redhat.com>
16511
16512         init.sh: penalize a set-x-impaired shell; don't disqualify it
16513         * tests/init.sh: Too many shells corrupt application stderr when
16514         you set -x, so we can't afford to disqualify them, since at least
16515         on Irix-6.5, that would disqualify all bourne shells.
16516         Instead, use a two-pass approach.
16517         On the first pass, try to find a shell that meets the stricter
16518         condition that set -x does not corrupt stderr.
16519         If no shell meets the stricter condition, retest each candidate
16520         shell, but without that extra condition.  Finally, when
16521         VERBOSE=yes is requested and set -x might cause trouble, simply
16522         issue a warning and refrain from enabling debug output.
16523
16524 2010-09-08  Eric Blake  <eblake@redhat.com>
16525
16526         unsetenv: fix OpenBSD bug
16527         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for OpenBSD bug.
16528         * doc/posix-functions/unsetenv.texi (unsetenv): Update
16529         documentation.
16530         Reported by Jim Meyering.
16531
16532         strtod: work around IRIX 6.5 bug
16533         * lib/strtod.c (strtod): Reparse number on shorter string if
16534         exponent parse was invalid.
16535         * tests/test-strtod.c (main): Add check for "0x1p 2".
16536         Reported by Tom G. Christensen.
16537
16538         getopt: optimize previous patch
16539         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Correctly check for
16540         empty variable.  Speed up awk script.
16541         Reported by Paolo Bonzini.
16542
16543 2010-09-08  Jim Meyering  <meyering@redhat.com>
16544
16545         test.sh: disqualify shells for which set -x corrupts stderr
16546         * tests/init.sh: Add a test to disqualify /bin/sh from SunOS 5.11
16547         and OpenBSD 4.7.  They make it so with "set -x", environment settings
16548         appear in stderr output.  For example, this command:
16549             /bin/sh -c 'set -x; P=1 true 2> err' 2>/dev/null; cat err
16550         prints "P=1" on those two systems:
16551
16552 2010-09-08  Bruno Haible  <bruno@clisp.org>
16553
16554         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
16555         * gnulib-tool: Use stderr redirection around the 'alias' and 'unalias'
16556         commands, because some shells ignore redirections when there is an
16557         error in the command lookup.
16558         Reported by Eric Blake.
16559
16560 2010-09-07  Reuben Thomas  <rrt@sc3d.org>
16561
16562         * lib/regex.h: Fix a mention of `regex_compile' (should be
16563         `re_compile_pattern').
16564         Correct and clarify documentation for RE_CONTEXT_INVALID_DUP.
16565         (re_set_registers): Correct name of parameter in comment.
16566
16567         * doc/regex.texi: Add documentation for missing syntax flags.
16568         Remove commented-out documentation of defunct syntax option
16569         RE_NO_EMPTY_ALTS.
16570         Correct name of RE_CHAR_CLASSES in one incorrect occurrence.
16571         Add documentation of re_set_registers.
16572         Document trick to re-use a pattern buffer by setting fastmap manually.
16573         Update documentation of struct re_pattern_buffer per public members.
16574         Uncomment documentation of equivalence class operators and
16575         collating symbol operators, since they are now implemented,
16576         Explain leftmost-longest matching in relation to alternatives.
16577         Tidy documentation of substring matching.
16578         Remove POSIX documentation, which is done better in
16579         glibc, and refer the reader there. Keep BSD API documentation, as
16580         that is not readily available elsewhere.
16581
16582 2010-09-07  Eric Blake  <eblake@redhat.com>
16583
16584         getopt: handle POSIXLY_CORRECT set but not exported
16585         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Restore pre-existing
16586         export state of POSIXLY_CORRECT, due to bash set -o posix.
16587         Reported by Dustin J. Mitchell.
16588
16589 2010-09-05  Bruno Haible  <bruno@clisp.org>
16590
16591         gnulib-tool: Highlight the changed options.
16592         * gnulib-tool (func_usage): Display the --import, --add-import,
16593         --remove-import explanations in bold font.
16594
16595 2010-09-06  Karl Berry  <karl@gnu.org>
16596
16597         * doc/gnulib-tool.texi (Modified imports): doc tweaks.
16598
16599 2010-09-05  Bruno Haible  <bruno@clisp.org>
16600
16601         uniwidth/width: Update comment.
16602         * lib/uniwidth/width.c (uc_width): Update comment for Unicode >= 3.1.
16603         Reported by Emanuele Giaquinta <emanuele.giaquinta@gmail.com>.
16604
16605 2010-09-05  Bruno Haible  <bruno@clisp.org>
16606
16607         isinf, isnan: Relax license.
16608         * modules/isinf (License): Change from GPL to LGPL, with consent from
16609         Ben Pfaff.
16610         * modules/isnan (License): Likewise.
16611         Requested by Ludovic Courtès.
16612
16613 2010-09-04  Bruno Haible  <bruno@clisp.org>
16614
16615         gnulib-tool: Help migration from --import to --add-import or --update.
16616         * gnulib-tool: Emit a verbose error message when --import is used
16617         without any module name.
16618
16619 2010-09-04  Bruno Haible  <bruno@clisp.org>
16620
16621         Update doc about gnulib-tool.
16622         * doc/gnulib-tool.texi (VCS Issues): Explain 'gnulib-tool --import' vs.
16623         'gnulib-tool --update' in more detail.
16624         Reported by Eric Blake.
16625
16626 2010-09-04  Bruno Haible  <bruno@clisp.org>
16627
16628         gnulib-tool: Change --import. New options --add/remove-import.
16629         * gnulib-tool: New options --add-import, --remove-import.
16630         (func_usage): Document them.
16631         (have_associative): Define always.
16632         (func_import): In import mode, don't merge the specified settings with
16633         the cached settings. Implement remove-import mode.
16634         * doc/gnulib-tool.texi (Modified imports): Mention the new options.
16635         Explain when to use them versus --import.
16636         (Simple update): Use --add-import instead of --import.
16637         * NEWS: Mention the change.
16638
16639 2010-09-04  Bruno Haible  <bruno@clisp.org>
16640
16641         * doc/gnulib-tool.texi (Initial import): Update paragraph about
16642         separate gnulib.mk.
16643
16644 2010-09-04  Bruno Haible  <bruno@clisp.org>
16645
16646         gnulib-tool: Don't talk about CVS any more.
16647         * gnulib-tool (func_usage, func_import): Write "version control"
16648         instead of CVS.
16649
16650 2010-09-04  Jim Meyering  <meyering@redhat.com>
16651
16652         maint.mk: avoid obscure sc_copyright_check failure in coreutils
16653         * top/maint.mk (v_etc_file): Prepend $(gnulib_dir)/, to avoid
16654         false positives (whose names may be ill-chosen) when searching
16655         non-VC'd files.  Otherwise, a file named "a b/lib/version-etc.c"
16656         would cause a false-positive.
16657
16658         avoid coreutils "make distcheck" failure
16659         Coreutils tests with an absolute build directory name that contains
16660         a space.  Not quoting this directory name caused a failure.
16661         * tests/test-vc-list-files-git.sh: Quote PATH dir name.
16662         * tests/test-vc-list-files-cvs.sh: Likewise.
16663
16664 2010-09-04  Bruno Haible  <bruno@clisp.org>
16665
16666         gnulib-tool: Avoid error when run in a package without Makefile.am.
16667         * gnulib-tool: When collecting the m4dirs in a package that does not
16668         have a Makefile.am, eliminate those directories that contain no
16669         gnulib-cache.m4. Fix expression that counts these directories.
16670
16671 2010-09-04  Bruno Haible  <bruno@clisp.org>
16672
16673         update-copyright test: Improve output when perl is missing or too old.
16674         * tests/test-update-copyright.sh: Move test of Perl version down after
16675         the test whether Perl exists. Provide an explanation relating Perl's
16676         error message to Automake's SKIP: message.
16677
16678 2010-09-04  Bruno Haible  <bruno@clisp.org>
16679
16680         Don't augment PATH in TESTS_ENVIRONMENT.
16681         * modules/update-copyright-tests (Makefile.am): In TESTS_ENVIRONMENT,
16682         set abs_aux_dir instead of augmenting PATH.
16683         * modules/vc-list-files-tests (Makefile.am): Likewise.
16684         * tests/test-update-copyright.sh: Augment PATH here.
16685         * tests/test-vc-list-files-cvs.sh: Augment PATH here, through
16686         path_prepend_.
16687         * tests/test-vc-list-files-git.sh: Likewise.
16688
16689 2010-09-04  Jim Meyering  <meyering@redhat.com>
16690
16691         tests: prohibit augmenting PATH via TESTS_ENVIRONMENT
16692         * Makefile (sc_prohibit_augmenting_PATH_via_TESTS_ENVIRONMENT): New rule.
16693
16694 2010-09-04  Bruno Haible  <bruno@clisp.org>
16695
16696         strdup: Fix compilation error in C++ mode.
16697         * lib/string.in.h (strdup): In C++ mode with GNULIB_NAMESPACE, undefine
16698         the macro.
16699
16700 2010-09-04  Bruno Haible  <bruno@clisp.org>
16701
16702         dirfd: Fix compilation error in C++ mode on MacOS X, *BSD, IRIX.
16703         * lib/dirent.in.h (dirfd): In C++ mode with GNULIB_NAMESPACE, turn the
16704         macro into a function.
16705         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
16706
16707 2010-09-04  Bruno Haible  <bruno@clisp.org>
16708
16709         Set PATH_SEPARATOR the same way autoconf does.
16710         * build-aux/relocatable.sh.in (func_find_curr_installdir): Determine
16711         the value of PATH_SEPARATOR the same way autoconf-generated configure
16712         scripts do.
16713         * m4/lib-ld.m4 (AC_LIB_PROG_LD): Likewise.
16714         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
16715
16716 2010-09-04  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
16717
16718         Set PATH_SEPARATOR the same way autoconf does.
16719         * gnulib-tool (func_gnulib_dir): Determine the value of PATH_SEPARATOR
16720         the same way autoconf-generated configure scripts do.
16721         * posix-modules: Likewise.
16722
16723 2010-09-02  Paul Eggert  <eggert@cs.ucla.edu>
16724
16725         hash: fix safe_hasher const typo
16726         * lib/hash.c (safe_hasher): Result is pointer, not pointer to
16727         const; otherwise, there is a type error later.
16728
16729 2010-09-02  Jim Meyering  <meyering@redhat.com>
16730
16731         test-update-copyright.sh: require perl 5.8.0
16732         * tests/test-update-copyright.sh: Require 5.8.0,
16733         which Tom G. Christensen has confirmed is adequate,
16734         while 5.6.1 is not.
16735
16736 2010-09-02  Eric Blake  <eblake@redhat.com>
16737
16738         tests: init.sh improvements for re-exec'ing with zsh
16739         * tests/init.sh: Borrow autoconf POSIX-mode sanitization.  Pass
16740         -vx through shell re-exec.
16741         Reported by Tom G. Christensen.
16742
16743         wctype: fix typo in previous commit
16744         * m4/wctype_h.m4 (gl_WCTYPE_H): Fix spelling.
16745         Reported by Ludovic Courtès.
16746
16747 2010-09-02  Jim Meyering  <meyering@redhat.com>
16748
16749         test-update-copyright.sh: skip test if Perl is too old
16750         * tests/test-update-copyright.sh: Exit 77 if Perl is too old.
16751         Reported by Tom G. Christensen.
16752
16753 2010-09-02  Bruno Haible  <bruno@clisp.org>
16754
16755         wctype: Avoid compilation error on IRIX 6.5.30.
16756         * lib/wctype.in.h (iswblank): Declare with a replacement if
16757         REPLACE_ISWBLANK is set.
16758         * m4/wctype_h.m4 (gl_WCTYPE_H): Check also whether iswblank is
16759         declared. Set REPLACE_ISWBLANK.
16760         * modules/wctype (Makefile.am): Substitute REPLACE_ISWBLANK.
16761         * doc/posix-functions/iswblank.texi: Mention the IRIX 6.5.30 problem.
16762         * doc/posix-headers/wctype.texi: Likewise.
16763         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
16764
16765 2010-09-01  Bruno Haible  <bruno@clisp.org>
16766
16767         New module 'socketlib'.
16768         * modules/socketlib: New file.
16769         * m4/socketlib.m4: New file, extracted from m4/sockets.m4.
16770         * m4/sockets.m4 (gl_SOCKETS): Require gl_SOCKETLIB.
16771         * modules/sockets (Depends-on): Add socketlib.
16772         Suggested by Sam Steingold <sds@gnu.org>.
16773
16774 2010-09-01  Paul Eggert  <eggert@cs.ucla.edu>
16775
16776         fcntl-h, etc.: prefer O_SEARCH to O_RDONLY when applicable
16777
16778         POSIX 2008 specifies a new 'open' flag O_SEARCH, which can be used
16779         when one needs search access to a directory but not read access.
16780         On systems where it is available, it works in some cases where
16781         O_RDONLY does not, namely on directories that are searchable but
16782         not readable, and which need only to be searchable.  If O_SEARCH
16783         is not available, fall back to the traditional method of using
16784         O_RDONLY.
16785
16786         * lib/fcntl.in.h (O_SEARCH): #define to O_RDONLY if not defined.
16787         * lib/chdir-long.c (cdb_advance_fd): Use O_SEARCH, not O_RDONLY,
16788         when opening a directory that needs only to be searchable.
16789         * lib/chdir-safer.c (chdir_no_follow): Likewise.
16790         * lib/fts.c (diropen, fts_open, fd_ring_check): Likewise.
16791         * lib/openat-proc.c (openat_proc_name): Likewise.
16792         * lib/openat.c (openat_needs_fchdir): Likewise.
16793         * lib/save-cwd.c (save_cwd): Likewise.
16794         * lib/savewd.c (savewd_save, savewd_chdir): Likewise.
16795
16796 2010-08-28  Bruno Haible  <bruno@clisp.org>
16797
16798         New module 'host-cpu-c-abi'.
16799         * modules/host-cpu-c-abi: New file.
16800         * m4/host-cpu-c-abi.m4: New file, based on part of
16801         clisp/src/m4/general.m4.
16802         Requested by Sam Steingold <sds@gnu.org>.
16803
16804 2010-08-31  Eric Blake  <eblake@redhat.com>
16805         and Jim Meyering  <meyering@redhat.com>
16806
16807         hash: factor, and guard against misbehaving hasher function
16808         * lib/hash.c (safe_hasher): New function, to encapsulate the checking
16809         of table->hasher's return value.  Also protect against a hash value
16810         so large that adding it to table->bucket results in a NULL pointer.
16811         (hash_lookup, hash_get_next, hash_find_entry, transfer_entries):
16812         Use it in place of open-coded check-and-abort.
16813
16814 2010-08-30  Bruno Haible  <bruno@clisp.org>
16815
16816         hash: silence spurious clang warning
16817         * lib/hash.c (hash_get_next): Remove unnecessary test against NULL.
16818         Reported by Eric Blake.
16819
16820 2010-08-30  Eric Blake  <eblake@redhat.com>
16821
16822         strstr, memmem, strcasestr: avoid leaked shell message
16823         * m4/strstr.m4 (gl_FUNC_STRSTR): Avoid "Alarm clock" message from
16824         FreeBSD.
16825         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
16826         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
16827
16828         tests: silence clang warning
16829         * tests/test-malloca.c (do_allocation): Avoid dead store.
16830
16831 2010-08-29  Bruno Haible  <bruno@clisp.org>
16832
16833         gettext: Fix recent mistake.
16834         * m4/intl.m4 (gt_CHECK_DECL): Fix typo introduced on 2010-08-26.
16835
16836 2010-08-29  Bruno Haible  <bruno@clisp.org>
16837
16838         selinux-h: Offer a --without-selinux option.
16839         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): If
16840         --without-selinux was specified, skip all tests and define
16841         HAVE_SELINUX_SELINUX_H to 0.
16842         (gl_LIBSELINUX): Offer --without-selinux option. If it is specified,
16843         set LIB_SELINUX to empty.
16844         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): Require
16845         gl_LIBSELINUX. If --without-selinux was specified, replace
16846         selinux/context.h.
16847         Reported by Johan Hattne <johan.hattne@utsouthwestern.edu>.
16848
16849 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
16850             Bruno Haible  <bruno@clisp.org>
16851
16852         Make the module 'realloc-gnu' work again on AIX and OSF/1.
16853         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): Define HAVE_REALLOC_GNU instead
16854         of HAVE_REALLOC.
16855         * lib/realloc.c (NEED_REALLOC_GNU): Enable behaviour also when
16856         GNULIB_REALLOC_GNU && !HAVE_REALLOC_GNU.
16857         (SYSTEM_MALLOC_GLIBC_COMPATIBLE): Adjust definition.
16858         * modules/realloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
16859
16860 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
16861             Bruno Haible  <bruno@clisp.org>
16862
16863         Make the module 'calloc-gnu' work again on AIX and OSF/1.
16864         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Define HAVE_CALLOC_GNU instead of
16865         HAVE_CALLOC.
16866         * lib/xmalloc.c: Update accordingly.
16867         * lib/calloc.c (NEED_CALLOC_GNU): Enable also when
16868         GNULIB_CALLOC_GNU && !HAVE_CALLOC_GNU.
16869         * modules/calloc-gnu (configure.ac): Invoke gl_MODULE_INDICATOR.
16870
16871 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
16872             Bruno Haible  <bruno@clisp.org>
16873
16874         Make the module 'malloc-gnu' work again on AIX and OSF/1.
16875         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): Define HAVE_MALLOC_GNU instead of
16876         HAVE_MALLOC.
16877         * lib/malloc.c (NEED_MALLOC_GNU): Enable behaviour also when
16878         GNULIB_MALLOC_GNU && !HAVE_MALLOC_GNU.
16879         * modules/malloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
16880
16881 2010-08-29  Bruno Haible  <bruno@clisp.org>
16882
16883         Update modules list.
16884         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
16885         malloc-gnu, calloc-gnu, realloc-gnu. Remove malloc, calloc, realloc.
16886         (String handling <string.h>): Add astrxfrm.
16887         (File system functions): Add readlinkat.
16888
16889 2010-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
16890
16891         Tests for module 'realloc-gnu'.
16892         * modules/realloc-gnu-tests: New file.
16893         * tests/test-realloc-gnu.c: New file.
16894
16895         Tests for module 'calloc-gnu'.
16896         * modules/calloc-gnu-tests: New file.
16897         * tests/test-calloc-gnu.c: New file.
16898
16899         Tests for module 'malloc-gnu'.
16900         * modules/malloc-gnu-tests: New file.
16901         * tests/test-malloc-gnu.c: New file.
16902
16903 2010-08-28  Bruno Haible  <bruno@clisp.org>
16904
16905         Rename module 'realloc' -> 'realloc-gnu'.
16906         * modules/realloc-gnu: New file, copied from modules/realloc.
16907         * modules/realloc: Convert to a redirection to 'realloc-gnu'. Mark as
16908         obsolete.
16909         * modules/mgetgroups (Depends-on): Update.
16910         * doc/posix-functions/realloc.texi: Update.
16911         * NEWS: Mention the change.
16912
16913         Rename module 'calloc' -> 'calloc-gnu'.
16914         * modules/calloc-gnu: New file, copied from modules/calloc.
16915         * modules/calloc: Convert to a redirection to 'calloc-gnu'. Mark as
16916         obsolete.
16917         * doc/posix-functions/calloc.texi: Update.
16918         * NEWS: Mention the change.
16919
16920         Rename module 'malloc' -> 'malloc-gnu'.
16921         * modules/malloc-gnu: New file, copied from modules/malloc.
16922         * modules/malloc: Convert to a redirection to 'malloc-gnu'. Mark as
16923         obsolete.
16924         * modules/argp (Depends-on): Update.
16925         * modules/regex (Depends-on): Update.
16926         * doc/posix-functions/malloc.texi: Update.
16927         * NEWS: Mention the change.
16928
16929 2010-08-28  Eric Blake  <eblake@redhat.com>
16930
16931         pread, pwrite: add missing dependency
16932         * modules/pread (Depends-on): Add extensions.
16933         * modules/pwrite (Depends-on): Likewise.
16934
16935 2010-08-28  Bruno Haible  <bruno@clisp.org>
16936
16937         unistr/u*-strchr: Fix tests dependencies.
16938         * modules/unistr/u8-strchr-tests (Depends-on): Add unistr/u32-to-u8.
16939         * modules/unistr/u16-strchr-tests (Depends-on): Add unistr/u32-to-u16.
16940         Reported by Ian Beckwith <ianb@erislabs.net>.
16941
16942 2010-08-28  Bruno Haible  <bruno@clisp.org>
16943
16944         read-file: Don't occupy too much unused memory.
16945         * lib/read-file.c (fread_file): Shrink the buffer at the end.
16946
16947 2010-08-28  Giuseppe Scrivano  <gscrivano@gnu.org>
16948             Eric Blake  <eblake@redhat.com>
16949             Bruno Haible  <bruno@clisp.org>
16950
16951         read-file: Avoid memory reallocations with regular files.
16952         * lib/read-file.c: Include <sys/stat.h>, <stdio.h>, <stdint.h>.
16953         (fread_file): With regular files, use the remaining length as the
16954         initial buffer size.  Check against overflow.
16955         * modules/read-file (Depends-on): Add ftello, malloc-posix, stdint,
16956         sys_stat.
16957
16958 2010-08-28  Bruno Haible  <bruno@clisp.org>
16959
16960         ftello: Relax license.
16961         * modules/ftello (License): Relax to LGPLv2+.
16962         Reported by Eric Blake.
16963
16964 2010-08-28  Bruno Haible  <bruno@clisp.org>
16965
16966         Avoid relocwrapper link errors due to gnulib replacement functions.
16967         * lib/canonicalize-lgpl.c [IN_RELOCWRAPPER]: Use the system's getcwd
16968         function.
16969         Reported by Ben Pfaff <blp@cs.stanford.edu>.
16970
16971 2010-08-28  Bruno Haible  <bruno@clisp.org>
16972
16973         Prefer using AC_DEFUN_ONCE over AC_DEFUN in projects with gnulib.
16974         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Use AC_DEFUN_ONCE if gl_00GNULIB is
16975         defined.
16976         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): Likewise.
16977         Suggested by Eric Blake.
16978
16979 2010-08-28  Bruno Haible  <bruno@clisp.org>
16980
16981         sys_socket, netdb: Ensure socklen_t gets defined.
16982         * modules/sys_socket (Depends-on): Add socklen.
16983         * modules/netdb (Depends-on): Likewise.
16984         * modules/getaddrinfo (Depends-on): Remove socklen.
16985         * modules/getsockopt (Depends-on): Likewise.
16986         * modules/setsockopt (Depends-on): Likewise.
16987         * tests/test-sys_socket.c: Check that socklen_t is defined.
16988         * tests/test-netdb.c: Likewise.
16989         * m4/socklen.m4: Update comments.
16990         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
16991
16992 2010-08-27  Eric Blake  <eblake@redhat.com>
16993
16994         login_tty: add missing dependency
16995         * modules/login_tty (Depends-on): Add pty.
16996
16997 2010-08-26  Eric Blake  <eblake@redhat.com>
16998
16999         lib-symbol-versions: fix m4 quoting
17000         * m4/ld-version-script.m4 (gl_LD_VERSION_SCRIPT): Use correct
17001         format for AC_LINK_IFELSE.
17002
17003         glob: fix compile test
17004         * m4/glob.m4 (gl_GLOB): Use correct format for AC_COMPILE_IFELSE.
17005
17006         btowc: fix missing file
17007         * modules/btowc (Files): Also ship locale-fr.m4.
17008
17009         lseek: fix link test
17010         * m4/lseek.m4 (gl_FUNC_LSEEK): Use correct format for
17011         AC_LINK_IFELSE.
17012
17013         include_next: silence autoconf 2.68 warning
17014         * m4/include_next.m4 (gl_INCLUDE_NEXT): Mark this use of
17015         AC_COMPILE_IFELSE as special.
17016         (AC_LANG_DEFINES_PROVIDED): Provide dummy implementation for
17017         autoconf < 2.68.
17018
17019         acl: fix compilation test
17020         * m4/acl.m4 (gl_FUNC_ALL): Use correct format for
17021         AC_COMPILE_IFELSE.
17022
17023 2010-08-26  Bruno Haible  <bruno@clisp.org>
17024
17025         Modernize AC_TRY_RUN invocations.
17026         * m4/btowc.m4 (gl_FUNC_BTOWC): Use AC_RUN_IFELSE instead of AC_TRY_RUN.
17027         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
17028         * m4/exponentd.m4 (gl_DOUBLE_EXPONENT_LOCATION): Likewise.
17029         * m4/exponentf.m4 (gl_FLOAT_EXPONENT_LOCATION): Likewise.
17030         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Likewise.
17031         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
17032         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
17033         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
17034         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
17035         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
17036         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
17037         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
17038         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
17039         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
17040         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
17041         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
17042         gl_MBRLEN_NUL_RETVAL): Likewise.
17043         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
17044         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
17045         Likewise.
17046         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
17047         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
17048         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
17049         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
17050         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_N,
17051         gl_PRINTF_DIRECTIVE_LS, gl_PRINTF_POSITIONS, gl_PRINTF_FLAG_GROUPING,
17052         gl_PRINTF_FLAG_LEFTADJUST, gl_PRINTF_FLAG_ZERO, gl_PRINTF_PRECISION,
17053         gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
17054         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99):
17055         Likewise.
17056         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
17057         * m4/signbit.m4 (gl_SIGNBIT, gl_FLOATTYPE_SIGN_LOCATION): Likewise.
17058         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
17059         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
17060         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
17061         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
17062         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
17063         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION): Likewise.
17064         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
17065         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
17066
17067 2010-08-26  Bruno Haible  <bruno@clisp.org>
17068
17069         Modernize AC_TRY_LINK invocations.
17070         * m4/acosl.m4 (gl_FUNC_ACOSL): Use AC_LINK_IFELSE instead of
17071         AC_TRY_LINK.
17072         * m4/argp.m4 (gl_ARGP): Likewise.
17073         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
17074         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
17075         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
17076         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
17077         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
17078         * m4/codeset.m4 (AM_LANGINFO_CODESET): Likewise.
17079         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
17080         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
17081         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
17082         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
17083         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
17084         * m4/frexp.m4 (gl_FUNC_FREXP, gl_CHECK_FREXP_NO_LIBM): Likewise.
17085         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_CHECK_FREXPL_NO_LIBM): Likewise.
17086         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
17087         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
17088         * m4/hostent.m4 (gl_HOSTENT): Likewise.
17089         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
17090         * m4/intl.m4 (gt_INTL_SUBDIR_CORE): Likewise.
17091         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
17092         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM, gl_HAVE_ISNAND_NO_LIBM):
17093         Likewise.
17094         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_HAVE_ISNANF_IN_LIBM):
17095         Likewise.
17096         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM):
17097         Likewise.
17098         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
17099         * m4/ldexpl.m4 (gl_FUNC_LDEXPL, gl_CHECK_LDEXPL_NO_LIBM): Likewise.
17100         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Likewise.
17101         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
17102         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
17103         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
17104         * m4/servent.m4 (gl_SERVENT): Likewise.
17105         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
17106         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
17107         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
17108         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
17109         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
17110         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
17111         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
17112         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
17113         * modules/tsearch-tests (configure.ac): Likewise.
17114
17115 2010-08-26  Bruno Haible  <bruno@clisp.org>
17116
17117         Modernize AC_TRY_COMPILE invocations.
17118         * m4/environ.m4 (gt_CHECK_VAR_DECL): Use AC_COMPILE_IFELSE instead of
17119         AC_TRY_COMPILE.
17120         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Likewise.
17121         * m4/intl.m4 (gt_CHECK_DECL): Likewise.
17122         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
17123         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
17124         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
17125         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
17126         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
17127         * m4/lock.m4 (gl_LOCK): Likewise.
17128         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): Likewise.
17129         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
17130         * m4/minmax.m4 (gl_MINMAX_IN_HEADER): Likewise.
17131         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
17132         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
17133         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Likewise.
17134         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
17135         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Likewise.
17136         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
17137         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
17138         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
17139         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
17140         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Likewise. Remove
17141         extraneous semicolon.
17142
17143 2010-08-26  Jim Meyering  <meyering@redhat.com>
17144
17145         stat-time: relax license LGPL
17146         * modules/stat-time (License): Change from GPL to LGPL,
17147         with consent from all contributors, for use in libguile.
17148         Requested by Ludovic Courtès.
17149
17150 2010-08-26  Erik Faye-Lund  <kusmabite@gmail.com>
17151
17152         poll: return immediately on POLLHUP.
17153         * lib/poll.c (poll): Always set timeout before wait_timeout is
17154         computed.
17155
17156 2010-08-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
17157
17158         Fix test-unlinkat, test-rmdir failure on AIX 5.3.
17159         * tests/test-rmdir.h (test_rmdir_func): Also accept EEXIST for
17160         rmdir ("dir/.//"), unlinkat.
17161
17162 2010-08-24  Paul Eggert  <eggert@cs.ucla.edu>
17163
17164         stdbool: avoid spurious failure with modern xlc
17165         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
17166
17167 2010-08-24  Bruno Haible  <bruno@clisp.org>
17168
17169         getloadavg: simplify code
17170         * m4/getloadavg.m4 (gl_GETLOADAVG): Remove useless test of
17171         gl_have_func. Update comments.
17172
17173 2010-08-24  Eric Blake  <eblake@redhat.com>
17174
17175         getloadavg: don't define SVR4 on cygwin
17176         * m4/getloadavg.m4 (gl_GETLOADAVG): Sync with autoconf fix, to
17177         only define SVR4 when -lkvm is required.
17178         Reported by Yaakov Selkowitz.
17179
17180 2010-08-24  Bruno Haible  <bruno@clisp.org>
17181
17182         priv-set: fix comment
17183         * lib/priv-set.c (priv_set_restore): Fix typo in comment.
17184
17185 2010-08-23  Paul Eggert  <eggert@cs.ucla.edu>
17186
17187         priv-set: fix comments
17188         * lib/priv-set.c (priv_set_remove, priv_set_restore): Fix comments
17189         to match code, as suggested by David Bartley in:
17190         http://lists.gnu.org/archive/html/bug-tar/2010-08/msg00018.html
17191
17192 2010-08-23  Eric Blake  <eblake@redhat.com>
17193
17194         stdbool: avoid rejecting clang
17195         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
17196         * tests/test-stdbool.c: Enable more tests if using the system
17197         <stdbool.h> instead of the gnulib replacement.
17198         (main): Move xlc bug test to a runtime test for all compilers.
17199         Reported by Anders Kaseorg.
17200
17201         argz: fix shell quoting issue
17202         * m4/argz.m4 (gl_FUNC_ARGZ): Allow for spaces in argument.
17203         Reported by Charles Wilson.
17204
17205 2010-08-22  Paolo Bonzini  <bonzini@gnu.org>
17206             Erik Faye-Lund <kusmabite@gmail.com>
17207
17208         poll, select: handle ERROR_BROKEN_PIPE.
17209         * lib/poll.c (win32_compute_revents): Return POLLHUP when
17210         PeekNamedPipe fails with ERROR_BROKEN_PIPE.
17211         * lib/select.c (win32_compute_revents): Do not mark a pipe
17212         as writeable if PeekNamedPipe fails with ERROR_BROKEN_PIPE.
17213
17214 2010-08-22  Giuseppe Scrivano  <gscrivano@gnu.org>
17215
17216         fts: allow compilation with C++
17217         * lib/fts_.h: Specify extern "C" linkage with C++.
17218
17219 2010-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
17220
17221         Fix gnulib-tool sed script de-commentation for AIX sed.
17222         * gnulib-tool (sed_comments): Try indented comments, for AIX 5.3
17223         sed.
17224
17225 2010-08-17  Eric Blake  <eblake@redhat.com>
17226
17227         test-stddef: test for (some) offsetof bugs
17228         * tests/test-stddef.c: Enhance test to ensure correct type of
17229         offsetof.
17230         * doc/posix-headers/stddef.texi (stddef.h): Document a Solaris bug
17231         that we are not fixing at this time.
17232
17233 2010-08-15  Bruno Haible  <bruno@clisp.org>
17234
17235         stpncpy: Allow stpncpy to be defined as a macro.
17236         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Don't attempt to redeclare stpncpy
17237         if it's already correctly declared.
17238         * lib/string.in.h (stpncpy): Undefine before redefining.
17239         Reported by Jeremy Huddleston <jeremyhu@macports.org>.
17240
17241 2010-08-14  Bruno Haible  <bruno@clisp.org>
17242
17243         Rename module 'memxfrm' to 'amemxfrm'.
17244         * lib/amemxfrm.h: Renamed from lib/memxfrm.h.
17245         (amemxfrm): Renamed from memxfrm.
17246         * lib/amemxfrm.c: Renamed from lib/memxfrm.h. Include amemxfrm.h.
17247         (amemxfrm): Renamed from memxfrm.
17248         * modules/amemxfrm: Renamed from modules/memxfrm. Update.
17249         * NEWS: Mention the change.
17250         * MODULES.html.sh (String handling <string.h>): Update.
17251         * lib/unicase/u-casexfrm.h: Invoke amemxfrm instead of memxfrm.
17252         * lib/unicase/u8-casexfrm.c: Include amemxfrm.h instead of memxfrm.h.
17253         * lib/unicase/u16-casexfrm.c: Likewise.
17254         * lib/unicase/u32-casexfrm.c: Likewise.
17255         * lib/uninorm/u-normxfrm.h: Invoke amemxfrm instead of memxfrm.
17256         * lib/uninorm/u8-normxfrm.c: Include amemxfrm.h instead of memxfrm.h.
17257         * lib/uninorm/u16-normxfrm.c: Likewise.
17258         * lib/uninorm/u32-normxfrm.c: Likewise.
17259         * modules/unicase/u8-casexfrm (Depends-on): Add amemxfrm, remove
17260         memxfrm.
17261         * modules/unicase/u16-casexfrm (Depends-on): Likewise.
17262         * modules/unicase/u32-casexfrm (Depends-on): Likewise.
17263         * modules/uninorm/u8-normxfrm (Depends-on): Likewise.
17264         * modules/uninorm/u16-normxfrm (Depends-on): Likewise.
17265         * modules/uninorm/u32-normxfrm (Depends-on): Likewise.
17266         Suggested by Paul Eggert.
17267
17268 2010-08-14  Bruno Haible  <bruno@clisp.org>
17269
17270         Tests for module 'astrxfrm'.
17271         * modules/astrxfrm-tests: New file.
17272         * tests/test-astrxfrm.c: New file.
17273
17274         New module 'astrxfrm'.
17275         * lib/astrxfrm.h: New file.
17276         * lib/astrxfrm.c: New file, based on lib/memxfrm.c.
17277         * modules/astrxfrm: New file.
17278
17279 2010-08-14  Reuben Thomas <rrt@sc3d.org>
17280
17281         regex: Tweak doc.
17282         * doc/regex.texi (Overview): Don't mention regex.c.
17283         (GNU Regular Expression Compiling): Likewise.
17284         (Match-end-of-line Operator): Mention 'not_eol'.
17285
17286 2010-08-14  Brian Gough  <bjg@gnu.org>
17287             Bruno Haible  <bruno@clisp.org>
17288
17289         git-merge-changelog: add doc relating to use with bzr and hg.
17290         * lib/git-merge-changelog.c: Add comments regarding bzr, hg, diff3.
17291
17292 2010-08-14  Matthias Bolte  <matthias.bolte@googlemail.com>
17293
17294         pthread: fix pthread.h creation for srcdir != builddir
17295         * modules/pthread (Makefile.am): Fix the rule to work also in a
17296         non-srcdir build.
17297
17298 2010-08-13  Karl Berry  <karl@gnu.org>
17299
17300         * doc/regex.texi (Predefined Syntaxes): @smallexample.
17301         * doc/posix-*/*: force line break before @url of POSIX
17302         specifications.
17303         Suggested by Werner Lemberg.
17304
17305 2010-08-10  Paul Eggert  <eggert@cs.ucla.edu>
17306
17307         strtod: fix const diagnostic
17308         * lib/strtod.c (strtod): Don't assign const char * to char *,
17309         as this elicits a warning from GCC when warnings are enabled.
17310
17311 2010-08-10  Pádraig Brady <P@draigbrady.com>
17312         and Eric Blake  <eblake@redhat.com>
17313
17314         copy-acl: ignore ENOTSUP on HP-UX
17315         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Move definition up,
17316         so that it is available for HP-UX.
17317         * lib/copy-acl.c (qcopy_acl): Use it.
17318         Reported by Patrick M. Callahan.
17319
17320 2010-08-10  Eric Blake  <eblake@redhat.com>
17321
17322         open, chown: relax license
17323         * modules/open (License): Change to LGPLv2+, with consent by all
17324         authors, for use in augeas.
17325         * modules/chown (License): Likewise.
17326         * modules/lchown (Likewise): Likewise.
17327         Requested by Adam Stokes.
17328
17329 2010-08-09  Karl Berry  <karl@gnu.org>
17330
17331         * build-aux/ar-lib: new file, import from Automake.
17332         * config/srclist.txt: autocheck for updates.
17333
17334 2010-08-09  Eric Blake  <eblake@redhat.com>
17335
17336         readlinkat: adjust client modules
17337         * modules/areadlinkat (Depends-on): Use readlinkat, not
17338         symlinkat.
17339         * modules/areadlinkat-with-size (Depends-on): Likewise.
17340
17341         mknod: be more vocal about danger of running tests as root
17342         * m4/mknod.m4 (gl_FUNC_MKNOD): Make it harder to run configure as
17343         root, since that is just asking for problems.
17344         Suggested by Bruno Haible, based on a report by Rainer Tammer.
17345
17346         readlinkat: split into its own module
17347         * modules/symlinkat: Split readlinkat...
17348         * modules/readlinkat: ...into separate module.
17349         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move readlinkat check...
17350         * m4/readlinkat.m4 (gl_FUNC_READLINAT): ...to new file.
17351         * lib/symlinkat.c (readlinkat): Move...
17352         * lib/readlinkat.c: ...into new file.
17353         * modules/symlinkat-tests: Split readlinkat test...
17354         * modules/readlinkat-tests: ...into separate module.
17355         * tests/test-symlinkat.c: Split...
17356         * tests/test-readlinkat.c: ...into new file.
17357         * NEWS: Document the split.
17358         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
17359         * lib/unistd.in.h (readlinkat): Likewise.
17360         Suggested by Bruno Haible.
17361
17362 2010-08-08  Bruno Haible  <bruno@clisp.org>
17363
17364         memxfrm: Speed up.
17365         * lib/memxfrm.c (memxfrm): Allocate enough memory ahead of time, so
17366         that usually only one call to strxfrm is necessary for each string
17367         part.
17368         Reported by Paul Eggert <eggert@cs.ucla.edu>.
17369
17370 2010-08-07  Karl Berry  <karl@gnu.org>
17371
17372         * doc/posix-headers/limits.texi,
17373         * doc/posix-functions/malloc.texi,
17374         * doc/posix-functions/strsignal.texi: missing @item.
17375         * doc/ld-version-script.texi: spurious leading i.
17376         * doc/regex.texi (Interval Operators): no commas inside @var.
17377
17378 2010-08-01  Bruno Haible  <bruno@clisp.org>
17379
17380         Integrate the regex documentation.
17381         * doc/gnulib.texi: Define 'cn' index.
17382         (Regular expressions): New a chapter that includes regex.texi and
17383         regexprops-generic.texi.
17384         * doc/regex.texi: Remove boilerplate stuff. Use simplified @node
17385         syntax.
17386
17387         Whitespace cleanup.
17388         * doc/regex.texi: Remove trailing spaces.
17389
17390         Add regex documentation.
17391         * doc/regex.texi: New file. Taken from regex-0.12/doc/regex.texi in
17392         http://ftp.gnu.org/old-gnu/regex/regex-0.12.tar.gz.
17393         Written by Kathy A. Hargreaves and Karl Berry.
17394
17395 2010-08-01  Bruno Haible  <bruno@clisp.org>
17396
17397         link: Update documentation.
17398         * doc/posix-functions/link.texi: Update regarding Solaris.
17399
17400 2010-07-31  Bruno Haible  <bruno@clisp.org>
17401
17402         Update modules list.
17403         * MODULES.html.sh (Sorting functions <stdlib.h>): Add array-mergesort.
17404         (String handling <string.h>): Add memcmp2, memxfrm.
17405         (Container data structures): Add xlist, xsublist, xoset.
17406         (Core language properties): Add alignof, unused-parameter.
17407         (Process control, Numeric conversion functions <stdlib.h>): Renamed
17408         from Numeric conversion functions <stdlib.h>. Add _Exit, atoll.
17409         (Unibyte characters <ctype.h>): New section.
17410         (String handling <string.h>): New section.
17411         (Mathematics <math.h>): Add acos, acosl, asin, asinl, atan, atan2,
17412         atanl, cbrt, copysign, cos, cosh, cosl, erf, erfc, exp, expl, fabs,
17413         fmod, hypot, j0, j1, jn, ldexp, lgamma, log, log10, log1p, logb, logl,
17414         modf, nextafter, pow, remainder, rint, sin, sinh, sinl, sqrt, sqrtl,
17415         tan, tanh, tanl, y0, y1, yn.
17416         (Support for systems lacking POSIX:2008): Add alphasort, dirent,
17417         dprintf, dprintf-posix, duplocale, fcntl, getlogin, getopt-posix,
17418         grantpt, iconv-h, ioctl, isblank, langinfo, nl_langinfo, pread,
17419         ptsname, pwrite, scandir, servent, sys_utsname, ttyname_r, uname,
17420         unlockpt, vdprintf, vdprintf-posix.
17421         (Enhancements for POSIX:2008 functions): Add getopt-gnu. Remove getopt.
17422         (File system functions): Add concat-filename, sys_file, sys_ioctl,
17423         xconcat-filename.
17424         (File descriptor based Input/Output): Add dup3, fd-safer-flag,
17425         getdtablesize, pipe2, pipe2-safer.
17426         (Security): New section.
17427         (Networking functions): Add accept4.
17428         (Signal handling): Add sigpipe.
17429         (Internationalization functions): Add xstriconveh, mbmemcasecmp,
17430         mbmemcasecoll.
17431         (Unicode string functions): Add libunistring-optional, unistr/u*-cmp2,
17432         unistr/u*-strcoll, uniwbrk/*, uninorm/*, unicase/*.
17433         (Executing programs): Add findprog-lgpl, pipe-filter-gi,
17434         pipe-filter-ii.
17435         (Misc): Add argp-version-etc, login_tty, parse-duration.
17436
17437 2010-07-31  Bruno Haible  <bruno@clisp.org>
17438
17439         Improve doc in MODULES.html.
17440         * modules/linkat (Description): Add the word "function".
17441         * modules/mkfifo (Description): Likewise.
17442         * modules/mknod (Description): Likewise.
17443         * modules/remove (Description): Likewise.
17444         * modules/renameat (Description): Likewise.
17445         * modules/stat (Description): Likewise.
17446         * modules/symlink (Description): Likewise.
17447         * modules/unlink (Description): Likewise.
17448
17449 2010-07-31  Bruno Haible  <bruno@clisp.org>
17450
17451         ansi-c++-opt: Provide option --enable-c++/--disable-c++ when possible.
17452         * m4/ansi-c++.m4 (gl_CXX_CHOICE): In Autoconf 2.66 or newer, provide
17453         option --enable/disable-c++ instead of --enable/disable-cxx.
17454         * NEWS: Mention the change.
17455
17456 2010-07-31  Bruno Haible  <bruno@clisp.org>
17457
17458         readlink, areadlink: Relax test a bit.
17459         * tests/test-readlink.h (test_readlink): Accept EINVAL as an
17460         alternative to ENOTDIR.
17461         * tests/test-areadlink.h (test_areadlink): Likewise.
17462         Reported by Rainer Tammer.
17463
17464 2010-07-31  Bruno Haible  <bruno@clisp.org>
17465
17466         unistr/u8-strstr, unistr/u16-strstr: Optimize the one-character case.
17467         * lib/unistr/u-strstr.h (FUNC): When the needle contains only one
17468         character, perform the search using U_STRCHR.
17469         * lib/unistr/u8-strstr.c (U_STRMBTOUC): New macro.
17470         * lib/unistr/u16-strstr.c (U_STRMBTOUC): Likewise.
17471         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strmbtouc.
17472         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strmbtouc.
17473         Suggested by Paolo Bonzini.
17474
17475 2010-07-31  Bruno Haible  <bruno@clisp.org>
17476
17477         unistr/u*-strstr: Fix dependencies.
17478         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strchr.
17479         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strchr.
17480         * modules/unistr/u32-strstr (Depends-on): Add unistr/u32-strchr.
17481
17482 2010-07-31  Bruno Haible  <bruno@clisp.org>
17483
17484         unistr/u8-chr, unistr/u8-strchr: Optimize and add comments.
17485         * lib/unistr/u8-chr.c (u8_chr): Add comments. Remove a useless test at
17486         the beginning of the loop.
17487         * lib/unistr/u8-strchr.c (u8_strchr): Add comments. Don't fall through
17488         cases in 'switch' statement.
17489
17490         unistr/u8-strchr: Fix several bugs.
17491         * lib/unistr/u8-strchr.c (u8_strchr): Don't search beyond the end of
17492         the string. When not found, return NULL, not a pointer near the end.
17493
17494         More tests for unistr/u8-strchr.
17495         * tests/unistr/test-strchr.h (test_strchr): Renamed from main. Check
17496         that the function does not read past the first occurrence of the byte
17497         being searched.
17498         * tests/unistr/test-u8-strchr.c (main): New function, with more tests.
17499         * tests/unistr/test-u16-strchr.c (main): New function.
17500         * tests/unistr/test-u32-strchr.c (main): New function.
17501
17502 2010-07-31  Bruno Haible  <bruno@clisp.org>
17503
17504         posix-modules: Ignore backup files of documentation files.
17505         * posix-modules: grep only through files named *.texi.
17506
17507 2010-07-31  Bruno Haible  <bruno@clisp.org>
17508
17509         symlinkat: Fix documentation.
17510         * doc/posix-functions/readlinkat.texi: Fix module name.
17511
17512 2010-07-31  Bruno Haible  <bruno@clisp.org>
17513
17514         fchownat: Replace also when chown has the trailing slash bug.
17515         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Move the test of REPLACE_CHOWN
17516         outside the gl_FUNC_FCHOWNAT_DEREF_BUG invocation. Fixes regression
17517         introduced on 2010-04-10.
17518         Reported by Rainer Tammer.
17519
17520 2010-07-31  Bruno Haible  <bruno@clisp.org>
17521
17522         linkat: Work around AIX 7.1 bug.
17523         * m4/linkat.m4 (gl_FUNC_LINKAT): Require AC_CANONICAL_HOST. Test
17524         whether linkat handles trailing slash correctly. If not, replace linkat
17525         and define LINKAT_TRAILING_SLASH_BUG.
17526         * lib/linkat.c (rpl_linkat): If LINKAT_TRAILING_SLASH_BUG is defined,
17527         check whether (fd1,file1) points to a directory if file1 or file2 ends
17528         in a slash. Code taken from lib/link.c.
17529         * doc/posix-functions/linkat.texi: Mention trailing slash bug.
17530         Reported by Rainer Tammer.
17531
17532 2010-07-31  Bruno Haible  <bruno@clisp.org>
17533
17534         Correctly determine whether pow is available in libc on AIX 7 with xlc.
17535         * m4/mathfunc.m4 (gl_MATHFUNC): Actually use the 'funcptr' variable.
17536         This disables an xlc optimization that was causing wrong test results.
17537         Reported by Rainer Tammer.
17538
17539 2010-07-31  Bruno Haible  <bruno@clisp.org>
17540
17541         iconv: Work around AIX 6.1..7.1 bug.
17542         * doc/posix-functions/iconv.texi: Mention AIX 6.1, 7.1 bug.
17543         * m4/iconv.m4 (AM_ICONV_LINK): Test against AIX 6.1, 7.1 bug. When
17544         cross-compiling, guess no on all versions of AIX.
17545         Reported by Rainer Tammer.
17546
17547 2010-07-31  Bruno Haible  <bruno@clisp.org>
17548
17549         readlink: Relax test a bit.
17550         * tests/test-readlink.h (test_readlink): Allow different errno value
17551         when readlink is called with a file name that ends in / and refers to
17552         a file.
17553         Suggested by Eric Blake.
17554         Reported by Rainer Tammer.
17555
17556 2010-07-31  Bruno Haible  <bruno@clisp.org>
17557
17558         copysign: Does not require -lm on glibc systems.
17559         * modules/copysign (configure.ac): Use gl_MATHFUNC, not
17560         gl_COMMON_DOUBLE_MATHFUNC.
17561         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC): Update comments.
17562
17563 2010-07-31  Bruno Haible  <bruno@clisp.org>
17564
17565         duplocale: Work around AIX 7.1 bug.
17566         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Let the test fail also when
17567         duplocale(LC_GLOBAL_LOCALE) returns (locale_t)0.
17568         * lib/duplocale.c (rpl_duplocale): Update comment.
17569         * doc/posix-functions/duplocale.texi: Mention the AIX 7.1 bug.
17570         Reported by Rainer Tammer.
17571
17572 2010-07-30  Bruno Haible  <bruno@clisp.org>
17573
17574         dirfd: Avoid link error on AIX 7.1.
17575         * lib/dirent.in.h (dirfd): Use modern idiom with REPLACE_DIRFD.
17576         * m4/dirfd.m4 (gl_FUNC_DIRFD): If the function is declared but does not
17577         exist, set REPLACE_DIRFD.
17578         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize REPLACE_DIRFD.
17579         * modules/dirent (Makefile.am): Substitute REPLACE_DIRFD.
17580         * doc/posix-functions/dirfd.texi: Update.
17581         Reported by Rainer Tammer.
17582
17583 2010-07-30  Eric Blake  <eblake@redhat.com>
17584
17585         strtod: next round of AIX fixes
17586         * lib/strtod.c (strtod): Work around AIX bug of parsing p with no
17587         exponent.
17588         * tests/test-strtod.c (main): Enhance tests.
17589         * doc/posix-functions/strtod.texi (strtod): Document next bug.
17590         Reported by Rainer Tammer.
17591
17592         futimens: fix configure check
17593         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Use correct logic.
17594         Reported by Bruno Haible.
17595
17596 2010-07-30  Bruno Haible  <bruno@clisp.org>
17597
17598         getline: Update regarding AIX.
17599         * doc/posix-functions/getline.texi: Mention bug on AIX 7.1.
17600         Reported by Rainer Tammer.
17601
17602 2010-07-30  Bruno Haible  <bruno@clisp.org>
17603
17604         wcwidth: Drop replacement on AIX 7.
17605         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): When cross-compiling, guess yes on
17606         AIX 7.
17607         Reported by Rainer Tammer.
17608
17609 2010-07-30  Bruno Haible  <bruno@clisp.org>
17610
17611         strtok_r: Avoid triggering bug in AIX 7.1 xlc compiler.
17612         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't cast an invalid address to
17613         a 'char *'.
17614         Reported by Rainer Tammer.
17615
17616 2010-07-30  Bruno Haible  <bruno@clisp.org>
17617
17618         unlink: Update regarding AIX.
17619         * doc/posix-functions/unlink.texi: Mention bug on AIX 7.1.
17620         * m4/unlink.m4 (gl_FUNC_UNLINK): Update comment.
17621         Reported by Rainer Tammer.
17622
17623 2010-07-30  Bruno Haible  <bruno@clisp.org>
17624
17625         symlink: Update regarding AIX.
17626         * doc/posix-functions/symlink.texi: Mention bug on AIX 7.1.
17627         * m4/symlink.m4 (gl_FUNC_SYMLINK): Update comment.
17628         Reported by Rainer Tammer.
17629
17630 2010-07-30  Bruno Haible  <bruno@clisp.org>
17631
17632         strndup: Update regarding AIX.
17633         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, guess yes on
17634         AIX 7.
17635         Reported by Rainer Tammer.
17636
17637 2010-07-30  Bruno Haible  <bruno@clisp.org>
17638
17639         stat: Update regarding AIX.
17640         * doc/posix-functions/stat.texi: Mention bug on AIX 7.1.
17641         * m4/stat.m4 (gl_FUNC_STAT): Update comment.
17642         Reported by Rainer Tammer.
17643
17644 2010-07-30  Bruno Haible  <bruno@clisp.org>
17645
17646         truncl: Fix autoconf test.
17647         * m4/truncl.m4 (gl_FUNC_TRUNCL): Add TRUNCL_LIBM to LIBS while testing
17648         whether truncl works.
17649         Reported by Rainer Tammer.
17650
17651 2010-07-30  Bruno Haible  <bruno@clisp.org>
17652
17653         round: Update regarding AIX.
17654         * m4/round.m4 (gl_FUNC_ROUND): When cross-compiling, guess no on AIX 7.
17655         * doc/posix-functions/round.texi: Mention bug on AIX 7.1.
17656         Reported by Rainer Tammer.
17657
17658 2010-07-30  Bruno Haible  <bruno@clisp.org>
17659
17660         rename: Update regarding AIX.
17661         * doc/posix-functions/rename.texi: Mention bug on AIX 7.1.
17662         * m4/rename.m4 (gl_FUNC_RENAME): Update comment.
17663         Reported by Rainer Tammer.
17664
17665 2010-07-30  Bruno Haible  <bruno@clisp.org>
17666
17667         printf.m4: Update regarding AIX.
17668         * m4/printf.m4: Update comments regarding AIX.
17669         Reported by Rainer Tammer.
17670
17671 2010-07-30  Bruno Haible  <bruno@clisp.org>
17672
17673         iconv: Update regarding AIX.
17674         * m4/iconv.m4 (AM_ICONV_LINK): When cross-compiling, guess yes on
17675         AIX 7.
17676         Reported by Rainer Tammer.
17677
17678 2010-07-30  Bruno Haible  <bruno@clisp.org>
17679
17680         getopt: Update regarding AIX.
17681         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): When cross-compiling, guess
17682         no on AIX.
17683         * doc/posix-functions/getopt.texi: Mention that AIX has the optind bug.
17684         Reported by Rainer Tammer.
17685
17686 2010-07-30  Bruno Haible  <bruno@clisp.org>
17687
17688         ldexpl; Update regarding AIX.
17689         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): When cross-compiling, guess yes
17690         on AIX 7.
17691         Reported by Rainer Tammer.
17692
17693 2010-07-30  Bruno Haible  <bruno@clisp.org>
17694
17695         frexpl: Update regarding AIX.
17696         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): When cross-compiling, guess yes
17697         on AIX 7.
17698         Reported by Rainer Tammer.
17699
17700 2010-07-30  Bruno Haible  <bruno@clisp.org>
17701
17702         open, fopen: Update regarding AIX.
17703         * m4/open.m4 (gl_FUNC_OPEN): Adjust cross-compiling guess for AIX.
17704         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
17705         * doc/posix-functions/open.texi: Mention the trailing-slash bug on AIX.
17706         * doc/posix-functions/fopen.texi: Likewise.
17707         Reported by Rainer Tammer.
17708
17709 2010-07-30  Bruno Haible  <bruno@clisp.org>
17710
17711         chown: Update doc regarding AIX.
17712         * doc/posix-functions/chown.texi: Mention bug on AIX 7.1.
17713         * m4/chown.m4 (gl_FUNC_CHOWN): Update comment.
17714         Reported by Rainer Tammer.
17715
17716 2010-07-30  Eric Blake  <eblake@redhat.com>
17717
17718         strtod: fix bug in replacement function on AIX
17719         * lib/strtod.c (strtod): Special case broken "0x" parse in
17720         underlying strtod.
17721         * tests/test-strtod.c (main): Document AIX 7.1 bugs.
17722         * doc/posix-functions/strtod.texi (strtod): Likewise.
17723         Reported by Rainer Tammer.
17724
17725 2010-07-30  Bruno Haible  <bruno@clisp.org>
17726
17727         mbrlen: Fix cross-compilation guess for AIX.
17728         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE): Fix cross-compilation
17729         guess. Leftover from 2008-12-22.
17730
17731 2010-07-30  Bruno Haible  <bruno@clisp.org>
17732
17733         mbrtowc: Fix cross-compilation guess for AIX.
17734         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Fix cross-compilation
17735         guess. Leftover from 2008-12-21.
17736
17737 2010-07-29  Peter O'Gorman  <pogma@thewrittenword.com>  (tiny change)
17738
17739         init.sh: work around trap limitation of some shells
17740         * tests/init.sh (setup_): Move exit trap outside of shell function.
17741
17742 2010-07-29  Eric Blake  <eblake@redhat.com>
17743
17744         strtod: aid debugging
17745         * m4/strtod.m4(gl_FUNC_STRTOD): Use distinct exit status to aid
17746         understanding why strtod is rejected.
17747
17748 2010-07-28  Bruno Haible  <bruno@clisp.org>
17749
17750         unistr/u*-chr, unistr/u*-strchr: Fix link errors and warnings.
17751         * lib/unistr/u8-chr.c: Include <string.h>.
17752         * tests/unistr/test-u8-chr.c: Likewise.
17753         * tests/unistr/test-u16-chr.c: Likewise.
17754         * tests/unistr/test-u32-chr.c: Likewise.
17755         * tests/unistr/test-u8-strchr.c: Likewise.
17756         * tests/unistr/test-u16-strchr.c: Likewise.
17757         * tests/unistr/test-u32-strchr.c: Likewise.
17758         * modules/unistr/u8-chr-tests (Depends-on): Add unistr/u32-set.
17759         * modules/unistr/u16-chr-tests (Depends-on): Likewise.
17760         * modules/unistr/u8-strchr-tests (Depends-on): Likewise.
17761         * modules/unistr/u16-strchr-tests (Depends-on): Likewise.
17762
17763 2010-07-28  Bruno Haible  <bruno@clisp.org>
17764
17765         Use spaces for indentation, not tabs.
17766         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
17767
17768 2010-07-27  Bruno Haible  <bruno@clisp.org>
17769
17770         mbspcasecmp: Fix function specification.
17771         * lib/string.in.h (mbspcasecmp): Fix specification comment.
17772         * lib/mbspcasecmp.c (mbspcasecmp): Likewise.
17773         Reported by Eric Blake <eblake@redhat.com>.
17774
17775 2010-07-26  Paul R. Eggert  <eggert@cs.ucla.edu>
17776
17777         timespec: use cast and not conditional, as truncation isn't possible
17778         * lib/timespec.h (timespec_cmp): Use cast to pacify gcc -Wconversion
17779         instead of a conditional.  Comment about the situation in more detail.
17780         This undoes most of the 2009-10-29 patch.
17781
17782 2010-07-23  Paolo Bonzini  <pbonzini@redhat.com>
17783
17784         unistr/u8-chr, unistr/u8-strchr: use Boyer-Moore like algorithm.
17785         * lib/unistr/u8-chr.c: Add Boyer-Moore like operation.
17786         * lib/unistr/u8-strchr.c: Likewise.
17787         * modules/unistr/u8-chr: Depend on memchr.
17788
17789         unistr/u*-strchr: add tests
17790         * modules/unistr/u8-strchr-tests: New file.
17791         * modules/unistr/u16-strchr-tests: New file.
17792         * modules/unistr/u32-strchr-tests: New file.
17793         * tests/unistr/test-strchr.h: New file.
17794         * tests/unistr/test-u8-strchr.c: New file.
17795         * tests/unistr/test-u16-strchr.c: New file.
17796         * tests/unistr/test-u32-strchr.c: New file.
17797
17798         unistr/u*-chr: test multibyte sequences more
17799         * tests/unistr/test-chr.h: Do complete testing of the characters in the
17800         test vector.
17801         * tests/unistr/test-u8-chr.c (U_UCTOMB): Define.
17802         * tests/unistr/test-u16-chr.c (U_UCTOMB): Likewise.
17803         * tests/unistr/test-u32-chr.c (U_UCTOMB): Likewise.
17804
17805         unistr/u*-chr: test multibyte sequences
17806         * tests/unistr/test-chr.h: Put characters above 0-127 in the test input.
17807
17808         unistr/u*-chr: prepare for multibyte tests
17809         * modules/unistr/u8-chr-tests: Depend on u32-to-u8.
17810         * modules/unistr/u16-chr-tests: Depend on u32-to-u16.
17811         * tests/unistr/test-chr.h: Build initial version as UCS-4 then convert.
17812         * tests/unistr/test-u8-chr.c (U32_TO_U): Define.
17813         * tests/unistr/test-u16-chr.c (U32_TO_U): Likewise.
17814         * tests/unistr/test-u32-chr.c (U32_TO_U): Likewise.
17815
17816 2010-07-18  Bruno Haible  <bruno@clisp.org>
17817
17818         unistr/u8-strchr: Optimize non-ASCII argument case.
17819         * lib/unistr/u8-strchr.c (u8_strchr): Compare the last byte first,
17820         because the first byte often matches anyway.
17821         Reported by Pádraig Brady <P@draigbrady.com>.
17822
17823 2010-07-15  Karl Berry  <karl@gnu.org>
17824
17825         * config/srclist.txt (fdl.texi): only one copy, from gnustandards.
17826
17827 2010-07-14  Paul R. Eggert  <eggert@cs.ucla.edu>
17828
17829         getcwd: on Solaris, work better if ancestors are inaccessible
17830         * lib/getcwd.c (__getcwd): If getcwd returns EINVAL for zero
17831         buffer and size, try again with a large buffer.  This works better
17832         on Solaris, since its getcwd succeeds even if the path to the root
17833         is inaccessible, and this is helpful in common cases such as .zfs
17834         hidden directories.  Problem reported by J Chapman Flack in
17835         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00000.html
17836         Use system getcwd if it's declared, not merely if it's partly
17837         working; use the partly-working test only to avoid needless effort
17838         if the system getcwd fails.
17839         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Omit
17840         comment that was already obsolete and is now even more obsolete.
17841         * modules/getcwd (Depends-on): Depend on strdup, since __getcwd
17842         now might call strdup.
17843
17844 2010-07-13  Paul R. Eggert  <eggert@cs.ucla.edu>
17845
17846         pthread: Add enough so that coreutils/src/sort.c compiles.
17847         * lib/pthread.in.h: Add self to author comment.  Conditionalize on
17848         _GL_PTHREAD_H, not PTHREAD_H_, for consistency with the rest of
17849         gnulib. Include <sched.h> and <time.h>, as per POSIX.
17850         Include <sys/types.h>, in case it defines pthread_t.
17851         (pthread_t, pthread_attr_t, pthread_barrier_t, pthread_barrierattr_t):
17852         (pthread_cond_t, pthread_condattr_t, pthread_key_t, pthread_mutex_t):
17853         (pthread_mutexattr_t, pthread_once_t, pthread_rwlock_t):
17854         (pthread_rwlockattr_t, pthread_spinlock_t):
17855         New typedefs, if HAVE_PTHREAD_T is not defined.
17856         (PTHREAD_COND_INITIALIZER, PTHREAD_MUTEX_INITIALIZER):
17857         (PTHREAD_ONCE_INIT, PTHREAD_RWLOCK_INITIALIZER):
17858         (PTHREAD_BARRIER_SERIAL_THREAD, PTHREAD_CANCEL_DEFERRED):
17859         (PTHREAD_CANCEL_ASYNCHRONOUS, PTHREAD_CANCEL_ENABLE):
17860         (PTHREAD_CANCEL_DISABLE, PTHREAD_CANCELED, PTHREAD_CREATE_JOINABLE):
17861         (PTHREAD_CREATE_DETACHED, PTHREAD_INHERIT_SCHED):
17862         (PTHREAD_EXPLICIT_SCHED, PTHREAD_MUTEX_DEFAULT, PTHREAD_MUTEX_NORMAL):
17863         (PTHREAD_MUTEX_ERRORCHECK, PTHREAD_MUTEX_RECURSIVE):
17864         (PTHREAD_MUTEX_STALLED, PTHREAD_MUTEX_ROBUST, PTHREAD_PRIO_NONE):
17865         (PTHREAD_PRIO_INHERIT, PTHREAD_PRIO_PROTECT, PTHREAD_PROCESS_PRIVATE):
17866         (PTHREAD_PROCESS_SHARED, PTHREAD_SCOPE_SYSTEM, PTHREAD_SCOPE_PROCESS):
17867         New macros.
17868         (pthread_cond_destroy, pthread_cond_init, pthread_cond_signal):
17869         (pthread_cond_wait, pthread_exit, pthread_mutex_destroy):
17870         (pthread_mutex_init, pthread_mutex_lock, pthread_mutex_unlock):
17871         (pthread_spin_init, pthread_spin_lock, pthread_spin_trylock);
17872         (pthread_spin_unlock): New dummy functions.
17873         (pthread_create): Return EAGAIN; don't set errno.
17874         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_t, and
17875         require AC_C_INLINE.
17876         * modules/pthread (Depends-on): Add sched, time.
17877         (pthread.h): Use AM_V_GEN.
17878
17879 2010-07-13  Bruno Haible  <bruno@clisp.org>
17880
17881         striconveh: Don't malloc memory if the result buffer is sufficient.
17882         * lib/striconveh.c (mem_cd_iconveh_internal): Use the provided result
17883         buffer if its size is sufficient.
17884         Reported by Ludovic Courtès <ludo@gnu.org>.
17885
17886 2010-07-13  Bruno Haible  <bruno@clisp.org>
17887
17888         strtod: Add safety check.
17889         * lib/strtod.c (ldexp): Abort if this dummy replacement gets called.
17890
17891 2010-07-12  Bruno Haible  <bruno@clisp.org>
17892
17893         Unify tests that set gl_cv_func_ldexpl_no_libm.
17894         * m4/ldexpl.m4 (gl_CHECK_LDEXPL_NO_LIBM): New macro, extracted from
17895         gl_FUNC_LDEXPL.
17896         (gl_FUNC_LDEXPL): Invoke it.
17897         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
17898
17899 2010-07-12  Bruno Haible  <bruno@clisp.org>
17900
17901         Unify tests that set gl_cv_func_ldexp_no_libm.
17902         * m4/ldexp.m4: New file, based on m4/mathfunc.m4.
17903         * m4/strtod.m4 (gl_PREREQ_STRTOD): Require gl_CHECK_LDEXP_NO_LIBM.
17904         * modules/ldexp (Files): Remove m4/mathfunc.m4. Add m4/ldexp.m4.
17905         (configure.ac): Simply invoke gl_FUNC_LDEXP.
17906         * modules/strtod (Files): Add m4/ldexp.m4.
17907
17908 2010-07-12  Bruno Haible  <bruno@clisp.org>
17909
17910         Unify tests that set gl_cv_func_frexpl_no_libm.
17911         * m4/frexpl.m4 (gl_CHECK_FREXPL_NO_LIBM): New macro, extracted from
17912         gl_FUNC_FREXPL_NO_LIBM.
17913         (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Invoke it.
17914         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
17915
17916 2010-07-12  Bruno Haible  <bruno@clisp.org>
17917
17918         Unify tests that set gl_cv_func_frexp_no_libm.
17919         * m4/frexp.m4 (gl_CHECK_FREXP_NO_LIBM): New macro, extracted from
17920         gl_FUNC_FREXP_NO_LIBM.
17921         (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Require it.
17922         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
17923
17924 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
17925
17926         memcoll: clarify sizes versus lengths, document better, and tweak perf
17927         * lib/memcoll.c (strcoll_loop, memcoll0):
17928         Improve quality of descriptive comments.  Name variables
17929         consistently as to whether they are lengths (which do not include
17930         terminating null) versus sizes (which do).
17931         * lib/xmemcoll.c (xmemcoll0): Likewise.
17932         * lib/memcoll.c (strcoll_loop): Tweak the way that the diff is
17933         returned when s1size == 0; this is easier to compile and saves
17934         about 17% of memcoll's code space on x86-64 with GCC 4.1.2.
17935
17936 2010-07-12  Bruno Haible  <bruno@clisp.org>
17937
17938         Tests for module '_Exit'.
17939         * modules/_Exit-tests: New file.
17940         * tests/test-_Exit.sh: New file.
17941         * tests/test-_Exit.c: New file.
17942
17943         New module '_Exit'.
17944         * lib/stdlib.in.h (__attribute__): New macro.
17945         (_Exit): New declaration.
17946         * lib/_Exit.c: New file.
17947         * m4/_Exit.m4: New file.
17948         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether _Exit is declared.
17949         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB__EXIT and HAVE__EXIT.
17950         * modules/stdlib (Makefile.am): Substitute GNULIB__EXIT and HAVE__EXIT.
17951         * modules/_Exit: New file.
17952         * tests/test-stdlib-c++.cc (_Exit): Check signature.
17953         * doc/posix-functions/_Exit_C99.texi: Mention the new module.
17954
17955 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
17956
17957         strtod: make it more-accurate typically, and don't require libm
17958         * lib/strtod.c (_GL_ARG_NONNULL): Remove; no longer needed.
17959         Include limits.h.  Don't include string.h.
17960         (HAVE_LDEXP_IN_LIBC, HAVE_RAW_DECL_STRTOD): Define to 0 if not defined.
17961         (locale_isspace): New function, so that no casts are needed to
17962         check whether *s is a space.
17963         (ldexp): Provide an unused dummy if not available.
17964         (scale_radix_exp, parse_number, underlying_strtod): New functions.
17965         (strtod): Use them.  This implementation prefers to use the
17966         underlying strtod if available, falling back on our own code
17967         only to fix known bugs.  This is more likely to produce an
17968         accurate result.  Also, it avoids the use of libm functions.
17969         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't invoke _AC_LIBOBJ_STRTOD;
17970         no longer needed.  Invoke AC_LIBOBJ([strtod]); don't know why this
17971         was absent, but it caused a test failure with coreutils.
17972         (gl_PREREQ_STRTOD): Check wither ldexp can be used without linking
17973         with libm.
17974         * modules/strtod (Makefile.am, Link): libm is no longer needed.
17975         * modules/strtod-tests (Makefile.am): Likewise.
17976
17977 2010-07-11  Pádraig Brady  <P@draigBrady.com>
17978             Bruno Haible  <bruno@clisp.org>
17979
17980         unistr/u8-strchr: Optimize ASCII argument case.
17981         * lib/unistr/u8-strchr.c (u8_strchr): For ASCII arguments, use strchr.
17982
17983 2010-07-08  Paul Eggert  <eggert@cs.ucla.edu>
17984
17985         (x)memcoll: minor tweaks
17986         * lib/memcoll.c (strcoll_loop): Prefer the style where 'const'
17987         is after the type that it qualifies.
17988         (memcoll0): Likewise.
17989         * lib/memcoll.h (memcoll0): Likewise.
17990         * lib/xmemcoll.c (collate_error, xmemcoll0): Likewise.
17991         * lib/xmemcoll.h (xmemcoll0): Likewise.
17992         * lib/memcoll.c (memcoll0): Correct the comment.  This function
17993         differs from memcoll in that the NUL byte is part of the argument.
17994         Omit the abort-checks, as performance is a real issue here.  Plus,
17995         the checks were wrong anyway (an off-by-one error).  Omit local
17996         variable 'diff', as it's a bit clearer that way.
17997         * m4/memcoll.m4 (gl_MEMCOLL): Omit AC_FUNC_STRCOLL, as it's
17998         no longer needed.
17999
18000 2010-07-08  Chen Guo <chenguo4@yahoo.com>
18001
18002         (x)memcoll: speedup when input is known to be NUL delimited
18003         * lib/memcoll.c: Include stdlib.
18004         (memcoll0): New function.
18005         (strcoll_loop): New function, refactored for use in both memcoll
18006         and memcoll0.
18007         * lib/memcoll.h (memcoll0): Add prototype.
18008         * lib/xmemcoll.c (xmemcoll0): New function.
18009         (collate_error): New function, refactored for use in both xmemcoll
18010         and xmemcoll0.
18011         * lib/xmemcoll.h (xmemcoll0): Add prototype.
18012         * m4/memcoll.m4: add inline invocation.
18013
18014 2010-07-06  Pádraig Brady  <P@draigBrady.com>
18015
18016         * build-aux/bootstrap: Remove any local translations
18017         from the translation project synchronization directory,
18018         so that local only translations are not distributed.
18019
18020 2010-07-04  Bruno Haible  <bruno@clisp.org>
18021
18022         fsusage: Clarify which code applies to which platforms.
18023         * m4/fsusage.m4 (gl_FSUSAGE): Clarify which test succeeds on which
18024         platform.
18025         * lib/fsusage.c (get_fs_usage): Likewise.
18026
18027 2010-07-04  Bruno Haible  <bruno@clisp.org>
18028
18029         havelib: Fix bug when AC_LIB_FROMPACKAGE is used more than twice.
18030         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): Use m4_defn.
18031         Reported by Martin Lambers <marlam@marlam.de>.
18032
18033 2010-07-04  Jim Meyering  <meyering@redhat.com>
18034
18035         hash: once again explicitly disallow insertion of NULL
18036         * lib/hash.c (hash_insert0): Reinstate just-removed test:
18037         inserting a NULL pointer cannot work with these functions.
18038         Add a comment with details.
18039         This reverts part of the 2010-07-01 commit, 5bef1a35
18040         "hash: extend module to deal with non-pointer keys".
18041
18042 2010-07-01  Bruno Haible  <bruno@clisp.org>
18043
18044         stdbool: Update doc.
18045         * doc/posix-headers/stdbool.texi: Mention OpenBSD bug.
18046         Info from Christian Weisgerber <naddy@mips.inka.de>.
18047
18048 2010-07-01  Jim Meyering  <meyering@redhat.com>
18049
18050         hash: extend module to deal with non-pointer keys
18051         * lib/hash.c (hash_insert0): New interface, much like hash_insert
18052         but that allows insertion of non-pointer entries.
18053         Do not disallow an ENTRY value of NULL.
18054         (hash_insert): This is now just a thin wrapper.  Call hash_insert0.
18055         * lib/hash.h (hash_insert0): Declare.
18056
18057 2010-07-01  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
18058
18059         gettext: Use AC_GNU_SOURCE as a fallback for AC_USE_SYSTEM_EXTENSIONS.
18060         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): When AC_USE_SYSTEM_EXTENSIONS is
18061         not present (i.e. with autoconf 2.59 and when using gettextize, not
18062         gnulib), require AC_GNU_SOURCE instead.
18063
18064 2010-07-01  Ian Beckwith  <ianb@erislabs.net>
18065
18066         idpriv-drop: Fix tests.
18067         * tests/test-idpriv-drop.su.sh: Refer to the test-idpriv-drop program,
18068         not to the test-idpriv-droptemp program.
18069
18070 2010-06-29  Bruno Haible  <bruno@clisp.org>
18071
18072         string: Fix syntax error with g++ 2.96.
18073         * lib/string.in.h (__pure__): Remove definition.
18074         (_GL_ATTRIBUTE_PURE): New macro.
18075         (memchr, memmem, memrchr, rawmemchr, strchrnul, strnlen, strpbrk,
18076         strstr, strcasestr): Use it instead of __attribute__ ((__pure__)).
18077         Reported by Christian Weisgerber <naddy@mips.inka.de>.
18078
18079 2010-06-28  Ian Beckwith  <ianb@erislabs.net>
18080
18081         unitypes: Fix bug introduced on 2010-05-18.
18082         * modules/unitypes (Files): Really add m4/libunistring-base.m4.
18083
18084 2010-06-22  Eric Blake  <eblake@redhat.com>
18085
18086         memmem: slight optimization
18087         * lib/str-two-way.h (critical_factorization): Update comments.
18088         Reduce work during factorization phase.
18089         Reported by Carlos Bueno <carlos@bueno.org>.
18090
18091 2010-06-21  Bruno Haible  <bruno@clisp.org>
18092
18093         Fix HAVE_CALLOC_POSIX misnomer.
18094         * lib/stdlib.in.h (calloc): Use REPLACE_CALLOC instead of
18095         !HAVE_CALLOC_POSIX.
18096         * m4/calloc.m4 (gl_REPLACE_CALLOC): Set REPLACE_CALLOC instead of
18097         HAVE_CALLOC_POSIX.
18098         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_CALLOC
18099         instead of HAVE_CALLOC_POSIX.
18100         * modules/stdlib (Makefile.am): Substitute REPLACE_CALLOC instead of
18101         HAVE_CALLOC_POSIX.
18102
18103         Use modern idiom for calloc() replacement.
18104         * modules/calloc (configure.ac): Invoke gl_FUNC_CALLOC_GNU instead of
18105         AC_FUNC_CALLOC.
18106         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Renamed from AC_FUNC_CALLOC.
18107         Require gl_STDLIB_H_DEFAULTS. Invoke gl_REPLACE_CALLOC.
18108         (gl_FUNC_CALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
18109         HAVE_CALLOC_POSIX. Invoke gl_REPLACE_CALLOC.
18110         (gl_REPLACE_CALLOC): New macro.
18111
18112 2010-06-21  Bruno Haible  <bruno@clisp.org>
18113
18114         Fix HAVE_REALLOC_POSIX misnomer.
18115         * lib/stdlib.in.h (realloc): Use REPLACE_REALLOC instead of
18116         !HAVE_REALLOC_POSIX.
18117         * m4/realloc.m4 (gl_REPLACE_REALLOC): Set REPLACE_REALLOC instead of
18118         HAVE_REALLOC_POSIX.
18119         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_REALLOC
18120         instead of HAVE_REALLOC_POSIX.
18121         * modules/stdlib (Makefile.am): Substitute REPLACE_REALLOC instead of
18122         HAVE_REALLOC_POSIX.
18123
18124         Use modern idiom for realloc() replacement.
18125         * modules/realloc (configure.ac): Invoke gl_FUNC_REALLOC_GNU instead of
18126         AC_FUNC_REALLOC.
18127         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): New macro, mostly copied from
18128         Autoconf's AC_FUNC_REALLOC.
18129         (gl_FUNC_REALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
18130         HAVE_REALLOC_POSIX. Invoke gl_REPLACE_REALLOC.
18131         (gl_REPLACE_REALLOC): New macro.
18132         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
18133
18134 2010-06-21  Bruno Haible  <bruno@clisp.org>
18135
18136         Fix HAVE_MALLOC_POSIX misnomer.
18137         * lib/stdlib.in.h (malloc): Use REPLACE_MALLOC instead of
18138         !HAVE_MALLOC_POSIX.
18139         * m4/malloc.m4 (gl_REPLACE_MALLOC): Set REPLACE_MALLOC instead of
18140         HAVE_MALLOC_POSIX.
18141         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_MALLOC
18142         instead of HAVE_MALLOC_POSIX.
18143         * modules/stdlib (Makefile.am): Substitute REPLACE_MALLOC instead of
18144         HAVE_MALLOC_POSIX.
18145
18146         Use modern idiom for malloc() replacement.
18147         * modules/malloc (configure.ac): Invoke gl_FUNC_MALLOC_GNU instead of
18148         AC_FUNC_MALLOC.
18149         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): New macro, mostly copied from
18150         Autoconf's AC_FUNC_MALLOC.
18151         (gl_FUNC_MALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
18152         HAVE_MALLOC_POSIX. Invoke gl_REPLACE_MALLOC.
18153         (gl_REPLACE_MALLOC): New macro.
18154         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
18155
18156 2010-06-20  Richard Lloyd  <richard.lloyd@connectinternetsolutions.com>
18157
18158         stdio.in.h: fix compilation failure when using HP-UX 11's C compiler
18159         * lib/stdio.in.h: Remove excess _GL_CXXALIAS_RPL macro argument.
18160         This macro takes 3 arguments, not 4.
18161
18162 2010-06-15  Giuseppe Scrivano  <gscrivano@gnu.org>
18163
18164         ipv6: fix detection under mingw
18165         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Include <ws2tcpip.h> for struct
18166         in6_addr.
18167
18168 2010-06-14  Ben Pfaff  <blp@cs.stanford.edu>
18169
18170         * m4/strtod.m4 (gl_FUNC_STRTOD): Factor out common code.  Assume
18171         that strtod() works when cross-compiling to a glibc version known
18172         to work.
18173
18174 2010-06-15  Bruno Haible  <bruno@clisp.org>
18175
18176         * m4/strtod.m4 (gl_FUNC_STRTOD): Stop using AC_FUNC_STRTOD.
18177
18178 2010-06-15  René Berber  <r.berber@computer.org>  (tiny change)
18179
18180         select: Correct timeout.
18181         * lib/select.c (rpl_select): Compute wait_timeout correctly.
18182
18183 2010-06-14  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
18184
18185         git-version-gen: init shell var to avoid env var influence
18186         * build-aux/git-version-gen (v): Init shell var to empty.
18187
18188 2010-06-14  Paul Eggert  <eggert@cs.ucla.edu>
18189
18190         priv-set: Don't assume that priv.h exists merely because getppriv does.
18191         See Jan Andersen's bug report about AIX 5L in
18192         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00019.html
18193         * m4/priv-set.m4 (gl_PRIV_SET): Check for priv.h.
18194         * lib/priv-set.c: Do nothing unless HAVE_PRIV_H.
18195         * lib/priv-set.h: Likewise.
18196         * tests/test-priv-set.c: Likewise.
18197
18198 2010-06-13  Bruno Haible  <bruno@clisp.org>
18199
18200         relocatable: Make it easier to test whether to install wrappers.
18201         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): New automake conditional
18202         RELOCATABLE_VIA_WRAPPER.
18203
18204 2010-06-13  Bruno Haible  <bruno@clisp.org>
18205
18206         gnulib-tool: Display specified modules and dependencies differently.
18207         * gnulib-tool (func_show_module_list): New function.
18208         (func_import, func_create_testdir): Invoke it.
18209         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
18210
18211 2010-06-13  Bruno Haible  <bruno@clisp.org>
18212
18213         gnulib-tool: Align code of func_import and func_create_testdir.
18214         * gnulib-tool (func_create_testdir): Rename variable saved_modules to
18215         specified_modules.
18216
18217 2010-06-12  Jim Meyering  <meyering@redhat.com>
18218
18219         test-inttostr: avoid spurious failure on Solaris 9
18220         * tests/test-inttostr.c (main): Skip the test when snprintf fails
18221         to accept "%ju".  Reported by Bruno Haible.
18222
18223 2010-06-11  Jim Meyering  <meyering@redhat.com>
18224
18225         test-sys_socket: mark variables as used more readably
18226         * tests/test-sys_socket.c (main): Mark otherwise unused variables
18227         as "used" explicitly via (void) statement casts.  This is more
18228         readable than using them in an artificial return expression.
18229         Suggestion from Bruno Haible.
18230
18231 2010-06-11  Bruno Haible  <bruno@clisp.org>
18232
18233         Avoid some more warnings from "gcc -Wwrite-strings".
18234         * tests/test-argp.c (test_optional): Change 5th and 6th argument type
18235         to 'const char *'.
18236         * tests/test-c-strstr.c (main): Add 'const' to variable declaration.
18237         * tests/test-c-strcasestr.c (main): Likewise.
18238         * tests/test-mbscasestr1.c (main): Likewise.
18239         * tests/test-mbscasestr2.c (main): Likewise.
18240         * tests/test-memmem.c (main): Likewise.
18241         * tests/test-strstr.c (main): Likewise.
18242         * tests/test-strcasestr.c (main): Likewise.
18243
18244 2010-06-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
18245
18246         init.sh: change framework_failure_ to fail with status 99, not 1
18247         * tests/init.sh (framework_failure_): Exit 99, not 1.  This informs
18248         automake's parallel-tests rule that this is an unexpected failure,
18249         even if the test is listed in XFAIL_TESTS.
18250
18251 2010-06-11  Jim Meyering  <meyering@redhat.com>
18252
18253         test-inttostr: avoid warnings about 4-6KB literal strings
18254         * tests/test-inttostr.c: Don't use <assert.h>.  Instead, ...
18255         Include "macros.h", for its definition of ASSERT.
18256         (CK): s/assert/ASSERT/
18257         * modules/inttostr-tests (Files): Add macros.h.
18258
18259         init.sh: don't use $ME_ or skip_ before they are defined
18260         * tests/init.sh: Hoist definitions of $ME_ and skip_ to precede
18261         their first uses.  Also hoist their companions: warn_, fail_,
18262         framework_failure_, $stderr_fileno.  Prompted by a patch from
18263         Stefano Lattarini.
18264
18265         test-sys_socket: avoid set-but-not-used warnings from gcc
18266         * tests/test-sys_socket.c (main): Use "i" and "x", in order to
18267         avoid warning about set-but-not-used variables.
18268
18269         test-xvasprintf: avoid 'const' discard warnings
18270         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Use
18271         "const" when assigning from literal strings.
18272         (test_xasprintf): Add "void" in function argument list to placate
18273         -Wstrict-prototypes and to be consistent with test_xvasprintf above.
18274
18275         tests: avoid compilation warnings in argmatch and exclude tests...
18276         in packages that define ARGMATCH_DIE_DECL, like coreutils.
18277         * tests/test-exclude.c [ARGMATCH_DIE_DECL]: Also declare the function.
18278         Since it always exits, declare with the "noreturn" attribute.
18279         * tests/test-argmatch.c: Likewise.
18280
18281         tests: avoid 'const' discard warnings in mbsstr tests
18282         * tests/test-mbsstr1.c (main): Add "const" to avoid trivial warning.
18283         * tests/test-mbsstr2.c (main): Likewise.
18284
18285         test-verify: avoid warning from gcc's -Wmissing-declarations
18286         * tests/test-verify.c (function): Declare to be static.
18287
18288         test-inttostr.c: include <string.h> for use of strcmp
18289         * tests/test-inttostr.c: Include <string.h> for strcmp declaration.
18290
18291         test-linkat: avoid failed assertion on "other" architectures
18292         * tests/test-linkat.c: Include <sys/stat.h>, for declarations of stat,
18293         lstat, mkdir.  Patch by John Rigby, to fix FTBFS on armel, powerpc,
18294         sparc: https://bugs.launchpad.net/bugs/591968
18295
18296 2010-06-11  Jim Meyering  <meyering@redhat.com>
18297
18298         printf.m4: avoid autoconf's "Expanded Before Required" warning
18299         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Define using AC_DEFUN_ONCE,
18300         rather than AC_DEFUN, to avoid the classic "Expanded Before Required"
18301         autoconf warning.
18302
18303 2010-06-10  Ben Pfaff  <blp@cs.stanford.edu>
18304
18305         Replacement header templates are now named with ".in", not "_".
18306         * doc/gnulib-intro.texi: Correct.
18307
18308 2010-06-10  Jim Meyering  <meyering@redhat.com>
18309
18310         inttostr-tests: depend on snprintf, not snprintf-posix
18311         * modules/inttostr-tests (Depends-on): Depend on snprintf, not
18312         snprintf-posix, to avoid this aclocal failure:
18313           missing file gnulib-tests/vasnprintf.c
18314           configure.ac:45: error: expected source file, required through \
18315           AC_LIBSOURCES, not found
18316
18317 2010-06-10  Jim Meyering  <meyering@redhat.com>
18318
18319         inttostr: add a new function, inttostr, and tests
18320         The namesake function was not available.  The existence of the
18321         template file, inttostr.c makes its addition nontrivial.
18322         * lib/anytostr.c: Rename from inttostr.c.
18323         (anytostr): Rename from inttostr.
18324         * lib/inttostr.c: New file.
18325         * modules/inttostr (Files): Add anytostr.c.
18326         (Makefile.am): Set lib_SOURCES instead of ...
18327         * m4/inttostr.m4: Remove uses of AC_LIBOBJ.
18328         * lib/imaxtostr.c: Update use.  s/inttostr/anytostr/
18329         * lib/offtostr.c: Likewise.
18330         * lib/uinttostr.c: Likewise.
18331         * lib/umaxtostr.c: Likewise.
18332         * modules/inttostr-tests: New file.
18333         * tests/test-inttostr.c: New file.  Test these functions.
18334
18335 2010-06-09  Ben Pfaff  <blp@cs.stanford.edu>
18336             Bruno Haible  <bruno@clisp.org>
18337
18338         Add "Extending Gnulib" chapter to manual.
18339         * doc/gnulib.texi (Writing Modules): Add cross-reference to new
18340         chapter.
18341         (Extending Gnulib): New chapter.
18342         * doc/gnulib-intro.texi (Openness): Add cross-reference to new
18343         chapter.
18344
18345 2010-06-09  Bruno Haible  <bruno@clisp.org>
18346
18347         Avoid relocwrapper link errors due to gnulib replacement functions.
18348         * lib/areadlink.c: Use the system's malloc, realloc functions.
18349         (areadlink): Set errno to ENOMEM explicitly.
18350         * modules/areadlink (Depends-on): Remove malloc-posix.
18351         Reported by Ben Pfaff <blp@cs.stanford.edu>.
18352
18353 2010-06-09  Bruno Haible  <bruno@clisp.org>
18354
18355         Avoid relocwrapper link errors due to gnulib replacement functions.
18356         * lib/canonicalize-lgpl.c: Use the system's malloc function.
18357         * lib/malloca.c: Likewise.
18358         * lib/relocatable.c: Likewise.
18359         * lib/progreloc.c: Use the system's malloc, sprintf functions.
18360         * lib/relocwrapper.c: Use the system's fprintf, malloc functions.
18361         * lib/setenv.c: Use the system's malloc, realloc functions.
18362         * lib/strerror.c: Use the system's sprintf function.
18363         Reported by Ben Pfaff <blp@cs.stanford.edu>.
18364
18365 2010-06-04  Bruno Haible  <bruno@clisp.org>
18366
18367         Prefer documented low-level autoconf macro names.
18368         * m4/lib-link.m4: Use m4_translit instead of translit.
18369         * m4/environ.m4: Likewise.
18370         * m4/mathfunc.m4: Likewise.
18371         * m4/onceonly.m4: Likewise.
18372         * m4/stdint.m4: Likewise.
18373         Suggested by Eric Blake.
18374
18375 2010-06-04  Martin Lambers  <marlam@marlam.de>
18376             Bruno Haible  <bruno@clisp.org>
18377
18378         havelib: Allow library names with '+' characters.
18379         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
18380         AC_LIB_FROMPACKAGE, AC_LIB_LINKFLAGS_BODY): Convert '+' in name to '_'.
18381
18382 2010-06-09  Bruno Haible  <bruno@clisp.org>
18383
18384         Module setenv does not depend on 'malloc-posix', 'realloc-posix'.
18385         * lib/setenv.c (__add_to_environ): Set errno to ENOMEM when malloc or
18386         realloc failed.
18387
18388 2010-06-08  Peter Simons  <simons@cryp.to>
18389
18390         maint.mk: make the news-check rule more configurable
18391         * top/maint.mk (news-check-lines-spec): New variable.
18392         (news-check): Use "sed -n 1,10p" in place of "head".
18393
18394 2010-06-07  Jim Meyering  <meyering@redhat.com>
18395
18396         do-release-commit-and-tag: fix typo in --help
18397         * build-aux/do-release-commit-and-tag (Usage): Fix typo in --help.
18398
18399         regex: avoid new dead-code warning with gcc-4.6.0
18400         * lib/regex_internal.c (re_string_reconstruct): #if-0-out a dead
18401         if-block containing a while-loop.  It's been unused for at least
18402         5 years.
18403
18404 2010-06-05  Bruno Haible  <bruno@clisp.org>
18405
18406         * doc/posix-functions/strcoll.texi: Mention Solaris limitation.
18407         Reported by River Tarnell <river.tarnell@wikimedia.de> via Eric Blake.
18408
18409 2010-06-04  Bruno Haible  <bruno@clisp.org>
18410
18411         Update to GNU gettext 0.18.1.
18412         * modules/gettext (configure.ac): Require gettext infrastructure from
18413         version 0.18.1.
18414
18415 2010-06-03  Bruno Haible  <bruno@clisp.org>
18416
18417         Don't use AC_LIBOBJ with file names in subdirectories.
18418         * m4/libunistring-base.m4 (gl_LIBUNISTRING_MODULE): Renamed from
18419         gl_LIBUNISTRING_LIBSOURCE. Take a module name as argument, not a file
18420         name. Define an automake conditional. Don't invoke AC_LIBOBJ.
18421         * m4/libunistring.m4 (gl_LIBUNISTRING): Update AC_BEFORE invocation.
18422         * modules/uni*/* (configure.ac): Use gl_LIBUNISTRING_MODULE instead of
18423         gl_LIBUNISTRING_LIBSOURCE.
18424         (Makefile.am): Augment lib_SOURCES here, conditionally.
18425         * NEWS: Drop requirement for Automake option 'subdir-objects'.
18426
18427 2010-06-03  Bruno Haible  <bruno@clisp.org>
18428
18429         Simplify gl_LIBUNISTRING_VERSION_CMP expansion.
18430         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Ensure
18431         expansion does not end with a newline.
18432         (gl_LIBUNISTRING_LIBSOURCE, gl_LIBUNISTRING_LIBHEADER): Avoid
18433         unnecessary newline.
18434
18435 2010-06-03  Bruno Haible  <bruno@clisp.org>
18436
18437         Reduce dependencies.
18438         * tests/test-quotearg.h: New file, extracted from
18439         tests/test-quotearg.c.
18440         * tests/test-quotearg-simple.c: New file, extracted from
18441         tests/test-quotearg.c.
18442         * tests/test-quotearg.c: Don't include <ctype.h>.
18443         (struct result_strings, struct result_groups, LQ, RQ, LQ_ENC, RQ_ENC,
18444         RQ_ESC, inputs, compare, use_quotearg_buffer, use_quotearg,
18445         use_quote_double_quotes, use_quotearg_colon): Moved to
18446         tests/test-quotearg.h.
18447         (results_g, flag_results, custom_quotes, custom_results): Moved
18448         to tests/test-quotearg-simple.c.
18449         (main): Moved the part that does not depend on gettext to
18450         tests/test-quotearg-simple.c. Return 77 if the test cannot be
18451         performed.
18452         * modules/quotearg-simple: New file.
18453         * modules/quotearg-simple-tests: New file.
18454         * modules/quotearg (Depends-on): Add quotearg-simple.
18455         * modules/quotearg-tests (Status): Mark as gettext-dependent-test.
18456         (Files): Add tests/test-quotearg.h.
18457         Reported by Paolo Bonzini.
18458
18459 2010-06-03  Bruno Haible  <bruno@clisp.org>
18460
18461         Reduce dependencies.
18462         * modules/acl (Depends-on): Add gettext-h. Remove gettext.
18463
18464 2010-06-03  Bruno Haible  <bruno@clisp.org>
18465
18466         time: Undefine more broken macros.
18467         * lib/time.in.h: Undefine broken localtime_r and gmtime_r macros only
18468         for pthread-win32. Undefine also asctime_r, ctime_r, rand_r, strtok_r.
18469         Reported by Eric Blake.
18470
18471 2010-06-03  Bruno Haible  <bruno@clisp.org>
18472
18473         Choose among AC_DEFUN_ONCE, AC_DEFUN in a way that aclocal understands.
18474         * m4/iconv.m4 (gl_iconv_AC_DEFUN): New macro.
18475         (AM_ICONV): Define it through gl_iconv_AC_DEFUN.
18476         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): New macro.
18477         (gl_LIBUNISTRING): Define it through gl_libunistring_AC_DEFUN.
18478         Reported by Ludovic Courtès <ludo@gnu.org>.
18479
18480 2010-06-02  Eric Blake  <eblake@redhat.com>
18481
18482         time: work with mingw + pthreads-win32 library
18483         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Set new variable
18484         if timespec is defined only in pthread.h.
18485         * modules/time (Makefile.am): Substitute it.
18486         * lib/time.in.h (!TIME_H_DEFINES_STRUCT_TIMESPEC): Include
18487         <pthread.h>, when needed.
18488         (GNULIB_TIME_R): Undefine broken localtime_r and gmtime_r macros
18489         from the library.
18490
18491 2010-05-31  Bruno Haible  <bruno@clisp.org>
18492
18493         Avoid expanding two macros in the wrong order.
18494         * m4/libunistring-base.m4 (gl_LIBUNISTRING_LIB_PREPARE): Require
18495         gl_LIBUNISTRING if it is defined.
18496         * m4/libunistring.m4 (gl_LIBUNISTRING): Define using AC_DEFUN_ONCE for
18497         autoconf >= 2.64.
18498         Reported by Ludovic Courtès <ludo@gnu.org>.
18499
18500 2010-05-27  Jim Meyering  <meyering@redhat.com>
18501
18502         maint.mk: also prohibit "#undef" of always-defined symbols
18503         * top/maint.mk (def_sym_regex): Handle #undef as well as #define.
18504         Allow more than one space before the symbol name.
18505         (sc_prohibit_always-defined_macros): Use grep's -E, now that
18506         the regexp uses alternation.
18507
18508 2010-05-26  Eric Blake  <eblake@redhat.com>
18509
18510         maint.mk: avoid echo -e
18511         * top/maint.mk (gzip_rsyncable, _ignore_case, _sc_say_and_exit):
18512         Convert all uses of echo -* to printf.
18513         Reported by Matthias Bolte.
18514
18515 2010-05-25  Bruno Haible  <bruno@clisp.org>
18516
18517         Update to GNU gettext 0.18, part 2.
18518         * build-aux/po/Makefile.in.in: Update to GNU gettext 0.18.
18519         Reported by Martin von Gagern <Martin.vGagern@gmx.net>.
18520
18521 2010-05-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
18522
18523         Add missing include in test-pwrite.c.
18524         * tests/test-pwrite.c: Include string.h, for strcmp.
18525
18526 2010-05-24  Bruno Haible  <bruno@clisp.org>
18527
18528         * NEWS: Mention requirement for Automake option 'subdir-objects'.
18529
18530 2010-05-24  Bruno Haible  <bruno@clisp.org>
18531
18532         Don't use conversion with transliteration in u{8,16,32}_strcoll.
18533         * lib/unistr/u-strcoll.h (FUNC): Use U_STRCONV_TO_ENCODING with
18534         iconveh_error argument.
18535         * lib/unistr/u8-strcoll.c: Define U_STRCONV_TO_ENCODING instead of
18536         U_STRCONV_TO_LOCALE.
18537         * lib/unistr/u16-strcoll.c: Likewise.
18538         * lib/unistr/u32-strcoll.c: Likewise.
18539         * modules/unistr/u8-strcoll (Depends-on): Add
18540         uniconv/u8-strconv-to-enc, localcharset. Remove
18541         uniconv/u8-strconv-to-locale.
18542         (configure.ac): Bump version number.
18543         * modules/unistr/u16-strcoll (Depends-on): Add
18544         uniconv/u16-strconv-to-enc, localcharset. Remove
18545         uniconv/u16-strconv-to-locale.
18546         (configure.ac): Bump version number.
18547         * modules/unistr/u32-strcoll (Depends-on): Add
18548         uniconv/u32-strconv-to-enc, localcharset. Remove
18549         uniconv/u32-strconv-to-locale.
18550         (configure.ac): Bump version number.
18551
18552 2010-05-24  Bruno Haible  <bruno@clisp.org>
18553
18554         Avoid a test failure on NetBSD 5.0.
18555         * tests/test-striconveh.c (main): On NetBSD, skip a test that triggers
18556         an iconv() bug.
18557
18558 2010-05-24  Bruno Haible  <bruno@clisp.org>
18559
18560         Adjust #include directive style.
18561         * modules/regex (Includes): Recommend to write <regex.h>.
18562
18563 2010-05-24  Bruno Haible  <bruno@clisp.org>
18564
18565         regex: Don't require alloca.
18566         * modules/regex (Depends-on): Remove alloca. Add alloca-opt.
18567         * lib/regex_internal.h (alloca): Ensure it's defined even if we call it
18568         only inside if (0).
18569
18570 2010-05-23  Jim Meyering  <meyering@redhat.com>
18571
18572         test-renameat.c: include <sys/stat.h>
18573         * tests/test-renameat.c: Include <sys/stat.h>; required for
18574         definition of S_IS* macros.
18575
18576 2010-05-23  Ben Pfaff  <blp@cs.stanford.edu>
18577
18578         Update maintainer documentation for 'relocatable-prog' module.
18579         * doc/relocatable-maint.texi: Update.
18580         Comments by Bruno Haible.
18581
18582 2010-05-23  Bruno Haible  <bruno@clisp.org>
18583
18584         git-merge-changelog: Enable --split-merged-entry by default.
18585         * lib/git-merge-changelog.c (main): Set split_merged_entry to true.
18586         (usage): Don't mention this option any more.
18587         Reported by Ralf Wildenhues.
18588
18589 2010-05-23  Jim Meyering  <meyering@redhat.com>
18590
18591         test-pwrite: do not leave behind a test file named "out"
18592         Revert commit d8fa18472a54c1cb2674c296b3d82443f234d5f7.
18593         The trivial-looking use of init.sh is really necessary.
18594         It ensures that the temporary file, "out", is created in
18595         a temporary directory, and removed upon termination.
18596         * tests/test-pwrite.sh: Re-add file.
18597         * modules/pwrite-tests: Reference it.
18598
18599 2010-05-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
18600
18601         Fix output redirection buglet in init.sh.
18602         * tests/init.sh: Fix redirection of stderr.
18603
18604 2010-05-20  Simon Josefsson  <simon@josefsson.org>
18605
18606         * modules/valgrind-tests (configure.ac): Invoke gl_VALGRIND_TESTS.
18607
18608 2010-05-17  Simon Josefsson  <simon@josefsson.org>
18609
18610         * modules/valgrind-tests: New file.
18611         * m4/valgrind-tests.m4: New file.
18612         * doc/valgrind-tests.texi: New file.
18613         * doc/gnulib.texi (Running self-tests under valgrind): New
18614         section.
18615
18616 2010-05-19  Bruno Haible  <bruno@clisp.org>
18617
18618         Clean up dead code in recent commit.
18619         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Include the
18620         body of gl_LIBUNISTRING_VERSION_CMP_ORIG as fallback.
18621         (gl_LIBUNISTRING_VERSION_CMP_ORIG): Remove macro.
18622         Suggested by Paolo Bonzini.
18623
18624 2010-05-19  Bruno Haible  <bruno@clisp.org>
18625
18626         Avoid valgrind error reports from libunistring.
18627         * lib/libunistring.valgrind: New file, based on lib/malloca.valgrind.
18628         * modules/libunistring (Files): Add it.
18629         * modules/libunistring-optional (Files): Likewise.
18630
18631 2010-05-18  Paolo Bonzini  <bonzini@gnu.org>
18632             Bruno Haible  <bruno@clisp.org>
18633
18634         New module 'libunistring-optional'.
18635         * modules/libunistring-optional: New file.
18636         * m4/libunistring-base.m4: New file.
18637         * m4/libunistring-optional.m4: New file.
18638         * lib/unicase.in.h: Renamed from lib/unicase.h.
18639         * lib/uniconv.in.h: Renamed from lib/uniconv.h.
18640         * lib/unictype.in.h: Renamed from lib/unictype.h.
18641         * lib/unilbrk.in.h: Renamed from lib/unilbrk.h.
18642         * lib/uniname.in.h: Renamed from lib/uniname.h.
18643         * lib/uninorm.in.h: Renamed from lib/uninorm.h.
18644         * lib/unistdio.in.h: Renamed from lib/unistdio.h.
18645         * lib/unistr.in.h: Renamed from lib/unistr.h.
18646         * lib/unitypes.in.h: Renamed from lib/unitypes.h.
18647         * lib/uniwbrk.in.h: Renamed from lib/uniwbrk.h.
18648         * lib/uniwidth.in.h: Renamed from lib/uniwidth.h.
18649         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Renamed from
18650         gl_LIBUNISTRING. If the library was found, determine the installed
18651         version and set LIBUNISTRING_VERSION.
18652         (gl_LIBUNISTRING): New macro, as a wrapper arount it. Document that it
18653         sets LIBUNISTRING_VERSION. If the module libunistring-optional is used,
18654         handle a configuration option --with-included-libunistring.
18655         * modules/libunistring (Files): Add m4/absolute-header.m4.
18656         * modules/unicase/base (Files): Use unicase.in.h instead of unicase.h.
18657         Add m4/libunistring-base.m4.
18658         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
18659         (Makefile.am): Build unicase.h from unicase.in.h.
18660         * modules/uniconv/base (Files): Use uniconv.in.h instead of uniconv.h.
18661         Add m4/libunistring-base.m4.
18662         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
18663         (Makefile.am): Build uniconv.h from uniconv.in.h.
18664         * modules/unictype/base (Files): Use unictype.in.h instead of
18665         unictype.h. Add m4/libunistring-base.m4.
18666         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
18667         (Makefile.am): Build unictype.h from unictype.in.h.
18668         * modules/unilbrk/base (Files): Use unilbrk.in.h instead of unilbrk.h.
18669         Add m4/libunistring-base.m4.
18670         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
18671         (Makefile.am): Build unilbrk.h from unilbrk.in.h.
18672         * modules/uniname/base (Files): Use uniname.in.h instead of uniname.h.
18673         Add m4/libunistring-base.m4.
18674         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
18675         (Makefile.am): Build uniname.h from uniname.in.h.
18676         * modules/uninorm/base (Files): Use uninorm.in.h instead of uninorm.h.
18677         Add m4/libunistring-base.m4.
18678         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
18679         (Makefile.am): Build uninorm.h from uninorm.in.h.
18680         * modules/unistdio/base (Files): Use unistdio.in.h instead of
18681         unistdio.h. Add m4/libunistring-base.m4.
18682         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
18683         (Makefile.am): Build unistdio.h from unistdio.in.h.
18684         * modules/unistr/base (Files): Use unistr.in.h instead of unistr.h.
18685         Add m4/libunistring-base.m4.
18686         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
18687         (Makefile.am): Build unistr.h from unistr.in.h.
18688         * modules/unitypes (Files): Use unitypes.in.h instead of unitypes.h.
18689         Add m4/libunistring-base.m4.
18690         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
18691         (Makefile.am): Build unitypes.h from unitypes.in.h.
18692         * modules/uniwbrk/base (Files): Use uniwbrk.in.h instead of uniwbrk.h.
18693         Add m4/libunistring-base.m4.
18694         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
18695         (Makefile.am): Build uniwbrk.h from uniwbrk.in.h.
18696         * modules/uniwidth/base (Files): Use uniwidth.in.h instead of
18697         uniwidth.h. Add m4/libunistring-base.m4.
18698         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
18699         (Makefile.am): Build uniwidth.h from uniwidth.in.h.
18700         * modules/unicase/empty-prefix-context: Use gl_LIBUNISTRING_LIBSOURCE
18701         instead of augmenting lib_SOURCES.
18702         * modules/unicase/empty-suffix-context: Likewise.
18703         * modules/unicase/locale-language: Likewise.
18704         * modules/unicase/tolower: Likewise.
18705         * modules/unicase/totitle: Likewise.
18706         * modules/unicase/toupper: Likewise.
18707         * modules/unicase/u8-casecmp: Likewise.
18708         * modules/unicase/u8-casecoll: Likewise.
18709         * modules/unicase/u8-casefold: Likewise.
18710         * modules/unicase/u8-casexfrm: Likewise.
18711         * modules/unicase/u8-ct-casefold: Likewise.
18712         * modules/unicase/u8-ct-tolower: Likewise.
18713         * modules/unicase/u8-ct-totitle: Likewise.
18714         * modules/unicase/u8-ct-toupper: Likewise.
18715         * modules/unicase/u8-is-cased: Likewise.
18716         * modules/unicase/u8-is-casefolded: Likewise.
18717         * modules/unicase/u8-is-lowercase: Likewise.
18718         * modules/unicase/u8-is-titlecase: Likewise.
18719         * modules/unicase/u8-is-uppercase: Likewise.
18720         * modules/unicase/u8-prefix-context: Likewise.
18721         * modules/unicase/u8-suffix-context: Likewise.
18722         * modules/unicase/u8-tolower: Likewise.
18723         * modules/unicase/u8-totitle: Likewise.
18724         * modules/unicase/u8-toupper: Likewise.
18725         * modules/unicase/u16-casecmp: Likewise.
18726         * modules/unicase/u16-casecoll: Likewise.
18727         * modules/unicase/u16-casefold: Likewise.
18728         * modules/unicase/u16-casexfrm: Likewise.
18729         * modules/unicase/u16-ct-casefold: Likewise.
18730         * modules/unicase/u16-ct-tolower: Likewise.
18731         * modules/unicase/u16-ct-totitle: Likewise.
18732         * modules/unicase/u16-ct-toupper: Likewise.
18733         * modules/unicase/u16-is-cased: Likewise.
18734         * modules/unicase/u16-is-casefolded: Likewise.
18735         * modules/unicase/u16-is-lowercase: Likewise.
18736         * modules/unicase/u16-is-titlecase: Likewise.
18737         * modules/unicase/u16-is-uppercase: Likewise.
18738         * modules/unicase/u16-prefix-context: Likewise.
18739         * modules/unicase/u16-suffix-context: Likewise.
18740         * modules/unicase/u16-tolower: Likewise.
18741         * modules/unicase/u16-totitle: Likewise.
18742         * modules/unicase/u16-toupper: Likewise.
18743         * modules/unicase/u32-casecmp: Likewise.
18744         * modules/unicase/u32-casecoll: Likewise.
18745         * modules/unicase/u32-casefold: Likewise.
18746         * modules/unicase/u32-casexfrm: Likewise.
18747         * modules/unicase/u32-ct-casefold: Likewise.
18748         * modules/unicase/u32-ct-tolower: Likewise.
18749         * modules/unicase/u32-ct-totitle: Likewise.
18750         * modules/unicase/u32-ct-toupper: Likewise.
18751         * modules/unicase/u32-is-cased: Likewise.
18752         * modules/unicase/u32-is-casefolded: Likewise.
18753         * modules/unicase/u32-is-lowercase: Likewise.
18754         * modules/unicase/u32-is-titlecase: Likewise.
18755         * modules/unicase/u32-is-uppercase: Likewise.
18756         * modules/unicase/u32-prefix-context: Likewise.
18757         * modules/unicase/u32-suffix-context: Likewise.
18758         * modules/unicase/u32-tolower: Likewise.
18759         * modules/unicase/u32-totitle: Likewise.
18760         * modules/unicase/u32-toupper: Likewise.
18761         * modules/unicase/ulc-casecmp: Likewise.
18762         * modules/unicase/ulc-casecoll: Likewise.
18763         * modules/unicase/ulc-casexfrm: Likewise.
18764         * modules/uniconv/u8-conv-from-enc: Likewise.
18765         * modules/uniconv/u8-conv-to-enc: Likewise.
18766         * modules/uniconv/u8-strconv-from-enc: Likewise.
18767         * modules/uniconv/u8-strconv-from-locale: Likewise.
18768         * modules/uniconv/u8-strconv-to-enc: Likewise.
18769         * modules/uniconv/u8-strconv-to-locale: Likewise.
18770         * modules/uniconv/u16-conv-from-enc: Likewise.
18771         * modules/uniconv/u16-conv-to-enc: Likewise.
18772         * modules/uniconv/u16-strconv-from-enc: Likewise.
18773         * modules/uniconv/u16-strconv-from-locale: Likewise.
18774         * modules/uniconv/u16-strconv-to-enc: Likewise.
18775         * modules/uniconv/u16-strconv-to-locale: Likewise.
18776         * modules/uniconv/u32-conv-from-enc: Likewise.
18777         * modules/uniconv/u32-conv-to-enc: Likewise.
18778         * modules/uniconv/u32-strconv-from-enc: Likewise.
18779         * modules/uniconv/u32-strconv-from-locale: Likewise.
18780         * modules/uniconv/u32-strconv-to-enc: Likewise.
18781         * modules/uniconv/u32-strconv-to-locale: Likewise.
18782         * modules/unictype/bidicategory-byname: Likewise.
18783         * modules/unictype/bidicategory-name: Likewise.
18784         * modules/unictype/bidicategory-of: Likewise.
18785         * modules/unictype/bidicategory-test: Likewise.
18786         * modules/unictype/block-list: Likewise.
18787         * modules/unictype/block-test: Likewise.
18788         * modules/unictype/category-C: Likewise.
18789         * modules/unictype/category-Cc: Likewise.
18790         * modules/unictype/category-Cf: Likewise.
18791         * modules/unictype/category-Cn: Likewise.
18792         * modules/unictype/category-Co: Likewise.
18793         * modules/unictype/category-Cs: Likewise.
18794         * modules/unictype/category-L: Likewise.
18795         * modules/unictype/category-Ll: Likewise.
18796         * modules/unictype/category-Lm: Likewise.
18797         * modules/unictype/category-Lo: Likewise.
18798         * modules/unictype/category-Lt: Likewise.
18799         * modules/unictype/category-Lu: Likewise.
18800         * modules/unictype/category-M: Likewise.
18801         * modules/unictype/category-Mc: Likewise.
18802         * modules/unictype/category-Me: Likewise.
18803         * modules/unictype/category-Mn: Likewise.
18804         * modules/unictype/category-N: Likewise.
18805         * modules/unictype/category-Nd: Likewise.
18806         * modules/unictype/category-Nl: Likewise.
18807         * modules/unictype/category-No: Likewise.
18808         * modules/unictype/category-P: Likewise.
18809         * modules/unictype/category-Pc: Likewise.
18810         * modules/unictype/category-Pd: Likewise.
18811         * modules/unictype/category-Pe: Likewise.
18812         * modules/unictype/category-Pf: Likewise.
18813         * modules/unictype/category-Pi: Likewise.
18814         * modules/unictype/category-Po: Likewise.
18815         * modules/unictype/category-Ps: Likewise.
18816         * modules/unictype/category-S: Likewise.
18817         * modules/unictype/category-Sc: Likewise.
18818         * modules/unictype/category-Sk: Likewise.
18819         * modules/unictype/category-Sm: Likewise.
18820         * modules/unictype/category-So: Likewise.
18821         * modules/unictype/category-Z: Likewise.
18822         * modules/unictype/category-Zl: Likewise.
18823         * modules/unictype/category-Zp: Likewise.
18824         * modules/unictype/category-Zs: Likewise.
18825         * modules/unictype/category-and: Likewise.
18826         * modules/unictype/category-and-not: Likewise.
18827         * modules/unictype/category-byname: Likewise.
18828         * modules/unictype/category-name: Likewise.
18829         * modules/unictype/category-none: Likewise.
18830         * modules/unictype/category-of: Likewise.
18831         * modules/unictype/category-or: Likewise.
18832         * modules/unictype/category-test: Likewise.
18833         * modules/unictype/combining-class: Likewise.
18834         * modules/unictype/ctype-alnum: Likewise.
18835         * modules/unictype/ctype-alpha: Likewise.
18836         * modules/unictype/ctype-blank: Likewise.
18837         * modules/unictype/ctype-cntrl: Likewise.
18838         * modules/unictype/ctype-digit: Likewise.
18839         * modules/unictype/ctype-graph: Likewise.
18840         * modules/unictype/ctype-lower: Likewise.
18841         * modules/unictype/ctype-print: Likewise.
18842         * modules/unictype/ctype-punct: Likewise.
18843         * modules/unictype/ctype-space: Likewise.
18844         * modules/unictype/ctype-upper: Likewise.
18845         * modules/unictype/ctype-xdigit: Likewise.
18846         * modules/unictype/decimal-digit: Likewise.
18847         * modules/unictype/digit: Likewise.
18848         * modules/unictype/mirror: Likewise.
18849         * modules/unictype/numeric: Likewise.
18850         * modules/unictype/property-alphabetic: Likewise.
18851         * modules/unictype/property-ascii-hex-digit: Likewise.
18852         * modules/unictype/property-bidi-arabic-digit: Likewise.
18853         * modules/unictype/property-bidi-arabic-right-to-left: Likewise.
18854         * modules/unictype/property-bidi-block-separator: Likewise.
18855         * modules/unictype/property-bidi-boundary-neutral: Likewise.
18856         * modules/unictype/property-bidi-common-separator: Likewise.
18857         * modules/unictype/property-bidi-control: Likewise.
18858         * modules/unictype/property-bidi-embedding-or-override: Likewise.
18859         * modules/unictype/property-bidi-eur-num-separator: Likewise.
18860         * modules/unictype/property-bidi-eur-num-terminator: Likewise.
18861         * modules/unictype/property-bidi-european-digit: Likewise.
18862         * modules/unictype/property-bidi-hebrew-right-to-left: Likewise.
18863         * modules/unictype/property-bidi-left-to-right: Likewise.
18864         * modules/unictype/property-bidi-non-spacing-mark: Likewise.
18865         * modules/unictype/property-bidi-other-neutral: Likewise.
18866         * modules/unictype/property-bidi-pdf: Likewise.
18867         * modules/unictype/property-bidi-segment-separator: Likewise.
18868         * modules/unictype/property-bidi-whitespace: Likewise.
18869         * modules/unictype/property-byname: Likewise.
18870         * modules/unictype/property-combining: Likewise.
18871         * modules/unictype/property-composite: Likewise.
18872         * modules/unictype/property-currency-symbol: Likewise.
18873         * modules/unictype/property-dash: Likewise.
18874         * modules/unictype/property-decimal-digit: Likewise.
18875         * modules/unictype/property-default-ignorable-code-point: Likewise.
18876         * modules/unictype/property-deprecated: Likewise.
18877         * modules/unictype/property-diacritic: Likewise.
18878         * modules/unictype/property-extender: Likewise.
18879         * modules/unictype/property-format-control: Likewise.
18880         * modules/unictype/property-grapheme-base: Likewise.
18881         * modules/unictype/property-grapheme-extend: Likewise.
18882         * modules/unictype/property-grapheme-link: Likewise.
18883         * modules/unictype/property-hex-digit: Likewise.
18884         * modules/unictype/property-hyphen: Likewise.
18885         * modules/unictype/property-id-continue: Likewise.
18886         * modules/unictype/property-id-start: Likewise.
18887         * modules/unictype/property-ideographic: Likewise.
18888         * modules/unictype/property-ids-binary-operator: Likewise.
18889         * modules/unictype/property-ids-trinary-operator: Likewise.
18890         * modules/unictype/property-ignorable-control: Likewise.
18891         * modules/unictype/property-iso-control: Likewise.
18892         * modules/unictype/property-join-control: Likewise.
18893         * modules/unictype/property-left-of-pair: Likewise.
18894         * modules/unictype/property-line-separator: Likewise.
18895         * modules/unictype/property-logical-order-exception: Likewise.
18896         * modules/unictype/property-lowercase: Likewise.
18897         * modules/unictype/property-math: Likewise.
18898         * modules/unictype/property-non-break: Likewise.
18899         * modules/unictype/property-not-a-character: Likewise.
18900         * modules/unictype/property-numeric: Likewise.
18901         * modules/unictype/property-other-alphabetic: Likewise.
18902         * modules/unictype/property-other-default-ignorable-code-point: Likewise.
18903         * modules/unictype/property-other-grapheme-extend: Likewise.
18904         * modules/unictype/property-other-id-continue: Likewise.
18905         * modules/unictype/property-other-id-start: Likewise.
18906         * modules/unictype/property-other-lowercase: Likewise.
18907         * modules/unictype/property-other-math: Likewise.
18908         * modules/unictype/property-other-uppercase: Likewise.
18909         * modules/unictype/property-paired-punctuation: Likewise.
18910         * modules/unictype/property-paragraph-separator: Likewise.
18911         * modules/unictype/property-pattern-syntax: Likewise.
18912         * modules/unictype/property-pattern-white-space: Likewise.
18913         * modules/unictype/property-private-use: Likewise.
18914         * modules/unictype/property-punctuation: Likewise.
18915         * modules/unictype/property-quotation-mark: Likewise.
18916         * modules/unictype/property-radical: Likewise.
18917         * modules/unictype/property-sentence-terminal: Likewise.
18918         * modules/unictype/property-soft-dotted: Likewise.
18919         * modules/unictype/property-space: Likewise.
18920         * modules/unictype/property-terminal-punctuation: Likewise.
18921         * modules/unictype/property-test: Likewise.
18922         * modules/unictype/property-titlecase: Likewise.
18923         * modules/unictype/property-unassigned-code-value: Likewise.
18924         * modules/unictype/property-unified-ideograph: Likewise.
18925         * modules/unictype/property-uppercase: Likewise.
18926         * modules/unictype/property-variation-selector: Likewise.
18927         * modules/unictype/property-white-space: Likewise.
18928         * modules/unictype/property-xid-continue: Likewise.
18929         * modules/unictype/property-xid-start: Likewise.
18930         * modules/unictype/property-zero-width: Likewise.
18931         * modules/unictype/scripts: Likewise.
18932         * modules/unictype/syntax-c-ident: Likewise.
18933         * modules/unictype/syntax-c-whitespace: Likewise.
18934         * modules/unictype/syntax-java-ident: Likewise.
18935         * modules/unictype/syntax-java-whitespace: Likewise.
18936         * modules/unilbrk/u8-possible-linebreaks: Likewise.
18937         * modules/unilbrk/u8-width-linebreaks: Likewise.
18938         * modules/unilbrk/u16-possible-linebreaks: Likewise.
18939         * modules/unilbrk/u16-width-linebreaks: Likewise.
18940         * modules/unilbrk/u32-possible-linebreaks: Likewise.
18941         * modules/unilbrk/u32-width-linebreaks: Likewise.
18942         * modules/unilbrk/ulc-possible-linebreaks: Likewise.
18943         * modules/unilbrk/ulc-width-linebreaks: Likewise.
18944         * modules/uniname/uniname: Likewise.
18945         * modules/uninorm/canonical-decomposition: Likewise.
18946         * modules/uninorm/composition: Likewise.
18947         * modules/uninorm/decomposing-form: Likewise.
18948         * modules/uninorm/decomposition: Likewise.
18949         * modules/uninorm/filter: Likewise.
18950         * modules/uninorm/nfc: Likewise.
18951         * modules/uninorm/nfd: Likewise.
18952         * modules/uninorm/nfkc: Likewise.
18953         * modules/uninorm/nfkd: Likewise.
18954         * modules/uninorm/u8-normalize: Likewise.
18955         * modules/uninorm/u8-normcmp: Likewise.
18956         * modules/uninorm/u8-normcoll: Likewise.
18957         * modules/uninorm/u8-normxfrm: Likewise.
18958         * modules/uninorm/u16-normalize: Likewise.
18959         * modules/uninorm/u16-normcmp: Likewise.
18960         * modules/uninorm/u16-normcoll: Likewise.
18961         * modules/uninorm/u16-normxfrm: Likewise.
18962         * modules/uninorm/u32-normalize: Likewise.
18963         * modules/uninorm/u32-normcmp: Likewise.
18964         * modules/uninorm/u32-normcoll: Likewise.
18965         * modules/uninorm/u32-normxfrm: Likewise.
18966         * modules/unistdio/u8-asnprintf: Likewise.
18967         * modules/unistdio/u8-asprintf: Likewise.
18968         * modules/unistdio/u8-snprintf: Likewise.
18969         * modules/unistdio/u8-sprintf: Likewise.
18970         * modules/unistdio/u8-u8-asnprintf: Likewise.
18971         * modules/unistdio/u8-u8-asprintf: Likewise.
18972         * modules/unistdio/u8-u8-snprintf: Likewise.
18973         * modules/unistdio/u8-u8-sprintf: Likewise.
18974         * modules/unistdio/u8-u8-vasnprintf: Likewise.
18975         * modules/unistdio/u8-u8-vasprintf: Likewise.
18976         * modules/unistdio/u8-u8-vsnprintf: Likewise.
18977         * modules/unistdio/u8-u8-vsprintf: Likewise.
18978         * modules/unistdio/u8-vasnprintf: Likewise.
18979         * modules/unistdio/u8-vasprintf: Likewise.
18980         * modules/unistdio/u8-vsnprintf: Likewise.
18981         * modules/unistdio/u8-vsprintf: Likewise.
18982         * modules/unistdio/u16-asnprintf: Likewise.
18983         * modules/unistdio/u16-asprintf: Likewise.
18984         * modules/unistdio/u16-snprintf: Likewise.
18985         * modules/unistdio/u16-sprintf: Likewise.
18986         * modules/unistdio/u16-u16-asnprintf: Likewise.
18987         * modules/unistdio/u16-u16-asprintf: Likewise.
18988         * modules/unistdio/u16-u16-snprintf: Likewise.
18989         * modules/unistdio/u16-u16-sprintf: Likewise.
18990         * modules/unistdio/u16-u16-vasnprintf: Likewise.
18991         * modules/unistdio/u16-u16-vasprintf: Likewise.
18992         * modules/unistdio/u16-u16-vsnprintf: Likewise.
18993         * modules/unistdio/u16-u16-vsprintf: Likewise.
18994         * modules/unistdio/u16-vasnprintf: Likewise.
18995         * modules/unistdio/u16-vasprintf: Likewise.
18996         * modules/unistdio/u16-vsnprintf: Likewise.
18997         * modules/unistdio/u16-vsprintf: Likewise.
18998         * modules/unistdio/u32-asnprintf: Likewise.
18999         * modules/unistdio/u32-asprintf: Likewise.
19000         * modules/unistdio/u32-snprintf: Likewise.
19001         * modules/unistdio/u32-sprintf: Likewise.
19002         * modules/unistdio/u32-u32-asnprintf: Likewise.
19003         * modules/unistdio/u32-u32-asprintf: Likewise.
19004         * modules/unistdio/u32-u32-snprintf: Likewise.
19005         * modules/unistdio/u32-u32-sprintf: Likewise.
19006         * modules/unistdio/u32-u32-vasnprintf: Likewise.
19007         * modules/unistdio/u32-u32-vasprintf: Likewise.
19008         * modules/unistdio/u32-u32-vsnprintf: Likewise.
19009         * modules/unistdio/u32-u32-vsprintf: Likewise.
19010         * modules/unistdio/u32-vasnprintf: Likewise.
19011         * modules/unistdio/u32-vasprintf: Likewise.
19012         * modules/unistdio/u32-vsnprintf: Likewise.
19013         * modules/unistdio/u32-vsprintf: Likewise.
19014         * modules/unistdio/ulc-asnprintf: Likewise.
19015         * modules/unistdio/ulc-asprintf: Likewise.
19016         * modules/unistdio/ulc-fprintf: Likewise.
19017         * modules/unistdio/ulc-snprintf: Likewise.
19018         * modules/unistdio/ulc-sprintf: Likewise.
19019         * modules/unistdio/ulc-vasnprintf: Likewise.
19020         * modules/unistdio/ulc-vasprintf: Likewise.
19021         * modules/unistdio/ulc-vfprintf: Likewise.
19022         * modules/unistdio/ulc-vsnprintf: Likewise.
19023         * modules/unistdio/ulc-vsprintf: Likewise.
19024         * modules/unistr/u8-check: Likewise.
19025         * modules/unistr/u8-chr: Likewise.
19026         * modules/unistr/u8-cmp: Likewise.
19027         * modules/unistr/u8-cmp2: Likewise.
19028         * modules/unistr/u8-cpy: Likewise.
19029         * modules/unistr/u8-cpy-alloc: Likewise.
19030         * modules/unistr/u8-endswith: Likewise.
19031         * modules/unistr/u8-mblen: Likewise.
19032         * modules/unistr/u8-mbsnlen: Likewise.
19033         * modules/unistr/u8-mbtouc: Likewise.
19034         * modules/unistr/u8-mbtouc-unsafe: Likewise.
19035         * modules/unistr/u8-mbtoucr: Likewise.
19036         * modules/unistr/u8-move: Likewise.
19037         * modules/unistr/u8-next: Likewise.
19038         * modules/unistr/u8-prev: Likewise.
19039         * modules/unistr/u8-set: Likewise.
19040         * modules/unistr/u8-startswith: Likewise.
19041         * modules/unistr/u8-stpcpy: Likewise.
19042         * modules/unistr/u8-stpncpy: Likewise.
19043         * modules/unistr/u8-strcat: Likewise.
19044         * modules/unistr/u8-strchr: Likewise.
19045         * modules/unistr/u8-strcmp: Likewise.
19046         * modules/unistr/u8-strcoll: Likewise.
19047         * modules/unistr/u8-strcpy: Likewise.
19048         * modules/unistr/u8-strcspn: Likewise.
19049         * modules/unistr/u8-strdup: Likewise.
19050         * modules/unistr/u8-strlen: Likewise.
19051         * modules/unistr/u8-strmblen: Likewise.
19052         * modules/unistr/u8-strmbtouc: Likewise.
19053         * modules/unistr/u8-strncat: Likewise.
19054         * modules/unistr/u8-strncmp: Likewise.
19055         * modules/unistr/u8-strncpy: Likewise.
19056         * modules/unistr/u8-strnlen: Likewise.
19057         * modules/unistr/u8-strpbrk: Likewise.
19058         * modules/unistr/u8-strrchr: Likewise.
19059         * modules/unistr/u8-strspn: Likewise.
19060         * modules/unistr/u8-strstr: Likewise.
19061         * modules/unistr/u8-strtok: Likewise.
19062         * modules/unistr/u8-to-u16: Likewise.
19063         * modules/unistr/u8-to-u32: Likewise.
19064         * modules/unistr/u8-uctomb: Likewise.
19065         * modules/unistr/u16-check: Likewise.
19066         * modules/unistr/u16-chr: Likewise.
19067         * modules/unistr/u16-cmp: Likewise.
19068         * modules/unistr/u16-cmp2: Likewise.
19069         * modules/unistr/u16-cpy: Likewise.
19070         * modules/unistr/u16-cpy-alloc: Likewise.
19071         * modules/unistr/u16-endswith: Likewise.
19072         * modules/unistr/u16-mblen: Likewise.
19073         * modules/unistr/u16-mbsnlen: Likewise.
19074         * modules/unistr/u16-mbtouc: Likewise.
19075         * modules/unistr/u16-mbtouc-unsafe: Likewise.
19076         * modules/unistr/u16-mbtoucr: Likewise.
19077         * modules/unistr/u16-move: Likewise.
19078         * modules/unistr/u16-next: Likewise.
19079         * modules/unistr/u16-prev: Likewise.
19080         * modules/unistr/u16-set: Likewise.
19081         * modules/unistr/u16-startswith: Likewise.
19082         * modules/unistr/u16-stpcpy: Likewise.
19083         * modules/unistr/u16-stpncpy: Likewise.
19084         * modules/unistr/u16-strcat: Likewise.
19085         * modules/unistr/u16-strchr: Likewise.
19086         * modules/unistr/u16-strcmp: Likewise.
19087         * modules/unistr/u16-strcoll: Likewise.
19088         * modules/unistr/u16-strcpy: Likewise.
19089         * modules/unistr/u16-strcspn: Likewise.
19090         * modules/unistr/u16-strdup: Likewise.
19091         * modules/unistr/u16-strlen: Likewise.
19092         * modules/unistr/u16-strmblen: Likewise.
19093         * modules/unistr/u16-strmbtouc: Likewise.
19094         * modules/unistr/u16-strncat: Likewise.
19095         * modules/unistr/u16-strncmp: Likewise.
19096         * modules/unistr/u16-strncpy: Likewise.
19097         * modules/unistr/u16-strnlen: Likewise.
19098         * modules/unistr/u16-strpbrk: Likewise.
19099         * modules/unistr/u16-strrchr: Likewise.
19100         * modules/unistr/u16-strspn: Likewise.
19101         * modules/unistr/u16-strstr: Likewise.
19102         * modules/unistr/u16-strtok: Likewise.
19103         * modules/unistr/u16-to-u32: Likewise.
19104         * modules/unistr/u16-to-u8: Likewise.
19105         * modules/unistr/u16-uctomb: Likewise.
19106         * modules/unistr/u32-check: Likewise.
19107         * modules/unistr/u32-chr: Likewise.
19108         * modules/unistr/u32-cmp: Likewise.
19109         * modules/unistr/u32-cmp2: Likewise.
19110         * modules/unistr/u32-cpy: Likewise.
19111         * modules/unistr/u32-cpy-alloc: Likewise.
19112         * modules/unistr/u32-endswith: Likewise.
19113         * modules/unistr/u32-mblen: Likewise.
19114         * modules/unistr/u32-mbsnlen: Likewise.
19115         * modules/unistr/u32-mbtouc: Likewise.
19116         * modules/unistr/u32-mbtouc-unsafe: Likewise.
19117         * modules/unistr/u32-mbtoucr: Likewise.
19118         * modules/unistr/u32-move: Likewise.
19119         * modules/unistr/u32-next: Likewise.
19120         * modules/unistr/u32-prev: Likewise.
19121         * modules/unistr/u32-set: Likewise.
19122         * modules/unistr/u32-startswith: Likewise.
19123         * modules/unistr/u32-stpcpy: Likewise.
19124         * modules/unistr/u32-stpncpy: Likewise.
19125         * modules/unistr/u32-strcat: Likewise.
19126         * modules/unistr/u32-strchr: Likewise.
19127         * modules/unistr/u32-strcmp: Likewise.
19128         * modules/unistr/u32-strcoll: Likewise.
19129         * modules/unistr/u32-strcpy: Likewise.
19130         * modules/unistr/u32-strcspn: Likewise.
19131         * modules/unistr/u32-strdup: Likewise.
19132         * modules/unistr/u32-strlen: Likewise.
19133         * modules/unistr/u32-strmblen: Likewise.
19134         * modules/unistr/u32-strmbtouc: Likewise.
19135         * modules/unistr/u32-strncat: Likewise.
19136         * modules/unistr/u32-strncmp: Likewise.
19137         * modules/unistr/u32-strncpy: Likewise.
19138         * modules/unistr/u32-strnlen: Likewise.
19139         * modules/unistr/u32-strpbrk: Likewise.
19140         * modules/unistr/u32-strrchr: Likewise.
19141         * modules/unistr/u32-strspn: Likewise.
19142         * modules/unistr/u32-strstr: Likewise.
19143         * modules/unistr/u32-strtok: Likewise.
19144         * modules/unistr/u32-to-u16: Likewise.
19145         * modules/unistr/u32-to-u8: Likewise.
19146         * modules/unistr/u32-uctomb: Likewise.
19147         * modules/uniwbrk/u8-wordbreaks: Likewise.
19148         * modules/uniwbrk/u16-wordbreaks: Likewise.
19149         * modules/uniwbrk/u32-wordbreaks: Likewise.
19150         * modules/uniwbrk/ulc-wordbreaks: Likewise.
19151         * modules/uniwbrk/wordbreak-property: Likewise.
19152         * modules/uniwidth/u8-strwidth: Likewise.
19153         * modules/uniwidth/u8-width: Likewise.
19154         * modules/uniwidth/u16-strwidth: Likewise.
19155         * modules/uniwidth/u16-width: Likewise.
19156         * modules/uniwidth/u32-strwidth: Likewise.
19157         * modules/uniwidth/u32-width: Likewise.
19158         * modules/uniwidth/width: Likewise.
19159         * modules/unicase/cased-tests (Makefile.am): Link all test programs
19160         with $(LIBUNISTRING).
19161         * modules/unicase/ignorable-tests: Likewise.
19162         * modules/unicase/locale-language-tests: Likewise.
19163         * modules/unicase/tolower-tests: Likewise.
19164         * modules/unicase/totitle-tests: Likewise.
19165         * modules/unicase/toupper-tests: Likewise.
19166         * modules/unicase/u8-casecmp-tests: Likewise.
19167         * modules/unicase/u8-casecoll-tests: Likewise.
19168         * modules/unicase/u8-casefold-tests: Likewise.
19169         * modules/unicase/u8-is-cased-tests: Likewise.
19170         * modules/unicase/u8-is-casefolded-tests: Likewise.
19171         * modules/unicase/u8-is-lowercase-tests: Likewise.
19172         * modules/unicase/u8-is-titlecase-tests: Likewise.
19173         * modules/unicase/u8-is-uppercase-tests: Likewise.
19174         * modules/unicase/u8-tolower-tests: Likewise.
19175         * modules/unicase/u8-totitle-tests: Likewise.
19176         * modules/unicase/u8-toupper-tests: Likewise.
19177         * modules/unicase/u16-casecmp-tests: Likewise.
19178         * modules/unicase/u16-casecoll-tests: Likewise.
19179         * modules/unicase/u16-casefold-tests: Likewise.
19180         * modules/unicase/u16-is-cased-tests: Likewise.
19181         * modules/unicase/u16-is-casefolded-tests: Likewise.
19182         * modules/unicase/u16-is-lowercase-tests: Likewise.
19183         * modules/unicase/u16-is-titlecase-tests: Likewise.
19184         * modules/unicase/u16-is-uppercase-tests: Likewise.
19185         * modules/unicase/u16-tolower-tests: Likewise.
19186         * modules/unicase/u16-totitle-tests: Likewise.
19187         * modules/unicase/u16-toupper-tests: Likewise.
19188         * modules/unicase/u32-casecmp-tests: Likewise.
19189         * modules/unicase/u32-casecoll-tests: Likewise.
19190         * modules/unicase/u32-casefold-tests: Likewise.
19191         * modules/unicase/u32-is-cased-tests: Likewise.
19192         * modules/unicase/u32-is-casefolded-tests: Likewise.
19193         * modules/unicase/u32-is-lowercase-tests: Likewise.
19194         * modules/unicase/u32-is-titlecase-tests: Likewise.
19195         * modules/unicase/u32-is-uppercase-tests: Likewise.
19196         * modules/unicase/u32-tolower-tests: Likewise.
19197         * modules/unicase/u32-totitle-tests: Likewise.
19198         * modules/unicase/u32-toupper-tests: Likewise.
19199         * modules/unicase/ulc-casecmp-tests: Likewise.
19200         * modules/unicase/ulc-casecoll-tests: Likewise.
19201         * modules/uniconv/u8-conv-from-enc-tests: Likewise.
19202         * modules/uniconv/u8-conv-to-enc-tests: Likewise.
19203         * modules/uniconv/u8-strconv-from-enc-tests: Likewise.
19204         * modules/uniconv/u8-strconv-to-enc-tests: Likewise.
19205         * modules/uniconv/u16-conv-from-enc-tests: Likewise.
19206         * modules/uniconv/u16-conv-to-enc-tests: Likewise.
19207         * modules/uniconv/u16-strconv-from-enc-tests: Likewise.
19208         * modules/uniconv/u16-strconv-to-enc-tests: Likewise.
19209         * modules/uniconv/u32-conv-from-enc-tests: Likewise.
19210         * modules/uniconv/u32-conv-to-enc-tests: Likewise.
19211         * modules/uniconv/u32-strconv-from-enc-tests: Likewise.
19212         * modules/uniconv/u32-strconv-to-enc-tests: Likewise.
19213         * modules/unictype/bidicategory-byname-tests: Likewise.
19214         * modules/unictype/bidicategory-name-tests: Likewise.
19215         * modules/unictype/bidicategory-of-tests: Likewise.
19216         * modules/unictype/bidicategory-test-tests: Likewise.
19217         * modules/unictype/block-list-tests: Likewise.
19218         * modules/unictype/block-of-tests: Likewise.
19219         * modules/unictype/block-test-tests: Likewise.
19220         * modules/unictype/category-C-tests: Likewise.
19221         * modules/unictype/category-Cc-tests: Likewise.
19222         * modules/unictype/category-Cf-tests: Likewise.
19223         * modules/unictype/category-Cn-tests: Likewise.
19224         * modules/unictype/category-Co-tests: Likewise.
19225         * modules/unictype/category-Cs-tests: Likewise.
19226         * modules/unictype/category-L-tests: Likewise.
19227         * modules/unictype/category-Ll-tests: Likewise.
19228         * modules/unictype/category-Lm-tests: Likewise.
19229         * modules/unictype/category-Lo-tests: Likewise.
19230         * modules/unictype/category-Lt-tests: Likewise.
19231         * modules/unictype/category-Lu-tests: Likewise.
19232         * modules/unictype/category-M-tests: Likewise.
19233         * modules/unictype/category-Mc-tests: Likewise.
19234         * modules/unictype/category-Me-tests: Likewise.
19235         * modules/unictype/category-Mn-tests: Likewise.
19236         * modules/unictype/category-N-tests: Likewise.
19237         * modules/unictype/category-Nd-tests: Likewise.
19238         * modules/unictype/category-Nl-tests: Likewise.
19239         * modules/unictype/category-No-tests: Likewise.
19240         * modules/unictype/category-P-tests: Likewise.
19241         * modules/unictype/category-Pc-tests: Likewise.
19242         * modules/unictype/category-Pd-tests: Likewise.
19243         * modules/unictype/category-Pe-tests: Likewise.
19244         * modules/unictype/category-Pf-tests: Likewise.
19245         * modules/unictype/category-Pi-tests: Likewise.
19246         * modules/unictype/category-Po-tests: Likewise.
19247         * modules/unictype/category-Ps-tests: Likewise.
19248         * modules/unictype/category-S-tests: Likewise.
19249         * modules/unictype/category-Sc-tests: Likewise.
19250         * modules/unictype/category-Sk-tests: Likewise.
19251         * modules/unictype/category-Sm-tests: Likewise.
19252         * modules/unictype/category-So-tests: Likewise.
19253         * modules/unictype/category-Z-tests: Likewise.
19254         * modules/unictype/category-Zl-tests: Likewise.
19255         * modules/unictype/category-Zp-tests: Likewise.
19256         * modules/unictype/category-Zs-tests: Likewise.
19257         * modules/unictype/category-and-not-tests: Likewise.
19258         * modules/unictype/category-and-tests: Likewise.
19259         * modules/unictype/category-byname-tests: Likewise.
19260         * modules/unictype/category-name-tests: Likewise.
19261         * modules/unictype/category-none-tests: Likewise.
19262         * modules/unictype/category-of-tests: Likewise.
19263         * modules/unictype/category-or-tests: Likewise.
19264         * modules/unictype/category-test-withtable-tests: Likewise.
19265         * modules/unictype/combining-class-tests: Likewise.
19266         * modules/unictype/ctype-alnum-tests: Likewise.
19267         * modules/unictype/ctype-alpha-tests: Likewise.
19268         * modules/unictype/ctype-blank-tests: Likewise.
19269         * modules/unictype/ctype-cntrl-tests: Likewise.
19270         * modules/unictype/ctype-digit-tests: Likewise.
19271         * modules/unictype/ctype-graph-tests: Likewise.
19272         * modules/unictype/ctype-lower-tests: Likewise.
19273         * modules/unictype/ctype-print-tests: Likewise.
19274         * modules/unictype/ctype-punct-tests: Likewise.
19275         * modules/unictype/ctype-space-tests: Likewise.
19276         * modules/unictype/ctype-upper-tests: Likewise.
19277         * modules/unictype/ctype-xdigit-tests: Likewise.
19278         * modules/unictype/decimal-digit-tests: Likewise.
19279         * modules/unictype/digit-tests: Likewise.
19280         * modules/unictype/mirror-tests: Likewise.
19281         * modules/unictype/numeric-tests: Likewise.
19282         * modules/unictype/property-alphabetic-tests: Likewise.
19283         * modules/unictype/property-ascii-hex-digit-tests: Likewise.
19284         * modules/unictype/property-bidi-arabic-digit-tests: Likewise.
19285         * modules/unictype/property-bidi-arabic-right-to-left-tests: Likewise.
19286         * modules/unictype/property-bidi-block-separator-tests: Likewise.
19287         * modules/unictype/property-bidi-boundary-neutral-tests: Likewise.
19288         * modules/unictype/property-bidi-common-separator-tests: Likewise.
19289         * modules/unictype/property-bidi-control-tests: Likewise.
19290         * modules/unictype/property-bidi-embedding-or-override-tests: Likewise.
19291         * modules/unictype/property-bidi-eur-num-separator-tests: Likewise.
19292         * modules/unictype/property-bidi-eur-num-terminator-tests: Likewise.
19293         * modules/unictype/property-bidi-european-digit-tests: Likewise.
19294         * modules/unictype/property-bidi-hebrew-right-to-left-tests: Likewise.
19295         * modules/unictype/property-bidi-left-to-right-tests: Likewise.
19296         * modules/unictype/property-bidi-non-spacing-mark-tests: Likewise.
19297         * modules/unictype/property-bidi-other-neutral-tests: Likewise.
19298         * modules/unictype/property-bidi-pdf-tests: Likewise.
19299         * modules/unictype/property-bidi-segment-separator-tests: Likewise.
19300         * modules/unictype/property-bidi-whitespace-tests: Likewise.
19301         * modules/unictype/property-byname-tests: Likewise.
19302         * modules/unictype/property-combining-tests: Likewise.
19303         * modules/unictype/property-composite-tests: Likewise.
19304         * modules/unictype/property-currency-symbol-tests: Likewise.
19305         * modules/unictype/property-dash-tests: Likewise.
19306         * modules/unictype/property-decimal-digit-tests: Likewise.
19307         * modules/unictype/property-default-ignorable-code-point-tests: Likewise.
19308         * modules/unictype/property-deprecated-tests: Likewise.
19309         * modules/unictype/property-diacritic-tests: Likewise.
19310         * modules/unictype/property-extender-tests: Likewise.
19311         * modules/unictype/property-format-control-tests: Likewise.
19312         * modules/unictype/property-grapheme-base-tests: Likewise.
19313         * modules/unictype/property-grapheme-extend-tests: Likewise.
19314         * modules/unictype/property-grapheme-link-tests: Likewise.
19315         * modules/unictype/property-hex-digit-tests: Likewise.
19316         * modules/unictype/property-hyphen-tests: Likewise.
19317         * modules/unictype/property-id-continue-tests: Likewise.
19318         * modules/unictype/property-id-start-tests: Likewise.
19319         * modules/unictype/property-ideographic-tests: Likewise.
19320         * modules/unictype/property-ids-binary-operator-tests: Likewise.
19321         * modules/unictype/property-ids-trinary-operator-tests: Likewise.
19322         * modules/unictype/property-ignorable-control-tests: Likewise.
19323         * modules/unictype/property-iso-control-tests: Likewise.
19324         * modules/unictype/property-join-control-tests: Likewise.
19325         * modules/unictype/property-left-of-pair-tests: Likewise.
19326         * modules/unictype/property-line-separator-tests: Likewise.
19327         * modules/unictype/property-logical-order-exception-tests: Likewise.
19328         * modules/unictype/property-lowercase-tests: Likewise.
19329         * modules/unictype/property-math-tests: Likewise.
19330         * modules/unictype/property-non-break-tests: Likewise.
19331         * modules/unictype/property-not-a-character-tests: Likewise.
19332         * modules/unictype/property-numeric-tests: Likewise.
19333         * modules/unictype/property-other-alphabetic-tests: Likewise.
19334         * modules/unictype/property-other-default-ignorable-code-point-tests:
19335         Likewise.
19336         * modules/unictype/property-other-grapheme-extend-tests: Likewise.
19337         * modules/unictype/property-other-id-continue-tests: Likewise.
19338         * modules/unictype/property-other-id-start-tests: Likewise.
19339         * modules/unictype/property-other-lowercase-tests: Likewise.
19340         * modules/unictype/property-other-math-tests: Likewise.
19341         * modules/unictype/property-other-uppercase-tests: Likewise.
19342         * modules/unictype/property-paired-punctuation-tests: Likewise.
19343         * modules/unictype/property-paragraph-separator-tests: Likewise.
19344         * modules/unictype/property-pattern-syntax-tests: Likewise.
19345         * modules/unictype/property-pattern-white-space-tests: Likewise.
19346         * modules/unictype/property-private-use-tests: Likewise.
19347         * modules/unictype/property-punctuation-tests: Likewise.
19348         * modules/unictype/property-quotation-mark-tests: Likewise.
19349         * modules/unictype/property-radical-tests: Likewise.
19350         * modules/unictype/property-sentence-terminal-tests: Likewise.
19351         * modules/unictype/property-soft-dotted-tests: Likewise.
19352         * modules/unictype/property-space-tests: Likewise.
19353         * modules/unictype/property-terminal-punctuation-tests: Likewise.
19354         * modules/unictype/property-test-tests: Likewise.
19355         * modules/unictype/property-titlecase-tests: Likewise.
19356         * modules/unictype/property-unassigned-code-value-tests: Likewise.
19357         * modules/unictype/property-unified-ideograph-tests: Likewise.
19358         * modules/unictype/property-uppercase-tests: Likewise.
19359         * modules/unictype/property-variation-selector-tests: Likewise.
19360         * modules/unictype/property-white-space-tests: Likewise.
19361         * modules/unictype/property-xid-continue-tests: Likewise.
19362         * modules/unictype/property-xid-start-tests: Likewise.
19363         * modules/unictype/property-zero-width-tests: Likewise.
19364         * modules/unictype/scripts-tests: Likewise.
19365         * modules/unictype/syntax-c-ident-tests: Likewise.
19366         * modules/unictype/syntax-c-whitespace-tests: Likewise.
19367         * modules/unictype/syntax-java-ident-tests: Likewise.
19368         * modules/unictype/syntax-java-whitespace-tests: Likewise.
19369         * modules/unilbrk/u8-possible-linebreaks-tests: Likewise.
19370         * modules/unilbrk/u8-width-linebreaks-tests: Likewise.
19371         * modules/unilbrk/u16-possible-linebreaks-tests: Likewise.
19372         * modules/unilbrk/u16-width-linebreaks-tests: Likewise.
19373         * modules/unilbrk/u32-possible-linebreaks-tests: Likewise.
19374         * modules/unilbrk/u32-width-linebreaks-tests: Likewise.
19375         * modules/unilbrk/ulc-possible-linebreaks-tests: Likewise.
19376         * modules/unilbrk/ulc-width-linebreaks-tests: Likewise.
19377         * modules/uniname/uniname-tests: Likewise.
19378         * modules/uninorm/canonical-decomposition-tests: Likewise.
19379         * modules/uninorm/compat-decomposition-tests: Likewise.
19380         * modules/uninorm/composition-tests: Likewise.
19381         * modules/uninorm/decomposing-form-tests: Likewise.
19382         * modules/uninorm/decomposition-tests: Likewise.
19383         * modules/uninorm/filter-tests: Likewise.
19384         * modules/uninorm/nfc-tests: Likewise.
19385         * modules/uninorm/nfd-tests: Likewise.
19386         * modules/uninorm/nfkc-tests: Likewise.
19387         * modules/uninorm/nfkd-tests: Likewise.
19388         * modules/uninorm/u8-normcmp-tests: Likewise.
19389         * modules/uninorm/u8-normcoll-tests: Likewise.
19390         * modules/uninorm/u16-normcmp-tests: Likewise.
19391         * modules/uninorm/u16-normcoll-tests: Likewise.
19392         * modules/uninorm/u32-normcmp-tests: Likewise.
19393         * modules/uninorm/u32-normcoll-tests: Likewise.
19394         * modules/unistdio/u8-asnprintf-tests: Likewise.
19395         * modules/unistdio/u8-vasnprintf-tests: Likewise.
19396         * modules/unistdio/u8-vasprintf-tests: Likewise.
19397         * modules/unistdio/u8-vsnprintf-tests: Likewise.
19398         * modules/unistdio/u8-vsprintf-tests: Likewise.
19399         * modules/unistdio/u16-asnprintf-tests: Likewise.
19400         * modules/unistdio/u16-vasnprintf-tests: Likewise.
19401         * modules/unistdio/u16-vasprintf-tests: Likewise.
19402         * modules/unistdio/u16-vsnprintf-tests: Likewise.
19403         * modules/unistdio/u16-vsprintf-tests: Likewise.
19404         * modules/unistdio/u32-asnprintf-tests: Likewise.
19405         * modules/unistdio/u32-vasnprintf-tests: Likewise.
19406         * modules/unistdio/u32-vasprintf-tests: Likewise.
19407         * modules/unistdio/u32-vsnprintf-tests: Likewise.
19408         * modules/unistdio/u32-vsprintf-tests: Likewise.
19409         * modules/unistdio/ulc-asnprintf-tests: Likewise.
19410         * modules/unistdio/ulc-vasnprintf-tests: Likewise.
19411         * modules/unistdio/ulc-vasprintf-tests: Likewise.
19412         * modules/unistdio/ulc-vsnprintf-tests: Likewise.
19413         * modules/unistdio/ulc-vsprintf-tests: Likewise.
19414         * modules/unistr/u8-check-tests: Likewise.
19415         * modules/unistr/u8-chr-tests: Likewise.
19416         * modules/unistr/u8-cmp-tests: Likewise.
19417         * modules/unistr/u8-cmp2-tests: Likewise.
19418         * modules/unistr/u8-cpy-alloc-tests: Likewise.
19419         * modules/unistr/u8-cpy-tests: Likewise.
19420         * modules/unistr/u8-mblen-tests: Likewise.
19421         * modules/unistr/u8-mbsnlen-tests: Likewise.
19422         * modules/unistr/u8-mbtouc-tests: Likewise.
19423         * modules/unistr/u8-mbtouc-unsafe-tests: Likewise.
19424         * modules/unistr/u8-mbtoucr-tests: Likewise.
19425         * modules/unistr/u8-move-tests: Likewise.
19426         * modules/unistr/u8-next-tests: Likewise.
19427         * modules/unistr/u8-prev-tests: Likewise.
19428         * modules/unistr/u8-set-tests: Likewise.
19429         * modules/unistr/u8-stpcpy-tests: Likewise.
19430         * modules/unistr/u8-stpncpy-tests: Likewise.
19431         * modules/unistr/u8-strcat-tests: Likewise.
19432         * modules/unistr/u8-strcmp-tests: Likewise.
19433         * modules/unistr/u8-strcoll-tests: Likewise.
19434         * modules/unistr/u8-strcpy-tests: Likewise.
19435         * modules/unistr/u8-strdup-tests: Likewise.
19436         * modules/unistr/u8-strlen-tests: Likewise.
19437         * modules/unistr/u8-strmblen-tests: Likewise.
19438         * modules/unistr/u8-strmbtouc-tests: Likewise.
19439         * modules/unistr/u8-strncat-tests: Likewise.
19440         * modules/unistr/u8-strncmp-tests: Likewise.
19441         * modules/unistr/u8-strncpy-tests: Likewise.
19442         * modules/unistr/u8-strnlen-tests: Likewise.
19443         * modules/unistr/u8-to-u16-tests: Likewise.
19444         * modules/unistr/u8-to-u32-tests: Likewise.
19445         * modules/unistr/u8-uctomb-tests: Likewise.
19446         * modules/unistr/u16-check-tests: Likewise.
19447         * modules/unistr/u16-chr-tests: Likewise.
19448         * modules/unistr/u16-cmp-tests: Likewise.
19449         * modules/unistr/u16-cmp2-tests: Likewise.
19450         * modules/unistr/u16-cpy-alloc-tests: Likewise.
19451         * modules/unistr/u16-cpy-tests: Likewise.
19452         * modules/unistr/u16-mblen-tests: Likewise.
19453         * modules/unistr/u16-mbsnlen-tests: Likewise.
19454         * modules/unistr/u16-mbtouc-tests: Likewise.
19455         * modules/unistr/u16-mbtouc-unsafe-tests: Likewise.
19456         * modules/unistr/u16-mbtoucr-tests: Likewise.
19457         * modules/unistr/u16-move-tests: Likewise.
19458         * modules/unistr/u16-next-tests: Likewise.
19459         * modules/unistr/u16-prev-tests: Likewise.
19460         * modules/unistr/u16-set-tests: Likewise.
19461         * modules/unistr/u16-stpcpy-tests: Likewise.
19462         * modules/unistr/u16-stpncpy-tests: Likewise.
19463         * modules/unistr/u16-strcat-tests: Likewise.
19464         * modules/unistr/u16-strcmp-tests: Likewise.
19465         * modules/unistr/u16-strcoll-tests: Likewise.
19466         * modules/unistr/u16-strcpy-tests: Likewise.
19467         * modules/unistr/u16-strdup-tests: Likewise.
19468         * modules/unistr/u16-strlen-tests: Likewise.
19469         * modules/unistr/u16-strmblen-tests: Likewise.
19470         * modules/unistr/u16-strmbtouc-tests: Likewise.
19471         * modules/unistr/u16-strncat-tests: Likewise.
19472         * modules/unistr/u16-strncmp-tests: Likewise.
19473         * modules/unistr/u16-strncpy-tests: Likewise.
19474         * modules/unistr/u16-strnlen-tests: Likewise.
19475         * modules/unistr/u16-to-u32-tests: Likewise.
19476         * modules/unistr/u16-to-u8-tests: Likewise.
19477         * modules/unistr/u16-uctomb-tests: Likewise.
19478         * modules/unistr/u32-check-tests: Likewise.
19479         * modules/unistr/u32-chr-tests: Likewise.
19480         * modules/unistr/u32-cmp-tests: Likewise.
19481         * modules/unistr/u32-cmp2-tests: Likewise.
19482         * modules/unistr/u32-cpy-alloc-tests: Likewise.
19483         * modules/unistr/u32-cpy-tests: Likewise.
19484         * modules/unistr/u32-mblen-tests: Likewise.
19485         * modules/unistr/u32-mbsnlen-tests: Likewise.
19486         * modules/unistr/u32-mbtouc-tests: Likewise.
19487         * modules/unistr/u32-mbtouc-unsafe-tests: Likewise.
19488         * modules/unistr/u32-mbtoucr-tests: Likewise.
19489         * modules/unistr/u32-move-tests: Likewise.
19490         * modules/unistr/u32-next-tests: Likewise.
19491         * modules/unistr/u32-prev-tests: Likewise.
19492         * modules/unistr/u32-set-tests: Likewise.
19493         * modules/unistr/u32-stpcpy-tests: Likewise.
19494         * modules/unistr/u32-stpncpy-tests: Likewise.
19495         * modules/unistr/u32-strcat-tests: Likewise.
19496         * modules/unistr/u32-strcmp-tests: Likewise.
19497         * modules/unistr/u32-strcoll-tests: Likewise.
19498         * modules/unistr/u32-strcpy-tests: Likewise.
19499         * modules/unistr/u32-strdup-tests: Likewise.
19500         * modules/unistr/u32-strlen-tests: Likewise.
19501         * modules/unistr/u32-strmblen-tests: Likewise.
19502         * modules/unistr/u32-strmbtouc-tests: Likewise.
19503         * modules/unistr/u32-strncat-tests: Likewise.
19504         * modules/unistr/u32-strncmp-tests: Likewise.
19505         * modules/unistr/u32-strncpy-tests: Likewise.
19506         * modules/unistr/u32-strnlen-tests: Likewise.
19507         * modules/unistr/u32-to-u16-tests: Likewise.
19508         * modules/unistr/u32-to-u8-tests: Likewise.
19509         * modules/unistr/u32-uctomb-tests: Likewise.
19510         * modules/uniwbrk/u8-wordbreaks-tests: Likewise.
19511         * modules/uniwbrk/u16-wordbreaks-tests: Likewise.
19512         * modules/uniwbrk/u32-wordbreaks-tests: Likewise.
19513         * modules/uniwbrk/ulc-wordbreaks-tests: Likewise.
19514         * modules/uniwidth/u8-strwidth-tests: Likewise.
19515         * modules/uniwidth/u8-width-tests: Likewise.
19516         * modules/uniwidth/u16-strwidth-tests: Likewise.
19517         * modules/uniwidth/u16-width-tests: Likewise.
19518         * modules/uniwidth/u32-strwidth-tests: Likewise.
19519         * modules/uniwidth/u32-width-tests: Likewise.
19520         * modules/uniwidth/width-tests: Likewise.
19521
19522 2010-05-18  Richard Jones  <rjones@redhat.com>
19523
19524         doc: users.txt: list hivex
19525         * users.txt: Add hivex.
19526
19527 2010-05-18  Richard Jones  <rjones@redhat.com>
19528
19529         doc: users.txt: list febootstrap
19530         * users.txt: Add febootstrap.
19531
19532 2010-05-17  Giuseppe Scrivano  <gscrivano@gnu.org>
19533
19534         bootstrap: fix an error when gnulib is not used as a git submodule
19535         * build-aux/bootstrap (gnulib_path): If its length is zero then
19536         assign "gnulib" to it.
19537         * build-aux/bootstrap: Redirect "git clone -h" stderr to stdout.
19538
19539 2010-05-16  Bruno Haible  <bruno@clisp.org>
19540
19541         Avoid autoconf warnings about AM_ICONV.
19542         * m4/iconv.m4 (AM_ICONV): Define using AC_DEFUN_ONCE for autoconf >=
19543         2.64.
19544
19545 2010-05-16  Bruno Haible  <bruno@clisp.org>
19546
19547         absolute-header: Make the macro usable in more situations.
19548         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): New macro, extracted
19549         from gl_ABSOLUTE_HEADER.
19550         (gl_ABSOLUTE_HEADER): Use it. Fix comment.
19551
19552 2010-05-16  James Youngman  <jay@gnu.org>
19553
19554         doc: update users.txt
19555         * users.txt: Add CSSC.
19556
19557 2010-05-16  Jim Meyering  <meyering@redhat.com>
19558
19559         init.sh: fix an error in the previous change; add more comments
19560         * tests/init.sh: Compare exit code in loop against 9, not 2.
19561         Patch by Bruno Haible.
19562         Make the two tests more similar by adding an empty "then" clause.
19563         Add comments.
19564
19565         init.sh: avoid unnecessary shell re-exec
19566         * tests/init.sh: Improve the re-exec-required check to first test the
19567         current shell.  If it passes the test, do not search for a shell that
19568         does pass, and do not re-exec.  This test is particularly contorted to
19569         avoid triggering misbehavior in Solaris 10's /bin/sh whereby any use
19570         of $(...) evokes a syntax error and causes immediate shell exit with
19571         status 2.  Bruno Haible reported that the re-exec made it impossible
19572         to single-step through any init.sh-using script.
19573
19574 2010-05-16  Bruno Haible  <bruno@clisp.org>
19575
19576         Fix collision between gnulib's and libintl's printf replacements.
19577         * lib/stdio.in.h (_GL_STDIO_STRINGIZE,
19578         _GL_STDIO_MACROEXPAND_AND_STRINGIZE): New macros.
19579         (printf): When using GNU C, map the __printf__ function to rpl_printf
19580         via __asm__. When not using GNU C, define rpl_printf instead of
19581         __printf__.
19582         * lib/printf.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2010-03-25
19583         commit.
19584         * lib/stdio-write.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2009-08-10
19585         commit.
19586         * m4/asm-underscore.m4: New file.
19587         * m4/stdio_h.m4 (gl_STDIO_H): Require gl_ASM_SYMBOL_PREFIX.
19588         * modules/stdio (Files): Add m4/asm-underscore.m4.
19589         (Makefile.am): Substitute ASM_SYMBOL_PREFIX.
19590         Reported by Ben Pfaff.
19591
19592 2010-05-16  Bruno Haible  <bruno@clisp.org>
19593
19594         verify: Avoid skipping the test on openSUSE 11.0.
19595         * tests/test-verify.sh: Unset MALLOC_PERTURB_.
19596
19597 2010-05-13  Bruno Haible  <bruno@clisp.org>
19598
19599         Avoid useless warnings from G++.
19600         * build-aux/c++defs.h (_GL_CXXALIASWARN_2, _GL_CXXALIASWARN1_2): Don't
19601         use _GL_WARN_ON_USE or _GL_WARN_ON_USE_CXX when optimizing.
19602         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
19603
19604 2010-05-11  Jim Meyering  <meyering@redhat.com>
19605
19606         maint.mk: tweak preceding change
19607         * top/maint.mk (gl_extract_significant_defines_): Make exclusion
19608         regexps tighter by anchoring at EOL, and make the new group "shy"
19609         for slightly decreased overhead.
19610
19611 2010-05-11  Eric Blake  <eblake@redhat.com>
19612
19613         maint.mk: gnulib doesn't guarantee NSIG
19614         * top/maint.mk (gl_extract_significant_defines_): Exclude NSIG.
19615
19616 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
19617
19618         test-pwrite.c: Remove unused variable declaration.
19619         * tests/test-pwrite.c (main): Remove read_buf declaration.
19620
19621         Remove useless test-pwrite.sh file.
19622         * tests/test-pwrite.sh: Delete file.
19623         * modules/pwrite-tests: Remove references.
19624         Reported by Bruno Haible.
19625
19626 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
19627
19628         init.sh: fix a typo
19629         * tests/init.sh: Correct typo in MALLOC_PERTURB_ initialization.
19630
19631 2010-05-10  Jim Meyering  <meyering@redhat.com>
19632
19633         maint.mk: avoid using a temporary file in the always-defined-macros check
19634         * top/maint.mk (.re-defmac): Remove rule.
19635         (gl_trap_): Remove definition.
19636         (sc_prohibit_always-defined_macros): Rewrite not to create and
19637         depend on a temporary file.  Instead, depend on GNU grep's ability
19638         to read a list of regular expressions from stdin when given "-f -".
19639
19640 2010-05-09  Bruno Haible  <bruno@clisp.org>
19641
19642         Update to GNU gettext 0.18, part 1.
19643         * m4/gettext.m4: Update to GNU gettext 0.18.
19644         * m4/intl.m4: Likewise.
19645         * m4/po.m4: Likewise.
19646         * modules/gettext (Files): Add m4/fcntl-o.m4.
19647         (configure.ac): Require gettext infrastructure from version 0.18.
19648
19649 2010-05-09  Jim Meyering  <meyering@redhat.com>
19650
19651         init.sh: enable MALLOC_PERTURB_
19652         * tests/init.sh: Enable glibc's malloc-perturbing option.
19653
19654         maint.mk: improve sc_cross_check_PATH_usage_in_tests
19655         With my recent change in init.sh from the two-line form:
19656             -#   : ${srcdir=.}
19657             -#   . "$srcdir/init.sh"; path_prepend_ .
19658             +#   . "${srcdir=.}/init.sh"; path_prepend_ .
19659         I noticed that using the one-line form would cause this test
19660         to fail with a false-positive, or to stop working altogether,
19661         depending on whether help-version changed or all the tests did.
19662         * top/maint.mk (_hv_regex): Remove this definition.
19663         (_hv_regex_weak): Use a weak regex to select all init.sh-sourcing files.
19664         (_hv_regex_strong): Use a stronger regex to check for conformance.
19665         (sc_cross_check_PATH_usage_in_tests): Rewrite to use the above.
19666         Give a separate diagnostic for lack of conforming use.
19667
19668         maint.mk: prohibit definition of symbols defined by gnulib
19669         * top/maint.mk (sc_prohibit_always-defined_macros): Reject the
19670         definition of symbols defined by gnulib.
19671
19672 2010-05-09  Bruno Haible  <bruno@clisp.org>
19673
19674         acl: Avoid test failure on Cygwin-hosted mingw.
19675         * tests/test-set-mode-acl.sh: Skip test if USE_ACL is 0.
19676
19677 2010-05-09  Bruno Haible  <bruno@clisp.org>
19678
19679         error: Use system's fcntl function.
19680         * lib/error.c (fcntl): Undefine.
19681
19682 2010-05-09  Jim Meyering  <meyering@redhat.com>
19683
19684         verify: adjust formatting to be more consistent
19685         * lib/verify.h (_GL_GENSYM): Add a space before each of a few
19686         argument-list '('s, and after one comma.
19687
19688 2010-05-09  Bruno Haible  <bruno@clisp.org>
19689
19690         error: More reliable output on mingw.
19691         * lib/error.c: Include <windows.h>.
19692         (is_open): New function.
19693         (flush_stdout): Call it instead of fcntl, also if F_GETFL is not
19694         defined.
19695
19696 2010-05-09  Bruno Haible  <bruno@clisp.org>
19697
19698         vasnprintf: Fix syntax errors in libintl build on mingw.
19699         * lib/vasnprintf.c (VASNPRINTF): Move a closing brace. Undefine
19700         pad_ourselves and prec_ourselves after use.
19701
19702 2010-05-08  Bruno Haible  <bruno@clisp.org>
19703
19704         * lib/config.charset: Update comments for Cygwin 1.7.
19705         * lib/localcharset.c: Likewise.
19706
19707 2010-05-07  Jim Meyering  <meyering@redhat.com>
19708
19709         init.sh: improve comments
19710         * tests/init.sh: Recommend the one-line init.sh-sourcing idiom:
19711         . "${srcdir=.}/init.sh"; path_prepend_ .
19712         Add a note about path_prepend_ and the alternative of using
19713         TESTS_ENVIRONMENT.
19714
19715 2010-05-06  Sergey Poznyakoff  <gray@gnu.org.ua>
19716
19717         exclude: Unescape hashed patterns in wildcard mode.
19718         * lib/exclude.c (add_exclude): Unescape the pattern before adding it
19719         to the hash list.
19720         * tests/test-exclude8.sh: New test case.
19721         * modules/exclude-tests: Add new test.
19722
19723 2010-05-05  Eric Blake  <eblake@redhat.com>
19724
19725         verify: automate tests
19726         * modules/verify-tests: New module.
19727         * tests/test-verify.sh: New file.
19728         * tests/test-verify.c: Guard each negative test with a unique id.
19729         Also avoid warning about unused left hand of comma expressions.
19730
19731 2010-05-05  Paul Eggert  <eggert@cs.ucla.edu>
19732
19733         Further improvements to verify.h, suggested by Eric Blake.
19734         * lib/verify.h (_GL_CONCAT, _GL_CONCAT0, _GL_GENSYM): Renamed from
19735         the GL_* versions, to avoid collision with OpenGL.
19736         (_GL_COUNTER): New macro, so that we can fall back on __LINE__ if
19737         __COUNTER__ doesn't work.  Test that __COUNTER__ increments rather
19738         than testing merely whether it's defined.
19739
19740         Modify verify.h to pacify gcc -Wredundant_decls.
19741         * lib/verify.h (GL_CONCAT, GL_CONCAT0, GL_GENSYM): New macros.
19742         These use the prefix "GL_" since they're likely to be useful elsewhere.
19743         We may need to break them out into a different .h file.
19744         (__COUNTER__): Define to 0 if the compiler doesn't support it.
19745         (verify) [!defined __cplusplus]: Use them to avoid duplicate decls
19746         of verify_function__.
19747
19748 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
19749
19750         Tests for module pwrite.
19751         * modules/pwrite-tests: New file.
19752         * tests/test-pwrite.sh: New file.
19753         * tests/test-pwrite.c: New file.
19754
19755         New module pwrite.
19756         * lib/unistd.in.h (pwrite): New declaration.
19757         * lib/pwrite.c: New file, from glibc with modifications.
19758         * m4/pwrite.m4: New file.
19759         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether pwrite is declared.
19760         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PWRITE, HAVE_PWRITE,
19761         REPLACE_PWRITE.
19762         * modules/pwrite: New file.
19763         * modules/unistd (Makefile.am): Substitute GNULIB_PWRITE, HAVE_PWRITE,
19764         REPLACE_PWRITE.
19765         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::pwrite.
19766         * doc/posix-functions/pwrite.texi: Mention the new module.
19767
19768 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
19769
19770         pread: Update documentation.
19771         * doc/posix-functions/pread.texi: Mention the 'pread' module.
19772
19773 2010-05-04  Eric Blake  <eblake@redhat.com>
19774
19775         docs: update cygwin progress
19776         * doc/posix-functions/wctob.texi (wctob): Cygwin 1.7.6 will fix
19777         this bug.
19778         * doc/glibc-functions/get_nprocs_conf.texi (get_nprocs_conf):
19779         Added in cygwin 1.7.2.
19780         * doc/glibc-functions/get_phys_pages.texi (get_phys_pages):
19781         Likewise.
19782         * doc/glibc-functions/get_avphys_pages.texi (get_avphys_pages):
19783         Likewise.
19784         * doc/glibc-functions/dup3.texi (dup3): Likewise.
19785         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
19786         * doc/glibc-functions/accept4.texi (accept4): Likewise.
19787         * doc/posix-functions/strfmon.texi (strfmon): Likewise.
19788         * doc/glibc-functions/get_nprocs.texi (get_nprocs): Likewise.
19789         Mention nproc module.
19790         * doc/glibc-functions/xdr_uint16_t.texi (xdr_uint16_t): Mention
19791         bug in cygwin 1.7.5 addition.
19792         * doc/glibc-functions/xdr_uint32_t.texi (xdr_uint32_t): Likewise.
19793         * doc/glibc-functions/xdr_uint64_t.texi (xdr_uint64_t): Likewise.
19794         * doc/glibc-functions/xdr_uint8_t.texi (xdr_uint8_t): Likewise.
19795         * doc/glibc-functions/xdr_array.texi (xdr_array): Added in cygwin
19796         1.7.5.
19797         * doc/glibc-functions/xdr_bool.texi (xdr_bool): Likewise.
19798         * doc/glibc-functions/xdr_bytes.texi (xdr_bytes): Likewise.
19799         * doc/glibc-functions/xdr_char.texi (xdr_char): Likewise.
19800         * doc/glibc-functions/xdr_double.texi (xdr_double): Likewise.
19801         * doc/glibc-functions/xdr_enum.texi (xdr_enum): Likewise.
19802         * doc/glibc-functions/xdr_float.texi (xdr_float): Likewise.
19803         * doc/glibc-functions/xdr_free.texi (xdr_free): Likewise.
19804         * doc/glibc-functions/xdr_hyper.texi (xdr_hyper): Likewise.
19805         * doc/glibc-functions/xdr_int.texi (xdr_int): Likewise.
19806         * doc/glibc-functions/xdr_int16_t.texi (xdr_int16_t): Likewise.
19807         * doc/glibc-functions/xdr_int32_t.texi (xdr_int32_t): Likewise.
19808         * doc/glibc-functions/xdr_int64_t.texi (xdr_int64_t): Likewise.
19809         * doc/glibc-functions/xdr_int8_t.texi (xdr_int8_t): Likewise.
19810         * doc/glibc-functions/xdr_long.texi (xdr_long): Likewise.
19811         * doc/glibc-functions/xdr_longlong_t.texi (xdr_longlong_t):
19812         Likewise.
19813         * doc/glibc-functions/xdr_netobj.texi (xdr_netobj): Likewise.
19814         * doc/glibc-functions/xdr_opaque.texi (xdr_opaque): Likewise.
19815         * doc/glibc-functions/xdr_pointer.texi (xdr_pointer): Likewise.
19816         * doc/glibc-functions/xdr_reference.texi (xdr_reference):
19817         Likewise.
19818         * doc/glibc-functions/xdr_short.texi (xdr_short): Likewise.
19819         * doc/glibc-functions/xdr_sizeof.texi (xdr_sizeof): Likewise.
19820         * doc/glibc-functions/xdr_string.texi (xdr_string): Likewise.
19821         * doc/glibc-functions/xdr_u_char.texi (xdr_u_char): Likewise.
19822         * doc/glibc-functions/xdr_u_hyper.texi (xdr_u_hyper): Likewise.
19823         * doc/glibc-functions/xdr_u_int.texi (xdr_u_int): Likewise.
19824         * doc/glibc-functions/xdr_u_long.texi (xdr_u_long): Likewise.
19825         * doc/glibc-functions/xdr_u_longlong_t.texi (xdr_u_longlong_t):
19826         Likewise.
19827         * doc/glibc-functions/xdr_u_short.texi (xdr_u_short): Likewise.
19828         * doc/glibc-functions/xdr_union.texi (xdr_union): Likewise.
19829         * doc/glibc-functions/xdr_vector.texi (xdr_vector): Likewise.
19830         * doc/glibc-functions/xdr_void.texi (xdr_void): Likewise.
19831         * doc/glibc-functions/xdr_wrapstring.texi (xdr_wrapstring):
19832         Likewise.
19833         * doc/glibc-functions/xdrmem_create.texi (xdrmem_create):
19834         Likewise.
19835         * doc/glibc-functions/xdrrec_create.texi (xdrrec_create):
19836         Likewise.
19837         * doc/glibc-functions/xdrrec_endofrecord.texi
19838         (xdrrec_endofrecord): Likewise.
19839         * doc/glibc-functions/xdrrec_eof.texi (xdrrec_eof): Likewise.
19840         * doc/glibc-functions/xdrrec_skiprecord.texi (xdrrec_skiprecord):
19841         Likewise.
19842         * doc/glibc-functions/xdrstdio_create.texi (xdrstdio_create):
19843         Likewise.
19844
19845 2010-05-04  Jim Meyering  <meyering@redhat.com>
19846
19847         gendocs.sh: make its "-s FILE" option more useful
19848         * build-aux/gendocs.sh: When honoring the -s FILE option, update
19849         $PACKAGE to reflect the probably-different basename of "FILE".
19850
19851 2010-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
19852
19853         bootstrap: don't ignore download_po_files failure
19854         * build-aux/bootstrap (update_po_files): Don't ignore download_po_files
19855         failure.
19856
19857 2010-05-03  Jim Meyering  <meyering@redhat.com>
19858
19859         maint.mk: allow to pass options to gendocs.sh
19860         * top/maint.mk (web-manual): Pass gendocs_options_ to gendocs.sh.
19861         (gendocs_options_): New overridable variable.
19862
19863         gnu-web-doc-update: don't ignore configure or build failure
19864         * build-aux/gnu-web-doc-update: Exit nonzero upon internal failure.
19865
19866         announce-gen: backslash-escape '@'s in --help output
19867         * build-aux/announce-gen: Fix syntax errors.
19868
19869         maint.mk, announce-gen: allow project-specific announcement mail headers
19870         * top/maint.mk (translation_project_): Define default.
19871         (announcement_Cc_, announcement_mail_headers_): Likewise.
19872         (announcement): Invoke announce-gen with new --mail-headers option.
19873         * build-aux/announce-gen: New option: --mail-headers=HEADERS.
19874
19875         test-xalloc-die: avoid unwarranted test failure on OpenSolaris 5.11
19876         * tests/test-xalloc-die.sh: Redirect stdout before stderr, (i.e.,
19877         "> out 2> err", rather than "2> err > out").  Otherwise, with /bin/sh
19878         on OpenSolaris 5.11 snv_134, we would end up with a stray "1> out"
19879         line in the "err2" output file when running "make check" in verbose
19880         mode (i.e., with set -x enabled).
19881
19882 2010-05-03  Bruno Haible  <bruno@clisp.org>
19883
19884         wctob: Fix for weird platforms.
19885         * lib/wctob.c (wctob): When wint_t is larger than wchar_t, check the
19886         argument value.
19887
19888 2010-05-03  Jim Meyering  <meyering@redhat.com>
19889
19890         maint.mk: prohibit unwarranted use of <strings.h>
19891         * top/maint.mk (sc_prohibit_strings_without_use): Reject inclusion of
19892         strings.h in a file that does not also use strcasecmp, strncasecmp,
19893         ffs or ffsll.
19894
19895         maint.mk: remove obsolete comments
19896         * top/maint.mk: Remove stale, commented-out rules.
19897
19898 2010-05-02  Bruno Haible  <bruno@clisp.org>
19899
19900         wcwidth: Declare also when it's aliased.
19901         * lib/wchar.in.h (wcwidth): Don't test whether wcwidth is defined as a
19902         macro.
19903
19904 2010-05-02  Bruno Haible  <bruno@clisp.org>
19905
19906         Fix regression from 2010-04-25.
19907         * gnulib-tool (func_modules_transitive_closure): Check the status of
19908         all modules, not only of the tests that are of the form foo-tests where
19909         foo is a module.
19910
19911 2010-05-02  Bruno Haible  <bruno@clisp.org>
19912
19913         wctob: Work around nasty Cygwin 1.7.2 bug.
19914         * m4/wctob.m4 (gl_FUNC_WCTOB): Detect the Cygwin bug.
19915         * doc/posix-functions/wctob.texi: Mention the Cygwin bug.
19916
19917 2010-05-01  Bruno Haible  <bruno@clisp.org>
19918
19919         fpurge: Sharper test.
19920         * tests/test-fpurge.c (main): Add one more ftell check.
19921         * modules/fpurge-tests (Depends-on): Add ftell.
19922         Suggested by Eric Blake.
19923
19924 2010-05-01  Bruno Haible  <bruno@clisp.org>
19925
19926         ftello: Another test.
19927         * tests/test-ftello3.c: New file.
19928         * modules/ftello-tests (Files): Add it.
19929         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
19930         MOSTLYCLEANFILES.
19931
19932         ftell: Another test.
19933         * tests/test-ftell3.c: New file.
19934         * modules/ftell-tests (Files): Add it.
19935         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
19936         MOSTLYCLEANFILES.
19937
19938 2010-05-01  Bruno Haible  <bruno@clisp.org>
19939
19940         ftell, ftello: Work around Solaris bug.
19941         * m4/ftello.m4 (gl_FUNC_FTELLO): Detect Solaris bug.
19942         * lib/ftello.c: Include stdio-impl.h.
19943         (ftello): On Solaris, when _IOWRT is set, compute the result without
19944         looking at _IOREAD.
19945         * modules/ftello (Files): Add lib/stdio-impl.h.
19946         * doc/posix-functions/ftell.texi: Mention Solaris bug.
19947         * doc/posix-functions/ftello.texi: Likewise.
19948         Reported by Eric Blake.
19949
19950 2010-05-01  Bruno Haible  <bruno@clisp.org>
19951
19952         freading: Adapt to special meaning of _IOREAD flag on Solaris.
19953         * lib/freading.c (freading): On Solaris, ignore the _IOREAD flag if
19954         the _IOWRT flag is also set.
19955
19956 2010-05-01  Bruno Haible  <bruno@clisp.org>
19957
19958         Fix doc about a HP-UX stdio bug.
19959         * doc/posix-functions/ftell.texi: Mark HP-UX bug as unfixed.
19960         * doc/posix-functions/ftello.texi: Likewise.
19961
19962 2010-05-01  Bruno Haible  <bruno@clisp.org>
19963
19964         lseek test: Fix failure on Solaris.
19965         * tests/test-lseek.sh: Partially revert 2010-04-20 commit. Consume all
19966         output.
19967
19968 2010-04-30  Jim Meyering  <meyering@redhat.com>
19969
19970         bootstrap: don't ignore failure to generate po*/Makevars
19971         * build-aux/bootstrap (with_gettext): Don't ignore failure
19972         to create po/Makevars or runtime-po/Makevars.
19973
19974 2010-04-29  Eric Blake  <eblake@redhat.com>
19975
19976         headers: relax license to LGPLv2+
19977         * modules/fcntl-h (License): Relax license.
19978         * modules/getopt-posix (License): Likewise.
19979         * modules/locale (License): Likewise.
19980         * modules/math (License): Likewise.
19981         * modules/pty (License): Likewise.
19982         * modules/sched (License): Likewise.
19983         * modules/search (License): Likewise.
19984         * modules/spawn (License): Likewise.
19985         * modules/stdarg (License): Likewise.
19986         * modules/sysexits (License): Likewise.
19987
19988 2010-04-29  Jim Meyering  <meyering@redhat.com>
19989
19990         inttypes: relax license to LGPLv2+
19991         * modules/inttypes (License): Relax license.
19992
19993 2010-04-29  Simon Josefsson  <simon@josefsson.org>
19994
19995         * top/maint.mk (indent): Run twice to produce idempotent results.
19996
19997 2010-04-28  Bruno Haible  <bruno@clisp.org>
19998
19999         getdate: Generate getdate.c in the source directory.
20000         * modules/getdate (Makefile.am): Add rule for getdate.c. Augment
20001         MOSTLYCLEANFILES.
20002         Suggested by Daniel Richard G. <skunk@iskunk.org> and Ralf Wildenhues.
20003
20004 2010-04-27  Andreas Gruenbacher  <agruen@suse.de>  (tiny change)
20005
20006         * lib/utimens.c: On Tru64, the timestamp parameter of utimens(2)
20007         is not declared as a const *; avoid warnings in that case.
20008
20009 2010-04-28  Eric Blake  <eblake@redhat.com>
20010
20011         canonicalize-lgpl: avoid compiler warning
20012         * lib/canonicalize-lgpl.c (versioned_symbol): Avoid an 'empty
20013         declaration' / 'extraneous semicolon' warning with some compilers.
20014         Reported by Andreas Gruenbacher.
20015
20016 2010-04-28  Jim Meyering  <meyering@redhat.com>
20017
20018         init.sh: ensure a more reliable exit status when exiting via trap
20019         * tests/init.sh (setup_): Don't rely on $? in signal handler.
20020         Inspired by patches from Dmitry V. Levin.
20021         Also trap on signal 3 (SIGQUIT).
20022
20023 2010-04-27  Bruno Haible  <bruno@clisp.org>
20024
20025         Update doc about utimes().
20026         * doc/posix-functions/utimes.texi: Mention the OSF/1 problem and the
20027         'utimens' module.
20028         Reported by Andreas Gruenbacher <agruen@suse.de>.
20029
20030 2010-04-27  Eric Blake  <eblake@redhat.com>
20031
20032         full-read, full-write: relax license
20033         * modules/full-read (License): Drop to LGPLv2+.
20034         * modules/full-write (License): Likewise.
20035         * modules/safe-read (License): Likewise.
20036         * modules/safe-write (License): Likewise.
20037
20038         pthread: mention library for linking
20039         * modules/pthread (Link): Mention $(LIB_PTHREAD).
20040
20041 2010-04-27  Jim Meyering  <meyering@redhat.com>
20042
20043         maint.mk: fix a bug introduced in last change
20044         * top/maint.mk (gl_assured_headers_): Now that all names are on
20045         one line, use sed's "g" modifier.  Note that while the \.in\.h LHS
20046         is not anchored to end of word, it should be adequate.
20047
20048         maint.mk: avoid side-effect in latest syntax-check
20049         * top/maint.mk (sc_prohibit_always_true_header_tests): Rework not
20050         to run commands via $(shell...), and hence to incur cost only when
20051         the new rule is actually run.
20052
20053         maint.mk: syntax-check: prohibit HAVE_<header>_H that are always true
20054         Derive the list of guaranteed header names from gnulib/lib/*.in.h,
20055         and use that to create a regexp used to detect all #if HAVE_..._H uses.
20056         * top/maint.mk (sc_prohibit_always_true_header_tests): New rule.
20057         (gl_assured_headers_, az_, AZ_): Define.
20058         (gl_header_upper_case_or_, gl_have_header_regex_): Define.
20059
20060 2010-04-26  Jim Meyering  <jim@meyering.net>
20061             Bruno Haible  <bruno@clisp.org>
20062
20063         gnulib-common.m4: make glibc write diagnostics to stderr, not /dev/tty
20064         * m4/gnulib-common.m4 (gl_COMMON_BODY): Set LIBC_FATAL_STDERR_.
20065         Prompted by an exchange with Gilles Espinasse.
20066
20067 2010-04-26  Jim Meyering  <meyering@redhat.com>
20068
20069         git-version-gen: aesthetic tweak
20070         * build-aux/git-version-gen: Use "$nl" rather than a literal,
20071         so that the command remains on a single line.
20072
20073 2010-04-26  Eric Blake  <eblake@redhat.com>
20074
20075         git-version-gen: allow use on EBCDIC hosts
20076         * build-aux/git-version-gen (dirty): Use literal rather than tying
20077         ourselves to ascii.
20078         Reported by Steve Goetze.
20079
20080 2010-04-25  Bruno Haible  <bruno@clisp.org>
20081
20082         netdb: Add support for GNULIB_POSIXCHECK.
20083         * lib/netdb.in.h: Include warn-on-use.h.
20084         (getaddrinfo, freeaddrinfo, gai_strerror, getnameinfo): Warn if these
20085         functions are used when GNULIB_POSIXCHECK is defined and the
20086         getaddrinfo module is not in use.
20087         * m4/netdb_h.m4 (gl_HEADER_NETDB): Test whether getaddrinfo,
20088         freeaddrinfo, gai_strerror, getnameinfo are declared.
20089         * modules/netdb (Depends-on): Add warn-on-use.
20090         (Makefile.am): Include warn-on-use.h in netdb.h.
20091
20092 2010-04-24  Ian Beckwith  <ianb@erislabs.net>
20093
20094         build: avoid "make check" failure without .git/ directory
20095         * Makefile (sc_prefer_ac_check_funcs_once): Skip this test when
20096         there is no .git/ directory.
20097
20098 2010-04-25  Bruno Haible  <bruno@clisp.org>
20099
20100         ptsname: Fix misuse of ttyname_r.
20101         * lib/ptsname.c (__ptsname_r): Use __ttyname_r's return value instead
20102         of errno.
20103
20104 2010-04-25  Bruno Haible  <bruno@clisp.org>
20105
20106         ttyname_r: Make it work on Solaris 10.
20107         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Define HAVE_POSIXDECL_TTYNAME_R
20108         if the system function has the POSIX declaration. Test whether the
20109         function fails if the buffer is less than 128 bytes large.
20110         * lib/ttyname_r.c (ttyname_r): Handle both possible declarations of the
20111         system's ttyname_r function. Provide a reasonably large buffer.
20112         * modules/ttyname_r (Depends-on): Add extensions.
20113         * doc/posix-functions/ttyname_r.texi: Mention the Solaris problem.
20114
20115 2010-04-25  Bruno Haible  <bruno@clisp.org>
20116
20117         Use the 'extensions' module for some more functions on Solaris.
20118         * doc/posix-functions/asctime_r.texi: Recommend to use the 'extensions'
20119         module.
20120         * doc/posix-functions/ctime_r.texi: Likewise.
20121         * doc/posix-functions/getgrgid_r.texi: Likewise.
20122         * doc/posix-functions/getgrnam_r.texi: Likewise.
20123         * doc/posix-functions/getpwnam_r.texi: Likewise.
20124         * doc/posix-functions/getpwuid_r.texi: Likewise.
20125         * doc/posix-functions/readdir_r.texi: Likewise.
20126         * doc/posix-functions/sigwait.texi: Likewise.
20127         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Add comment.
20128         * doc/posix-functions/getlogin_r.texi: Mark Solaris problem as fixed.
20129
20130 2010-04-25  Bruno Haible  <bruno@clisp.org>
20131
20132         ttyname_r: Make it work on MacOS X 10.4 and Solaris 10.
20133         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether the system function
20134         has the POSIX declaration. Set REPLACE_TTYNAME_R if not.
20135         * lib/ttyname_r.c: Include <limits.h>.
20136         (ttyname_r): Define using the system's ttyname_r function, if it exists
20137         and not on Solaris.
20138         * lib/unistd.in.h (ttyname_r): Replace function if REPLACE_TTYNAME_R is
20139         set.
20140         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_TTYNAME_R.
20141         * modules/unistd (Makefile.am): Substitute REPLACE_TTYNAME_R.
20142         * doc/posix-functions/ttyname_r.texi: Mark the problem as fixed.
20143         Reported by Simon Josefsson.
20144
20145 2010-04-25  Bruno Haible  <bruno@clisp.org>
20146
20147         Mention effects of _POSIX_PTHREAD_SEMANTICS on Solaris.
20148         * doc/posix-functions/asctime_r.texi: Mention the Solaris problem.
20149         * doc/posix-functions/ctime_r.texi: Likewise.
20150         * doc/posix-functions/getgrgid_r.texi: Likewise.
20151         * doc/posix-functions/getgrnam_r.texi: Likewise.
20152         * doc/posix-functions/getlogin_r.texi: Likewise.
20153         * doc/posix-functions/getpwnam_r.texi: Likewise.
20154         * doc/posix-functions/getpwuid_r.texi: Likewise.
20155         * doc/posix-functions/readdir_r.texi: Likewise.
20156         * doc/posix-functions/sigwait.texi: Likewise.
20157         * doc/posix-functions/ttyname_r.texi: Likewise.
20158         Reported by Simon Josefsson.
20159
20160 2010-04-25  Bruno Haible  <bruno@clisp.org>
20161
20162         gnulib-tool: Don't include hairy tests of dependencies in testdirs.
20163         * gnulib-tool (func_usage): Document that --with-*-tests options apply
20164         also to --create-testdir.
20165         (func_acceptable): Don't consider the status of *-tests modules here.
20166         (func_modules_transitive_closure): Consider it here, before including a
20167         test module.
20168         (func_import, func_create_testdir): Set inc_all_direct_tests,
20169         inc_all_indirect_tests.
20170         * doc/gnulib.texi (Extra tests modules): Document new behaviour of
20171         --create-testdir and --create-megatestdir.
20172
20173 2010-04-25  Bruno Haible  <bruno@clisp.org>
20174
20175         gnulib-tool: Add --without-*-tests options.
20176         * gnulib-tool (func_usage): Document the --without-*-tests options.
20177         (excl_cxx_tests, excl_longrunning_tests, excl_privileged_tests,
20178         excl_unportable_tests): New variables.
20179         Fail if they are specified with --import or --update.
20180         (func_acceptable): Respect the excl_*_tests variables.
20181         (func_import): Set the excl_*_tests variables to empty.
20182
20183 2010-04-25  Simon Josefsson  <simon@josefsson.org>
20184             Bruno Haible  <bruno@clisp.org>
20185
20186         Work around a MacOS X 10.4 bug with openpty.
20187         * doc/glibc-functions/openpty.texi: Mention the MacOS X 10.4 bug.
20188         * tests/test-openpty.c (main): Close the master side explicitly.
20189
20190 2010-04-25  Bruno Haible  <bruno@clisp.org>
20191
20192         strnlen: Fix a C++ test error on MacOS X and Solaris.
20193         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Don't set REPLACE_STRNLEN to 1 if
20194         the function is not declared.
20195         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com> and
20196         Simon Josefsson.
20197
20198 2010-04-24  Bruno Haible  <bruno@clisp.org>
20199
20200         Avoid a gcc warning.
20201         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Pass argument
20202         of correct type for %08lx directive.
20203         Reported by Eric Blake.
20204
20205 2010-04-24  Bruno Haible  <bruno@clisp.org>
20206
20207         vasnprintf: Correct errno value in case of out-of-memory.
20208         * lib/vasnprintf.c (VASNPRINTF): Set errno to 0 before calling SNPRINTF
20209         or sprintf. Use the errno value from SNPRINTF or sprintf.
20210         Reported by Ian Beckwith <ianb@erislabs.net>.
20211
20212 2010-04-24  Bruno Haible  <bruno@clisp.org>
20213
20214         ansi-c++-opt: Find correct compiler when cross-compiling.
20215         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Use AC_CHECK_TOOLS instead of
20216         AC_CHECK_PROGS.
20217         Reported by Simon Josefsson.
20218
20219 2010-04-24  Giuseppe Scrivano  <gscrivano@gnu.org>
20220
20221         vc-list-files: Add support for subversion
20222         * build-aux/vc-list-files: Use "svn list" to generate the list of
20223         files controlled by subversion.
20224
20225 2010-04-23  Jim Meyering  <meyering@redhat.com>
20226
20227         vc-list-files tests: convert to use init.sh
20228         * tests/test-vc-list-files-cvs.sh: Invoke "$srcdir/init.sh" and
20229         path_prepend_.
20230         Use Exit, not exit.
20231         Use skip_ rather than open coding it.
20232         Remove trap set-up and compare definitions.
20233         * tests/test-vc-list-files-git.sh: Likewise.
20234         * modules/vc-list-files-tests (Files): Add tests/init.sh.
20235
20236 2010-04-22  Simon Josefsson  <simon@josefsson.org>
20237
20238         * top/maint.mk (sc_prohibit_backup_files): Prohibit checked in
20239         backup files.
20240
20241 2010-04-21  Simon Josefsson  <simon@josefsson.org>
20242
20243         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Test %08lx.
20244
20245 2010-04-20  Eric Blake  <eblake@redhat.com>
20246
20247         tests: be robust to ignored SIGPIPE
20248         * tests/test-select-in.sh: Consume all output.
20249         * tests/test-lseek.sh: Check correct exit status, while avoiding
20250         EPIPE.
20251
20252 2010-04-20  Simon Josefsson  <simon@josefsson.org>
20253             Bruno Haible  <bruno@clisp.org>
20254
20255         visibility: Don't use -fvisibility if it leads to a warning.
20256         * m4/visibility.m4 (gl_VISIBILITY): Check whether -Werror is usable. If
20257         yes, don't pretend that visibility works if it leads to a warning.
20258         Reported by Mike Gran <spk121@yahoo.com>.
20259
20260 2010-04-20  Andreas Gruenbacher  <agruen@suse.de>
20261
20262         * build-aux/bootstrap: Use "git -h" for testing for supported options
20263         instead of "git --help".  The short-form option only shows a summary,
20264         and doesn't layout the full man page.  Grep for the full option name
20265         in the summary, too.
20266
20267 2010-04-19  Bruno Haible  <bruno@clisp.org>
20268
20269         relocatable: Drop the need to define RELOCATABLE_STRIP in Makefile.am.
20270         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Set RELOCATABLE_STRIP.
20271         * doc/relocatable-maint.texi (Supporting Relocation): Remove the
20272         mention of RELOCATABLE_STRIP.
20273         Reported by Sylvain Beucler <beuc@beuc.net>.
20274
20275 2010-04-19  Bruno Haible  <bruno@clisp.org>
20276
20277         * lib/diffseq.h: Fix typo in comment.
20278         Reported by Eric Blake.
20279
20280 2010-04-19  Bruno Haible  <bruno@clisp.org>
20281
20282         ioctl: Move autoconf macro to a .m4 file.
20283         * m4/ioctl.m4: New file, extracted from modules/ioctl.
20284         * modules/ioctl (Files): Add it.
20285         (configure.ac): Simply invoke gl_FUNC_IOCTL.
20286         Reported by Ian Beckwith <ianb@erislabs.net>.
20287
20288 2010-04-18  Andreas Gruenbacher  <agruen@suse.de>
20289             Bruno Haible  <bruno@clisp.org>
20290
20291         diffseq: Accommodate use-case with abstract arrays.
20292         * lib/diffseq.h (struct context): Remove xvec, yvec fields if ELEMENT
20293         is not defined.
20294         (diag, compareseq): Remove local variables xv, yv if ELEMENT is not
20295         defined. Use local macro XREF_YREF_EQUAL instead of EQUAL.
20296
20297 2010-04-18  Bruno Haible  <bruno@clisp.org>
20298
20299         * doc/posix-headers/stdbool.texi: More precise wording.
20300
20301 2010-04-17  Jim Meyering  <meyering@redhat.com>
20302
20303         maint.mk: use gnu-style indentation in an embedded perl script
20304         * top/maint.mk (detect_empty_lines_at_EOF_): Clean up formatting.
20305         Rename variable: s/two/last_two_bytes/
20306
20307 2010-04-16  Eric Blake  <eblake@redhat.com>
20308
20309         test-stdbool: skip test that fails with Solaris CC
20310         * tests/test-stdbool.c (f): Skip test that causes compilation
20311         error under buggy C++ compiler.
20312         * lib/stdbool.in.h: Document the limitation.
20313         * doc/posix-headers/stdbool.texi (stdbool.h): Likewise.
20314
20315         setenv: allow compilation with C++
20316         * lib/setenv.c (__add_to_environ): Add a cast.  Also, drop use of
20317         register keyword.
20318
20319         stdint: allow test to pass with C++
20320         * tests/test-stdint.c: Define __STDC_CONSTANT_MACROS, for glibc.
20321
20322         getopt: allow compilation with C++
20323         * lib/getopt_int.h (__ordering): Hoist enum declaration outside
20324         struct.
20325         * lib/getopt.c (_getopt_internal_r): Use correct type.
20326         Reported by Dagobert Michelson, via Joel E. Denny.
20327
20328 2010-04-16  Bruno Haible  <bruno@clisp.org>
20329
20330         Override netdb.h always.
20331         * modules/netdb (Makefile.am): Augment BUILT_SOURCES always.
20332         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't set NETDB_H.
20333         Reported by Ludovic Courtès <ludo@gnu.org>.
20334
20335 2010-04-15  Bruno Haible  <bruno@clisp.org>
20336
20337         openpty: Fix mistake from 2010-03-21.
20338         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when openpty exists.
20339         Reported by Simon Josefsson.
20340
20341 2010-04-15  Eric Blake  <eblake@redhat.com>
20342
20343         test-forkpty: fix expected signature
20344         * tests/test-forkpty.c (SIGNATURE_CHECK): Add appropriate const.
20345         Reported by Simon Josefsson.
20346
20347 2010-04-15  Jim Meyering  <meyering@redhat.com>
20348
20349         maint.mk: texinfo_suffix_re_: correct the default regexp
20350         * top/maint.mk (texinfo_suffix_re_): Fix default regexp.
20351
20352         * top/maint.mk (sc_texinfo_acronym): Improve filename regexp, and
20353         make it configurable via texinfo_suffix_re_.
20354
20355 2010-04-14  Eric Blake  <eblake@redhat.com>
20356
20357         strtok_r: relax license to LGPLv2+
20358         * modules/strtok_r (License): Relax license.
20359         Reported by Matthias Bolte.
20360
20361 2010-04-14  Simon Josefsson  <simon@josefsson.org>
20362
20363         * lib/gc-libgcrypt.c (gc_init): Use MIN_GCRYPT_VERSION set to
20364         version 1.4.4 by default instead of requiring the libgcrypt
20365         version used during build.  This makes it possible to use the
20366         application with older but still binary compatible libgcrypt
20367         versions.
20368
20369 2010-04-13  Eric Blake  <eblake@redhat.com>
20370
20371         getopt-gnu: match recent glibc fixes and posix ruling
20372         * tests/test-getopt.h (test_getopt): Strengthen tests of leading
20373         '+' handling, when requesting extensions.
20374         * tests/test-getopt_long.h (test_getopt_long): Strengthen test of
20375         'W;' handling.
20376         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Detect glibc 2.11 bug.
20377         * doc/posix-functions/getopt.texi (getopt): Document this.
20378         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
20379         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
20380         Likewise.
20381
20382         getopt: merge bug fixes from glibc
20383         * lib/getopt.c (_getopt_internal_r): Use correct message for 'W;'
20384         diagnostics.  Honor '+:' correctly.  Reject ';'.
20385
20386         getopt-posix: detect MacOS bug
20387         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Reject MacOS botch of
20388         optind when missing a required argument.
20389         * doc/posix-functions/getopt.texi (getopt): Document the bug.
20390         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
20391         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
20392         Likewise.
20393
20394         getopt-posix: avoid spurious failure on Solaris
20395         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for getopt_clip as
20396         an indicator that setting optind=1 is sufficient for reset.
20397
20398         getopt-posix: avoid spurious failure on FreeBSD
20399         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for optreset even
20400         in POSIX mode, since the m4 test uses it.
20401
20402         gnulib-tool: silence warning on BSD sh
20403         * gnulib-tool: Avoid leaking warning about unknown 'declare'.
20404
20405 2010-04-13  Jim Meyering  <meyering@redhat.com>
20406
20407         doc: users.txt: GNU patch now uses gnulib
20408         * users.txt: Add patch.
20409
20410 2010-04-12  Jim Meyering  <meyering@redhat.com>
20411
20412         maint.mk: generate more concise timing data for syntax-check rules
20413         * top/maint.mk ($(sc_z_rules_)): Remove the ":", "sc_" prefix and
20414         " done" from each line that reports a syntax-check test duration.
20415
20416 2010-04-12  Andreas Gruenbacher  <agruen@suse.de>
20417
20418         git-version-gen: use "git update-index..." rather than "git status"
20419         * build-aux/git-version-gen: Use git update-index --refresh, not
20420         "git status".  With some versions of git, "git status" would fail
20421         to update the index and result in an unwarranted "-dirty" suffix.
20422
20423 2010-04-11  Jim Meyering  <meyering@redhat.com>
20424
20425         openat: correct formatting (no semantic change)
20426         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Correct formatting in AC_DEFINE.
20427         Suggested by Bruno Haible.
20428
20429 2010-04-11  Bruno Haible  <bruno@clisp.org>
20430
20431         Stricter declaration checking in testdirs.
20432         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
20433         If for_tests is true, augment AM_CPPFLAGS to define
20434         GNULIB_STRICT_CHECKING.
20435         * build-aux/warn-on-use.h (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): When
20436         GNULIB_STRICT_CHECKING is defined, verify that the function is
20437         declared.
20438
20439 2010-04-11  Paolo Bonzini  <bonzini@gnu.org>
20440             Bruno Haible  <bruno@clisp.org>
20441
20442         libunistring: Improve configure output.
20443         * m4/libunistring.m4 (gl_LIBUNISTRING): Check for libiconv first.
20444         Don't say "consider installing GNU libunistring" when checking again
20445         with libiconv.
20446
20447 2010-04-11  Bruno Haible  <bruno@clisp.org>
20448
20449         libunistring: Correct value of $LTLIBUNISTRING.
20450         * m4/libunistring.m4 (gl_LIBUNISTRING): When it depends on libiconv,
20451         correct the value of $LTLIBUNISTRING.
20452
20453 2010-04-11  Bruno Haible  <bruno@clisp.org>
20454
20455         havelib: Add static libraries to LIBS in the right order.
20456         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): When $LIB[]NAME contains no
20457         -l options, prepend it to $LIBS, instead of appending it to $LIBS.
20458
20459 2010-04-11  Bruno Haible  <bruno@clisp.org>
20460
20461         libunistring: Detect libunistring also when it depends on libiconv.
20462         * m4/libunistring.m4 (gl_LIBUNISTRING): Unset the cached result before
20463         the second AC_LIB_HAVE_LINKFLAGS invocation.
20464
20465 2010-04-11  James Youngman  <jay@gnu.org>
20466
20467         close-stream: declare local scalars to be "const"
20468         * lib/close-stream.c (close_stream): Make boolean variables const
20469         to document the fact that we set but do not change them.
20470
20471 2010-04-11  Bruno Haible  <bruno@clisp.org>
20472
20473         * m4/libunistring.m4 (gl_LIBUNISTRING): Fix typo in comment.
20474
20475 2010-04-11  Jim Meyering  <meyering@redhat.com>
20476
20477         maint.mk: don't include dist-check.mk
20478         * top/maint.mk: Remove bogus include directive.
20479
20480         maint.mk: improve empty-line-at-EOF check
20481         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Use Perl-based
20482         solution, rather than tail+Perl-based one.  The latter would read
20483         a few kilobytes from the end of each file, and did not handle empty
20484         files properly.
20485
20486         maint.mk: print the elapsed time for each syntax-check rule
20487         * top/maint.mk (sc_m_rules_): Save start time in a file.
20488         (sc_z_rules_): New rules: remove temp file and print elapsed time.
20489         (local-check): Interpose the .z rules
20490
20491 2010-04-11  Jim Meyering  <meyering@redhat.com>
20492
20493         maint.mk: detect_empty_lines_at_EOF_: avoid FP for an empty file
20494         * top/maint.mk (detect_empty_lines_at_EOF_): Don't confuse an
20495         empty file with one that ends in an empty line.
20496
20497 2010-04-10  Bruno Haible  <bruno@clisp.org>
20498
20499         mkdir: Make it work on mingw64.
20500         * lib/sys_stat.in.h: Include <direct.h> together with <io.h>.
20501         * lib/mkdir.c: Update comment.
20502         Reported by Roman Donchenko (Роман Ð”онченко) <dxdragon@yandex.ru>.
20503
20504 2010-04-10  Bruno Haible  <bruno@clisp.org>
20505
20506         Don't override improved macro from newer autoconf.
20507         * m4/gnulib-common.m4 (AC_C_RESTRICT): Don't define for
20508         autoconf >= 2.62.
20509         Reported by Joel E. Denny <jdenny@clemson.edu>.
20510
20511 2010-04-10  Jim Meyering  <meyering@redhat.com>
20512
20513         maint.mk: new syntax-check rule: prohibit empty lines at end of file
20514         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): New rule.
20515
20516         maint.mk: correct a diagnostic
20517         * top/maint.mk (sc_prohibit_HAVE_MBRTOWC): Fix obsolete use of $re
20518         in diagnostic; now use $prohibit.
20519
20520 2010-04-10  Bruno Haible  <address@hidden>
20521
20522         fchownat: Fix a C++ test error on Solaris 8.
20523         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Don't set REPLACE_FCHOWNAT to 1 if
20524         the function does not exist.
20525
20526 2010-04-10  Bruno Haible  <bruno@clisp.org>
20527
20528         vasnprintf: Add more tests.
20529         * tests/test-vasnprintf-posix.c: Include <errno.h>.
20530         (test_function): Test converting an invalid wide string.
20531
20532         vasnprintf: Correct handling of unconvertible wide string arguments.
20533         * lib/vasnprintf.c (MAX_ROOM_NEEDED): New function, extracted from
20534         VASNPRINTF.
20535         (VASNPRINTF): Use it. After snprintf failed, allocate more memory only
20536         if HAVE_SNPRINTF_RETVAL_C99 is false and the allocated memory is
20537         smaller than the expected maximum need for the directive. Set errno to
20538         EILSEQ, not EINVAL, when the directive is 'c' or 's'.
20539         (local_strnlen, local_wcslen, local_wcsnlen): Update conditions.
20540         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require AC_C_INLINE and
20541         gl_SNPRINTF_RETVAL_C99. Define HAVE_SNPRINTF_RETVAL_C99.
20542         * modules/vasnprintf (Files): Add m4/printf.m4.
20543         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
20544
20545 2010-04-10  Bruno Haible  <bruno@clisp.org>
20546
20547         vasnprintf: Fix crash in %ls directive.
20548         * lib/vasnprintf.c (VASNPRINTF): Don't abort when a unconvertible wide
20549         string is passed as argument to %ls, with no precision and no width.
20550         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
20551
20552 2010-04-10  Bruno Haible  <bruno@clisp.org>
20553
20554         vasnprintf: Fix multiple test failures on mingw.
20555         * lib/vasnprintf.c (SNPRINTF) [mingw]: Define to snprintf, not
20556         _snprintf, or snwprintf, not _snwprintf.
20557
20558 2010-04-10  Bruno Haible  <bruno@clisp.org>
20559
20560         write: Fix a C++ test error on mingw.
20561         * lib/unistd.in.h (write): Use _GL_CXXALIAS_SYS_CAST.
20562
20563 2010-04-10  Bruno Haible  <bruno@clisp.org>
20564
20565         vasnprintf test: Reduce code duplication.
20566         * tests/test-vasnprintf.c (test_function): New function, extracted from
20567         test_vasnprintf.
20568         (test_vasnprintf, test_asnprintf): Invoke it.
20569
20570 2010-04-10  Bruno Haible  <bruno@clisp.org>
20571
20572         strnlen: Fix warning in C++ mode on MacOS X.
20573         * lib/string.in.h (strnlen): Use the modern idiom.
20574         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set REPLACE_STRNLEN to 1, instead of
20575         defining strnlen as a macro already in <config.h>.
20576         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
20577         REPLACE_STRNLEN.
20578         * modules/string (Makefile.am): Substitute REPLACE_STRNLEN.
20579         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
20580
20581 2010-04-08  James Youngman  <jay@gnu.org>
20582
20583         * doc/manywarnings.texi (manywarnings): Add missing parenthesis in
20584         the example.
20585
20586 2010-04-09  Jim Meyering  <meyering@redhat.com>
20587
20588         maint.mk: print better diagnostic when there is no $(_hv_file)
20589         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): Skip test and
20590         announce that when $(_hv_file) (aka help-version) does not exist.
20591
20592         init.sh: run tr in the "C" locale to avoid multibyte interpretation
20593         * tests/init.sh (rand_bytes_): Run tr in the "C" locale so it does
20594         not try to interpret its random input bytes.  Jarno Rajahalme reported
20595         that ./test-xalloc-die.sh would fail with "tr: Illegal byte sequence".
20596         on Darwin 10.3.0 with LC_CTYPE=UTF-8.
20597         (mktempd_): Likewise, just in case.
20598
20599         ftruncate: add two years to projected module removal date: 2012
20600         * m4/ftruncate.m4: Adjust comments.
20601
20602         ftruncate: mark module as obsolete; even MinGW provides it, now
20603         * modules/ftruncate (Status): Obsolete.
20604         (Notice): Say that.
20605         * doc/posix-functions/ftruncate.texi: Don't say MinGW lacks it.
20606         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/9203
20607
20608 2010-04-08  Bruno Haible  <bruno@clisp.org>
20609
20610         Fix side effects from tests-related modules.
20611         * modules/dprintf-posix (Comment): New section.
20612         * modules/fprintf-posix (Comment): Likewise.
20613         * modules/obstack-printf-posix (Comment): Likewise.
20614         * modules/printf-posix (Comment): Likewise.
20615         * modules/snprintf-posix (Comment): Likewise.
20616         * modules/sprintf-posix (Comment): Likewise.
20617         * modules/vasnprintf-posix (Comment): Likewise.
20618         * modules/vasprintf-posix (Comment): Likewise.
20619         * modules/vdprintf-posix (Comment): Likewise.
20620         * modules/vfprintf-posix (Comment): Likewise.
20621         * modules/vprintf-posix (Comment): Likewise.
20622         * modules/vsnprintf-posix (Comment): Likewise.
20623         * modules/vsprintf-posix (Comment): Likewise.
20624         * modules/xprintf-posix (Comment): Likewise.
20625         * modules/xvasprintf-posix (Comment): Likewise.
20626         * modules/ceilf-tests (Depends-on): Remove fprintf-posix.
20627         * modules/floorf-tests (Depends-on): Likewise.
20628         * modules/round-tests (Depends-on): Likewise.
20629         * modules/roundf-tests (Depends-on): Likewise.
20630         * modules/trunc-tests (Depends-on): Likewise.
20631         * modules/truncf-tests (Depends-on): Likewise.
20632         * tests/test-ceilf2.c (check): Don't invoke fprintf if the
20633         'fprintf-posix' module is not present.
20634         * tests/test-floorf2.c (check): Likewise.
20635         * tests/test-trunc2.c (check): Likewise.
20636         * tests/test-truncf2.c (check): Likewise.
20637         * tests/test-round2.c (equal): Likewise.
20638         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
20639
20640 2010-04-07  Karl Berry  <karl@gnu.org>
20641
20642         * config/srclist.txt,
20643         * config/srclistvars.sh,
20644         * config/srclist-update: doc fixes.
20645
20646 2010-04-07  Jim Meyering  <meyering@redhat.com>
20647
20648         maint.mk: add a PATH crosschecking syntax-check rule
20649         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): New rule.
20650         Useful if you use a test like the one in help-version (coreutils,
20651         diffutils, grep, gzip) that ensures $(VERSION) matches what is
20652         printed by prog --version.
20653
20654 2010-04-06  Bruno Haible  <bruno@clisp.org>
20655
20656         Fix link error on mingw.
20657         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add LIBSOCKET.
20658         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Likewise.
20659
20660 2010-04-06  Bruno Haible  <bruno@clisp.org>
20661
20662         Assume rmdir exists.
20663         * lib/rmdir.c (rpl_rmdir): Remove code that invokes the rmdir program.
20664
20665 2010-04-06  Giuseppe Scrivano <gscrivano@gnu.org>
20666
20667         doc: update users.txt
20668         * users.txt: Add gcal.
20669
20670 2010-04-06  Jim Meyering  <meyering@redhat.com>
20671
20672         init.sh: simply unset TMPDIR rather than risking env -i
20673         * tests/init.sh (mktempd_): Using env -i is rather harsh, and
20674         although it probably works fine on all Unix-based systems, some
20675         systems (Cygwin?) cannot tolerate a totally cleared environment.
20676         Suggestion from Eric Blake.
20677
20678 2010-04-06  Jim Meyering  <meyering@redhat.com>
20679
20680         init.sh: portability fix: use env's POSIX-specified -i option not -u
20681         * tests/init.sh (mktempd_): Use env -i and set PATH explicitly rather
20682         than unportable env -u.  Solaris 5.11's env lacks support for -u.
20683
20684 2010-04-05  Bruno Haible  <bruno@clisp.org>
20685
20686         btowc: Work around Cygwin 1.7.2 bug.
20687         * m4/btowc.m4 (gl_FUNC_BTOWC): Set REPLACE_BTOWC to 1 if the function
20688         does not map NUL to 0.
20689         * doc/posix-functions/btowc.texi: Mention the Cygwin bug.
20690
20691 2010-04-05  Bruno Haible  <bruno@clisp.org>
20692
20693         Make the multithread modules work on Cygwin 1.7.2.
20694         * m4/threadlib.m4 (gl_THREADLIB_BODY): Improve the test whether
20695         imported symbols can be declared weak, so that it returns "no" on
20696         Cygwin 1.7.2.
20697
20698 2010-04-05  Bruno Haible  <bruno@clisp.org>
20699
20700         Use the module 'strncat'.
20701         * modules/unistr/u8-strncat (Depends-on): Add strncat.
20702
20703         Tests for module 'strncat'.
20704         * modules/strncat-tests: New file.
20705         * tests/test-strncat.c: New file.
20706
20707         New module 'strncat'.
20708         * lib/string.in.h (strncat): New declaration.
20709         * lib/strncat.c: New file, based on lib/unistr/u-strncat.h.
20710         * m4/strncat.m4: New file, based on m4/memchr.m4.
20711         * modules/strncat: New file.
20712         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Also check whether strncat
20713         is declared.
20714         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRNCAT,
20715         REPLACE_STRNCAT.
20716         * modules/string (Makefile.am): Substitute GNULIB_STRNCAT,
20717         REPLACE_STRNCAT.
20718         * doc/posix-functions/strncat.texi: Mention the Solaris bug and the new
20719         module.
20720         * tests/test-string-c++.cc: Check signature of strncat.
20721
20722 2010-04-05  Jim Meyering  <meyering@redhat.com>
20723
20724         xstrtoumax-tests: convert to use init.sh
20725         * modules/xstrtoumax-tests (Files): Add tests/init.sh.
20726         * tests/test-xstrtoumax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
20727         Use Exit, not exit.
20728         Remove uses of $EXEEXT and "./" to run a program in the current dir.
20729
20730         xstrtoimax-tests: convert to use init.sh
20731         * modules/xstrtoimax-tests (Files): Add tests/init.sh.
20732         * tests/test-xstrtoimax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
20733         Use Exit, not exit.
20734         Remove uses of $EXEEXT and "./" to run a program in the current dir.
20735
20736 2010-04-05  Bruno Haible  <bruno@clisp.org>
20737
20738         sys_socket: Avoid #define replacements in C++ mode.
20739         * lib/sys_socket.in.h (close, gethostname, select): In C++, attach a
20740         warning to the function if possible, rather than #defining the symbol
20741         to a dysfunctional alias.
20742
20743 2010-04-05  Bruno Haible  <bruno@clisp.org>
20744
20745         fseeko: Fix C++ test error on mingw.
20746         * m4/fseeko.m4 (gl_HAVE_FSEEKO): New macro, extracted from
20747         gl_FUNC_FSEEKO.
20748         (gl_REPLACE_FSEEKO): Also set REPLACE_FSEEKO if appropriate.
20749         (gl_FUNC_FSEEKO): Require gl_HAVE_FSEEKO. Update.
20750         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't fiddle with internals of the
20751         fseeko module. Instead, invoke gl_REPLACE_FSEEKO.
20752
20753 2010-04-05  Bruno Haible  <bruno@clisp.org>
20754
20755         duplocale: Improve test output.
20756         * tests/test-duplocale.c (main): Print reason for skipped test.
20757
20758 2010-04-05  Bruno Haible  <bruno@clisp.org>
20759
20760         Assume rmdir exists.
20761         * m4/rmdir.m4 (gl_FUNC_RMDIR): Remove test whether rmdir exists.
20762         * doc/posix-functions/rmdir.texi: Remove mention of "old platforms".
20763
20764 2010-04-05  Bruno Haible  <bruno@clisp.org>
20765
20766         Fix link error on Solaris 8 with cc.
20767         * modules/pty-c++-tests (test_pty_c___LDADD): Add LIBINTL.
20768
20769 2010-04-05  Bruno Haible  <bruno@clisp.org>
20770
20771         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
20772         * lib/math.in.h (frexpl): Fix condition on _GL_CXXALIASWARN invocation.
20773
20774 2010-04-05  Bruno Haible  <bruno@clisp.org>
20775
20776         vasprintf: Update documentation.
20777         * doc/glibc-functions/asprintf.texi: Mention the 'vasprintf' module.
20778
20779 2010-04-05  Bruno Haible  <bruno@clisp.org>
20780
20781         ptsname: Improve test.
20782         * tests/test-ptsname.c (main): Also try the various master names of BSD
20783         systems.
20784
20785 2010-04-05  Bruno Haible  <bruno@clisp.org>
20786
20787         memchr: Avoid a possible C++ test error.
20788         * lib/string.in.h (memchr): Provide declaration if function is missing.
20789         * m4/memchr.m4 (gl_FUNC_MEMCHR): If the function is missing, set
20790         HAVE_MEMCHR to 0, not REPLACE_MEMCHR to 1.
20791         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MEMCHR.
20792         * modules/string (Makefile.am): Substitute HAVE_MEMCHR.
20793
20794 2010-04-05  Bruno Haible  <bruno@clisp.org>
20795
20796         strtok_r: Improve idiom.
20797         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Invoke gl_PREREQ_STRDUP only when
20798         AC_LIBOBJ is used.
20799
20800 2010-04-05  Bruno Haible  <bruno@clisp.org>
20801
20802         strdup: Improve idiom.
20803         * m4/strdup.m4 (gl_FUNC_STRDUP): Invoke gl_PREREQ_STRDUP only when
20804         AC_LIBOBJ is used.
20805         (gl_FUNC_STRDUP_POSIX): When strdup is missing and malloc is not POSIX
20806         compliant, don't set REPLACE_STRDUP to 1. Invoke gl_PREREQ_STRDUP only
20807         when AC_LIBOBJ is used.
20808
20809 2010-04-05  Bruno Haible  <bruno@clisp.org>
20810
20811         mbsinit, mbrtowc, wcrtomb: Improve idioms.
20812         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): When the function does not exist,
20813         don't set REPLACE_MBSINIT to 1.
20814         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): When the function does not exist,
20815         don't set REPLACE_MBRTOWC to 1.
20816         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): When the function does not
20817         exist, don't set REPLACE_MBSRTOWCS to 1.
20818         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): When the function does not
20819         exist, don't set REPLACE_MBSNRTOWCS to 1.
20820         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): When the function does not exist,
20821         don't set REPLACE_WCRTOMB to 1.
20822         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): When the function does not
20823         exist, don't set REPLACE_WCSRTOMBS to 1.
20824         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): When the function does not
20825         exist, don't set REPLACE_WCSNRTOMBS to 1.
20826
20827 2010-04-05  Bruno Haible  <bruno@clisp.org>
20828
20829         ldexpl: Improve idiom.
20830         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When the function is not declared,
20831         make sure to set HAVE_DECL_LDEXPL to 0.
20832
20833 2010-04-05  Jim Meyering  <meyering@redhat.com>
20834
20835         xstrtol-tests: convert to use init.sh
20836         * modules/xstrtol-tests (Files): Add tests/init.sh.
20837         * tests/test-xstrtol.sh: Invoke "$srcdir/init.sh" and path_prepend_.
20838         Use Exit, not exit.
20839         Remove uses of $EXEEXT and "./" to run a program in the current dir.
20840
20841         atexit-tests: convert to use init.sh
20842         * modules/atexit-tests (Files): Add tests/init.sh.
20843         * tests/test-atexit.sh: Invoke "$srcdir/init.sh" and path_prepend_.
20844         Use Exit, not exit.
20845         Remove uses of $EXEEXT and "./" to run a program in the current dir.
20846
20847         init.sh: fix typo
20848         * tests/init.sh: Restore omitted ":" before stderr_fileno_ initialization.
20849
20850         init.sh: make it easier for a test script to write to the tty, ...
20851         when using automake's parallel-tests mode.
20852         * tests/init.sh (stderr_fileno_): Define overridable variable.
20853         (warn_): New function, to use it.
20854         (fail_, skip_, framework_failure_): Use warn_.
20855
20856 2010-04-04  Bruno Haible  <bruno@clisp.org>
20857
20858         btowc: Avoid warning.
20859         * lib/btowc.c: Include <stdlib.h>.
20860         Reported by Hauke Fath <hauke@espresso.rhein-neckar.de>.
20861
20862 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
20863             Bruno Haible  <bruno@clisp.org>
20864
20865         wchar: Port to NetBSD 1.5.
20866         * lib/wchar.in.h (WEOF): Provide fallback also when wint_t exists.
20867         * lib/wctype.in.h (WEOF): Likewise.
20868
20869 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
20870             Bruno Haible  <bruno@clisp.org>
20871
20872         Port extended stdio to NetBSD 1.5.
20873         * lib/stdio-impl.h [NetBSD]: Include <sys/param.h>.
20874         (struct __sfileext, fp_ub): Define the "old way" for NetBSD 1.5Z and
20875         older.
20876
20877 2010-04-04  Bruno Haible  <bruno@clisp.org>
20878
20879         string: Remove unused substitution.
20880         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
20881         HAVE_DECL_STRERROR.
20882         * modules/string (Makefile.am): Don't substitute HAVE_DECL_STRERROR.
20883
20884 2010-04-04  Bruno Haible  <bruno@clisp.org>
20885
20886         strtod: Avoid a possible C++ test error.
20887         * m4/strtod.m4 (gl_FUNC_STRTOD): When setting HAVE_STRTOD to 0, don't
20888         set REPLACE_STRTOD.
20889
20890 2010-04-04  Bruno Haible  <bruno@clisp.org>
20891
20892         strerror: Update documentation.
20893         * doc/posix-functions/strerror.texi: Remove mention of old platforms.
20894
20895 2010-04-04  Bruno Haible  <bruno@clisp.org>
20896
20897         stdio: Fix some C++ test errors on Solaris 8 with GCC.
20898         * lib/stdio.in.h (vdprintf, vfprintf, vprintf, vsprintf): Use
20899         _GL_CXXALIAS_SYS_CAST.
20900
20901 2010-04-04  Bruno Haible  <bruno@clisp.org>
20902
20903         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
20904         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): When the
20905         function is not declared, set HAVE_DECL_FREXPL to 0, instead of setting
20906         REPLACE_FREXPL to 1.
20907         * doc/posix-functions/frexpl.texi: Update documentation.
20908
20909 2010-04-04  Bruno Haible  <bruno@clisp.org>
20910
20911         math: Fix some C++ test errors on Solaris 8 and Cygwin.
20912         * lib/math.in.h (cosl, logl, sinl): Use simpler idiom.
20913
20914 2010-04-04  Bruno Haible  <bruno@clisp.org>
20915
20916         Implement nanosleep for native Windows.
20917         * lib/nanosleep.c (nanosleep): New implementation for native Windows.
20918
20919 2010-04-04  Bruno Haible  <bruno@clisp.org>
20920
20921         math: Fix some C++ test errors on Solaris 8.
20922         * lib/math.in.h (truncf, trunc): Use simpler idiom.
20923
20924 2010-04-04  Bruno Haible  <bruno@clisp.org>
20925
20926         math: Fix some C++ test errors on Cygwin.
20927         * lib/math.in.h (ceilf, ceill, floorf, floorl, roundf, round, roundl,
20928         truncl): Provide declaration if the system does not have it.
20929         * m4/ceilf.m4 (gl_FUNC_CEILF): If the function is not declared, set
20930         HAVE_DECL_CEILF to 0, not REPLACE_CEILF to 1.
20931         * m4/ceill.m4 (gl_FUNC_CEILL): If the function is not declared, set
20932         HAVE_DECL_CEILL to 0, not REPLACE_CEILL to 1.
20933         * m4/floorf.m4 (gl_FUNC_FLOORF): If the function is not declared, set
20934         HAVE_DECL_FLOORF to 0, not REPLACE_FLOORF to 1.
20935         * m4/floorl.m4 (gl_FUNC_FLOORL): If the function is not declared, set
20936         HAVE_DECL_FLOORL to 0, not REPLACE_FLOORL to 1.
20937         * m4/round.m4 (gl_FUNC_ROUND): If the function is not declared, set
20938         HAVE_DECL_ROUND to 0, not REPLACE_ROUND to 1.
20939         * m4/roundf.m4 (gl_FUNC_ROUNDF): If the function is not declared, set
20940         HAVE_DECL_ROUNDF to 0, not REPLACE_ROUNDF to 1.
20941         * m4/roundl.m4 (gl_FUNC_ROUNDL): If the function is not declared, set
20942         HAVE_DECL_ROUNDL to 0, not REPLACE_ROUNDL to 1.
20943         * m4/truncl.m4 (gl_FUNC_TRUNCL): If the function is not declared, set
20944         HAVE_DECL_TRUNCL to 0, not REPLACE_TRUNCL to 1.
20945         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_CEILF,
20946         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
20947         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
20948         * modules/math (Makefile.am): Substitute HAVE_DECL_CEILF,
20949         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
20950         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
20951
20952 2010-04-04  Bruno Haible  <bruno@clisp.org>
20953
20954         * m4/ceilf.m4 (gl_FUNC_CEILF): Remove redundant AC_SUBST invocation.
20955         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
20956         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
20957         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
20958         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
20959         * m4/isinf.m4 (gl_ISINF): Likewise.
20960         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
20961
20962 2010-04-04  Bruno Haible  <bruno@clisp.org>
20963
20964         * m4/trunc.m4 (gl_FUNC_TRUNC): Remove redundant AC_SUBST invocation.
20965         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
20966
20967 2010-04-04  Bruno Haible  <bruno@clisp.org>
20968
20969         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Renamed from gl_TMPFILE.
20970         * modules/tmpfile (configure.ac): Update.
20971
20972         tmpfile: Fix C++ test error on mingw.
20973         * lib/stdio.in.h (tmpfile): New declaration.
20974         * m4/tmpfile.m4 (gl_TMPFILE): Require gl_STDIO_H_DEFAULTS. Set
20975         REPLACE_TMPFILE instead of defining tmpfile as a macro in config.h.
20976         * modules/tmpfile (Depends-on): Add stdio.
20977         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
20978         * m4/stdio_h.m4 (gl_STDIO_H): Also check whether tmpfile is declared.
20979         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_TMPFILE and REPLACE_TMPFILE.
20980         * modules/stdio (Makefile.am): Substitute GNULIB_TMPFILE and
20981         REPLACE_TMPFILE.
20982         * tests/test-stdio-c++.cc (tmpfile): Verify signature.
20983
20984 2010-04-04  Bruno Haible  <bruno@clisp.org>
20985
20986         ioctl: Fix C++ test error on mingw.
20987         * lib/ioctl.c (ioctl): Renamed from rpl_ioctl.
20988         * lib/sys_ioctl.in.h (ioctl): When SYS_IOCTL_H_HAVE_WINSOCK2_H is 1,
20989         use _GL_FUNCDECL_SYS, not _GL_FUNCDECL_RPL.
20990
20991 2010-04-03  Bruno Haible  <bruno@clisp.org>
20992
20993         wcwidth: Fix C++ test error on mingw.
20994         * lib/wcwidth.c (wcwidth): Renamed from rpl_wcwidth.
20995         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): If the wcwidth function does not
20996         exist, don't set REPLACE_WCWIDTH. Instead, rely on HAVE_DECL_WCWIDTH.
20997
20998 2010-04-03  Bruno Haible  <bruno@clisp.org>
20999
21000         nanosleep: Fix C++ test error on mingw.
21001         * lib/nanosleep.c (nanosleep): Renamed from rpl_nanosleep.
21002         * lib/time.in.h (nanosleep): Use modern idiom.
21003         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): When the system does not have a
21004         nanosleep function, set HAVE_NANOSLEEP to 0, instead of setting
21005         REPLACE_NANOSLEEP to 1.
21006         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_NANOSLEEP.
21007         * modules/time (Makefile.am): Substitute HAVE_NANOSLEEP.
21008
21009 2010-04-03  Bruno Haible  <bruno@clisp.org>
21010
21011         strptime: Fix C++ test error on mingw.
21012         * lib/time.in.h (strptime): Use HAVE_STRPTIME, not REPLACE_STRPTIME.
21013         * m4/strptime.m4 (gl_FUNC_STRPTIME): Set HAVE_STRPTIME, not
21014         REPLACE_STRPTIME. Invoke gl_PREREQ_STRPTIME.
21015         (gl_PREREQ_STRPTIME): New macro, extracted from gl_FUNC_STRPTIME.
21016         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_STRPTIME,
21017         not REPLACE_STRPTIME.
21018         * modules/time (Makefile.am): Substitute HAVE_STRPTIME, not
21019         REPLACE_STRPTIME.
21020
21021 2010-04-03  Bruno Haible  <bruno@clisp.org>
21022
21023         timegm: Fix C++ test error on mingw.
21024         * lib/time.in.h (timegm): Use modern idiom.
21025         * m4/timegm.m4 (gl_FUNC_TIMEGM): When timegm does not exist, set
21026         HAVE_TIMEGM to 0, not REPLACE_TIMEGM to 1.
21027         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_TIMEGM.
21028         * modules/time (Makefile.am): Substitute HAVE_TIMEGM.
21029
21030 2010-04-03  Bruno Haible  <bruno@clisp.org>
21031
21032         timegm: Assume declaration if function exists.
21033         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume timegm is declared if and only
21034         if it exists. Don't clobber ac_cv_func_timegm.
21035
21036 2010-04-03  Bruno Haible  <bruno@clisp.org>
21037
21038         time_r: Fix C++ test error on mingw.
21039         * lib/time.in.h (localtime_r, gmtime_r): Use modern idiom.
21040         * m4/time_r.m4 (gl_TIME_R): When localtime_r does not exist, set
21041         HAVE_LOCALTIME_R to 0, not REPLACE_LOCALTIME_R to 1.
21042         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_LOCALTIME_R.
21043         * modules/time (Makefile.am): Substitute HAVE_LOCALTIME_R.
21044
21045 2010-04-03  Bruno Haible  <bruno@clisp.org>
21046
21047         time_r: Minor updates.
21048         * modules/time_r (Description): Mention the provided functions.
21049         * lib/time_r.c: Don't include <string.h>.
21050         * doc/posix-functions/gmtime_r.texi: Mention the 'time_r' module.
21051         * doc/posix-functions/localtime_r.texi: Likewise.
21052
21053 2010-04-03  Bruno Haible  <bruno@clisp.org>
21054
21055         time: Fix regression introduced on 2010-03-08.
21056         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Require
21057         gl_HEADER_TIME_H_DEFAULTS, not gl_HEADER_STRING_H_DEFAULTS.
21058
21059 2010-04-03  Jim Meyering  <meyering@redhat.com>
21060
21061         maint.mk: don't silently disable project-specific syntax-check rules
21062         * top/maint.mk (_prohibit_regexp): Define, to help people realize
21063         that they need to convert their project-specific syntax-check rules
21064         to use the new _sc_search_regexp.
21065
21066 2010-04-03  Bruno Haible  <bruno@clisp.org>
21067
21068         fchdir: Fix regression introduced on 2010-03-08.
21069         * lib/unistd.in.h (fchdir): Fix declaration.
21070         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set HAVE_FCHDIR, not REPLACE_FCHDIR.
21071         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_FCHDIR, not
21072         REPLACE_FCHDIR.
21073         * modules/unistd (Makefile.am): Substitute HAVE_FCHDIR, not
21074         REPLACE_FCHDIR.
21075
21076 2010-04-03  Bruno Haible  <bruno@clisp.org>
21077
21078         getpagesize: Fix C++ test error on mingw.
21079         * lib/unistd.in.h (getpagesize): Don't use _GL_CXXALIASWARN if the
21080         system does not declare the function.
21081         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Also check whether it's
21082         declared.
21083         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
21084         HAVE_DECL_GETPAGESIZE.
21085         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETPAGESIZE.
21086
21087 2010-04-03  Bruno Haible  <bruno@clisp.org>
21088
21089         stdio: Make C++ tests work on mingw.
21090         * lib/stdio.in.h (getline): Don't use _GL_CXXALIASWARN if the system
21091         does not declare the function.
21092
21093 2010-04-03  Bruno Haible  <bruno@clisp.org>
21094
21095         ftello: Fix C++ test error on mingw.
21096         * lib/stdio.in.h (ftello): Use modern idiom.
21097         * lib/ftello.c (ftello): Renamed from rpl_ftello.
21098         * m4/ftello.m4 (gl_FUNC_FTELLO): Distinguish the case that the function
21099         is missing and that it needs to be replaced.
21100         (gl_REPLACE_FTELLO): Don't set REPLACE_FTELLO here.
21101         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FTELLO.
21102         * modules/stdio (Makefile.am): Substitute HAVE_FTELLO.
21103
21104 2010-04-03  Bruno Haible  <bruno@clisp.org>
21105
21106         fseeko: Fix C++ test error on mingw.
21107         * lib/stdio.in.h (fseeko): Use modern idiom.
21108         * lib/fseeko.c (fseeko): Renamed from rpl_fseeko.
21109         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Distinguish the case that the function
21110         is missing and that it needs to be replaced.
21111         (gl_REPLACE_FSEEKO): Don't set REPLACE_FSEEKO here.
21112         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FSEEKO.
21113         * modules/stdio (Makefile.am): Substitute HAVE_FSEEKO.
21114
21115 2010-04-03  Bruno Haible  <bruno@clisp.org>
21116
21117         mkstemp: Fix C++ test error on mingw.
21118         * lib/stdlib.in.h (mkstemp): Use modern idiom.
21119         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Distinguish the case that the
21120         function is missing and that it needs to be replaced.
21121         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_MKSTEMP.
21122         * modules/stdlib (Makefile.am): Substitute HAVE_MKSTEMP.
21123
21124 2010-04-03  Bruno Haible  <bruno@clisp.org>
21125
21126         stpncpy: Fix C++ test error on mingw.
21127         * lib/string.in.h (stpncpy): Use modern idiom.
21128         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Distinguish the case that the
21129         function is missing and that it needs to be replaced.
21130         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
21131         REPLACE_STPNCPY.
21132         * modules/string (Makefile.am): Substitute REPLACE_STPNCPY.
21133
21134 2010-04-03  Bruno Haible  <bruno@clisp.org>
21135
21136         sys_stat: Fix C++ test error on mingw.
21137         * build-aux/c++defs.h (_GL_CXXALIAS_RPL_CAST_1): New macro.
21138         * lib/sys_stat.in.h (lchmod): Use it instead of _GL_CXXALIAS_RPL_1.
21139
21140 2010-04-03  Bruno Haible  <bruno@clisp.org>
21141
21142         pty: Update doc.
21143         * doc/glibc-headers/pty.texi: Mention changes done since 2010-03-18.
21144
21145 2010-04-03  Bruno Haible  <bruno@clisp.org>
21146
21147         unistd: Fix C++ test error on mingw.
21148         * lib/unistd.in.h (getcwd): Use _GL_CXXALIAS_SYS_CAST.
21149
21150 2010-04-03  Bruno Haible  <bruno@clisp.org>
21151
21152         Update doc regarding mingw.
21153         * doc/glibc-functions/openpty.texi: Update regarding mingw.
21154         * doc/glibc-functions/login_tty.texi: Likewise.
21155         * doc/glibc-functions/forkpty.texi: Likewise.
21156
21157 2010-04-03  Bruno Haible  <bruno@clisp.org>
21158
21159         stdlib: Avoid compilation failure of c-strtold on mingw.
21160         * lib/stdlib.in.h: Don't include <unistd.h> on native Windows systems.
21161
21162 2010-04-03  Bruno Haible  <bruno@clisp.org>
21163
21164         locale: Make C++ tests work on Cygwin and mingw.
21165         * lib/locale.in.h (duplocale): Don't use _GL_CXXALIASWARN if gnulib
21166         cannot provide the function.
21167         Reported by Simon Josefsson.
21168
21169 2010-04-03  Bruno Haible  <bruno@clisp.org>
21170
21171         localename: Port to MacOS X 10.6.
21172         * lib/localename.c (gl_locale_name_thread_unsafe): On MacOS X, try the
21173         memory layout of the locales in MacOS X 10.6 as well.
21174         Reported by Panu Kekäläinen <panu@kekalainen.eu>.
21175
21176 2010-04-02  Bruno Haible  <bruno@clisp.org>
21177
21178         gnulib-tool: Ensure that long-running tests are executed last.
21179         * gnulib-tool (func_emit_tests_Makefile_am): Emit the code for long-
21180         running tests after the one for the other tests.
21181
21182 2010-04-02  Bruno Haible  <bruno@clisp.org>
21183
21184         gnulib-tool: Ensure the tests in the main directory are executed first.
21185         * gnulib-tool (func_emit_tests_Makefile_am): Initialize SUBDIRS to
21186         start with the current directory.
21187
21188 2010-04-02  Bruno Haible  <bruno@clisp.org>
21189
21190         Tests for module 'havelib', moved here from GNU gettext.
21191         * modules/havelib-tests: New file, from gettext/autoconf-lib-link with
21192         modifications.
21193         * tests/havelib/README: New file, from gettext/autoconf-lib-link.
21194         * tests/havelib/Makefile.am: New file, from gettext/autoconf-lib-link
21195         with modifications.
21196         * tests/havelib/rpath-1: New file, from gettext/autoconf-lib-link with
21197         modifications.
21198         * tests/havelib/rpath-1a: New file, from gettext/autoconf-lib-link.
21199         * tests/havelib/rpath-1b: New file, from gettext/autoconf-lib-link.
21200         * tests/havelib/rpath-2_a: New file, from gettext/autoconf-lib-link
21201         with modifications.
21202         * tests/havelib/rpath-2_b: New file, from gettext/autoconf-lib-link
21203         with modifications.
21204         * tests/havelib/rpath-2aaa: New file, from gettext/autoconf-lib-link.
21205         * tests/havelib/rpath-2aab: New file, from gettext/autoconf-lib-link.
21206         * tests/havelib/rpath-2aac: New file, from gettext/autoconf-lib-link.
21207         * tests/havelib/rpath-2aad: New file, from gettext/autoconf-lib-link.
21208         * tests/havelib/rpath-2aba: New file, from gettext/autoconf-lib-link.
21209         * tests/havelib/rpath-2abb: New file, from gettext/autoconf-lib-link.
21210         * tests/havelib/rpath-2abc: New file, from gettext/autoconf-lib-link.
21211         * tests/havelib/rpath-2abd: New file, from gettext/autoconf-lib-link.
21212         * tests/havelib/rpath-2baa: New file, from gettext/autoconf-lib-link.
21213         * tests/havelib/rpath-2bab: New file, from gettext/autoconf-lib-link.
21214         * tests/havelib/rpath-2bac: New file, from gettext/autoconf-lib-link.
21215         * tests/havelib/rpath-2bad: New file, from gettext/autoconf-lib-link.
21216         * tests/havelib/rpath-2bba: New file, from gettext/autoconf-lib-link.
21217         * tests/havelib/rpath-2bbb: New file, from gettext/autoconf-lib-link.
21218         * tests/havelib/rpath-2bbc: New file, from gettext/autoconf-lib-link.
21219         * tests/havelib/rpath-2bbd: New file, from gettext/autoconf-lib-link.
21220         * tests/havelib/rpath-3_a: New file, from gettext/autoconf-lib-link
21221         with modifications.
21222         * tests/havelib/rpath-3_b: New file, from gettext/autoconf-lib-link
21223         with modifications.
21224         * tests/havelib/rpath-3aaa: New file, from gettext/autoconf-lib-link.
21225         * tests/havelib/rpath-3aab: New file, from gettext/autoconf-lib-link.
21226         * tests/havelib/rpath-3aac: New file, from gettext/autoconf-lib-link.
21227         * tests/havelib/rpath-3aad: New file, from gettext/autoconf-lib-link.
21228         * tests/havelib/rpath-3aae: New file, from gettext/autoconf-lib-link.
21229         * tests/havelib/rpath-3aaf: New file, from gettext/autoconf-lib-link.
21230         * tests/havelib/rpath-3aag: New file, from gettext/autoconf-lib-link.
21231         * tests/havelib/rpath-3aah: New file, from gettext/autoconf-lib-link.
21232         * tests/havelib/rpath-3aba: New file, from gettext/autoconf-lib-link.
21233         * tests/havelib/rpath-3abb: New file, from gettext/autoconf-lib-link.
21234         * tests/havelib/rpath-3abc: New file, from gettext/autoconf-lib-link.
21235         * tests/havelib/rpath-3abd: New file, from gettext/autoconf-lib-link.
21236         * tests/havelib/rpath-3abe: New file, from gettext/autoconf-lib-link.
21237         * tests/havelib/rpath-3abf: New file, from gettext/autoconf-lib-link.
21238         * tests/havelib/rpath-3abg: New file, from gettext/autoconf-lib-link.
21239         * tests/havelib/rpath-3abh: New file, from gettext/autoconf-lib-link.
21240         * tests/havelib/rpath-3baa: New file, from gettext/autoconf-lib-link.
21241         * tests/havelib/rpath-3bab: New file, from gettext/autoconf-lib-link.
21242         * tests/havelib/rpath-3bac: New file, from gettext/autoconf-lib-link.
21243         * tests/havelib/rpath-3bad: New file, from gettext/autoconf-lib-link.
21244         * tests/havelib/rpath-3bae: New file, from gettext/autoconf-lib-link.
21245         * tests/havelib/rpath-3baf: New file, from gettext/autoconf-lib-link.
21246         * tests/havelib/rpath-3bag: New file, from gettext/autoconf-lib-link.
21247         * tests/havelib/rpath-3bah: New file, from gettext/autoconf-lib-link.
21248         * tests/havelib/rpath-3bba: New file, from gettext/autoconf-lib-link.
21249         * tests/havelib/rpath-3bbb: New file, from gettext/autoconf-lib-link.
21250         * tests/havelib/rpath-3bbc: New file, from gettext/autoconf-lib-link.
21251         * tests/havelib/rpath-3bbd: New file, from gettext/autoconf-lib-link.
21252         * tests/havelib/rpath-3bbe: New file, from gettext/autoconf-lib-link.
21253         * tests/havelib/rpath-3bbf: New file, from gettext/autoconf-lib-link.
21254         * tests/havelib/rpath-3bbg: New file, from gettext/autoconf-lib-link.
21255         * tests/havelib/rpath-3bbh: New file, from gettext/autoconf-lib-link.
21256         * tests/havelib/rpathx/rpathx.c: New file, from
21257         gettext/autoconf-lib-link.
21258         * tests/havelib/rpathx/Makefile.am: New file, from
21259         gettext/autoconf-lib-link.
21260         * tests/havelib/rpathx/configure.ac: New file, from
21261         gettext/autoconf-lib-link with modifications.
21262         * tests/havelib/rpathy/rpathy.c: New file, from
21263         gettext/autoconf-lib-link.
21264         * tests/havelib/rpathy/Makefile.am: New file, from
21265         gettext/autoconf-lib-link.
21266         * tests/havelib/rpathy/configure.ac: New file, from
21267         gettext/autoconf-lib-link with modifications.
21268         * tests/havelib/rpathz/rpathz.c: New file, from
21269         gettext/autoconf-lib-link.
21270         * tests/havelib/rpathz/Makefile.am: New file, from
21271         gettext/autoconf-lib-link.
21272         * tests/havelib/rpathz/configure.ac: New file, from
21273         gettext/autoconf-lib-link with modifications.
21274         * tests/havelib/rpathlx/usex.c: New file, from
21275         gettext/autoconf-lib-link.
21276         * tests/havelib/rpathlx/Makefile.am: New file, from
21277         gettext/autoconf-lib-link.
21278         * tests/havelib/rpathlx/configure.ac: New file, from
21279         gettext/autoconf-lib-link with modifications.
21280         * tests/havelib/rpathly/usey.c: New file, from
21281         gettext/autoconf-lib-link.
21282         * tests/havelib/rpathly/Makefile.am: New file, from
21283         gettext/autoconf-lib-link.
21284         * tests/havelib/rpathly/configure.ac: New file, from
21285         gettext/autoconf-lib-link with modifications.
21286         * tests/havelib/rpathlz/usez.c: New file, from
21287         gettext/autoconf-lib-link.
21288         * tests/havelib/rpathlz/Makefile.am: New file, from
21289         gettext/autoconf-lib-link.
21290         * tests/havelib/rpathlz/configure.ac: New file, from
21291         gettext/autoconf-lib-link with modifications.
21292         * tests/havelib/rpathlyx/usey.c: New file, from
21293         gettext/autoconf-lib-link.
21294         * tests/havelib/rpathlyx/Makefile.am: New file, from
21295         gettext/autoconf-lib-link.
21296         * tests/havelib/rpathlyx/configure.ac: New file, from
21297         gettext/autoconf-lib-link with modifications.
21298         * tests/havelib/rpathlzyx/usez.c: New file, from
21299         gettext/autoconf-lib-link.
21300         * tests/havelib/rpathlzyx/Makefile.am: New file, from
21301         gettext/autoconf-lib-link.
21302         * tests/havelib/rpathlzyx/configure.ac: New file, from
21303         gettext/autoconf-lib-link with modifications.
21304         * tests/havelib/rpathcfg.sh: New file, from gettext/autoconf-lib-link
21305         with modifications.
21306
21307 2010-04-02  Bruno Haible  <bruno@clisp.org>
21308
21309         gnulib-tool: Create distributed built sources also for the tests.
21310         * gnulib-tool (func_create_testdir): Also generate distributed built
21311         sources in the tests directory.
21312
21313 2010-04-02  Bruno Haible  <bruno@clisp.org>
21314
21315         gnulib-tool: Obey user's environment variables.
21316         * gnulib-tool (func_create_testdir): When creating built sources,
21317         respect the environment variables for autoconf, automake, etc. given by
21318         the user.
21319
21320 2010-04-02  Bruno Haible  <bruno@clisp.org>
21321
21322         gnulib-tool: Provide the value of --m4-base to modules.
21323         * gnulib-tool (func_import, func_create_testdir): Emit a definition
21324         of gl_m4_base.
21325
21326 2010-04-02  Eric Blake  <eblake@redhat.com>
21327
21328         maint.mk: fix some fallout
21329         * NEWS: Document the incompatible change, and its effect on cfg.mk.
21330         * top/maint.mk (sc_prohibit_test_minus_ao): Update.
21331
21332 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
21333
21334         maint.mk: _sc_search_regexp: generalize and rename from _prohibit_regexp
21335         * top/maint.mk (_sc_search_regexp): Rename from _prohibit_regexp.
21336         (sc_cast_of_argument_to_free): Adapt to use _sc_search_regexp.
21337         (sc_cast_of_x_alloc_return_value): Likewise.
21338         (sc_cast_of_alloca_return_value): Likewise.
21339         (sc_space_tab): Likewise.
21340         (sc_prohibit_atoi_atof): Likewise.
21341         (sc_prohibit_magic_number_exit): Likewise.
21342         (sc_error_exit_success): Likewise.
21343         (sc_file_system): Likewise.
21344         (sc_prohibit_have_config_h): Likewise.
21345         (sc_require_config_h): Likewise.
21346         (sc_prohibit_HAVE_MBRTOWC): Likewise.
21347         (sc_obsolete_symbols): Likewise.
21348         (sc_changelog): Likewise.
21349         (sc_program_name): Likewise.
21350         (sc_the_the): Likewise.
21351         (sc_trailing_blank): Likewise.
21352         (sc_two_space_separator_in_usage): Likewise.
21353         (sc_useless_cpp_parens): Likewise.
21354         (sc_GPL_version): Likewise.
21355         (sc_GFDL_version): Likewise.
21356         (sc_texinfo_acronym): Likewise.
21357         (sc_prohibit_cvs_keyword): Likewise.
21358         (sc_prohibit_stat_st_blocks): Likewise.
21359         (sc_prohibit_S_IS_definition): Likewise.
21360         (sc_redundant_const): Likewise.
21361         (sc_makefile_TAB_only_indentation): Likewise.
21362         (sc_m4_quote_check): Likewise.
21363         (sc_makefile_path_separator_check): Likewise.
21364         (sc_copyright_check): Likewise.
21365         (sc_Wundef_boolean): Likewise.
21366         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
21367
21368         maint.mk: match 0 or more whitespace-before-function-call '('
21369         * top/maint.mk (sc_error_exit_success): Relax regexp to match uses
21370         that have zero or two-and-more spaces between the function name
21371         and the open parenthesis.
21372         (sc_error_message_warn_fatal): Likewise.
21373         (sc_error_message_uppercase): Likewise.
21374         (sc_error_message_period): Likewise.
21375
21376 2010-03-31  Eric Blake  <eblake@redhat.com>
21377
21378         maint.mk: check for [ as well as test
21379         * top/maint.mk (sc_prohibit_test_minus_ao): Extend test.
21380         Based on a libvirt report by Matthias Bolte.
21381
21382         gnumakefile: don't squelch _version output
21383         * top/GNUmakefile (_version): Create one-shot dependency rather
21384         than using $(shell) when version must be regenerated.
21385         (_autoreconf): Run verbosely, by default.
21386
21387         sys_time: avoid compiler warnings
21388         * lib/sys_time.in.h (includes): Ensure gcc pragma is
21389         unconditional, fixing regression from 2010-03-29.
21390         Reported by Simon Josefsson.
21391
21392 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
21393
21394         maint.mk: s/_header_without_use/_sc_header_without_use/
21395         * top/maint.mk (_sc_header_without_use): Rename from _header_without_use.
21396         (sc_prohibit_assert_without_use): Use the new name.
21397         (sc_prohibit_close_stream_without_use): Likewise.
21398         (sc_prohibit_getopt_without_use): Likewise.
21399         (sc_prohibit_quotearg_without_use): Likewise.
21400         (sc_prohibit_quote_without_use): Likewise.
21401         (sc_prohibit_long_options_without_use): Likewise.
21402         (sc_prohibit_inttostr_without_use): Likewise.
21403         (sc_prohibit_ignore_value_without_use): Likewise.
21404         (sc_prohibit_error_without_use): Likewise.
21405         (sc_prohibit_xalloc_without_use): Likewise.
21406         (sc_prohibit_hash_without_use): Likewise.
21407         (sc_prohibit_hash_pjw_without_use): Likewise.
21408         (sc_prohibit_safe_read_without_use): Likewise.
21409         (sc_prohibit_argmatch_without_use): Likewise.
21410         (sc_prohibit_canonicalize_without_use): Likewise.
21411         (sc_prohibit_root_dev_ino_without_use): Likewise.
21412         (sc_prohibit_openat_without_use): Likewise.
21413         (sc_prohibit_c_ctype_without_use): Likewise.
21414         (sc_prohibit_signal_without_use): Likewise.
21415         (sc_prohibit_intprops_without_use): Likewise.
21416
21417 2010-03-30  Eric Blake  <eblake@redhat.com>
21418
21419         maint: improve module indicators
21420         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE)
21421         (gl_MODULE_INDICATOR, gl_MODULE_INDICATOR_FOR_TESTS): Fit in 80
21422         columns, and avoid extra macro expansion.
21423
21424         fdopendir: work around FreeBSD bug
21425         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
21426         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Set it.
21427         * modules/dirent (Makefile.am): Substitute it.
21428         * lib/dirent.in.h (fdopendir): Supply missing FreeBSD
21429         declaration.
21430         * doc/posix-functions/fdopendir.texi (fdopendir): Document the
21431         fix.
21432         Reported by Christian Weisgerber <naddy@mips.inka.de>.
21433
21434 2010-03-29  Bruno Haible  <bruno@clisp.org>
21435
21436         Emit #pragma system_header after the inclusion guard, not before.
21437         * lib/arpa_inet.in.h: Emit #pragma system_header after the inclusion
21438         guard that spans the entire file, not before. This enables an
21439         optimization in GCC's preprocessor.
21440         * lib/ctype.in.h: Likewise.
21441         * lib/dirent.in.h: Likewise.
21442         * lib/errno.in.h: Likewise.
21443         * lib/float.in.h: Likewise.
21444         * lib/getopt.in.h: Likewise.
21445         * lib/iconv.in.h: Likewise.
21446         * lib/langinfo.in.h: Likewise.
21447         * lib/locale.in.h: Likewise.
21448         * lib/math.in.h: Likewise.
21449         * lib/netdb.in.h: Likewise.
21450         * lib/netinet_in.in.h: Likewise.
21451         * lib/pty.in.h: Likewise.
21452         * lib/sched.in.h: Likewise.
21453         * lib/se-selinux.in.h: Likewise.
21454         * lib/search.in.h: Likewise.
21455         * lib/spawn.in.h: Likewise.
21456         * lib/stdarg.in.h: Likewise.
21457         * lib/stdint.in.h: Likewise.
21458         * lib/string.in.h: Likewise.
21459         * lib/strings.in.h: Likewise.
21460         * lib/sys_file.in.h: Likewise.
21461         * lib/sys_ioctl.in.h: Likewise.
21462         * lib/sys_time.in.h: Likewise.
21463         * lib/sys_times.in.h: Likewise.
21464         * lib/sys_utsname.in.h: Likewise.
21465         * lib/sys_wait.in.h: Likewise.
21466         * lib/sysexits.in.h: Likewise.
21467         * lib/wctype.in.h: Likewise.
21468
21469 2010-03-28  James Youngman  <jay@gnu.org>
21470
21471         save-cwd: don't leak a file descriptor when the caller execs.
21472         * lib/save-cwd.c (save_cwd): set the close-on-exec flag for the
21473         saved file descriptor.
21474         * modules/save-cwd (Depends-on): Depend on cloexec.
21475
21476 2010-03-29  Bruno Haible  <bruno@clisp.org>
21477
21478         Remove vestiges of fts-lgpl module.
21479         * lib/fts_.h: Assume GNULIB_FTS is 1.
21480         * lib/fts.c: Likewise.
21481         * modules/fts (configure.ac): Remove gl_MODULE_INDICATOR invocation.
21482
21483 2010-03-28  Bruno Haible  <bruno@clisp.org>
21484
21485         Fix definition of tests witness macro.
21486         * gnulib-tool (func_import): Fix definition of witness macro.
21487
21488 2010-03-28  Bruno Haible  <bruno@clisp.org>
21489
21490         Fix ioctl's protoype on glibc systems.
21491         * lib/sys_ioctl.in.h (ioctl): If REPLACE_IOCTL is 1, use a wrapper. Use
21492         _GL_CXXALIAS_SYS, not _GL_CXXALIAS_SYS_CAST.
21493         * lib/ioctl.c (rpl_ioctl) [HAVE_IOCTL]: New wrapper.
21494         * modules/ioctl (configure.ac): Test whether ioctl has the POSIX
21495         signature. If not, arrange to replace the ioctl function.
21496         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
21497         REPLACE_IOCTL.
21498         * modules/sys_ioctl (Makefile.am): Substitute REPLACE_IOCTL.
21499         * doc/posix-functions/ioctl.texi: Mention the glibc problem.
21500         Reported by Ludovic Courtès <ludo@gnu.org>.
21501
21502 2010-03-28  Javier Villavicencio  <the_paya@gentoo.org>
21503
21504         exclude: fix the case of globs vs. EXCLUDE_INCLUDE
21505         * lib/exclude.c (excluded_file_pattern_p): Fix logic error that
21506         made it so grep -r --include=GLOB* ... did not work.
21507
21508 2010-03-26  Jim Meyering  <meyering@redhat.com>
21509             Eric Blake  <eblake@redhat.com>
21510
21511         maint.mk: prohibit use of test's -o and -a operators
21512         * top/maint.mk (sc_prohibit_test_minus_ao): New rule.
21513
21514 2010-03-28  Bruno Haible  <bruno@clisp.org>
21515
21516         Remove unused GNULIB_XYZ macro definitions.
21517         * modules/crypto/gc-camellia (configure.ac): Remove gl_MODULE_INDICATOR
21518         invocation.
21519
21520 2010-03-28  Bruno Haible  <bruno@clisp.org>
21521
21522         Mark privileged tests modules.
21523         * modules/idpriv-drop-tests (Status): New section.
21524         * modules/idpriv-droptemp-tests (Status): New section.
21525
21526 2010-03-28  Bruno Haible  <bruno@clisp.org>
21527
21528         Split C++ tests into separate tests modules.
21529         * modules/dirent-c++-tests: New file, extracted from
21530         modules/dirent-tests.
21531         * modules/dirent-tests: Depend on it.
21532         * modules/fcntl-h-c++-tests: New file, extracted from
21533         modules/fcntl-h-tests.
21534         * modules/fcntl-h-tests: Depend on it.
21535         * modules/glob-c++-tests: New file, extracted from modules/glob-tests.
21536         * modules/glob-tests: Depend on it.
21537         * modules/iconv-h-c++-tests: New file, extracted from
21538         modules/iconv-h-tests.
21539         * modules/iconv-h-tests: Depend on it.
21540         * modules/langinfo-c++-tests: New file, extracted from
21541         modules/langinfo-tests.
21542         * modules/langinfo-tests: Depend on it.
21543         * modules/locale-c++-tests: New file, extracted from
21544         modules/locale-tests.
21545         * modules/locale-tests: Depend on it.
21546         * modules/math-c++-tests: New file, extracted from modules/math-tests.
21547         * modules/math-tests: Depend on it.
21548         * modules/pty-c++-tests: New file, extracted from modules/pty-tests.
21549         * modules/pty-tests: Depend on it.
21550         * modules/search-c++-tests: New file, extracted from
21551         modules/search-tests.
21552         * modules/search-tests: Depend on it.
21553         * modules/signal-c++-tests: New file, extracted from
21554         modules/signal-tests.
21555         * modules/signal-tests: Depend on it.
21556         * modules/spawn-c++-tests: New file, extracted from
21557         modules/spawn-tests.
21558         * modules/spawn-tests: Depend on it.
21559         * modules/stdio-c++-tests: New file, extracted from
21560         modules/stdio-tests.
21561         * modules/stdio-tests: Depend on it.
21562         * modules/stdlib-c++-tests: New file, extracted from
21563         modules/stdlib-tests.
21564         * modules/stdlib-tests: Depend on it.
21565         * modules/string-c++-tests: New file, extracted from
21566         modules/string-tests.
21567         * modules/string-tests: Depend on it.
21568         * modules/sys_ioctl-c++-tests: New file, extracted from
21569         modules/sys_ioctl-tests.
21570         * modules/sys_ioctl-tests: Depend on it.
21571         * modules/sys_select-c++-tests: New file, extracted from
21572         modules/sys_select-tests.
21573         * modules/sys_select-tests: Depend on it.
21574         * modules/sys_socket-c++-tests: New file, extracted from
21575         modules/sys_socket-tests.
21576         * modules/sys_socket-tests: Depend on it.
21577         * modules/sys_stat-c++-tests: New file, extracted from
21578         modules/sys_stat-tests.
21579         * modules/sys_stat-tests: Depend on it.
21580         * modules/sys_time-c++-tests: New file, extracted from
21581         modules/sys_time-tests.
21582         * modules/sys_time-tests: Depend on it.
21583         * modules/time-c++-tests: New file, extracted from modules/time-tests.
21584         * modules/time-tests: Depend on it.
21585         * modules/unistd-c++-tests: New file, extracted from
21586         modules/unistd-tests.
21587         * modules/unistd-tests: Depend on it.
21588         * modules/wchar-c++-tests: New file, extracted from
21589         modules/wchar-tests.
21590         * modules/wchar-tests: Depend on it.
21591         * modules/wctype-c++-tests: New file, extracted from
21592         modules/wctype-tests.
21593         * modules/wctype-tests: Depend on it.
21594         Reported by Simon Josefsson.
21595
21596 2010-03-28  Bruno Haible  <bruno@clisp.org>
21597
21598         gnulib-tool: Allow 'foo-tests' module even if there is no module 'foo'.
21599         * gnulib-tool (func_exists_module): New function, extracted from
21600         func_verify_module.
21601         (func_verify_module): Use it.
21602         (func_get_dependencies): Synthetize a dependency from 'foo-tests' to
21603         'foo' only if 'foo' exists.
21604         * doc/gnulib.texi (Extra tests modules): Explain how to split a tests
21605         module.
21606
21607 2010-03-28  Bruno Haible  <bruno@clisp.org>
21608
21609         gnulib-tool: Add support for special categories of tests.
21610         * gnulib-tool: New options --with-c++-tests, --with-longrunning-tests,
21611         --with-privileged-tests, --with-unportable-tests, --with-all-tests.
21612         (func_usage): Document them.
21613         (inc_cxx_tests, inc_longrunning_tests, inc_privileged_tests,
21614         inc_unportable_tests, inc_all_tests): New variables.
21615         (func_acceptable): Consider these variables.
21616         (func_modules_transitive_closure): Make it work when the 'Status' field
21617         consists of multiple words.
21618         (func_import): Store and restore the values of inc_cxx_tests,
21619         inc_longrunning_tests, inc_privileged_tests, inc_unportable_tests,
21620         inc_all_tests in gnulib-comp.m4.
21621         (func_create_testdir): Set inc_all_tests to true.
21622         * doc/gnulib.texi (Extra tests modules): New section.
21623         Suggested by Jim Meyering.
21624
21625 2010-03-28  Bruno Haible  <bruno@clisp.org>
21626
21627         ansi-c++-opt: Allow turning off the C++ build by default.
21628         * m4/ansi-c++.m4 (gl_CXX_CHOICE): Let CXX_CHOICE default to 'no' if
21629         gl_CXX_CHOICE_DEFAULT_NO is defined.
21630         Requested by Eric Blake.
21631
21632 2010-03-28  Bruno Haible  <bruno@clisp.org>
21633
21634         unistd: Avoid #define replacements in C++ mode.
21635         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
21636         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
21637         setsockopt, shutdown, select): In C++, attach a warning to the function
21638         if possible, rather than #defining the symbol to a dysfunctional alias.
21639         Reported by John W. Eaton <jwe@gnu.org>.
21640
21641 2010-03-28  Bruno Haible  <bruno@clisp.org>
21642
21643         Fix link errors on mingw.
21644         * lib/sys_ioctl.in.h (ioctl): Fix declaration idiom.
21645         * modules/sys_ioctl-tests (Makefile.am): Link test-sys_ioctl-c++ with
21646         $(LIBSOCKET).
21647         * modules/sys_select-tests (Makefile.am): Link test-sys_select-c++ with
21648         $(LIBSOCKET).
21649
21650 2010-03-28  Bruno Haible  <bruno@clisp.org>
21651             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
21652
21653         lib-ignore: Determine different options for different compilers.
21654         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Set a variable which
21655         depends on the current language (C/C++/Fortran). Don't set LDFLAGS.
21656         Add comments.
21657         (_gl_IGNORE_UNUSED_LIBRARIES_OPTIONS): New macro.
21658         * NEWS: Mention the change.
21659
21660 2010-03-27  Bruno Haible  <bruno@clisp.org>
21661
21662         Remove unused GNULIB_XYZ macro definitions.
21663         * modules/dup3 (configure.ac): Remove gl_MODULE_INDICATOR invocation.
21664         * modules/fseek (configure.ac): Likewise.
21665         * modules/ioctl (configure.ac): Likewise.
21666         * modules/open (configure.ac): Likewise.
21667         * modules/stdlib-safer (configure.ac): Likewise.
21668
21669 2010-03-27  Bruno Haible  <bruno@clisp.org>
21670
21671         Add a remark about certain modules.
21672         * modules/malloc (Comment): New section.
21673         * modules/realloc (Comment): Likewise.
21674         * modules/sigpipe (Comment): Likewise.
21675
21676 2010-03-27  Bruno Haible  <bruno@clisp.org>
21677
21678         Resolve conflict between the two kinds of module indicators.
21679         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Define
21680         GNULIB_TEST_XYZ instead of GNULIB_XYZ.
21681         * modules/canonicalize (configure.ac): Invoke
21682         gl_MODULE_INDICATOR_FOR_TESTS.
21683         * tests/test-canonicalize-lgpl.c: Test GNULIB_TEST_XYZ instead of
21684         GNULIB_XYZ.
21685         * tests/test-dirent-c++.cc: Likewise.
21686         * tests/test-dirent-safer.c: Likewise.
21687         * tests/test-dup2.c: Likewise.
21688         * tests/test-fchdir.c: Likewise.
21689         * tests/test-fcntl-h-c++.cc: Likewise.
21690         * tests/test-getopt.c: Likewise.
21691         * tests/test-getopt.h: Likewise.
21692         * tests/test-langinfo-c++.cc: Likewise.
21693         * tests/test-locale-c++.cc: Likewise.
21694         * tests/test-math-c++.cc: Likewise.
21695         * tests/test-pty-c++.cc: Likewise.
21696         * tests/test-search-c++.cc: Likewise.
21697         * tests/test-signal-c++.cc: Likewise.
21698         * tests/test-spawn-c++.cc: Likewise.
21699         * tests/test-stdio-c++.cc: Likewise.
21700         * tests/test-stdlib-c++.cc: Likewise.
21701         * tests/test-string-c++.cc: Likewise.
21702         * tests/test-sys_ioctl-c++.cc: Likewise.
21703         * tests/test-sys_select-c++.cc: Likewise.
21704         * tests/test-sys_socket-c++.cc: Likewise.
21705         * tests/test-sys_stat-c++.cc: Likewise.
21706         * tests/test-sys_time-c++.cc: Likewise.
21707         * tests/test-time-c++.cc: Likewise.
21708         * tests/test-unistd-c++.cc: Likewise.
21709         * tests/test-wchar-c++.cc: Likewise.
21710         * tests/uninorm/test-u8-nfc.c: Likewise.
21711         * tests/uninorm/test-u8-nfd.c: Likewise.
21712         * tests/uninorm/test-u8-nfkc.c: Likewise.
21713         * tests/uninorm/test-u8-nfkd.c: Likewise.
21714         * tests/uninorm/test-u16-nfc.c: Likewise.
21715         * tests/uninorm/test-u16-nfd.c: Likewise.
21716         * tests/uninorm/test-u16-nfkc.c: Likewise.
21717         * tests/uninorm/test-u16-nfkd.c: Likewise.
21718         * tests/uninorm/test-u32-nfc.c: Likewise.
21719         * tests/uninorm/test-u32-nfc-big.c: Likewise.
21720         * tests/uninorm/test-u32-nfd.c: Likewise.
21721         * tests/uninorm/test-u32-nfd-big.c: Likewise.
21722         * tests/uninorm/test-u32-nfkc.c: Likewise.
21723         * tests/uninorm/test-u32-nfkc-big.c: Likewise.
21724         * tests/uninorm/test-u32-nfkd.c: Likewise.
21725         * tests/uninorm/test-u32-nfkd-big.c: Likewise.
21726         * tests/uninorm/test-u32-normalize-big.c: Likewise.
21727
21728 2010-03-27  Bruno Haible  <bruno@clisp.org>
21729
21730         Distinguish two kinds of module indicators.
21731         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Renamed from
21732         gl_MODULE_INDICATOR.
21733         (gl_MODULE_INDICATOR): New macro.
21734         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
21735         gl_MODULE_INDICATOR_FOR_TESTS instead of gl_MODULE_INDICATOR.
21736         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
21737         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
21738         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
21739         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
21740         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
21741         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
21742         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
21743         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
21744         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
21745         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
21746         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
21747         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
21748         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
21749         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
21750         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
21751         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
21752         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
21753         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
21754         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
21755         * modules/cloexec (configure.ac): Likewise.
21756         * modules/getopt-gnu (configure.ac): Likewise.
21757         * modules/uninorm/u8-normalize (configure.ac): Likewise.
21758         * modules/uninorm/u16-normalize (configure.ac): Likewise.
21759         * modules/uninorm/u32-normalize (configure.ac): Likewise.
21760         * modules/fdopendir (configure.ac): Invoke gl_MODULE_INDICATOR.
21761
21762 2010-03-27  Bruno Haible  <bruno@clisp.org>
21763
21764         New module description field 'Comment'.
21765         * gnulib-tool: New option --extract-comment.
21766         (func_usage): Document it.
21767         (sed_extract_prog, sed_extract_field_header): Support 'Comment' field.
21768         (func_get_comment): New function.
21769         * modules/TEMPLATE-EXTENDED: Add a blank Comment field.
21770
21771 2010-03-27  Bruno Haible  <bruno@clisp.org>
21772
21773         Addendum to 2010-02-07 commit.
21774         * gnulib-tool (func_usage): Document --extract-applicability option.
21775
21776 2010-03-27  Bruno Haible  <bruno@clisp.org>
21777
21778         Use GNULIB_POSIXCHECK instead of GNULIB_PORTCHECK.
21779         * lib/time.in.h (asctime, asctime_r, ctime, ctime_r): Test
21780         GNULIB_POSIXCHECK, not GNULIB_PORTCHECK. Provide compile-time warnings
21781         rather than link errors.
21782
21783 2010-03-27  Bruno Haible  <bruno@clisp.org>
21784
21785         Avoid side effects from tests-related modules on the compilation of lib.
21786         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): New macro.
21787         (gl_MODULE_INDICATOR_SET_VARIABLE): Use its expansion as a value.
21788         * gnulib-tool (func_emit_tests_Makefile_am): Accept a witness_macro
21789         parameter. Emit into AM_CPPFLAGS a definition of the designated C
21790         macro.
21791         (func_import): Define a witness macro. Assign it a value that depends
21792         on the current package. Override gl_MODULE_INDICATOR_CONDITION for the
21793         tests-related modules.
21794         (func_create_testdir): Update func_emit_tests_Makefile_am invocation.
21795         Reported by Jim Meyering.
21796
21797 2010-03-27  Bruno Haible  <bruno@clisp.org>
21798
21799         Factorize common .m4 code.
21800         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE): New macro.
21801         * m4/arpa_inet_h.m4 (gl_ARPA_INET_MODULE_INDICATOR): Use it.
21802         * m4/ctype.m4 (gl_CTYPE_MODULE_INDICATOR): Likewise.
21803         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Likewise.
21804         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
21805         * m4/iconv_h.m4 (gl_ICONV_MODULE_INDICATOR): Likewise.
21806         * m4/inttypes.m4 (gl_INTTYPES_MODULE_INDICATOR): Likewise.
21807         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
21808         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
21809         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
21810         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Likewise.
21811         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
21812         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
21813         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
21814         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
21815         * m4/stddef_h.m4 (gl_STDDEF_MODULE_INDICATOR): Likewise.
21816         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
21817         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
21818         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
21819         * m4/strings_h.m4 (gl_STRINGS_MODULE_INDICATOR): Likewise.
21820         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_MODULE_INDICATOR): Likewise.
21821         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
21822         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
21823         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
21824         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
21825         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
21826         * m4/sys_times_h.m4 (gl_SYS_TIMES_MODULE_INDICATOR): Likewise.
21827         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_MODULE_INDICATOR): Likewise.
21828         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Likewise.
21829         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
21830         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
21831         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
21832
21833 2010-03-27  Bruno Haible  <bruno@clisp.org>
21834
21835         Fix a compilation error on Cygwin with g++ >= 4.3.
21836         * lib/sys_stat.in.h (lchmod): Don't warn about the use of this function
21837         if it is undefined or if we alias it to chmod.
21838         (lstat): Don't warn about the use of this function if it is undefined
21839         or if we alias it to stat.
21840         Reported by Simon Josefsson.
21841
21842 2010-03-27  Bruno Haible  <bruno@clisp.org>
21843
21844         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Renamed from gl_GETLOGIN.
21845         * modules/getlogin (configure.ac): Update.
21846
21847         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Renamed from gl_GETLOGIN_R.
21848         * modules/getlogin_r (configure.ac): Update.
21849
21850         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Renamed from gl_INET_NTOP.
21851         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Update.
21852         * modules/inet_ntop (configure.ac): Update.
21853
21854         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Renamed from gl_INET_PTON.
21855         * modules/inet_pton (configure.ac): Update.
21856
21857         * m4/mbslen.m4 (gl_FUNC_MBSLEN): Renamed from gl_MBSLEN.
21858         * modules/mbslen (configure.ac): Update.
21859
21860         * m4/pty.m4 (gl_FUNC_FORKPTY): Renamed from gl_FORKPTY.
21861         (gl_FUNC_OPENPTY): Renamed from gl_OPENPTY.
21862         * modules/forkpty (configure.ac): Update.
21863         * modules/openpty (configure.ac): Update.
21864
21865 2010-03-26  Simon Josefsson  <simon@josefsson.org>
21866
21867         * top/maint.mk (sc_texinfo_acronym): Don't infloop if there is
21868         no *.texi files.  Reported by Eric Blake <eblake@redhat.com>.
21869
21870 2010-03-25  Eric Blake  <eblake@redhat.com>
21871
21872         maint: use pragma consistently across replacement headers
21873         * lib/ctype.in.h (system_header): Hoist for consistent placement.
21874         * lib/dirent.in.h (system_header): Likewise.
21875         * lib/errno.in.h (system_header): Likewise.
21876         * lib/float.in.h (system_header): Likewise.
21877         * lib/getopt.in.h (system_header): Likewise.
21878         * lib/iconv.in.h (system_header): Likewise.
21879         * lib/inttypes.in.h (system_header): Likewise.
21880         * lib/langinfo.in.h (system_header): Likewise.
21881         * lib/locale.in.h (system_header): Likewise.
21882         * lib/math.in.h (system_header): Likewise.
21883         * lib/netdb.in.h (system_header): Likewise.
21884         * lib/netinet_in.in.h (system_header): Likewise.
21885         * lib/pty.in.h (system_header): Likewise.
21886         * lib/sched.in.h (system_header): Likewise.
21887         * lib/se-selinux.in.h (system_header): Likewise.
21888         * lib/search.in.h (system_header): Likewise.
21889         * lib/spawn.in.h (system_header): Likewise.
21890         * lib/stdarg.in.h (system_header): Likewise.
21891         * lib/stdint.in.h (system_header): Likewise.
21892         * lib/string.in.h (system_header): Likewise.
21893         * lib/strings.in.h (system_header): Likewise.
21894         * lib/sys_file.in.h (system_header): Likewise.
21895         * lib/sys_ioctl.in.h (system_header): Likewise.
21896         * lib/sys_socket.in.h (system_header): Likewise.
21897         * lib/sys_times.in.h (system_header): Likewise.
21898         * lib/sys_utsname.in.h (system_header): Likewise.
21899         * lib/sys_wait.in.h (system_header): Likewise.
21900         * lib/sysexits.in.h (system_header): Likewise.
21901         * lib/unistd.in.h (system_header): Likewise.
21902         * lib/wctype.in.h (system_header): Likewise.
21903
21904         arpa/inet: fix mingw compilation warning
21905         * lib/arpa_inet.in.h (system_header): Hoist to be unconditional.
21906         Reported by Matthew Bolte.
21907
21908 2010-03-25  Bruno Haible  <bruno@clisp.org>
21909
21910         Avoid collision between gnulib wrapper and libintl wrapper.
21911         * lib/printf.c (printf): Don't define if a printf wrapper is already
21912         defined in intl/printf.c.
21913         Reported by Michel Boaventura <michel@michelboaventura.com>.
21914
21915 2010-03-25  Bruno Haible  <bruno@clisp.org>
21916
21917         Use ANSI C.
21918         * lib/readutmp.h (getutent): Provide ANSI C prototype.
21919
21920 2010-03-25  Bruno Haible  <bruno@clisp.org>
21921
21922         Minor formatting changes.
21923         * lib/acosl.c: Insert space before function argument list.
21924         * lib/argz.c: Likewise.
21925         * lib/asinl.c: Likewise.
21926         * lib/expl.c: Likewise.
21927         * lib/gen-uni-tables.c: Likewise.
21928         * lib/gettext.h: Likewise.
21929         * lib/glthread/lock.h: Likewise.
21930         * lib/tanl.c: Likewise.
21931         * lib/uniname/uniname.c: Likewise.
21932         * tests/test-idpriv-drop.c: Likewise.
21933         * tests/test-idpriv-droptemp.c: Likewise.
21934         * tests/test-lock.c: Likewise.
21935         * tests/test-tls.c: Likewise.
21936         * lib/argp-help.c: Insert space before function-like macro argument
21937         list.
21938         * lib/memcmp.c: Likewise.
21939         * tests/test-base64.c: Likewise.
21940         * lib/localename.c: Insert space before sizeof's argument list.
21941         * lib/safe-alloc.h: Likewise.
21942         * lib/file-set.h: Insert space before macro argument list.
21943         * tests/test-argp.c: Likewise.
21944         * lib/argp-namefrob.h: Insert space before function parameter list.
21945         * lib/getaddrinfo.c: Likewise.
21946         * lib/netdb.in.h: Likewise.
21947         * lib/parse-duration.h: Likewise.
21948         * lib/parse-duration.c: Likewise.
21949         * lib/poll.c: Likewise.
21950         * lib/select.c: Likewise.
21951         * lib/trim.h: Likewise.
21952         * tests/test-usleep.c: Likewise.
21953         * lib/ldexpl.c: Insert space before function parameter list and before
21954         function argument list.
21955         * lib/logl.c: Likewise.
21956         * lib/sqrtl.c: Likewise.
21957         * lib/trim.c: Likewise.
21958         * lib/cosl.c: Use GNU style indentation. Insert space before function
21959         argument list.
21960         * lib/sinl.c: Likewise.
21961         * lib/tsearch.c: Insert space after 'for'.
21962         Reported by Jim Meyering.
21963
21964 2010-03-23  Pádraig Brady  <P@draigBrady.com>  (tiny change)
21965
21966         * maint.mk (sc_Wundef_boolean): Check for the presence of the
21967         config header before grepping, as it's not present before
21968         autoreconf/configure are run.  Reported by Simon Josefsson.
21969
21970 2010-03-23  Bruno Haible  <bruno@clisp.org>
21971
21972         pt_chown: Make it work with automake < 1.11.
21973         * modules/pt_chown (Makefile.am): Define pkglibexecdir.
21974         Reported by Simon Josefsson.
21975
21976 2010-03-23  Bruno Haible  <bruno@clisp.org>
21977
21978         pt_chown: Don't depend on GPLed modules.
21979         * lib/pt_chown.c: Don't include idpriv.h.
21980         (main): Don't drop privileges.
21981         * modules/pt_chown (Depends-on): Remove idpriv-drop.
21982         Reported by Simon Josefsson.
21983
21984 2010-03-24  Simon Josefsson  <simon@josefsson.org>
21985
21986         * top/maint.mk (sc_texinfo_acronym): Add rule, based on
21987         suggestions from karl@freefriends.org (Karl Berry).
21988
21989 2010-03-22  Eric Blake  <eblake@redhat.com>
21990
21991         gethostname: further tweaks
21992         * lib/unistd.in.h (includes): Only worry about <winsock2.h> if we
21993         are overriding gethostname.
21994         Suggested by Bruno Haible.
21995
21996 2010-03-21  Bruno Haible  <bruno@clisp.org>
21997
21998         Fix comments.
21999         * lib/forkpty.c (rpl_forkpty): Fix comment.
22000         * lib/openpty.c (rpl_openpty): Likewise.
22001         Reported by Eric Blake.
22002
22003 2010-03-22  Eric Blake  <eblake@redhat.com>
22004
22005         gethostname: fix build on mingw
22006         * lib/unistd.in.h (includes): Work around fact that mingw
22007         <winsock2.h> re-includes <unistd.h>, by avoiding any
22008         redeclarations if we are being included by <winsock2.h>.
22009         Reported by Matthias Bolte.
22010
22011 2010-03-21  Bruno Haible  <bruno@clisp.org>
22012
22013         forkpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
22014         * lib/forkpty.c (forkpty): New replacement function, from glibc with
22015         modifications.
22016         * lib/pty.in.h (forkpty): Update declaration. Add comments.
22017         * m4/pty.m4 (gl_FORKPTY): If forkpty is not declared, arrange to
22018         provide the replacement.
22019         * modules/forkpty (Depends-on): Add openpty, login_tty.
22020         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_FORKPTY.
22021         * modules/pty (Makefile.am): Substitute HAVE_FORKPTY.
22022         * doc/glibc-functions/forkpty.texi: More supported platforms.
22023         * config/srclist.txt: Add forkpty.c (commented).
22024
22025 2010-03-21  Bruno Haible  <bruno@clisp.org>
22026
22027         * modules/forkpty-tests: Use the common TEMPLATE-TESTS.
22028         (Makefile.am): Verify that PTY_LIB is defined.
22029
22030         * modules/openpty-tests: Use the common TEMPLATE-TESTS.
22031
22032 2010-03-21  Bruno Haible  <bruno@clisp.org>
22033
22034         Tests for module 'login_tty'.
22035         * modules/login_tty-tests: New file.
22036         * tests/test-login_tty.c: New file.
22037
22038         New module 'login_tty'.
22039         * lib/login_tty.c: New file.
22040         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): New macro.
22041         * modules/login_tty: New file.
22042         * doc/glibc-functions/login_tty.texi: Mention the new module.
22043
22044 2010-03-21  Bruno Haible  <bruno@clisp.org>
22045
22046         login_tty: Documentation.
22047         * doc/glibc-functions/login_tty.texi: New file.
22048         * doc/gnulib.texi (Glibc <utmp.h>): Include it.
22049
22050 2010-03-21  Bruno Haible  <bruno@clisp.org>
22051
22052         pty: Consistent macro naming.
22053         * m4/pty_h.m4 (gl_PTY_H): Renamed from gl_PTY.
22054         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): Update.
22055         * modules/pty (configure.ac): Update.
22056
22057 2010-03-21  Bruno Haible  <bruno@clisp.org>
22058
22059         Tests for openpty: Make stricter.
22060         * tests/test-openpty.c (main): Add test of canonical processing and
22061         erase.
22062         * modules/openpty-tests (Makefile.am): Verify that PTY_LIB is defined.
22063
22064         openpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
22065         * lib/openpty.c (openpty): New replacement function.
22066         * lib/pty.in.h: Include <termios.h>.
22067         (openpty): Update declaration. Add comments.
22068         * m4/pty.m4 (gl_OPENPTY): Require AC_USE_SYSTEM_EXTENSIONS. If openpty
22069         is not declared, arrange to provide the replacement. Check for _getpty
22070         and posix_openpt.
22071         * modules/openpty (Depends-on): Add extensions, fcntl-h, ioctl.
22072         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_OPENPTY.
22073         * modules/pty (Makefile.am): Substitute HAVE_OPENPTY.
22074         * modules/pty-tests (test_pty_c___LDADD): New variable.
22075         * doc/glibc-functions/openpty.texi: More supported platforms.
22076
22077 2010-03-21  Bruno Haible  <bruno@clisp.org>
22078
22079         setenv: Tweaks.
22080         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Include necessary headers in
22081         the test program.
22082         * doc/posix-functions/setenv.texi: Update platforms list.
22083
22084 2010-03-21  Bruno Haible  <bruno@clisp.org>
22085
22086         New module 'unlockpt'.
22087         * lib/unlockpt.c: New file, from glibc with modifications.
22088         * m4/unlockpt.m4: New file.
22089         * modules/unlockpt: New file.
22090         * lib/stdlib.in.h (unlockpt): New declaration.
22091         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether unlockpt is declared.
22092         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_UNLOCKPT, HAVE_UNLOCKPT.
22093         * modules/stdlib (Makefile.am): Substitute GNULIB_UNLOCKPT,
22094         HAVE_UNLOCKPT.
22095         * doc/posix-functions/unlockpt.texi: Mention the new module.
22096         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::unlockpt.
22097         * config/srclist.txt: Add unlockpt.c (commented).
22098
22099 2010-03-21  Jim Meyering  <meyering@redhat.com>
22100
22101         maint.mk: prohibit inclusion of "intprops.h" without use
22102         * top/maint.mk (sc_prohibit_intprops_without_use): New rule.
22103
22104 2010-03-21  Bruno Haible  <bruno@clisp.org>
22105
22106         New module 'grantpt'.
22107         * lib/grantpt.c: New file, from glibc with modifications.
22108         * m4/grantpt.m4: New file.
22109         * modules/grantpt: New file.
22110         * lib/stdlib.in.h (grantpt): New declaration.
22111         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether grantpt is declared.
22112         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GRANTPT, HAVE_GRANTPT.
22113         * modules/stdlib (Makefile.am): Substitute GNULIB_GRANTPT,
22114         HAVE_GRANTPT.
22115         * doc/posix-functions/grantpt.texi: Mention the new module.
22116         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::grantpt.
22117         * config/srclist.txt: Add grantpt.c (commented).
22118
22119 2010-03-21  Bruno Haible  <bruno@clisp.org>
22120
22121         New module 'pt_chown'.
22122         * lib/pt_chown.c: New file, from glibc with modifications.
22123         * lib/pty-private.h: New file, from glibc with modifications.
22124         * modules/pt_chown: New file.
22125         * config/srclist.txt: Add pt_chown.c, pty-private.h (commented).
22126
22127 2010-03-21  Bruno Haible  <bruno@clisp.org>
22128
22129         Tests for module 'ptsname'.
22130         * modules/ptsname-tests: New file.
22131         * tests/test-ptsname.c: New file.
22132
22133         New module 'ptsname'.
22134         * lib/ptsname.c: New file, from glibc with modifications.
22135         * m4/ptsname.m4: New file.
22136         * modules/ptsname: New file.
22137         * lib/stdlib.in.h (ptsname): New declaration.
22138         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether ptsname is declared.
22139         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PTSNAME, HAVE_PTSNAME.
22140         * modules/stdlib (Makefile.am): Substitute GNULIB_PTSNAME,
22141         HAVE_PTSNAME.
22142         * doc/posix-functions/ptsname.texi: Mention the new module.
22143         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::ptsname.
22144         * config/srclist.txt: Add ptsname.c (commented).
22145
22146 2010-03-21  Bruno Haible  <bruno@clisp.org>
22147
22148         Tests for module 'ttyname_r'.
22149         * modules/ttyname_r-tests: New file.
22150         * tests/test-ttyname_r.c: New file.
22151
22152         New module 'ttyname_r'.
22153         * lib/ttyname_r.c: New file.
22154         * m4/ttyname_r.m4: New file.
22155         * modules/ttyname_r: New file.
22156         * lib/unistd.in.h (ttyname_r): New declaration.
22157         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether ttyname_r is declared.
22158         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_TTYNAME_R, HAVE_TTYNAME_R.
22159         * modules/unistd (Makefile.am): Substitute GNULIB_TTYNAME_R,
22160         HAVE_TTYNAME_R.
22161         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::ttyname_r.
22162         * doc/posix-functions/ttyname_r.texi: Mention the new module.
22163
22164 2010-03-20  Bruno Haible  <bruno@clisp.org>
22165
22166         signal: Undefine macro definitions in C++ mode.
22167         * lib/signal.in.h (sigismember, sigemptyset, sigaddset, sigdelset,
22168         sigfillset): Undefine macro definitions from the system header in C++
22169         mode.
22170         Reported by John W. Eaton <jwe@gnu.org>.
22171
22172 2010-03-20  Bruno Haible  <bruno@clisp.org>
22173
22174         Ensure no #include statements inside extern "C" { ... }.
22175         * lib/obstack.h: Shrink extern "C" { ... } region so that it does not
22176         contain #include statements.
22177         * lib/time.in.h: Likewise.
22178
22179 2010-03-20  Bruno Haible  <bruno@clisp.org>
22180
22181         Make _GL_WARN_ON_USE usable in C++ and C mode in the same compilation.
22182         * build-aux/warn-on-use.h (_GL_WARN_EXTERN_C): New macro.
22183         (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): Likewise.
22184         Reported by John W. Eaton <jwe@gnu.org>.
22185
22186 2010-03-20  Bruno Haible  <bruno@clisp.org>
22187
22188         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix last commit.
22189         Reported by Jim Meyering.
22190
22191 2010-03-20  Bruno Haible  <bruno@clisp.org>
22192
22193         pipe: Set errno upon failure.
22194         * lib/pipe.h: Specify that when -1 is returned, errno is set.
22195         * lib/pipe.c (create_pipe): Set errno when returning -1. Use the right
22196         errno value in error message.
22197
22198 2010-03-20  Bruno Haible  <bruno@clisp.org>
22199             Jim Meyering  <meyering@redhat.com>
22200
22201         lchown: Avoid "unused variable" warning.
22202         * lib/lchown.c (rpl_lchown): Move variable 'st' into #if block.
22203
22204 2010-03-20  Bruno Haible  <bruno@clisp.org>
22205
22206         Work around unlink() bug on MacOS X 10.5.6.
22207         * lib/unlink.c (rpl_unlink): If UNLINK_PARENT_BUG is defined, fail when
22208         attempting to unlink a parent directory.
22209         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. Test for
22210         MacOS X 10.5 bug. If the bug is present, define UNLINK_PARENT_BUG and
22211         activate for the replacement function.
22212         * doc/posix-functions/unlink.texi: Mention the MacOS X 10.5 bug.
22213
22214 2010-03-20  Bruno Haible  <bruno@clisp.org>
22215
22216         Fix link errors on Solaris 8.
22217         * modules/dirent-tests (test_dirent_c___LDADD): Add LIB_NANOSLEEP.
22218         * modules/wctype-tests (test_wctype_c___LDADD): Likewise.
22219
22220 2010-03-19  Jim Meyering  <meyering@redhat.com>
22221
22222         regcomp.c: make non-_LIBC implementation of build_range_exp consistent
22223         The _LIBC implementation of build_range_exp correctly honors the
22224         RE_NO_EMPTY_RANGES flag when checking for reversed range endpoints.
22225         However, the non-_LIBC implementation would ignore that syntax-bit
22226         flag and return REG_ERANGE unconditionally.
22227         This change makes it honor that flag.
22228         * lib/regcomp.c (build_range_exp) [!_LIBC]: Add a parameter: "syntax".
22229         Make two pointer parameters "const".
22230         Use "syntax" bits in order to honor RE_NO_EMPTY_RANGES.
22231         (parse_bracket_exp): Update caller.
22232
22233         regex.m4: correct the reversed range endpoint ([b-a]) test
22234         * m4/regex.m4: When requiring that [b-a] evoke failure,
22235         use RE_NO_EMPTY_RANGES.  This makes this entire configure-time
22236         test pass once again for x86-based systems.
22237
22238 2010-03-19  Bruno Haible  <bruno@clisp.org>
22239
22240         scandir: Fix link error on Solaris 8.
22241         * lib/scandir.c (_D_EXACT_NAMLEN, _D_ALLOC_NAMLEN): New fallback
22242         macros.
22243
22244 2010-03-19  Bruno Haible  <bruno@clisp.org>
22245
22246         getusershell: Fix documentation.
22247         * doc/glibc-functions/endusershell.texi: Refer to the getusershell
22248         module.
22249         * doc/glibc-functions/setusershell.texi: Likewise.
22250
22251         getusershell: Provide declaration, missing on Solaris 9.
22252         * lib/unistd.in.h (getusershell, setusershell, endusershell): Declare
22253         also if HAVE_GETUSERSHELL && !HAVE_DECL_GETUSERSHELL.
22254         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): When the function exists,
22255         check whether it is declared. Set HAVE_DECL_GETUSERSHELL.
22256         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
22257         HAVE_DECL_GETUSERSHELL, not HAVE_GETUSERSHELL.
22258         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETUSERSHELL, not
22259         HAVE_GETUSERSHELL.
22260         * doc/glibc-functions/getusershell.texi: Mention the Solaris problem.
22261
22262 2010-03-19  Bruno Haible  <bruno@clisp.org>
22263
22264         wctype: Provide iswblank function.
22265         * lib/wctype.in.h (iswblank): Provide a replacement also when iswcntrl
22266         exists and is fine.
22267         * m4/wctype_h.m4 (gl_WCTYPE_H): Also check whether iswcntrl exists.
22268         * modules/wctype (Makefile.am): Substitute HAVE_ISWBLANK.
22269         * tests/test-wctype.c (main): Re-enable the iswblank tests.
22270         * doc/posix-functions/iswblank.texi: Update.
22271
22272 2010-03-19  Bruno Haible  <bruno@clisp.org>
22273
22274         Tests of module 'pty' in C++ mode.
22275         * modules/pty-tests: New file.
22276         * tests/test-pty-c++.cc: New file.
22277         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
22278
22279 2010-03-19  Eric Blake  <eblake@redhat.com>
22280
22281         logb: fix documentation
22282         * doc/posix-functions/logb.texi (logb): Gnulib fixes the cygwin
22283         1.5 declaration bug.
22284
22285         forkpty, openpty: prefer glibc's const-safe prototype
22286         * lib/forkpty.c (rpl_forkpty): New file.
22287         * lib/openpty.c (rpl_openpty): Likewise.
22288         * modules/forkpty (Files): Distribute it.
22289         * modules/openpty (Files): Likewise.
22290         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.  Move decl
22291         check...
22292         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): ...here.  Request
22293         replacement for for non-const BSD signature.
22294         * modules/pty (Makefile.am): Substitute witnesses.
22295         * lib/pty.in.h (forkpty, openpty): Declare replacements.
22296         * tests/test-forkpty.c: Update signature check.
22297         * tests/test-openpty.c: Likewise.
22298         * doc/glibc-functions/forkpty.texi (forkpty): Document the fix.
22299         * doc/glibc-functions/openpty.texi (openpty): Likewise.
22300
22301         forkpty, openpty: split functions into new modules
22302         * modules/pty (Makefile.am): Substitute new witnesses.
22303         (Libraries): Move library detection...
22304         * modules/forkpty: ...into new module.
22305         * modules/openpty: Another new module.
22306         * modules/pty-tests: Rename and split...
22307         * modules/forkpty-tests: ...to this...
22308         * modules/openpty-tests: ...and this.
22309         * tests/test-pty.c: Rename and split...
22310         * tests/test-forkpty.c: ...to this...
22311         * tests/test-openpty.c: ...and this.
22312         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.
22313         (gl_PTY): Split library searching...
22314         * m4/pty.m4 (gl_PTY_LIB): ...into new file.
22315         (gl_FORKPTY, gl_OPENPTY): New macros.
22316         * lib/pty.in.h (forkpty, openpty): Honor new witnesses.
22317         * NEWS: Mention the split.
22318         * MODULES.html.sh (Misc): Document the modules.
22319         * doc/glibc-functions/forkpty.texi (forkpty): Likewise.
22320         * doc/glibc-functions/openpty.texi (openpty): Likewise.
22321
22322         pty: improve replacement header
22323         * lib/pty.in.h: New file.
22324         * modules/pty (Files): Ship it.
22325         (Makefile.am): Always build replacement.
22326         * m4/pty.m4: Rename...
22327         * m4/pty_h.m4: ...to this.
22328         (gl_PTY): Modernize setting of witness macros; update check of
22329         forkpty to take proper advantage of cache.
22330         (gl_PTY_MODULE_INDICATOR, gl_PTY_H_DEFAULTS): New macros.
22331
22332         getopt: avoid compiler warning
22333         * lib/getopt.c (attribute_hidden): Remove unused macro.
22334
22335 2010-03-18  Bruno Haible  <bruno@clisp.org>
22336
22337         Fix link errors on Solaris 8.
22338         * modules/iconv-h-tests (test_iconv_h_c___LDADD): Add LIB_NANOSLEEP.
22339         * modules/search-tests (test_search_c___LDADD): Likewise.
22340         * modules/signal-tests (test_signal_c___LDADD): Likewise.
22341         * modules/spawn-tests (test_spawn_c___LDADD): Likewise.
22342         * modules/stdio-tests (test_stdio_c___LDADD): Likewise.
22343         * modules/sys_select-tests (test_sys_select_c___LDADD): Likewise.
22344         * modules/sys_socket-tests (test_sys_socket_c___LDADD): Likewise.
22345         * modules/sys_time-tests (test_sys_time_c___LDADD): Likewise.
22346         * modules/wchar-tests (test_wchar_c___LDADD): Likewise.
22347
22348 2010-03-18  Bruno Haible  <bruno@clisp.org>
22349
22350         Fix bug introduced on 2010-03-14.
22351         * m4/spawn_h.m4 (gl_HAVE_POSIX_SPAWN): New macro.
22352         (gl_SPAWN_H): Require it.
22353         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Likewise.
22354         Reported by Simon Josefsson.
22355
22356 2010-03-18  Bruno Haible  <bruno@clisp.org>
22357
22358         Fix typo introduced on 2009-12-31.
22359         * m4/spawn_h.m4 (gl_SPAWN_H): Check for the declaration of
22360         posix_spawn_file_actions_adddup2.
22361
22362 2010-03-17  Bert Wesarg  <bert.wesarg@googlemail.com>  (tiny change)
22363         and Eric Blake  <eblake@redhat.com>
22364
22365         test-vc-list-files-git: make more robust
22366         * tests/test-vc-list-files-git.sh: Unset problematic environment
22367         variables.  Chain commands together.
22368
22369 2010-03-17  Ludovic Courtès <ludo@gnu.org>  (tiny change)
22370
22371         * m4/pty.m4: Unset $ac_cv_have_decl_forkpty before the second
22372         `AC_CHECK_DECL' invocation.
22373
22374 2010-03-15  Sergey Poznyakoff  <gray@gnu.org.ua>
22375
22376         * lib/inttostr.c (inttostr): Make sure the invocation of verify
22377         appears before executable statements. Suggested by Petr Sumbera
22378         <Petr.Sumbera@Sun.COM>.
22379
22380 2010-03-14  Bruno Haible  <bruno@clisp.org>
22381
22382         * tests/test-flock.c (test_exclusive): Comment out a test that causes
22383         portability problems. Instead use a simpler test.
22384         (main): Check that invalid arguments are rejected only on Linux.
22385
22386 2010-03-14  Bruno Haible  <bruno@clisp.org>
22387
22388         Fix bug introduced on 2009-12-31.
22389         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
22390         gl_PREREQ_SYS_H_WINSOCK2 always.
22391         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise. Remove
22392         SYS_SOCKET_H variable.
22393         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Remove test for flock.
22394         Update comments.
22395         * m4/ctype.m4 (gl_CTYPE_H): Update comments.
22396         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
22397         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
22398         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
22399         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
22400
22401 2010-03-14  Bruno Haible  <bruno@clisp.org>
22402
22403         Fix values returned by sinl, cosl.
22404         * lib/trigl.h: Add specification comments.
22405         * lib/sincosl.c (kernel_sinl, kernel_cosl): Fix comments and formula
22406         that combines the values from the precomputed table with the values of
22407         the Chebyshev polynomials.
22408
22409 2010-03-14  Bruno Haible  <bruno@clisp.org>
22410
22411         Fix compilation error when modules 'posix_spawn[p]' are not used.
22412         * m4/spawn_h.m4 (gl_SPAWN_H): Set HAVE_POSIX_SPAWN here.
22413         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): ... not here.
22414
22415 2010-03-14  Bruno Haible  <bruno@clisp.org>
22416
22417         Fix compilation error on mingw when module 'time_r' is not used.
22418         * lib/time.in.h (localtime_r, gmtime_r): Declare only if GNULIB_TIME_R
22419         is 1.
22420         * tests/test-time-c++.cc (localtime_r, gmtime_r): Likewise.
22421         * modules/time_r (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
22422         * modules/time (Makefile.am): Substitute GNULIB_TIME_R.
22423         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_TIME_R.
22424
22425 2010-03-14  Bruno Haible  <bruno@clisp.org>
22426
22427         Fix compilation error with Sun C.
22428         * lib/strtol.c: Use LLONG_MIN instead of GCC specific LONG_LONG_MIN.
22429         Use LLONG_MAX instead of GCC specific LONG_LONG_MAX. Use ULLONG_MAX
22430         instead of GCC specific ULONG_LONG_MAX.
22431         * lib/xstrtoll.c: Likewise.
22432         * lib/xstrtoull.c: Likewise.
22433
22434 2010-03-13  Bruno Haible  <bruno@clisp.org>
22435
22436         Allow the user to disable C++ code and tests.
22437         * m4/ansi-c++.m4 (gl_CXX_CHOICE): New macro.
22438         (gl_PROG_ANSI_CXX): Require it.
22439
22440 2010-03-13  Bruno Haible  <bruno@clisp.org>
22441
22442         * DEPENDENCIES (libtool): Mention libtool 2.2.x requirement in special
22443         cases.
22444
22445 2010-03-13  Bruno Haible  <bruno@clisp.org>
22446
22447         Test that gnulib does not break the standard C++ headers.
22448         * tests/test-locale-c++2.cc: New file.
22449         * modules/locale-tests (Files): Add it.
22450         (Makefile.am): Compile it for test-locale-c++.
22451         * tests/test-math-c++2.cc: New file.
22452         * modules/math-tests (Files): Add it.
22453         (Makefile.am): Compile it for test-math-c++.
22454         * tests/test-signal-c++2.cc: New file.
22455         * modules/signal-tests (Files): Add it.
22456         (Makefile.am): Compile it for test-signal-c++.
22457         * tests/test-stdio-c++2.cc: New file.
22458         * modules/stdio-tests (Files): Add it.
22459         (Makefile.am): Compile it for test-stdio-c++.
22460         * tests/test-stdlib-c++2.cc: New file.
22461         * modules/stdlib-tests (Files): Add it.
22462         (Makefile.am): Compile it for test-stdlib-c++.
22463         * tests/test-string-c++2.cc: New file.
22464         * modules/string-tests (Files): Add it.
22465         (Makefile.am): Compile it for test-string-c++.
22466         * tests/test-time-c++2.cc: New file.
22467         * modules/time-tests (Files): Add it.
22468         (Makefile.am): Compile it for test-time-c++.
22469         Reported by John W. Eaton <jwe@gnu.org>.
22470
22471 2010-03-13  Bruno Haible  <bruno@clisp.org>
22472
22473         * gnulib-tool (func_usage): Clarify which options are available for
22474         --create-testdir and --create-megatestdir.
22475
22476 2010-03-13  Bruno Haible  <bruno@clisp.org>
22477
22478         Fix compilation error with glibc >= 2.10 and g++ >= 4.4.
22479         * build-aux/warn-on-use.h (_GL_WARN_ON_USE_CXX): New macro.
22480         * build-aux/c++defs.h (_GL_CXXALIASWARN1): New macro.
22481         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
22482         strstr, strcasestr): Use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN
22483         when appropriate.
22484         Reported by Jim Meyering.
22485
22486 2010-03-12  Simon Josefsson  <simon@josefsson.org>
22487
22488         * gnulib-tool (func_import): Explain origin of code.
22489
22490 2010-03-12  Bruno Haible  <bruno@clisp.org>
22491
22492         Fix problem with automake's definition of CXXLINK.
22493         * gnulib-tool (func_create_testdir): After LT_INIT, also use LT_LANG.
22494         Reported by Simon Josefsson and Ludovic Courtès.
22495
22496 2010-03-12  Bruno Haible  <bruno@clisp.org>
22497
22498         * doc/gnulib-intro.texi (Steady Development): Mention Ian Beckwith's
22499         stable releases.
22500
22501 2010-03-11  Bruno Haible  <bruno@clisp.org>
22502
22503         Fix problems with overloaded C++ definitions of memchr, strpbrk, etc.
22504         * build-aux/c++defs.h (_GL_CXXALIAS_SYS_CAST2): Make it work regardless
22505         whether the system provides one variant or multiple variants of the
22506         function.
22507         * lib/string.in.h (memchr, strpbrk): Use _GL_CXXALIAS_SYS_CAST2 for all
22508         C++ compilers.
22509         (memrchr, rawmemchr, strchrnul, strstr, strcasestr): Use
22510         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS.
22511         Reported by Jim Meyering.
22512
22513 2010-03-09  Simon Josefsson  <simon@josefsson.org>
22514
22515         * gnulib-tool (LIBTOOLPATH): Fix cut'n'paste bug.
22516
22517 2010-03-08  Bruno Haible  <bruno@clisp.org>
22518
22519         gnulib-tool: Add support for --libtool in --create-testdir.
22520         * gnulib-tool (LIBTOOLPATH, LIBTOOLIZE): New variables.
22521         (func_create_testdir): Emit LT_INIT invocations. Invoke LIBTOOLIZE.
22522
22523 2010-03-08  Eric Blake  <eblake@redhat.com>
22524
22525         gnulib-tool.texi: mention possibility of git submodule
22526         * doc/gnulib-tool.texi (VCS Issues): Add details about using git
22527         submodules.
22528         * doc/.gitignore: Ignore another generated file.
22529
22530 2010-03-08  Karl Berry  <karl@gnu.org>
22531
22532         * doc/gnulib-tool.texi (VCS Issues): Mention third option
22533         of committing gnulib files while skipping others.
22534
22535 2010-03-07  Bruno Haible  <bruno@clisp.org>
22536
22537         Tests of module 'wctype' in C++ mode.
22538         * tests/test-wctype-c++.cc: New file.
22539         * modules/wctype-tests (Files): Add it and tests/signature.h.
22540         (Depends-on): Add ansi-c++-opt.
22541         (Makefile.am): Arrange to compile and run test-wctype-c++.
22542
22543         Tests of module 'wchar' in C++ mode.
22544         * tests/test-wchar-c++.cc: New file.
22545         * modules/wchar-tests (Files): Add it and tests/signature.h.
22546         (Depends-on): Add ansi-c++-opt.
22547         (Makefile.am): Arrange to compile and run test-wchar-c++.
22548         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Invoke
22549         gl_MODULE_INDICATOR.
22550
22551         Tests of module 'unistd' in C++ mode.
22552         * tests/test-unistd-c++.cc: New file.
22553         * modules/unistd-tests (Files): Add it and tests/signature.h.
22554         (Depends-on): Add ansi-c++-opt.
22555         (Makefile.am): Arrange to compile and run test-unistd-c++.
22556         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Invoke
22557         gl_MODULE_INDICATOR.
22558
22559         Tests of module 'time' in C++ mode.
22560         * tests/test-time-c++.cc: New file.
22561         * modules/time-tests (Files): Add it and tests/signature.h.
22562         (Depends-on): Add ansi-c++-opt.
22563         (Makefile.am): Arrange to compile and run test-time-c++.
22564         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
22565
22566         Tests of module 'sys_time' in C++ mode.
22567         * tests/test-sys_time-c++.cc: New file.
22568         * modules/sys_time-tests (Files): Add it and tests/signature.h.
22569         (Depends-on): Add ansi-c++-opt.
22570         (Makefile.am): Arrange to compile and run test-sys_time-c++.
22571         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Invoke
22572         gl_MODULE_INDICATOR.
22573
22574         Tests of module 'sys_stat' in C++ mode.
22575         * tests/test-sys_stat-c++.cc: New file.
22576         * modules/sys_stat-tests (Files): Add it and tests/signature.h.
22577         (Depends-on): Add ansi-c++-opt.
22578         (Makefile.am): Arrange to compile and run test-sys_stat-c++.
22579         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Invoke
22580         gl_MODULE_INDICATOR.
22581
22582         Tests of module 'sys_socket' in C++ mode.
22583         * tests/test-sys_socket-c++.cc: New file.
22584         * modules/sys_socket-tests (Files): Add it and tests/signature.h.
22585         (Depends-on): Add ansi-c++-opt.
22586         (Makefile.am): Arrange to compile and run test-sys_socket-c++.
22587         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Invoke
22588         gl_MODULE_INDICATOR.
22589
22590         Tests of module 'sys_select' in C++ mode.
22591         * tests/test-sys_select-c++.cc: New file.
22592         * modules/sys_select-tests (Files): Add it and tests/signature.h.
22593         (Depends-on): Add ansi-c++-opt.
22594         (Makefile.am): Arrange to compile and run test-sys_select-c++.
22595         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Invoke
22596         gl_MODULE_INDICATOR.
22597
22598         Tests of module 'sys_ioctl' in C++ mode.
22599         * tests/test-sys_ioctl-c++.cc: New file.
22600         * modules/sys_ioctl-tests (Files): Add it and tests/signature.h.
22601         (Depends-on): Add ansi-c++-opt.
22602         (Makefile.am): Arrange to compile and run test-sys_ioctl-c++.
22603         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Invoke
22604         gl_MODULE_INDICATOR.
22605
22606         Tests of module 'string' in C++ mode.
22607         * tests/test-string-c++.cc: New file.
22608         * modules/string-tests (Files): Add it and tests/signature.h.
22609         (Depends-on): Add ansi-c++-opt.
22610         (Makefile.am): Arrange to compile and run test-string-c++.
22611         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Invoke
22612         gl_MODULE_INDICATOR.
22613
22614         Tests of module 'stdlib' in C++ mode.
22615         * tests/test-stdlib-c++.cc: New file.
22616         * modules/stdlib-tests (Files): Add it and tests/signature.h.
22617         (Depends-on): Add ansi-c++-opt.
22618         (Makefile.am): Arrange to compile and run test-stdlib-c++.
22619         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Invoke
22620         gl_MODULE_INDICATOR.
22621
22622         Tests of module 'stdio' in C++ mode.
22623         * tests/test-stdio-c++.cc: New file.
22624         * modules/stdio-tests (Files): Add it and tests/signature.h.
22625         (Depends-on): Add ansi-c++-opt.
22626         (Makefile.am): Arrange to compile and run test-stdio-c++.
22627         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Invoke
22628         gl_MODULE_INDICATOR.
22629
22630         Tests of module 'spawn' in C++ mode.
22631         * tests/test-spawn-c++.cc: New file.
22632         * modules/spawn-tests (Files): Add it and tests/signature.h.
22633         (Depends-on): Add ansi-c++-opt.
22634         (Makefile.am): Arrange to compile and run test-spawn-c++.
22635         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Invoke
22636         gl_MODULE_INDICATOR.
22637
22638         Tests of module 'signal' in C++ mode.
22639         * tests/test-signal-c++.cc: New file.
22640         * modules/signal-tests (Files): Add it and tests/signature.h.
22641         (Depends-on): Add ansi-c++-opt.
22642         (Makefile.am): Arrange to compile and run test-signal-c++.
22643         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Invoke
22644         gl_MODULE_INDICATOR.
22645
22646         Tests of module 'search' in C++ mode.
22647         * tests/test-search-c++.cc: New file.
22648         * modules/search-tests (Files): Add it and tests/signature.h.
22649         (Depends-on): Add ansi-c++-opt.
22650         (Makefile.am): Arrange to compile and run test-search-c++.
22651         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Invoke
22652         gl_MODULE_INDICATOR.
22653
22654         Tests of module 'math' in C++ mode.
22655         * tests/test-math-c++.cc: New file.
22656         * modules/math-tests (Files): Add it and tests/signature.h.
22657         (Depends-on): Add ansi-c++-opt.
22658         (Makefile.am): Arrange to compile and run test-math-c++.
22659         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
22660
22661         Tests of module 'locale' in C++ mode.
22662         * tests/test-locale-c++.cc: New file.
22663         * modules/locale-tests (Files): Add it and tests/signature.h.
22664         (Depends-on): Add ansi-c++-opt.
22665         (Makefile.am): Arrange to compile and run test-locale-c++.
22666         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Invoke
22667         gl_MODULE_INDICATOR.
22668
22669         Tests of module 'langinfo' in C++ mode.
22670         * tests/test-langinfo-c++.cc: New file.
22671         * modules/langinfo-tests (Files): Add it and tests/signature.h.
22672         (Depends-on): Add ansi-c++-opt.
22673         (Makefile.am): Arrange to compile and run test-langinfo-c++.
22674         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Invoke
22675         gl_MODULE_INDICATOR.
22676
22677         Tests of module 'iconv-h' in C++ mode.
22678         * tests/test-iconv-h-c++.cc: New file.
22679         * modules/iconv-h-tests (Files): Add it and tests/signature.h.
22680         (Depends-on): Add ansi-c++-opt.
22681         (Makefile.am): Arrange to compile and run test-iconv-h-c++.
22682
22683         Tests of module 'glob' in C++ mode.
22684         * tests/test-glob-c++.cc: New file.
22685         * modules/glob-tests (Files): Add it.
22686         (Depends-on): Add ansi-c++-opt.
22687         (Makefile.am): Arrange to compile and run test-glob-c++.
22688
22689         Tests of module 'fcntl-h' in C++ mode.
22690         * tests/test-fcntl-h-c++.cc: New file.
22691         * modules/fcntl-h-tests (Files): Add it and tests/signature.h.
22692         (Depends-on): Add ansi-c++-opt.
22693         (Makefile.am): Arrange to compile and run test-fcntl-h-c++.
22694         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Invoke
22695         gl_MODULE_INDICATOR.
22696
22697         Tests of module 'dirent' in C++ mode.
22698         * tests/test-dirent-c++.cc: New file.
22699         * modules/dirent-tests (Files): Add it and tests/signature.h.
22700         (Depends-on): Add ansi-c++-opt.
22701         (Makefile.am): Arrange to compile and run test-dirent-c++.
22702         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
22703         gl_MODULE_INDICATOR.
22704
22705         New module 'ansi-c++-opt'.
22706         * modules/ansi-c++-opt: New file.
22707         * m4/ansi-c++.m4: New file, from GNU gettext with modifications.
22708
22709         Document C++ namespace mode.
22710         * doc/gnulib.texi (A C++ namespace for gnulib): New section.
22711
22712         wctype: Avoid #define replacements in C++ mode.
22713         * lib/wctype.in.h: Include c++defs.h, warn-on-use.h.
22714         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower,
22715         iswprint, iswpunct, iswspace, iswupper, iswxdigit, towlower, towupper):
22716         In C++, define a namespaced alias symbol.
22717         * m4/wctype_h.m4 (gl_WCTYPE_H): Don't set WCTYPE_H.
22718         * modules/wctype (Depends-on): Add c++defs, warn-on-use.
22719         (Makefile.am): Provide a wctype.h replacement always. Update wctype.h
22720         rule.
22721
22722         wchar: Avoid #define replacements in C++ mode.
22723         * lib/wchar.in.h: Include c++defs.h.
22724         (btowc, wctob, mbsinit, mbrtowc, mbrlen, mbsrtowcs, mbsnrtowcs,
22725         wcrtomb, wcsrtombs, wcsnrtombs): In C++, define a namespaced alias
22726         symbol.
22727         (wcwidth): Likewise. Fix prototype to be POSIX compliant.
22728         * modules/wchar (Depends-on): Add c++defs.
22729         (Makefile.am): Update wchar.h rule.
22730
22731         unistd: Avoid #define replacements in C++ mode.
22732         * lib/unistd.in.h: Include c++defs.h.
22733         (chown, close, dup, dup2, dup3, euidaccess, faccessat, fchdir,
22734         fchownat, fsync, ftruncate, getcwd, getdomainname, getdtablesize,
22735         getgroups, gethostname, getlogin, getlogin_r, getpagesize,
22736         getusershell, setusershell, endusershell, lchown, link, linkat, lseek,
22737         pipe2, pread, readlink, readlinkat, rmdir, sleep, symlink, symlinkat,
22738         unlink, unlinkat, usleep, write): In C++, define a namespaced alias
22739         symbol.
22740         (environ): Update.
22741         * modules/unistd (Depends-on): Add c++defs.
22742         (Makefile.am): Update unistd.h rule.
22743
22744         time: Avoid #define replacements in C++ mode.
22745         * lib/time.in.h: Include c++defs.h, warn-on-use.h.
22746         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): In C++,
22747         define a namespaced alias symbol.
22748         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): New macro.
22749         (gl_HEADER_TIME_H_DEFAULTS): Initialize also GNULIB_MKTIME,
22750         GNULIB_NANOSLEEP, GNULIB_STRPTIME, GNULIB_TIMEGM.
22751         * modules/time (Depends-on): Add c++defs, warn-on-use.
22752         (Makefile.am): Update time.h rule.
22753         * modules/mktime (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
22754         * modules/nanosleep (configure.ac): Likewise.
22755         * modules/strptime (configure.ac): Likewise.
22756         * modules/timegm (configure.ac): Likewise.
22757
22758         sys_time: Avoid #define replacements in C++ mode.
22759         * lib/sys_time.in.h: Include c++defs.h.
22760         (gettimeofday): In C++, define a namespaced alias symbol.
22761         * modules/sys_time (Depends-on): Add c++defs.
22762         (Makefile.am): Update sys/time.h rule.
22763
22764         sys_stat: Avoid #define replacements in C++ mode.
22765         * lib/sys_stat.in.h: Include c++defs.h.
22766         (fchmodat, fstat, fstatat, futimens, lchmod, lstat, mkdir, mkdirat,
22767         mkfifo, mkfifoat, mknod, mknodat, utimensat): In C++, define a
22768         namespaced alias symbol.
22769         In C++, define a namespaced alias symbol.
22770         * modules/sys_stat (Depends-on): Add c++defs.
22771         (Makefile.am): Update sys/stat.h rule.
22772
22773         sys_socket: Avoid #define replacements in C++ mode.
22774         * lib/sys_socket.in.h: Handle the case of recursive include on Cygwin.
22775         Include c++defs.h. Include warn-on-use.h earlier. Enable the function
22776         definitions also when the system has a <sys/socket.h>.
22777         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
22778         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, accept4):
22779         In C++, define a namespaced alias symbol.
22780         * modules/sys_socket (Depends-on): Add c++defs.
22781         (Makefile.am): Update sys/socket.h rule.
22782
22783         sys_select: Avoid #define replacements in C++ mode.
22784         * lib/sys_select.in.h: Include c++defs.h. Enable the function
22785         definitions also when the system has a <sys/select.h>.
22786         (select): In C++, define a namespaced alias symbol.
22787         * modules/sys_select (Depends-on): Add c++defs.
22788         (Makefile.am): Update sys/select.h rule.
22789
22790         sys_ioctl: Avoid #define replacements in C++ mode.
22791         * lib/sys_ioctl.in.h: Include c++defs.h.
22792         (ioctl): In C++, define a namespaced alias symbol.
22793         * modules/sys_ioctl (Depends-on): Add c++defs.
22794         (Makefile.am): Update sys/ioctl.h rule.
22795
22796         string: Avoid #define replacements in C++ mode.
22797         * lib/string.in.h: Include c++defs.h.
22798         (stpncpy): Define to rpl_stpncpy, not gnu_stpncpy.
22799         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
22800         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
22801         strcasestr, strtok_r, mbslen, mbschr, mbsrchr, mbspbrk, strerror,
22802         strsignal, strverscmp): In C++, define a namespaced alias symbol.
22803         * modules/string (Depends-on): Add c++defs.
22804         (Makefile.am): Update string.h rule.
22805
22806         stdlib: Avoid #define replacements in C++ mode.
22807         * lib/stdlib.in.h: Include c++defs.h.
22808         (atoll, calloc, canonicalize_file_name, getloadavg, getsubopt, malloc,
22809         mkdtemp, mkostemp, mkostemps, mkstemp, mkstemps, putenv, random_r,
22810         srandom_r, initstate_r, setstate_r, realloc, realpath, rpmatch, setenv,
22811         strtod, strtoll, strtoull, unsetenv): In C++, define a namespaced alias
22812         symbol.
22813         * modules/stdlib (Depends-on): Add c++defs.
22814         (Makefile.am): Update stdlib.h rule.
22815
22816         stdio: Avoid #define replacements in C++ mode.
22817         * lib/stdio.in.h: Include c++defs.h.
22818         (dprintf, fclose, fflush, fopen, fprintf, fpurge, fputc, fputs,
22819         freopen, fseek, fseeko, ftell, ftello, fwrite, getdelim, getline,
22820         obstack_printf, obstack_vprintf, perror, popen, printf, fputc, putchar,
22821         puts, remove, rename, renameat, snprintf, sprintf, asprintf, vasprintf,
22822         vdprintf, vfprintf, vprintf, vsnprintf, vsprintf): In C++, define a
22823         namespaced alias symbol.
22824         * modules/stdio (Depends-on): Add c++defs.
22825         (Makefile.am): Update stdio.h rule.
22826
22827         spawn: Avoid #define replacements in C++ mode.
22828         * lib/spawn.in.h: Include c++defs.h.
22829         (posix_spawn, posix_spawnp, posix_spawnattr_init,
22830         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
22831         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
22832         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
22833         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
22834         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
22835         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
22836         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
22837         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
22838         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
22839         In C++, define a namespaced alias symbol.
22840         * modules/spawn (Depends-on): Add c++defs.
22841         (Makefile.am): Update spawn.h rule.
22842
22843         signal: Avoid #define replacements in C++ mode.
22844         * lib/signal.in.h: Include c++defs.h.
22845         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
22846         sigpending, sigprocmask, signal, raise, sigaction): In C++, define a
22847         namespaced alias symbol.
22848         * modules/signal (Depends-on): Add c++defs.
22849         (Makefile.am): Update signal.h rule.
22850
22851         search: Avoid #define replacements in C++ mode.
22852         * lib/search.in.h: Include c++defs.h.
22853         (_gl_search_compar_fn, _gl_search_action_fn): New types.
22854         (tsearch, tfind, tdelete, twalk): In C++, define a namespaced alias
22855         symbol.
22856         * modules/search (Depends-on): Add c++defs.
22857         (Makefile.am): Update search.h rule.
22858
22859         math: Avoid #define replacements in C++ mode.
22860         * lib/math.in.h: Include c++defs.h.
22861         (frexp, acosl, asinl, atanl, ceilf, ceill, cosl, expl, floorf, floorl,
22862         frexpl, ldexpl, logl, roundf, round, roundl, sinl, sqrtl, tanl, truncf,
22863         trunc, truncl): In C++, define a namespaced alias symbol.
22864         * modules/math (Depends-on): Add c++defs.
22865         (Makefile.am): Update math.h rule.
22866
22867         locale: Avoid #define replacements in C++ mode.
22868         * lib/locale.in.h: Include c++defs.h.
22869         (duplocale): In C++, define a namespaced alias symbol.
22870         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize HAVE_DUPLOCALE.
22871         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Set HAVE_DUPLOCALE.
22872         * modules/locale (Depends-on): Add c++defs.
22873         (Makefile.am): Update locale.h rule. Substitute HAVE_DUPLOCALE.
22874
22875         langinfo: Avoid #define replacements in C++ mode.
22876         * lib/langinfo.in.h: Include c++defs.h.
22877         (nl_langinfo): In C++, define a namespaced alias symbol.
22878         * modules/langinfo (Depends-on): Add c++defs.
22879         (Makefile.am): Update langinfo.h rule.
22880
22881         iconv-h: Avoid #define replacements in C++ mode.
22882         * lib/iconv.in.h: Include c++defs.h, warn-on-use.h.
22883         (iconv_open, iconv, iconv_close): In C++, define a namespaced alias
22884         symbol.
22885         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
22886         whenever iconv is present.
22887         * modules/iconv-h (Depends-on): Add c++defs, warn-on-use.
22888         (Makefile.am): Update iconv.h rule.
22889
22890         glob: Avoid #define replacements in C++ mode.
22891         * lib/glob.in.h: Include c++defs.h, warn-on-use.h.
22892         (_gl_glob_errfunc_fn): New type.
22893         (glob, globfree, glob_pattern_p): In C++, define a namespaced alias
22894         symbol.
22895         * modules/glob (Depends-on): Add c++defs, warn-on-use.
22896         (Makefile.am): Update glob.h rule.
22897
22898         fcntl-h: Avoid #define replacements in C++ mode.
22899         * lib/fcntl.in.h: Include c++defs.h.
22900         (fcntl, open, openat): In C++, define a namespaced alias symbol.
22901         * modules/fcntl-h (Depends-on): Add c++defs.
22902         (Makefile.am): Update fcntl.h rule.
22903
22904         dirent: Avoid #define replacements in C++ mode.
22905         * lib/dirent.in.h: Include c++defs.h.
22906         (closedir, fdopendir, opendir, scandir, alphasort): In C++, define a
22907         namespaced alias symbol.
22908         (dirfd): Update declaration.
22909         * modules/dirent (Depends-on): Add c++defs.
22910         (Makefile.am): Update dirent.h rule.
22911
22912         ctype: Make it usable in C++ code.
22913         * lib/ctype.in.h: Include c++defs.h.
22914         (isblank): Declare as extern "C".
22915         * modules/ctype (Depends-on): Add c++defs.
22916         (Makefile.am): Update ctype.h rule.
22917
22918         New module 'c++defs'.
22919         * modules/c++defs: New file.
22920         * build-aux/c++defs.h: New file.
22921         Reported by John W. Eaton <jwe@gnu.org>.
22922
22923 2010-03-07  Bruno Haible  <bruno@clisp.org>
22924
22925         logb: Provide missing declaration for Cygwin.
22926         * lib/math.in.h (logb): New declaration.
22927         * m4/logb.m4: New file.
22928         * modules/logb (Files): Add m4/logb.m4.
22929         (Depends-on): Add math.
22930         (configure.ac): Invoke gl_FUNC_LOGB, gl_MATH_MODULE_INDICATOR.
22931         * m4/math_h.m4 (gl_MATH_H): Check also for logb declaration.
22932         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGB, HAVE_DECL_LOGB.
22933         * modules/math (Makefile.am): Substitute GNULIB_LOGB, HAVE_DECL_LOGB.
22934         * doc/posix-functions/logb.texi: Mention the Cygwin bug.
22935
22936 2010-03-07  Bruno Haible  <bruno@clisp.org>
22937
22938         Fix test-cond link error.
22939         * tests/test-cond.c: Include <stdio.h>.
22940
22941 2010-03-07  Bruno Haible  <bruno@clisp.org>
22942
22943         Fix test-dirent-safer link error.
22944         * modules/dirent-safer-tests (Makefile.am): Define
22945         test_dirent_safer_LDADD.
22946
22947 2010-03-07  Bruno Haible  <bruno@clisp.org>
22948
22949         * gnulib-tool (func_create_testdir): Don't use 'lib-ignore' module
22950         among default module list.
22951
22952 2010-03-07  Bruno Haible  <bruno@clisp.org>
22953
22954         Fix link error on platforms with GNU libiconv.
22955         * modules/unistr/u8-strcoll-tests (Makefile): Define
22956         test_u8_strcoll_LDADD.
22957         * modules/unistr/u16-strcoll-tests (Makefile): Define
22958         test_u16_strcoll_LDADD.
22959         * modules/unistr/u32-strcoll-tests (Makefile): Define
22960         test_u32_strcoll_LDADD.
22961
22962 2010-03-07  Bruno Haible  <bruno@clisp.org>
22963
22964         Use POSIX declarations for socket functions.
22965         * lib/sys_socket.in.h (rpl_connect, rpl_accept, rpl_bind,
22966         rpl_getpeername, rpl_getsockname, rpl_recv, rpl_send, rpl_recvfrom,
22967         rpl_sendto): Change declaration to match POSIX.
22968         * lib/connect.c (rpl_connect): Likewise.
22969         * lib/accept.c (rpl_accept): Likewise.
22970         * lib/bind.c (rpl_bind): Likewise.
22971         * lib/getpeername.c (rpl_getpeername): Likewise.
22972         * lib/getsockname.c (rpl_getsockname): Likewise.
22973         * lib/recv.c (rpl_recv): Likewise.
22974         * lib/send.c (rpl_send): Likewise.
22975         * lib/recvfrom.c (rpl_recvfrom): Likewise.
22976         * lib/sendto.c (rpl_sendto): Likewise.
22977
22978 2010-03-06  Bruno Haible  <bruno@clisp.org>
22979
22980         Clarify access, euidaccess, faccessat.
22981         * doc/posix-functions/faccessat.texi: Mention security problem under
22982         "Other problems", not "Portability problems".
22983         * doc/posix-functions/access.texi: Likewise. Mention a related security
22984         problem.
22985         * doc/glibc-functions/euidaccess.texi: Mention security problems.
22986         * lib/euidaccess.c: Add comments about platforms.
22987         * lib/unistd.in.h (access, euidaccess): Add warnings.
22988
22989 2010-03-07  Bruno Haible  <bruno@clisp.org>
22990
22991         Ensure posix_spawnattr_{get,set}sched{policy,param} are defined.
22992         * lib/spawn.in.h (POSIX_SPAWN_SETSCHEDPARAM): Define fallback.
22993         (POSIX_SPAWN_SETSCHEDULER): Likewise.
22994         (POSIX_SPAWN_USEVFORK): Define in a way that works when
22995         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
22996         (posix_spawnattr_getschedpolicy, posix_spawnattr_setschedpolicy): Also
22997         declare when POSIX_SPAWN_SETSCHEDULER is zero.
22998         (posix_spawnattr_getschedparam, posix_spawnattr_setschedparam): Also
22999         declare when POSIX_SPAWN_SETSCHEDPARAM is zero.
23000         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Test whether
23001         POSIX_SPAWN_SETSCHEDULER or POSIX_SPAWN_SETSCHEDPARAM are zero.
23002         * modules/posix_spawnattr_getschedparam (configure.ac): Enable the
23003         replacement also when POSIX_SPAWN_SETSCHEDPARAM is zero.
23004         * modules/posix_spawnattr_setschedparam (configure.ac): Likewise.
23005         * modules/posix_spawnattr_getschedpolicy (configure.ac): Enable the
23006         replacement also when POSIX_SPAWN_SETSCHEDULER is zero.
23007         * modules/posix_spawnattr_setschedpolicy (configure.ac): Likewise.
23008         * lib/spawnattr_getschedparam.c (posix_spawnattr_getschedparam): Do
23009         nothing if POSIX_SPAWN_SETSCHEDPARAM is zero.
23010         * lib/spawnattr_setschedparam.c (posix_spawnattr_setschedparam):
23011         Likewise.
23012         * lib/spawnattr_getschedpolicy.c (posix_spawnattr_getschedpolicy): Do
23013         nothing if POSIX_SPAWN_SETSCHEDULER is zero.
23014         * lib/spawnattr_setschedpolicy.c (posix_spawnattr_setschedpolicy):
23015         Likewise.
23016         * tests/test-spawn.c (main): Make it work when
23017         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
23018
23019 2010-03-07  Bruno Haible  <bruno@clisp.org>
23020
23021         Fix incorrect Makefile.am generation in German locale.
23022         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
23023         Execute sed command with character range in C locale.
23024
23025 2010-03-06  Bruno Haible  <bruno@clisp.org>
23026
23027         Tests for module 'iconv-h'.
23028         * modules/iconv-h-tests: New file.
23029         * tests/test-iconv-h.c: New file.
23030
23031         New module 'iconv-h'.
23032         * modules/iconv-h: New file.
23033         * modules/iconv_open (Files): Remove lib/iconv.in.h, m4/iconv_h.m4.
23034         (Depends-on): Add iconv-h. Remove include_next, arg-nonnull.
23035         (configure.ac): Remove gl_ICONV_H.
23036         (Makefile.am): Remove rule for iconv.h.
23037
23038 2010-03-06  Bruno Haible  <bruno@clisp.org>
23039
23040         More consistent naming of *.m4 files.
23041         * m4/wctype_h.m4: Renamed from m4/wctype.m4.
23042         * modules/wctype (Files): Update.
23043
23044         More consistent naming of *.m4 files.
23045         * m4/wchar_h.m4: Renamed from m4/wchar.m4.
23046         * modules/wchar (Files): Update.
23047
23048 2010-03-06  Jim Meyering  <meyering@redhat.com>
23049
23050         euidaccess: relax license to LGPLv2+
23051         * modules/euidaccess (License): Relax to LGPLv2+.
23052
23053 2010-03-06  Bruno Haible  <bruno@clisp.org>
23054
23055         Prefer lib_SOURCES over unconditional AC_LIBOBJ.
23056         * modules/exitfail (configure.ac): Remove AC_LIBOBJ invocation.
23057         (Makefile.am): Augment lib_SOURCES instead.
23058
23059 2010-03-04  Jim Meyering  <meyering@redhat.com>
23060
23061         utime: remove obsolete module
23062         This module, like autoconf's AC_FUNC_UTIME_NULL macro, has been
23063         unnecessary for years, and has been marked as obsolete for 10 months.
23064         * modules/utime: Remove file.
23065         * lib/utime.c: Remove file.
23066         * m4/utime.m4: Remove file.
23067         * m4/utimes-null.m4: Remove file.
23068         * doc/posix-functions/utime.texi (utime): Remove reference to
23069         the module.  Move the sole "fixed by gnulib" item into the
23070         "problems not fixed by Gnulib" list.
23071         * MODULES.html.sh (func_all_modules): Remove reference to "utime".
23072
23073 2010-03-05  Simon Josefsson  <simon@josefsson.org>
23074
23075         * modules/exit (License): Relax license to LGPLv2+.
23076         (Status): Mark as obsolete.
23077         * NEWS: Mention deprecated 'exit' module.
23078         * doc/posix-functions/exit.texi: Recommend 'stdlib' module instead
23079         of now obsolete 'exit'.
23080
23081 2010-03-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
23082
23083         fts-lgpl: remove unused module
23084         * modules/fts-lgpl: Remove.
23085         * MODULES.html.sh (func_all_modules): Adjust.
23086         * check-module (find_included_lib_files): Adjust.
23087         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove.
23088
23089 2010-03-02  Ben Walton  <bwalton@artsci.utoronto.ca>  (tiny change)
23090
23091         copy-acl: enhance Solaris ACL error handling
23092         * lib/copy-acl.c (qcopy_acl): Also ignore EOPNOTSUPP.
23093         * lib/set-mode-acl.c (qset_acl): Likewise.
23094
23095 2010-03-02  Bruno Haible  <bruno@clisp.org>
23096
23097         spawn: Don't override the system defined values on FreeBSD 8.
23098         * lib/spawn.in.h (POSIX_SPAWN_RESETIDS, POSIX_SPAWN_SETPGROUP,
23099         POSIX_SPAWN_SETSIGDEF, POSIX_SPAWN_SETSIGMASK,
23100         POSIX_SPAWN_SETSCHEDPARAM, POSIX_SPAWN_SETSCHEDULER): Don't redefine
23101         if HAVE_POSIX_SPAWN is 1.
23102         Reported by Johan van Selst <johans@stack.nl> via Eric Blake.
23103
23104 2010-03-01  Bruno Haible  <bruno@clisp.org>
23105
23106         * doc/gnulib-tool.texi (Initial import): Clarify the requirements
23107         regarding Automake.
23108
23109 2010-02-25  Bruno Haible  <bruno@clisp.org>
23110
23111         Fix breakage of gnulib-tool with ksh, introduced on 2010-02-21.
23112         * gnulib-tool: Define 'echo' as a function only before the ksh alias
23113         setting, not afterwards.
23114         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
23115
23116 2010-02-24  Eric Blake  <eblake@redhat.com>
23117
23118         bootstrap, git-version-gen: use timestamp
23119         * build-aux/git-version-gen (scriptversion): Force UTC.
23120         * build-aux/bootstrap (scriptversion): New variable.
23121
23122         bootstrap: allow older git
23123         * build-aux/bootstrap (GNULIB_SRCDIR): Add fallback if git is
23124         older than 1.6.4.  Requested by the libvirt project.
23125
23126 2010-02-23  Eric Blake  <eblake@redhat.com>
23127
23128         warn-on-use: work with old autoconf
23129         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Accomodate older
23130         AS_VAR semantics of autoconf 2.60.
23131         Reported by Bruno Haible.
23132
23133         bootstrap: improve some comments
23134         * build-aux/bootstrap: Drop unneeded emacs hint.  Add some
23135         clarification comments.
23136
23137         gettimeofday: provide correct function
23138         * lib/gettimeofday.c (gettimeofday): Provide rpl_gettimeofday only
23139         when replacement is declared, otherwise provide gettimeofday.
23140         Reported by Michael Goffioul.
23141
23142 2010-02-23  Jim Meyering  <meyering@redhat.com>
23143
23144         lib-ignore: relax license to "unlimited", not LGPLv2+
23145         * modules/lib-ignore (License): Relax to "unlimited".
23146
23147 2010-02-23  Jim Meyering  <meyering@redhat.com>
23148
23149         lib-ignore: relax license to LGPLv2+
23150         * modules/lib-ignore (License): Relax to LGPLv2+.
23151
23152 2010-02-22  Eric Blake  <eblake@redhat.com>
23153
23154         lseek: avoid bash 3.2 broken pipe bug
23155         * m4/lseek.m4 (gl_FUNC_LSEEK): Drain pipe, to avoid spurious
23156         warning from bash 3.2.
23157         Reported by Ben Pfaff, with analysis from Bruno Haible.
23158
23159         bootstrap: support non-FSF copyright holder
23160         * build-aux/bootstrap (COPYRIGHT_HOLDER, with_gettext): Allow
23161         bootstrap.conf override of COPYRIGHT_HOLDER.
23162         (MSGID_BUGS_ADDRESS): Allow URL rather than email.
23163
23164         bootstrap: interoperate with gettext 0.14.1
23165         * build-aux/bootstrap (slurp): Fix typo when using older gettext.
23166
23167         bootstrap: allow for alternate submodule location
23168         * build-aux/bootstrap (gnulib_path): New variable; use instead of
23169         hardcoding submodule location.
23170         (gnulib_mk): Allow direct use of Makefile.am.
23171
23172         bootstrap: use GNULIB_SRCDIR to reduce disk usage
23173         * build-aux/bootstrap (GNULIB_SRCDIR): If set, use as a reference,
23174         rather than reconfiguring where the submodule points.
23175
23176         gettimeofday: restore support for platforms that lack function
23177         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Also compile
23178         replacement if function is missing.
23179         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS): New witness.
23180         * modules/sys_time (Makefile.am): Substitute it.
23181         * lib/sys_time.in.h (gettimeofday): Check it.
23182         Reported by Michael Goffioul.
23183
23184 2010-02-21  Bruno Haible  <bruno@clisp.org>
23185
23186         * lib/stdio.in.h (obstack_printf): Fix typo.
23187
23188 2010-02-21  Jose E. Marchesi  <jemarch@gnu.org>
23189
23190         vc-list-files: use bzr ls's -R option
23191         * build-aux/vc-list-files: Invoke bazaar to generate a recursive
23192         list of versioned files based on 'dir' (usage of -R in 'bzr ls').
23193
23194 2010-02-21  Jim Meyering  <meyering@redhat.com>
23195
23196         init.sh: fix EXEEXT shims to work also for names like test-prog
23197         * tests/init.sh: Re-exec a better shell, when needed.
23198         If the current shell lacks support for posix $(...), an init.sh-using
23199         test will now try to find a shell that supports that.  If EXEEXT is
23200         nonempty, we also require support for hyphen-in-alias-name and shell
23201         substitutions like ${var#glob}.  Failure to find such a shell results
23202         in a skipped test.
23203
23204 2010-02-21  Bruno Haible  <bruno@clisp.org>
23205
23206         Really work around around "broken pipe" error message from bash 3.2.
23207         * gnulib-tool (func_reset_sigpipe): Remove function.
23208         (echo): In bash 3.2, define to a function that uses printf.
23209         Analyzed by Ralf Wildenhues, Chet Ramey, Ben Pfaff.
23210
23211 2010-02-20  Bruno Haible  <bruno@clisp.org>
23212
23213         Restore support for automake 1.9.6 with autoconf 2.61.
23214         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Ensure MKDIR_P is AC_SUBSTed.
23215         Reported by James Youngman <jay@gnu.org>.
23216
23217 2010-02-20  Bruno Haible  <bruno@clisp.org>
23218
23219         Improve *printf warning condition.
23220         * lib/stdio.in.h (fprintf, printf, vfprintf, vprintf): Emit warning
23221         also if GNULIB_POSIXCHECK is defined, the *-posix module is not used,
23222         and the function is overridden due to SIGPIPE emulation.
23223
23224 2010-02-20  Bruno Haible  <bruno@clisp.org>
23225
23226         * lib/stdio.in.h: Tweak comments.
23227
23228 2010-02-19  Bruno Haible  <bruno@clisp.org>
23229
23230         Make it easier to find modules. New gnulib-tool option '--find'.
23231         * gnulib-tool: New option --find.
23232         (func_usage): Document it.
23233         (func_sanitize_modulelist): New function, extracted from
23234         func_all_modules.
23235         (func_all_modules): Invoke it.
23236         * doc/gnulib-tool.texi (Which modules?): New node.
23237
23238 2010-02-18  Markus Duft <mduft@gentoo.org>  (tiny change)
23239
23240         * lib/sys_select.in.h: Provide select replacement even if
23241         sys/select.h exists on a system, for Interix.
23242
23243 2010-02-18  Jim Meyering  <meyering@redhat.com>
23244
23245         init.sh: don't use $(...) just yet
23246         * tests/init.sh (create_exe_shim_functions_): Use `...`, not $(...),
23247         to accommodate e.g., Solaris' /bin/sh.
23248
23249 2010-02-17  Bruno Haible  <bruno@clisp.org>
23250
23251         * doc/posix-headers/netdb.texi: Mention NetBSD 5.0 problem.
23252         Reported by Ludovic Courtès <ludo@gnu.org>.
23253
23254 2010-02-16  Simon Josefsson  <simon@josefsson.org>
23255
23256         * modules/userspec-tests (test_userspec_LDADD): Add variable, for
23257         linking with -lintl.
23258
23259 2010-02-17  Simon Josefsson  <simon@josefsson.org>
23260
23261         * lib/netdb.in.h (AI_V4MAPPED, AI_ALL, AI_ADDRCONFIG): Define to 0
23262         if not provided by the system's netdb.h.  Reported by
23263         ludo@gnu.org (Ludovic Courtès).
23264
23265 2010-02-15  Jim Meyering  <meyering@redhat.com>
23266
23267         init.sh: improve portability and efficiency
23268         * tests/init.sh (find_exe_basenames_): Remove unnecessary use of
23269         "dummy" in a for loop.
23270         Use '!', not '^' to select the complement of a character set used
23271         in a "case" statement.
23272         Use shell variable manipulation, a la ${...%.exe}, rather than sed.
23273         Suggestions from Eric Blake.
23274
23275         init.sh: automatically accommodate programs with the .exe suffix
23276         Automatically arrange for an invocation of "prog" to execute the
23277         program named "prog$EXEEXT" (usually prog.exe).  Thus, all invocations
23278         may use the simpler "prog", yet still work when built on a system
23279         that requires specifying the added suffix.
23280         Do this by constructing a function named "prog" that invokes
23281         "prog.exe" for each .exe file in selected directories.
23282         * tests/init.sh (find_exe_basenames_): New function.
23283         (create_exe_shim_functions_): New function.
23284         (path_prepend_): Use it.
23285
23286         maint.mk: mark syntax-check sc_*.m rules as .PHONY
23287         * top/maint.mk ($(syntax-check-rules)): Add .PHONY, so that
23288         "make -t syntax-check" doesn't create a ton of sc_*.m files.
23289
23290 2010-02-14  Jim Meyering  <meyering@redhat.com>
23291
23292         maint.mk: prohibit inclusion of "hash-pjw.h" without_use
23293         * top/maint.mk (sc_prohibit_hash_without_use): Re-add "@".
23294         (sc_prohibit_hash_pjw_without_use): New rule.
23295
23296         maint.mk: allow the default upload destination dir to be overridden
23297         * top/maint.mk (upload_dest_dir_): Define with a default that
23298         preserves the status quo.
23299         (emit_upload_commands): Use it, rather than hard-coding $(PACKAGE).
23300         Reported by Peter Simons.
23301
23302         maint.mk: prohibit inclusion of "hash.h" without_use
23303         * top/maint.mk (sc_prohibit_hash_without_use): New rule.
23304
23305 2010-02-10  Jim Meyering  <meyering@redhat.com>
23306
23307         maint.mk: prohibit inclusion of "ignore-value.h" without_use
23308         * top/maint.mk (sc_prohibit_ignore_value_without_use): New rule.
23309
23310 2010-02-09  Eric Blake  <ebb9@byu.net>
23311         and Bruno Haible  <bruno@clisp.org>
23312
23313         obstack-printf-posix: ensure declaration
23314         * m4/obstack-printf.m4 (gl_DECL_OBSTACK_PRINTF): New macro,
23315         extracted from gl_FUNC_OBSTACK_PRINTF.
23316         (gl_FUNC_OBSTACK_PRINTF): Invoke it.
23317         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
23318         Likewise.
23319         * lib/stdio.in.h (obstack_printf, obstack_vprintf): Declare also
23320         if GNULIB_OBSTACK_PRINTF_POSIX is 1 and GNULIB_OBSTACK_PRINTF is
23321         0.
23322
23323 2010-02-08  Bruno Haible  <bruno@clisp.org>
23324
23325         gnulib-tool: Fix typo in 2010-02-07 commit.
23326         * gnulib-tool (func_get_dependencies): Fix typo in last commit.
23327         Reported by Eric Blake.
23328
23329 2010-02-07  Bruno Haible  <bruno@clisp.org>
23330
23331         gnulib-tool: Fix up caching patches.
23332         * gnulib-tool: New options --cache-modules, --no-cache-modules. Remove
23333         option --no-cache. Use associative arrays when supported by the shell.
23334         (sed_comments): New variable.
23335         (modcache): Renamed from do_cache.
23336         (sed_extract_field_header): Renamed from sed_extract_cache_prog. Don't
23337         abbreviate unnecessarily.
23338         (have_associative): New variable.
23339         (func_cache_var): Define correctly for bash 1.x. Define in an optimized
23340         way also for ksh and zsh.
23341         (func_init_sed_convert_to_cache_statements): New function, extracted
23342         from func_cache_lookup_module. Add support for associative arrays.
23343         Don't set the c_MODULE_cached variable here. Ignore all lines before
23344         the first field header. Remove only the final newline, not all trailing
23345         newlines. Support empty fields correctly. Limit the use of 'eval' to
23346         assignments.
23347         (func_get_description, func_get_status, func_get_notice,
23348         func_get_applicability, func_get_filelist, func_get_dependencies,
23349         func_get_autoconf_early_snippet, func_get_autoconf_snippet,
23350         func_get_automake_snippet, func_get_include_directive,
23351         func_get_link_directive, func_get_license, func_get_maintainer):
23352         Update documentation. List the unoptimized code first. Add support for
23353         associative arrays. Limit the use of 'eval' to assignments.
23354         (func_get_applicability): Undo stylistic pessimisations.
23355         (func_get_automake_snippet, func_get_include_directive): Reduce code
23356         duplication.
23357         (func_modules_transitive_closure, func_modules_add_dummy,
23358         func_modules_notice, func_modules_to_filelist, func_add_file,
23359         func_update_file, func_emit_lib_Makefile_am, func_emit_po_Makevars,
23360         func_emit_po_POTFILES_in, func_emit_tests_Makefile_am, func_import,
23361         func_create_testdir, func_create_megatestdir): Update documentation.
23362
23363 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
23364
23365         * gnulib-tool (func_cache_lookup_module): Store the module name
23366         belonging to the cache variable; error out if two different
23367         module names map to the same cache variable name.
23368
23369 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
23370
23371         gnulib-tool: Make caching optional.
23372         * gnulib-tool: Accept option --no-cache, turning off $do_cache.
23373         Update matching short versions of --no-changelog.
23374         (func_usage): Update.
23375         (sed_extract_cache_prog): Renamed from ...
23376         (sed_extract_prog): ... this; revert to old extraction script.
23377         (func_get_description, func_get_status)
23378         (func_get_notice, func_get_applicability, func_get_filelist)
23379         (func_get_dependencies, func_get_autoconf_early_snippet)
23380         (func_get_autoconf_snippet, func_get_automake_snippet)
23381         (func_get_include_directive, func_get_link_directive)
23382         (func_get_license, func_get_maintainer): If $do_cache is false,
23383         use old, non-caching extraction scripts.
23384         Suggestion by Bruno Haible.
23385
23386 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
23387
23388         gnulib-tool: cache module metainformation.
23389         * gnulib-tool (sed_extract_prog): Match newline before each
23390         header, and rewrite header to a shell variable suffix.
23391         (func_cache_var, func_cache_lookup_module): New functions,
23392         to turn a module name into a cache variable prefix, and to
23393         look up and cache module metainformation.
23394         (func_get_description, func_get_status)
23395         (func_get_notice, func_get_applicability, func_get_filelist)
23396         (func_get_dependencies, func_get_autoconf_early_snippet)
23397         (func_get_autoconf_snippet, func_get_automake_snippet)
23398         (func_get_include_directive, func_get_link_directive)
23399         (func_get_license, func_get_maintainer): Use
23400         func_cache_lookup_module.
23401
23402 2010-02-07  Bruno Haible  <bruno@clisp.org>
23403
23404         fnctl: Fix missing dependency.
23405         * modules/fcntl (Depends-on): Add getdtablesize.
23406         Reported by John W. Eaton <jwe@gnu.org>.
23407
23408 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
23409
23410         Argp: fix recognition of short alias options.
23411
23412         * lib/argp-parse.c (convert_options): Fix improper use of
23413         `|' between character values.
23414         * tests/test-argp.c (group1_option): New alias option
23415         --read (-r).
23416         (group1_parser): Special handling for 'r'.
23417         (test15): New test case.
23418         (test_fun): Add test15.
23419         * tests/test-argp-2.sh: Update expected --help and --usage
23420         outputs.
23421
23422 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
23423
23424         * tests/test-argp.c: Fix indentation.
23425
23426 2010-02-04  Eric Blake  <ebb9@byu.net>
23427
23428         gettimeofday: expose type of second argument
23429         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Do better detection
23430         of glibc extension signature, and define GETTIMEOFDAY_TIMEZONE.
23431         * tests/test-gettimeofday.c: Use it to silence warning.
23432         * doc/posix-functions/gettimeofday.texi (gettimeofday): Document
23433         the issue.
23434
23435 2010-02-03  Jim Meyering  <meyering@redhat.com>
23436
23437         regcomp.c: avoid the sole warning from gcc's -Wtype-limits
23438         * lib/regcomp.c (TYPE_SIGNED): Define.
23439         (parse_dup_op): Use it to avoid the sole warning from -Wtype-limits.
23440
23441         regcomp.c: avoid a new -Wshadow warning
23442         * lib/regcomp.c (create_initial_state): Do not shadow local "err".
23443
23444 2010-02-01  Jim Meyering  <meyering@redhat.com>
23445
23446         removing useless parentheses in cpp #define directives
23447         For motivation, see commit c0221df4, "define STREQ(a,b)
23448         consistently, removing useless parentheses"
23449         * lib/memcmp.c (CMP_LT_OR_GT): Remove useless parentheses.
23450         * lib/mountlist.c (MNT_IGNORE): Likewise.
23451         * lib/trim.h (trim, trim_trailing, trim_leading): Likewise.
23452
23453 2010-02-01  Eric Blake  <ebb9@byu.net>
23454
23455         sys_time: use link-warning
23456         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Split defaults...
23457         (gl_HEADER_SYS_TIME_H_DEFAULTS): ...into new macro.
23458         (gl_SYS_TIME_MODULE_INDICATOR): New macro.
23459         * modules/sys_time (Depends-on): Add warn-on-use.
23460         (Makefile.am): Always build replacement.
23461         (configure.ac): Update substitutions.
23462         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY)
23463         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Include defaults, and no longer
23464         bother with SYS_TIME_H.
23465         * modules/gettimeofday (configure.ac): Declare indicator.
23466         * lib/sys_time.in.h (gettimeofday): Warn if gnulib module is not
23467         in use.
23468
23469         closein-tests: silence compiler warning
23470         * tests/test-closein.c (main): Ignore fread result.
23471         * modules/closein-tests (Depends-on): Add ignore-value.
23472
23473         tests: silence warning about system return
23474         * tests/test-areadlink-with-size.c (main): Ignore system result.
23475         * tests/test-areadlink.c (main): Likewise.
23476         * tests/test-areadlinkat-with-size.c (main): Likewise.
23477         * tests/test-areadlinkat.c (main): Likewise.
23478         * tests/test-canonicalize-lgpl.c (main): Likewise.
23479         * tests/test-canonicalize.c (main): Likewise.
23480         * tests/test-chown.c (main): Likewise.
23481         * tests/test-fchownat.c (main): Likewise.
23482         * tests/test-fdutimensat.c (main): Likewise.
23483         * tests/test-fstatat.c (main): Likewise.
23484         * tests/test-futimens.c (main): Likewise.
23485         * tests/test-lchown.c (main): Likewise.
23486         * tests/test-link.c (main): Likewise.
23487         * tests/test-linkat.c (main): Likewise.
23488         * tests/test-lstat.c (main): Likewise.
23489         * tests/test-mkdir.c (main): Likewise.
23490         * tests/test-mkdirat.c (main): Likewise.
23491         * tests/test-mkfifo.c (main): Likewise.
23492         * tests/test-mkfifoat.c (main): Likewise.
23493         * tests/test-mknod.c (main): Likewise.
23494         * tests/test-readlink.c (main): Likewise.
23495         * tests/test-remove.c (main): Likewise.
23496         * tests/test-rename.c (main): Likewise.
23497         * tests/test-renameat.c (main): Likewise.
23498         * tests/test-rmdir.c (main): Likewise.
23499         * tests/test-symlink.c (main): Likewise.
23500         * tests/test-symlinkat.c (main): Likewise.
23501         * tests/test-unlink.c (main): Likewise.
23502         * tests/test-unlinkat.c (main): Likewise.
23503         * tests/test-utimens.c (main): Likewise.
23504         * tests/test-utimensat.c (main): Likewise.
23505         * modules/areadlink-tests (Depends-on): Add ignore-value.
23506         * modules/areadlink-with-size-tests (Depends-on): Likewise.
23507         * modules/areadlinkat-tests (Depends-on): Likewise.
23508         * modules/areadlinkat-with-size-tests (Depends-on): Likewise.
23509         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
23510         * modules/canonicalize-tests (Depends-on): Likewise.
23511         * modules/chown-tests (Depends-on): Likewise.
23512         * modules/fdutimensat-tests (Depends-on): Likewise.
23513         * modules/futimens-tests (Depends-on): Likewise.
23514         * modules/lchown-tests (Depends-on): Likewise.
23515         * modules/link-tests (Depends-on): Likewise.
23516         * modules/linkat-tests (Depends-on): Likewise.
23517         * modules/lstat-tests (Depends-on): Likewise.
23518         * modules/mkdir-tests (Depends-on): Likewise.
23519         * modules/mkfifo-tests (Depends-on): Likewise.
23520         * modules/mkfifoat-tests (Depends-on): Likewise.
23521         * modules/mknod-tests (Depends-on): Likewise.
23522         * modules/openat-tests (Depends-on): Likewise.
23523         * modules/readlink-tests (Depends-on): Likewise.
23524         * modules/remove-tests (Depends-on): Likewise.
23525         * modules/rename-tests (Depends-on): Likewise.
23526         * modules/renameat-tests (Depends-on): Likewise.
23527         * modules/rmdir-tests (Depends-on): Likewise.
23528         * modules/symlink-tests (Depends-on): Likewise.
23529         * modules/symlinkat-tests (Depends-on): Likewise.
23530         * modules/unlink-tests (Depends-on): Likewise.
23531         * modules/utimens-tests (Depends-on): Likewise.
23532         * modules/utimensat-tests (Depends-on): Likewise.
23533
23534 2010-01-31  Bruno Haible  <bruno@clisp.org>
23535
23536         Perform the same test for many <math.h> functions.
23537         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC,
23538         gl_COMMON_DOUBLE_MATHFUNC_TEST): New macros.
23539         * m4/sqrt.m4 (gl_FUNC_SQRT): Invoke gl_COMMON_DOUBLE_MATHFUNC instead
23540         of gl_MATHFUNC.
23541         * modules/acos (configure.ac): Likewise.
23542         * modules/asin (configure.ac): Likewise.
23543         * modules/atan (configure.ac): Likewise.
23544         * modules/atan2 (configure.ac): Likewise.
23545         * modules/cbrt (configure.ac): Likewise.
23546         * modules/copysign (configure.ac): Likewise.
23547         * modules/cos (configure.ac): Likewise.
23548         * modules/cosh (configure.ac): Likewise.
23549         * modules/erf (configure.ac): Likewise.
23550         * modules/erfc (configure.ac): Likewise.
23551         * modules/exp (configure.ac): Likewise.
23552         * modules/fmod (configure.ac): Likewise.
23553         * modules/hypot (configure.ac): Likewise.
23554         * modules/j0 (configure.ac): Likewise.
23555         * modules/j1 (configure.ac): Likewise.
23556         * modules/jn (configure.ac): Likewise.
23557         * modules/lgamma (configure.ac): Likewise.
23558         * modules/log (configure.ac): Likewise.
23559         * modules/log10 (configure.ac): Likewise.
23560         * modules/log1p (configure.ac): Likewise.
23561         * modules/pow (configure.ac): Likewise.
23562         * modules/remainder (configure.ac): Likewise.
23563         * modules/sin (configure.ac): Likewise.
23564         * modules/sinh (configure.ac): Likewise.
23565         * modules/tan (configure.ac): Likewise.
23566         * modules/tanh (configure.ac): Likewise.
23567         * modules/y0 (configure.ac): Likewise.
23568         * modules/y1 (configure.ac): Likewise.
23569         * modules/yn (configure.ac): Likewise.
23570         Suggested by Paolo Bonzini.
23571
23572 2010-01-31  Bruno Haible  <bruno@clisp.org>
23573
23574         * m4/getline.m4 (gl_FUNC_GETLINE): Add comment about REPLACE_GETLINE.
23575
23576 2010-01-31  Bruno Haible  <bruno@clisp.org>
23577
23578         Work around getdelim() bug on FreeBSD 8.0.
23579         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Test whether getdelim supports an
23580         initially NULL line. Set REPLACE_GETDELIM if getdelim exists but does
23581         not work.
23582         * lib/stdio.in.h (getdelim): Define as an alias if REPLACE_GETDELIM
23583         is 1.
23584         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize REPLACE_GETDELIM.
23585         * modules/stdio (Makefile.am): Also substitute REPLACE_GETDELIM.
23586         * tests/test-getdelim.c (main): Also test result for a NULL buffer and
23587         a non-zero size.
23588         * doc/posix-functions/getdelim.texi: Mention the FreeBSD bug.
23589
23590 2010-01-31  Bruno Haible  <bruno@clisp.org>
23591
23592         Work around getline() bug on FreeBSD 8.0.
23593         * m4/getline.m4 (gl_FUNC_GETLINE): Also test result for a NULL buffer
23594         and a non-zero size.
23595         * tests/test-getline.c (main): Likewise.
23596         * doc/posix-functions/getline.texi: Mention the FreeBSD bug.
23597         Reported by Dennis <noordsij@cs.helsinki.fi> via Eric Blake.
23598
23599 2010-01-28  Eric Blake  <ebb9@byu.net>
23600
23601         regex: fix build failure
23602         * lib/regex_internal.h (__GNUC_PREREQ): Define for non-glibc
23603         platforms.
23604
23605 2010-01-28  Jim Meyering  <meyering@redhat.com>
23606
23607         regex: do not ignore memory allocation failure
23608         * lib/regex_internal.c (create_cd_newstate): Detect
23609         re_node_set_init_copy failure.   Extracted from glibc commit
23610         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
23611
23612         regex: sync more white-space changes from libc
23613         * lib/regex_internal.c: White-space only changes.
23614         * lib/regexec.c: Likewise.
23615
23616         regex: add many uses of __attribute_warn_unused_result__
23617         * lib/regex_internal.c: Use __attribute_warn_unused_result__.
23618         * lib/regexec.c: Likewise.
23619         Extracted from a messy glibc commit.
23620
23621         regcomp.c: spelling and merge-artifact from glibc
23622         * lib/regcomp.c: Merge remainder of glibc's
23623         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
23624
23625         regcomp.c: sync white-space changes from glibc
23626         * lib/regcomp.c: Merge to accommodate white space
23627         changes from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
23628
23629         regcomp.c: do not ignore internal return values
23630         * lib/regcomp.c: Do not ignore internal return values.
23631         This is from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c,
23632         but without its white-space changes and spelling fixes.
23633
23634         regex_internal.h: define __attribute_warn_unused_result__
23635         * lib/regex_internal.h (__attribute_warn_unused_result__): Define.
23636
23637         maint: add a syntax-check rule to check for vulnerable Makefile.in
23638         * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): New rule.
23639
23640 2010-01-27  Jim Meyering  <meyering@redhat.com>
23641
23642         ncftpput-ftp: clean up spaces
23643         * build-aux/ncftpput-ftp: Make Copyright line consistent.
23644         Remove trailing blanks.
23645
23646 2010-01-27  Simon Josefsson  <simon@josefsson.org>
23647
23648         * build-aux/git-version-gen: Fix copyright statement.
23649         * build-aux/gnupload: Likewise.
23650         * tests/test-arcfour.c: Likewise.
23651         * tests/test-arctwo.c: Likewise.
23652         * tests/test-count-one-bits.c: Likewise.
23653         * tests/test-crc.c: Likewise.
23654         * tests/test-des.c: Likewise.
23655         * tests/test-gc-arcfour.c: Likewise.
23656         * tests/test-gc-arctwo.c: Likewise.
23657         * tests/test-gc-des.c: Likewise.
23658         * tests/test-gc-hmac-md5.c: Likewise.
23659         * tests/test-gc-hmac-sha1.c: Likewise.
23660         * tests/test-gc-md2.c: Likewise.
23661         * tests/test-gc-md4.c: Likewise.
23662         * tests/test-gc-md5.c: Likewise.
23663         * tests/test-gc-pbkdf2-sha1.c: Likewise.
23664         * tests/test-gc-rijndael.c: Likewise.
23665         * tests/test-gc-sha1.c: Likewise.
23666         * tests/test-gc.c: Likewise.
23667         * tests/test-gethostname.c: Likewise.
23668         * tests/test-gettimeofday.c: Likewise.
23669         * tests/test-hash.c: Likewise.
23670         * tests/test-hmac-md5.c: Likewise.
23671         * tests/test-hmac-sha1.c: Likewise.
23672         * tests/test-md2.c: Likewise.
23673         * tests/test-md4.c: Likewise.
23674         * tests/test-md5.c: Likewise.
23675         * tests/test-memchr.c: Likewise.
23676         * tests/test-memchr2.c: Likewise.
23677         * tests/test-memcmp.c: Likewise.
23678         * tests/test-memmem.c: Likewise.
23679         * tests/test-memrchr.c: Likewise.
23680         * tests/test-rawmemchr.c: Likewise.
23681         * tests/test-read-file.c: Likewise.
23682         * tests/test-rijndael.c: Likewise.
23683         * tests/test-sockets.c: Likewise.
23684         * tests/test-strchrnul.c: Likewise.
23685         * tests/test-strstr.c: Likewise.
23686         * tests/test-strtod.c: Likewise.
23687         * build-aux/ncftpput-ftp: Likewise.
23688
23689 2010-01-26  Eric Blake  <ebb9@byu.net>
23690
23691         ignore-value: update recommended header name
23692         * modules/ignore-value (Include): Only use <> for headers that
23693         exist in glibc.
23694
23695 2010-01-26  Jim Meyering  <meyering@redhat.com>
23696
23697         test-userspec.c: avoid compiler warnings
23698         * tests/test-userspec.c (main): Avoid shadowing ("uid"),
23699         and "initialization discards qualifiers..." warnings.
23700         Put the first "uid" in its own scope, and make char* members "const".
23701
23702 2010-01-25  Bruno Haible  <bruno@clisp.org>
23703
23704         gnulib-tool: Make warning diagnostics consistent.
23705         * gnulib-tool (func_warning): New function.
23706         Use it everywhere where gnulib-tool produces output to stderr and it is
23707         not a fatal error.
23708
23709 2010-01-25  Bruno Haible  <bruno@clisp.org>
23710
23711         Fix test dependencies.
23712         * modules/xstrtol-tests (Depends-on): Add inttypes.
23713         * modules/xstrtoll-tests (Depends-on): Likewise. Remove xstrtoll.
23714
23715 2010-01-25 Pádraig Brady <P@draigBrady.com>
23716
23717         syntax-check: detect incorrect boolean macro values in config.h
23718         * modules/maintainer-makefile (configure.ac): Parameterize the location
23719         of config.h which will be available to makefiles as $(CONFIG_INCLUDE).
23720         The logic is from Eric Blake and the location indicated by Jim Meyering.
23721         Note the more natural CONFIG_HEADER name is prohibited by automake
23722         for backwards compatibility reasons.
23723         * top/maint.mk (sc_Wundef_boolean): New rule.
23724
23725 2010-01-25  Jim Meyering  <meyering@redhat.com>
23726
23727         bootstrap: detect MacOS 10.6's shasum, too
23728         * build-aux/bootstrap: Also recognize MacOS 10.6's shasum.
23729         Suggested by Thomas Treichl <Thomas.Treichl@gmx.net>.
23730
23731 2010-01-23  Jim Meyering  <meyering@redhat.com>
23732
23733         xstrtoll: new module
23734         * modules/xstrtoll: New file.
23735         * MODULES.html.sh (Numeric conversion functions): Add xstrtoll.
23736         * lib/xstrtol.h [HAVE_LONG_LONG_INT]: Declare xstrtoll and xstrtoull.
23737         * lib/xstrtoll.c, lib/xstrtoull.c: New files.
23738         ./configure fails if you use this module and lack "long long".
23739         * modules/xstrtoll-tests: New module.
23740         * tests/test-xstrtoll.c, tests/test-xstrtoull.c: New files.
23741         * tests/test-xstrtoll.sh: Like test-xstrtol.c, but use the
23742         new init.sh-based test framework.
23743
23744 2010-01-24  Bruno Haible  <bruno@clisp.org>
23745
23746         Tests for module 'yn'.
23747         * modules/yn-tests: New file.
23748         * tests/test-yn.c: New file.
23749
23750         Tests for module 'y1'.
23751         * modules/y1-tests: New file.
23752         * tests/test-y1.c: New file.
23753
23754         Tests for module 'y0'.
23755         * modules/y0-tests: New file.
23756         * tests/test-y0.c: New file.
23757
23758         Tests for module 'tanh'.
23759         * modules/tanh-tests: New file.
23760         * tests/test-tanh.c: New file.
23761
23762         Tests for module 'tan'.
23763         * modules/tan-tests: New file.
23764         * tests/test-tan.c: New file.
23765
23766         Tests for module 'sqrt'.
23767         * modules/sqrt-tests: New file.
23768         * tests/test-sqrt.c: New file.
23769
23770         Tests for module 'sinh'.
23771         * modules/sinh-tests: New file.
23772         * tests/test-sinh.c: New file.
23773
23774         Tests for module 'sin'.
23775         * modules/sin-tests: New file.
23776         * tests/test-sin.c: New file.
23777
23778         Tests for module 'rint'.
23779         * modules/rint-tests: New file.
23780         * tests/test-rint.c: New file.
23781
23782         Tests for module 'remainder'.
23783         * modules/remainder-tests: New file.
23784         * tests/test-remainder.c: New file.
23785
23786         Tests for module 'pow'.
23787         * modules/pow-tests: New file.
23788         * tests/test-pow.c: New file.
23789
23790         Tests for module 'nextafter'.
23791         * modules/nextafter-tests: New file.
23792         * tests/test-nextafter.c: New file.
23793
23794         Tests for module 'modf'.
23795         * modules/modf-tests: New file.
23796         * tests/test-modf.c: New file.
23797
23798         Tests for module 'logb'.
23799         * modules/logb-tests: New file.
23800         * tests/test-logb.c: New file.
23801
23802         Tests for module 'log1p'.
23803         * modules/log1p-tests: New file.
23804         * tests/test-log1p.c: New file.
23805
23806         Tests for module 'log10'.
23807         * modules/log10-tests: New file.
23808         * tests/test-log10.c: New file.
23809
23810         Tests for module 'log'.
23811         * modules/log-tests: New file.
23812         * tests/test-log.c: New file.
23813
23814         Tests for module 'lgamma'.
23815         * modules/lgamma-tests: New file.
23816         * tests/test-lgamma.c: New file.
23817
23818         Tests for module 'ldexp'.
23819         * modules/ldexp-tests: New file.
23820         * tests/test-ldexp.c: New file.
23821
23822         Tests for module 'jn'.
23823         * modules/jn-tests: New file.
23824         * tests/test-jn.c: New file.
23825
23826         Tests for module 'j1'.
23827         * modules/j1-tests: New file.
23828         * tests/test-j1.c: New file.
23829
23830         Tests for module 'j0'.
23831         * modules/j0-tests: New file.
23832         * tests/test-j0.c: New file.
23833
23834         Tests for module 'hypot'.
23835         * modules/hypot-tests: New file.
23836         * tests/test-hypot.c: New file.
23837
23838         Tests for module 'fmod'.
23839         * modules/fmod-tests: New file.
23840         * tests/test-fmod.c: New file.
23841
23842         Tests for module 'fabs'.
23843         * modules/fabs-tests: New file.
23844         * tests/test-fabs.c: New file.
23845
23846         Tests for module 'exp'.
23847         * modules/exp-tests: New file.
23848         * tests/test-exp.c: New file.
23849
23850         Tests for module 'erfc'.
23851         * modules/erfc-tests: New file.
23852         * tests/test-erfc.c: New file.
23853
23854         Tests for module 'erf'.
23855         * modules/erf-tests: New file.
23856         * tests/test-erf.c: New file.
23857
23858         Tests for module 'cosh'.
23859         * modules/cosh-tests: New file.
23860         * tests/test-cosh.c: New file.
23861
23862         Tests for module 'cos'.
23863         * modules/cos-tests: New file.
23864         * tests/test-cos.c: New file.
23865
23866         Tests for module 'copysign'.
23867         * modules/copysign-tests: New file.
23868         * tests/test-copysign.c: New file.
23869
23870         Tests for module 'cbrt'.
23871         * modules/cbrt-tests: New file.
23872         * tests/test-cbrt.c: New file.
23873
23874         Tests for module 'atan2'.
23875         * modules/atan2-tests: New file.
23876         * tests/test-atan2.c: New file.
23877
23878         Tests for module 'atan'.
23879         * modules/atan-tests: New file.
23880         * tests/test-atan.c: New file.
23881
23882         Tests for module 'asin'.
23883         * modules/asin-tests: New file.
23884         * tests/test-asin.c: New file.
23885
23886         Tests for module 'acos'.
23887         * modules/acos-tests: New file.
23888         * tests/test-acos.c: New file.
23889
23890 2010-01-24  Bruno Haible  <bruno@clisp.org>
23891
23892         Fix tests for common <math.h> functions.
23893         * m4/mathfunc.m4 (gl_MATHFUNC): Take two additional parameters. Use a
23894         code snippet that references the function pointer, rather than merely
23895         calling the function. Substitute the FUNC_LIBM variable.
23896         * m4/sqrt.m4 (gl_FUNC_SQRT): Update gl_MATHFUNC invocation.
23897         * modules/acos (configure.ac): Likewise.
23898         * modules/asin (configure.ac): Likewise.
23899         * modules/atan (configure.ac): Likewise.
23900         * modules/atan2 (configure.ac): Likewise.
23901         * modules/cbrt (configure.ac): Likewise.
23902         * modules/copysign (configure.ac): Likewise.
23903         * modules/cos (configure.ac): Likewise.
23904         * modules/cosh (configure.ac): Likewise.
23905         * modules/erf (configure.ac): Likewise.
23906         * modules/erfc (configure.ac): Likewise.
23907         * modules/exp (configure.ac): Likewise.
23908         * modules/fabs (configure.ac): Likewise.
23909         * modules/fmod (configure.ac): Likewise.
23910         * modules/hypot (configure.ac): Likewise.
23911         * modules/j0 (configure.ac): Likewise.
23912         * modules/j1 (configure.ac): Likewise.
23913         * modules/jn (configure.ac): Likewise.
23914         * modules/ldexp (configure.ac): Likewise.
23915         * modules/lgamma (configure.ac): Likewise.
23916         * modules/log (configure.ac): Likewise.
23917         * modules/log10 (configure.ac): Likewise.
23918         * modules/log1p (configure.ac): Likewise.
23919         * modules/logb (configure.ac): Likewise.
23920         * modules/modf (configure.ac): Likewise.
23921         * modules/nextafter (configure.ac): Likewise.
23922         * modules/pow (configure.ac): Likewise.
23923         * modules/remainder (configure.ac): Likewise.
23924         * modules/rint (configure.ac): Likewise.
23925         * modules/sin (configure.ac): Likewise.
23926         * modules/sinh (configure.ac): Likewise.
23927         * modules/tan (configure.ac): Likewise.
23928         * modules/tanh (configure.ac): Likewise.
23929         * modules/y0 (configure.ac): Likewise.
23930         * modules/y1 (configure.ac): Likewise.
23931         * modules/yn (configure.ac): Likewise.
23932
23933 2010-01-24  Bruno Haible  <bruno@clisp.org>
23934
23935         Tests: Defeat inlining of math functions by GCC >= 4.3.0.
23936         * tests/test-acosl.c (x): New variable.
23937         (main): Store argument in x and fetch it from x.
23938         * tests/test-asinl.c (x): New variable.
23939         (main): Store argument in x and fetch it from x.
23940         * tests/test-atanl.c (x): New variable.
23941         (main): Store argument in x and fetch it from x.
23942         * tests/test-cosl.c (x): New variable.
23943         (main): Store argument in x and fetch it from x.
23944         * tests/test-expl.c (x): New variable.
23945         (main): Store argument in x and fetch it from x.
23946         * tests/test-logl.c (x): New variable.
23947         (main): Store argument in x and fetch it from x.
23948         * tests/test-sinl.c (x): New variable.
23949         (main): Store argument in x and fetch it from x.
23950         * tests/test-sqrtl.c (x): New variable.
23951         (main): Store argument in x and fetch it from x.
23952         * tests/test-tanl.c (x): New variable.
23953         (main): Store argument in x and fetch it from x.
23954
23955 2010-01-24  Bruno Haible  <bruno@clisp.org>
23956
23957         Provide EXEEXT and srcdir in TESTS_ENVIRONMENT by default.
23958         * gnulib-tool (func_emit_tests_Makefile_am): Add EXEEXT and srcdir
23959         assignments to the initial TESTS_ENVIRONMENT.
23960         * doc/gnulib.texi (Unit test modules): Document it.
23961         * modules/acl-tests (Makefile.am): Drop EXEEXT assignment from
23962         TESTS_ENVIRONMENT.
23963         * modules/btowc-tests (Makefile.am): Likewise.
23964         * modules/c-stack-tests (Makefile.am): Likewise.
23965         * modules/c-strcase-tests (Makefile.am): Likewise.
23966         * modules/copy-file-tests (Makefile.am): Likewise.
23967         * modules/mbmemcasecmp-tests (Makefile.am): Likewise.
23968         * modules/mbmemcasecoll-tests (Makefile.am): Likewise.
23969         * modules/mbrtowc-tests (Makefile.am): Likewise.
23970         * modules/mbscasecmp-tests (Makefile.am): Likewise.
23971         * modules/mbscasestr-tests (Makefile.am): Likewise.
23972         * modules/mbschr-tests (Makefile.am): Likewise.
23973         * modules/mbscspn-tests (Makefile.am): Likewise.
23974         * modules/mbsinit-tests (Makefile.am): Likewise.
23975         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
23976         * modules/mbsnrtowcs-tests (Makefile.am): Likewise.
23977         * modules/mbspbrk-tests (Makefile.am): Likewise.
23978         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
23979         * modules/mbsrchr-tests (Makefile.am): Likewise.
23980         * modules/mbsrtowcs-tests (Makefile.am): Likewise.
23981         * modules/mbsspn-tests (Makefile.am): Likewise.
23982         * modules/mbsstr-tests (Makefile.am): Likewise.
23983         * modules/nl_langinfo-tests (Makefile.am): Likewise.
23984         * modules/unicase/locale-language-tests (Makefile.am): Likewise.
23985         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
23986         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
23987         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
23988         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
23989         * modules/uniwbrk/ulc-wordbreaks-tests (Makefile.am): Likewise.
23990         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
23991         * modules/wcrtomb-tests (Makefile.am): Likewise.
23992         * modules/wcsnrtombs-tests (Makefile.am): Likewise.
23993         * modules/wcsrtombs-tests (Makefile.am): Likewise.
23994         * modules/quotearg-tests (Makefile.am): Drop EXEEXT and srcdir
23995         assignments from TESTS_ENVIRONMENT.
23996         * modules/argp-tests (Makefile.am): Drop TESTS_ENVIRONMENT
23997         augmentation.
23998         * modules/argp-version-etc-tests (Makefile.am): Likewise.
23999         * modules/atexit-tests (Makefile.am): Likewise.
24000         * modules/binary-io-tests (Makefile.am): Likewise.
24001         * modules/closein-tests (Makefile.am): Likewise.
24002         * modules/dprintf-posix-tests (Makefile.am): Likewise.
24003         * modules/exclude-tests (Makefile.am): Likewise.
24004         * modules/fflush-tests (Makefile.am): Likewise.
24005         * modules/fpending-tests (Makefile.am): Likewise.
24006         * modules/fprintf-posix-tests (Makefile.am): Likewise.
24007         * modules/freadahead-tests (Makefile.am): Likewise.
24008         * modules/freadptr-tests (Makefile.am): Likewise.
24009         * modules/freadseek-tests (Makefile.am): Likewise.
24010         * modules/fseek-tests (Makefile.am): Likewise.
24011         * modules/fseeko-tests (Makefile.am): Likewise.
24012         * modules/ftell-tests (Makefile.am): Likewise.
24013         * modules/ftello-tests (Makefile.am): Likewise.
24014         * modules/idpriv-drop-tests (Makefile.am): Likewise.
24015         * modules/idpriv-droptemp-tests (Makefile.am): Likewise.
24016         * modules/lseek-tests (Makefile.am): Likewise.
24017         * modules/parse-duration-tests (Makefile.am): Likewise.
24018         * modules/perror-tests (Makefile.am): Likewise.
24019         * modules/pipe-filter-gi-tests (Makefile.am): Likewise.
24020         * modules/pipe-filter-ii-tests (Makefile.am): Likewise.
24021         * modules/pipe-tests (Makefile.am): Likewise.
24022         * modules/pread-tests (Makefile.am): Likewise.
24023         * modules/printf-posix-tests (Makefile.am): Likewise.
24024         * modules/select-tests (Makefile.am): Likewise.
24025         * modules/sigpipe-tests (Makefile.am): Likewise.
24026         * modules/tsearch-tests (Makefile.am): Likewise.
24027         * modules/unicase/ulc-casecmp-tests (Makefile.am): Likewise.
24028         * modules/unicase/ulc-casecoll-tests (Makefile.am): Likewise.
24029         * modules/uniname/uniname-tests (Makefile.am): Likewise.
24030         * modules/uniwidth/width-tests (Makefile.am): Likewise.
24031         * modules/vdprintf-posix-tests (Makefile.am): Likewise.
24032         * modules/version-etc-tests (Makefile.am): Likewise.
24033         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
24034         * modules/vprintf-posix-tests (Makefile.am): Likewise.
24035         * modules/xalloc-die-tests (Makefile.am): Likewise.
24036         * modules/xprintf-posix-tests (Makefile.am): Likewise.
24037         * modules/xstrtoimax-tests (Makefile.am): Likewise.
24038         * modules/xstrtol-tests (Makefile.am): Likewise.
24039         * modules/xstrtoumax-tests (Makefile.am): Likewise.
24040         * modules/yesno-tests (Makefile.am): Likewise.
24041         Suggested by Jim Meyering.
24042
24043 2010-01-24  Bruno Haible  <bruno@clisp.org>
24044
24045         More documentation.
24046         * doc/gnulib.texi (Writing modules): New chapter.
24047         (Miscellaneous Notes): Move sections "Comments" and "Header files" to
24048         the new chapter.
24049
24050 2010-01-24  Jim Meyering  <meyering@redhat.com>
24051
24052         maint.mk: do not prepend "./" after filtering
24053         * top/maint.mk (_prepend_srcdir_prefix): New variable
24054         (VC_LIST_EXCEPT): Use it to avoid prepending (post-filter)
24055         "./" when $(srcdir) is ".".
24056
24057         define STREQ(a,b) consistently, removing useless parentheses
24058         #define STREQ(a, b) (strcmp ((a), (b)) == 0) is over-parenthesized,
24059         since the only risk is that "a" or "b" contains an unparenthesized
24060         comma, but if either did that, STREQ would have 3 or more arguments.
24061         Hence, #define STREQ(a, b) (strcmp (a, b) == 0) is better.
24062         * lib/fts.c (STREQ): Remove unnecessary parentheses.
24063         * lib/hash-triple.c (STREQ): Likewise.
24064         * tests/test-argv-iter.c (STREQ): Use a and b, not s1 and s2.
24065         * lib/getugroups.c (STREQ): Likewise.
24066
24067 2010-01-23  Jim Meyering  <meyering@redhat.com>
24068
24069         maint.mk: fix syntax-check in a non-srcdir build directory
24070         * top/maint.mk (_dot_escaped_srcdir): Remove erroneous backslash,
24071         introduced in my 2010-01-21 commit, a6da6c45.  Reported by Eric Blake.
24072
24073 2010-01-22  Jim Meyering  <meyering@redhat.com>
24074
24075         userspec: add unit tests
24076         * tests/test-userspec.c: New file.
24077         * modules/userspec-tests: Likewise.
24078
24079 2010-01-21  Jim Meyering  <meyering@redhat.com>
24080
24081         maint.mk: handle source file names containing "." robustly
24082         * top/maint.mk (_dot_escaped_srcdir): Define.
24083         (VC_LIST): Use it in LHS of sed substitution.
24084
24085 2010-01-21  Jiri Denemark  <jdenemar@redhat.com>
24086
24087         maint.mk: fix VC_LIST_EXCEPT for srcdir != builddir
24088         * top/maint.mk (VC_LIST_EXCEPT): Preprocess the output of
24089         $(VC_LIST) to remove a prefix of '$(srcdir)/', so that it works
24090         from a non-srcdir build.
24091
24092 2010-01-20  Eric Blake  <ebb9@byu.net>
24093
24094         warn-on-use: use instead of link-warning
24095         * modules/stdio (Depends-on, Makefile.am): Drop link-warning.
24096         * modules/unistd (Depends-on, Makefile.am): Likewise.
24097         * modules/arpa_inet (Depends-on): Replace link-warning with
24098         warn-on-use.
24099         (Makefile.am): Update rules accordingly.
24100         * modules/ctype (Depends-on, Makefile.am): Likewise.
24101         * modules/dirent (Depends-on, Makefile.am): Likewise.
24102         * modules/fcntl-h (Depends-on, Makefile.am): Likewise.
24103         * modules/inttypes (Depends-on, Makefile.am): Likewise.
24104         * modules/langinfo (Depends-on, Makefile.am): Likewise.
24105         * modules/locale (Depends-on, Makefile.am): Likewise.
24106         * modules/math (Depends-on, Makefile.am): Likewise.
24107         * modules/search (Depends-on, Makefile.am): Likewise.
24108         * modules/signal (Depends-on, Makefile.am): Likewise.
24109         * modules/spawn (Depends-on, Makefile.am): Likewise.
24110         * modules/stdlib (Depends-on, Makefile.am): Likewise.
24111         * modules/string (Depends-on, Makefile.am): Likewise.
24112         * modules/strings (Depends-on, Makefile.am): Likewise.
24113         * modules/sys_file (Depends-on, Makefile.am): Likewise.
24114         * modules/sys_ioctl (Depends-on, Makefile.am): Likewise.
24115         * modules/sys_select (Depends-on, Makefile.am): Likewise.
24116         * modules/sys_socket (Depends-on, Makefile.am): Likewise.
24117         * modules/sys_stat (Depends-on, Makefile.am): Likewise.
24118         * modules/sys_times (Depends-on, Makefile.am): Likewise.
24119         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
24120         * modules/wchar (Depends-on, Makefile.am): Likewise.
24121         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Check which functions
24122         should be poisoned.
24123         * m4/ctype.m4 (gl_CTYPE_H): Likewise.
24124         * m4/dirent_h.m4 (gl_DIRENT_H): Likewise.
24125         * m4/fcntl_h.m4 (gl_FCNTL_H): Likewise.
24126         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
24127         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
24128         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
24129         * m4/math_h.m4 (gl_MATH_H): Likewise.
24130         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
24131         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
24132         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
24133         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
24134         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
24135         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
24136         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
24137         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H_DEFAULTS): Likewise.
24138         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
24139         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
24140         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
24141         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
24142         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
24143         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
24144         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
24145         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
24146         * lib/arpa_inet.in.h: Use _GL_WARN_ON_USE instead of
24147         GL_LINK_WARNING.
24148         * lib/ctype.in.h: Likewise.
24149         * lib/dirent.in.h: Likewise.
24150         * lib/fcntl.in.h: Likewise.
24151         * lib/inttypes.in.h: Likewise.
24152         * lib/langinfo.in.h: Likewise.
24153         * lib/locale.in.h: Likewise.
24154         * lib/math.in.h: Likewise.
24155         * lib/search.in.h: Likewise.
24156         * lib/signal.in.h: Likewise.
24157         * lib/spawn.in.h: Likewise.
24158         * lib/stdio.in.h: Likewise.
24159         * lib/stdlib.in.h: Likewise.
24160         * lib/string.in.h: Likewise.
24161         * lib/strings.in.h: Likewise.
24162         * lib/sys_file.in.h: Likewise.
24163         * lib/sys_ioctl.in.h: Likewise.
24164         * lib/sys_select.in.h: Likewise.
24165         * lib/sys_socket.in.h: Likewise.
24166         * lib/sys_stat.in.h: Likewise.
24167         * lib/sys_times.in.h: Likewise.
24168         * lib/sys_utsname.in.h: Likewise.
24169         * lib/unistd.in.h: Likewise.
24170         * lib/wchar.in.h: Likewise.
24171
24172 2010-01-20  Bruno Haible  <bruno@clisp.org>
24173
24174         Avoid duplicate -lm.
24175         * m4/isnan.m4 (gl_ISNAN): Avoid duplicate -lm in $ISNAN_LIBM.
24176         * m4/round.m4 (gl_FUNC_ROUND): Avoid duplicate -lm in $ROUND_LIBM.
24177         * m4/roundf.m4 (gl_FUNC_ROUNDF): Avoid duplicate -lm in $ROUNDF_LIBM.
24178         * m4/roundl.m4 (gl_FUNC_ROUNDL): Avoid duplicate -lm in $ROUNDL_LIBM.
24179         * m4/acosl.m4 (gl_FUNC_ACOSL): Avoid duplicate -lm in $ACOSL_LIBM.
24180         * m4/cosl.m4 (gl_FUNC_COSL): Avoid duplicate -lm in $COSL_LIBM.
24181         * m4/logl.m4 (gl_FUNC_LOGL): Avoid duplicate -lm in $LOGL_LIBM.
24182         * m4/sinl.m4 (gl_FUNC_SINL): Avoid duplicate -lm in $SINL_LIBM.
24183         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Avoid duplicate -lm in $SQRTL_LIBM.
24184         * m4/tanl.m4 (gl_FUNC_TANL): Avoid duplicate -lm in $TANL_LIBM.
24185         * m4/asinl.m4 (gl_FUNC_ASINL): Same change, for consistency.
24186         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
24187         Reported by Paolo Bonzini.
24188
24189 2010-01-19  Bruno Haible  <bruno@clisp.org>
24190
24191         langinfo, nl_langinfo: Relicense under LGPLv2+.
24192         * modules/langinfo (License): Change to LGPLv2+.
24193         * modules/nl_langinfo (License): Likewise.
24194         Patch by David Lutterkort <lutter@redhat.com>.
24195
24196 2010-01-19  Bruno Haible  <bruno@clisp.org>
24197
24198         Avoid compilation error with cc on OSF/1 5.1.
24199         * lib/fcntl.in.h: Include <unistd.h> after the #include_next <fcntl.h>
24200         statement, not before.
24201         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
24202
24203 2010-01-18  Bruno Haible  <bruno@clisp.org>
24204
24205         Avoid a link error due to the __printf__ symbol.
24206         * lib/stdio.in.h (__attribute__): Define to empty also for gcc 2.5.x
24207         and 2.6.x.
24208         (__format__, __printf__): Remove definitions.
24209         * lib/argp-fmtstream.h: Likewise.
24210         * lib/argp.h: Likewise.
24211         * lib/error.h: Likewise.
24212         * lib/vasnprintf.h: Likewise.
24213         * lib/xprintf.h: Likewise.
24214         * lib/xvasprintf.h: Likewise.
24215         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
24216
24217 2010-01-18  Bruno Haible  <bruno@clisp.org>
24218
24219         Tests for module 'tanl'.
24220         * modules/tanl-tests: New file.
24221         * tests/test-tanl.c: New file.
24222
24223         Tests for module 'sqrtl'.
24224         * modules/sqrtl-tests: New file.
24225         * tests/test-sqrtl.c: New file.
24226
24227         Tests for module 'sinl'.
24228         * modules/sinl-tests: New file.
24229         * tests/test-sinl.c: New file.
24230
24231         Tests for module 'logl'.
24232         * modules/logl-tests: New file.
24233         * tests/test-logl.c: New file.
24234
24235         Tests for module 'expl'.
24236         * modules/expl-tests: New file.
24237         * tests/test-expl.c: New file.
24238
24239         Tests for module 'cosl'.
24240         * modules/cosl-tests: New file.
24241         * tests/test-cosl.c: New file.
24242
24243         Tests for module 'atanl'.
24244         * modules/atanl-tests: New file.
24245         * tests/test-atanl.c: New file.
24246
24247         Tests for module 'asinl'.
24248         * modules/asinl-tests: New file.
24249         * tests/test-asinl.c: New file.
24250
24251         Tests for module 'acosl'.
24252         * modules/acosl-tests: New file.
24253         * tests/test-acosl.c: New file.
24254
24255         New modules acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
24256         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
24257         tanl): Use the standard gnulib idiom.
24258         * lib/cosl.c: Don't include trigl.c and sincosl.c.
24259         * lib/sinl.c: Likewise.
24260         * lib/tanl.c: Don't include trigl.c.
24261         (kernel_tanl): Make static.
24262         * lib/sincosl.c: Include trigl.h first.
24263         * lib/trigl.c: Likewise.
24264         * m4/acosl.m4: New file.
24265         * m4/asinl.m4: New file.
24266         * m4/atanl.m4: New file.
24267         * m4/cosl.m4: New file.
24268         * m4/expl.m4: New file.
24269         * m4/logl.m4: New file.
24270         * m4/sinl.m4: New file.
24271         * m4/sqrtl.m4: New file.
24272         * m4/tanl.m4: New file.
24273         * m4/mathl.m4: Remove file.
24274         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_* and HAVE_*
24275         variables for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
24276         Don't initialize GNULIB_MATHL.
24277         * modules/acosl: New file.
24278         * modules/asinl: New file.
24279         * modules/atanl: New file.
24280         * modules/cosl: New file.
24281         * modules/expl: New file.
24282         * modules/logl: New file.
24283         * modules/sinl: New file.
24284         * modules/sqrtl: New file.
24285         * modules/tanl: New file.
24286         * modules/math (Makefile.am): Substitute GNULIB_* and HAVE_* variables
24287         for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl. Don't
24288         substitute GNULIB_MATHL.
24289         * modules/mathl: Rewritten.
24290         * doc/posix-functions/acosl.texi: Mention the 'acosl' module.
24291         * doc/posix-functions/asinl.texi: Mention the 'asinl' module.
24292         * doc/posix-functions/atanl.texi: Mention the 'atanl' module.
24293         * doc/posix-functions/cosl.texi: Mention the 'cosl' module.
24294         * doc/posix-functions/expl.texi: Mention the 'expl' module.
24295         * doc/posix-functions/logl.texi: Mention the 'logl' module.
24296         * doc/posix-functions/sinl.texi: Mention the 'sinl' module.
24297         * doc/posix-functions/sqrtl.texi: Mention the 'sqrtl' module.
24298         * doc/posix-functions/tanl.texi: Mention the 'tanl' module.
24299
24300 2010-01-18  Bruno Haible  <bruno@clisp.org>
24301
24302         sqrt: Make gl_FUNC_SQRT requirable.
24303         * m4/sqrt.m4: New file.
24304         * modules/sqrt (Files): Add it.
24305         (configure.ac): Invoke gl_FUNC_SQRT.
24306
24307 2010-01-18  Bruno Haible  <bruno@clisp.org>
24308
24309         New modules for common <math.h> functions.
24310         * m4/mathfunc.m4: New file.
24311         * modules/acos: New file.
24312         * modules/asin: New file.
24313         * modules/atan: New file.
24314         * modules/atan2: New file.
24315         * modules/cbrt: New file.
24316         * modules/copysign: New file.
24317         * modules/cos: New file.
24318         * modules/cosh: New file.
24319         * modules/erf: New file.
24320         * modules/erfc: New file.
24321         * modules/exp: New file.
24322         * modules/fabs: New file.
24323         * modules/fmod: New file.
24324         * modules/hypot: New file.
24325         * modules/j0: New file.
24326         * modules/j1: New file.
24327         * modules/jn: New file.
24328         * modules/ldexp: New file.
24329         * modules/lgamma: New file.
24330         * modules/log: New file.
24331         * modules/log10: New file.
24332         * modules/log1p: New file.
24333         * modules/logb: New file.
24334         * modules/modf: New file.
24335         * modules/nextafter: New file.
24336         * modules/pow: New file.
24337         * modules/remainder: New file.
24338         * modules/rint: New file.
24339         * modules/sin: New file.
24340         * modules/sinh: New file.
24341         * modules/sqrt: New file.
24342         * modules/tan: New file.
24343         * modules/tanh: New file.
24344         * modules/y0: New file.
24345         * modules/y1: New file.
24346         * modules/yn: New file.
24347         * doc/posix-functions/acos.texi: Mention the 'acos' module.
24348         * doc/posix-functions/asin.texi: Mention the 'asin' module.
24349         * doc/posix-functions/atan.texi: Mention the 'atan' module.
24350         * doc/posix-functions/atan2.texi: Mention the 'atan2' module.
24351         * doc/posix-functions/cbrt.texi: Mention the 'cbrt' module.
24352         * doc/posix-functions/copysign.texi: Mention the 'copysign' module.
24353         * doc/posix-functions/cos.texi: Mention the 'cos' module.
24354         * doc/posix-functions/cosh.texi: Mention the 'cosh' module.
24355         * doc/posix-functions/erf.texi: Mention the 'erf' module.
24356         * doc/posix-functions/erfc.texi: Mention the 'erfc' module.
24357         * doc/posix-functions/exp.texi: Mention the 'exp' module.
24358         * doc/posix-functions/fabs.texi: Mention the 'fabs' module.
24359         * doc/posix-functions/fmod.texi: Mention the 'fmod' module.
24360         * doc/posix-functions/hypot.texi: Mention the 'hypot' module.
24361         * doc/posix-functions/j0.texi: Mention the 'j0' module.
24362         * doc/posix-functions/j1.texi: Mention the 'j1' module.
24363         * doc/posix-functions/jn.texi: Mention the 'jn' module.
24364         * doc/posix-functions/ldexp.texi: Mention the 'ldexp' module.
24365         * doc/posix-functions/lgamma.texi: Mention the 'lgamma' module.
24366         * doc/posix-functions/log.texi: Mention the 'log' module.
24367         * doc/posix-functions/log10.texi: Mention the 'log10' module.
24368         * doc/posix-functions/log1p.texi: Mention the 'log1p' module.
24369         * doc/posix-functions/logb.texi: Mention the 'logb' module.
24370         * doc/posix-functions/modf.texi: Mention the 'modf' module.
24371         * doc/posix-functions/nextafter.texi: Mention the 'nextafter' module.
24372         * doc/posix-functions/pow.texi: Mention the 'pow' module.
24373         * doc/posix-functions/remainder.texi: Mention the 'remainder' module.
24374         * doc/posix-functions/rint.texi: Mention the 'rint' module.
24375         * doc/posix-functions/sin.texi: Mention the 'sin' module.
24376         * doc/posix-functions/sinh.texi: Mention the 'sinh' module.
24377         * doc/posix-functions/sqrt.texi: Mention the 'sqrt' module.
24378         * doc/posix-functions/tan.texi: Mention the 'tan' module.
24379         * doc/posix-functions/tanh.texi: Mention the 'tanh' module.
24380         * doc/posix-functions/y0.texi: Mention the 'y0' module.
24381         * doc/posix-functions/y1.texi: Mention the 'y1' module.
24382         * doc/posix-functions/yn.texi: Mention the 'yn' module.
24383
24384 2010-01-18  Jim Meyering  <meyering@redhat.com>
24385
24386         ignore-value: relax license to LGPLv2+
24387         * modules/ignore-value (License): Relax to LGPLv2+.
24388
24389         getdate: don't leak when TZ contains two or more '"'s
24390         * lib/getdate.y (get_date): Don't leak a copy of TZ for each
24391         double quote in TZ after the first one.
24392
24393         readtokens: do not leak internal token_lengths buffer
24394         * lib/readtokens.c (readtokens): Free the local, lengths,
24395         when the supplied "token_lengths" parameter is NULL.
24396
24397 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
24398
24399         Fix a couple of missing LIBTHREAD link failures on AIX.
24400         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add
24401         $(LIBTHREAD).
24402         * modules/strsignal-tests (test_strsignal_LDADD): Likewise.
24403
24404         Link test-poll against INET_PTON_LIB.
24405         * modules/poll-tests (test_poll_LDADD): Add $(INET_PTON_LIB),
24406         for inet_pton on Solaris 10.
24407
24408 2010-01-17  Bruno Haible  <bruno@clisp.org>
24409
24410         unistdio/*-sprintf: Fix typo in module description.
24411         * modules/unistdio/u8-sprintf (Depends-on): Fix typo.
24412         * modules/unistdio/u8-u8-sprintf (Depends-on): Likewise.
24413         * modules/unistdio/u16-sprintf (Depends-on): Likewise.
24414         * modules/unistdio/u16-u16-sprintf (Depends-on): Likewise.
24415         * modules/unistdio/u32-sprintf (Depends-on): Likewise.
24416         * modules/unistdio/u32-u32-sprintf (Depends-on): Likewise.
24417         * modules/unistdio/ulc-sprintf (Depends-on): Likewise.
24418         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
24419
24420 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
24421
24422         gnulib-tool: fix filelist for AIX, HP-UX ksh.
24423         * gnulib-tool (func_filter_filelist): Do not quote possibly-empty
24424         variables in shell case patterns, for AIX and HP-UX ksh.
24425
24426         Split large sed scripts, for HP-UX sed.
24427         * modules/stdio: Split sed scripts around 50 sed commands,
24428         to avoid HP-UX limit of 99 commands, in the near future.
24429         * modules/string: Likewise.
24430         * modules/unistd: Likewise.
24431
24432         gnulib-tool: avoid writing in the current directory.
24433         * gnulib-tool (func_emit_lib_Makefile_am)
24434         (func_emit_tests_Makefile_am): Put temporary files in $tmp,
24435         not in the current directory, so concurrent gnulib-tool
24436         instances do not interfere.
24437
24438 2010-01-16  Jim Meyering  <meyering@redhat.com>
24439
24440         doc: update users.txt
24441         * users.txt: Add grep.
24442         (diffutils, gzip): Update URLs.
24443
24444 2010-01-12  Bruno Haible  <bruno@clisp.org>
24445
24446         posix_spawn: Avoid test failure on Cygwin.
24447         * tests/test-posix_spawn3.c (DATA_FILENAME) [CYGWIN]: Use less risky
24448         characters.
24449         Reported by Simon Josefsson.
24450
24451 2010-01-12  Bruno Haible  <bruno@clisp.org>
24452
24453         * tests/test-cond.c (main): When skipping the test, show the reason.
24454
24455 2010-01-12  Simon Josefsson  <simon@josefsson.org>
24456
24457         * lib/striconv.c (str_cd_iconv): Avoid if before free.
24458
24459 2010-01-12  Simon Josefsson  <simon@josefsson.org>
24460
24461         * top/maint.mk (VC_LIST_EXCEPT): Filter list through
24462         VC_LIST_ALWAYS_EXCLUDE_REGEX.
24463
24464 2010-01-12  Eric Blake  <ebb9@byu.net>
24465
24466         build: guarantee AS_VAR_IF
24467         * m4/warnings.m4 (gl_WARN_ADD): Use autoconf name.
24468         (gl_AS_VAR_IF): Move...
24469         * m4/gnulib-common.m4 (AS_VAR_IF): ...here.
24470         Reported by Simon Josefsson.
24471
24472 2010-01-12  Simon Josefsson  <simon@josefsson.org>
24473
24474         * lib/stdio.in.h: Fix typo.
24475
24476 2010-01-12  Simon Josefsson  <simon@josefsson.org>
24477
24478         * m4/gc.m4: Check if linking to libgcrypt also needs linking to
24479         libgpg-error.
24480
24481 2010-01-12  Simon Josefsson  <simon@josefsson.org>
24482
24483         * tests/test-xalloc-die.sh: Use $EXEEXT.
24484
24485 2010-01-12  Simon Josefsson  <simon@josefsson.org>
24486             Bruno Haible  <bruno@clisp.org>
24487
24488         getlogin, getlogin_r: Avoid test failure.
24489         * tests/test-getlogin.c: Include <stdio.h>.
24490         (main): Skip the test when the function fails because stdin is not a
24491         tty.
24492         * tests/test-getlogin_r.c: Include <stdio.h>.
24493         (main): Skip the test when the function fails because stdin is not a
24494         tty.
24495
24496 2010-01-11  Eric Blake  <ebb9@byu.net>
24497
24498         tests: avoid more large file warnings
24499         * tests/test-fflush.c: Avoid warning about ftell use.
24500         * tests/test-fseek.c: Avoid warning about fseek use.
24501
24502 2010-01-10  Bruno Haible  <bruno@clisp.org>
24503
24504         nproc: Work better on Linux when /proc and /sys are not mounted.
24505         * lib/nproc.c (num_processors): Use num_processors_via_affinity_mask ()
24506         as lower bound when, on glibc/Linux systems,
24507         sysconf (_SC_NPROCESSORS_CONF) returns 1.
24508         Suggested by Pádraig Brady <P@draigbrady.com>.
24509         Reported by Dmitry V. Levin <ldv@altlinux.org>.
24510
24511         nproc: Refactor.
24512         * lib/nproc.c (num_processors_via_affinity_mask): New function,
24513         extracted from num_processors.
24514         (num_processors): Call it.
24515
24516 2010-01-11  Jim Meyering  <meyering@redhat.com>
24517
24518         utimecmp: avoid new warning from upcoming gcc-4.5.0
24519         * lib/utimecmp.c (BILLION): Define using #define rather than an
24520         anonymous enum, to placate upcoming gcc-4.5.0's -Wenum-compare.
24521
24522 2010-01-11  Eric Blake  <ebb9@byu.net>
24523
24524         math: add portability warnings for classification macros
24525         * modules/math (Depends-on): Add warn-on-use.
24526         (Makefile.am): Provide new substitutions.
24527         * m4/math_h.m4 (gl_MATH_H): Require inline.
24528         * lib/math.in.h (_GL_WARN_REAL_FLOATING_DECL)
24529         (_GL_WARN_REAL_FLOATING_IMPL): New helper macros.
24530         (isfinite, isinf, isnan, signbit) [GNULIB_POSIXCHECK]: Use them to
24531         implement warnings.
24532
24533         unistd: warn on use of environ without module
24534         * modules/unistd (Depends-on): Add warn-on-use.
24535         (Makefile.am): Provide new substitutions.
24536         * m4/unistd_h.m4 (gl_UNISTD_H): Check for inline and environ.
24537         * lib/unistd.in.h (environ): Wrap with a warning helper function.
24538
24539         stdio: warn on suspicious uses
24540         * modules/stdio (Depends-on): Add warn-on-use.
24541         (Makefile.am): Provide new substitutions.
24542         * m4/stdio_h.m4 (gl_STDIO_H): Check for inline, ftello, and
24543         fseeko.
24544         * lib/stdio.in.h (gets): Always warn on use.
24545         (fseek, ftell): Adjust when warnings are issued, and honor
24546         _GL_NO_LARGE_FILES as a way to silence the warning.
24547         * tests/test-fpurge.c [!GNULIB_FSEEK]: Use new means to squelch
24548         any warning about large file offsets.
24549         * tests/test-freadable.c [!GNULIB_FSEEK]: Likewise.
24550         * tests/test-freading.c [!GNULIB_FSEEK]: Likewise.
24551         * tests/test-fseeko.c [!GNULIB_FSEEK]: Likewise.
24552         * tests/test-ftell.c [!GNULIB_FSEEK]: Likewise.
24553         * tests/test-ftello.c [!GNULIB_FSEEK]: Likewise.
24554         * tests/test-fwritable.c [!GNULIB_FSEEK]: Likewise.
24555         * tests/test-fwriting.c [!GNULIB_FSEEK]: Likewise.
24556         * tests/test-getopt.c [!GNULIB_FTELL]: Likewise.
24557
24558         warn-on-use: new module
24559         * modules/warn-on-use: New file.
24560         * build-aux/warn-on-use.h: Likewise.
24561         * m4/warn-on-use.m4: Likewise.
24562         * MODULES.html.sh (Support for building): Mention it.
24563
24564 2010-01-10  Bruno Haible  <bruno@clisp.org>
24565
24566         Tests for module 'unistr/u32-strdup'.
24567         * modules/unistr/u32-strdup-tests: New file.
24568         * tests/unistr/test-u32-strdup.c: New file.
24569
24570         Tests for module 'unistr/u16-strdup'.
24571         * modules/unistr/u16-strdup-tests: New file.
24572         * tests/unistr/test-u16-strdup.c: New file.
24573
24574         Tests for module 'unistr/u8-strdup'.
24575         * modules/unistr/u8-strdup-tests: New file.
24576         * tests/unistr/test-u8-strdup.c: New file.
24577         * tests/unistr/test-strdup.h: New file.
24578
24579         Tests for module 'unistr/u32-strncmp'.
24580         * modules/unistr/u32-strncmp-tests: New file.
24581         * tests/unistr/test-u32-strncmp.c: New file.
24582
24583         Tests for module 'unistr/u16-strncmp'.
24584         * modules/unistr/u16-strncmp-tests: New file.
24585         * tests/unistr/test-u16-strncmp.c: New file.
24586
24587         Tests for module 'unistr/u8-strncmp'.
24588         * modules/unistr/u8-strncmp-tests: New file.
24589         * tests/unistr/test-u8-strncmp.c: New file.
24590         * tests/unistr/test-strncmp.h: New file.
24591
24592         Tests for module 'unistr/u32-strcoll'.
24593         * modules/unistr/u32-strcoll-tests: New file.
24594         * tests/unistr/test-u32-strcoll.c: New file.
24595
24596         Tests for module 'unistr/u16-strcoll'.
24597         * modules/unistr/u16-strcoll-tests: New file.
24598         * tests/unistr/test-u16-strcoll.c: New file.
24599
24600         Tests for module 'unistr/u8-strcoll'.
24601         * modules/unistr/u8-strcoll-tests: New file.
24602         * tests/unistr/test-u8-strcoll.c: New file.
24603
24604         Tests for module 'unistr/u32-strcmp'.
24605         * modules/unistr/u32-strcmp-tests: New file.
24606         * tests/unistr/test-u32-strcmp.c: New file.
24607         * tests/unistr/test-u32-strcmp.h: New file.
24608
24609         Tests for module 'unistr/u16-strcmp'.
24610         * modules/unistr/u16-strcmp-tests: New file.
24611         * tests/unistr/test-u16-strcmp.c: New file.
24612         * tests/unistr/test-u16-strcmp.h: New file.
24613
24614         Tests for module 'unistr/u8-strcmp'.
24615         * modules/unistr/u8-strcmp-tests: New file.
24616         * tests/unistr/test-u8-strcmp.c: New file.
24617         * tests/unistr/test-u8-strcmp.h: New file.
24618         * tests/unistr/test-strcmp.h: New file.
24619
24620         Tests for module 'unistr/u32-strncat'.
24621         * modules/unistr/u32-strncat-tests: New file.
24622         * tests/unistr/test-u32-strncat.c: New file.
24623
24624         Tests for module 'unistr/u16-strncat'.
24625         * modules/unistr/u16-strncat-tests: New file.
24626         * tests/unistr/test-u16-strncat.c: New file.
24627
24628         Tests for module 'unistr/u8-strncat'.
24629         * modules/unistr/u8-strncat-tests: New file.
24630         * tests/unistr/test-u8-strncat.c: New file.
24631         * tests/unistr/test-strncat.h: New file.
24632
24633         Tests for module 'unistr/u32-strcat'.
24634         * modules/unistr/u32-strcat-tests: New file.
24635         * tests/unistr/test-u32-strcat.c: New file.
24636
24637         Tests for module 'unistr/u16-strcat'.
24638         * modules/unistr/u16-strcat-tests: New file.
24639         * tests/unistr/test-u16-strcat.c: New file.
24640
24641         Tests for module 'unistr/u8-strcat'.
24642         * modules/unistr/u8-strcat-tests: New file.
24643         * tests/unistr/test-u8-strcat.c: New file.
24644         * tests/unistr/test-strcat.h: New file.
24645
24646         Tests for module 'unistr/u32-stpncpy'.
24647         * modules/unistr/u32-stpncpy-tests: New file.
24648         * tests/unistr/test-u32-stpncpy.c: New file.
24649
24650         Tests for module 'unistr/u16-stpncpy'.
24651         * modules/unistr/u16-stpncpy-tests: New file.
24652         * tests/unistr/test-u16-stpncpy.c: New file.
24653
24654         Tests for module 'unistr/u8-stpncpy'.
24655         * modules/unistr/u8-stpncpy-tests: New file.
24656         * tests/unistr/test-u8-stpncpy.c: New file.
24657         * tests/unistr/test-stpncpy.h: New file.
24658
24659         Tests for module 'unistr/u32-strncpy'.
24660         * modules/unistr/u32-strncpy-tests: New file.
24661         * tests/unistr/test-u32-strncpy.c: New file.
24662
24663         Tests for module 'unistr/u16-strncpy'.
24664         * modules/unistr/u16-strncpy-tests: New file.
24665         * tests/unistr/test-u16-strncpy.c: New file.
24666
24667         Tests for module 'unistr/u8-strncpy'.
24668         * modules/unistr/u8-strncpy-tests: New file.
24669         * tests/unistr/test-u8-strncpy.c: New file.
24670         * tests/unistr/test-strncpy.h: New file.
24671
24672         Tests for module 'unistr/u32-stpcpy'.
24673         * modules/unistr/u32-stpcpy-tests: New file.
24674         * tests/unistr/test-u32-stpcpy.c: New file.
24675
24676         Tests for module 'unistr/u16-stpcpy'.
24677         * modules/unistr/u16-stpcpy-tests: New file.
24678         * tests/unistr/test-u16-stpcpy.c: New file.
24679
24680         Tests for module 'unistr/u8-stpcpy'.
24681         * modules/unistr/u8-stpcpy-tests: New file.
24682         * tests/unistr/test-u8-stpcpy.c: New file.
24683         * tests/unistr/test-stpcpy.h: New file.
24684
24685         Tests for module 'unistr/u32-strcpy'.
24686         * modules/unistr/u32-strcpy-tests: New file.
24687         * tests/unistr/test-u32-strcpy.c: New file.
24688
24689         Tests for module 'unistr/u16-strcpy'.
24690         * modules/unistr/u16-strcpy-tests: New file.
24691         * tests/unistr/test-u16-strcpy.c: New file.
24692
24693         Tests for module 'unistr/u8-strcpy'.
24694         * modules/unistr/u8-strcpy-tests: New file.
24695         * tests/unistr/test-u8-strcpy.c: New file.
24696         * tests/unistr/test-strcpy.h: New file.
24697
24698         Tests for module 'unistr/u32-strnlen'.
24699         * modules/unistr/u32-strnlen-tests: New file.
24700         * tests/unistr/test-u32-strnlen.c: New file.
24701
24702         Tests for module 'unistr/u16-strnlen'.
24703         * modules/unistr/u16-strnlen-tests: New file.
24704         * tests/unistr/test-u16-strnlen.c: New file.
24705
24706         Tests for module 'unistr/u8-strnlen'.
24707         * modules/unistr/u8-strnlen-tests: New file.
24708         * tests/unistr/test-u8-strnlen.c: New file.
24709         * tests/unistr/test-strnlen.h: New file.
24710
24711         Tests for module 'unistr/u32-strlen'.
24712         * modules/unistr/u32-strlen-tests: New file.
24713         * tests/unistr/test-u32-strlen.c: New file.
24714
24715         Tests for module 'unistr/u16-strlen'.
24716         * modules/unistr/u16-strlen-tests: New file.
24717         * tests/unistr/test-u16-strlen.c: New file.
24718
24719         Tests for module 'unistr/u8-strlen'.
24720         * modules/unistr/u8-strlen-tests: New file.
24721         * tests/unistr/test-u8-strlen.c: New file.
24722
24723         Tests for module 'unistr/u32-prev'.
24724         * modules/unistr/u32-prev-tests: New file.
24725         * tests/unistr/test-u32-prev.c: New file.
24726
24727         Tests for module 'unistr/u16-prev'.
24728         * modules/unistr/u16-prev-tests: New file.
24729         * tests/unistr/test-u16-prev.c: New file.
24730
24731         Tests for module 'unistr/u8-prev'.
24732         * modules/unistr/u8-prev-tests: New file.
24733         * tests/unistr/test-u8-prev.c: New file.
24734
24735         Tests for module 'unistr/u32-next'.
24736         * modules/unistr/u32-next-tests: New file.
24737         * tests/unistr/test-u32-next.c: New file.
24738
24739         Tests for module 'unistr/u16-next'.
24740         * modules/unistr/u16-next-tests: New file.
24741         * tests/unistr/test-u16-next.c: New file.
24742
24743         Tests for module 'unistr/u8-next'.
24744         * modules/unistr/u8-next-tests: New file.
24745         * tests/unistr/test-u8-next.c: New file.
24746
24747         Tests for module 'unistr/u32-strmbtouc'.
24748         * modules/unistr/u32-strmbtouc-tests: New file.
24749         * tests/unistr/test-u32-strmbtouc.c: New file.
24750
24751         Tests for module 'unistr/u16-strmbtouc'.
24752         * modules/unistr/u16-strmbtouc-tests: New file.
24753         * tests/unistr/test-u16-strmbtouc.c: New file.
24754
24755         Tests for module 'unistr/u8-strmbtouc'.
24756         * modules/unistr/u8-strmbtouc-tests: New file.
24757         * tests/unistr/test-u8-strmbtouc.c: New file.
24758
24759         Tests for module 'unistr/u32-strmblen'.
24760         * modules/unistr/u32-strmblen-tests: New file.
24761         * tests/unistr/test-u32-strmblen.c: New file.
24762
24763         Tests for module 'unistr/u16-strmblen'.
24764         * modules/unistr/u16-strmblen-tests: New file.
24765         * tests/unistr/test-u16-strmblen.c: New file.
24766
24767         Tests for module 'unistr/u8-strmblen'.
24768         * modules/unistr/u8-strmblen-tests: New file.
24769         * tests/unistr/test-u8-strmblen.c: New file.
24770
24771         Tests for module 'unistr/u32-cpy-alloc'.
24772         * modules/unistr/u32-cpy-alloc-tests: New file.
24773         * tests/unistr/test-u32-cpy-alloc.c: New file.
24774
24775         Tests for module 'unistr/u16-cpy-alloc'.
24776         * modules/unistr/u16-cpy-alloc-tests: New file.
24777         * tests/unistr/test-u16-cpy-alloc.c: New file.
24778
24779         Tests for module 'unistr/u8-cpy-alloc'.
24780         * modules/unistr/u8-cpy-alloc-tests: New file.
24781         * tests/unistr/test-u8-cpy-alloc.c: New file.
24782         * tests/unistr/test-cpy-alloc.h: New file.
24783
24784         Tests for module 'unistr/u32-mbsnlen'.
24785         * modules/unistr/u32-mbsnlen-tests: New file.
24786         * tests/unistr/test-u32-mbsnlen.c: New file.
24787
24788         Tests for module 'unistr/u16-mbsnlen'.
24789         * modules/unistr/u16-mbsnlen-tests: New file.
24790         * tests/unistr/test-u16-mbsnlen.c: New file.
24791
24792         Tests for module 'unistr/u8-mbsnlen'.
24793         * modules/unistr/u8-mbsnlen-tests: New file.
24794         * tests/unistr/test-u8-mbsnlen.c: New file.
24795
24796         Tests for module 'unistr/u32-chr'.
24797         * modules/unistr/u32-chr-tests: New file.
24798         * tests/unistr/test-u32-chr.c: New file.
24799
24800         Tests for module 'unistr/u16-chr'.
24801         * modules/unistr/u16-chr-tests: New file.
24802         * tests/unistr/test-u16-chr.c: New file.
24803
24804         Tests for module 'unistr/u8-chr'.
24805         * modules/unistr/u8-chr-tests: New file.
24806         * tests/unistr/test-u8-chr.c: New file.
24807         * tests/unistr/test-chr.h: New file, based on tests/test-memchr.c.
24808
24809         Tests for module 'unistr/u32-cmp2'.
24810         * modules/unistr/u32-cmp2-tests: New file.
24811         * tests/unistr/test-u32-cmp2.c: New file.
24812
24813         Tests for module 'unistr/u16-cmp2'.
24814         * modules/unistr/u16-cmp2-tests: New file.
24815         * tests/unistr/test-u16-cmp2.c: New file.
24816
24817         Tests for module 'unistr/u8-cmp2'.
24818         * modules/unistr/u8-cmp2-tests: New file.
24819         * tests/unistr/test-u8-cmp2.c: New file.
24820         * tests/unistr/test-cmp2.h: New file, based on tests/unistr/test-cmp.h.
24821
24822         Tests for module 'unistr/u32-cmp'.
24823         * modules/unistr/u32-cmp-tests: New file.
24824         * tests/unistr/test-u32-cmp.c: New file.
24825
24826         Tests for module 'unistr/u16-cmp'.
24827         * modules/unistr/u16-cmp-tests: New file.
24828         * tests/unistr/test-u16-cmp.c: New file.
24829
24830         Tests for module 'unistr/u8-cmp'.
24831         * modules/unistr/u8-cmp-tests: New file.
24832         * tests/unistr/test-u8-cmp.c: New file.
24833         * tests/unistr/test-cmp.h: New file, based on tests/test-memcmp.c.
24834
24835         Tests for module 'unistr/u32-set'.
24836         * modules/unistr/u32-set-tests: New file.
24837         * tests/unistr/test-u32-set.c: New file.
24838
24839         Tests for module 'unistr/u16-set'.
24840         * modules/unistr/u16-set-tests: New file.
24841         * tests/unistr/test-u16-set.c: New file.
24842
24843         Tests for module 'unistr/u8-set'.
24844         * modules/unistr/u8-set-tests: New file.
24845         * tests/unistr/test-u8-set.c: New file.
24846         * tests/unistr/test-set.h: New file.
24847
24848         Tests for module 'unistr/u32-move'.
24849         * modules/unistr/u32-move-tests: New file.
24850         * tests/unistr/test-u32-move.c: New file.
24851
24852         Tests for module 'unistr/u16-move'.
24853         * modules/unistr/u16-move-tests: New file.
24854         * tests/unistr/test-u16-move.c: New file.
24855
24856         Tests for module 'unistr/u8-move'.
24857         * modules/unistr/u8-move-tests: New file.
24858         * tests/unistr/test-u8-move.c: New file.
24859         * tests/unistr/test-move.h: New file.
24860
24861         Tests for module 'unistr/u32-cpy'.
24862         * modules/unistr/u32-cpy-tests: New file.
24863         * tests/unistr/test-u32-cpy.c: New file.
24864
24865         Tests for module 'unistr/u16-cpy'.
24866         * modules/unistr/u16-cpy-tests: New file.
24867         * tests/unistr/test-u16-cpy.c: New file.
24868
24869         Tests for module 'unistr/u8-cpy'.
24870         * modules/unistr/u8-cpy-tests: New file.
24871         * tests/unistr/test-u8-cpy.c: New file.
24872         * tests/unistr/test-cpy.h: New file.
24873
24874 2010-01-09  Bruno Haible  <bruno@clisp.org>
24875
24876         Tests for module 'unistr/u32-uctomb'.
24877         * modules/unistr/u32-uctomb-tests: New file.
24878         * tests/unistr/test-u32-uctomb.c: New file.
24879
24880         Tests for module 'unistr/u16-uctomb'.
24881         * modules/unistr/u16-uctomb-tests: New file.
24882         * tests/unistr/test-u16-uctomb.c: New file.
24883
24884         Tests for module 'unistr/u8-uctomb'.
24885         * modules/unistr/u8-uctomb-tests: New file.
24886         * tests/unistr/test-u8-uctomb.c: New file.
24887
24888         Tests for module 'unistr/u32-mbtoucr'.
24889         * modules/unistr/u32-mbtoucr-tests: New file.
24890         * tests/unistr/test-u32-mbtoucr.c: New file.
24891
24892         Tests for module 'unistr/u16-mbtoucr'.
24893         * modules/unistr/u16-mbtoucr-tests: New file.
24894         * tests/unistr/test-u16-mbtoucr.c: New file.
24895
24896         Tests for module 'unistr/u8-mbtoucr'.
24897         * modules/unistr/u8-mbtoucr-tests: New file.
24898         * tests/unistr/test-u8-mbtoucr.c: New file.
24899
24900         Tests for module 'unistr/u32-mbtouc'.
24901         * modules/unistr/u32-mbtouc-tests: New file.
24902         * tests/unistr/test-u32-mbtouc.c: New file.
24903
24904         Tests for module 'unistr/u16-mbtouc'.
24905         * modules/unistr/u16-mbtouc-tests: New file.
24906         * tests/unistr/test-u16-mbtouc.c: New file.
24907
24908         Tests for module 'unistr/u8-mbtouc'.
24909         * modules/unistr/u8-mbtouc-tests: New file.
24910         * tests/unistr/test-u8-mbtouc.c: New file.
24911
24912         Tests for module 'unistr/u32-mbtouc-unsafe'.
24913         * modules/unistr/u32-mbtouc-unsafe-tests: New file.
24914         * tests/unistr/test-u32-mbtouc-unsafe.c: New file.
24915         * tests/unistr/test-u32-mbtouc.h: New file.
24916
24917         Tests for module 'unistr/u16-mbtouc-unsafe'.
24918         * modules/unistr/u16-mbtouc-unsafe-tests: New file.
24919         * tests/unistr/test-u16-mbtouc-unsafe.c: New file.
24920         * tests/unistr/test-u16-mbtouc.h: New file.
24921
24922         Tests for module 'unistr/u8-mbtouc-unsafe'.
24923         * modules/unistr/u8-mbtouc-unsafe-tests: New file.
24924         * tests/unistr/test-u8-mbtouc-unsafe.c: New file.
24925         * tests/unistr/test-u8-mbtouc.h: New file.
24926
24927         Tests for module 'unistr/u32-mblen'.
24928         * modules/unistr/u32-mblen-tests: New file.
24929         * tests/unistr/test-u32-mblen.c: New file.
24930
24931         Tests for module 'unistr/u16-mblen'.
24932         * modules/unistr/u16-mblen-tests: New file.
24933         * tests/unistr/test-u16-mblen.c: New file.
24934
24935         Tests for module 'unistr/u8-mblen'.
24936         * modules/unistr/u8-mblen-tests: New file.
24937         * tests/unistr/test-u8-mblen.c: New file.
24938
24939         Tests for module 'unistr/u32-to-u16'.
24940         * modules/unistr/u32-to-u16-tests: New file.
24941         * tests/unistr/test-u32-to-u16.c: New file.
24942
24943         Tests for module 'unistr/u32-to-u8'.
24944         * modules/unistr/u32-to-u8-tests: New file.
24945         * tests/unistr/test-u32-to-u8.c: New file.
24946
24947         Tests for module 'unistr/u16-to-u32'.
24948         * modules/unistr/u16-to-u32-tests: New file.
24949         * tests/unistr/test-u16-to-u32.c: New file.
24950
24951         Tests for module 'unistr/u16-to-u8'.
24952         * modules/unistr/u16-to-u8-tests: New file.
24953         * tests/unistr/test-u16-to-u8.c: New file.
24954
24955         Tests for module 'unistr/u8-to-u32'.
24956         * modules/unistr/u8-to-u32-tests: New file.
24957         * tests/unistr/test-u8-to-u32.c: New file.
24958
24959         Tests for module 'unistr/u8-to-u16'.
24960         * modules/unistr/u8-to-u16-tests: New file.
24961         * tests/unistr/test-u8-to-u16.c: New file.
24962
24963         Tests for module 'unistr/u32-check'.
24964         * modules/unistr/u32-check-tests: New file.
24965         * tests/unistr/test-u32-check.c: New file.
24966
24967         Tests for module 'unistr/u16-check'.
24968         * modules/unistr/u16-check-tests: New file.
24969         * tests/unistr/test-u16-check.c: New file.
24970
24971         Tests for module 'unistr/u8-check'.
24972         * modules/unistr/u8-check-tests: New file.
24973         * tests/unistr/test-u8-check.c: New file.
24974
24975         * tests/unictype/test-categ_byname.c: Include <stdbool.h>.
24976         (category_equals): New function.
24977         (main): Add more tests.
24978         * modules/unictype/category-byname-tests (Depends-on): Add stdbool.
24979
24980         * tests/unictype/test-bidi_byname.c (main): Add more tests.
24981
24982 2010-01-10  Bruno Haible  <bruno@clisp.org>
24983
24984         unistr/u*-strcoll: Try harder to distinguish different strings.
24985         * lib/unistr/u-strcoll.h (FUNC): When sl1 and sl2 are the same,
24986         compare s1 and s2 to see if they are different.
24987
24988 2010-01-10  Bruno Haible  <bruno@clisp.org>
24989
24990         unistr/u*-stpncpy: Fix the return value.
24991         * lib/unistr.h (u8_stpncpy, u16_stpncpy, u32_stpncpy): Make the
24992         description of the return value consistent with stpncpy in glibc.
24993         * lib/unistr/u-stpncpy.h (FUNC): Return the pointer past the last
24994         written non-NUL unit.
24995
24996 2010-01-10  Bruno Haible  <bruno@clisp.org>
24997
24998         unistr/u*-next: Add missing dependencies.
24999         * modules/unistr/u8-next (Depends-on): Add unistr/u8-strmbtouc.
25000         * modules/unistr/u16-next (Depends-on): Add unistr/u16-strmbtouc.
25001         * modules/unistr/u32-next (Depends-on): Add unistr/u32-strmbtouc.
25002
25003 2010-01-10  Bruno Haible  <bruno@clisp.org>
25004
25005         unistr/u8-mbsnlen: Fix return value for incomplete character.
25006         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtoucr instead of
25007         u8_mblen.
25008         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtoucr.
25009         Remove unistr/u8-mblen.
25010         * lib/unistr/u16-mbsnlen.c (u16_mbsnlen): Use u16_mbtoucr instead of
25011         u16_mblen.
25012         * modules/unistr/u16-mbsnlen (Depends-on): Add unistr/u16-mbtoucr.
25013         Remove unistr/u16-mblen.
25014
25015 2010-01-10  Bruno Haible  <bruno@clisp.org>
25016
25017         wchar: Fix compilation error when <wchar.h> is used from coreutils.
25018         * lib/wchar.in.h: Treat __need_wint_t like __need_mbstate_t.
25019         Reported by Brian Gough <bjg@gnu.org> and
25020         Chris Clayton <chris2553@googlemail.com> via
25021         Mike Frysinger <vapier@gentoo.org> and Jim Meyering <jim@meyering.net>.
25022
25023 2010-01-09  Bruno Haible  <bruno@clisp.org>
25024
25025         unistr/u16-to-u32: Reject invalid input.
25026         * lib/unistr/u16-to-u32.c (u16_to_u32): Call u16_mbtoucr instead of
25027         u16_mbtouc.
25028         * modules/unistr/u16-to-u32 (Depends-on): Add unistr/u16-mbtoucr.
25029         Remove unistr/u16-mbtouc.
25030
25031         unistr/u16-to-u8: Reject invalid input.
25032         * lib/unistr/u16-to-u8.c (u16_to_u8): Call u16_mbtoucr instead of
25033         u16_mbtouc.
25034         * modules/unistr/u16-to-u8 (Depends-on): Add unistr/u16-mbtoucr.
25035         Remove unistr/u16-mbtouc.
25036
25037         unistr/u8-to-u32: Reject invalid input.
25038         * lib/unistr/u8-to-u32.c (u8_to_u32): Call u8_mbtoucr instead of
25039         u8_mbtouc.
25040         * modules/unistr/u8-to-u32 (Depends-on): Add unistr/u8-mbtoucr.
25041         Remove unistr/u8-mbtouc.
25042
25043         unistr/u8-to-u16: Reject invalid input.
25044         * lib/unistr/u8-to-u16.c (u8_to_u16): Call u8_mbtoucr instead of
25045         u8_mbtouc.
25046         * modules/unistr/u8-to-u16 (Depends-on): Add unistr/u8-mbtoucr.
25047         Remove unistr/u8-mbtouc.
25048
25049 2010-01-09  Bruno Haible  <bruno@clisp.org>
25050
25051         Tests for module 'getlogin'.
25052         * modules/getlogin-tests: New file.
25053         * tests/test-getlogin.c: New file.
25054
25055         New module 'getlogin'.
25056         * lib/unistd.in.h (getlogin): New declaration.
25057         * lib/getlogin.c: New file.
25058         * m4/getlogin.m4: New file.
25059         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETLOGIN,
25060         HAVE_GETLOGIN.
25061         * modules/unistd (Makefile.am): Substitute GNULIB_GETLOGIN,
25062         HAVE_GETLOGIN.
25063         * modules/getlogin: New file.
25064         * doc/posix-functions/getlogin.texi: Mention the new module.
25065         Reported by John W. Eaton <jwe@gnu.org>.
25066
25067 2010-01-09  Bruno Haible  <bruno@clisp.org>
25068
25069         getlogin_r: Support for native Windows.
25070         * lib/getlogin_r.c: Include <windows.h>
25071         (getlogin_r): Implement for native Windows.
25072         * tests/test-getlogin_r.c (main): Also test with a huge buffer.
25073         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>
25074         via John W. Eaton <jwe@gnu.org>.
25075
25076 2010-01-09  Bruno Haible  <bruno@clisp.org>
25077
25078         getlogin_r: Small fixes.
25079         * lib/getlogin_r.c (getlogin_r): Don't set errno if the function
25080         succeeds.
25081         * m4/getlogin_r.m4 (gl_GETLOGIN_R): Require gl_USE_SYSTEM_EXTENSIONS
25082         before testing whether getlogin_r is declared. No need to set
25083         HAVE_DECL_GETLOGIN_R to 1.
25084         (gl_PREREQ_GETLOGIN_R): Don't check for the getlogin_r declaration.
25085
25086 2010-01-09  Bruno Haible  <bruno@clisp.org>
25087
25088         * lib/unistd.in.h (getlogin_r): Add comment.
25089
25090 2010-01-09  Bruno Haible  <bruno@clisp.org>
25091
25092         Tests for module 'getlogin_r'.
25093         * modules/getlogin_r-tests: New file.
25094         * tests/test-getlogin_r.c: New file.
25095
25096 2010-01-09  Jim Meyering  <meyering@redhat.com>
25097
25098         maint.mk: extend proper_name_utf8-vs-LIBICONV-checking rule
25099         * top/maint.mk (sc_proper_name_utf8_requires_ICONV): Adapt to work
25100         also when $(LIBICONV) is part of LDADD, rather than ${prog}_LDADD.
25101
25102 2010-01-08  Simon Josefsson  <simon@josefsson.org>
25103
25104         * lib/dup2.c (rpl_dup2): Improve comment.
25105
25106 2010-01-08  Eric Blake  <ebb9@byu.net>
25107
25108         maint.mk: allow packages to add makefile @@ exceptions
25109         * top/maint.mk (_makefile_at_at_check_exceptions): New hook.
25110         (sc_makefile_check): Rename...
25111         (sc_makefile_at_at_check): ...to this, and use hook.
25112
25113         dup2: work around mingw bug
25114         * lib/dup2.c (rpl_dup2): Sanitize return value on mingw.
25115         Reported by Simon Josefsson.
25116
25117 2010-01-07  John W. Eaton  <jwe@octave.org>  (tiny change)
25118
25119         glob: Fix C++ compilation.
25120         * lib/glob.in.h [__cplusplus]: Define __BEGIN_DECLS and __END_DECLS for
25121         C++.
25122
25123 2010-01-07  Bruno Haible  <bruno@clisp.org>
25124
25125         Fix indentation of wctype.in.h, broken since 2007-01-06.
25126         * lib/wctype.in.h: Fix indentation of preprocessor directives.
25127
25128 2010-01-07  Bruno Haible  <bruno@clisp.org>
25129
25130         mbslen: Avoid collision with system function.
25131         * lib/string.in.h [MirBSD]: Include <wchar.h>.
25132         (mbslen): Undefine first. Alias mbslen to rpl_mbslen.
25133         * m4/mbslen.m4: New file.
25134         * modules/mbslen (Files): Add it.
25135         (configure.ac): Invoke gl_MBSLEN.
25136         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MBSLEN.
25137         * modules/string (Makefile.am): Substitute HAVE_MBSLEN.
25138         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>
25139         via Ian Beckwith <ianb@erislabs.net>.
25140
25141 2010-01-07  Bruno Haible  <bruno@clisp.org>
25142
25143         dirent: Document the last fix.
25144         * doc/posix-headers/dirent.texi: Document the bug of missing 'ino_t'.
25145
25146 2010-01-07  Bruno Haible  <bruno@clisp.org>
25147
25148         stdio: Ensure <stdio.h> defines off_t, ssize_t, va_list.
25149         * lib/stdio.in.h: Include <sys/types.h> unconditionally.
25150         * tests/test-stdio.c: Verify that fpos_t, off_t, size_t, ssize_t,
25151         va_list are defined.
25152         * doc/posix-headers/stdio.texi: Document the bug of missing types.
25153         Reported by Eric Blake.
25154
25155 2010-01-07  Bruno Haible  <bruno@clisp.org>
25156
25157         xlist, xoset: Fix missing dependency bug, introduced on 2009-12-13.
25158         * modules/xlist (Depends-on): Add 'list',
25159         * modules/xoset (Depends-on): Add 'oset'.
25160         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
25161
25162 2010-01-07  Bruno Haible  <bruno@clisp.org>
25163
25164         * doc/posix-functions/strcasecmp.texi: Clarify the platforms.
25165         * doc/posix-functions/strncasecmp.texi: Likewise.
25166
25167 2010-01-07  Bruno Haible  <bruno@clisp.org>
25168
25169         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Simplify logic.
25170
25171 2010-01-07  John W. Eaton  <jwe@octave.org>
25172
25173         wctype: allow C++ use
25174         * lib/wctype.in.h: Add extern "C" block for C++.
25175
25176 2010-01-06  Eric Blake  <ebb9@byu.net>
25177
25178         maint.mk: detect incorrect GFDL usage
25179         * top/maint.mk (_GFDL_regexp, sc_GFDL_version): New rule.
25180
25181 2010-01-06  Jim Meyering  <meyering@redhat.com>
25182         and Eric Blake  <ebb9@byu.net>
25183
25184         maint.mk: ignore multi-line copyright in NEWS
25185         * top/maint.mk (NEWS_hash): Add immunity to multi-line copyright.
25186
25187 2010-01-06  Eric Blake  <ebb9@byu.net>
25188
25189         select: add missing dependency
25190         * modules/select-tests (Depends-on): Move sockets dependency...
25191         * modules/select (Depends-on): ...here.
25192         Reported by Ian Beckwith.
25193
25194         doc: regenerate INSTALL
25195         * doc/INSTALL: Reflect recent autoconf update.
25196         * doc/INSTALL.ISO: Likewise.
25197         * doc/INSTALL.UTF-8: Likewise.
25198
25199         pread: fix compilation on glibc
25200         * m4/pread.m4 (gl_FUNC_PREAD): Request all interfaces.
25201         Reported by Ralf Wildenhues.
25202
25203         dirent: fix test failure
25204         * lib/dirent.in.h (includes): Guarantee ino_t.
25205         Reported by Ralf Wildenhues.
25206
25207 2010-01-06  Petr Salinger  <Petr.Salinger@seznam.cz>  (tiny change)
25208
25209         linkat, renameat: avoid bad free
25210         * lib/at-func2.c (at_func2): Fix typo.
25211         Reported via Ian Beckwith, from http://bugs.debian.org/561117.
25212
25213 2010-01-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
25214
25215         cleanup after gl_FUNC_READLINK, for gl_FUNC_SYMLINK test
25216         * m4/readlink.m4 (gl_FUNC_READLINK): Remove conftest.lnk2,
25217         to avoid failure of symlink test later.
25218
25219 2010-01-06  Eric Blake  <ebb9@byu.net>
25220
25221         stdio, unistd: guarantee ssize_t
25222         * lib/unistd.in.h (includes): Ensure that types required by POSIX
25223         2008 are exposed when needed.
25224         * lib/stdio.in.h (includes): Likewise.
25225         Reported by Ralf Wildenhues.
25226
25227 2010-01-06  Paolo Bonzini  <bonzini@gnu.org>
25228
25229         nl_langinfo: do not call AC_CHECK_FUNC_ONCE inside if.
25230         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Do not call
25231         AC_CHECK_FUNC_ONCE inside if, do not adjust ac_cv_func_nl_langinfo.
25232
25233 2010-01-06  Jim Meyering  <meyering@redhat.com>
25234
25235         readtokens: this module *does* require xalloc.h
25236         It uses only functions that were omitted by the old syntax-check rule.
25237         * lib/readtokens.c: Include "xalloc.h" once again.
25238         * modules/readtokens (Depends-on): Add xalloc.
25239         This reverts part of 0e0f8f12ec241c0f1c1f21f960bb5cf908a0fa3c.
25240
25241 2010-01-05  Eric Blake  <ebb9@byu.net>
25242
25243         maint: support 'make announcement' from a VPATH build
25244         * top/maint.mk (announcement): Look for correct NEWS file.
25245
25246 2010-01-05  Aurelien Jarno  <aurelien@aurel32.net>  (tiny change)
25247
25248         utimens (fdutimens): ignore a negative FD, per contract
25249         * lib/utimens.c (fdutimens) [HAVE_FUTIMENS]: Call futimens only
25250         when we have a valid file descriptor.  Otherwise, using a brand
25251         new glibc (with just-patched futimens that now fails with EBADF)
25252         would cause this function to fail with ENOSYS.
25253         Reported by Guillaume Ayoub in http://bugs.debian.org/563726.
25254         See also http://bugzilla.redhat.com/552320.
25255
25256 2010-01-05  Eric Blake  <ebb9@byu.net>
25257
25258         strcase: document what it provides
25259         * doc/posix-functions/strcasecmp.texi (strcasecmp): Mention the
25260         gnulib module.
25261         * doc/posix-functions/strncasecmp.texi (strncasecmp): Likewise.
25262         Reported by Dilyan Palauzov <Dilyan.Palauzov@aegee.org>.
25263
25264 2010-01-05  Jim Meyering  <meyering@redhat.com>
25265
25266         maint: remove useless inclusions of "xalloc.h"
25267         * lib/getloadavg.c: Remove useless inclusion of "xalloc.h".
25268         * lib/readtokens.c: Likewise.
25269         * lib/same.c: Likewise.
25270         * modules/getloadavg (Depends-on): Remove xalloc.
25271         * modules/readtokens: Likewise.
25272         * modules/same: Likewise.
25273
25274         maint.mk: include 4 more function names in alloca.h-checking regexp
25275         * top/maint.mk (sc_prohibit_xalloc_without_use): Use more complete
25276         regexp.  Before, we would give a false-positive (saying alloca.h
25277         is included unnecessarily) when the only uses involved omitted symbols.
25278
25279         xalloc.h: use consistent formatting
25280         * lib/xalloc.h: Move declarations to start in the first column.
25281
25282 2010-01-05  Eric Blake  <ebb9@byu.net>
25283
25284         mkdir: avoid xalloc
25285         * lib/mkdir.c (includes): Drop unused header.
25286         Reported by John W. Eaton.
25287
25288 2010-01-04  Jim Meyering  <meyering@redhat.com>
25289
25290         nl_langinfo: avoid configure-time syntax error
25291         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): When we've already tested
25292         for nl_langinfo.h, AC_CHECK_FUNCS_ONCE([nl_langinfo]) expands to
25293         the empty string.  Don't let that provoke a shell syntax error.
25294
25295         regcomp, regexec, fnmatch: avoid array bounds read error
25296         * lib/regcomp.c (build_equiv_class): From glibc:
25297         Use only the low 24 bits of a findidx return value as an index
25298         into the weights array.  Patch by Ulrich Drepper:
25299         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commit;h=b7d1c5fa30
25300         * lib/regexec.c (check_node_accept_bytes): Likewise.
25301         * lib/fnmatch_loop.c (FCT): Likewise.
25302
25303         regcomp: skip collseq lookup when there are no rules
25304         * lib/regcomp.c (lookup_collation_sequence_value): From glibc:
25305         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a532a41df58
25306
25307         regcomp: recognize ill-formed { } expressions
25308         * lib/regcomp.c (parse_dup_op): From glibc:
25309         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a87cd2894cb
25310
25311         regcomp: fix typo in comment
25312         * lib/regcomp.c (duplicate_node_closure): Sync from glibc.
25313         s/satisfy/satisfies/.
25314
25315         regcomp: sync from glibc: remove dead store
25316         * lib/regcomp.c (duplicate_node_closure): Remove useless
25317         search_duplicated_node call and dead store.
25318
25319         regcomp: sync from glibc; always use nl_langinfo
25320         * lib/regcomp.c (init_dfa) [!LIBC]: Always use nl_langinfo (CODESET),
25321         now that gnulib provides it.  Recognize UTF8 as well as UTF-8.
25322         * modules/regex (Depends-on): Add nl_langinfo.
25323
25324 2010-01-04  Eric Blake  <ebb9@byu.net>
25325
25326         fdopendir: fix configure test
25327         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for existing file.
25328
25329 2010-01-01  Bruno Haible  <bruno@clisp.org>
25330
25331         wchar: Remove unused configure check.
25332         * m4/wchar.m4 (gl_WCHAR_H): Don't test whether <wchar.h> is standalone.
25333
25334 2010-01-01  Eric Blake  <ebb9@byu.net>
25335
25336         headers: make check of system header explicit
25337         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't exploit knowledge of
25338         gl_CHECK_NEXT_HEADER internals, but call AC_CHECK_HEADERS_ONCE
25339         ourselves.
25340         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
25341         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
25342         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
25343         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise, for gt_INTTYPES_PRI
25344         internals.
25345         * m4/wchar.m4 (gl_WCHAR_H): Skip followup test if header is
25346         missing.
25347         Suggested by Bruno Haible.
25348
25349 2010-01-01  Jim Meyering  <meyering@redhat.com>
25350
25351         ChangeLog: tweak to eliminate unnecessary copyright line
25352         * ChangeLog: Remove a copyright line that was mistakenly updated
25353         by today's update-copyright run.  Reported by Eric Blake.
25354
25355         test-update-copyright: don't let envvar setting cause test failure
25356         * tests/test-update-copyright.sh: Set UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
25357
25358 2010-01-01  Bruno Haible  <bruno@clisp.org>
25359
25360         localename: Avoid gcc warning.
25361         * lib/localename.c (gl_locale_name_thread_unsafe): Don't define this
25362         function if it is not used.
25363
25364 2010-01-01  Jim Meyering  <meyering@redhat.com>
25365
25366         update nearly all FSF copyright year lists to include 2010
25367         Use the same procedure as for 2009, outlined in
25368         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/20081
25369
25370         version-etc: set COPYRIGHT_YEAR to 2010
25371         * lib/version-etc.c (COPYRIGHT_YEAR): Manually update the enum.
25372
25373 2009-12-31  Eric Blake  <ebb9@byu.net>
25374
25375         doc: correct availability of cygwin 1.5.x getopt
25376         * doc/posix-functions/optarg.texi (optarg): Cygwin supplies getopt
25377         variables.
25378         * doc/posix-functions/opterr.texi (opterr): Likewise.
25379         * doc/posix-functions/optind.texi (optind): Likewise.
25380         * doc/posix-functions/optopt.texi (optopt): Likewise.
25381         * doc/posix-functions/tzname.texi (tzname): Likewise.
25382
25383         openat: update maintainer
25384         * modules/openat (Maintainer): Add myself.
25385
25386         utimens: avoid shadowing warning
25387         * lib/utimens.c (fdutimens, lutimens): Consolidate separate stat
25388         buffers into one, to avoid shadowing, as well as avoiding a
25389         redundant stat.
25390         Reported by Jim Meyering.
25391
25392         test-dup2: avoid compiler warning
25393         * tests/test-dup2.c (is_inheritable): Only define if used.
25394
25395 2010-01-01  Bruno Haible  <bruno@clisp.org>
25396
25397         vasnprintf: Avoid passing an 'rpl_mbstate_t *' to the system's wcrtomb.
25398         * lib/vasnprintf.c (VASNPRINTF): If GNULIB_defined_mbstate_t is
25399         defined, use wctomb instead of wcrtomb.
25400
25401 2010-01-01  Bruno Haible  <bruno@clisp.org>
25402
25403         iconv: Reject native Solaris iconv.
25404         * m4/iconv.m4 (AM_ICONV_LINK): Recognize native Solaris iconv() bug.
25405         * doc/posix-functions/iconv.texi: Document native Solaris iconv() bug.
25406
25407 2009-12-31  Bruno Haible  <bruno@clisp.org>
25408
25409         * tests/test-signal.c (main): Remove test of 'SIG'.
25410
25411 2009-12-31  Bruno Haible  <bruno@clisp.org>
25412
25413         spawn: Fix incomplete fix.
25414         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
25415         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
25416         warnings for GNULIB_POSIXCHECK again.
25417         Reported by Eric Blake.
25418
25419 2009-12-31  Bruno Haible  <bruno@clisp.org>
25420
25421         Avoid namespace pollution on glibc systems.
25422         * lib/spawn.in.h: Don't include <sched.h>, <signal.h> on glibc systems.
25423         * lib/sys_times.in.h: Don't include <time.h> on glibc systems.
25424         * lib/wchar.in.h: Don't include <stddef.h>, <stdio.h>, <time.h> on
25425         glibc systems.
25426
25427 2009-12-31  Bruno Haible  <bruno@clisp.org>
25428
25429         * m4/wchar.m4 (gl_WCHAR_H): Remove gl_STDDEF_H invocation.
25430         (gl_REPLACE_WCHAR_H): Turn into a no-op.
25431         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Likewise.
25432         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
25433         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
25434         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
25435         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
25436
25437 2009-12-31  Bruno Haible  <bruno@clisp.org>
25438
25439         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
25440         gl_CHECK_NEXT_HEADERS before testing ac_cv_header_sys_select_h, not
25441         afterwards.
25442
25443 2009-12-31  Bruno Haible  <bruno@clisp.org>
25444
25445         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H_DEFAULTS): Don't set
25446         SYS_UTSNAME_H.
25447
25448 2009-12-31  Bruno Haible  <bruno@clisp.org>
25449
25450         spawn: Fix misapplied patch.
25451         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
25452         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
25453         warnings for GNULIB_POSIXCHECK.
25454
25455 2009-12-31  Bruno Haible  <bruno@clisp.org>
25456
25457         times: Update after sys_times changed.
25458         * m4/times.m4: New file, extracted from modules/times. Set HAVE_TIMES.
25459         * modules/times (Files): Add it.
25460         (configure.ac): Invoke gl_FUNC_TIMES.
25461
25462 2009-12-31  Bruno Haible  <bruno@clisp.org>
25463
25464         Use AC_C_INLINE where necessary.
25465         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Require AC_C_INLINE.
25466         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
25467         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
25468         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
25469         * m4/mbfile.m4 (gl_MBFILE): Likewise.
25470         * m4/mbiter.m4 (gl_MBITER): Likewise.
25471         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
25472         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
25473         * m4/wait-process.m4 (gl_WAIT_PROCESS): Likewise.
25474         * modules/u64 (configure.ac): Likewise.
25475
25476 2009-12-31  Bruno Haible  <bruno@clisp.org>
25477
25478         Use AC_C_INLINE instead of module 'inline' where possible.
25479         * modules/inline (Description): Clarify purpose.
25480         * m4/count-one-bits.m4 (gl_COUNT_ONE_BITS): Require AC_C_INLINE.
25481         * modules/count-one-bits (Depends-on): Remove inline.
25482         * m4/openat.m4 (gl_PREREQ_OPENAT): Require AC_C_INLINE.
25483         * modules/openat (Depends-on): Remove inline.
25484         * modules/fdutimensat (Depends-on, configure.ac): Require AC_C_INLINE
25485         instead of depending on module 'inline'.
25486         * modules/filevercmp (Depends-on, configure.ac): Likewise.
25487         * modules/unicase/cased (Depends-on, configure.ac): Likewise.
25488         * modules/unicase/ignorable (Depends-on, configure.ac): Likewise.
25489         * modules/unictype/category-of (Depends-on, configure.ac): Likewise.
25490         * modules/unictype/category-test (Depends-on, configure.ac): Likewise.
25491         * modules/unictype/ctype-alnum (Depends-on, configure.ac): Likewise.
25492         * modules/unictype/ctype-alpha (Depends-on, configure.ac): Likewise.
25493         * modules/unictype/ctype-blank (Depends-on, configure.ac): Likewise.
25494         * modules/unictype/ctype-cntrl (Depends-on, configure.ac): Likewise.
25495         * modules/unictype/ctype-digit (Depends-on, configure.ac): Likewise.
25496         * modules/unictype/ctype-graph (Depends-on, configure.ac): Likewise.
25497         * modules/unictype/ctype-lower (Depends-on, configure.ac): Likewise.
25498         * modules/unictype/ctype-print (Depends-on, configure.ac): Likewise.
25499         * modules/unictype/ctype-punct (Depends-on, configure.ac): Likewise.
25500         * modules/unictype/ctype-space (Depends-on, configure.ac): Likewise.
25501         * modules/unictype/ctype-upper (Depends-on, configure.ac): Likewise.
25502         * modules/unictype/ctype-xdigit (Depends-on, configure.ac): Likewise.
25503         * modules/unictype/property-alphabetic (Depends-on, configure.ac):
25504         Likewise.
25505         * modules/unictype/property-ascii-hex-digit (Depends-on,
25506         configure.ac): Likewise.
25507         * modules/unictype/property-bidi-arabic-digit (Depends-on,
25508         configure.ac): Likewise.
25509         * modules/unictype/property-bidi-arabic-right-to-left (Depends-on,
25510         configure.ac): Likewise.
25511         * modules/unictype/property-bidi-block-separator (Depends-on,
25512         configure.ac): Likewise.
25513         * modules/unictype/property-bidi-boundary-neutral (Depends-on,
25514         configure.ac): Likewise.
25515         * modules/unictype/property-bidi-common-separator (Depends-on,
25516         configure.ac): Likewise.
25517         * modules/unictype/property-bidi-control (Depends-on, configure.ac):
25518         Likewise.
25519         * modules/unictype/property-bidi-embedding-or-override (Depends-on,
25520         configure.ac): Likewise.
25521         * modules/unictype/property-bidi-eur-num-separator (Depends-on,
25522         configure.ac): Likewise.
25523         * modules/unictype/property-bidi-eur-num-terminator (Depends-on,
25524         configure.ac): Likewise.
25525         * modules/unictype/property-bidi-european-digit (Depends-on,
25526         configure.ac): Likewise.
25527         * modules/unictype/property-bidi-hebrew-right-to-left (Depends-on,
25528         configure.ac): Likewise.
25529         * modules/unictype/property-bidi-left-to-right (Depends-on,
25530         configure.ac): Likewise.
25531         * modules/unictype/property-bidi-non-spacing-mark (Depends-on,
25532         configure.ac): Likewise.
25533         * modules/unictype/property-bidi-other-neutral (Depends-on,
25534         configure.ac): Likewise.
25535         * modules/unictype/property-bidi-pdf (Depends-on, configure.ac):
25536         Likewise.
25537         * modules/unictype/property-bidi-segment-separator (Depends-on,
25538         configure.ac): Likewise.
25539         * modules/unictype/property-bidi-whitespace (Depends-on,
25540         configure.ac): Likewise.
25541         * modules/unictype/property-combining (Depends-on, configure.ac):
25542         Likewise.
25543         * modules/unictype/property-composite (Depends-on, configure.ac):
25544         Likewise.
25545         * modules/unictype/property-currency-symbol (Depends-on,
25546         configure.ac): Likewise.
25547         * modules/unictype/property-dash (Depends-on, configure.ac): Likewise.
25548         * modules/unictype/property-decimal-digit (Depends-on, configure.ac):
25549         Likewise.
25550         * modules/unictype/property-default-ignorable-code-point (Depends-on,
25551         configure.ac): Likewise.
25552         * modules/unictype/property-deprecated (Depends-on, configure.ac):
25553         Likewise.
25554         * modules/unictype/property-diacritic (Depends-on, configure.ac):
25555         Likewise.
25556         * modules/unictype/property-extender (Depends-on, configure.ac):
25557         Likewise.
25558         * modules/unictype/property-format-control (Depends-on, configure.ac):
25559         Likewise.
25560         * modules/unictype/property-grapheme-base (Depends-on, configure.ac):
25561         Likewise.
25562         * modules/unictype/property-grapheme-extend (Depends-on, configure.ac):
25563         Likewise.
25564         * modules/unictype/property-grapheme-link (Depends-on, configure.ac):
25565         Likewise.
25566         * modules/unictype/property-hex-digit (Depends-on, configure.ac):
25567         Likewise.
25568         * modules/unictype/property-hyphen (Depends-on, configure.ac):
25569         Likewise.
25570         * modules/unictype/property-id-continue (Depends-on, configure.ac):
25571         Likewise.
25572         * modules/unictype/property-id-start (Depends-on, configure.ac):
25573         Likewise.
25574         * modules/unictype/property-ideographic (Depends-on, configure.ac):
25575         Likewise.
25576         * modules/unictype/property-ids-binary-operator (Depends-on,
25577         configure.ac): Likewise.
25578         * modules/unictype/property-ids-trinary-operator (Depends-on,
25579         configure.ac): Likewise.
25580         * modules/unictype/property-ignorable-control (Depends-on,
25581         configure.ac): Likewise.
25582         * modules/unictype/property-iso-control (Depends-on, configure.ac):
25583         Likewise.
25584         * modules/unictype/property-join-control (Depends-on, configure.ac):
25585         Likewise.
25586         * modules/unictype/property-left-of-pair (Depends-on, configure.ac):
25587         Likewise.
25588         * modules/unictype/property-line-separator (Depends-on, configure.ac):
25589         Likewise.
25590         * modules/unictype/property-logical-order-exception (Depends-on,
25591         configure.ac): Likewise.
25592         * modules/unictype/property-lowercase (Depends-on, configure.ac):
25593         Likewise.
25594         * modules/unictype/property-math (Depends-on, configure.ac): Likewise.
25595         * modules/unictype/property-non-break (Depends-on, configure.ac):
25596         Likewise.
25597         * modules/unictype/property-not-a-character (Depends-on, configure.ac):
25598         Likewise.
25599         * modules/unictype/property-numeric (Depends-on, configure.ac):
25600         Likewise.
25601         * modules/unictype/property-other-alphabetic (Depends-on,
25602         configure.ac): Likewise.
25603         * modules/unictype/property-other-default-ignorable-code-point
25604         (Depends-on, configure.ac): Likewise.
25605         * modules/unictype/property-other-grapheme-extend (Depends-on,
25606         configure.ac): Likewise.
25607         * modules/unictype/property-other-id-continue (Depends-on,
25608         configure.ac): Likewise.
25609         * modules/unictype/property-other-id-start (Depends-on, configure.ac):
25610         Likewise.
25611         * modules/unictype/property-other-lowercase (Depends-on, configure.ac):
25612         Likewise.
25613         * modules/unictype/property-other-math (Depends-on, configure.ac):
25614         Likewise.
25615         * modules/unictype/property-other-uppercase (Depends-on, configure.ac):
25616         Likewise.
25617         * modules/unictype/property-paired-punctuation (Depends-on,
25618         configure.ac): Likewise.
25619         * modules/unictype/property-paragraph-separator (Depends-on,
25620         configure.ac): Likewise.
25621         * modules/unictype/property-pattern-syntax (Depends-on, configure.ac):
25622         Likewise.
25623         * modules/unictype/property-pattern-white-space (Depends-on,
25624         configure.ac): Likewise.
25625         * modules/unictype/property-private-use (Depends-on, configure.ac):
25626         Likewise.
25627         * modules/unictype/property-punctuation (Depends-on, configure.ac):
25628         Likewise.
25629         * modules/unictype/property-quotation-mark (Depends-on, configure.ac):
25630         Likewise.
25631         * modules/unictype/property-radical (Depends-on, configure.ac):
25632         Likewise.
25633         * modules/unictype/property-sentence-terminal (Depends-on,
25634         configure.ac): Likewise.
25635         * modules/unictype/property-soft-dotted (Depends-on, configure.ac):
25636         Likewise.
25637         * modules/unictype/property-space (Depends-on, configure.ac): Likewise.
25638         * modules/unictype/property-terminal-punctuation (Depends-on,
25639         configure.ac): Likewise.
25640         * modules/unictype/property-titlecase (Depends-on, configure.ac):
25641         Likewise.
25642         * modules/unictype/property-unassigned-code-value (Depends-on,
25643         configure.ac): Likewise.
25644         * modules/unictype/property-unified-ideograph (Depends-on,
25645         configure.ac): Likewise.
25646         * modules/unictype/property-uppercase (Depends-on, configure.ac):
25647         Likewise.
25648         * modules/unictype/property-variation-selector (Depends-on,
25649         configure.ac): Likewise.
25650         * modules/unictype/property-white-space (Depends-on, configure.ac):
25651         Likewise.
25652         * modules/unictype/property-xid-continue (Depends-on, configure.ac):
25653         Likewise.
25654         * modules/unictype/property-xid-start (Depends-on, configure.ac):
25655         Likewise.
25656         * modules/unictype/property-zero-width (Depends-on, configure.ac):
25657         Likewise.
25658         * modules/unictype/syntax-c-ident (Depends-on, configure.ac): Likewise.
25659         * modules/unictype/syntax-java-ident (Depends-on, configure.ac):
25660         Likewise.
25661
25662 2009-12-31  Bruno Haible  <bruno@clisp.org>
25663
25664         Remove unnecessary AC_C_INLINE invocation.
25665         * m4/popen.m4 (gl_PREREQ_POPEN): Don't invoke AC_C_INLINE. Not needed
25666         since 2009-08-21.
25667
25668 2009-12-31  Jim Meyering  <meyering@redhat.com>
25669
25670         maint.mk: don't require explicit gpg_key_ID in cfg.mk
25671         * top/maint.mk (gpg_key_ID): Derive key ID from signed release tag.
25672         With this change, we can all remove the gpg_key_ID = ... definition
25673         from our respective cfg.mk files.
25674
25675         maint.mk: create announcement template in ~/, not in /tmp
25676         * top/maint.mk (emit_upload_commands): Adjust.
25677         (release-prep): Emit into ~/announce-..., not /tmp/announce-...
25678         Remove temporary file, .ci-msg.
25679
25680 2009-12-31  Eric Blake  <ebb9@byu.net>
25681
25682         link-warning: always build headers with link warnings
25683         * modules/arpa_inet (Makefile.am): Always build replacement
25684         header.
25685         * modules/ctype (Makefile.am): Likewise.
25686         * modules/dirent (Makefile.am): Likewise.
25687         * modules/inttypes (Makefile.am): Likewise.
25688         * modules/langinfo (Makefile.am): Likewise.
25689         * modules/locale (Makefile.am): Likewise.
25690         * modules/spawn (Makefile.am): Likewise.
25691         * modules/sys_file (Makefile.am): Likewise.
25692         * modules/sys_ioctl (Makefile.am): Likewise.
25693         * modules/sys_select (Makefile.am): Likewise.
25694         * modules/sys_socket (Makefile.am): Likewise.
25695         * modules/sys_times (Makefile.am): Likewise.
25696         * modules/sys_utsname (Makefile.am): Likewise.
25697         * modules/sys_wait (Makefile.am): Likewise.
25698         * modules/wchar (Makefile.am): Likewise.
25699         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET)
25700         (gl_ARPA_INET_H_DEFAULTS): Drop unneeded variable.
25701         * m4/ctype.m4 (gl_CTYPE_H_DEFAULTS): Likewise.
25702         * m4/isblank.m4 (gl_FUNC_ISBLANK): Likewise.
25703         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H, gl_DIRENT_H_DEFAULTS):
25704         Likewise.
25705         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
25706         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
25707         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_H_DEFAULTS):
25708         Likewise.
25709         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H, gl_SPAWN_H_DEFAULTS):
25710         Likewise.
25711         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
25712         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H, gl_REPLACE_SYS_IOCTL_H)
25713         (gl_SYS_IOCTL_H_DEFAULTS): Likewise.
25714         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
25715         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
25716         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
25717         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
25718         * m4/wchar.m4 (gl_WCHAR_H, gl_REPLACE_WCHAR_H)
25719         (gl_WCHAR_H_DEFAULTS): Likewise.
25720
25721 2009-12-31  Eric Blake  <ebb9@byu.net>
25722
25723         signal, spawn: use link warnings
25724         * lib/signal.in.h (sigset_t): Make unconditional.
25725         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset)
25726         (sigpending, sigprocmask, sigaction): Add link warnings.
25727         * lib/spawn.in.h (posix_spawn, posix_spawnp, posix_spawnattr_init)
25728         (posix_spawnattr_destroy, posix_spawnattr_getsigdefault)
25729         (posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask)
25730         (posix_spawnattr_setsigmask, posix_spawnattr_getflags)
25731         (posix_spawnattr_setflags, posix_spawnattr_getpgroup)
25732         (posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy)
25733         (posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam)
25734         (posix_spawnattr_setschedparam, posix_spawn_file_actions_init)
25735         (posix_spawn_file_actions_destroy)
25736         (posix_spawn_file_actions_addopen)
25737         (posix_spawn_file_actions_addclose)
25738         (posix_spawn_file_actions_adddup2): Likewise.
25739         * m4/signal_h.m4 (gl_SIGNAL_H): Guarantee uid_t.
25740         * tests/test-signal.c (main): Enhance test.
25741
25742         spawn: improve wrapper support
25743         * m4/spawn_h.m4 (gl_SPAWN_H): Check for type existence.
25744         (gl_SPAWN_H_DEFAULTS): New defaults.
25745         * modules/spawn (Makefile.am): Substitute them.
25746         * lib/spawn.in.h: (posix_spawnattr_t, posix_spawn_file_actions_t):
25747         Only declare if missing or broken.
25748
25749         sys_times, sys_utsname: use include_next
25750         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Support wrapping an existing
25751         header.
25752         (gl_SYS_TIMES_H_DEFAULTS): Add another variable.
25753         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
25754         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
25755         * modules/sys_times (Depends-on): Add include_next.
25756         (Makefile.am): Substitute additional values.
25757         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
25758         * lib/sys_times.in.h (includes): Include native header, if
25759         available.
25760         * lib/sys_utsname.in.h (includes): Likewise.
25761         * tests/test-sys_times.c (main): Enhance test.
25762
25763         fdutimensat: revert prior patch
25764         * modules/fdutimensat (Depends-on): Re-add inline; it is needed by
25765         utimens.h.
25766         Reported by Bruno Haible.
25767
25768 2009-12-30  Eric Blake  <ebb9@byu.net>
25769
25770         sys_wait: drop link-warning dependency
25771         * modules/sys_wait (Depends-on, Makefile.am): Drop unneeded
25772         link-warning efforts.
25773         * lib/sys_wait.in.h: Likewise.
25774
25775         fdutimensat: remove bogus dependency
25776         * modules/fdutimensat (Depends-on): Drop inline.
25777
25778         unistd: fix typo
25779         * lib/unistd.in.h (linkat) [GNULIB_POSIXCHECK]: Fix typo.
25780
25781 2009-12-30  Bruno Haible  <bruno@clisp.org>
25782
25783         Fix compilation error with Solaris cc.
25784         * lib/unicase/u8-is-invariant.c: Include <stdbool.h>.
25785         * lib/unicase/u16-is-invariant.c: Likewise.
25786         * lib/unicase/u32-is-invariant.c: Likewise.
25787         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
25788
25789 2009-12-30  Bruno Haible  <bruno@clisp.org>
25790
25791         Fix test crash.
25792         * tests/test-localename.c (test_locale_name_thread): Skip unavailable
25793         locales.
25794         Reported by Simon Josefsson <simon@josefsson.org>.
25795
25796 2009-12-30  Bruno Haible  <bruno@clisp.org>
25797
25798         Fix compilation error on most platforms.
25799         * tests/test-localename.c (categories): Define only if HAVE_NEWLOCALE.
25800         Reported by Simon Josefsson <simon@josefsson.org>
25801         and Nelson H. F. Beebe <beebe@math.utah.edu>.
25802
25803 2009-12-30  Eric Blake  <ebb9@byu.net>
25804
25805         futimens, utimensat: work around ntfs-3g bug
25806         * lib/utimensat.c (rpl_utimensat): Drop attempts to cache whether
25807         a ctime bug is present, and expand workaround to cover ntfs-3g.
25808         * lib/utimens.c (fdutimens, lutimens): Likewise.
25809         (utimensat_ctime_really, detect_ctime_bug): Drop cache mechanism.
25810         (validate_timespec): Adjust return value.
25811         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Update comment.
25812         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
25813         Reported by ctrn3e8 <ctrn3e8@gmail.com>.
25814
25815 2009-12-29  Eric Blake  <ebb9@byu.net>
25816
25817         link-warning: make usage consistent
25818         * modules/ctype (Depends-on): Add link-warning.
25819         (Makefile.am): Update rules accordingly.
25820         * modules/langinfo (Depends-on, Makefile.am): Likewise.
25821         * modules/locale (Depends-on, Makefile.am): Likewise.
25822         * modules/sys_file (Makefile.am): Likewise.
25823         * modules/getopt-posix (Makefile.am): Delete unused link warning
25824         efforts.
25825         * lib/ctype.in.h (GL_LINK_WARNING): Ensure definition before use.
25826         * lib/langinfo.in.h (GL_LINK_WARNING): Likewise.
25827         * lib/locale.in.h (GL_LINK_WARNING): Likewise.
25828         * lib/sys_file.in.h (GL_LINK_WARNING): Likewise.
25829
25830         stdio: remove unused variables
25831         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Remove unused variables.
25832         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Likewise.
25833         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
25834
25835         tests: test more substitute headers
25836         * modules/ctype-tests: New file.
25837         * modules/dirent-tests: Likewise.
25838         * modules/spawn-tests: Likewise.
25839         * modules/sys_file-tests: Likewise.
25840         * modules/sys_ioctl-tests: Likewise.
25841         * modules/sys_wait-tests: Likewise.
25842         * tests/test-ctype.c: Likewise.
25843         * tests/test-dirent.c: Likewise.
25844         * tests/test-spawn.c: Likewise.
25845         * tests/test-sys_file.c: Likewise.
25846         * tests/test-sys_ioctl.c: Likewise.
25847         * tests/test-sys_wait.c: Likewise.
25848         * m4/spawn_h.m4 (gl_SPAWN_H): Replace header if it is missing.
25849         * lib/sys_file.in.h (LOCK_SH, LOCK_EX, LOCK_UN, LOCK_NB): Provide
25850         whether or not flock is in use.
25851
25852         tests: remove License section from module
25853         * modules/arpa_inet-tests: Remove unneeded section.
25854         * modules/byteswap-tests: Likewise.
25855         * modules/ceilf-tests: Likewise.
25856         * modules/ceill-tests: Likewise.
25857         * modules/crypto/des-tests: Likewise.
25858         * modules/crypto/gc-arcfour-tests: Likewise.
25859         * modules/crypto/gc-arctwo-tests: Likewise.
25860         * modules/crypto/gc-des-tests: Likewise.
25861         * modules/crypto/gc-hmac-md5-tests: Likewise.
25862         * modules/crypto/gc-hmac-sha1-tests: Likewise.
25863         * modules/crypto/gc-md2-tests: Likewise.
25864         * modules/crypto/gc-md4-tests: Likewise.
25865         * modules/crypto/gc-md5-tests: Likewise.
25866         * modules/crypto/gc-pbkdf2-sha1-tests: Likewise.
25867         * modules/crypto/gc-rijndael-tests: Likewise.
25868         * modules/crypto/gc-sha1-tests: Likewise.
25869         * modules/crypto/gc-tests: Likewise.
25870         * modules/crypto/md2-tests: Likewise.
25871         * modules/crypto/md4-tests: Likewise.
25872         * modules/fcntl-h-tests: Likewise.
25873         * modules/floorf-tests: Likewise.
25874         * modules/floorl-tests: Likewise.
25875         * modules/frexp-nolibm-tests: Likewise.
25876         * modules/frexp-tests: Likewise.
25877         * modules/frexpl-nolibm-tests: Likewise.
25878         * modules/frexpl-tests: Likewise.
25879         * modules/getaddrinfo-tests: Likewise.
25880         * modules/inttypes-tests: Likewise.
25881         * modules/isfinite-tests: Likewise.
25882         * modules/isinf-tests: Likewise.
25883         * modules/ldexpl-tests: Likewise.
25884         * modules/locale-tests: Likewise.
25885         * modules/math-tests: Likewise.
25886         * modules/netdb-tests: Likewise.
25887         * modules/netinet_in-tests: Likewise.
25888         * modules/printf-frexp-tests: Likewise.
25889         * modules/printf-frexpl-tests: Likewise.
25890         * modules/priv-set-tests: Likewise.
25891         * modules/random_r-tests: Likewise.
25892         * modules/round-tests: Likewise.
25893         * modules/roundf-tests: Likewise.
25894         * modules/roundl-tests: Likewise.
25895         * modules/search-tests: Likewise.
25896         * modules/select-tests: Likewise.
25897         * modules/signal-tests: Likewise.
25898         * modules/stdbool-tests: Likewise.
25899         * modules/stddef-tests: Likewise.
25900         * modules/stdint-tests: Likewise.
25901         * modules/stdio-tests: Likewise.
25902         * modules/stdlib-tests: Likewise.
25903         * modules/string-tests: Likewise.
25904         * modules/strings-tests: Likewise.
25905         * modules/sys_select-tests: Likewise.
25906         * modules/sys_socket-tests: Likewise.
25907         * modules/sys_stat-tests: Likewise.
25908         * modules/sys_time-tests: Likewise.
25909         * modules/sys_utsname-tests: Likewise.
25910         * modules/sysexits-tests: Likewise.
25911         * modules/time-tests: Likewise.
25912         * modules/trunc-tests: Likewise.
25913         * modules/truncf-tests: Likewise.
25914         * modules/truncl-tests: Likewise.
25915         * modules/tsearch-tests: Likewise.
25916         * modules/unistd-tests: Likewise.
25917         * modules/wchar-tests: Likewise.
25918         * modules/wctype-tests: Likewise.
25919
25920         tests: fix license on several tests
25921         * tests/test-des.c: Update to GPLv3+.
25922         * tests/test-flock.c: Likewise.
25923         * tests/test-fsync.c: Likewise.
25924         * tests/test-futimens.h: Likewise.
25925         * tests/test-gc-arcfour.c: Likewise.
25926         * tests/test-gc-arctwo.c: Likewise.
25927         * tests/test-gc-des.c: Likewise.
25928         * tests/test-gc-hmac-md5.c: Likewise.
25929         * tests/test-gc-hmac-sha1.c: Likewise.
25930         * tests/test-gc-md2.c: Likewise.
25931         * tests/test-gc-md4.c: Likewise.
25932         * tests/test-gc-md5.c: Likewise.
25933         * tests/test-gc-pbkdf2-sha1.c: Likewise.
25934         * tests/test-gc-rijndael.c: Likewise.
25935         * tests/test-gc-sha1.c: Likewise.
25936         * tests/test-gc.c: Likewise.
25937         * tests/test-getcwd.c: Likewise.
25938         * tests/test-link.c: Likewise.
25939         * tests/test-link.h: Likewise.
25940         * tests/test-lutimens.h: Likewise.
25941         * tests/test-md2.c: Likewise.
25942         * tests/test-md4.c: Likewise.
25943         * tests/test-mkdir.h: Likewise.
25944         * tests/test-rename.c: Likewise.
25945         * tests/test-rename.h: Likewise.
25946         * tests/test-safe-alloc.c: Likewise.
25947         * tests/test-utimens-common.h: Likewise.
25948         * tests/test-utimens.h: Likewise.
25949
25950         maint: sync license texts
25951         * config/srclist.txt: Add gpl-1.3.texi, lgpl-1.3.texi.
25952         * doc/gpl-3.0.texi: Revert copyright year update.
25953         * doc/lgpl-3.0.texi: Likewise.
25954
25955 2009-12-29  Jim Meyering  <meyering@redhat.com>
25956
25957         update nearly all FSF copyright year lists to include 2009
25958         The files named by the following are exempted:
25959             grep -v '^#' config/srclist.txt|grep -v '^$' | while read src dst; do
25960               test -f "$dst" && { echo "$dst"; continue; }
25961               test -d "$dst" || continue
25962               echo "$dst"/$(basename "$src")
25963             done > exempt
25964             git ls-files tests/unictype >> exempt
25965         In the remaining files, convert to all-interval notation if
25966         - there is already at least one year interval like 2000-2003
25967         - the file is maintained by me
25968         - the file is in lib/uni*/, where that style already prevails
25969         Otherwise, use update-copyright's default.
25970
25971 2009-12-29  Simon Josefsson  <simon@josefsson.org>
25972         and Eric Blake  <ebb9@byu.net>
25973
25974         tests: don't require debug system() to pass
25975         * tests/test-lstat.h (test_lstat_func): Move debug cleanup...
25976         * tests/test-rmdir.h (test_rmdir_func): Likewise.
25977         * tests/test-unlink.h (test_unlink_func): Likewise.
25978         * tests/test-fstatat.c (main): ...into callers.
25979         * tests/test-lstat.c (main): Likewise.
25980         * tests/test-rmdir.c (main): Likewise.
25981         * tests/test-unlink.c (main): Likewise.
25982         * tests/test-unlinkat.c (main): Likewise.
25983         * tests/test-areadlink-with-size.c (main): Don't require a
25984         debug-only system call to pass, aiding cross-testing to mingw.
25985         * tests/test-areadlink.c (main): Likewise.
25986         * tests/test-areadlinkat-with-size.c (main): Likewise.
25987         * tests/test-areadlinkat.c (main): Likewise.
25988         * tests/test-canonicalize-lgpl.c (main): Likewise.
25989         * tests/test-canonicalize.c (main): Likewise.
25990         * tests/test-chown.c (main): Likewise.
25991         * tests/test-fchownat.c (main): Likewise.
25992         * tests/test-lchown.c (main): Likewise.
25993         * tests/test-fdutimensat.c (main): Likewise.
25994         * tests/test-futimens.c (main): Likewise.
25995         * tests/test-link.c (main): Likewise.
25996         * tests/test-linkat.c (main): Likewise.
25997         * tests/test-mkdir.c (main): Likewise.
25998         * tests/test-mkdirat.c (main): Likewise.
25999         * tests/test-mkfifo.c (main): Likewise.
26000         * tests/test-mkfifoat.c (main): Likewise.
26001         * tests/test-mknod.c (main): Likewise.
26002         * tests/test-readlink.c (main): Likewise.
26003         * tests/test-remove.c (main): Likewise.
26004         * tests/test-rename.c (main): Likewise.
26005         * tests/test-renameat.c (main): Likewise.
26006         * tests/test-symlink.c (main): Likewise.
26007         * tests/test-symlinkat.c (main): Likewise.
26008         * tests/test-utimens.c (main): Likewise.
26009         * tests/test-utimensat.c (main): Likewise.
26010
26011 2009-12-29  Simon Josefsson  <simon@josefsson.org>
26012
26013         * modules/selinux-h (selinux/selinux.h, selinux/context.h): Depend
26014         on $(UNUSED_PARAMETER_H) to avoid build failure.
26015
26016 2009-12-28  Jim Meyering  <meyering@redhat.com>
26017
26018         update-copyright: you may specify a max. line length other than 72
26019         * build-aux/update-copyright: Honor $UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
26020
26021         maint: use consistent FSF copyright line syntax
26022         * lib/posixtm.c: Add missing comma in FSF copyright line.
26023         * lib/posixtm.h: Likewise.
26024         * lib/getugroups.c: Add missing ", Inc.".
26025
26026         pmccabe2html: emit consistent FSF copyright; remove trailing blanks
26027         * build-aux/pmccabe2html: Insert comma before "Inc." in emitted
26028         FSF copyright line.  Remove trailing blanks.
26029
26030 2009-12-28  Eric Blake  <ebb9@byu.net>
26031
26032         test-dup2: reduce dependencies
26033         * modules/cloexec (Configure.ac): Set witness.
26034         * modules/dup2-tests (Depends-on): Drop cloexec.
26035         * tests/test-dup2.c (main): Skip portion of test if cloexec module
26036         not present.
26037         Suggested by Bruno Haible.
26038
26039 2009-12-26  Bruno Haible  <bruno@clisp.org>
26040
26041         Remove an unneeded dependency.
26042         * modules/fseterr (Depends-on): Remove dup2.
26043
26044 2009-12-26  Eric Blake  <ebb9@byu.net>
26045
26046         tests: use macros.h in more places
26047         * tests/macros.h (ASSERT): Depend on ASSERT_STREAM.
26048         (ASSERT_STREAM): Provide default of stderr.
26049         * tests/test-dirent-safer.c: Include macros.h, using alternate
26050         stream for assertions.
26051         * tests/test-dup-safer.c: Likewise.
26052         * tests/test-freopen-safer.c: Likewise.
26053         * tests/test-getopt.c: Likewise.
26054         * tests/test-openat-safer.c: Likewise.
26055         * tests/test-pipe.c: Likewise.
26056         * tests/test-popen-safer.c: Likewise.
26057         * modules/dirent-safer-tests (Files): Include macros.h.
26058         * modules/unistd-safer-tests (Files): Likewise.
26059         * modules/freopen-safer-tests (Files): Likewise.
26060         * modules/getopt-posix-tests (Files): Likewise.
26061         * modules/openat-safer-tests (Files): Likewise.
26062         * modules/pipe-tests (Files): Likewise.
26063
26064 2009-12-26  Bruno Haible  <bruno@clisp.org>
26065
26066         javacomp: Portability fix.
26067         * m4/javacomp.m4 (gt_JAVACOMP): Fix creation of conftestver.class so
26068         that it also works on Solaris.
26069
26070 2009-12-26  Bruno Haible  <bruno@clisp.org>
26071
26072         localename: Fix storage allocation of gl_locale_name_thread's result.
26073         * lib/localename.c (SIZE_BITS, string_hash, struct hash_node,
26074         HASH_TABLE_SIZE, struniq_hash_table, struniq_lock, struniq): Define on
26075         all platforms that have 'uselocale'.
26076         (gl_locale_name_thread_unsafe): New function, extracted from
26077         gl_locale_name_thread.
26078         (gl_locale_name_thread): Call struniq on all platforms that have
26079         'uselocale'.
26080         * tests/test-localename.c (test_locale_name_thread): Check that the
26081         resulting strings are permanently allocated.
26082         * modules/localename-tests (Depends-on): Add strdup.
26083
26084 2009-12-26  Bruno Haible  <bruno@clisp.org>
26085
26086         * tests/test-localename.c (categories): Fill in the strings.
26087
26088 2009-12-26  Jim Meyering  <meyering@redhat.com>
26089
26090         isdir: complete the removal of m4/isdir.m4
26091         * modules/isdir (configure.ac): Remove reference to gl_ISDIR.
26092
26093         isdir: clean up, since at least grep still uses it
26094         * lib/isdir.c: Include "isdir.h".
26095         (S_ISDIR): Remove now-unneeded definition.
26096         * modules/isdir (Files): Add lib/isdir.h.
26097         * lib/isdir.h: New file, with declaration.
26098         * m4/isdir.m4: Remove file -- unneeded.
26099
26100 2009-12-25  Bruno Haible  <bruno@clisp.org>
26101
26102         selinux-h: Make generated .h files standalone.
26103         * lib/se-context.in.h: Arrange to include _GL_UNUSED_PARAMETER
26104         definition. Use _GL_UNUSED_PARAMETER instead of _GL_UNUSED.
26105         * lib/se-selinux.in.h: Likewise.
26106         * modules/selinux-h (Depends-on): Add unused-parameter.
26107         (Makefile.am): Insert definition of _GL_UNUSED_PARAMETER into
26108         selinux/selinux.h and selinux/context.h.
26109         Suggested by Eric Blake.
26110
26111 2009-12-25  Bruno Haible  <bruno@clisp.org>
26112
26113         Move gl_FCNTL_O_FLAGS to a separate .m4 file.
26114         * m4/fcntl-o.m4: New file, extracted from m4/fcntl_h.m4.
26115         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): Remove macro.
26116         * modules/fcntl-h (Files): Add m4/fcntl-o.m4.
26117         * modules/localcharset (Files): Likewise. Remove m4/fcntl_h.m4.
26118
26119 2009-12-24  Bruno Haible  <bruno@clisp.org>
26120
26121         openat: Fix warning.
26122         * lib/openat-proc.c: Include <unistd.h>.
26123
26124 2009-12-24  Bruno Haible  <bruno@clisp.org>
26125
26126         New module 'unused-parameter'.
26127         * build-aux/unused-parameter.h: New file, extracted from earlier
26128         gnulib-common.m4.
26129         * modules/unused-parameter: New file.
26130         * lib/unistr.h: Include unused-parameter.h.
26131         (u32_mbtouc_unsafe, u32_mbtouc): Use _GL_UNUSED_PARAMETER instead of
26132         _GL_UNUSED.
26133         * modules/unistr/base (Depends-on): Add unused-parameter.
26134
26135 2009-12-24  Bruno Haible  <bruno@clisp.org>
26136
26137         Add missing dependencies to 'extensions' module.
26138         * m4/extensions.m4: Add comment.
26139         * modules/accept4 (Depends-on): Add extensions.
26140         * modules/dup3 (Depends-on): Likewise.
26141         * modules/fcntl (Depends-on): Likewise.
26142         * modules/futimens (Depends-on): Likewise.
26143         * modules/mknod (Depends-on): Likewise.
26144         * modules/pipe2 (Depends-on): Likewise.
26145         * modules/stat-time (Depends-on): Likewise.
26146         * modules/strcasestr-simple (Depends-on): Likewise.
26147         * modules/strsignal (Depends-on): Likewise.
26148         * modules/utimensat (Depends-on): Likewise.
26149         * modules/localcharset (Depends-on): Likewise. Needed because of
26150         gl_FCNTL_O_FLAGS.
26151         * modules/wcrtomb (Depends-on): Likewise. Needed because of
26152         AC_TYPE_MBSTATE_T.
26153         * modules/wcsnrtombs (Depends-on): Likewise.
26154         * modules/wcsrtombs (Depends-on): Likewise.
26155
26156 2009-12-24  Bruno Haible  <bruno@clisp.org>
26157
26158         binary-io: Avoid gcc warning due to SET_BINARY.
26159         * lib/binary-io.h (SET_BINARY): Cast the result to void.
26160         Reported by Jim Meyering <jim@meyering.net>. Suggestion by Eric Blake.
26161
26162 2009-12-24  Bruno Haible  <bruno@clisp.org>
26163
26164         Avoid future namespace pollution on glibc systems.
26165         * lib/arpa_inet.in.h: Don't include <sys/socket.h> on glibc systems.
26166         * lib/sys_ioctl.in.h: Don't include <unistd.h> on glibc systems.
26167         * lib/sys_select.in.h: Don't include <sys/time.h> and <string.h> on
26168         glibc systems.
26169
26170 2009-12-24  Bruno Haible  <bruno@clisp.org>
26171
26172         Refactor common macros used in tests.
26173         * tests/macros.h: New file.
26174         * tests/test-areadlink.c: Include macros.h. Don't include <stdio.h>
26175         and/or <stdlib.h>, if appropriate.
26176         (ASSERT, SIZEOF): Remove macros.
26177         * tests/test-areadlink-with-size.c: Likewise.
26178         * tests/test-areadlinkat.c: Likewise.
26179         * tests/test-areadlinkat-with-size.c: Likewise.
26180         * tests/test-argmatch.c: Likewise.
26181         * tests/test-argv-iter.c: Likewise.
26182         * tests/test-array-mergesort.c: Likewise.
26183         * tests/test-array_list.c: Likewise.
26184         * tests/test-array_oset.c: Likewise.
26185         * tests/test-avltree_list.c: Likewise.
26186         * tests/test-avltree_oset.c: Likewise.
26187         * tests/test-avltreehash_list.c: Likewise.
26188         * tests/test-base64.c: Likewise.
26189         * tests/test-binary-io.c: Likewise.
26190         * tests/test-bitrotate.c: Likewise.
26191         * tests/test-btowc.c: Likewise.
26192         * tests/test-byteswap.c: Likewise.
26193         * tests/test-c-ctype.c: Likewise.
26194         * tests/test-c-stack.c: Likewise.
26195         * tests/test-c-strcasecmp.c: Likewise.
26196         * tests/test-c-strcasestr.c: Likewise.
26197         * tests/test-c-strncasecmp.c: Likewise.
26198         * tests/test-c-strstr.c: Likewise.
26199         * tests/test-canonicalize-lgpl.c: Likewise.
26200         * tests/test-canonicalize.c: Likewise.
26201         * tests/test-carray_list.c: Likewise.
26202         * tests/test-ceilf1.c: Likewise.
26203         * tests/test-ceilf2.c: Likewise.
26204         * tests/test-ceill.c: Likewise.
26205         * tests/test-chown.c: Likewise.
26206         * tests/test-cloexec.c: Likewise.
26207         * tests/test-copy-acl.c: Likewise.
26208         * tests/test-copy-file.c: Likewise.
26209         * tests/test-count-one-bits.c: Likewise.
26210         * tests/test-dprintf-posix.c: Likewise.
26211         * tests/test-dup2.c: Likewise.
26212         * tests/test-dup3.c: Likewise.
26213         * tests/test-duplocale.c: Likewise.
26214         * tests/test-fbufmode.c: Likewise.
26215         * tests/test-fchdir.c: Likewise.
26216         * tests/test-fchownat.c: Likewise.
26217         * tests/test-fcntl-safer.c: Likewise.
26218         * tests/test-fcntl.c: Likewise.
26219         * tests/test-fdopendir.c: Likewise.
26220         * tests/test-fdutimensat.c: Likewise.
26221         * tests/test-fflush2.c: Likewise.
26222         * tests/test-file-has-acl.c: Likewise.
26223         * tests/test-filevercmp.c: Likewise.
26224         * tests/test-flock.c: Likewise.
26225         * tests/test-floorf1.c: Likewise.
26226         * tests/test-floorf2.c: Likewise.
26227         * tests/test-floorl.c: Likewise.
26228         * tests/test-fnmatch.c: Likewise.
26229         * tests/test-fopen.h: Likewise.
26230         * tests/test-fpending.c: Likewise.
26231         * tests/test-fprintf-posix.c: Likewise.
26232         * tests/test-fpurge.c: Likewise.
26233         * tests/test-freadable.c: Likewise.
26234         * tests/test-freadahead.c: Likewise.
26235         * tests/test-freading.c: Likewise.
26236         * tests/test-freadptr.c: Likewise.
26237         * tests/test-freadptr2.c: Likewise.
26238         * tests/test-freadseek.c: Likewise.
26239         * tests/test-freopen.c: Likewise.
26240         * tests/test-frexp.c: Likewise.
26241         * tests/test-frexpl.c: Likewise.
26242         * tests/test-fseek.c: Likewise.
26243         * tests/test-fseeko.c: Likewise.
26244         * tests/test-fstatat.c: Likewise.
26245         * tests/test-fstrcmp.c: Likewise.
26246         * tests/test-fsync.c: Likewise.
26247         * tests/test-ftell.c: Likewise.
26248         * tests/test-ftello.c: Likewise.
26249         * tests/test-func.c: Likewise.
26250         * tests/test-futimens.c: Likewise.
26251         * tests/test-fwritable.c: Likewise.
26252         * tests/test-fwriting.c: Likewise.
26253         * tests/test-getcwd.c: Likewise.
26254         * tests/test-getdate.c: Likewise.
26255         * tests/test-getdelim.c: Likewise.
26256         * tests/test-getdtablesize.c: Likewise.
26257         * tests/test-getgroups.c: Likewise.
26258         * tests/test-getline.c: Likewise.
26259         * tests/test-getndelim2.c: Likewise.
26260         * tests/test-glob.c: Likewise.
26261         * tests/test-hash.c: Likewise.
26262         * tests/test-i-ring.c: Likewise.
26263         * tests/test-iconv-utf.c: Likewise.
26264         * tests/test-iconv.c: Likewise.
26265         * tests/test-idpriv-drop.c: Likewise.
26266         * tests/test-idpriv-droptemp.c: Likewise.
26267         * tests/test-inet_ntop.c: Likewise.
26268         * tests/test-inet_pton.c: Likewise.
26269         * tests/test-isblank.c: Likewise.
26270         * tests/test-isfinite.c: Likewise.
26271         * tests/test-isinf.c: Likewise.
26272         * tests/test-isnan.c: Likewise.
26273         * tests/test-isnand.h: Likewise.
26274         * tests/test-isnanf.h: Likewise.
26275         * tests/test-isnanl.h: Likewise.
26276         * tests/test-lchown.c: Likewise.
26277         * tests/test-ldexpl.c: Likewise.
26278         * tests/test-link.c: Likewise.
26279         * tests/test-linkat.c: Likewise.
26280         * tests/test-linked_list.c: Likewise.
26281         * tests/test-linkedhash_list.c: Likewise.
26282         * tests/test-localename.c: Likewise.
26283         * tests/test-lseek.c: Likewise.
26284         * tests/test-lstat.c: Likewise.
26285         * tests/test-mbmemcasecmp.c: Likewise.
26286         * tests/test-mbmemcasecoll.c: Likewise.
26287         * tests/test-mbrtowc.c: Likewise.
26288         * tests/test-mbscasecmp.c: Likewise.
26289         * tests/test-mbscasestr1.c: Likewise.
26290         * tests/test-mbscasestr2.c: Likewise.
26291         * tests/test-mbscasestr3.c: Likewise.
26292         * tests/test-mbscasestr4.c: Likewise.
26293         * tests/test-mbschr.c: Likewise.
26294         * tests/test-mbscspn.c: Likewise.
26295         * tests/test-mbsinit.c: Likewise.
26296         * tests/test-mbsncasecmp.c: Likewise.
26297         * tests/test-mbsnrtowcs.c: Likewise.
26298         * tests/test-mbspbrk.c: Likewise.
26299         * tests/test-mbspcasecmp.c: Likewise.
26300         * tests/test-mbsrchr.c: Likewise.
26301         * tests/test-mbsrtowcs.c: Likewise.
26302         * tests/test-mbsspn.c: Likewise.
26303         * tests/test-mbsstr1.c: Likewise.
26304         * tests/test-mbsstr2.c: Likewise.
26305         * tests/test-mbsstr3.c: Likewise.
26306         * tests/test-memchr.c: Likewise.
26307         * tests/test-memchr2.c: Likewise.
26308         * tests/test-memcmp.c: Likewise.
26309         * tests/test-memmem.c: Likewise.
26310         * tests/test-memrchr.c: Likewise.
26311         * tests/test-mkdir.c: Likewise.
26312         * tests/test-mkdirat.c: Likewise.
26313         * tests/test-mkfifo.c: Likewise.
26314         * tests/test-mkfifoat.c: Likewise.
26315         * tests/test-mknod.c: Likewise.
26316         * tests/test-nanosleep.c: Likewise.
26317         * tests/test-nl_langinfo.c: Likewise.
26318         * tests/test-obstack-printf.c: Likewise.
26319         * tests/test-open.c: Likewise.
26320         * tests/test-openat.c: Likewise.
26321         * tests/test-pipe-filter-gi1.c: Likewise.
26322         * tests/test-pipe-filter-gi2-main.c: Likewise.
26323         * tests/test-pipe-filter-ii1.c: Likewise.
26324         * tests/test-pipe-filter-ii2-main.c: Likewise.
26325         * tests/test-pipe2.c: Likewise.
26326         * tests/test-popen.h: Likewise.
26327         * tests/test-posixtm.c: Likewise.
26328         * tests/test-pread.c: Likewise.
26329         * tests/test-printf-frexp.c: Likewise.
26330         * tests/test-printf-frexpl.c: Likewise.
26331         * tests/test-printf-posix.c: Likewise.
26332         * tests/test-priv-set.c: Likewise.
26333         * tests/test-quotearg.c: Likewise.
26334         * tests/test-random_r.c: Likewise.
26335         * tests/test-rawmemchr.c: Likewise.
26336         * tests/test-rbtree_list.c: Likewise.
26337         * tests/test-rbtree_oset.c: Likewise.
26338         * tests/test-rbtreehash_list.c: Likewise.
26339         * tests/test-readlink.c: Likewise.
26340         * tests/test-remove.c: Likewise.
26341         * tests/test-rename.c: Likewise.
26342         * tests/test-renameat.c: Likewise.
26343         * tests/test-rmdir.c: Likewise.
26344         * tests/test-round1.c: Likewise.
26345         * tests/test-roundf1.c: Likewise.
26346         * tests/test-roundl.c: Likewise.
26347         * tests/test-safe-alloc.c: Likewise.
26348         * tests/test-sameacls.c: Likewise.
26349         * tests/test-set-mode-acl.c: Likewise.
26350         * tests/test-setenv.c: Likewise.
26351         * tests/test-sigaction.c: Likewise.
26352         * tests/test-signbit.c: Likewise.
26353         * tests/test-sleep.c: Likewise.
26354         * tests/test-snprintf-posix.c: Likewise.
26355         * tests/test-snprintf.c: Likewise.
26356         * tests/test-sprintf-posix.c: Likewise.
26357         * tests/test-stat-time.c: Likewise.
26358         * tests/test-stat.c: Likewise.
26359         * tests/test-strcasestr.c: Likewise.
26360         * tests/test-strchrnul.c: Likewise.
26361         * tests/test-strerror.c: Likewise.
26362         * tests/test-striconv.c: Likewise.
26363         * tests/test-striconveh.c: Likewise.
26364         * tests/test-striconveha.c: Likewise.
26365         * tests/test-strsignal.c: Likewise.
26366         * tests/test-strstr.c: Likewise.
26367         * tests/test-strtod.c: Likewise.
26368         * tests/test-strverscmp.c: Likewise.
26369         * tests/test-symlink.c: Likewise.
26370         * tests/test-symlinkat.c: Likewise.
26371         * tests/test-trunc1.c: Likewise.
26372         * tests/test-trunc2.c: Likewise.
26373         * tests/test-truncf1.c: Likewise.
26374         * tests/test-truncf2.c: Likewise.
26375         * tests/test-truncl.c: Likewise.
26376         * tests/test-uname.c: Likewise.
26377         * tests/test-unlink.c: Likewise.
26378         * tests/test-unlinkat.c: Likewise.
26379         * tests/test-unsetenv.c: Likewise.
26380         * tests/test-usleep.c: Likewise.
26381         * tests/test-utimens.c: Likewise.
26382         * tests/test-utimensat.c: Likewise.
26383         * tests/test-vasnprintf-posix.c: Likewise.
26384         * tests/test-vasnprintf-posix2.c: Likewise.
26385         * tests/test-vasnprintf.c: Likewise.
26386         * tests/test-vasprintf-posix.c: Likewise.
26387         * tests/test-vasprintf.c: Likewise.
26388         * tests/test-vdprintf-posix.c: Likewise.
26389         * tests/test-vfprintf-posix.c: Likewise.
26390         * tests/test-vprintf-posix.c: Likewise.
26391         * tests/test-vsnprintf-posix.c: Likewise.
26392         * tests/test-vsnprintf.c: Likewise.
26393         * tests/test-vsprintf-posix.c: Likewise.
26394         * tests/test-wcrtomb.c: Likewise.
26395         * tests/test-wcsnrtombs.c: Likewise.
26396         * tests/test-wcsrtombs.c: Likewise.
26397         * tests/test-wctype.c: Likewise.
26398         * tests/test-wcwidth.c: Likewise.
26399         * tests/test-xfprintf-posix.c: Likewise.
26400         * tests/test-xmemdup0.c: Likewise.
26401         * tests/test-xprintf-posix.c: Likewise.
26402         * tests/test-xvasprintf.c: Likewise.
26403         * tests/unicase/test-locale-language.c: Likewise.
26404         * tests/unicase/test-mapping-part1.h: Likewise.
26405         * tests/unicase/test-predicate-part1.h: Likewise.
26406         * tests/unicase/test-u8-casecmp.c: Likewise.
26407         * tests/unicase/test-u8-casecoll.c: Likewise.
26408         * tests/unicase/test-u8-casefold.c: Likewise.
26409         * tests/unicase/test-u8-is-cased.c: Likewise.
26410         * tests/unicase/test-u8-is-casefolded.c: Likewise.
26411         * tests/unicase/test-u8-is-lowercase.c: Likewise.
26412         * tests/unicase/test-u8-is-titlecase.c: Likewise.
26413         * tests/unicase/test-u8-is-uppercase.c: Likewise.
26414         * tests/unicase/test-u8-tolower.c: Likewise.
26415         * tests/unicase/test-u8-totitle.c: Likewise.
26416         * tests/unicase/test-u8-toupper.c: Likewise.
26417         * tests/unicase/test-u16-casecmp.c: Likewise.
26418         * tests/unicase/test-u16-casecoll.c: Likewise.
26419         * tests/unicase/test-u16-casefold.c: Likewise.
26420         * tests/unicase/test-u16-is-cased.c: Likewise.
26421         * tests/unicase/test-u16-is-casefolded.c: Likewise.
26422         * tests/unicase/test-u16-is-lowercase.c: Likewise.
26423         * tests/unicase/test-u16-is-titlecase.c: Likewise.
26424         * tests/unicase/test-u16-is-uppercase.c: Likewise.
26425         * tests/unicase/test-u16-tolower.c: Likewise.
26426         * tests/unicase/test-u16-totitle.c: Likewise.
26427         * tests/unicase/test-u16-toupper.c: Likewise.
26428         * tests/unicase/test-u32-casecmp.c: Likewise.
26429         * tests/unicase/test-u32-casecoll.c: Likewise.
26430         * tests/unicase/test-u32-casefold.c: Likewise.
26431         * tests/unicase/test-u32-is-cased.c: Likewise.
26432         * tests/unicase/test-u32-is-casefolded.c: Likewise.
26433         * tests/unicase/test-u32-is-lowercase.c: Likewise.
26434         * tests/unicase/test-u32-is-titlecase.c: Likewise.
26435         * tests/unicase/test-u32-is-uppercase.c: Likewise.
26436         * tests/unicase/test-u32-tolower.c: Likewise.
26437         * tests/unicase/test-u32-totitle.c: Likewise.
26438         * tests/unicase/test-u32-toupper.c: Likewise.
26439         * tests/unicase/test-ulc-casecmp.c: Likewise.
26440         * tests/unicase/test-ulc-casecoll.c: Likewise.
26441         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
26442         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
26443         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
26444         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
26445         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
26446         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
26447         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
26448         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
26449         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
26450         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
26451         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
26452         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
26453         * tests/unictype/test-bidi_byname.c: Likewise.
26454         * tests/unictype/test-bidi_name.c: Likewise.
26455         * tests/unictype/test-bidi_of.c: Likewise.
26456         * tests/unictype/test-bidi_test.c: Likewise.
26457         * tests/unictype/test-block_list.c: Likewise.
26458         * tests/unictype/test-block_of.c: Likewise.
26459         * tests/unictype/test-block_test.c: Likewise.
26460         * tests/unictype/test-categ_and.c: Likewise.
26461         * tests/unictype/test-categ_and_not.c: Likewise.
26462         * tests/unictype/test-categ_byname.c: Likewise.
26463         * tests/unictype/test-categ_name.c: Likewise.
26464         * tests/unictype/test-categ_none.c: Likewise.
26465         * tests/unictype/test-categ_of.c: Likewise.
26466         * tests/unictype/test-categ_or.c: Likewise.
26467         * tests/unictype/test-categ_test_withtable.c: Likewise.
26468         * tests/unictype/test-combining.c: Likewise.
26469         * tests/unictype/test-decdigit.c: Likewise.
26470         * tests/unictype/test-digit.c: Likewise.
26471         * tests/unictype/test-mirror.c: Likewise.
26472         * tests/unictype/test-numeric.c: Likewise.
26473         * tests/unictype/test-pr_byname.c: Likewise.
26474         * tests/unictype/test-pr_test.c: Likewise.
26475         * tests/unictype/test-predicate-part1.h: Likewise.
26476         * tests/unictype/test-scripts.c: Likewise.
26477         * tests/unictype/test-sy_c_ident.c: Likewise.
26478         * tests/unictype/test-sy_java_ident.c: Likewise.
26479         * tests/unilbrk/test-u8-possible-linebreaks.c: Likewise.
26480         * tests/unilbrk/test-u8-width-linebreaks.c: Likewise.
26481         * tests/unilbrk/test-u16-possible-linebreaks.c: Likewise.
26482         * tests/unilbrk/test-u16-width-linebreaks.c: Likewise.
26483         * tests/unilbrk/test-u32-possible-linebreaks.c: Likewise.
26484         * tests/unilbrk/test-u32-width-linebreaks.c: Likewise.
26485         * tests/unilbrk/test-ulc-possible-linebreaks.c: Likewise.
26486         * tests/unilbrk/test-ulc-width-linebreaks.c: Likewise.
26487         * tests/uninorm/test-canonical-decomposition.c: Likewise.
26488         * tests/uninorm/test-compat-decomposition.c: Likewise.
26489         * tests/uninorm/test-composition.c: Likewise.
26490         * tests/uninorm/test-decomposing-form.c: Likewise.
26491         * tests/uninorm/test-decomposition.c: Likewise.
26492         * tests/uninorm/test-u8-nfc.c: Likewise.
26493         * tests/uninorm/test-u8-nfd.c: Likewise.
26494         * tests/uninorm/test-u8-nfkc.c: Likewise.
26495         * tests/uninorm/test-u8-nfkd.c: Likewise.
26496         * tests/uninorm/test-u8-normcmp.c: Likewise.
26497         * tests/uninorm/test-u8-normcoll.c: Likewise.
26498         * tests/uninorm/test-u16-nfc.c: Likewise.
26499         * tests/uninorm/test-u16-nfd.c: Likewise.
26500         * tests/uninorm/test-u16-nfkc.c: Likewise.
26501         * tests/uninorm/test-u16-nfkd.c: Likewise.
26502         * tests/uninorm/test-u16-normcmp.c: Likewise.
26503         * tests/uninorm/test-u16-normcoll.c: Likewise.
26504         * tests/uninorm/test-u32-nfc.c: Likewise.
26505         * tests/uninorm/test-u32-nfd.c: Likewise.
26506         * tests/uninorm/test-u32-nfkc.c: Likewise.
26507         * tests/uninorm/test-u32-nfkd.c: Likewise.
26508         * tests/uninorm/test-u32-normalize-big.c: Likewise.
26509         * tests/uninorm/test-u32-normcmp.c: Likewise.
26510         * tests/uninorm/test-u32-normcoll.c: Likewise.
26511         * tests/uninorm/test-uninorm-filter-nfc.c: Likewise.
26512         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
26513         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
26514         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
26515         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
26516         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
26517         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
26518         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
26519         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
26520         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
26521         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
26522         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
26523         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
26524         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
26525         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
26526         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
26527         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
26528         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
26529         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
26530         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
26531         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
26532         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
26533         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
26534         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
26535         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
26536         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
26537         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
26538         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
26539         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
26540         * tests/uniwbrk/test-u8-wordbreaks.c: Likewise.
26541         * tests/uniwbrk/test-u16-wordbreaks.c: Likewise.
26542         * tests/uniwbrk/test-u32-wordbreaks.c: Likewise.
26543         * tests/uniwbrk/test-ulc-wordbreaks.c: Likewise.
26544         * tests/uniwidth/test-u8-strwidth.c: Likewise.
26545         * tests/uniwidth/test-u8-width.c: Likewise.
26546         * tests/uniwidth/test-u16-strwidth.c: Likewise.
26547         * tests/uniwidth/test-u16-width.c: Likewise.
26548         * tests/uniwidth/test-u32-strwidth.c: Likewise.
26549         * tests/uniwidth/test-u32-width.c: Likewise.
26550         * tests/uniwidth/test-uc_width.c: Likewise.
26551         * tests/uniwidth/test-uc_width2.c: Likewise.
26552         * modules/acl-tests (Files): Add tests/macros.h.
26553         * modules/areadlink-tests (Files): Likewise.
26554         * modules/areadlink-with-size-tests (Files): Likewise.
26555         * modules/areadlinkat-tests (Files): Likewise.
26556         * modules/areadlinkat-with-size-tests (Files): Likewise.
26557         * modules/argmatch-tests (Files): Likewise.
26558         * modules/argv-iter-tests (Files): Likewise.
26559         * modules/array-list-tests (Files): Likewise.
26560         * modules/array-mergesort-tests (Files): Likewise.
26561         * modules/array-oset-tests (Files): Likewise.
26562         * modules/avltree-list-tests (Files): Likewise.
26563         * modules/avltree-oset-tests (Files): Likewise.
26564         * modules/avltreehash-list-tests (Files): Likewise.
26565         * modules/base64-tests (Files): Likewise.
26566         * modules/binary-io-tests (Files): Likewise.
26567         * modules/bitrotate-tests (Files): Likewise.
26568         * modules/btowc-tests (Files): Likewise.
26569         * modules/byteswap-tests (Files): Likewise.
26570         * modules/c-ctype-tests (Files): Likewise.
26571         * modules/c-stack-tests (Files): Likewise.
26572         * modules/c-strcase-tests (Files): Likewise.
26573         * modules/c-strcasestr-tests (Files): Likewise.
26574         * modules/c-strstr-tests (Files): Likewise.
26575         * modules/canonicalize-lgpl-tests (Files): Likewise.
26576         * modules/canonicalize-tests (Files): Likewise.
26577         * modules/carray-list-tests (Files): Likewise.
26578         * modules/ceilf-tests (Files): Likewise.
26579         * modules/ceill-tests (Files): Likewise.
26580         * modules/chown-tests (Files): Likewise.
26581         * modules/cloexec-tests (Files): Likewise.
26582         * modules/copy-file-tests (Files): Likewise.
26583         * modules/count-one-bits-tests (Files): Likewise.
26584         * modules/dprintf-posix-tests (Files): Likewise.
26585         * modules/dup2-tests (Files): Likewise.
26586         * modules/dup3-tests (Files): Likewise.
26587         * modules/duplocale-tests (Files): Likewise.
26588         * modules/fbufmode-tests (Files): Likewise.
26589         * modules/fchdir-tests (Files): Likewise.
26590         * modules/fcntl-safer-tests (Files): Likewise.
26591         * modules/fcntl-tests (Files): Likewise.
26592         * modules/fdopendir-tests (Files): Likewise.
26593         * modules/fdutimensat-tests (Files): Likewise.
26594         * modules/fflush-tests (Files): Likewise.
26595         * modules/filevercmp-tests (Files): Likewise.
26596         * modules/flock-tests (Files): Likewise.
26597         * modules/floorf-tests (Files): Likewise.
26598         * modules/floorl-tests (Files): Likewise.
26599         * modules/fnmatch-tests (Files): Likewise.
26600         * modules/fopen-safer-tests (Files): Likewise.
26601         * modules/fopen-tests (Files): Likewise.
26602         * modules/fpending-tests (Files): Likewise.
26603         * modules/fprintf-posix-tests (Files): Likewise.
26604         * modules/fpurge-tests (Files): Likewise.
26605         * modules/freadable-tests (Files): Likewise.
26606         * modules/freadahead-tests (Files): Likewise.
26607         * modules/freading-tests (Files): Likewise.
26608         * modules/freadptr-tests (Files): Likewise.
26609         * modules/freadseek-tests (Files): Likewise.
26610         * modules/freopen-tests (Files): Likewise.
26611         * modules/frexp-nolibm-tests (Files): Likewise.
26612         * modules/frexp-tests (Files): Likewise.
26613         * modules/frexpl-nolibm-tests (Files): Likewise.
26614         * modules/frexpl-tests (Files): Likewise.
26615         * modules/fseek-tests (Files): Likewise.
26616         * modules/fseeko-tests (Files): Likewise.
26617         * modules/fstrcmp-tests (Files): Likewise.
26618         * modules/fsync-tests (Files): Likewise.
26619         * modules/ftell-tests (Files): Likewise.
26620         * modules/ftello-tests (Files): Likewise.
26621         * modules/func-tests (Files): Likewise.
26622         * modules/futimens-tests (Files): Likewise.
26623         * modules/fwritable-tests (Files): Likewise.
26624         * modules/fwriting-tests (Files): Likewise.
26625         * modules/getcwd-tests (Files): Likewise.
26626         * modules/getdate-tests (Files): Likewise.
26627         * modules/getdelim-tests (Files): Likewise.
26628         * modules/getdtablesize-tests (Files): Likewise.
26629         * modules/getgroups-tests (Files): Likewise.
26630         * modules/getline-tests (Files): Likewise.
26631         * modules/getndelim2-tests (Files): Likewise.
26632         * modules/glob-tests (Files): Likewise.
26633         * modules/hash-tests (Files): Likewise.
26634         * modules/i-ring-tests (Files): Likewise.
26635         * modules/iconv-tests (Files): Likewise.
26636         * modules/iconv_open-utf-tests (Files): Likewise.
26637         * modules/idpriv-drop-tests (Files): Likewise.
26638         * modules/idpriv-droptemp-tests (Files): Likewise.
26639         * modules/inet_ntop-tests (Files): Likewise.
26640         * modules/inet_pton-tests (Files): Likewise.
26641         * modules/isblank-tests (Files): Likewise.
26642         * modules/isfinite-tests (Files): Likewise.
26643         * modules/isinf-tests (Files): Likewise.
26644         * modules/isnan-tests (Files): Likewise.
26645         * modules/isnand-nolibm-tests (Files): Likewise.
26646         * modules/isnand-tests (Files): Likewise.
26647         * modules/isnanf-nolibm-tests (Files): Likewise.
26648         * modules/isnanf-tests (Files): Likewise.
26649         * modules/isnanl-nolibm-tests (Files): Likewise.
26650         * modules/isnanl-tests (Files): Likewise.
26651         * modules/lchown-tests (Files): Likewise.
26652         * modules/ldexpl-tests (Files): Likewise.
26653         * modules/link-tests (Files): Likewise.
26654         * modules/linkat-tests (Files): Likewise.
26655         * modules/linked-list-tests (Files): Likewise.
26656         * modules/linkedhash-list-tests (Files): Likewise.
26657         * modules/localename-tests (Files): Likewise.
26658         * modules/lseek-tests (Files): Likewise.
26659         * modules/lstat-tests (Files): Likewise.
26660         * modules/mbmemcasecmp-tests (Files): Likewise.
26661         * modules/mbmemcasecoll-tests (Files): Likewise.
26662         * modules/mbrtowc-tests (Files): Likewise.
26663         * modules/mbscasecmp-tests (Files): Likewise.
26664         * modules/mbscasestr-tests (Files): Likewise.
26665         * modules/mbschr-tests (Files): Likewise.
26666         * modules/mbscspn-tests (Files): Likewise.
26667         * modules/mbsinit-tests (Files): Likewise.
26668         * modules/mbsncasecmp-tests (Files): Likewise.
26669         * modules/mbsnrtowcs-tests (Files): Likewise.
26670         * modules/mbspbrk-tests (Files): Likewise.
26671         * modules/mbspcasecmp-tests (Files): Likewise.
26672         * modules/mbsrchr-tests (Files): Likewise.
26673         * modules/mbsrtowcs-tests (Files): Likewise.
26674         * modules/mbsspn-tests (Files): Likewise.
26675         * modules/mbsstr-tests (Files): Likewise.
26676         * modules/memchr-tests (Files): Likewise.
26677         * modules/memchr2-tests (Files): Likewise.
26678         * modules/memcmp-tests (Files): Likewise.
26679         * modules/memmem-tests (Files): Likewise.
26680         * modules/memrchr-tests (Files): Likewise.
26681         * modules/mkdir-tests (Files): Likewise.
26682         * modules/mkfifo-tests (Files): Likewise.
26683         * modules/mkfifoat-tests (Files): Likewise.
26684         * modules/mknod-tests (Files): Likewise.
26685         * modules/nanosleep-tests (Files): Likewise.
26686         * modules/nl_langinfo-tests (Files): Likewise.
26687         * modules/obstack-printf-tests (Files): Likewise.
26688         * modules/open-tests (Files): Likewise.
26689         * modules/openat-tests (Files): Likewise.
26690         * modules/pipe-filter-gi-tests (Files): Likewise.
26691         * modules/pipe-filter-ii-tests (Files): Likewise.
26692         * modules/pipe2-tests (Files): Likewise.
26693         * modules/popen-safer-tests (Files): Likewise.
26694         * modules/popen-tests (Files): Likewise.
26695         * modules/posixtm-tests (Files): Likewise.
26696         * modules/pread-tests (Files): Likewise.
26697         * modules/printf-frexp-tests (Files): Likewise.
26698         * modules/printf-frexpl-tests (Files): Likewise.
26699         * modules/printf-posix-tests (Files): Likewise.
26700         * modules/priv-set-tests (Files): Likewise.
26701         * modules/quotearg-tests (Files): Likewise.
26702         * modules/random_r-tests (Files): Likewise.
26703         * modules/rawmemchr-tests (Files): Likewise.
26704         * modules/rbtree-list-tests (Files): Likewise.
26705         * modules/rbtree-oset-tests (Files): Likewise.
26706         * modules/rbtreehash-list-tests (Files): Likewise.
26707         * modules/readlink-tests (Files): Likewise.
26708         * modules/remove-tests (Files): Likewise.
26709         * modules/rename-tests (Files): Likewise.
26710         * modules/renameat-tests (Files): Likewise.
26711         * modules/rmdir-tests (Files): Likewise.
26712         * modules/round-tests (Files): Likewise.
26713         * modules/roundf-tests (Files): Likewise.
26714         * modules/roundl-tests (Files): Likewise.
26715         * modules/safe-alloc-tests (Files): Likewise.
26716         * modules/setenv-tests (Files): Likewise.
26717         * modules/sigaction-tests (Files): Likewise.
26718         * modules/signbit-tests (Files): Likewise.
26719         * modules/sleep-tests (Files): Likewise.
26720         * modules/snprintf-posix-tests (Files): Likewise.
26721         * modules/snprintf-tests (Files): Likewise.
26722         * modules/sprintf-posix-tests (Files): Likewise.
26723         * modules/stat-tests (Files): Likewise.
26724         * modules/stat-time-tests (Files): Likewise.
26725         * modules/strcasestr-tests (Files): Likewise.
26726         * modules/strchrnul-tests (Files): Likewise.
26727         * modules/strerror-tests (Files): Likewise.
26728         * modules/striconv-tests (Files): Likewise.
26729         * modules/striconveh-tests (Files): Likewise.
26730         * modules/striconveha-tests (Files): Likewise.
26731         * modules/strsignal-tests (Files): Likewise.
26732         * modules/strstr-tests (Files): Likewise.
26733         * modules/strtod-tests (Files): Likewise.
26734         * modules/strverscmp-tests (Files): Likewise.
26735         * modules/symlink-tests (Files): Likewise.
26736         * modules/symlinkat-tests (Files): Likewise.
26737         * modules/trunc-tests (Files): Likewise.
26738         * modules/truncf-tests (Files): Likewise.
26739         * modules/truncl-tests (Files): Likewise.
26740         * modules/uname-tests (Files): Likewise.
26741         * modules/unicase/cased-tests (Files): Likewise.
26742         * modules/unicase/ignorable-tests (Files): Likewise.
26743         * modules/unicase/locale-language-tests (Files): Likewise.
26744         * modules/unicase/tolower-tests (Files): Likewise.
26745         * modules/unicase/totitle-tests (Files): Likewise.
26746         * modules/unicase/toupper-tests (Files): Likewise.
26747         * modules/unicase/u8-casecmp-tests (Files): Likewise.
26748         * modules/unicase/u8-casecoll-tests (Files): Likewise.
26749         * modules/unicase/u8-casefold-tests (Files): Likewise.
26750         * modules/unicase/u8-is-cased-tests (Files): Likewise.
26751         * modules/unicase/u8-is-casefolded-tests (Files): Likewise.
26752         * modules/unicase/u8-is-lowercase-tests (Files): Likewise.
26753         * modules/unicase/u8-is-titlecase-tests (Files): Likewise.
26754         * modules/unicase/u8-is-uppercase-tests (Files): Likewise.
26755         * modules/unicase/u8-tolower-tests (Files): Likewise.
26756         * modules/unicase/u8-totitle-tests (Files): Likewise.
26757         * modules/unicase/u8-toupper-tests (Files): Likewise.
26758         * modules/unicase/u16-casecmp-tests (Files): Likewise.
26759         * modules/unicase/u16-casecoll-tests (Files): Likewise.
26760         * modules/unicase/u16-casefold-tests (Files): Likewise.
26761         * modules/unicase/u16-is-cased-tests (Files): Likewise.
26762         * modules/unicase/u16-is-casefolded-tests (Files): Likewise.
26763         * modules/unicase/u16-is-lowercase-tests (Files): Likewise.
26764         * modules/unicase/u16-is-titlecase-tests (Files): Likewise.
26765         * modules/unicase/u16-is-uppercase-tests (Files): Likewise.
26766         * modules/unicase/u16-tolower-tests (Files): Likewise.
26767         * modules/unicase/u16-totitle-tests (Files): Likewise.
26768         * modules/unicase/u16-toupper-tests (Files): Likewise.
26769         * modules/unicase/u32-casecmp-tests (Files): Likewise.
26770         * modules/unicase/u32-casecoll-tests (Files): Likewise.
26771         * modules/unicase/u32-casefold-tests (Files): Likewise.
26772         * modules/unicase/u32-is-cased-tests (Files): Likewise.
26773         * modules/unicase/u32-is-casefolded-tests (Files): Likewise.
26774         * modules/unicase/u32-is-lowercase-tests (Files): Likewise.
26775         * modules/unicase/u32-is-titlecase-tests (Files): Likewise.
26776         * modules/unicase/u32-is-uppercase-tests (Files): Likewise.
26777         * modules/unicase/u32-tolower-tests (Files): Likewise.
26778         * modules/unicase/u32-totitle-tests (Files): Likewise.
26779         * modules/unicase/u32-toupper-tests (Files): Likewise.
26780         * modules/unicase/ulc-casecmp-tests (Files): Likewise.
26781         * modules/unicase/ulc-casecoll-tests (Files): Likewise.
26782         * modules/uniconv/u8-conv-from-enc-tests (Files): Likewise.
26783         * modules/uniconv/u8-conv-to-enc-tests (Files): Likewise.
26784         * modules/uniconv/u8-strconv-from-enc-tests (Files): Likewise.
26785         * modules/uniconv/u8-strconv-to-enc-tests (Files): Likewise.
26786         * modules/uniconv/u16-conv-from-enc-tests (Files): Likewise.
26787         * modules/uniconv/u16-conv-to-enc-tests (Files): Likewise.
26788         * modules/uniconv/u16-strconv-from-enc-tests (Files): Likewise.
26789         * modules/uniconv/u16-strconv-to-enc-tests (Files): Likewise.
26790         * modules/uniconv/u32-conv-from-enc-tests (Files): Likewise.
26791         * modules/uniconv/u32-conv-to-enc-tests (Files): Likewise.
26792         * modules/uniconv/u32-strconv-from-enc-tests (Files): Likewise.
26793         * modules/uniconv/u32-strconv-to-enc-tests (Files): Likewise.
26794         * modules/unictype/bidicategory-byname-tests (Files): Likewise.
26795         * modules/unictype/bidicategory-name-tests (Files): Likewise.
26796         * modules/unictype/bidicategory-of-tests (Files): Likewise.
26797         * modules/unictype/bidicategory-test-tests (Files): Likewise.
26798         * modules/unictype/block-list-tests (Files): Likewise.
26799         * modules/unictype/block-of-tests (Files): Likewise.
26800         * modules/unictype/block-test-tests (Files): Likewise.
26801         * modules/unictype/category-C-tests (Files): Likewise.
26802         * modules/unictype/category-Cc-tests (Files): Likewise.
26803         * modules/unictype/category-Cf-tests (Files): Likewise.
26804         * modules/unictype/category-Cn-tests (Files): Likewise.
26805         * modules/unictype/category-Co-tests (Files): Likewise.
26806         * modules/unictype/category-Cs-tests (Files): Likewise.
26807         * modules/unictype/category-L-tests (Files): Likewise.
26808         * modules/unictype/category-Ll-tests (Files): Likewise.
26809         * modules/unictype/category-Lm-tests (Files): Likewise.
26810         * modules/unictype/category-Lo-tests (Files): Likewise.
26811         * modules/unictype/category-Lt-tests (Files): Likewise.
26812         * modules/unictype/category-Lu-tests (Files): Likewise.
26813         * modules/unictype/category-M-tests (Files): Likewise.
26814         * modules/unictype/category-Mc-tests (Files): Likewise.
26815         * modules/unictype/category-Me-tests (Files): Likewise.
26816         * modules/unictype/category-Mn-tests (Files): Likewise.
26817         * modules/unictype/category-N-tests (Files): Likewise.
26818         * modules/unictype/category-Nd-tests (Files): Likewise.
26819         * modules/unictype/category-Nl-tests (Files): Likewise.
26820         * modules/unictype/category-No-tests (Files): Likewise.
26821         * modules/unictype/category-P-tests (Files): Likewise.
26822         * modules/unictype/category-Pc-tests (Files): Likewise.
26823         * modules/unictype/category-Pd-tests (Files): Likewise.
26824         * modules/unictype/category-Pe-tests (Files): Likewise.
26825         * modules/unictype/category-Pf-tests (Files): Likewise.
26826         * modules/unictype/category-Pi-tests (Files): Likewise.
26827         * modules/unictype/category-Po-tests (Files): Likewise.
26828         * modules/unictype/category-Ps-tests (Files): Likewise.
26829         * modules/unictype/category-S-tests (Files): Likewise.
26830         * modules/unictype/category-Sc-tests (Files): Likewise.
26831         * modules/unictype/category-Sk-tests (Files): Likewise.
26832         * modules/unictype/category-Sm-tests (Files): Likewise.
26833         * modules/unictype/category-So-tests (Files): Likewise.
26834         * modules/unictype/category-Z-tests (Files): Likewise.
26835         * modules/unictype/category-Zl-tests (Files): Likewise.
26836         * modules/unictype/category-Zp-tests (Files): Likewise.
26837         * modules/unictype/category-Zs-tests (Files): Likewise.
26838         * modules/unictype/category-and-not-tests (Files): Likewise.
26839         * modules/unictype/category-and-tests (Files): Likewise.
26840         * modules/unictype/category-byname-tests (Files): Likewise.
26841         * modules/unictype/category-name-tests (Files): Likewise.
26842         * modules/unictype/category-none-tests (Files): Likewise.
26843         * modules/unictype/category-of-tests (Files): Likewise.
26844         * modules/unictype/category-or-tests (Files): Likewise.
26845         * modules/unictype/category-test-withtable-tests (Files): Likewise.
26846         * modules/unictype/combining-class-tests (Files): Likewise.
26847         * modules/unictype/ctype-alnum-tests (Files): Likewise.
26848         * modules/unictype/ctype-alpha-tests (Files): Likewise.
26849         * modules/unictype/ctype-blank-tests (Files): Likewise.
26850         * modules/unictype/ctype-cntrl-tests (Files): Likewise.
26851         * modules/unictype/ctype-digit-tests (Files): Likewise.
26852         * modules/unictype/ctype-graph-tests (Files): Likewise.
26853         * modules/unictype/ctype-lower-tests (Files): Likewise.
26854         * modules/unictype/ctype-print-tests (Files): Likewise.
26855         * modules/unictype/ctype-punct-tests (Files): Likewise.
26856         * modules/unictype/ctype-space-tests (Files): Likewise.
26857         * modules/unictype/ctype-upper-tests (Files): Likewise.
26858         * modules/unictype/ctype-xdigit-tests (Files): Likewise.
26859         * modules/unictype/decimal-digit-tests (Files): Likewise.
26860         * modules/unictype/digit-tests (Files): Likewise.
26861         * modules/unictype/mirror-tests (Files): Likewise.
26862         * modules/unictype/numeric-tests (Files): Likewise.
26863         * modules/unictype/property-alphabetic-tests (Files): Likewise.
26864         * modules/unictype/property-ascii-hex-digit-tests (Files): Likewise.
26865         * modules/unictype/property-bidi-arabic-digit-tests (Files): Likewise.
26866         * modules/unictype/property-bidi-arabic-right-to-left-tests (Files):
26867         Likewise.
26868         * modules/unictype/property-bidi-block-separator-tests (Files):
26869         Likewise.
26870         * modules/unictype/property-bidi-boundary-neutral-tests (Files):
26871         Likewise.
26872         * modules/unictype/property-bidi-common-separator-tests (Files):
26873         Likewise.
26874         * modules/unictype/property-bidi-control-tests (Files): Likewise.
26875         * modules/unictype/property-bidi-embedding-or-override-tests (Files):
26876         Likewise.
26877         * modules/unictype/property-bidi-eur-num-separator-tests (Files):
26878         Likewise.
26879         * modules/unictype/property-bidi-eur-num-terminator-tests (Files):
26880         Likewise.
26881         * modules/unictype/property-bidi-european-digit-tests (Files): Likewise.
26882         * modules/unictype/property-bidi-hebrew-right-to-left-tests (Files):
26883         Likewise.
26884         * modules/unictype/property-bidi-left-to-right-tests (Files): Likewise.
26885         * modules/unictype/property-bidi-non-spacing-mark-tests (Files):
26886         Likewise.
26887         * modules/unictype/property-bidi-other-neutral-tests (Files): Likewise.
26888         * modules/unictype/property-bidi-pdf-tests (Files): Likewise.
26889         * modules/unictype/property-bidi-segment-separator-tests (Files):
26890         Likewise.
26891         * modules/unictype/property-bidi-whitespace-tests (Files): Likewise.
26892         * modules/unictype/property-byname-tests (Files): Likewise.
26893         * modules/unictype/property-combining-tests (Files): Likewise.
26894         * modules/unictype/property-composite-tests (Files): Likewise.
26895         * modules/unictype/property-currency-symbol-tests (Files): Likewise.
26896         * modules/unictype/property-dash-tests (Files): Likewise.
26897         * modules/unictype/property-decimal-digit-tests (Files): Likewise.
26898         * modules/unictype/property-default-ignorable-code-point-tests (Files):
26899         Likewise.
26900         * modules/unictype/property-deprecated-tests (Files): Likewise.
26901         * modules/unictype/property-diacritic-tests (Files): Likewise.
26902         * modules/unictype/property-extender-tests (Files): Likewise.
26903         * modules/unictype/property-format-control-tests (Files): Likewise.
26904         * modules/unictype/property-grapheme-base-tests (Files): Likewise.
26905         * modules/unictype/property-grapheme-extend-tests (Files): Likewise.
26906         * modules/unictype/property-grapheme-link-tests (Files): Likewise.
26907         * modules/unictype/property-hex-digit-tests (Files): Likewise.
26908         * modules/unictype/property-hyphen-tests (Files): Likewise.
26909         * modules/unictype/property-id-continue-tests (Files): Likewise.
26910         * modules/unictype/property-id-start-tests (Files): Likewise.
26911         * modules/unictype/property-ideographic-tests (Files): Likewise.
26912         * modules/unictype/property-ids-binary-operator-tests (Files): Likewise.
26913         * modules/unictype/property-ids-trinary-operator-tests (Files):
26914         Likewise.
26915         * modules/unictype/property-ignorable-control-tests (Files): Likewise.
26916         * modules/unictype/property-iso-control-tests (Files): Likewise.
26917         * modules/unictype/property-join-control-tests (Files): Likewise.
26918         * modules/unictype/property-left-of-pair-tests (Files): Likewise.
26919         * modules/unictype/property-line-separator-tests (Files): Likewise.
26920         * modules/unictype/property-logical-order-exception-tests (Files):
26921         Likewise.
26922         * modules/unictype/property-lowercase-tests (Files): Likewise.
26923         * modules/unictype/property-math-tests (Files): Likewise.
26924         * modules/unictype/property-non-break-tests (Files): Likewise.
26925         * modules/unictype/property-not-a-character-tests (Files): Likewise.
26926         * modules/unictype/property-numeric-tests (Files): Likewise.
26927         * modules/unictype/property-other-alphabetic-tests (Files): Likewise.
26928         * modules/unictype/property-other-default-ignorable-code-point-tests
26929         (Files): Likewise.
26930         * modules/unictype/property-other-grapheme-extend-tests (Files):
26931         Likewise.
26932         * modules/unictype/property-other-id-continue-tests (Files): Likewise.
26933         * modules/unictype/property-other-id-start-tests (Files): Likewise.
26934         * modules/unictype/property-other-lowercase-tests (Files): Likewise.
26935         * modules/unictype/property-other-math-tests (Files): Likewise.
26936         * modules/unictype/property-other-uppercase-tests (Files): Likewise.
26937         * modules/unictype/property-paired-punctuation-tests (Files): Likewise.
26938         * modules/unictype/property-paragraph-separator-tests (Files): Likewise.
26939         * modules/unictype/property-pattern-syntax-tests (Files): Likewise.
26940         * modules/unictype/property-pattern-white-space-tests (Files): Likewise.
26941         * modules/unictype/property-private-use-tests (Files): Likewise.
26942         * modules/unictype/property-punctuation-tests (Files): Likewise.
26943         * modules/unictype/property-quotation-mark-tests (Files): Likewise.
26944         * modules/unictype/property-radical-tests (Files): Likewise.
26945         * modules/unictype/property-sentence-terminal-tests (Files): Likewise.
26946         * modules/unictype/property-soft-dotted-tests (Files): Likewise.
26947         * modules/unictype/property-space-tests (Files): Likewise.
26948         * modules/unictype/property-terminal-punctuation-tests (Files):
26949         Likewise.
26950         * modules/unictype/property-test-tests (Files): Likewise.
26951         * modules/unictype/property-titlecase-tests (Files): Likewise.
26952         * modules/unictype/property-unassigned-code-value-tests (Files):
26953         Likewise.
26954         * modules/unictype/property-unified-ideograph-tests (Files): Likewise.
26955         * modules/unictype/property-uppercase-tests (Files): Likewise.
26956         * modules/unictype/property-variation-selector-tests (Files): Likewise.
26957         * modules/unictype/property-white-space-tests (Files): Likewise.
26958         * modules/unictype/property-xid-continue-tests (Files): Likewise.
26959         * modules/unictype/property-xid-start-tests (Files): Likewise.
26960         * modules/unictype/property-zero-width-tests (Files): Likewise.
26961         * modules/unictype/scripts-tests (Files): Likewise.
26962         * modules/unictype/syntax-c-ident-tests (Files): Likewise.
26963         * modules/unictype/syntax-c-whitespace-tests (Files): Likewise.
26964         * modules/unictype/syntax-java-ident-tests (Files): Likewise.
26965         * modules/unictype/syntax-java-whitespace-tests (Files): Likewise.
26966         * modules/unilbrk/u8-possible-linebreaks-tests (Files): Likewise.
26967         * modules/unilbrk/u8-width-linebreaks-tests (Files): Likewise.
26968         * modules/unilbrk/u16-possible-linebreaks-tests (Files): Likewise.
26969         * modules/unilbrk/u16-width-linebreaks-tests (Files): Likewise.
26970         * modules/unilbrk/u32-possible-linebreaks-tests (Files): Likewise.
26971         * modules/unilbrk/u32-width-linebreaks-tests (Files): Likewise.
26972         * modules/unilbrk/ulc-possible-linebreaks-tests (Files): Likewise.
26973         * modules/unilbrk/ulc-width-linebreaks-tests (Files): Likewise.
26974         * modules/uninorm/canonical-decomposition-tests (Files): Likewise.
26975         * modules/uninorm/compat-decomposition-tests (Files): Likewise.
26976         * modules/uninorm/composition-tests (Files): Likewise.
26977         * modules/uninorm/decomposing-form-tests (Files): Likewise.
26978         * modules/uninorm/decomposition-tests (Files): Likewise.
26979         * modules/uninorm/filter-tests (Files): Likewise.
26980         * modules/uninorm/nfc-tests (Files): Likewise.
26981         * modules/uninorm/nfd-tests (Files): Likewise.
26982         * modules/uninorm/nfkc-tests (Files): Likewise.
26983         * modules/uninorm/nfkd-tests (Files): Likewise.
26984         * modules/uninorm/u8-normcmp-tests (Files): Likewise.
26985         * modules/uninorm/u8-normcoll-tests (Files): Likewise.
26986         * modules/uninorm/u16-normcmp-tests (Files): Likewise.
26987         * modules/uninorm/u16-normcoll-tests (Files): Likewise.
26988         * modules/uninorm/u32-normcmp-tests (Files): Likewise.
26989         * modules/uninorm/u32-normcoll-tests (Files): Likewise.
26990         * modules/unistdio/u8-asnprintf-tests (Files): Likewise.
26991         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
26992         * modules/unistdio/u8-vasprintf-tests (Files): Likewise.
26993         * modules/unistdio/u8-vsnprintf-tests (Files): Likewise.
26994         * modules/unistdio/u8-vsprintf-tests (Files): Likewise.
26995         * modules/unistdio/u16-asnprintf-tests (Files): Likewise.
26996         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
26997         * modules/unistdio/u16-vasprintf-tests (Files): Likewise.
26998         * modules/unistdio/u16-vsnprintf-tests (Files): Likewise.
26999         * modules/unistdio/u16-vsprintf-tests (Files): Likewise.
27000         * modules/unistdio/u32-asnprintf-tests (Files): Likewise.
27001         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
27002         * modules/unistdio/u32-vasprintf-tests (Files): Likewise.
27003         * modules/unistdio/u32-vsnprintf-tests (Files): Likewise.
27004         * modules/unistdio/u32-vsprintf-tests (Files): Likewise.
27005         * modules/unistdio/ulc-asnprintf-tests (Files): Likewise.
27006         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
27007         * modules/unistdio/ulc-vasprintf-tests (Files): Likewise.
27008         * modules/unistdio/ulc-vsnprintf-tests (Files): Likewise.
27009         * modules/unistdio/ulc-vsprintf-tests (Files): Likewise.
27010         * modules/uniwbrk/u8-wordbreaks-tests (Files): Likewise.
27011         * modules/uniwbrk/u16-wordbreaks-tests (Files): Likewise.
27012         * modules/uniwbrk/u32-wordbreaks-tests (Files): Likewise.
27013         * modules/uniwbrk/ulc-wordbreaks-tests (Files): Likewise.
27014         * modules/uniwidth/u8-strwidth-tests (Files): Likewise.
27015         * modules/uniwidth/u8-width-tests (Files): Likewise.
27016         * modules/uniwidth/u16-strwidth-tests (Files): Likewise.
27017         * modules/uniwidth/u16-width-tests (Files): Likewise.
27018         * modules/uniwidth/u32-strwidth-tests (Files): Likewise.
27019         * modules/uniwidth/u32-width-tests (Files): Likewise.
27020         * modules/uniwidth/width-tests (Files): Likewise.
27021         * modules/unlink-tests (Files): Likewise.
27022         * modules/unsetenv-tests (Files): Likewise.
27023         * modules/usleep-tests (Files): Likewise.
27024         * modules/utimens-tests (Files): Likewise.
27025         * modules/utimensat-tests (Files): Likewise.
27026         * modules/vasnprintf-posix-tests (Files): Likewise.
27027         * modules/vasnprintf-tests (Files): Likewise.
27028         * modules/vasprintf-posix-tests (Files): Likewise.
27029         * modules/vasprintf-tests (Files): Likewise.
27030         * modules/vdprintf-posix-tests (Files): Likewise.
27031         * modules/vfprintf-posix-tests (Files): Likewise.
27032         * modules/vprintf-posix-tests (Files): Likewise.
27033         * modules/vsnprintf-posix-tests (Files): Likewise.
27034         * modules/vsnprintf-tests (Files): Likewise.
27035         * modules/vsprintf-posix-tests (Files): Likewise.
27036         * modules/wcrtomb-tests (Files): Likewise.
27037         * modules/wcsnrtombs-tests (Files): Likewise.
27038         * modules/wcsrtombs-tests (Files): Likewise.
27039         * modules/wctype-tests (Files): Likewise.
27040         * modules/wcwidth-tests (Files): Likewise.
27041         * modules/xmemdup0-tests (Files): Likewise.
27042         * modules/xprintf-posix-tests (Files): Likewise.
27043         * modules/xvasprintf-tests (Files): Likewise.
27044
27045 2009-12-24  Eric Blake  <ebb9@byu.net>
27046
27047         test-nanosleep: fix typo
27048         * tests/test-nanosleep.c (SIGNATURE_CHECK): Fix typo in previous
27049         patch.
27050         Reported by Bruno Haible.
27051
27052 2009-12-24  Bruno Haible  <bruno@clisp.org>
27053
27054         Reduce namespace pollution on glibc systems.
27055         * lib/inttypes.in.h: Don't include <stdint.h> on glibc systems.
27056         * lib/stdlib.in.h: Don't include <stdint.h>, <unistd.h> on glibc
27057         systems.
27058         * lib/unistd.in.h: Don't include <stdio.h>, <fcntl.h>, <stdlib.h>,
27059         <getopt.h> on glibc systems.
27060         * lib/fcntl.in.h: Don't include <sys/stat.h>, <unistd.h> on glibc
27061         systems.
27062         * lib/fcntl.c: Include <unistd.h> here instead.
27063
27064 2009-12-24  Bruno Haible  <bruno@clisp.org>
27065
27066         * lib/stdlib.in.h (includes): Fix typo in today's commit.
27067
27068 2009-12-24  Eric Blake  <ebb9@byu.net>
27069
27070         tests: add signature checks
27071         * tests/signature.h (SIGNATURE_CHECK): New file.
27072         * modules/atexit-tests (Files): Use it.
27073         * modules/btowc-tests (Files): Likewise.
27074         * modules/canonicalize-lgpl-tests (Files): Likewise.
27075         * modules/ceilf-tests (Files): Likewise.
27076         * modules/ceill-tests (Files): Likewise.
27077         * modules/chown-tests (Files): Likewise.
27078         * modules/dprintf-posix-tests (Files): Likewise.
27079         * modules/dup2-tests (Files): Likewise.
27080         * modules/dup3-tests (Files): Likewise.
27081         * modules/duplocale-tests (Files): Likewise.
27082         * modules/fchdir-tests (Files): Likewise.
27083         * modules/fcntl-tests (Files): Likewise.
27084         * modules/fdopendir-tests (Files): Likewise.
27085         * modules/fflush-tests (Files): Likewise.
27086         * modules/flock-tests (Files): Likewise.
27087         * modules/floorf-tests (Files): Likewise.
27088         * modules/floorl-tests (Files): Likewise.
27089         * modules/fnmatch-tests (Files): Likewise.
27090         * modules/fopen-tests (Files): Likewise.
27091         * modules/fprintf-posix-tests (Files): Likewise.
27092         * modules/freopen-tests (Files): Likewise.
27093         * modules/frexp-nolibm-tests (Files): Likewise.
27094         * modules/frexp-tests (Files): Likewise.
27095         * modules/frexpl-nolibm-tests (Files): Likewise.
27096         * modules/frexpl-tests (Files): Likewise.
27097         * modules/fseek-tests (Files): Likewise.
27098         * modules/fseeko-tests (Files): Likewise.
27099         * modules/fsync-tests (Files): Likewise.
27100         * modules/ftell-tests (Files): Likewise.
27101         * modules/ftello-tests (Files): Likewise.
27102         * modules/futimens-tests (Files): Likewise.
27103         * modules/getaddrinfo-tests (Files): Likewise.
27104         * modules/getcwd-tests (Files): Likewise.
27105         * modules/getdelim-tests (Files): Likewise.
27106         * modules/getdtablesize-tests (Files): Likewise.
27107         * modules/getgroups-tests (Files): Likewise.
27108         * modules/gethostname-tests (Files): Likewise.
27109         * modules/getline-tests (Files): Likewise.
27110         * modules/getopt-posix-tests (Files): Likewise.
27111         * modules/gettimeofday-tests (Files): Likewise.
27112         * modules/glob-tests (Files): Likewise.
27113         * modules/iconv-tests (Files): Likewise.
27114         * modules/inet_ntop-tests (Files): Likewise.
27115         * modules/inet_pton-tests (Files): Likewise.
27116         * modules/isblank-tests (Files): Likewise.
27117         * modules/lchown-tests (Files): Likewise.
27118         * modules/ldexpl-tests (Files): Likewise.
27119         * modules/link-tests (Files): Likewise.
27120         * modules/linkat-tests (Files): Likewise.
27121         * modules/lseek-tests (Files): Likewise.
27122         * modules/lstat-tests (Files): Likewise.
27123         * modules/mbrtowc-tests (Files): Likewise.
27124         * modules/mbsinit-tests (Files): Likewise.
27125         * modules/mbsnrtowcs-tests (Files): Likewise.
27126         * modules/mbsrtowcs-tests (Files): Likewise.
27127         * modules/memchr-tests (Files): Likewise.
27128         * modules/memcmp-tests (Files): Likewise.
27129         * modules/memmem-tests (Files): Likewise.
27130         * modules/memrchr-tests (Files): Likewise.
27131         * modules/mkdir-tests (Files): Likewise.
27132         * modules/mkfifo-tests (Files): Likewise.
27133         * modules/mkfifoat-tests (Files): Likewise.
27134         * modules/mknod-tests (Files): Likewise.
27135         * modules/nanosleep-tests (Files): Likewise.
27136         * modules/nl_langinfo-tests (Files): Likewise.
27137         * modules/obstack-printf-tests (Files): Likewise.
27138         * modules/open-tests (Files): Likewise.
27139         * modules/openat-tests (Files): Likewise.
27140         * modules/perror-tests (Files): Likewise.
27141         * modules/pipe2-tests (Files): Likewise.
27142         * modules/poll-tests (Files): Likewise.
27143         * modules/popen-tests (Files): Likewise.
27144         * modules/posix_spawn-tests (Files): Likewise.
27145         * modules/posix_spawnp-tests (Files): Likewise.
27146         * modules/pread-tests (Files): Likewise.
27147         * modules/printf-posix-tests (Files): Likewise.
27148         * modules/pty-tests (Files): Likewise.
27149         * modules/random_r-tests (Files): Likewise.
27150         * modules/rawmemchr-tests (Files): Likewise.
27151         * modules/readlink-tests (Files): Likewise.
27152         * modules/remove-tests (Files): Likewise.
27153         * modules/rename-tests (Files): Likewise.
27154         * modules/renameat-tests (Files): Likewise.
27155         * modules/rmdir-tests (Files): Likewise.
27156         * modules/round-tests (Files): Likewise.
27157         * modules/roundf-tests (Files): Likewise.
27158         * modules/roundl-tests (Files): Likewise.
27159         * modules/select-tests (Files): Likewise.
27160         * modules/setenv-tests (Files): Likewise.
27161         * modules/sigaction-tests (Files): Likewise.
27162         * modules/sleep-tests (Files): Likewise.
27163         * modules/snprintf-posix-tests (Files): Likewise.
27164         * modules/snprintf-tests (Files): Likewise.
27165         * modules/sprintf-posix-tests (Files): Likewise.
27166         * modules/stat-tests (Files): Likewise.
27167         * modules/strcasestr-tests (Files): Likewise.
27168         * modules/strchrnul-tests (Files): Likewise.
27169         * modules/strerror-tests (Files): Likewise.
27170         * modules/strsignal-tests (Files): Likewise.
27171         * modules/strstr-tests (Files): Likewise.
27172         * modules/strtod-tests (Files): Likewise.
27173         * modules/strverscmp-tests (Files): Likewise.
27174         * modules/symlink-tests (Files): Likewise.
27175         * modules/symlinkat-tests (Files): Likewise.
27176         * modules/times-tests (Files): Likewise.
27177         * modules/trunc-tests (Files): Likewise.
27178         * modules/truncf-tests (Files): Likewise.
27179         * modules/truncl-tests (Files): Likewise.
27180         * modules/tsearch-tests (Files): Likewise.
27181         * modules/uname-tests (Files): Likewise.
27182         * modules/unlink-tests (Files): Likewise.
27183         * modules/unsetenv-tests (Files): Likewise.
27184         * modules/usleep-tests (Files): Likewise.
27185         * modules/utimensat-tests (Files): Likewise.
27186         * modules/vasprintf-tests (Files): Likewise.
27187         * modules/vdprintf-posix-tests (Files): Likewise.
27188         * modules/vfprintf-posix-tests (Files): Likewise.
27189         * modules/vprintf-posix-tests (Files): Likewise.
27190         * modules/vsnprintf-posix-tests (Files): Likewise.
27191         * modules/vsnprintf-tests (Files): Likewise.
27192         * modules/vsprintf-posix-tests (Files): Likewise.
27193         * modules/wcrtomb-tests (Files): Likewise.
27194         * modules/wcsnrtombs-tests (Files): Likewise.
27195         * modules/wcsrtombs-tests (Files): Likewise.
27196         * modules/wcwidth-tests (Files): Likewise.
27197         * tests/test-isfinite.c (isfinite): Ensure macro declaration.
27198         * tests/test-isinf.c (isinf): Likewise.
27199         * tests/test-isnan.c (isnan): Likewise.
27200         * tests/test-signbit.c (signbit): Likewise.
27201         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Ensure
27202         declaration, either as macro or with correct signature.
27203         (select): Ensure function under test is declared with correct
27204         signature in correct header.
27205         * tests/test-atexit.c (atexit): Likewise.
27206         * tests/test-btowc.c (btowc): Likewise.
27207         * tests/test-canonicalize-lgpl.c (realpath)
27208         (canonicalize_file_name): Likewise.
27209         * tests/test-ceilf1.c (ceilf): Likewise.
27210         * tests/test-ceill.c (ceill): Likewise.
27211         * tests/test-chown.c (chown): Likewise.
27212         * tests/test-dprintf-posix.c (dprintf): Likewise.
27213         * tests/test-dup2.c (dup2): Likewise.
27214         * tests/test-dup3.c (dup3): Likewise.
27215         * tests/test-duplocale.c (duplocale): Likewise.
27216         * tests/test-fchdir.c (fchdir): Likewise.
27217         * tests/test-fchownat.c (fchownat): Likewise.
27218         * tests/test-fcntl.c (fcntl): Likewise.
27219         * tests/test-fdopendir.c (fdopendir): Likewise.
27220         * tests/test-fflush.c (fflush): Likewise.
27221         * tests/test-flock.c (flock): Likewise.
27222         * tests/test-floorf1.c (floorf): Likewise.
27223         * tests/test-floorl.c (floorl): Likewise.
27224         * tests/test-fnmatch.c (fnmatch): Likewise.
27225         * tests/test-fopen.c (fopen): Likewise.
27226         * tests/test-fprintf-posix.c (fprintf): Likewise.
27227         * tests/test-freopen.c (freopen): Likewise.
27228         * tests/test-frexp.c (frexp): Likewise.
27229         * tests/test-frexpl.c (frexpl): Likewise.
27230         * tests/test-fseek.c (fseek): Likewise.
27231         * tests/test-fseeko.c (fseeko): Likewise.
27232         * tests/test-fstatat.c (fstatat): Likewise.
27233         * tests/test-fsync.c (fsync): Likewise.
27234         * tests/test-ftell.c (ftell): Likewise.
27235         * tests/test-ftello.c (ftello): Likewise.
27236         * tests/test-futimens.c (futimens): Likewise.
27237         * tests/test-getaddrinfo.c (getaddrinfo, freeaddrinfo)
27238         (gai_strerror): Likewise.
27239         * tests/test-getcwd.c (getcwd): Likewise.
27240         * tests/test-getdelim.c (getdelim): Likewise.
27241         * tests/test-getdtablesize.c (getdtablesize): Likewise.
27242         * tests/test-getgroups.c (getgroups): Likewise.
27243         * tests/test-gethostname.c (gethostname): Likewise.
27244         * tests/test-getline.c (getline): Likewise.
27245         * tests/test-getopt.c (getopt, getopt_long, getopt_long_only):
27246         Likewise.
27247         * tests/test-gettimeofday.c (gettimeofday): Likewise.
27248         * tests/test-glob.c (glob, globfree): Likewise.
27249         * tests/test-iconv.c (iconv, iconv_open, iconv_close): Likewise.
27250         * tests/test-inet_ntop.c (inet_ntop): Likewise.
27251         * tests/test-inet_pton.c (inet_pton): Likewise.
27252         * tests/test-isblank.c (isblank): Likewise.
27253         * tests/test-lchown.c (lchown): Likewise.
27254         * tests/test-ldexpl.c (ldexpl): Likewise.
27255         * tests/test-link.c (link): Likewise.
27256         * tests/test-linkat.c (linkat): Likewise.
27257         * tests/test-lseek.c (lseek): Likewise.
27258         * tests/test-lstat.c (lstat): Likewise.
27259         * tests/test-mbrtowc.c (mbrtowc): Likewise.
27260         * tests/test-mbsinit.c (mbsinit): Likewise.
27261         * tests/test-mbsnrtowcs.c (mbsnrtowcs): Likewise.
27262         * tests/test-mbsrtowcs.c (mbsrtowcs): Likewise.
27263         * tests/test-memchr.c (memchr): Likewise.
27264         * tests/test-memcmp.c (memcmp): Likewise.
27265         * tests/test-memmem.c (memmem): Likewise.
27266         * tests/test-memrchr.c (memrchr): Likewise.
27267         * tests/test-mkdir.c (mkdir): Likewise.
27268         * tests/test-mkdirat.c (mkdirat): Likewise.
27269         * tests/test-mkfifo.c (mkfifo): Likewise.
27270         * tests/test-mkfifoat.c (mkfifoat, mknodat): Likewise.
27271         * tests/test-mknod.c (mknod): Likewise.
27272         * tests/test-nanosleep.c (nanosleep): Likewise.
27273         * tests/test-nl_langinfo.c (nl_langinfo): Likewise.
27274         * tests/test-obstack-printf.c (obstack_printf, obstack_vprintf):
27275         Likewise.
27276         * tests/test-open.c (open): Likewise.
27277         * tests/test-openat.c (openat): Likewise.
27278         * tests/test-perror.c (perror): Likewise.
27279         * tests/test-pipe2.c (pipe2): Likewise.
27280         * tests/test-poll.c (poll): Likewise.
27281         * tests/test-popen.c (popen, pclose): Likewise.
27282         * tests/test-posix_spawn1.c (posix_spawnp, posix_spawnattr_init)
27283         (posix_spawnattr_destroy, posix_spawnattr_setsigmask)
27284         (posix_spawnattr_setflags, posix_spawn_file_actions_init)
27285         (posix_spawn_file_actions_destroy)
27286         (posix_spawn_file_actions_addclose)
27287         (posix_spawn_file_actions_addopen)
27288         (posix_spawn_file_actions_adddup2): Likewise.
27289         * tests/test-posix_spawn3.c (posix_spawn): Likewise.
27290         * tests/test-pread.c (pread): Likewise.
27291         * tests/test-printf-posix.c (printf): Likewise.
27292         * tests/test-pty.c (openpty, forkpty): Likewise.
27293         * tests/test-random_r.c (srandom_r, initstate_r, setstate_r)
27294         (random_r): Likewise.
27295         * tests/test-rawmemchr.c (rawmemchr): Likewise.
27296         * tests/test-readlink.c (readlink): Likewise.
27297         * tests/test-remove.c (remove): Likewise.
27298         * tests/test-rename.c (rename): Likewise.
27299         * tests/test-renameat.c (renameat): Likewise.
27300         * tests/test-rmdir.c (rmdir): Likewise.
27301         * tests/test-round1.c (round): Likewise.
27302         * tests/test-roundf1.c (roundf): Likewise.
27303         * tests/test-roundl.c (roundl): Likewise.
27304         * tests/test-setenv.c (setenv): Likewise.
27305         * tests/test-sigaction.c (sigaction): Likewise.
27306         * tests/test-sleep.c (sleep): Likewise.
27307         * tests/test-snprintf.c (snprintf): Likewise.
27308         * tests/test-sprintf-posix.c (sprintf): Likewise.
27309         * tests/test-stat.c (stat): Likewise.
27310         * tests/test-stpncpy.c (stpncpy): Likewise.
27311         * tests/test-strcasestr.c (strcasestr): Likewise.
27312         * tests/test-strchrnul.c (strchrnul): Likewise.
27313         * tests/test-strerror.c (strerror): Likewise.
27314         * tests/test-strsignal.c (strsignal): Likewise.
27315         * tests/test-strstr.c (strstr): Likewise.
27316         * tests/test-strtod.c (strtod): Likewise.
27317         * tests/test-strverscmp.c (strverscmp): Likewise.
27318         * tests/test-symlink.c (symlink): Likewise.
27319         * tests/test-symlinkat.c (symlinkat, readlinkat): Likewise.
27320         * tests/test-times.c (times): Likewise.
27321         * tests/test-trunc1.c (trunc): Likewise.
27322         * tests/test-truncf1.c (truncf): Likewise.
27323         * tests/test-truncl.c (truncl): Likewise.
27324         * tests/test-tsearch.c (tdelete, tfind, tsearch, twalk):
27325         Likewise.
27326         * tests/test-uname.c (uname): Likewise.
27327         * tests/test-unlink.c (unlink): Likewise.
27328         * tests/test-unlinkat.c (unlinkat): Likewise.
27329         * tests/test-unsetenv.c (unsetenv): Likewise.
27330         * tests/test-usleep.c (usleep): Likewise.
27331         * tests/test-utimensat.c (utimensat): Likewise.
27332         * tests/test-vasprintf.c (asprintf, vasprintf): Likewise.
27333         * tests/test-vdprintf-posix.c (vdprintf): Likewise.
27334         * tests/test-vfprintf-posix.c (vfprintf): Likewise.
27335         * tests/test-vprintf-posix.c (vprintf): Likewise.
27336         * tests/test-vsnprintf.c (vsnprintf): Likewise.
27337         * tests/test-vsprintf-posix.c (vsprintf): Likewise.
27338         * tests/test-wcrtomb.c (wcrtomb): Likewise.
27339         * tests/test-wcsnrtombs.c (wcsnrtombs): Likewise.
27340         * tests/test-wcsrtombs.c (wcsrtombs): Likewise.
27341         * tests/test-wcwidth.c (wcwidth): Likewise.
27342
27343         build: pull in conditional headers during GNULIB_POSIXCHECK
27344         * lib/stdio.in.h (includes): Using GNULIB_POSIXCHECK also requires
27345         definitions from any conditionally-included headers.
27346         * lib/stdlib.in.h (includes): Likewise.
27347         * lib/unistd.in.h (includes): Likewise.
27348
27349 2009-12-24  Bruno Haible  <bruno@clisp.org>
27350
27351         * tests/test-argv-iter.c: Include header file being tested immediately
27352         after config.h.
27353         * tests/test-base64.c: Likewise.
27354         * tests/test-flock.c: Likewise.
27355         * tests/test-fsync.c: Likewise.
27356         * tests/test-getdate.c: Likewise.
27357         * tests/test-getndelim2.c: Likewise.
27358         * tests/test-isfinite.c: Likewise.
27359         * tests/test-isinf.c: Likewise.
27360         * tests/test-strerror.c: Likewise.
27361         * tests/test-strsignal.c: Likewise.
27362
27363 2009-12-23  Eric Blake  <ebb9@byu.net>
27364
27365         unistd: work around cygwin bug
27366         * lib/unistd.in.h (includes): Pick up headers needed for cygwin.
27367         * doc/posix-functions/unlinkat.texi (unlinkat): Document the bug.
27368         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
27369
27370 2009-12-23  Bruno Haible  <bruno@clisp.org>
27371
27372         localename: More tests.
27373         * tests/test-localename.c (SIZEOF): New macro.
27374         (categories): New variable.
27375         (test_locale_name, test_locale_name_posix, test_locale_name_environ,
27376         test_locale_name_default): Add test w.r.t. thread locale.
27377         (test_locale_name_thread): New function.
27378         (main): Invoke it.
27379
27380         localename: Make aware of thread locale.
27381         * lib/localename.h (gl_locale_name_thread): New declaration.
27382         (gl_locale_name, gl_locale_name_posix, gl_locale_name_default): Clarify
27383         behaviour with respect to thread locale.
27384         * lib/localename.c: Include <limits.h>, <stddef.h>, <xlocale.h>,
27385         <langinfo.h>, glthread/lock.h.
27386         (SIZE_BITS): New macro.
27387         (string_hash): New function.
27388         (struct hash_node): New type.
27389         (HASH_TABLE_SIZE): New macro.
27390         (struniq_hash_table, struniq_lock): New variables.
27391         (struniq): New function.
27392         (gl_locale_name_thread): New function.
27393         (gl_locale_name): Invoke it.
27394         * m4/localename.m4 (gl_LOCALENAME): Test for uselocale function.
27395         * modules/localename (Depends-on): Add lock.
27396         Reported by Mike Gran <spk121@yahoo.com>.
27397
27398 2009-12-23  Eric Blake  <ebb9@byu.net>
27399
27400         va-args: new module
27401         * modules/va-args: New file.
27402         * m4/va-args.m4 (gl_VA_ARGS): Likewise.
27403         * MODULES.html.sh (Core language properties): Mention it.
27404
27405         gnulib-common: prefer _GL_UNUSED over _UNUSED_PARAMETER_
27406         * m4/gnulib-common.m4 (gl_COMMON): Create a more-appropriately
27407         named alias for __attribute__((__unused__)).
27408         * lib/chown.c: Update client.
27409         * lib/fchmodat.c: Likewise.
27410         * lib/fts.c: Likewise.
27411         * lib/getdate.y: Likewise.
27412         * lib/getgroups.c: Likewise.
27413         * lib/getopt.c: Likewise.
27414         * lib/getugroups.c: Likewise.
27415         * lib/mkdir.c: Likewise.
27416         * lib/mkfifo.c: Likewise.
27417         * lib/mkfifoat.c: Likewise.
27418         * lib/mknod.c: Likewise.
27419         * lib/mknodat.c: Likewise.
27420         * lib/readlink.c: Likewise.
27421         * lib/se-context.in.h: Likewise.
27422         * lib/se-selinux.in.h: Likewise.
27423         * lib/sockets.c: Likewise.
27424         * lib/symlink.c: Likewise.
27425         * lib/symlinkat.c: Likewise.
27426         * lib/unicodeio.c: Likewise.
27427         * lib/unistr.h: Likewise.
27428         * tests/test-areadlink.c: Likewise.
27429         * tests/test-areadlinkat.c: Likewise.
27430         * tests/test-filenamecat.c: Likewise.
27431         * tests/test-fseeko.c: Likewise.
27432         * tests/test-ftello.c: Likewise.
27433         * tests/test-getdate.c: Likewise.
27434         * tests/test-getgroups.c: Likewise.
27435         * tests/test-gethostname.c: Likewise.
27436         * tests/test-quotearg.c: Likewise.
27437         * tests/test-version-etc.c: Likewise.
27438         * tests/test-xalloc-die.c: Likewise.
27439         * tests/test-xfprintf-posix.c: Likewise.
27440         * tests/test-xprintf-posix.c: Likewise.
27441         * tests/test-xvasprintf.c: Likewise.
27442
27443         tests: avoid compiler warnings
27444         * tests/test-fcntl.c (main): Delete unused parameters.
27445         * tests/test-freopen-safer.c (main): Likewise.
27446         * tests/test-xalloc-die.c (main): Mark unused parameters.
27447         * tests/test-fseeko.c (main): Likewise.
27448         * tests/test-ftello.c (main): Likewise.
27449         * tests/test-nanosleep.c (main): Avoid declaration warning.
27450         * tests/test-sleep.c (main): Likewise.
27451         * tests/test-unsetenv.c (main): Silence warning about string
27452         literal.
27453         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
27454
27455 2009-12-23  Bruno Haible  <bruno@clisp.org>
27456
27457         * tests/test-localename.c (test_locale_name): New function, extracted
27458         from main. Also test mixed situations.
27459         (test_locale_name_posix, test_locale_name_environ,
27460         test_locale_name_default): New functions.
27461         (main): Invoke them all.
27462         * modules/localename-tests (configure.ac): Test for newlocale.
27463
27464 2009-12-23  Bruno Haible  <bruno@clisp.org>
27465
27466         unistd: Ensure getcwd gets declared before being overridden.
27467         * lib/unistd.in.h: Conditionally include <io.h>.
27468
27469 2009-12-22  Bruno Haible  <bruno@clisp.org>
27470
27471         wchar: Diagnose broken combination of glibc and gcc versions and flags.
27472         * m4/wchar.m4 (gl_WCHAR_H_INLINE_OK): New macro.
27473         (gl_WCHAR_H): Invoke it.
27474         * m4/btowc.m4 (gl_FUNC_BTOWC): Require it.
27475         * doc/posix-headers/wchar.texi: Mention the interoperability problem.
27476         Reported by Karl Berry <karl@freefriends.org>.
27477
27478 2009-12-22  Eric Blake  <ebb9@byu.net>
27479
27480         math, unistd: avoid redundant includes
27481         * lib/math.in.h (isnan): No need to re-include <math.h>.
27482         * lib/unistd.in.h (getcwd): Likewise, for <stdlib.h>.
27483
27484         getsubopt: work around cygwin bug
27485         * lib/stdlib.in.h (includes): Move unistd inclusion sooner, to
27486         avoid conflicting with system getsubopt.
27487         * doc/posix-functions/getsubopt.texi (getsubopt): Document the
27488         bug.
27489
27490         getopt: synchronize from glibc
27491         * lib/getopt.c (_getopt_initialize, _getopt_internal_r): Swap
27492         parameter order.  Adjust all callers.
27493         (_getopt_internal_r, main): Adjust quoting in error messages.
27494         Drop considerations for outdated POSIX 1003.2 error message.
27495         * lib/getopt1.c (_getopt_long_r, _getopt_long_only_r): Adjust
27496         callers.
27497         * lib/getopt_int.h (_getopt_internal_r): Adjust prototype.
27498
27499         test-getopt: test stderr behavior
27500         * modules/getopt-posix-tests (Depends-on): Add dup2.
27501         * tests/test-getopt.c (ASSERT): Avoid stderr.
27502         (main): Move stderr to a temporary file.
27503         * tests/test-getopt.h (getopt_loop): No longer manipulate opterr.
27504         Instead, add parameter to inform caller if output occurred.
27505         (test_getopt): Adjust all existing tests to expect silence, and
27506         add new tests of leading ":".
27507         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
27508         glibc shortcomings with leading "-:" or "+:" in optstring.
27509         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
27510         Likewise.
27511         * doc/posix-functions/getopt.texi (getopt): Likewise.
27512
27513         test-getopt: enhance test
27514         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require that getopt_long
27515         supports optind=0.
27516         * tests/test-getopt.c (OPTIND_MIN): Move...
27517         * tests/test-getopt.h (OPTIND_MIN): ...here.
27518         * tests/test-getopt_long.h (test_getopt_long): Add more coverage.
27519         Require that optind=0 works, since modern BSD supports it in
27520         addition to optreset, and since coreutils expects it.
27521         (test_getopt_long_only): New test.
27522         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
27523         glibc shortcomings with 'W;', and enforcement of optind=0.
27524         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
27525         Likewise.
27526
27527 2009-12-21  Bruno Haible  <bruno@clisp.org>
27528
27529         localename: Improvements for MacOS X and Cygwin.
27530         * lib/localename.h (gl_locale_name_environ): New declaration.
27531         * lib/localename.c (gl_locale_name_environ): New function, extracted from
27532         gl_locale_name_posix. Ignore dummy LANG values on MacOS X and Cygwin.
27533         (gl_locale_name_posix): Invoke it.
27534         (gl_locale_name_default): Add comments. Use Windows native API also on
27535         Cygwin.
27536
27537 2009-12-21  Bruno Haible  <bruno@clisp.org>
27538
27539         Update list of Win32 locale ids.
27540         * lib/localename.c (LANG_ROMANSH): Renamed from LANG_RHAETO_ROMANCE.
27541         (LANG_SAMI): Renamed from LANG_SAAMI.
27542         (LANG_BASHKIR, LANG_LUXEMBOURGISH, LANG_GREENLANDIC,
27543         LANG_MAPUDUNGUN, LANG_MOHAWK, LANG_BRETON, LANG_OCCITAN, LANG_CORSICAN,
27544         LANG_ALSATIAN, LANG_YAKUT, LANG_KICHE, LANG_KINYARWANDA, LANG_WOLOF,
27545         LANG_DARI, LANG_SCOTTISH_GAELIC): New macros.
27546         (SUBLANG_AFRIKAANS_SOUTH_AFRICA, SUBLANG_ALBANIAN_ALBANIA,
27547         SUBLANG_ALSATIAN_FRANCE, SUBLANG_AMHARIC_ETHIOPIA,
27548         SUBLANG_ARMENIAN_ARMENIA, SUBLANG_ASSAMESE_INDIA,
27549         SUBLANG_BASHKIR_RUSSIA, SUBLANG_BASQUE_BASQUE,
27550         SUBLANG_BELARUSIAN_BELARUS, SUBLANG_BRETON_FRANCE,
27551         SUBLANG_BULGARIAN_BULGARIA, SUBLANG_CAMBODIAN_CAMBODIA,
27552         SUBLANG_CATALAN_SPAIN, SUBLANG_CORSICAN_FRANCE,
27553         SUBLANG_CZECH_CZECH_REPUBLIC, SUBLANG_DANISH_DENMARK,
27554         SUBLANG_DARI_AFGHANISTAN, SUBLANG_DIVEHI_MALDIVES,
27555         SUBLANG_DUTCH_SURINAM, SUBLANG_ESTONIAN_ESTONIA,
27556         SUBLANG_FAEROESE_FAROE_ISLANDS, SUBLANG_FARSI_IRAN,
27557         SUBLANG_FINNISH_FINLAND, SUBLANG_FRISIAN_NETHERLANDS,
27558         SUBLANG_GALICIAN_SPAIN, SUBLANG_GEORGIAN_GEORGIA,
27559         SUBLANG_GREEK_GREECE, SUBLANG_GREENLANDIC_GREENLAND,
27560         SUBLANG_GUJARATI_INDIA, SUBLANG_HAUSA_NIGERIA_LATIN,
27561         SUBLANG_HEBREW_ISRAEL, SUBLANG_HINDI_INDIA, SUBLANG_HUNGARIAN_HUNGARY,
27562         SUBLANG_ICELANDIC_ICELAND, SUBLANG_IGBO_NIGERIA,
27563         SUBLANG_INDONESIAN_INDONESIA, SUBLANG_INUKTITUT_CANADA,
27564         SUBLANG_INUKTITUT_CANADA_LATIN, SUBLANG_IRISH_IRELAND,
27565         SUBLANG_JAPANESE_JAPAN, SUBLANG_KANNADA_INDIA,
27566         SUBLANG_KAZAK_KAZAKHSTAN, SUBLANG_KICHE_GUATEMALA,
27567         SUBLANG_KINYARWANDA_RWANDA, SUBLANG_KONKANI_INDIA,
27568         SUBLANG_KYRGYZ_KYRGYZSTAN, SUBLANG_LAO_LAOS, SUBLANG_LATVIAN_LATVIA,
27569         SUBLANG_LITHUANIAN_LITHUANIA, SUBLANG_LOWER_SORBIAN_GERMANY,
27570         SUBLANG_LUXEMBOURGISH_LUXEMBOURG, SUBLANG_MACEDONIAN_MACEDONIA,
27571         SUBLANG_MALAYALAM_INDIA, SUBLANG_MALTESE_MALTA,
27572         SUBLANG_MAORI_NEW_ZEALAND, SUBLANG_MAPUDUNGUN_CHILE,
27573         SUBLANG_MARATHI_INDIA, SUBLANG_MOHAWK_CANADA, SUBLANG_NEPALI_NEPAL,
27574         SUBLANG_OCCITAN_FRANCE, SUBLANG_ORIYA_INDIA,
27575         SUBLANG_PASHTO_AFGHANISTAN, SUBLANG_POLISH_POLAND,
27576         SUBLANG_ROMANSH_SWITZERLAND, SUBLANG_SAMI_NORTHERN_NORWAY,
27577         SUBLANG_SAMI_NORTHERN_SWEDEN, SUBLANG_SAMI_NORTHERN_FINLAND,
27578         SUBLANG_SAMI_LULE_NORWAY, SUBLANG_SAMI_LULE_SWEDEN,
27579         SUBLANG_SAMI_SOUTHERN_NORWAY, SUBLANG_SAMI_SOUTHERN_SWEDEN,
27580         SUBLANG_SAMI_SKOLT_FINLAND, SUBLANG_SAMI_INARI_FINLAND,
27581         SUBLANG_SANSKRIT_INDIA, SUBLANG_SINHALESE_SRI_LANKA,
27582         SUBLANG_SLOVAK_SLOVAKIA, SUBLANG_SLOVENIAN_SLOVENIA,
27583         SUBLANG_SOTHO_SOUTH_AFRICA, SUBLANG_SWAHILI_KENYA,
27584         SUBLANG_SWEDISH_SWEDEN, SUBLANG_SYRIAC_SYRIA,
27585         SUBLANG_TAGALOG_PHILIPPINES, SUBLANG_TAJIK_TAJIKISTAN,
27586         SUBLANG_TAMIL_INDIA, SUBLANG_TATAR_RUSSIA, SUBLANG_TELUGU_INDIA,
27587         SUBLANG_THAI_THAILAND, SUBLANG_TSWANA_SOUTH_AFRICA,
27588         SUBLANG_TURKISH_TURKEY, SUBLANG_TURKMEN_TURKMENISTAN,
27589         SUBLANG_UKRAINIAN_UKRAINE, SUBLANG_UPPER_SORBIAN_GERMANY,
27590         SUBLANG_VIETNAMESE_VIETNAM, SUBLANG_WELSH_UNITED_KINGDOM,
27591         SUBLANG_WOLOF_SENEGAL, SUBLANG_XHOSA_SOUTH_AFRICA,
27592         SUBLANG_YAKUT_RUSSIA, SUBLANG_YI_PRC, SUBLANG_YORUBA_NIGERIA,
27593         SUBLANG_ZULU_SOUTH_AFRICA): New macros.
27594         (gl_locale_name_from_win32_LANGID): Handle also the territory neutral
27595         locale ids. Add support for Alsatian, Bashkir, Breton, Corsican, Dari,
27596         Greenlandic, K'iche', Kinyarwanda, Luxembourgish, Mapudungun, Mohawk,
27597         Occitan, Scottish Gaelic, Wolof, Yakut. Change language code for Yi.
27598         Add more languages and countries for Sami, Sorbian. Add more countries
27599         for Serbian, Dutch. Add more scripts for Inuktitut. Be more precise
27600         for Pashto. Change country for Syriac, Tswana.
27601
27602 2009-12-21  Eric Blake  <ebb9@byu.net>
27603
27604         test-utimens: avoid spurious failure
27605         * tests/test-chown.h (nap): Factor...
27606         * tests/nap.h: ...into new file.
27607         * tests/test-lchown.h (nap): Avoid duplication.
27608         * tests/test-utimens-common.h (nap): Use shared implementation,
27609         necessary on file systems with 1-second resolution.
27610         * modules/chown-tests (Files): Include new file.
27611         * modules/fdutimensat-tests (Files): Likewise.
27612         * modules/futimens-tests (Files): Likewise.
27613         * modules/lchown-tests (Files): Likewise.
27614         * modules/openat-tests (Files): Likewise.
27615         * modules/utimens-tests (Files): Likewise.
27616         * modules/utimensat-tests (Files): Likewise.
27617
27618 2009-12-19  Eric Blake  <ebb9@byu.net>
27619
27620         futimens, utimensat: work around Linux bug
27621         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect ctime bug.
27622         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
27623         * lib/utimensat.c (rpl_utimensat): Work around it.
27624         * lib/futimens.c (rpl_futimens): Adjust comment.
27625
27626         utimens: work around Linux ctime bug
27627         * lib/utimens.c (detect_ctime_bug): New helper function.
27628         (update_timespec): Differentiate between workaround needed for
27629         this bug vs. what is needed for systems that lack utimensat.
27630         (fdutimens, lutimens): Work around bug.
27631
27632         utimens: check for ctime update
27633         * tests/test-utimens-common.h (check_ctime): Define.
27634         * tests/test-utimens.h (test_utimens): Expose the Linux bug.
27635         * tests/test-futimens.h (test_futimens): Likewise.
27636         * tests/test-lutimens.h (test_lutimens): Likewise.
27637         * doc/posix-functions/futimens.texi (futimens): Document the bug.
27638         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
27639
27640 2009-12-19  Bruno Haible  <bruno@clisp.org>
27641
27642         dprintf-posix: Check against memory leak fixed on 2009-12-15.
27643         * tests/test-dprintf-posix2.sh: New file.
27644         * tests/test-dprintf-posix2.c: New file.
27645         * modules/dprintf-posix-tests (Files): Add them.
27646         (configure.ac): Check for getrlimit and setrlimit.
27647         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
27648
27649 2009-12-19  Bruno Haible  <bruno@clisp.org>
27650
27651         fprintf-posix: Check against memory leak fixed on 2009-12-15.
27652         * tests/test-fprintf-posix3.sh: New file.
27653         * tests/test-fprintf-posix3.c: New file.
27654         * modules/fprintf-posix-tests (Files): Add them.
27655         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
27656
27657 2009-12-19  Eric Blake  <ebb9@byu.net>
27658
27659         dirfd: fix prototype
27660         * lib/dirent.in.h (dirfd): Argument is not const, per POSIX.
27661         * lib/dirfd.c (dirfd): Likewise.
27662
27663         canonicalize: reduce memory usage
27664         * lib/canonicalize.c (canonicalize_filename_mode): Trim the
27665         allocation to size.
27666         Reported by Solar Designer <solar@openwall.com>.
27667
27668 2009-12-19  Bruno Haible  <bruno@clisp.org>
27669
27670         New module attribute 'Applicability'.
27671         * modules/TEMPLATE-EXTENDED: New field 'Applicability'.
27672         * gnulib-tool: New option --extract-applicability.
27673         (func_usage): Document it.
27674         (sed_extract_prog): Recognize it.
27675         (func_get_applicability): New function.
27676         (func_import): Generalize handling of 'link-warning' module.
27677         * modules/link-warning (Applicability): New section.
27678         * modules/arg-nonnull (Applicability): New section.
27679         Repoted by Simon Josefsson <simon@josefsson.org>.
27680
27681 2009-12-19  Bruno Haible  <bruno@clisp.org>
27682
27683         fflush: tweak
27684         * lib/fflush.c (update_fpos_cache): Don't use fpos_t on Cygwin.
27685         * lib/fseeko.c (rpl_fseeko): Likewise.
27686
27687 2009-12-16  José E. Marchesi  <jemarch@gnu.org>  (tiny change)
27688
27689         * lib/gl_list.h: Fix typo in comment.
27690
27691 2009-12-16  Eric Blake  <ebb9@byu.net>
27692
27693         fcntl: use to simplify other modules
27694         * modules/cloexec (Depends-on): Add fcntl.
27695         * modules/fchdir (Depends-on): Likewise.
27696         * modules/fd-safer-flag (Depends-on): Likewise.
27697         * modules/unistd-safer (Depends-on): Likewise.
27698         * modules/dup3 (configure.ac): Set module indicator.
27699         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Replace fcntl if fchdir is
27700         missing.
27701         * lib/fchdir.c (_gl_register_dup): Fix comment.
27702         * lib/cloexec.c (dup_cloexec): Simplify, by relying on fcntl.
27703         * lib/dup-safer.c (dup_safer): Likewise.
27704         * lib/dup-safer-flag.c (dup_safer_flag): Likewise.
27705         * lib/dup3.c (dup3): Likewise.
27706         * tests/test-fchdir.c (main): Enhance test.
27707         Fixes a dup_cloexec bug reported by OndÅ™ej Vašík.
27708
27709         fcntl: port portions of fcntl to mingw
27710         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also build fcntl.c on mingw.
27711         * lib/fcntl.c (fcntl) <F_DUPFD, F_DUPFD_CLOEXEC, F_GETFD>: Provide
27712         replacement for mingw.
27713         * modules/fcntl (Description): Update.
27714         (Depends-on): Add dup2.
27715         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness.
27716         * modules/fcntl-h (Makefile.am): Substitute it.
27717         * lib/fcntl.in.h (fcntl): Update declaration.
27718         (F_DUPFD, F_GETFD): New macros, when needed.
27719         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
27720         * doc/posix-functions/fcntl.texi (fcntl): Likewise.
27721         * tests/test-fcntl.c (check_flags, main): Enhance test for items
27722         we now guarantee.
27723
27724         fcntl: work around cygwin bug in F_DUPFD
27725         * m4/fcntl.m4 (gl_REPLACE_FCNTL): New macro.
27726         (gl_FUNC_FCNTL): Use it.  Test for F_DUPFD bug.
27727         * lib/fcntl.c (rpl_fcntl) <F_DUPFD>: Work around it.
27728         <F_DUPFD_CLOEXEC>: Reduce calls to _gl_register_dup.
27729         * doc/posix-functions/fcntl.texi (fcntl): Document it.
27730
27731         fcntl: support F_DUPFD_CLOEXEC on systems with fcntl
27732         * modules/fcntl (Files): List new files.
27733         (configure.ac): Run a test.
27734         * m4/fcntl.m4 (gl_FUNC_FCNTL): New file.
27735         * lib/fcntl.c (rpl_fcntl): Likewise.
27736         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness defaults.
27737         (gl_FCNTL_H): Always replace fcntl.h.
27738         * modules/fcntl-h (Makefile.am): Substitute witnesses.
27739         * lib/fcntl.in.h (fcntl): Declare replacement.
27740         (F_DUPFD_CLOEXEC, GNULIB_defined_F_DUPFD_CLOEXEC): New macro when
27741         needed, plus a witness.
27742         * doc/posix-functions/fcntl.texi (fcntl): Document this.
27743         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
27744         * tests/test-fcntl.c: New file.
27745         * modules/fcntl-tests: Likewise.
27746
27747         binary-io: avoid potential compilation warning
27748         * lib/binary-io.h [__DJGPP__]: Avoid null preprocessor
27749         directives.
27750
27751         fflush: avoid compilation error on NetBSD
27752         * lib/fflush.c (update_fpos_cache): Use a union to safely convert
27753         between off_t and fpos_t, since the latter is sometimes a struct.
27754         * lib/fseeko.c (rpl_fseeko): Likewise.
27755         Reported by Alexander Nasonov <alnsn@yandex.ru>.
27756
27757 2009-12-15  Eric Blake  <ebb9@byu.net>
27758
27759         fcntl-h, stdio, sys_ioctl: fix declarations
27760         * lib/stdio.in.h (dprintf): Use of link warning on a variadic
27761         function must not take arguments.
27762         * lib/sys_ioctl.in.h (ioctl): Likewise.
27763         * lib/fcntl.in.h (openat): Likewise.  Declare extern.
27764         (open): Add a link warning.
27765
27766 2009-12-15  Jim Meyering  <meyering@redhat.com>
27767
27768         areadlink, areadlink-with-size: relax license to LGPLv2+
27769         * modules/areadlink (License): Relax to LGPLv2+.
27770         * modules/areadlink-with-size (License): Likewise.
27771
27772 2009-12-15  Joel E. Denny  <jdenny@clemson.edu>
27773             Bruno Haible  <bruno@clisp.org>
27774
27775         *printf: Fix memory leak.
27776         * lib/fprintf.c (fprintf): Free memory allocated by vasnprintf.
27777         * lib/vfprintf.c (vfprintf): Likewise.
27778         * lib/dprintf.c (dprintf): Likewise.
27779         * lib/vdprintf.c (vdprintf): Likewise.
27780
27781 2009-12-14  Eric Blake  <ebb9@byu.net>
27782
27783         accept4: adjust module dependencies
27784         * modules/accept4 (Depends-on): Use fcntl-h, not fcntl.
27785
27786         utimens: one more try at avoiding compiler warning
27787         * lib/utimens.c (lutimens): Lower scope of result.
27788
27789 2009-12-13  Bruno Haible  <bruno@clisp.org>
27790
27791         Move the malloc checking from module 'list' to new module 'xlist'.
27792         * modules/xlist: New file.
27793         * lib/gl_xlist.h: New file.
27794         * lib/gl_xlist.c: New file.
27795         * lib/gl_list.h (gl_list_create_empty, gl_list_create,
27796         gl_list_node_set_value, gl_list_set_at, gl_list_add_first,
27797         gl_list_add_last, gl_list_add_before, gl_list_add_after,
27798         gl_list_nx_add_at, gl_sortedlist_add): Disable declarations.
27799         (gl_list_nx_create_empty, gl_list_nx_create, gl_list_node_nx_set_value,
27800         gl_list_nx_set_at, gl_list_nx_add_first, gl_list_nx_add_last,
27801         gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at,
27802         gl_sortedlist_nx_add): New declarations.
27803         (struct gl_list_implementation): Rename and change methods accordingly.
27804         (gl_list_nx_create_empty): Renamed from gl_list_create_empty.
27805         (gl_list_nx_create): Renamed from gl_list_create.
27806         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
27807         (gl_list_nx_set_at): Renamed from gl_list_set_at.
27808         (gl_list_nx_add_first): Renamed from gl_list_add_first.
27809         (gl_list_nx_add_last): Renamed from gl_list_add_last.
27810         (gl_list_nx_add_before): Renamed from gl_list_add_before.
27811         (gl_list_nx_add_after): Renamed from gl_list_add_after.
27812         (gl_list_nx_add_at): Renamed from gl_list_add_at.
27813         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
27814         * lib/gl_list.c (gl_list_nx_create_empty): Renamed from
27815         gl_list_create_empty.
27816         (gl_list_nx_create): Renamed from gl_list_create.
27817         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
27818         (gl_list_nx_set_at): Renamed from gl_list_set_at.
27819         (gl_list_nx_add_first): Renamed from gl_list_add_first.
27820         (gl_list_nx_add_last): Renamed from gl_list_add_last.
27821         (gl_list_nx_add_before): Renamed from gl_list_add_before.
27822         (gl_list_nx_add_after): Renamed from gl_list_add_after.
27823         (gl_list_nx_add_at): Renamed from gl_list_add_at.
27824         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
27825         * lib/gl_array_list.c: Don't include xalloc.h.
27826         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Return
27827         NULL upon out-of-memory.
27828         (gl_array_nx_create): Renamed from gl_array_create. Return NULL upon
27829         out-of-memory.
27830         (gl_array_node_nx_set_value): Renamed from gl_array_node_set_value.
27831         Change return type to 'int'.
27832         (gl_array_nx_set_at): Renamed from gl_array_set_at.
27833         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
27834         (gl_array_nx_add_first): Renamed from gl_array_add_first. Return NULL
27835         upon out-of-memory.
27836         (gl_array_nx_add_last): Renamed from gl_array_add_last. Return NULL
27837         upon out-of-memory.
27838         (gl_array_nx_add_before): Renamed from gl_array_add_before. Return NULL
27839         upon out-of-memory.
27840         (gl_array_nx_add_after): Renamed from gl_array_add_after. Return NULL
27841         upon out-of-memory.
27842         (gl_array_nx_add_at): Renamed from gl_array_add_at. Return NULL upon
27843         out-of-memory.
27844         (gl_array_sortedlist_nx_add): Renamed from gl_array_sortedlist_add.
27845         Update.
27846         (gl_array_list_implementation): Update.
27847         * lib/gl_carray_list.c: Don't include xalloc.h.
27848         (gl_carray_nx_create_empty): Renamed from gl_carray_create_empty.
27849         Return NULL upon out-of-memory.
27850         (gl_carray_nx_create): Renamed from gl_carray_create. Return NULL upon
27851         out-of-memory.
27852         (gl_carray_node_nx_set_value): Renamed from gl_carray_node_set_value.
27853         Change return type to 'int'.
27854         (gl_carray_nx_set_at): Renamed from gl_carray_set_at.
27855         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
27856         (gl_carray_nx_add_first): Renamed from gl_carray_add_first. Return NULL
27857         upon out-of-memory.
27858         (gl_carray_nx_add_last): Renamed from gl_carray_add_last. Return NULL
27859         upon out-of-memory.
27860         (gl_carray_nx_add_at): Renamed from gl_carray_add_at. Return NULL upon
27861         out-of-memory.
27862         (gl_carray_nx_add_before): Renamed from gl_carray_add_before. Update.
27863         (gl_carray_nx_add_after): Renamed from gl_carray_add_after. Update.
27864         (gl_carray_sortedlist_nx_add): Renamed from gl_carray_sortedlist_add.
27865         Update.
27866         (gl_carray_list_implementation): Update.
27867         * lib/gl_anyhash_list2.h (hash_resize): Do nothing upon out-of-memory.
27868         * lib/gl_anylinked_list2.h (gl_linked_nx_create_empty): Renamed from
27869         gl_linked_create_empty. Return NULL upon out-of-memory.
27870         (gl_linked_nx_create): Renamed from gl_linked_create. Return NULL upon
27871         out-of-memory.
27872         (gl_linked_node_nx_set_value): Renamed from gl_linked_node_set_value.
27873         Change return type to 'int'. Return -1 upon out-of-memory.
27874         (gl_linked_nx_set_at): Renamed from gl_linked_set_at. Return NULL upon
27875         out-of-memory.
27876         (gl_linked_nx_add_first): Renamed from gl_linked_add_first. Return NULL
27877         upon out-of-memory.
27878         (gl_linked_nx_add_last): Renamed from gl_linked_add_last. Return NULL
27879         upon out-of-memory.
27880         (gl_linked_nx_add_before): Renamed from gl_linked_add_before. Return
27881         NULL upon out-of-memory.
27882         (gl_linked_nx_add_after): Renamed from gl_linked_add_after. Return NULL
27883         upon out-of-memory.
27884         (gl_linked_nx_add_at): Renamed from gl_linked_add_at. Return NULL upon
27885         out-of-memory.
27886         (gl_linked_sortedlist_nx_add): Renamed from gl_linked_sortedlist_add.
27887         Update.
27888         * lib/gl_linked_list.c: Don't include xalloc.h.
27889         (gl_linked_list_implementation): Update.
27890         * lib/gl_linkedhash_list.c: Don't include xalloc.h.
27891         (add_to_bucket): Change return type to 'int'.
27892         (gl_linkedhash_list_implementation): Update.
27893         * lib/gl_anytree_list1.h (free_subtree): New function.
27894         * lib/gl_anytree_list2.h (gl_tree_nx_create_empty): Renamed from
27895         gl_tree_create_empty. Return NULL upon out-of-memory.
27896         (gl_tree_node_nx_set_value): Renamed from gl_tree_node_set_value.
27897         Change return type to 'int'. Return -1 upon out-of-memory.
27898         (gl_tree_nx_set_at): Renamed from gl_tree_set_at. Return NULL upon
27899         out-of-memory.
27900         (gl_tree_nx_add_at): Renamed from gl_tree_add_at. Update.
27901         (gl_tree_remove_node): New function, moved here from
27902         lib/gl_anyavltree_list2.h and lib/gl_anyrbtree_list2.h.
27903         (gl_tree_sortedlist_nx_add): Renamed from gl_tree_sortedlist_add.
27904         Update.
27905         * lib/gl_anyavltree_list2.h (create_subtree_with_contents): Use
27906         malloc, not xmalloc. Return NULL upon out-of-memory.
27907         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
27908         out-of-memory.
27909         (gl_tree_remove_node_from_tree): New function, extracted from
27910         gl_tree_remove_node.
27911         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
27912         upon out-of-memory.
27913         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
27914         out-of-memory.
27915         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
27916         upon out-of-memory.
27917         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
27918         upon out-of-memory.
27919         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
27920         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents): Use malloc,
27921         not xmalloc. Return NULL upon out-of-memory.
27922         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
27923         out-of-memory.
27924         (gl_tree_remove_node_from_tree): New function, extracted from
27925         gl_tree_remove_node.
27926         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
27927         upon out-of-memory.
27928         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
27929         out-of-memory.
27930         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
27931         upon out-of-memory.
27932         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
27933         upon out-of-memory.
27934         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
27935         * lib/gl_avltree_list.c: Don't include xalloc.h. Include
27936         gl_anytree_list1.h before gl_anyavltree_list2.h.
27937         (gl_avltree_list_implementation): Update.
27938         * lib/gl_rbtree_list.c: Don't include xalloc.h. Include
27939         gl_anytree_list1.h before gl_anyavltree_list2.h.
27940         (gl_rbtree_list_implementation): Update.
27941         * lib/gl_anytreehash_list1.h (add_to_bucket, add_nodes_to_buckets):
27942         Change return type to 'int'. Return -1 upon out-of-memory. Use
27943         __builtin_expect.
27944         * lib/gl_avltreehash_list.c: Don't include xalloc.h.
27945         (gl_avltreehash_list_implementation): Update.
27946         * lib/gl_rbtreehash_list.c: Don't include xalloc.h.
27947         (gl_rbtreehash_list_implementation): Update.
27948         * modules/array-list (Depends-on): Remove xalloc.
27949         * modules/carray-list (Depends-on): Likewise.
27950         * modules/linked-list (Depends-on): Likewise.
27951         * modules/linkedhash-list (Depends-on): Likewise.
27952         * modules/avltree-list (Depends-on): Likewise.
27953         * modules/rbtree-list (Depends-on): Likewise.
27954         * modules/avltreehash-list (Depends-on): Likewise.
27955         * modules/rbtreehash-list (Depends-on): Likewise.
27956
27957         * modules/xsublist: New file.
27958         * lib/gl_xsublist.h: New file.
27959         * lib/gl_xsublist.c: New file.
27960         * lib/gl_sublist.h (gl_sublist_create): Disable declaration.
27961         (gl_sublist_nx_create): New declaration.
27962         * lib/gl_sublist.c: Don't include xalloc.h.
27963         (gl_sublist_nx_create_empty): Renamed from gl_sublist_create_empty.
27964         (gl_sublist_nx_create_fill): Renamed from gl_sublist_create_fill.
27965         (gl_sublist_node_nx_set_value): Renamed from gl_sublist_node_set_value.
27966         Change return type to 'int'. Return -1 upon out-of-memory.
27967         (gl_sublist_nx_set_at): Renamed from gl_sublist_set_at. Return NULL
27968         upon out-of-memory.
27969         (gl_sublist_nx_add_first): Renamed from gl_sublist_add_first. Return
27970         NULL upon out-of-memory.
27971         (gl_sublist_nx_add_last): Renamed from gl_sublist_add_last. Return NULL
27972         upon out-of-memory.
27973         (gl_sublist_nx_add_before): Renamed from gl_sublist_add_before. Return
27974         NULL upon out-of-memory.
27975         (gl_sublist_nx_add_after): Renamed from gl_sublist_add_after. Return
27976         NULL upon out-of-memory.
27977         (gl_sublist_nx_add_at): Renamed from gl_sublist_add_at. Return NULL
27978         upon out-of-memory.
27979         (gl_sublist_sortedlist_nx_add): Renamed from gl_sublist_sortedlist_add.
27980         (gl_sublist_list_implementation): Update.
27981         (gl_sublist_nx_create): Renamed from gl_sublist_create. Return NULL
27982         upon out-of-memory.
27983         * modules/sublist (Depends-on): Remove xalloc.
27984
27985         * tests/test-array_list.c: Use gl_list_nx_* functions where possible.
27986         * tests/test-carray_list.c: Likewise.
27987         * tests/test-linked_list.c: Likewise.
27988         * tests/test-linkedhash_list.c: Likewise.
27989         * tests/test-avltree_list.c: Likewise.
27990         * tests/test-rbtree_list.c: Likewise.
27991         * tests/test-avltreehash_list.c: Likewise.
27992         * tests/test-rbtreehash_list.c: Likewise.
27993         * modules/array-list-tests (Makefile.am): Don't link with @LIBINTL@.
27994         * modules/carray-list-tests (Makefile.am): Likewise.
27995         * modules/linked-list-tests (Makefile.am): Likewise.
27996         * modules/linkedhash-list-tests (Makefile.am): Likewise.
27997         * modules/avltree-list-tests (Makefile.am): Likewise.
27998         * modules/rbtree-list-tests (Makefile.am): Likewise.
27999         * modules/avltreehash-list-tests (Makefile.am): Likewise.
28000         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
28001
28002         * NEWS: Mention the changes.
28003
28004         * lib/clean-temp.c: Include gl_xlist.h.
28005         * modules/clean-temp (Depends-on): Add xlist.
28006
28007         * lib/git-merge-changelog.c: Include gl_xlist.h instead of gl_list.h.
28008         * modules/git-merge-changelog (Depends-on): Add xlist. Remove list.
28009
28010         * tests/test-array_oset.c: Include gl_xlist.h.
28011         * modules/array-oset-tests (Depends-on): Add xlist.
28012
28013         Reported by José E. Marchesi <jemarch@gnu.org>.
28014
28015 2009-12-13  Bruno Haible  <bruno@clisp.org>
28016
28017         Move the malloc checking from module 'oset' to new module 'xoset'.
28018         * modules/xoset: New file.
28019         * lib/gl_xoset.h: New file.
28020         * lib/gl_xoset.c: New file.
28021         * lib/gl_oset.h (gl_oset_create_empty, gl_oset_add): Disable
28022         declarations.
28023         (gl_oset_nx_create_empty, gl_oset_nx_add): New declarations.
28024         (struct gl_oset_implementation): Rename and change methods accordingly.
28025         (gl_oset_nx_create_empty): Renamed from gl_oset_create_empty.
28026         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
28027         'int'. Mark as __warn_unused_result__.
28028         * lib/gl_oset.c (gl_oset_nx_create_empty): Renamed from
28029         gl_oset_create_empty.
28030         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
28031         'int'.
28032         * lib/gl_array_oset.c: Don't include xalloc.h.
28033         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Use
28034         malloc, not xmalloc.
28035         (grow): Change return type to 'int'. Don't call xalloc_die.
28036         (gl_array_nx_add_at): Renamed from gl_array_add_at. Change return type
28037         to 'int'.
28038         (gl_array_nx_add): Renamed from gl_array_add. Change return type to
28039         'int'.
28040         (gl_array_oset_implementation): Update.
28041         * lib/gl_anytree_oset.h (gl_tree_nx_create_empty): Renamed from
28042         gl_tree_create_empty.
28043         (gl_tree_nx_add): Renamed from gl_tree_add. Change return type to
28044         'int'.
28045         * lib/gl_avltree_oset.c: Don't include xalloc.h.
28046         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
28047         xmalloc.
28048         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
28049         not xmalloc.
28050         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
28051         xmalloc.
28052         (gl_avltree_oset_implementation): Update.
28053         * lib/gl_rbtree_oset.c: Don't include xalloc.h.
28054         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
28055         xmalloc.
28056         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
28057         not xmalloc.
28058         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
28059         xmalloc.
28060         (gl_rbtree_oset_implementation): Update.
28061         * modules/array-oset (Depends-on): Remove xalloc.
28062         * modules/avltree-oset (Depends-on): Likewise.
28063         * modules/rbtree-oset (Depends-on): Likewise.
28064         * tests/test-array_oset.c: Use gl_oset_nx_* functions where possible.
28065         * tests/test-avltree_oset.c: Likewise.
28066         * tests/test-rbtree_oset.c: Likewise.
28067         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
28068         * modules/avltree-oset-tests (Makefile.am): Don't link with @LIBINTL@.
28069         * modules/rbtree-oset-tests (Makefile.am): Likewise.
28070         * NEWS: Mention the change.
28071
28072 2009-12-05  Alfred M. Szmidt  <ams@gnu.org>
28073
28074         maint.mk: allow a project to override release-prep commands
28075         * top/maint.mk (alpha, beta, stable): Move release-preparatory
28076         commands into a new rule.
28077         (release-prep): New rule.
28078         (release-prep-hook): New overridable variable.
28079
28080 2009-12-13  Bruno Haible  <bruno@clisp.org>
28081
28082         * lib/localcharset.c (locale_charset): Fix comment about use of GetACP.
28083
28084 2009-12-13  Jim Meyering  <meyering@redhat.com>
28085
28086         maint.mk (null_AM_MAKEFLAGS, built_programs): remove unused definitions
28087         * top/maint.mk (null_AM_MAKEFLAGS, built_programs): Remove definitions.
28088
28089 2009-12-12  Bruno Haible  <bruno@clisp.org>
28090
28091         duplocale: Tweak.
28092         * lib/duplocale.c (rpl_duplocale): Mark categories array as 'const'.
28093
28094 2009-12-12  Karl Berry  <karl@gnu.org>
28095
28096         * config/srclist.txt (strtoll.c): tab changes, no more sync.
28097
28098 2009-12-12  Bruno Haible  <bruno@clisp.org>
28099
28100         * m4/po.m4: Undo incorrect untabification.
28101
28102 2009-12-12  Bruno Haible  <bruno@clisp.org>
28103
28104         c-strtod, c-strtold: Use multithread-safe implementation on MacOS X.
28105         * modules/c-strtod (Depends-on): Add locale.
28106         * modules/c-strtold (Depends-on): Likewise.
28107
28108 2009-12-12  Bruno Haible  <bruno@clisp.org>
28109
28110         * lib/localcharset.c (locale_charset): Add comment about use of GetACP.
28111
28112 2009-12-11  Eric Blake  <ebb9@byu.net>
28113
28114         setenv: relax requirement in light of POSIX ruling
28115         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test handling of "" but
28116         not NULL.
28117         * tests/test-setenv.c (main): Relax test.
28118         * tests/test-unsetenv.c (main): Likewise.
28119         * doc/posix-functions/setenv.texi (setenv): Document this.
28120         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
28121
28122 2009-12-11  Bruno Haible  <bruno@clisp.org>
28123
28124         New module 'fd-safer-flag'.
28125         * lib/dup-safer-flag.c: New file, extracted from lib/dup-safer.c.
28126         * lib/dup-safer.c (dup_safer_flag): Remove function.
28127         * lib/fd-safer-flag.c: New file, extracted from lib/fd-safer.c.
28128         * lib/fd-safer.c (fd_safer_flag): Remove function.
28129         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): Update condition.
28130         * modules/cloexec (configure.ac): Drop indicator macro.
28131         * modules/fd-safer-flag: New file.
28132         * modules/pipe2-safer (Depends-on): Add fd-safer-flag. Remove cloexec.
28133         * modules/stdlib-safer (Depends-on): Add fd-safer-flag.
28134         * modules/unistd-safer-tests (Depends-on): Add fd-safer-flag.
28135
28136 2009-12-11  Bruno Haible  <bruno@clisp.org>
28137
28138         Tests for module 'nl_langinfo'.
28139         * modules/nl_langinfo-tests: New file.
28140         * tests/test-nl_langinfo.sh: New file.
28141         * tests/test-nl_langinfo.c: New file.
28142
28143         New module 'nl_langinfo'.
28144         * lib/nl_langinfo.c: New file.
28145         * m4/nl_langinfo.m4: New file.
28146         * modules/nl_langinfo: New file.
28147         * doc/posix-functions/nl_langinfo.texi: Mention the new module.
28148
28149 2009-12-11  Bruno Haible  <bruno@clisp.org>
28150
28151         Tests for module 'langinfo'.
28152         * modules/langinfo-tests: New file.
28153         * tests/test-langinfo.c: New file.
28154
28155         New module 'langinfo'.
28156         * lib/langinfo.in.h: New file.
28157         * m4/langinfo_h.m4: New file.
28158         * modules/langinfo: New file.
28159         * doc/posix-headers/langinfo.texi: Mention the new module.
28160
28161 2009-12-11  Bruno Haible  <bruno@clisp.org>
28162
28163         * lib/config.charset: Untabify.
28164
28165 2009-12-11  Bruno Haible  <bruno@clisp.org>
28166
28167         * modules/unistd-safer (configure.ac): Drop indicator macro.
28168
28169 2009-12-11  Bruno Haible  <bruno@clisp.org>
28170
28171         Move pipe2-safer code to its own file.
28172         * lib/pipe2-safer.c: New file, extracted from lib/pipe-safer.c.
28173         * lib/pipe-safer.c (pipe2_safer): Remove function.
28174         * modules/pipe2-safer (Files): Add lib/pipe2-safer.c.
28175         (Makefile.am): Add it to lib_SOURCES.
28176
28177 2009-12-10  Bruno Haible  <bruno@clisp.org>
28178
28179         * lib/recvfrom.c (rpl_recvfrom): Allow the from argument to be NULL.
28180
28181 2009-12-10  Bruno Haible  <bruno@clisp.org>
28182
28183         Declare which arguments expect non-NULL values, for GCC and clang.
28184         * build-aux/arg-nonnull.h: New file.
28185         * modules/arg-nonnull: New file.
28186         * lib/arpa_inet.in.h (_GL_ARG_NONNULL): New placeholder.
28187         (inet_ntop, inet_pton): Use it.
28188         * lib/dirent.in.h (_GL_ARG_NONNULL): New placeholder.
28189         (closedir, dirfd, opendir, scandir, alphasort): Use it.
28190         * lib/fcntl.in.h (_GL_ARG_NONNULL): New placeholder.
28191         (open, openat): Use it.
28192         * lib/fnmatch.in.h (_GL_ARG_NONNULL): New placeholder.
28193         (fnmatch): Use it.
28194         * lib/getopt.in.h (_GL_ARG_NONNULL): New placeholder.
28195         (getopt, getopt_long, getopt_long_only): Use it.
28196         * lib/glob.in.h (_GL_ARG_NONNULL): New placeholder.
28197         * lib/glob-libc.h (glob, globfree, glob64, globfree64, glob_pattern_p):
28198         Use it.
28199         * lib/iconv.in.h (_GL_ARG_NONNULL): New placeholder.
28200         (iconv_open): Use it.
28201         * lib/inttypes.in.h (_GL_ARG_NONNULL): New placeholder.
28202         (strtoimax, strtoumax): Use it.
28203         * lib/locale.in.h (_GL_ARG_NONNULL): New placeholder.
28204         (duplocale): Use it.
28205         * lib/math.in.h (_GL_ARG_NONNULL): New placeholder.
28206         (frexp, frexpl): Use it.
28207         * lib/netdb.in.h (_GL_ARG_NONNULL): New placeholder.
28208         (getaddrinfo, freeaddrinfo, getnameinfo): Use it.
28209         * lib/search.in.h (_GL_ARG_NONNULL): New placeholder.
28210         (tsearch, tfind, tdelete, twalk): Use it.
28211         * lib/signal.in.h (_GL_ARG_NONNULL): New placeholder.
28212         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
28213         sigpending): Use it.
28214         * lib/spawn.in.h (_GL_ARG_NONNULL): New placeholder.
28215         (posix_spawn, posix_spawnp, posix_spawnattr_init,
28216         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
28217         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
28218         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
28219         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
28220         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
28221         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
28222         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
28223         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
28224         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
28225         Use it.
28226         * lib/stdio.in.h (_GL_ARG_NONNULL): New placeholder.
28227         (dprintf, fclose, fopen, fprintf, fpurge, fputc, fputs, freopen,
28228         rpl_fseek, fseeko, rpl_ftell, ftello, fwrite, getdelim, getline,
28229         obstack_printf, obstack_vprintf, popen, printf, putc, puts, remove,
28230         rename, renameat, snprintf, sprintf, asprintf, vasprintf, vdprintf,
28231         vfprintf, vprintf, vsnprintf, vsprintf): Use it.
28232         * lib/stdlib.in.h (_GL_ARG_NONNULL): New placeholder.
28233         (atoll, canonicalize_file_name, getloadavg, getsubopt, mkdtemp,
28234         mkostemp, mkostemps, mkstemp, mkstemps, putenv, srandom_r, initstate_r,
28235         setstate_r, random_r, realpath, rpmatch, setenv, strtod, strtoll,
28236         strtoull, unsetenv): Use it.
28237         * lib/string.in.h (_GL_ARG_NONNULL): New placeholder.
28238         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
28239         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
28240         strcasestr, strtok_r, mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
28241         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
28242         mbsspn, mbssep, mbstok_r, strverscmp): Use it.
28243         * lib/strings.in.h (_GL_ARG_NONNULL): New placeholder.
28244         (strcasecmp, strncasecmp): Use it.
28245         * lib/sys_socket.in.h (_GL_ARG_NONNULL): New placeholder.
28246         (rpl_connect, rpl_bind, rpl_getpeername, rpl_getsockname,
28247         rpl_getsockopt, rpl_recv, rpl_send, rpl_recvfrom, rpl_sendto,
28248         rpl_setsockopt): Use it.
28249         * lib/sys_stat.in.h (_GL_ARG_NONNULL): New placeholder.
28250         (fchmodat, fstat, fstatat, lchmod, rpl_lstat, mkdir, mkdirat, mkfifo,
28251         mkfifoat, mknod, mknodat, stat, utimensat): Use it.
28252         * lib/sys_time.in.h (_GL_ARG_NONNULL): New placeholder.
28253         (gettimeofday): Use it.
28254         * lib/sys_times.in.h (_GL_ARG_NONNULL): New placeholder.
28255         (times): Use it.
28256         * lib/sys_utsname.in.h (_GL_ARG_NONNULL): New placeholder.
28257         (uname): Use it.
28258         * lib/time.in.h (_GL_ARG_NONNULL): New placeholder.
28259         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): Use it.
28260         * lib/unistd.in.h (_GL_ARG_NONNULL): New placeholder.
28261         (chown, euidaccess, faccessat, _gl_register_fd, fchownat,
28262         getdomainname, gethostname, getlogin_r, lchown, link, linkat, pipe2,
28263         pread, readlink, readlinkat, rmdir, symlink, symlinkat, unlink,
28264         unlinkat, write): Use it.
28265         * lib/wchar.in.h (_GL_ARG_NONNULL): New placeholder.
28266         (mbsrtowcs, mbsnrtowcs, wcsrtombs, wcsnrtombs): Use it.
28267         * lib/argv-iter.h: Include arg-nonnull.h.
28268         (_ATTRIBUTE_NONNULL_): Remove macro.
28269         (argv_iter_init_argv, argv_iter_init_stream, argv_iter,
28270         argv_iter_n_args, argv_iter_free): Use _GL_ARG_NONNULL.
28271         * lib/canonicalize-lgpl.c (_GL_ARG_NONNULL): Define, to defeat gcc
28272         optimization.
28273         * lib/getaddrinfo.c (_GL_ARG_NONNULL): Likewise.
28274         * lib/getdelim.c (_GL_ARG_NONNULL): Likewise.
28275         * lib/glob.c (_GL_ARG_NONNULL): Likewise.
28276         * lib/random_r.c (_GL_ARG_NONNULL): Likewise.
28277         * lib/setenv.c (_GL_ARG_NONNULL): Likewise.
28278         * lib/strtod.c (_GL_ARG_NONNULL): Likewise.
28279         * lib/tsearch.c (_GL_ARG_NONNULL): Likewise.
28280         * lib/unsetenv.c (_GL_ARG_NONNULL): Likewise.
28281         * modules/arpa_inet (Depends-on): Add arg-nonnull.
28282         (Makefile.am): Insert arg-nonnull.h into arpa/inet.h.
28283         * modules/dirent (Depends-on): Add arg-nonnull.
28284         (Makefile.am): Insert arg-nonnull.h into dirent.h.
28285         * modules/fcntl-h (Depends-on): Add arg-nonnull.
28286         (Makefile.am): Insert arg-nonnull.h into fcntl.h.
28287         * modules/fnmatch (Depends-on): Add arg-nonnull.
28288         (Makefile.am): Insert arg-nonnull.h into fnmatch.h.
28289         * modules/getopt-posix (Depends-on): Add arg-nonnull.
28290         (Makefile.am): Insert arg-nonnull.h into getopt.h.
28291         * modules/glob (Depends-on): Add arg-nonnull.
28292         (Makefile.am): Insert arg-nonnull.h into glob.h.
28293         * modules/iconv_open (Depends-on): Add arg-nonnull.
28294         (Makefile.am): Insert arg-nonnull.h into iconv.h.
28295         * modules/inttypes (Depends-on): Add arg-nonnull.
28296         (Makefile.am): Insert arg-nonnull.h into inttypes.h.
28297         * modules/locale (Depends-on): Add arg-nonnull.
28298         (Makefile.am): Insert arg-nonnull.h into locale.h.
28299         * modules/math (Depends-on): Add arg-nonnull.
28300         (Makefile.am): Insert arg-nonnull.h into math.h.
28301         * modules/netdb (Depends-on): Add arg-nonnull.
28302         (Makefile.am): Insert arg-nonnull.h into netdb.h.
28303         * modules/search (Depends-on): Add arg-nonnull.
28304         (Makefile.am): Insert arg-nonnull.h into search.h.
28305         * modules/signal (Depends-on): Add arg-nonnull.
28306         (Makefile.am): Insert arg-nonnull.h into signal.h.
28307         * modules/spawn (Depends-on): Add arg-nonnull.
28308         (Makefile.am): Insert arg-nonnull.h into spawn.h.
28309         * modules/stdio (Depends-on): Add arg-nonnull.
28310         (Makefile.am): Insert arg-nonnull.h into stdio.h.
28311         * modules/stdlib (Depends-on): Add arg-nonnull.
28312         (Makefile.am): Insert arg-nonnull.h into stdlib.h.
28313         * modules/string (Depends-on): Add arg-nonnull.
28314         (Makefile.am): Insert arg-nonnull.h into string.h.
28315         * modules/strings (Depends-on): Add arg-nonnull.
28316         (Makefile.am): Insert arg-nonnull.h into strings.h.
28317         * modules/sys_socket (Depends-on): Add arg-nonnull.
28318         (Makefile.am): Insert arg-nonnull.h into sys/socket.h.
28319         * modules/sys_stat (Depends-on): Add arg-nonnull.
28320         (Makefile.am): Insert arg-nonnull.h into sys/stat.h.
28321         * modules/sys_time (Depends-on): Add arg-nonnull.
28322         (Makefile.am): Insert arg-nonnull.h into sys/time.h.
28323         * modules/sys_times (Depends-on): Add arg-nonnull.
28324         (Makefile.am): Insert arg-nonnull.h into sys/times.h.
28325         * modules/sys_utsname (Depends-on): Add arg-nonnull.
28326         (Makefile.am): Insert arg-nonnull.h into sys/utsname.h.
28327         * modules/time (Depends-on): Add arg-nonnull.
28328         (Makefile.am): Insert arg-nonnull.h into time.h.
28329         * modules/unistd (Depends-on): Add arg-nonnull.
28330         (Makefile.am): Insert arg-nonnull.h into unistd.h.
28331         * modules/wchar (Depends-on): Add arg-nonnull.
28332         (Makefile.am): Insert arg-nonnull.h into wchar.h.
28333         * modules/argv-iter (Depends-on): Add arg-nonnull.
28334         * tests/test-canonicalize.c (null_ptr): New function.
28335         (main): Use it.
28336         * tests/test-canonicalize-lgpl.c (null_ptr): New function.
28337         (main): Use it.
28338         * tests/test-memmem.c (null_ptr): New function.
28339         (main): Use it.
28340         Reported by Jim Meyering.
28341
28342 2009-12-10  Bruno Haible  <bruno@clisp.org>
28343
28344         Use spaces for indentation, not tabs.
28345         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
28346         * m4/*.m4: Untabify.
28347         * build-aux/*.h: Untabify.
28348         * tests/**/*.[hc]: Untabify.
28349         * README: New section "Indent with spaces, not TABs", based on
28350         coreutils/HACKING and comments by Pádraig Brady and Paolo Bonzini.
28351         * NEWS: Mention the change.
28352
28353 2009-12-10  Bruno Haible  <bruno@clisp.org>
28354
28355         pty test: Fix link error.
28356         * modules/pty-tests (Makefile.am): Add the default LDADD value to
28357         test_pty_LDADD.
28358
28359 2009-12-07  Simon Josefsson  <simon@josefsson.org>
28360
28361         * modules/pty: New file.
28362         * modules/pty-tests: New file.
28363         * m4/pty.m4: New file.
28364         * tests/test-pty.c: New file.
28365         * doc/glibc-headers/pty.texi: Modified.
28366         * doc/glibc-functions/forkpty.texi: Modified.
28367         * doc/glibc-functions/openpty.texi: Modified.
28368
28369 2009-12-10  Bruno Haible  <bruno@clisp.org>
28370
28371         Avoid syntax error in C++ mode.
28372         * lib/stdio.in.h (rename): Don't use parameter name 'new'.
28373
28374 2009-12-10  Bruno Haible  <bruno@clisp.org>
28375
28376         Use sed with option -e.
28377         * gnulib-tool (func_version, func_emit_copyright_notice,
28378         func_emit_initmacro_end, func_import, func_create_testdir): Pass
28379         option -e to sed.
28380         * modules/link-warning (Makefile.am): Likewise.
28381
28382 2009-12-10  Jim Meyering  <meyering@redhat.com>
28383
28384         mgetgroups: do not write bytes beyond end of malloc'd buffer
28385         * lib/mgetgroups.c: Fix an off-by-one error.  When we have no
28386         username, we call getgroups with a one-element-shorter buffer,
28387         but still told it the length was original, max_n_groups.
28388
28389 2009-12-09  Eric Blake  <ebb9@byu.net>
28390
28391         cloexec: relax license
28392         * modules/cloexec (Maintainer): Add myself.
28393         (License): Use LGPL, not GPL.
28394
28395         link-warning: optimize generation
28396         * modules/link-warning (Makefile.am): Reduce process usage.
28397
28398 2009-12-09  Bruno Haible  <bruno@clisp.org>
28399
28400         * doc/posix-functions/unsetenv.texi: Mention Solaris 10 bug for which a
28401         workaround was added on 2009-11-17.
28402
28403 2009-12-09  Jim Meyering  <meyering@redhat.com>
28404             Bruno Haible  <bruno@clisp.org>
28405
28406         link-warning: Allow extra lines at the top of build-aux/link-warning.h.
28407         * modules/link-warning (Makefile.am): Make the comment-removing sed
28408         command more robust in the face of bootstrap-prepended comment lines.
28409
28410 2009-12-09  Bruno Haible  <bruno@clisp.org>
28411
28412         * lib/mgetgroups.c (mgetgroups): Don't remove duplicates if there is at
28413         most one group.
28414
28415 2009-12-09  Simon Josefsson <simon@josefsson.org>
28416             Bruno Haible  <bruno@clisp.org>
28417
28418         * build-aux/link-warning.h: Add copyright notice.
28419         * modules/link-warning (Makefile.am): Generate link-warning.h from
28420         build-aux/link-warning.h. Update LINK_WARNING_H accordingly.
28421         * NEWS: Mention change in link-warning module.
28422         * modules/arpa_inet (Makefile.am): Add dependency to arpa/inet.h.
28423         * modules/dirent (Makefile.am): Add dependency to dirent.h.
28424         * modules/fcntl-h (Makefile.am): Add dependency to fcntl.h.
28425         * modules/getopt-posix (Makefile.am): Add dependency to getopt.h.
28426         * modules/inttypes (Makefile.am): Add dependency to inttypes.h.
28427         * modules/math (Makefile.am): Add dependency to math.h.
28428         * modules/search (Makefile.am): Add dependency to search.h.
28429         * modules/signal (Makefile.am): Add dependency to signal.h.
28430         * modules/spawn (Makefile.am): Add dependency to spawn.h.
28431         * modules/stdio (Makefile.am): Add dependency to stdio.h.
28432         * modules/stdlib (Makefile.am): Add dependency to stdlib.h.
28433         * modules/string (Makefile.am): Add dependency to string.h.
28434         * modules/strings (Makefile.am): Add dependency to strings.h.
28435         * modules/sys_ioctl (Makefile.am): Add dependency to sys/ioctl.h.
28436         * modules/sys_select (Makefile.am): Add dependency to sys/select.h.
28437         * modules/sys_socket (Makefile.am): Add dependency to sys/socket.h.
28438         * modules/sys_stat (Makefile.am): Add dependency to sys/stat.h.
28439         * modules/sys_times (Makefile.am): Add dependency to sys/times.h.
28440         * modules/sys_utsname (Makefile.am): Add dependency to sys/utsname.h.
28441         * modules/sys_wait (Makefile.am): Add dependency to sys/wait.h.
28442         * modules/unistd (Makefile.am): Add dependency to unistd.h.
28443         * modules/wchar (Makefile.am): Add dependency to wchar.h.
28444
28445 2009-12-09  Bruno Haible  <bruno@clisp.org>
28446
28447         fchdir: Optimize away rpl_fstat when possible.
28448         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set REPLACE_FSTAT only together with
28449         REPLACE_OPEN_DIRECTORY.
28450         * lib/fchdir.c (rpl_fstat): Define only when REPLACE_OPEN_DIRECTORY.
28451
28452 2009-12-09  Bruno Haible  <bruno@clisp.org>
28453
28454         * lib/fchdir.c: Update comment.
28455
28456 2009-12-09  Bruno Haible  <bruno@clisp.org>
28457
28458         * lib/cloexec.c (set_cloexec_flag): Clarify intent of dup2 call.
28459
28460 2009-12-08  Eric Blake  <ebb9@byu.net>
28461
28462         fchdir: avoid memory leak on re-registration.
28463         * lib/fchdir.c (ensure_dirs_slot): Avoid memory leak.
28464
28465 2009-12-08  Jim Meyering  <meyering@redhat.com>
28466
28467         init.sh: avoid Solaris 10 /bin/sh portability problem
28468         Solaris 10's /bin/sh does not pass '.' arguments 2.. to the
28469         sourced script:
28470           $ printf 'echo "$@"\n' > f; /bin/sh -c '. ./f bar'
28471           $ printf 'echo "$@"\n' > f; /bin/bash -c '. ./f bar'
28472           bar
28473         tests/init.sh relied on that, accepting a --set-path=DIR argument,
28474         and two tests used that idiom.
28475         * tests/init.sh: Update suggested usage comments.
28476         (path_prepend_): New function, to be used in place
28477         of the --src-path=DIR option.
28478         (setup_): Move PATH-prepending code into path_prepend_.
28479         * tests/test-pread.sh: Adapt to new usage.
28480         * tests/test-xalloc-die.sh: Likewise.
28481
28482 2009-12-08  Simon Josefsson  <simon@josefsson.org>
28483
28484         * doc/gnulib.texi (Glibc pty.h): Add.
28485         * doc/glibc-functions/forkpty.texi: Add.
28486         * doc/glibc-functions/openpty.texi: Add.
28487         Suggested by Bruno Haible.
28488
28489 2009-12-08  Eric Blake  <ebb9@byu.net>
28490
28491         fchdir: fix logic bugs
28492         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Fix logic bug.
28493         * tests/test-fchdir.c (main): Enhance test.
28494         * lib/fchdir.c (rpl_fstat): Always provide if fchdir replacement
28495         is in use.
28496
28497         dup2: fix logic bugs
28498         * lib/dup2.c (dup2): Fix logic bugs.  Use HAVE_DUP2 rather than
28499         REPLACE_DUP2 to decide when rpl_dup2 is needed.
28500         * m4/dup2.m4 (gl_REPLACE_DUP2): Only define REPLACE_DUP2 when dup2
28501         exists.
28502         (gl_FUNC_DUP2): Drop unneeded AC_DEFINE.
28503
28504 2009-12-07  Eric Blake  <ebb9@byu.net>
28505
28506         unlink: fix m4 detection
28507         * m4/unlink.m4 (gl_FUNC_UNLINK): Include correct header.
28508
28509         unistd-safer: add unit test
28510         * modules/unistd-safer-tests: New file.
28511         * tests/test-dup-safer.c: Likewise.
28512         * tests/test-cloexec.c (setmode): Avoid compiler warning.
28513         * tests/test-dup2.c (setmode): Likewise.
28514         * lib/cloexec.c (dup_cloexec): Fix mingw compile error.
28515
28516         cloexec: preserve text vs. binary across dup_cloexec
28517         * lib/cloexec.c (dup_cloexec) [W32]: Query and use translation
28518         mode.
28519         * modules/dup2-tests (Depends-on): Add binary-io.
28520         * modules/cloexec-tests (Depends-on): Likewise.
28521         * tests/test-dup2.c (setmode, is_mode): New helpers.
28522         (main): Add tests that translation mode is preserved.
28523         * tests/test-cloexec.c (setmode, is_mode, main): Likewise.
28524         Reported by Bruno Haible.
28525
28526         mgetgroups: reduce duplicate listings
28527         * lib/mgetgroups.c (mgetgroups): Reduce duplicates from the
28528         resulting array.
28529         * tests/test-chown.h (test_chown): Simplify client.
28530         * tests/test-lchown.h (test_lchown): Likewise.
28531
28532 2009-12-06  Bruno Haible  <bruno@clisp.org>
28533
28534         * lib/cloexec.c (dup_cloexec): Fix handling of _gl_register_dup return
28535         value.
28536
28537 2009-12-06  Bruno Haible  <bruno@clisp.org>
28538
28539         * lib/progname.c: Include stdio.h, stdlib.h.
28540         (set_program_name): Reject a NULL argument.
28541
28542 2009-12-05  Eric Blake  <ebb9@byu.net>
28543
28544         pipe2-safer: new module
28545         * modules/pipe2-safer: New file.
28546         * lib/unistd-safer.h (pipe2_safer): New prototype.
28547         * lib/unistd--.h (pipe2): New wrapper.
28548         * lib/pipe-safer.c (pipe2_safer): New function.
28549         * modules/pipe (Depends-on): Add pipe2-safer.
28550         * lib/pipe.c (create_pipe) [WIN32]: Let pipe2_safer do the work.
28551
28552         stdlib-safer: preserve cloexec flag for mkostemp[s]
28553         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer): Use new
28554         fd_safer_flag.
28555
28556         unistd-safer: allow preservation of cloexec status via flag
28557         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): New
28558         prototypes.
28559         * lib/dup-safer.c (dup_safer_flag): New function.
28560         * lib/fd-safer.c (fd_safer_flag): Likewise.
28561         * modules/cloexec (configure.ac): Set witness.
28562
28563         test-dup2: enhance test
28564         * modules/dup2-tests (Depends-on): Add cloexec.
28565         * tests/test-dup2.c (main): Enhance test.
28566
28567         cloexec: add dup_cloexec
28568         * lib/cloexec.h (dup_cloexec): New prototype.  Add copyright
28569         header and comments.
28570         * lib/cloexec.c (set_cloexec_flag): Add comments.
28571         (dup_cloexec): New function, with mingw implementation borrowed
28572         from...
28573         * lib/w32spawn.h (dup_noinherit): ...here.
28574         * modules/execute (Depends-on): Add cloexec.
28575         * modules/pipe (Depends-on): Likewise.
28576         * modules/cloexec (Depends-on): Add dup2.
28577         * modules/cloexec-tests (Files): New file.
28578         * tests/test-cloexec.c: Likewise.
28579
28580         test-xalloc-die: fix test for mingw
28581         * modules/xalloc-die-tests (Files): Add tests/init.sh.
28582         * tests/test-xalloc-die.sh: Rewrite to use init.sh.  Strip
28583         directory and .exe suffix off argv[0] output.
28584
28585         test-fseeko: fix test for mingw
28586         * tests/test-fseeko.c (fseek): Redefine GL_LINK_WARNING, rather
28587         than undefining fseek, so test will pass on mingw.
28588
28589 2009-12-05  Bruno Haible  <bruno@clisp.org>
28590
28591         * lib/progname.h (set_program_name): Clarify specification.
28592         * lib/progname.c (set_program_name): Likewise.
28593         Reported by Jim Meyering.
28594
28595 2009-12-05  Jim Meyering  <meyering@redhat.com>
28596
28597         maint.mk: backslash-escape parens in default regexp
28598         * top/maint.mk (news-check-regexp): Now that we're using grep -E,
28599         backslash-escape the literal parentheses.
28600
28601         maint.mk: news-date-check: use grep -E
28602         * top/maint.mk (today): Define a Make variable, not a...
28603         (news-date-check): ...shell variable.
28604         (news-date-regexp): Use the Make variable.
28605         Use grep's -E option.  Change the failing diagnostic to mention
28606         the variable, $(news-date-regexp).
28607
28608 2009-12-04  Alfred M. Szmidt  <ams@gnu.org>
28609
28610         maintainer-makefile: allow customization of NEWS entry format
28611         * top/maint.mk (news-date-regexp): New overridable variable.
28612         (news-date-check): Use it.
28613
28614 2009-12-04  Eric Blake  <ebb9@byu.net>
28615
28616         mgetgroups: add xgetgroups, and avoid ENOSYS failures
28617         * lib/mgetgroups.h (xgetgroups): New prototype.
28618         * lib/mgetgroups.c (xgetgroups): New wrapper.
28619         (mgetgroups): Handle ENOSYS.
28620         * modules/mgetgroups (Depends-on): Add realloc.
28621         Reported by Scott Harrison <scott.gnu.2009@scottrix.co.uk>.
28622
28623         mgetgroups: avoid argument promotion issues with -1
28624         * lib/mgetgroups.c (mgetgroups): A cast is required when checking
28625         for invalid gid_t.
28626         * tests/test-chown.h (getegid, test_chown): Likewise.
28627         * tests/test-lchown.h (getegid, test_lchown): Likewise.
28628
28629 2009-12-03  Paolo Bonzini  <bonzini@gnu.org>
28630
28631         exclude: Fix header file problems.
28632         * lib/exclude.h: Add multiple inclusion guards and include stdbool.h.
28633
28634 2009-12-01  Jim Meyering  <meyering@redhat.com>
28635
28636         fts: fts_open: do not let an empty string cause immediate failure
28637         This is required in support of GNU rm, for which the command
28638         "rm A '' B" must process and remove both A and B, in spite of
28639         the empty string argument.
28640         * lib/fts.c (fts_open): Do not let the presence of an empty string
28641         cause fts_open to fail immediately.  Most fts-using tools must be
28642         able to process all arguments, in order, and can be expected to
28643         diagnose such arguments themselves.
28644
28645 2009-11-30  Eric Blake  <ebb9@byu.net>
28646
28647         utimens: fix compilation error
28648         * lib/utimens.c (lutimens) [!HAVE_UTIMENSAT && HAVE_LUTIMES]:
28649         Declare variable at right scope.
28650
28651 2009-11-29  Jim Meyering  <meyering@redhat.com>
28652
28653         bootstrap: handle perl-5.11's changed --version output
28654         * build-aux/bootstrap (get_version): Handle perl separately,
28655         since perl-5.11's --version output is different.
28656
28657 2009-11-28  Jim Meyering  <meyering@redhat.com>
28658
28659         userspec: depend on the inttostr module, too
28660         * modules/userspec (Depends-on): Add inttostr.
28661
28662         userspec: disallow an ID that maps to (uid_t)-1 or (gid_t)-1
28663         * lib/userspec.c (parse_with_separator): Do not accept a user ID
28664         number of MAXUID when it evaluates to (uid_t) -1.
28665         Likewise for group ID.  Reported by Matt McCutchen in
28666         <http://savannah.gnu.org/bugs/?28113>
28667
28668         userspec: reformat to use spaces, not TABs
28669         * lib/userspec.c: Expand TABs to spaces.
28670         Add Emacs' "indent-tabs-mode: nil" hint.
28671
28672 2009-11-27  Eric Blake  <ebb9@byu.net>
28673
28674         getopt-gnu: flush out another BSD bug
28675         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Test for the bug.
28676         * tests/test-getopt.c (main): Check POSIXLY_CORRECT first, to
28677         flush out BSD bug.
28678         * tests/test-getopt.h (test_getopt): End lists with NULL.
28679         * tests/test-getopt_long.h (test_getopt_long): Likewise.
28680         (test_getopt_long_posix): Enhance test.
28681         * modules/getopt-posix-tests (Depends-on): Add stdbool.
28682         * doc/glibc-functions/getopt_long.texi (getopt_long): Mention
28683         getopt-gnu.
28684         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
28685         Likewise.
28686
28687 2009-11-27  Simon Josefsson  <simon@josefsson.org>
28688
28689         * modules/idpriv-droptemp-tests (Notice): Fix text.
28690
28691 2009-11-27  Jim Meyering  <meyering@redhat.com>
28692
28693         test-xalloc-die: avoid spurious failure due to libtool argv difference
28694         In a libtool-enabled project, this test would fail due to a difference
28695         in the emitted program name, e.g.,
28696         -test-xalloc-die: memory exhausted
28697         +/tmp/.../tests/.libs/lt-test-xalloc-die: memory exhausted
28698         Use program to avoid that.
28699         * modules/xalloc-die-tests (Depends-on): Add progname.
28700         * tests/test-xalloc-die.c: Include progname.h".
28701         (program_name): Remove decl.
28702         (main): Call set_program_name.
28703         * tests/test-xalloc-die.sh (compare): Remove unnecessary ${EXE}.
28704
28705 2009-11-26  Richard Jones  <rjones@redhat.com>
28706
28707         w32sock: leave win32 error in place.
28708         * lib/w32sock.h (set_winsock_errno): Do not call WSASetLastError.
28709
28710 2009-11-26  Eric Blake  <ebb9@byu.net>
28711
28712         init.sh: suggest to use skip_ and fail_ functions in comments
28713         * tests/init.sh: Add a sentence.
28714
28715 2009-11-25  Bruno Haible  <bruno@clisp.org>
28716
28717         init.sh: add documentation in comments
28718         * tests/init.sh: Add some developer and user documentation.
28719
28720 2009-11-26  Jim Meyering  <meyering@redhat.com>
28721
28722         init.sh: accommodate even those who specify bogus srcdir manually
28723         * tests/init.sh: Normally, srcdir is guaranteed by automake and
28724         configure-time tests to be sanitized, so that there is no need to
28725         use "$srcdir" in Makefile rules and shell scripts.  Using $srcdir
28726         (with no double quotes) suffices.  However, since tests may be
28727         invoked manually, and since you may explicitly set srcdir to the
28728         name of a directory containing spaces, do quote its uses here.
28729         * tests/test-pread.sh: Likewise.
28730         Suggested by Bruno Haible.
28731
28732         test-pread.sh: avoid diagnostics for those who ignore SIGPIPE
28733         * tests/test-pread.sh: Write no data into the pipe, because
28734         test-pread actually reads none.  This avoids a diagnostic,
28735         "bash: echo: write error: Broken pipe", that arises in the unusual
28736         event something is ignoring SIGPIPE, and might be interpreted
28737         as some sort of failure.  Reported by Bruno Haible.
28738
28739 2009-11-25  Jim Meyering  <meyering@redhat.com>
28740
28741         test-pread: cover failure with ESPIPE and EINVAL
28742         * tests/test-pread.c (main): Test for failure, too.
28743         * tests/test-pread.sh: Invoke with stdin on a pipe.
28744         Suggested by Eric Blake.
28745
28746         pread: improvement and fix
28747         * modules/pread (Depends-on): Depend on lseek, for portability to
28748         e.g., mingw.  Suggested by Eric Blake.
28749         * lib/pread.c (__libc_read): Define.  Reported by Richard W.M. Jones.
28750
28751         unistd.in.h: correct declaration of pread
28752         * lib/unistd.in.h: Correct type of "buf" parameter: void*, not char*
28753         Reported by Richard W.M. Jones.
28754
28755         test-pread.sh: distribute the test script
28756         * modules/pread-tests (Files): Include test-pread.sh.
28757
28758         test-pread.sh: clean up
28759         * tests/test-pread.sh: Don't refer to $builddir. Just use equivalent ".".
28760         * modules/pread-tests (TESTS_ENVIRONMENT): Don't export builddir.
28761         That is unnecessary, since it's always ".".
28762         Suggestion from Eric Blake.
28763
28764         test-pread.sh: make executable
28765         * tests/test-pread.sh: Set executable bit.
28766         Reported by Eric Blake.
28767
28768         correct typo in test-pread.sh
28769         * tests/test-pread.sh: Add #! line.
28770
28771         test pread
28772         * tests/test-pread.c: New file.
28773         * tests/test-pread.sh: Likewise.
28774         * modules/pread-tests: Likewise.
28775
28776         pread: new module
28777         * modules/pread: New file.
28778         * lib/unistd.in.h (pread): Define/declare.
28779         * lib/pread.c (pread): New file.
28780         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define defaults.
28781         * modules/unistd (Makefile.am): Substitute witnesses.
28782         * doc/posix-functions/pread.texi (pread): Update.
28783         * MODULES.html.sh: Add pread.
28784
28785 2009-11-25  Jim Meyering  <meyering@redhat.com>
28786
28787         tests/init.sh: new file to be used via most *.sh tests
28788         * tests/init.sh: New file.
28789
28790 2009-11-25  Eric Blake  <ebb9@byu.net>
28791
28792         utimens: work around older Linux failure with symlinks
28793         * lib/utimens.c (lutimensat_works_really): New variable.
28794         (fdutimens, lutimens): Use it to manage kernels that support
28795         nanosecond times on files, but not on symlinks.
28796         Reported by OndÅ™ej Vašík.
28797
28798         utimes: fix configure grammar
28799         * m4/utimes.m4 (gl_FUNC_UTIMES): Delete spurious word.
28800
28801 2009-11-25  Paolo Bonzini  <bonzini@gnu.org>
28802
28803         regex: Fix fastmap for multibyte character ranges.
28804         * lib/regcomp.c (re_compute_fastmap_iter): Add all multibyte lead
28805         characters when a multibyte character range is included.
28806
28807 2009-11-22  Andy Wingo  <wingo@pobox.com>
28808
28809         version-etc: work also with AM_INIT_AUTOMAKE's no-define option
28810         * lib/version-etc.c [!defined PACKAGE]: Define to PACKAGE_TARNAME.
28811
28812 2009-11-24  Bruno Haible  <bruno@clisp.org>
28813
28814         doc: Most *_l functions exist in MacOS X 10.5.
28815         * doc/posix-functions/duplocale.texi: Update platforms list.
28816         * doc/posix-functions/freelocale.texi: Likewise.
28817         * doc/posix-functions/newlocale.texi: Likewise.
28818         * doc/posix-functions/uselocale.texi: Likewise.
28819         * doc/posix-functions/isalnum_l.texi: Likewise.
28820         * doc/posix-functions/isalpha_l.texi: Likewise.
28821         * doc/posix-functions/isblank_l.texi: Likewise.
28822         * doc/posix-functions/iscntrl_l.texi: Likewise.
28823         * doc/posix-functions/isdigit_l.texi: Likewise.
28824         * doc/posix-functions/isgraph_l.texi: Likewise.
28825         * doc/posix-functions/islower_l.texi: Likewise.
28826         * doc/posix-functions/isprint_l.texi: Likewise.
28827         * doc/posix-functions/ispunct_l.texi: Likewise.
28828         * doc/posix-functions/isspace_l.texi: Likewise.
28829         * doc/posix-functions/isupper_l.texi: Likewise.
28830         * doc/posix-functions/iswalnum_l.texi: Likewise.
28831         * doc/posix-functions/iswalpha_l.texi: Likewise.
28832         * doc/posix-functions/iswblank_l.texi: Likewise.
28833         * doc/posix-functions/iswcntrl_l.texi: Likewise.
28834         * doc/posix-functions/iswctype_l.texi: Likewise.
28835         * doc/posix-functions/iswdigit_l.texi: Likewise.
28836         * doc/posix-functions/iswgraph_l.texi: Likewise.
28837         * doc/posix-functions/iswlower_l.texi: Likewise.
28838         * doc/posix-functions/iswprint_l.texi: Likewise.
28839         * doc/posix-functions/iswpunct_l.texi: Likewise.
28840         * doc/posix-functions/iswspace_l.texi: Likewise.
28841         * doc/posix-functions/iswupper_l.texi: Likewise.
28842         * doc/posix-functions/iswxdigit_l.texi: Likewise.
28843         * doc/posix-functions/isxdigit_l.texi: Likewise.
28844         * doc/posix-functions/nl_langinfo_l.texi: Likewise.
28845         * doc/posix-functions/strcasecmp_l.texi: Likewise.
28846         * doc/posix-functions/strcoll_l.texi: Likewise.
28847         * doc/posix-functions/strfmon_l.texi: Likewise.
28848         * doc/posix-functions/strftime_l.texi: Likewise.
28849         * doc/posix-functions/strncasecmp_l.texi: Likewise.
28850         * doc/posix-functions/strxfrm_l.texi: Likewise.
28851         * doc/posix-functions/tolower_l.texi: Likewise.
28852         * doc/posix-functions/toupper_l.texi: Likewise.
28853         * doc/posix-functions/towctrans_l.texi: Likewise.
28854         * doc/posix-functions/towlower_l.texi: Likewise.
28855         * doc/posix-functions/towupper_l.texi: Likewise.
28856         * doc/posix-functions/wcscoll_l.texi: Likewise.
28857         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
28858         * doc/posix-functions/wctrans_l.texi: Likewise.
28859         * doc/posix-functions/wctype_l.texi: Likewise.
28860         * doc/glibc-functions/strptime_l.texi: Likewise.
28861         * doc/glibc-functions/strtod_l.texi: Likewise.
28862         * doc/glibc-functions/strtof_l.texi: Likewise.
28863         * doc/glibc-functions/strtol_l.texi: Likewise.
28864         * doc/glibc-functions/strtold_l.texi: Likewise.
28865         * doc/glibc-functions/strtoll_l.texi: Likewise.
28866         * doc/glibc-functions/strtoul_l.texi: Likewise.
28867         * doc/glibc-functions/strtoull_l.texi: Likewise.
28868         * doc/glibc-functions/wcsftime_l.texi: Likewise.
28869         * doc/glibc-functions/wcstod_l.texi: Likewise.
28870         * doc/glibc-functions/wcstof_l.texi: Likewise.
28871         * doc/glibc-functions/wcstol_l.texi: Likewise.
28872         * doc/glibc-functions/wcstold_l.texi: Likewise.
28873         * doc/glibc-functions/wcstoll_l.texi: Likewise.
28874         * doc/glibc-functions/wcstoul_l.texi: Likewise.
28875         * doc/glibc-functions/wcstoull_l.texi: Likewise.
28876
28877 2009-11-24  Bruno Haible  <bruno@clisp.org>
28878
28879         duplocale: Fix logic bug.
28880         * lib/duplocale.c: Don't include <langinfo.h>.
28881         (_NL_LOCALE_NAME): Remove macro.
28882         (rpl_duplocale): Use setlocale instead of nl_langinfo.
28883         * tests/test-duplocale.c (main): Also test duplocale after uselocale.
28884
28885 2009-11-23  Jim Meyering  <meyering@redhat.com>
28886
28887         test-update-copyright: don't hard-code /usr/bin/perl
28888         * tests/test-update-copyright.sh (YEAR): Use date +%Y, rather than
28889         perl to print the current year.  Gilles Espinasse reported that
28890         the replaced use of perl was hard-coded as /usr/bin/perl.
28891
28892 2009-11-23  Bruno Haible  <bruno@clisp.org>
28893
28894         duplocale: Add support for glibc 2.3.x.
28895         * lib/duplocale.c (rpl_duplocale): Add fallback code for glibc 2.3.x.
28896
28897 2009-11-22  Bruno Haible  <bruno@clisp.org>
28898
28899         vasnprintf: Tiny optimization.
28900         * lib/vasnprintf.c (decimal_point_char): Choose the fast path also on
28901         MacOS X.
28902
28903 2009-11-22  Bruno Haible  <bruno@clisp.org>
28904
28905         Tests for module 'duplocale'.
28906         * modules/duplocale-tests: New file.
28907         * tests/test-duplocale.c: New file.
28908
28909         New module 'duplocale'.
28910         * m4/duplocale.m4: New file.
28911         * lib/locale.in.h (duplocale): New declaration.
28912         * lib/duplocale.c: New file.
28913         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_MODULE_INDICATOR,
28914         gl_LOCALE_H_DEFAULTS): New macros.
28915         (gl_LOCALE_H): Require gl_LOCALE_H_DEFAULTS. Invoke
28916         gl_CHECK_NEXT_HEADERS unconditionally. Invoke gl_REPLACE_LOCALE_H.
28917         * modules/locale (Makefile.am): Substitute also GNULIB_DUPLOCALE,
28918         REPLACE_DUPLOCALE.
28919         * modules/duplocale: New file.
28920         * doc/posix-functions/duplocale.texi: Mention the glibc bug.
28921
28922 2009-11-22  Bruno Haible  <bruno@clisp.org>
28923
28924         * modules/locale-tests (configure.ac): Test for newlocale function.
28925         * tests/test-locale.c: When the system has extended locale functions,
28926         verify that <locale.h> defines locale_t and LC_GLOBAL_LOCALE.
28927
28928         locale: Make locale_t available when possible.
28929         * lib/locale.in.h: Include <xlocale.h> when it exists.
28930         * m4/locale_h.m4 (gl_LOCALE_H): Check for <xlocale.h> and arrange to
28931         replace <locale.h> if it does not define locale_t but <xlocale.h> does.
28932         * modules/locale (Depends-on): Add extensions.
28933         (Makefile.am): Also substitute HAVE_XLOCALE_H.
28934         * doc/posix-headers/locale.texi: Document the problem with locale_t.
28935
28936 2009-11-22  Bruno Haible  <bruno@clisp.org>
28937
28938         Add comments.
28939         * m4/dirent_h.m4 (gl_DIRENT_H): Add comment about gl_CHECK_NEXT_HEADERS
28940         invocation.
28941         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
28942         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
28943         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
28944
28945 2009-11-22  Bruno Haible  <bruno@clisp.org>
28946
28947         error: account for the possibility of freopen (stdout).
28948         * lib/error.c: Include <unistd.h>.
28949         (flush_stdout): New function, extracted from error and error_at_line.
28950         Determine stdout's fd dynamically.
28951         (error, error_at_line): Invoke flush_stdout.
28952         * m4/error.m4 (gl_PREREQ_ERROR): Require AC_C_INLINE.
28953         * modules/error (Depends-on): Add unistd.
28954
28955 2009-11-22  Bruno Haible  <bruno@clisp.org>
28956
28957         diffseq: Add comment.
28958         * lib/diffseq.h (IF_LINT): Add comment about pitfall.
28959
28960 2009-11-22  Jim Meyering  <meyering@redhat.com>
28961
28962         c-stack: avoid defining an unused static function
28963         * lib/c-stack.c (find_stack_direction): Do not define this function
28964         when it will not be used.
28965
28966         diffseq: avoid spurious gcc warnings
28967         * lib/diffseq.h (IF_LINT2): Define.
28968         (compareseq): Use it to initialize two members of "part".
28969         This avoids two used-uninitialized warnings.
28970
28971 2009-11-21  Jim Meyering  <meyering@redhat.com>
28972
28973         c-stack: avoid "ignoring return value of `write'" warning
28974         * lib/c-stack.c: Include "ignore-value.h".
28975         (die): Explicitly ignore each write return value.
28976         * modules/c-stack (Depends-on): Add ignore-value.
28977
28978 2009-11-21  Bruno Haible  <bruno@clisp.org>
28979
28980         diffseq: reduce scope of variable 'best'.
28981         * lib/diffseq.h (diag) [USE_HEURISTIC]: Reduce scope of 'best'
28982         variable, earlier used for two different purposes.
28983
28984 2009-11-21  Jim Meyering  <meyering@redhat.com>
28985
28986         diffseq: remove useless assignment to "best"
28987         * lib/diffseq.h (diag) [USE_HEURISTIC]: Remove useless "best = 0"
28988         assignment.  At that point "best" is already guaranteed to be zero.
28989
28990 2009-11-20  Eric Blake  <ebb9@byu.net>
28991
28992         build: mention ftp redirector in release announcements
28993         * top/maint.mk (gnu_rel_host, url_dir_list): Provide defaults for
28994         values that used to come from cfg.mk; mention FTP redirect URL.
28995         * build-aux/announce-gen: Mention the mirror list.
28996         Suggested by Karl Berry.
28997
28998         nanosleep: improve port to mingw
28999         * lib/nanosleep.c (rpl_nanosleep): Reject invalid arguments.
29000         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Incorporate LIBSOCKET into
29001         LIB_NANOSLEEP, but only when needed.
29002         * modules/select (Link): Document LIBSOCKET.
29003         * m4/select.m4 (gl_FUNC_SELECT): Ensure LIBSOCKET is defined early
29004         enough.
29005
29006         nanosleep: work around cygwin bug
29007         * lib/nanosleep.c (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]:
29008         Fix logic bug when nanosleep fails.  Work around cygwin 1.5.x
29009         bug.
29010         (getnow): Delete, not needed.
29011         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): No longer require
29012         LIB_CLOCK_GETTIME.
29013         * modules/nanosleep (Depends-on): Add intprops and verify.  Drop
29014         clock-time, gettime.
29015         * doc/posix-functions/nanosleep.texi (nanosleep): Document the
29016         bug.
29017         * modules/nanosleep-tests: New test.
29018         * tests/test-nanosleep.c: New file.
29019
29020         sleep: work around cygwin bug
29021         * lib/sleep.c (rpl_sleep): Work around the bug.
29022         * m4/sleep.m4 (gl_FUNC_SLEEP): Detect the bug.
29023         (gl_PREREQ_SLEEP): Delete unused macro.
29024         * modules/sleep (Depends-on): Add verify.
29025         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
29026         * modules/unistd (Makefile.am): Substitute witness.
29027         * lib/unistd.in.h (sleep): Update prototype.
29028         * doc/posix-functions/sleep.texi (sleep): Document the bug.
29029         * tests/test-sleep.c (main) [HAVE_DECL_ALARM]: Test it.
29030         * modules/sleep-tests (Depends-on): Check for alarm.
29031
29032 2009-11-20  Jim Meyering  <meyering@redhat.com>
29033
29034         maint.mk: improve sc_prohibit_magic_number_exit
29035         * top/maint.mk (sc_prohibit_magic_number_exit): Tighten regexp
29036         so it does not match uses like System.exit(1).
29037         Add comments showing how to correct all offenders.
29038
29039 2009-11-19  Eric Blake  <ebb9@byu.net>
29040
29041         xalloc-die-tests: add missing library
29042         * modules/xalloc-die-tests (Makefile.am): Add LDADD line.
29043
29044         test-xvasprintf: silence compiler warnings
29045         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Mask
29046         empty string from gcc.
29047
29048 2009-11-19  Jim Meyering  <meyering@redhat.com>
29049
29050         xfreopen: new module, from coreutils
29051         * modules/xfreopen: New module.
29052         * lib/xfreopen.c: New file.
29053         * lib/xfreopen.h: New file.
29054         * MODULES.html.sh (File stream based Input/Output"): Add it.
29055
29056 2009-11-19  Eric Blake  <ebb9@byu.net>
29057
29058         manywarnings: depend on warnings
29059         * modules/manywarnings (Depends-on): Add warnings.
29060
29061         build: avoid compiler warnings
29062         * lib/select.c (rpl_select): Delete unused variable.
29063         * lib/setsockopt.c (rpl_setsockopt): Avoid incompatible pointer.
29064
29065 2009-11-18  Eric Blake  <ebb9@byu.net>
29066
29067         tests: avoid false negative with --with-packager
29068         * tests/test-version-etc.sh: Discard packager information.
29069         * tests/test-argp-version-etc-1.sh: Likewise.
29070         Reported by Mike Frysinger.
29071
29072         utimens: fix regression on Solaris
29073         * m4/utimens.m4 (gl_UTIMENS): Check for BSD bug.
29074         * lib/utimens.c (fdutimens): Revert 2009-11-08 change; Solaris 10
29075         can only change fd timestamps via futimesat.  Instead, use an
29076         additional witness macro to avoid BSD bug.
29077         Reported by Jim Meyering.
29078
29079 2009-11-17  Eric Blake  <ebb9@byu.net>
29080
29081         usleep: use it to simplify tests
29082         * modules/stat-time-tests (Depends-on): Add usleep.
29083         (configure.ac): Drop usleep check.
29084         * modules/chown-tests (Depends-on, configure.ac): Likewise.
29085         * modules/lchown-tests (Depends-on, configure.ac): Likewise.
29086         * modules/fdutimensat-tests (Depends-on, configure.ac): Likewise.
29087         * modules/futimens-tests (Depends-on, configure.ac): Likewise.
29088         * modules/openat-tests (Depends-on, configure.ac): Likewise.
29089         * modules/utimens-tests (Depends-on, configure.ac): Likewise.
29090         * modules/utimensat-tests (Depends-on, configure.ac): Likewise.
29091         * modules/pipe-filter-gi-tests (Depends-on, configure.ac):
29092         Likewise.
29093         * tests/test-chown.h (nap): Rely on nicer usleep semantics.
29094         * tests/test-lchown.h (nap): Likewise.
29095         * tests/test-pipe-filter-gi2-main.c (small_nap): Likewise.
29096         * tests/test-stat-time.c (nap): Likewise.
29097         * tests/test-utimens-common.h (nap): Update comments.
29098
29099         usleep: new module
29100         * modules/usleep: New file.
29101         * m4/usleep.m4 (gl_FUNC_USLEEP): Likewise.
29102         * lib/usleep.c (usleep): Likewise.
29103         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
29104         * modules/unistd (Makefile.am): Substitute witnesses.
29105         * lib/unistd.in.h (usleep): Add declaration.
29106         * doc/pastposix-functions/usleep.texi (usleep): Document this.
29107         * MODULES.html.sh (Date and time): Likewise.
29108         * modules/usleep-tests (Depends-on): New test.
29109         * tests/test-usleep.c: New file.
29110
29111         chown: work around OpenBSD bug
29112         * lib/chown.c (rpl_chown): Work around the bug.
29113         * lib/lchown.c (rpl_lchown): Attempt to do likewise.
29114         * m4/chown.m4 (gl_FUNC_CHOWN): Test for ctime bug.
29115         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for lchmod.
29116         * modules/chown (Depends-on): Add stdbool.
29117         * modules/lchown (Depends-on): Likewise.
29118         * doc/posix-functions/chown.texi (chown): Document the bug.
29119         * doc/posix-functions/lchown.texi (lchown): Likewise.
29120         * tests/test-lchown.h (test_chown): Relax test.
29121
29122         mkstemp: avoid conflict with C++ keyword template
29123         * lib/mkdtemp.c (mkdtemp): Change spelling of template.
29124         * lib/mkostemp.c (mkostemp): Likewise.
29125         * lib/mkostemps.c (mkostemps): Likewise.
29126         * lib/mkstemp.c (mkstemp): Likewise.
29127         * lib/mkstemps.c (mkstemps): Likewise.
29128
29129         xalloc-die-tests: optimize
29130         * tests/test-xalloc-die.sh: Reduce number of processes.
29131
29132 2009-11-17  Simon Josefsson  <simon@josefsson.org>
29133
29134         * gnulib-tool: Support LGPLv3+ licenses in module files.  Tiny
29135         patch from ludo@gnu.org (Ludovic Courtès).
29136
29137 2009-11-17  Jim Meyering  <meyering@redhat.com>
29138
29139         version-etc: use proper license string
29140         * modules/version-etc (License): Use LGPL, not LGPLv3+.
29141         * modules/version-etc-fsf: Likewise.
29142
29143 2009-11-17  Simon Josefsson  <simon@josefsson.org>
29144
29145         * tests/test-xalloc-die.sh: Add license.  Check that nothing is
29146         printed to stdout.  Deal with EOL differences.
29147
29148 2009-11-17  Eric Blake  <ebb9@byu.net>
29149
29150         unsetenv: work around Solaris bug
29151         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for bug.
29152         * lib/unsetenv.c (rpl_unsetenv): Work around it.
29153         Reported by Jim Meyering.
29154
29155         vasnprintf: avoid compiler warnings
29156         * lib/vasnprintf.c (VASNPRINTF): Avoid shadowing our own local
29157         variables.
29158         * lib/printf-args.c (PRINTF_FETCHARGS): Avoid type mismatch.
29159
29160 2009-11-17  Simon Josefsson  <simon@josefsson.org>
29161
29162         * modules/xalloc-die-tests (Makefile.am): Drop XFAIL_TESTS
29163         settings since xalloc-die is no longer the self test,
29164         xalloc-die.sh is.
29165
29166 2009-11-17  Jim Meyering  <meyering@redhat.com>
29167
29168         test-xalloc-die.sh: make the code agree with the commit log
29169         * tests/test-xalloc-die.sh: Put "." at the front of $PATH, not
29170         at the end, just in case you happen to have a test-xalloc-die
29171         program in some other PATH directory.
29172
29173         test-xalloc-die.sh: fix a portability bug
29174         * tests/test-xalloc-die.sh: Do not invoke via ./test-xalloc-die.
29175         Instead, set PATH to start with "." and invoke via "test-xalloc-die".
29176         Otherwise, argv[0] (as often seen in diagnostics) would be too
29177         system-dependent, sometimes with, and sometimes without the leading "./".
29178
29179         version-etc-fsf: relax license to LGPLv3+
29180         * modules/version-etc-fsf (License): Relax license.
29181
29182 2009-11-16  Eric Blake  <ebb9@byu.net>
29183
29184         xalloc-die-tests: avoid printing null pointer
29185         * modules/xalloc-die-tests (Files, Makefile.am): Wrap execution in
29186         shell script.
29187         * tests/test-xalloc-die.c (program_name): Declare.
29188         * tests/test-xalloc-die.sh (tmpfiles): New file.
29189
29190         setenv, unsetenv: work around various bugs
29191         * lib/setenv.c (setenv) [!HAVE_SETENV]: Resync from glibc.
29192         (setenv) [HAVE_SETENV]: Work around bugs.
29193         * lib/unsetenv.c (unsetenv) [HAVE_UNSETENV]: Work around bugs.
29194         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE, gl_FUNC_UNSETENV): Check
29195         for bugs.
29196         (gl_FUNC_SETENV): Write in terms of gl_FUNC_SETENV_SEPARATE.
29197         * m4/environ.m4 (gl_ENVIRON): Avoid expand-before-require.
29198         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Update defaults.
29199         * modules/stdlib (Makefile.am): Update substitutions.
29200         * lib/stdlib.in.h (setenv, unsetenv): Update prototypes.
29201         * doc/posix-functions/setenv.texi (setenv): Document the bugs.
29202         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
29203         * modules/setenv-tests: New test.
29204         * modules/unsetenv-tests: Likewise.
29205         * tests/test-setenv.c: New file.
29206         * tests/test-unsetenv.c: Likewise.
29207
29208 2009-11-16  Jim Meyering  <meyering@redhat.com>
29209
29210         version-etc: relax license to LGPLv3+
29211         * modules/version-etc (License): Relax license.
29212
29213         better AC_REQUIRE expanded-before-required-warning avoidance
29214         * m4/chown.m4 (gl_FUNC_CHOWN, gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Define
29215         with AC_DEFUN_ONCE, rather than AC_DEFUN, to avoid AC_REQUIRE warnings.
29216         Suggested by Eric Blake.  This change also reverts commit 1b712ba8,
29217         which is no longer needed.
29218
29219 2009-11-16  Eric Blake  <ebb9@byu.net>
29220
29221         test-freading: clean up temporary file
29222         * tests/test-freading.c (main): Remove file on success, and use
29223         ASSERT more liberally.
29224         Reported by Jim Meyering.
29225
29226 2009-11-16  Jim Meyering  <meyering@redhat.com>
29227
29228         avoid new AC_REQUIRE expanded-before-required warnings
29229         * modules/chown (configure.ac): Require gl_FUNC_CHOWN, rather than
29230         merely using it.
29231         * modules/euidaccess (configure.ac): Likewise for gl_FUNC_EUIDACCESS.
29232         * modules/faccessat (configure.ac): Likewise for gl_FUNC_FACCESSAT.
29233
29234 2009-11-15  Simon Josefsson  <simon@josefsson.org>
29235
29236         * tests/test-xalloc-die.c: New file.
29237         * modules/xalloc-die-tests: New file.
29238         * gnulib-tool (func_emit_tests_Makefile_am): Also initialize
29239         XFAIL_TESTS so it can be appended by modules.
29240
29241 2009-11-15  Simon Josefsson  <simon@josefsson.org>
29242
29243         * lib/gc-pbkdf2-sha1.c: Remove comments from RFC 2898.  Reported
29244         by Vladimir 'phcoder' Serbinenko <phcoder@gmail.com>.
29245
29246 2009-11-14  Eric Blake  <ebb9@byu.net>
29247
29248         fnmatch: avoid compiler warning
29249         * lib/fnmatch_loop.c (NEW_PATTERN): Coerce addition to unsigned,
29250         to silence compiler warning about mismatch signedness in ?:.
29251         Reported by Robert Millan.
29252
29253         intprops: add double-inclusion guard
29254         * lib/intprops.h: Allow idempotent includes.
29255         Suggested by Bruce Korb.
29256
29257         openat: detect Solaris fchownat bug
29258         * lib/fchownat.c (rpl_fchownat): Work around Solaris bug.  Avoid
29259         penalizing glibc chownat when only lchownat is broken.
29260         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Replace fchownat if there are
29261         trailing slash bugs.
29262         * doc/posix-functions/fchownat.texi (fchownat): Document the bug.
29263         * modules/openat-tests (Files): Include more files.
29264         (Depends-on): Add mgetgroups, sleep, stat-time.
29265         (configure.ac): Add additional checks.
29266         (Makefile.am): Build new test.
29267         * tests/test-fchownat.c: New file.
29268
29269         lchown: detect Solaris and FreeBSD bug
29270         * lib/lchown.c (rpl_lchown): Work around bug.
29271         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for trailing slash bugs.
29272         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
29273         * modules/unistd (Makefile.am): Populate it.
29274         * lib/unistd.in.h (lchown): Update declaration.
29275         * doc/posix-functions/lchown.texi (lchown): Document the bug.
29276         * modules/lchown-tests: New file.
29277         * tests/test-lchown.h (test_lchown): Likewise.
29278         * tests/test-lchown.c (main): Likewise.
29279
29280         chown: detect Solaris and FreeBSD bug
29281         * lib/chown.c (rpl_chown): Work around bug.
29282         * m4/chown.m4 (gl_FUNC_CHOWN): Check for trailing slash bugs.
29283         (gl_PREREQ_CHOWN): Delete.
29284         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
29285         * modules/unistd (Makefile.am): Populate it.
29286         * lib/unistd.in.h (chown): Update declaration.
29287         * lib/lchown.c (chown): Update client.
29288         * modules/lchown (Depends-on): Add lstat.
29289         * doc/posix-functions/chown.texi (chown): Document the bug.
29290         * doc/posix-functions/getgroups.texi (getgroups): Document
29291         getgroups pitfall.
29292         * modules/chown-tests: New file.
29293         * tests/test-chown.h (test_chown): Likewise.
29294         * tests/test-chown.c (main): Likewise.
29295
29296 2009-11-14  Robert Millan  <rmh.grub@aybabtu.com>  (tiny change)
29297
29298         gnulib-tool: correctly detect absence of m4 directories
29299         * gnulib-tool: Avoid extra newline on data passed to wc -l.
29300
29301 2009-11-14  Jim Meyering  <meyering@redhat.com>
29302
29303         maint.mk: Prohibit inclusion of "xalloc.h" without use.
29304         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
29305
29306 2009-11-14  John W. Eaton  <jwe@gnu.org>
29307
29308         strftime.h: wrap funtion declaration in extern "C" block
29309         * lib/strftime.h (nstrftime) [__cplusplus]: Wrap declaration.
29310
29311 2009-11-13  Eric Blake  <ebb9@byu.net>
29312
29313         getgroups: avoid compiler warning
29314         * lib/getgroups.c (rpl_getgroups): Delete shadowed variable.
29315
29316         getgroups: work around FreeBSD bug
29317         * lib/getgroups.c (rpl_getgroups): Work around the bug.
29318         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Detect the bug.
29319         * doc/posix-functions/getgroups.texi (getgroups): Document it.
29320         * tests/test-getgroups.c (main): Fix buffer overrun.
29321
29322         getgroups: avoid compilation failure
29323         * lib/getgroups.c (includes): Include <stdint.h> for SIZE_MAX.
29324         * modules/getgroups (Depends-on): Add stdint.
29325
29326 2009-11-13  Jim Meyering  <meyering@redhat.com>
29327
29328         test-getgroups: avoid compilation failure
29329         * tests/test-getgroups.c: Include <stdint.h> for use of SIZE_MAX.
29330
29331 2009-11-13  Eric Blake  <ebb9@byu.net>
29332
29333         mgetgroups: new module, taken from coreutils
29334         * modules/mgetgroups: New file.
29335         * lib/mgetgroups.h: Likewise.
29336         * lib/mgetgroups.c (mgetgroups): Likewise.
29337         * m4/mgetgroups.m4 (gl_MGETGROUPS): Likewise.
29338         * MODULES.html.sh (Users and groups): Mention it.
29339
29340         getgroups: don't expose GETGROUPS_T to user
29341         * lib/getgroups.c (rpl_getgroups): Change signature.  Copy array
29342         an element at a time if GETGROUPS_T is wrong size.
29343         * lib/getugroups.h (getugroups): Change signature.
29344         * lib/unistd.in.h (getgroups): Likewise.
29345         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Use replacement if
29346         signature needs fixing.
29347         * m4/getugroups.m4 (gl_GETUGROUPS): No longer need
29348         AC_TYPE_GETGROUPS.
29349         * modules/group-member (Depends-on): Add getgroups.
29350         * lib/group-member.c (group_info, get_group_info): Use gid_t.
29351         (group_member): Rely on getgroups replacement.
29352         * lib/getugroups.c (getugroups): Use gid_t.
29353         * tests/test-getgroups.c (main): Likewise.
29354         * NEWS: Mention the signature change.
29355         * doc/posix-functions/getgroups.texi (getgroups): Mention the
29356         problem with signature.
29357         * doc/glibc-functions/setgroups.texi (setgroups): Mention that
29358         GETGROUPS_T is still useful for setgroups.
29359
29360         getgroups, getugroups: provide stubs for mingw
29361         * lib/getgroups.c (getgroups): Provide ENOSYS stub for mingw.
29362         * lib/getugroups.c (getugroups): Likewise.
29363         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Check for missing
29364         function.  Modernize replacement scheme.
29365         (gl_PREREQ_GETGROUPS): Delete.
29366         * m4/getugroups.m4 (gl_GETUGROUPS): Check for <grp.h>.
29367         * modules/getgroups (configure.ac): Declare witness.
29368         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
29369         * modules/unistd (Depends-on): Substitute witness.
29370         * lib/unistd.in.h (getgroups): Declare replacement.
29371
29372         getgroups: avoid calling exit
29373         * modules/getgroups (Depends-on): Add malloc-posix and unistd,
29374         drop xalloc.
29375         * modules/getgroups-tests (Depends-on, Makefile.am): Drop unneeded
29376         dependencies.
29377         * lib/getgroups.c (rpl_getgroups): Fail with ENOMEM rather than
29378         exiting, in the rare case of malloc failure.
29379
29380         getgroups: fix logic error
29381         * lib/getgroups.c (rpl_getgroups): Don't fail if current process
29382         has more than 20 groups.
29383         * modules/getgroups-tests: New test.
29384         * tests/test-getgroups.c: New file.
29385
29386 2009-11-13  Simon Josefsson  <simon@josefsson.org>
29387
29388         * tests/test-base64.c: Improve.
29389
29390 2009-11-13  Simon Josefsson  <simon@josefsson.org>
29391
29392         * tests/test-xvasprintf.c: Fix memory leak, suggested by Eric
29393         Blake <ebb9@byu.net>.
29394
29395 2009-11-13  Simon Josefsson  <simon@josefsson.org>
29396
29397         * tests/test-xvasprintf.c: Add %s%s related checks.
29398
29399 2009-11-12  Eric Blake  <ebb9@byu.net>
29400
29401         version-etc: match standards.texi style
29402         * lib/version-etc.c (emit_bug_reporting_address): Drop periods,
29403         and use <> only for URLs.
29404
29405 2009-11-10  Kamil Dudka  <kdudka@redhat.com>
29406
29407         fts: do not fail on a submount during traversal
29408         * lib/fts.c (fts_build): Read the stat info again after opening
29409         a directory if the FTS_TIGHT_CYCLE_CHECK flag is set.
29410         Original report at http://bugzilla.redhat.com/501848.
29411
29412 2009-11-12  Jim Meyering  <meyering@redhat.com>
29413
29414         bootstrap: sync from coreutils
29415         * build-aux/bootstrap (bootstrap_epilogue): New function.
29416         Use git_modules_config in one more place.  This make bootstrap's
29417         --gnulib-srcdir option more useful for testing.
29418
29419         bootstrap: generalize autoheader check
29420         * build-aux/bootstrap: Look for AC_CONFIG_HEADER as well as
29421         AC_CONFIG_HEADERS.
29422
29423 2009-11-11  Eric Blake  <ebb9@byu.net>
29424
29425         mkfifoat: use new modules for Solaris and BSD bugs
29426         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Simplify.
29427         * lib/mkfifoat.c (mknodat): Split...
29428         * lib/mknodat.c (mknodat): ...into new file.
29429         * modules/mkfifoat (Files): Ship new file.
29430         (Depends-on): Add mkfifo, mknod.
29431         * modules/mkfifoat-tests (Files): Reuse mkfifo tests.
29432         (Depends-on): Add symlink.
29433         * tests/test-mkfifoat.c (main): Enhance test.  Drop portions now
29434         redundant with test_mkfifo.h.
29435         (do_mkfifoat, do_mknodat): New helpers.
29436
29437         mknod: new module
29438         * modules/mknod: New file.
29439         * m4/mknod.m4 (gl_FUNC_MKNOD): Likewise.
29440         * lib/mknod.c (mknod): Likewise.
29441         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
29442         defaults.
29443         * modules/sys_stat (Makefile.am): Substitute them.
29444         * lib/sys_stat.in.h (mknod): Declare replacement.
29445         * MODULES.html.sh (Support for systems lacking POSIX:2008):
29446         Document it.
29447         * doc/posix-functions/mknod.texi (mknod): Likewise.
29448         * modules/mknod-tests: New test.
29449         * tests/test-mknod.c: Likewise.
29450
29451         mkfifo: new module
29452         * modules/mkfifo: New file.
29453         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
29454         * lib/mkfifo.c (mkfifo): Likewise.
29455         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
29456         defaults.
29457         * modules/sys_stat (Makefile.am): Substitute them.
29458         * lib/sys_stat.in.h (mkfifo): Declare replacement.
29459         * MODULES.html.sh (Support for systems lacking POSIX:2008):
29460         Document it.
29461         * doc/posix-functions/mkfifo.texi (mkfifo): Likewise.
29462         * modules/mkfifo-tests: New test.
29463         * tests/test-mkfifo.h (test_mkfifo): New file, borrowed in part
29464         from test-mkfifoat.c.
29465         * tests/test-mkfifo.c: New file.
29466
29467         readlink: detect FreeBSD bug
29468         * m4/readlink.m4 (gl_FUNC_READLINK): Also detect FreeBSD bug with
29469         slash on symlink.
29470         * doc/posix-functions/readlink.texi (readlink): Document the bug.
29471         * tests/test-readlink.h (test_readlink): Enhance test.
29472
29473         symlink: detect FreeBSD bug
29474         * m4/symlink.m4 (gl_FUNC_SYMLINK): Also detect FreeBSD bug with
29475         slash on symlink.
29476         * doc/posix-functions/symlink.texi (symlink): Document the bug.
29477         * tests/test-symlink.h (test_symlink): Enhance test.
29478
29479 2009-11-10  Eric Blake  <ebb9@byu.net>
29480
29481         link: detect FreeBSD bug
29482         * m4/link.m4 (gl_FUNC_LINK): Also detect FreeBSD bug with slash on
29483         symlink.
29484         * doc/posix-functions/link.texi (link): Document the bug.
29485         * tests/test-link.h (test_link): Enhance test.
29486         * tests/test-linkat.c (main): Update caller.
29487
29488         unlink, remove: detect FreeBSD bug
29489         * m4/unlink.m4 (gl_FUNC_UNLINK): Also detect FreeBSD bug with
29490         slash on symlink.
29491         * doc/posix-functions/unlink.texi (unlink): Document the bug.
29492         * doc/posix-functions/remove.texi (remove): Likewise.
29493         * tests/test-unlink.h (test_unlink): Enhance test.
29494         * tests/test-remove.c (main): Likewise.
29495
29496 2009-11-09  Eric Blake  <ebb9@byu.net>
29497
29498         rename: detect FreeBSD bug
29499         * m4/rename.m4 (gl_FUNC_RENAME): Also detect FreeBSD bug with
29500         slash on symlink.
29501         * modules/renameat-tests (Depends-on): Add filenamecat.
29502         * tests/test-rename.h (test_rename): Allow one more errno.
29503         * tests/test-renameat.c (main): Likewise.
29504         * doc/posix-functions/rename.texi (rename): Document the bug.
29505
29506         open: detect FreeBSD bug
29507         * m4/open.m4 (gl_FUNC_OPEN): Also detect FreeBSD bug with slash on
29508         symlink.
29509         * doc/posix-functions/open.texi (open): Document the bug.
29510         * doc/posix-functions/utimes.texi (utimes): Likewise.
29511         * tests/test-open.h (test_open): Add parameters, and test symlink
29512         handling.
29513         * tests/test-open.c (main): Adjust caller.
29514         * tests/test-fcntl-safer.c (main): Likewise.
29515         * modules/open-tests (Depends-on): Add stdbool, symlink.
29516         * modules/fcntl-safer-tests (Depends-on): Likewise.
29517         * tests/test-openat.c (main): Add test-open tests.
29518
29519         stat: detect FreeBSD bug
29520         * m4/stat.m4 (gl_FUNC_STAT): Also detect FreeBSD bug with slash on
29521         symlink.
29522         * doc/posix-functions/stat.texi (stat): Document the bug.
29523         * tests/test-stat.h (test_stat_func): Add argument.
29524         * tests/test-stat.c (main): Adjust caller.
29525         * tests/test-fstatat.c (main): Likewise.
29526         * modules/stat-tests (Depends-on): Add stdbool, symlink.
29527         Reported by Jim Meyering.
29528
29529 2009-11-09  James Youngman  <jay@gnu.org>
29530
29531         strftime.c: include ignore-value.h only when FPRINTFTIME is defined
29532         * lib/strftime.c: Correct placement of #include "ignore-value.h".
29533
29534 2009-11-08  Jim Meyering  <meyering@redhat.com>
29535
29536         utimens: remove invalid futimesat call
29537         * lib/utimens.c (fdutimens): Remove invalid futimesat call.
29538         It used the file descriptor of the target file as the DIR_FD
29539         parameter and NULL as the file name.  That caused failure with
29540         errno == EFAULT on FreeBSD-8.0-rc2
29541
29542 2009-11-07  Eric Blake  <ebb9@byu.net>
29543
29544         fflush, freadseek: use fseeko, not fseek
29545         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
29546         (clear_ungetc_buffer): Avoid potential problems on large files.
29547         * lib/freadseek.c (freadseek): Likewise.
29548         * modules/freadseek (Depends-on): Add fseeko.
29549         * modules/fseek (configure.ac): Set a witness.
29550         * tests/test-fflush.c (main): Use fseeko.
29551         * tests/test-fpurge.c (fseek): Disable link warning.
29552         * tests/test-freadable.c (fseek): Likewise.
29553         * tests/test-freading.c (fseek): Likewise.
29554         * tests/test-fseeko.c (fseek): Likewise.
29555         * tests/test-ftell.c (fseek): Likewise.
29556         * tests/test-ftello.c (fseek): Likewise.
29557         * tests/test-fwritable.c (fseek): Likewise.
29558         * tests/test-fwriting.c (fseek): Likewise.
29559
29560 2009-11-06  Simon Josefsson  <simon@josefsson.org>
29561
29562         * modules/memchr (Depends-on): Drop getpagesize dependency.
29563
29564 2009-11-06  Simon Josefsson  <simon@josefsson.org>
29565
29566         * build-aux/pmccabe2html: Disable execute bit.  Suggested by
29567         Reported by Ludovic Courtès.
29568         * build-aux/pmccabe2html: Improve example usage.
29569         * build-aux/pmccabe2html: Drop #! header.  Doc fix.
29570
29571 2009-11-06  Jim Meyering  <meyering@redhat.com>
29572
29573         do-release-commit-and-tag: New module.
29574         Automate the release-commit and tag process.
29575         * build-aux/do-release-commit-and-tag: New script, from coreutils.
29576         * modules/do-release-commit-and-tag: New file.
29577         * MODULES.html.sh (Support for maintaining and releasing): Add it.
29578
29579 2009-11-06  Simon Josefsson  <simon@josefsson.org>
29580
29581         * modules/select-tests (test_select_LDADD): Add $(INET_PTON_LIB)
29582         because test-select.c uses inet_pton.
29583
29584 2009-11-06  Simon Josefsson  <simon@josefsson.org>
29585
29586         * m4/getaddrinfo.m4: Add content of INET_NTOP_LIB to
29587         GETADDRINFO_LIB.  Bump serial number.
29588         * modules/getaddrinfo (Link): Only mention GETADDRINFO_LIB again.
29589         Suggested by Eric Blake <ebb9@byu.net>.
29590
29591 2009-11-05  Eric Blake  <ebb9@byu.net>
29592
29593         strtod: detect darwin bug
29594         * m4/strtod.m4 (gl_FUNC_STRTOD): Filter out darwin bug on "nan(".
29595         Reported by Leo Davis.
29596
29597         freopen-safer: new module
29598         * modules/freopen-safer: New module.
29599         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): New macro.
29600         * lib/freopen-safer.c (freopen_safer): New file.
29601         * lib/stdio-safer.h (freopen_safer): New declaration.
29602         * lib/stdio--.h (freopen): New override.
29603         * MODULES.html.sh (File stream based Input/Output): Mention it.
29604         * doc/posix-functions/freopen.texi (freopen): Mention pitfalls and
29605         freopen-safer module.
29606         * doc/posix-functions/stderr.texi (stderr): Likewise.
29607         * doc/posix-functions/stdin.texi (stdin): Likewise.
29608         * doc/posix-functions/stdout.texi (stdout): Likewise.
29609         * modules/freopen-safer-tests: New test.
29610         * tests/test-reopen-safer.c: New file.
29611
29612 2009-11-05  Jim Meyering  <meyering@redhat.com>
29613
29614         maint.mk: Prohibit inclusion of "close-stream.h" without use.
29615         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
29616
29617 2009-11-05  Simon Josefsson  <simon@josefsson.org>
29618
29619         * modules/pmccabe2html (configure.ac): Check for pmccabe tool.
29620
29621 2009-11-05  Simon Josefsson  <simon@josefsson.org>
29622
29623         * modules/getaddrinfo (Link): Add $(INET_NTOP_LIB).
29624
29625 2009-11-05  Simon Josefsson  <simon@josefsson.org>
29626
29627         Fix link error.
29628         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
29629         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
29630
29631 2009-11-05  Simon Josefsson  <simon@josefsson.org>
29632
29633         * tests/test-func.c: Also test value of __func__.
29634
29635 2009-11-05  Simon Josefsson  <simon@josefsson.org>
29636
29637         * tests/test-sys_socket.c: Use smaller constant value, sa_family_t
29638         may be an 8-bit type.  Reported by Bruno Haible <bruno@clisp.org>.
29639
29640 2009-11-05  Bruno Haible  <bruno@clisp.org>
29641
29642         Fix link error.
29643         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
29644         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
29645         Reported by Brad Hards <bradh@frogmouth.net> via Simon Josefsson.
29646
29647 2009-11-05  Bruno Haible  <bruno@clisp.org>
29648
29649         Tests for module 'inet_pton'.
29650         * modules/inet_pton-tests: New file.
29651         * tests/test-inet_pton.c: New file.
29652
29653 2009-11-05  Bruno Haible  <bruno@clisp.org>
29654
29655         Tests for module 'inet_ntop'.
29656         * modules/inet_ntop-tests: New file.
29657         * tests/test-inet_ntop.c: New file.
29658
29659 2009-11-04  Eric Blake  <ebb9@byu.net>
29660
29661         stdlib-safer: wrap all mkstemp variants
29662         * modules/mkostemp (configure.ac): Set witness.
29663         * modules/mkostemps (configure.ac): Likewise.
29664         * modules/mkstemps (configure.ac): Likewise.
29665         * lib/stdlib-safer.h (mkostemp_safer, mkostemps_safer)
29666         (mkstemps_safer): Wrap more functions.
29667         * lib/stdlib--.h (mkostemp, mkostemps, mkstemps): Default the
29668         wrapping.
29669         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer)
29670         (mkstemps_safer): Implement the wrappers.
29671
29672         mkstemps, mkostemps: new modules
29673         * modules/mkostemps: New module.
29674         * modules/mkstemps: Likewise.
29675         * lib/mkostemps.c (mkostemps): New file.
29676         * lib/mkstemps.c (mkstemps): Likewise.
29677         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Likewise.
29678         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Likewise.
29679         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add witnesses.
29680         * modules/stdlib (Makefile.am): Substitute them.
29681         * lib/stdlib.in.h (mkostemps, mkstemps): Declare them.
29682         * doc/glibc-functions/mkstemps.texi (mkstemps): New file.
29683         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
29684         * doc/gnulib.texi (Glibc stdlib.h): Include them.
29685         * MODULES.html.sh (File system functions): Mention them.
29686
29687         tempname: resync from glibc
29688         * lib/tempname.c (__gen_tempname): Add suffixlen argument.  Use
29689         same values for __GT_FILE as glibc.  Abort even when assertions
29690         are disabled.
29691         * lib/tempname.h (GT_FILE): Use glibc __GT_FILE, if available, and
29692         match its value otherwise.  Allow idempotent inclusion.
29693         * lib/mkdtemp.c (mkdtemp): Adjust caller.
29694         * lib/mkostemp.c (mkostemp): Likewise.
29695         * lib/mkstemp.c (mkstemp): Likewise.
29696         * lib/tmpfile.c (tmpfile): Likewise.
29697         * NEWS: Document this.
29698
29699         utimens: fix use of futimens on older Linux
29700         * lib/utimens.c (fdutimens): Use updated, rather than original,
29701         timespec to avoid bug in older Linux kernel.
29702         Reported by Simon Josefsson.
29703
29704 2009-11-04  Bruno Haible  <bruno@clisp.org>
29705
29706         Make num_processors more flexible and consistent.
29707         * lib/nproc.h (enum nproc_query): New type.
29708         (num_processors): Add a 'query' argument.
29709         * lib/nproc.c: Include <stdlib.h>, <sched.h>, c-ctype.h.
29710         (num_processors): Add a 'query' argument. Test the value of the
29711         OMP_NUM_THREADS environment variable if requested. On Linux, NetBSD,
29712         mingw, count the number of CPUs available for the current process.
29713         * m4/nproc.m4 (gl_PREREQ_NPROC): Require AC_USE_SYSTEM_EXTENSIONS.
29714         Check for sched_getaffinity and sched_getaffinity_np.
29715         * modules/nproc (Depends-on): Add c-ctype, extensions.
29716         * NEWS: Mention the change.
29717
29718 2009-11-03  Bruno Haible  <bruno@clisp.org>
29719
29720         * NEWS: Document the new library dependencies of inet_ntop, inet_pton.
29721
29722 2009-11-03  Jim Meyering  <meyering@redhat.com>
29723
29724         test-getaddrinfo: avoid compilation failure on FreeBSD 7.2
29725         * tests/test-getaddrinfo.c (simple): Test for EAI_NODATA only
29726         if it is defined.
29727
29728 2009-11-02  Eric Blake  <ebb9@byu.net>
29729
29730         mktime, timegm: share common declaration
29731         * lib/mktime-internal.h: New file.
29732         * lib/mktime.c: Use it rather than open-coding a declaration.
29733         * lib/timegm.c: Likewise.
29734         * modules/mktime (Files): Ship it.
29735         * modules/timegm (Files): Likewise.
29736         Suggested by Bruno Haible.
29737
29738         test-update-copyright: update test to match script changes
29739         * tests/test-update-copyright.sh: Avoid hard-coding perl
29740         location.  Don't update *.bak created by earlier runs.
29741
29742 2009-11-02  Paul Eggert  <eggert@cs.ucla.edu>
29743             Simon Josefsson  <simon@josefsson.org>
29744             Bruno Haible  <bruno@clisp.org>
29745
29746         Fix link error on Solaris 8.
29747         * m4/inet_pton.m4 (gl_INET_PTON): Search for the function inet_pton
29748         also in libnsl. Define also INET_PTON_LIB.
29749         * modules/inet_pton (Link): New section.
29750
29751 2009-11-02  Simon Josefsson  <simon@josefsson.org>
29752             Bruno Haible  <bruno@clisp.org>
29753
29754         * m4/inet_ntop.m4 (gl_INET_NTOP): Define also INET_NTOP_LIB.
29755         * modules/inet_ntop (Link): New section.
29756         Reported by Boyan Kasarov <bkasarov@gmail.com>.
29757
29758 2009-11-02  Eric Blake  <ebb9@byu.net>
29759
29760         maint: avoid compiler warnings in m4 macros
29761         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Avoid unused variable.
29762         * m4/rmdir.m4 (gl_FUNC_RMDIR): Include correct header.
29763
29764 2009-11-02  Simon Josefsson  <simon@josefsson.org>
29765
29766         * m4/pmccabe2html.m4: Remove file.
29767         * modules/pmccabe2html: Drop pmccabe2html.m4.  Don't call m4
29768         function.  Change maintainer.
29769         * build-aux/pmccabe2html: Use /bin/sh with magic instead of
29770         hard-coding path to awk.  Tiny patch from ludo@gnu.org (Ludovic
29771         Courtès).
29772
29773 2009-10-31  Eric Blake  <ebb9@byu.net>
29774
29775         fseeko: fix m4 regression
29776         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Use modern macro.  Fixes
29777         regression from 2009-10-27.
29778         Reported by Ralf Wildenhues.
29779
29780 2009-10-31  Jim Meyering  <meyering@redhat.com>
29781
29782         inttostr: aesthetics and improved (compile-time) safety
29783         Define inttype_is_signed rather than inttype_is_unsigned,
29784         since the sole use is via "#if inttype_is_signed".
29785         * lib/imaxtostr.c (inttype_is_signed): Define this, rather than
29786         inttype_is_unsigned.
29787         * lib/offtostr.c (inttype_is_signed): Likewise.
29788         * lib/uinttostr.c (inttype_is_signed): Likewise.
29789         * lib/umaxtostr.c (inttype_is_signed): Likewise.
29790         * lib/inttostr.c (inttostr): Use verify to cross-check the
29791         inttype_is_signed value and the signedness of the actual type.
29792         * modules/inttostr (Depends-on): Add verify.
29793
29794 2009-10-30  Eric Blake  <ebb9@byu.net>
29795
29796         build: avoid compiler warnings
29797         * lib/fchmodat.c (lchmod): Mark unused variables.
29798         * lib/getopt.c (_getopt_initialize): Likewise.
29799         * lib/mktime.c (__mktime_internal): Provide prototype.
29800         * lib/inttostr.c (inttostr): Avoid compiler warning even with
29801         older gcc that do not understand #pragma GCC diagnostic.
29802         * lib/uinttostr.c (inttype_is_unsigned): Define.
29803         * lib/umaxtostr.c (inttype_is_unsigned): Likewise.
29804
29805 2009-10-30  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
29806
29807         stat: fix compilation on AIX
29808         * lib/sys_stat.in.h (stat): Work with fact that large files on AIX
29809         only see struct stat64.
29810
29811 2009-10-30  Eric Blake  <ebb9@byu.net>
29812
29813         exclude: make more robust
29814         * lib/exclude.c (excluded_file_name): Abort on unexpected value,
29815         rather than masking a coding bug.
29816         Suggested by Bruno Haible.
29817
29818 2009-10-30  Jim Meyering  <meyering@redhat.com>
29819
29820         perl scripts: remove #!/usr/bin/perl in favor of more portable...
29821         Rather than putting #!/usr/bin/perl on the first line,
29822         start with a variant of what's recommended by "man perlrun" that
29823         invokes the first "perl" program from your shell's search path.
29824         * build-aux/gitlog-to-changelog: Replace #!... as above.
29825         Add a "Local Variables" perl mode setting.
29826         Prompted by a patch from Ludovic Courtès.
29827         Improved by Eric Blake.
29828         * build-aux/useless-if-before-free: Likewise.
29829         * build-aux/announce-gen: Likewise.
29830         * build-aux/update-copyright: Likewise.
29831
29832 2009-10-29  Eric Blake  <ebb9@byu.net>
29833
29834         filenamecat-lgpl: adjust clients
29835         * modules/linkat (Depends-on): Use filenamecat-lgpl, not
29836         filenamecat.
29837         * modules/renameat (Depends-on): Likewise.
29838
29839         filenamecat: split into filenamecat-lgpl
29840         * modules/filenamecat-lgpl: New module.
29841         * modules/filenamecat (Files): Move library-safe files into
29842         filenamecat-lgpl.
29843         (Depends-on): Add filenamecat-lgpl.
29844         (configure.ac): Declare witness.
29845         * lib/filenamecat.h (file_name_concat): Only declare when using
29846         GPL module.
29847         * lib/filenamecat.c (longest_relative_suffix, mfile_name_concat):
29848         Move...
29849         * lib/filenamecat-lgpl.c: ...into new file.
29850         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT_LGPL): New macro.
29851         (gl_FILE_NAME_CONCAT): Use it.
29852         * MODULES.html.sh (File system functions): Mention new module.
29853
29854         argp: avoid memory leak
29855         * modules/argp (Depends-on): Use dirname-lgpl, not dirname.
29856         * lib/argp-namefrob.h (__argp_base_name): Use last_component, not
29857         base_name, since the latter malloc()s and can call exit().
29858         Leak introduced 2006-07-03.
29859
29860         dirname-lgpl: adjust clients that don't need full dirname
29861         * modules/backupfile (Depends-on): Use dirname-lgpl, not dirname.
29862         * modules/filenamecat (Depends-on): Likewise.
29863         * modules/linkat (Depends-on): Likewise.
29864         * modules/mkancesdirs (Depends-on): Likewise.
29865         * modules/mkdir (Depends-on): Likewise.
29866         * modules/openat (Depends-on): Likewise.
29867         * modules/savewd (Depends-on): Likewise.
29868         * modules/rename (Depends-on): Likewise.
29869         (License): Relax license.
29870         * modules/mkdir-tests (Depends-on): Drop progname.
29871         (Makefile.am): Delete unneeded LDADD.
29872         * modules/rename-tests (Depends-on, Makefile.am): Likewise.
29873
29874         dirname: split into dirname-lgpl
29875         * modules/dirname-lgpl: New module.
29876         * modules/dirname (Files): Move library-safe files into
29877         dirname-lgpl.
29878         (Depends-on): Add dirname-lgpl.
29879         (configure.ac): Declare witness.
29880         * modules/double-slash-root (License): Relax license.
29881         * lib/dirname.h (base_name, dir_name): Only declare when using GPL
29882         module.
29883         * lib/dirname.c (dir_len, mdir_name): Move...
29884         * lib/dirname-lgpl.c: ...into new file.
29885         * lib/basename.c (last_component, base_len): Move...
29886         * lib/basename-lgpl.c: ...into new file.
29887         * m4/dirname.m4 (gl_DIRNAME_LGPL): New macro.
29888         (gl_DIRNAME): Use it.
29889         * MODULES.html.sh (Enhancements for POSIX:2008 functions):
29890         Mention new module.
29891         * modules/dirname-tests (Depends-on): Add progname.
29892         * tests/test-dirname.c (program_name): Delete.
29893
29894         mkdir: make safe for libraries
29895         * modules/mkdir (Depends-on): Drop xalloc.
29896         * lib/mkdir.c (rpl_mkdir): Fail with ENOMEM rather than calling
29897         exit.
29898
29899         tests: avoid some compiler warnings
29900         * tests/test-getaddrinfo.c (simple): Mark static, and allow string
29901         literals.
29902         * tests/test-memchr.c (main): Avoid type mismatch.
29903         * tests/test-arpa_inet.c (main): Avoid unused parameters.
29904         * tests/test-base64.c (main): Likewise.
29905         * tests/test-getdelim.c (main): Likewise.
29906         * tests/test-gethostname.c (main): Likewise.
29907         * tests/test-getline.c (main): Likewise.
29908         * tests/test-netinet_in.c (main): Likewise.
29909         * tests/test-select.c (open_server_socket, main): Likewise.
29910         * tests/test-select-stdin.c (main): Likewise.
29911         * tests/test-sockets.c (main): Likewise.
29912         * tests/test-strsignal.c (main): Likewise.
29913         * tests/test-sys_select.c (main): Likewise.
29914         * tests/test-sys_socket.c (main): Likewise.
29915         * tests/test-u64.c (main): Likewise.
29916         * tests/test-xfprintf-posix.c (main): Likewise.
29917         * tests/test-xvasprintf.c (test_xvasprintf, main): Likewise.
29918
29919         sockets: avoid compiler warning
29920         * lib/sockets.c (gl_sockets_startup): Mark unused parameter.
29921
29922         maint: detect usage(1) and other suspicious exits
29923         * top/maint.mk (sc_prohibit_magic_number_exit): New rule.
29924
29925 2009-10-29  Jim Meyering  <meyering@redhat.com>
29926
29927         timespec: long-to-int truncation could make timespec_cmp malfunction
29928         * lib/timespec.h (timespec_cmp): Do not interpret a difference of
29929         a multiple of 2^32 nanoseconds as no difference.
29930
29931 2009-10-28  Jim Meyering  <meyering@redhat.com>
29932
29933         fprintftime: wrap macro code argument in "do {...} while(0)"
29934         * lib/strftime.c (cpy) [FPRINTFTIME]: The second argument to the
29935         cpy macro must be a statement that can be followed by a semicolon.
29936         Now that the else clause contains a comment and is hence longer
29937         than one line, I require curly braces.  That in turn requires
29938         that we wrap this code block in the standard do...while(0).
29939
29940         fprintftime: remove stray semicolon from previous change
29941         * lib/strftime.c (cpy) [FPRINTFTIME]: Remove trailing semicolon.
29942
29943         fprintftime: avoid a warning about ignored fwrite return value
29944         * lib/strftime.c [FPRINTFTIME]: Include "ignore-value.h".
29945         (cpy) [FPRINTFTIME]: Ignore fwrite failure, even though technically,
29946         that is unsafe.
29947         * modules/fprintftime (Depends-on): Add ignore-value.
29948
29949         exclude: avoid an unwarranted warning
29950         * lib/exclude.c (excluded_file_name): Initialize "rc" before switch.
29951
29952 2009-10-27  Eric Blake  <ebb9@byu.net>
29953
29954         fseek: avoid compilation failure when fflush is replaced
29955         * m4/fseek.m4 (gl_REPLACE_FSEEK): New macro.
29956         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Also replace fseek, if fseek
29957         module is in use.
29958         * lib/stdio.in.h (GNULIB_FSEEKO): Only poison fseek if fseek
29959         module is not in use; since REPLACE_FSEEK worked otherwise.
29960         (GNULIB_FTELLO): Likewise for ftell.
29961         Reported by Ian Beckwith and others.
29962
29963 2009-10-27  Bruno Haible  <bruno@clisp.org>
29964
29965         * lib/isnan.c (rpl_isnan[fdl]): Repeat the specification declaration.
29966         Reported by Jim Meyering.
29967
29968 2009-10-27  Jim Meyering  <jim@meyering.net>
29969             Bruno Haible  <bruno@clisp.org>
29970
29971         Avoid warning despite dropping the return value of fwrite.
29972         * lib/unicodeio.c: Include ignore-value.h.
29973         (fwrite_success_callback): Explicitly ignore fwrite's return value.
29974         * modules/unicodeio (Depends-on): Add ignore-value.
29975
29976 2009-10-26  Eric Blake  <ebb9@byu.net>
29977
29978         areadlinkat: fix fallback path
29979         * lib/at-func.c (AT_FUNC_NAME): Avoid signed comparison between
29980         pointer and zero.
29981
29982 2009-10-22  Pádraig Brady  <P@draigBrady.com>
29983
29984         Use a better IO block size for modern systems
29985         * lib/copy-file.c (copy_file_preserving): Used a 32KiB malloced buffer.
29986         * lib/md2.c: Likewise.
29987         * lib/md4.c: Likewise.
29988         * lib/md5.c: Likewise.
29989         * lib/sha1.c: Likewise.
29990         * lib/sha256.c: Likewise.
29991         * lib/sha512.c: Likewise.
29992
29993 2009-10-22  Eric Blake  <ebb9@byu.net>
29994
29995         tests: avoid several compiler warnings
29996         * tests/test-getcwd.c (main): Avoid buffer underflow.
29997         * tests/test-getdate.c (main): String literals are not safe with
29998         putenv, so use setenv.  Declare unused argument.
29999         * modules/getdate-tests (Depends-on): Add setenv.
30000         * tests/test-argv-iter.c (main): Declare unused argument.  Avoid
30001         problems with string literals in char *.
30002         * tests/test-hash.c (main): Avoid shadowing declaration.
30003         (insert_new): Treat string literals as char const *.
30004         * tests/test-getopt.h (test_getopt): Likewise.
30005         (getopt_loop): Alter types to minimize casting elsewhere.
30006         * tests/test-getopt_long.h (test_getopt_long, getopt_long_loop)
30007         (test_getopt_long_posix): Likewise.
30008         (do_getopt_long): Add wrapper to minimize casting.
30009         * tests/test-atexit.c (clear_temp_file): Use void.
30010         * tests/test-areadlink-with-size.c (main): Declare unused
30011         arguments.
30012         * tests/test-areadlink.c (main): Likewise.
30013         * tests/test-areadlinkat-with-size.c (main): Likewise.
30014         * tests/test-areadlinkat.c (main): Likewise.
30015         * tests/test-canonicalize-lgpl.c (main): Likewise.
30016         * tests/test-canonicalize.c (main): Likewise.
30017         * tests/test-dirent-safer.c (main): Likewise.
30018         * tests/test-dirname.c (main): Likewise.
30019         * tests/test-dup2.c (main): Likewise.
30020         * tests/test-fchdir.c (main): Likewise.
30021         * tests/test-fcntl-h.c (main): Likewise.
30022         * tests/test-fcntl-safer.c (main): Likewise.
30023         * tests/test-fdopendir.c (main): Likewise.
30024         * tests/test-fdutimensat.c (main): Likewise.
30025         * tests/test-fflush.c (main): Likewise.
30026         * tests/test-filenamecat.c (main): Likewise.
30027         * tests/test-filevercmp.c (main): Likewise.
30028         * tests/test-fopen-safer.c (main): Likewise.
30029         * tests/test-fopen.c (main): Likewise.
30030         * tests/test-fpending.c (main): Likewise.
30031         * tests/test-fpurge.c (main): Likewise.
30032         * tests/test-freading.c (main): Likewise.
30033         * tests/test-fstatat.c (main): Likewise.
30034         * tests/test-fsync.c (main): Likewise.
30035         * tests/test-futimens.c (main): Likewise.
30036         * tests/test-getndelim2.c (main): Likewise.
30037         * tests/test-gettimeofday.c (main): Likewise.
30038         * tests/test-getopt.c (main): Likewise.
30039         * tests/test-i-ring.c (main): Likewise.
30040         * tests/test-inttypes.c (main): Likewise.
30041         * tests/test-link.c (main): Likewise.
30042         * tests/test-lstat.c (main): Likewise.
30043         * tests/test-math.c (main): Likewise.
30044         * tests/test-md5.c (main): Likewise.
30045         * tests/test-memchr2.c (main): Likewise.
30046         * tests/test-memrchr.c (main): Likewise.
30047         * tests/test-mkdir.c (main): Likewise.
30048         * tests/test-mkdirat.c (main): Likewise.
30049         * tests/test-mkfifoat.c (main): Likewise.
30050         * tests/test-open.c (main): Likewise.
30051         * tests/test-openat-safer.c (main): Likewise.
30052         * tests/test-openat.c (main): Likewise.
30053         * tests/test-quotearg.c (main): Likewise.
30054         * tests/test-rawmemchr.c (main): Likewise.
30055         * tests/test-readlink.c (main): Likewise.
30056         * tests/test-remove.c (main): Likewise.
30057         * tests/test-rename.c (main): Likewise.
30058         * tests/test-renameat.c (main): Likewise.
30059         * tests/test-rmdir.c (main): Likewise.
30060         * tests/test-sha1.c (main): Likewise.
30061         * tests/test-signal.c (main): Likewise.
30062         * tests/test-sigaction.c (main): Likewise.
30063         * tests/test-stat.c (main): Likewise.
30064         * tests/test-stat-time.c (main): Likewise.
30065         * tests/test-stddef.c (main): Likewise.
30066         * tests/test-stdint.c (main): Likewise.
30067         * tests/test-stdio.c (main): Likewise.
30068         * tests/test-stdlib.c (main): Likewise.
30069         * tests/test-strchrnul.c (main): Likewise.
30070         * tests/test-strerror.c (main): Likewise.
30071         * tests/test-string.c (main): Likewise.
30072         * tests/test-strtod.c (main): Likewise.
30073         * tests/test-strverscmp.c (main): Likewise.
30074         * tests/test-symlink.c (main): Likewise.
30075         * tests/test-symlinkat.c (main): Likewise.
30076         * tests/test-sys_stat.c (main): Likewise.
30077         * tests/test-sys_time.c (main): Likewise.
30078         * tests/test-time.c (main): Likewise.
30079         * tests/test-unistd.c (main): Likewise.
30080         * tests/test-unlink.c (main): Likewise.
30081         * tests/test-unlinkat.c (main): Likewise.
30082         * tests/test-utimens.c (main): Likewise.
30083         * tests/test-utimensat.c (main): Likewise.
30084         * tests/test-version-etc.c (main): Likewise.
30085         * tests/test-wchar.c (main): Likewise.
30086         * tests/test-wctype.c (main): Likewise.
30087         * tests/test-xprintf-posix.c (main): Likewise.
30088         * tests/test-posixtm.c (main): Likewise.
30089         (STREQ): Delete unused macro.
30090         * tests/test-linkat.c (main): Declare unused arguments.  Avoid
30091         shadowed variables.
30092         * tests/test-memchr.c (main): Likewise.
30093
30094 2009-10-21  Eric Blake  <ebb9@byu.net>
30095
30096         areadlinkat: avoid failure on older glibc
30097         * lib/at-func.c (AT_FUNC_NAME): Check for explicit FUNC_FAIL,
30098         rather than mis-comparing 0 against FUNC_RESULT of char*.
30099
30100 2009-10-21  Bruno Haible  <bruno@clisp.org>
30101
30102         * modules/stpncpy (License): Relicense under LGPLv2+.
30103         Reported by David Lutterkort <lutter@redhat.com>.
30104
30105 2009-10-20  Eric Blake  <ebb9@byu.net>
30106
30107         utimensat: work around Solaris 9 bug
30108         * lib/utimens.c (fdutimens, lutimens): Force a stat if platform
30109         has trailing slash bugs.
30110         * tests/test-lutimens.h (test_lutimens): Enhance test.
30111         * tests/test-utimens.h (test_utimens): Likewise.
30112         * doc/posix-functions/utime.texi (utime): Enhance documentation.
30113         * doc/posix-functions/utimes.texi (utimes): Likewise.
30114         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
30115         * doc/glibc-functions/futimesat.texi (futimesat): Likewise.
30116         * doc/glibc-functions/lutimes.texi (lutimes): Likewise.
30117         * doc/posix-functions/futimens.texi (futimens): Likewise.
30118
30119         fdutimensat: new module
30120         * modules/fdutimensat: New file.
30121         * lib/fdutimensat.c (fdutimensat): Likewise.
30122         * lib/utimens.h (fdutimensat, lutimensat): Declare new functions.
30123         * MODULES.html.sh (File system functions): Mention module.
30124         * modules/fdutimensat-tests: New test.
30125         * tests/test-fdutimensat.c: Likewise.
30126
30127         doc: regenerate INSTALL
30128         * doc/INSTALL: Reflect recent autoconf update.
30129         * doc/INSTALL.ISO: Likewise.
30130         * doc/INSTALL.UTF-8: Likewise.
30131
30132 2009-10-20  Pádraig Brady  <P@draigBrady.com>
30133
30134         acl: warn if ACL support is not detected
30135         * m4/acl.m4 (gl_FUNC_ACL): Output a warning if ACL support is not found.
30136
30137 2009-10-19  Giuseppe Scrivano  <gscrivano@gnu.org>
30138
30139         * lib/nproc.h: Add extern "C" block for C++.
30140
30141 2009-10-18  Reuben Thomas  <rrt@sc3d.org>
30142             Bruno Haible  <bruno@clisp.org>
30143
30144         * doc/posix-functions/isascii.texi: Document the 2 alternative APIs.
30145         * doc/posix-functions/isalnum.texi: Document the 4 alternative APIs.
30146         * doc/posix-functions/isalpha.texi: Likewise.
30147         * doc/posix-functions/isblank.texi: Likewise.
30148         * doc/posix-functions/iscntrl.texi: Likewise.
30149         * doc/posix-functions/isdigit.texi: Likewise.
30150         * doc/posix-functions/isgraph.texi: Likewise.
30151         * doc/posix-functions/islower.texi: Likewise.
30152         * doc/posix-functions/isprint.texi: Likewise.
30153         * doc/posix-functions/ispunct.texi: Likewise.
30154         * doc/posix-functions/isspace.texi: Likewise.
30155         * doc/posix-functions/isupper.texi: Likewise.
30156         * doc/posix-functions/isxdigit.texi: Likewise.
30157
30158 2009-10-18  Bruno Haible  <bruno@clisp.org>
30159
30160         Tests for module 'isblank'.
30161         * modules/isblank-tests: New file.
30162         * tests/test-isblank.c: New file.
30163
30164         New module 'isblank'.
30165         * lib/isblank.c: New file.
30166         * m4/isblank.m4: New file.
30167         * modules/isblank: New file.
30168         * doc/posix-functions/isblank.texi: Mention the new module.
30169
30170 2009-10-18  Bruno Haible  <bruno@clisp.org>
30171
30172         New module 'ctype'.
30173         * lib/ctype.in.h: New file.
30174         * m4/ctype.m4: New file.
30175         * modules/ctype: New file.
30176         * doc/posix-headers/ctype.texi: Mention the new module.
30177
30178 2009-10-18  Jim Meyering  <meyering@redhat.com>
30179
30180         m4: stylistic-only: hoist AC_SUBST to be adjacent to initialization
30181         Declare a variable like LIB_CLOCK_GETTIME to be AC_SUBSTituted
30182         right after its initialization, rather than farther down.
30183         Keeping these in close proximity makes it easier to ensure
30184         that each such variable is initialized.  E.g.,
30185
30186             LIB_CLOCK_GETTIME=
30187             AC_SUBST([LIB_CLOCK_GETTIME])
30188
30189         This change also increments these serial numbers.
30190         * m4/clock_time.m4 (gl_CLOCK_TIME): Hoist AC_SUBST use.
30191         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
30192         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
30193
30194 2009-10-18  Bruno Haible  <bruno@clisp.org>
30195
30196         Don't let environment variables perturb build.
30197         * m4/gethrxtime.m4 (gl_GETHRXTIME): Initialize LIB_GETHRXTIME here...
30198         (gl_PREREQ_GETHRXTIME): ... not here.
30199
30200 2009-10-18  Bruno Haible  <bruno@clisp.org>
30201
30202         Avoid symlink attack in localcharset module.
30203         * lib/localcharset.c: Include <fcntl.h>, <unistd.h>.
30204         (O_NOFOLLOW): Define fallback.
30205         (get_charset_aliases): Don't open the file if it is a symbolic link.
30206         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): New macro, extracted from
30207         gl_FCNTL_H.
30208         (gl_FCNTL_H): Require it.
30209         * m4/localcharset.m4 (gl_LOCALCHARSET): Likewise.
30210         * modules/localcharset (Files): Add m4/fcntl_h.m4.
30211         Reported by Fergal Glynn <fglynn@veracode.com>.
30212
30213 2009-10-18  Bruno Haible  <bruno@clisp.org>
30214
30215         Implement nproc for mingw.
30216         * lib/nproc.c: Include <windows.h>
30217         (num_processors): On native Windows platforms, try GetSystemInfo.
30218
30219 2009-10-18  Bruno Haible  <bruno@clisp.org>
30220
30221         Implement nproc for IRIX.
30222         * lib/nproc.c: Include <sys/sysmp.h>.
30223         (num_processors): On IRIX systems, try sysmp.
30224         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/sysmp.h and sysmp.
30225
30226 2009-10-18  Bruno Haible  <bruno@clisp.org>
30227
30228         Implement nproc for HP-UX.
30229         * lib/nproc.c: Include <sys/pstat.h>
30230         (num_processors): On HP-UX systems, try pstat_getdynamic.
30231         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/pstat.h and
30232         pstat_getdynamic.
30233
30234 2009-10-18  Giuseppe Scrivano  <gscrivano@gnu.org>
30235             Bruno Haible  <bruno@clisp.org>
30236
30237         Implement nproc for NetBSD, OpenBSD.
30238         * lib/nproc.c: Include <sys/types.h>, <sys/param.h>, <sys/sysctl.h>.
30239         (ARRAY_SIZE): New macro.
30240         (num_processors): On BSD systems, try sysctl of HW_NCPU.
30241         * m4/nproc.m4: New file.
30242         * modules/nproc (Files): Add m4/nproc.m4.
30243         (configure.ac): Invoke gl_NPROC. Remove AC_LIBOBJ invocation.
30244         (Makefile.am): Instead, augment lib_SOURCES.
30245
30246 2009-10-18  Bruno Haible  <bruno@clisp.org>
30247
30248         Fix recognition of sys/sysctl.h on OpenBSD 4.0.
30249         * m4/physmem.m4 (gl_PHYSMEM): Before including sys/sysctl.h, include
30250         sys/param.h.
30251
30252 2009-10-16  Eric Blake  <ebb9@byu.net>
30253
30254         utimensat: new module
30255         * modules/utimensat: New file.
30256         * lib/utimensat.c (utimensat): Likewise.
30257         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
30258         * lib/utimens.c (utimensat): Avoid recursion into rpl_utimensat,
30259         so we can work around Linux bugs.
30260         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
30261         * modules/sys_stat (Makefile.am): Substitute them.
30262         * lib/sys_stat.in.h (utimensat): Declare it.
30263         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
30264         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
30265         * modules/utimensat-tests: New test.
30266         * tests/test-utimensat.c: Likewise.
30267
30268         utimens: let lutimens work on non-symlinks
30269         * lib/utimens.c (lutimens): Fall back to utimens rather than
30270         failing with ENOSYS, when file is not a symlink.
30271         (utimens): Reduce redirection.
30272         * tests/test-lutimens.h (test_lutimens): Update test to cover
30273         non-symlinks.
30274         * tests/test-utimens.h (test_utimens): Update test to cover
30275         symlinks.
30276         * tests/test-utimens.c (main): Update caller.
30277
30278         utimens: cache whether utimensat syscall works
30279         * lib/utimens.c (utimensat_works_really): New cache variable.
30280         (fdutimens, lutimens): Use it to avoid failing syscall.
30281
30282         test-stat-time, test-utimens: improve portability
30283         * tests/test-stat-time.c (nap): Lengthen delay to 20ms, for
30284         ext4 on alpha, and for cygwin.
30285         * tests/test-utimens-common.h: New file.
30286         (nap): Factor delays into single function.
30287         * tests/test-lutimens.h (test_lutimens): Use new header.
30288         * tests/test-futimens.h (test_futimens): Likewise.
30289         * tests/test-utimens.h (test_utimens): Likewise.  Also, force NFS
30290         timestamps to occur from same machine, as was done previously for
30291         test_utimens.
30292         * modules/utimens-tests (Files): Ship new file.
30293         * modules/futimens-tests (Files): Likewise.
30294         Reported in part by Jim Meyering.
30295
30296         sys_stat: sort replacement declarations
30297         * lib/sys_stat.in.h: Sort declarations.
30298         * lib/futimens.c (futimens): Fix typo.
30299
30300 2009-10-15  Jim Meyering  <meyering@redhat.com>
30301
30302         don't let environment settings perturb build
30303         Setting the envvars, LIB_CLOCK_GETTIME, LIB_EACCESS or LIB_NANOSLEEP
30304         could cause a configure-time and/or build-time malfunction.
30305         Typically, a configure-time function-in-library test is performed
30306         via code like this:
30307
30308           LIB_VAR=
30309           AC_SUBST([LIB_VAR])
30310           prefix_saved_LIBS=$LIBS
30311             AC_SEARCH_LIBS([FUNC], [LIB_NAME],
30312                        [test "$ac_cv_search_FUNC" = "none required" ||
30313                         LIB_VAR=$ac_cv_search_FUNC])
30314           LIBS=$prefix_saved_LIBS
30315
30316         However, in each of the files affected by this change, the LIB_VAR=
30317         initialization was omitted.  Thus, when set in the environment, its
30318         value would propagate into generated Makefiles when FUNC is not found
30319         in LIB_NAME.
30320         * m4/clock_time.m4 (gl_CLOCK_TIME): Initialize AC_SUBST'd var.
30321         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
30322         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
30323
30324 2009-10-14  Eric Blake  <ebb9@byu.net>
30325
30326         fchdir: avoid infinite recursion in mingw
30327         * lib/fchdir.c (rpl_fstat): Call system fstat, rather than
30328         recursing.
30329
30330         test-stat-time: port to mingw
30331         * tests/test-stat-time.c (force_unlink): Return a value.
30332         (test_ctime) [W32]: Fix compilation error.
30333         (nap): Don't call usleep with too large an argument.  Use
30334         force_unlink.
30335         * doc/pastposix-functions/usleep.texi (usleep): Document the
30336         portability issue.
30337
30338 2009-10-13  Jim Meyering  <meyering@redhat.com>
30339
30340         use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS in modules/*
30341         * modules/pipe-filter-gi: Use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS.
30342         * modules/pipe-filter-ii: Likewise.
30343         * modules/sys_socket-tests: Likewise.
30344         * modules/tsearch-tests: Likewise.
30345         * Makefile (sc_prefer_ac_check_funcs_once): New rule.
30346         (check): Depend on it.
30347
30348 2009-10-12  Eric Blake  <ebb9@byu.net>
30349
30350         utimens-tests: port to NFS file systems
30351         * tests/test-utimens.h (test_utimens): Refactor utimecmp
30352         comparisons to avoid spurious failures from timestamp drift
30353         between NFS machines.
30354
30355 2009-10-12  Eric Blake  <ebb9@byu.net>
30356
30357         stat-time-tests: minor cleanups
30358         * modules/stat-time-tests (configure.ac): Use AC_CHECK_FUNCS_ONCE.
30359         * tests/test-stat-time.c (nap): Separate assignment from call.
30360         Suggested by Paolo Bonzini and Bruno Haible.
30361
30362         sys_stat: guarantee struct timespec
30363         * lib/sys_stat.in.h (includes): Always include <time.h>
30364         * modules/sys_stat (Depends-on): Add time.
30365         * tests/test-sys_stat.c: Guarantee struct timespec, as well as
30366         mode_t permission values.
30367         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document how to
30368         get at subsecond timestamps.
30369
30370 2009-10-10  Eric Blake  <ebb9@byu.net>
30371
30372         futimens: new module
30373         * modules/futimens: New file.
30374         * lib/futimens.c (futimens): Likewise.
30375         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Likewise.
30376         * lib/utimens.c (futimens): Avoid recursion into rpl_futimens, so
30377         we can work around Linux bugs.
30378         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
30379         * modules/sys_stat (Makefile.am): Substitute them.
30380         * lib/sys_stat.in.h (futimens): Declare it.
30381         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
30382         * doc/posix-functions/futimens.texi (futimens): Likewise.
30383         * modules/futimens-tests: New test.
30384         * tests/test-futimens.c: Likewise.
30385
30386         utimens: introduce fdutimens
30387         * lib/utimens.h (fdutimens): New prototype.
30388         * lib/utimens.c (gl_futimens): Move guts...
30389         (fdutimens): ...to new interface.
30390         * tests/test-utimens.c (do_fdutimens): Use it.
30391
30392         utimens: add UTIME_NOW and UTIME_OMIT support
30393         * lib/utimens.c (validate_timespec, update_timespec): New helper
30394         functions.
30395         (gl_futimens, lutimens): Use them.
30396         * modules/utimens (Depends-on): Add gettime, lstat, stat-time,
30397         stdbool, sys_stat.
30398         (Link): Mention resulting library dependency.
30399         * modules/utimecmp (Link): Likewise.
30400         * modules/utimens-tests (Depends-on): Drop stat-time, stdbool.
30401         (Makefile.am): Pick up library dependency.
30402         * lib/sys_stat.in.h (UTIME_NOW, UTIME_OMIT): Guarantee a
30403         definition.
30404         * tests/test-sys_stat.c: Test the definitions.
30405         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document this.
30406         * NEWS: Document library dependency.
30407
30408         utimecmp: support symlink timestamps
30409         * lib/utimecmp.c (utimecmp): Use new interface.  Skip effort of
30410         hashing when possible.  Use pathconf when available.
30411         (SYSCALL_RESOLUTION): Recognize tighter resolution.
30412         * modules/utimecmp (Depends-on): Add lstat.
30413
30414         utimens: add lutimens interface
30415         * lib/utimens.c (lutimens): New function.
30416         * m4/utimens.m4 (gl_UTIMENS): Check for lutimes.
30417         * lib/utimens.h (lutimens): Declare new interface.
30418         * tests/test-utimens.c (main): Enhance test.
30419         * tests/test-lutimens.h (test_lutimens): New file.
30420         * modules/utimens-tests (Files): Distribute it.
30421         (Depends-on): Add symlink.
30422         (configure.ac): Check for usleep.
30423
30424         utimens: validate futimens usage
30425         * lib/utimens.c (gl_futimens): Require valid fd up front, using
30426         fewer syscalls on failure later on.  Avoid compiler warning on
30427         mingw.
30428         * modules/utimens (Depends-on): Add dup2.
30429
30430         utimens: add test
30431         * modules/utimens-tests: New test.
30432         * tests/test-utimens.h: New file.
30433         * tests/test-futimens.h: Likewise.
30434         * tests/test-utimens.c: Likewise.
30435
30436         doc: mention timestamp portability issues
30437         * doc/glibc-functions/lutimes.texi (lutimes): Refer to utimensat
30438         instead.
30439         * doc/posix-functions/utime.texi (utime): Likewise.
30440         * doc/posix-functions/utimes.texi (utimes): Likewise.
30441         * doc/glibc-functions/futimes.texi (futimes): Refer to futimens
30442         instead.
30443         * doc/posix-functions/futimens.texi (futimens): Mention utimens
30444         module.
30445         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
30446         Mention weakness with symlink timestamps.
30447         * doc/glibc-functions/futimesat.texi (futimesat): New file; refer
30448         to utimensat/futimens instead.
30449         * doc/gnulib.texi (Glibc sys/time.h): Include new file.
30450
30451         test-dup2: enhance test
30452         * tests/test-dup2.c (main): Also check AT_FDCWD.
30453
30454         test-stat-time: avoid more spurious failures
30455         * tests/test-stat-time.c (nap): Wait for 15ms rather than 2ms, for
30456         xfs; and avoid race if the two timestamps cross quantization edge.
30457
30458         relocatable: prefer 'file system' over 'filesystem'
30459         * m4/relocatable-lib.m4 (gl_RELOCATABLE_NOP): Use AS_HELP_STRING.
30460         (gl_RELOCATABLE_LIBRARY_BODY): Fix spelling.
30461         * doc/relocatable-maint.texi (Supporting Relocation): Likewise.
30462         * doc/relocatable.texi (Enabling Relocatability): Likewise.
30463         * lib/relocatable.c (compute_curr_prefix): Likewise.
30464
30465 2009-10-10  Jim Meyering  <meyering@redhat.com>
30466
30467         stat-time-tests: check for the usleep function
30468         * modules/stat-time-tests (configure.ac): Now that we test HAVE_USLEEP.
30469
30470 2009-10-10  Bruno Haible  <bruno@clisp.org>
30471
30472         * modules/xnanosleep: Put the Link section after the Include section.
30473
30474 2009-10-09  Eric Blake  <ebb9@byu.net>
30475
30476         dup2: work around FreeBSD 6.1 bug
30477         * m4/dup2.m4 (gl_FUNC_DUP2): Detect bug.
30478         * doc/posix-functions/dup2.texi (dup2): Document it.
30479         Reported by Nelson H. F. Beebe and Jim Meyering.
30480
30481         test-stat-time: port to buggy NFS clients
30482         * tests/test-stat-time.c (main) [W32]: Reduce ifdefs.
30483         (test_ctime): Also skip test if mtime and ctime are skewed.
30484
30485         maint: prefer 'file system' over 'filesystem'
30486         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
30487         * doc/posix-functions/lstat.texi (lstat): Likewise.
30488         * lib/file-has-acl.c (file_has_acl): Likewise.
30489         * lib/fwriteerror.c [TEST]: Likewise.
30490         * tests/test-areadlink.h (test_areadlink): Likewise.
30491         * tests/test-areadlinkat-with-size.c (main): Likewise.
30492         * tests/test-areadlinkat.c (main): Likewise.
30493         * tests/test-canonicalize-lgpl.c (main): Likewise.
30494         * tests/test-canonicalize.c (main): Likewise.
30495         * tests/test-fstatat.c (main): Likewise.
30496         * tests/test-linkat.c (main): Likewise.
30497         * tests/test-lstat.h (test_lstat_func): Likewise.
30498         * tests/test-mkdir.h (test_mkdir): Likewise.
30499         * tests/test-readlink.h (test_readlink): Likewise.
30500         * tests/test-remove.c (main): Likewise.
30501         * tests/test-rename.h (test_rename): Likewise.
30502         * tests/test-renameat.c (main): Likewise.
30503         * tests/test-rmdir.h (test_rmdir_func): Likewise.
30504         * tests/test-symlink.h (test_symlink): Likewise.
30505         * tests/test-symlinkat.c (main): Likewise.
30506         * tests/test-unlink.h (test_unlink_func): Likewise.
30507         * tests/test-unlinkat.c (main): Likewise.
30508
30509         maint: make realtime library usage explicit
30510         * modules/gethrxtime (Link): Mention LIB_GETHRXTIME.
30511         * modules/gettime (Link): Mention LIB_CLOCK_GETTIME.
30512         * modules/settime (Link): Likewise.
30513         * modules/xnanosleep (Link): Mention LIB_NANOSLEEP.
30514
30515         test-stat-time: speed up execution
30516         * tests/test-stat-time.c (test_ctime) [!W32]: Avoid compiler
30517         warning on mingw.
30518         (nap): New helper function.
30519         (prepare_test): Use it to reduce sleep time.
30520         (test_mtime, test_ctime, test_birthtime): Allow for subsecond
30521         execution.
30522         * modules/stat-time-tests (configure.ac): Check for usleep.
30523
30524 2009-10-09  Jim Meyering  <meyering@redhat.com>
30525
30526         selinux-h: always use getfilecon wrappers
30527         * lib/getfilecon.c: New file.
30528         * lib/se-selinux.in.h: Use a better inclusion guard symbol name.
30529         [HAVE_SELINUX_SELINUX_H]: Include-next <selinux/selinux.h>.
30530         [!HAVE_SELINUX_SELINUX_H]: Use better parameter names.
30531         (fgetfilecon): Provide a stub.
30532         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Don't
30533         AC_SUBST SELINUX_SELINUX_H, since now we're generating that
30534         file unconditionally.
30535         When <selinux/selinux.h> is found, arrange to use wrappers.
30536         * modules/selinux-h (Files): Add getfilecon.c.
30537         (Makefile.am): Substitute include-next-related bits
30538         into the now-always-generated selinux/selinux.h file.
30539         * doc/glibc-functions/lgetfilecon.texi: New file.
30540         * doc/glibc-functions/fgetfilecon.texi: New file.
30541         * doc/glibc-functions/getfilecon.texi: New file.
30542         * doc/glibc-functions/getfilecon-desc.texi: New file.
30543         * doc/gnulib.texi (Glibc selinux/selinux.h): New section, by
30544         which to pull in the new files.
30545         * MODULES.html.sh (Misc): Add selinux-h.
30546
30547 2009-10-08  Jim Meyering  <meyering@redhat.com>
30548
30549         unistd: fix comment typo
30550         * lib/unistd.in.h (euidaccess): Fix a comment typo.
30551
30552 2009-10-08  Eric Blake  <ebb9@byu.net>
30553
30554         areadlink: use SIZE_MAX consistently
30555         * modules/areadlink (Depends-on): Add stdint.
30556         * modules/areadlink-with-size (Depends-on): Likewise.
30557         * lib/areadlink-with-size.c (includes): Drop stdio, since stdlib
30558         gives NULL; drop sys/types, since unistd gives size_t; and add
30559         stdint for SIZE_MAX.
30560         (SIZE_MAX): Rely on headers.
30561         * lib/areadlinkat-with-size.c (includes): Drop stdio, sys/types,
30562         and add stdint.
30563         * lib/areadlink.c (includes): Drop sys/types, and add stdint.
30564         (SIZE_MAX): Likewise.
30565         (INITIAL_BUF_SIZE): Turn into enum.
30566         * lib/areadlinkat.c (INITIAL_BUF_SIZE): Likewise.
30567
30568 2009-10-08  Jim Meyering  <meyering@redhat.com>
30569
30570         areadlinkat: avoid compilation failure
30571         * lib/areadlinkat.c: Include <stdint.h> for use of SIZE_MAX.
30572         Fix typo in comment.
30573
30574 2009-10-07  Eric Blake  <ebb9@byu.net>
30575
30576         areadlinkat-with-size: new module
30577         * modules/areadlinkat-with-size: New module.
30578         * lib/areadlinkat-with-size.c (areadlinkat_with_size): New file.
30579         * lib/areadlink.h (areadlinkat): Declare it.
30580         * MODULES.html.sh (File system functions): Mention it.
30581         * modules/areadlinkat-with-size-tests: New test.
30582         * tests/test-areadlinkat-with-size.c: New file.
30583
30584         xreadlinkat: new module
30585         * modules/xreadlinkat: New module.
30586         * lib/xreadlinkat.c (xreadlinkat): New file.
30587         * lib/xreadlink.h (xreadlinkat): Declare it.
30588         * MODULES.html.sh (File system functions): Mention it.
30589
30590         areadlinkat: new module
30591         * lib/at-func.c (FUNC_FAIL): New define.
30592         (AT_FUNC_NAME, VALIDATE_FLAG): Use it rather than raw -1.
30593         * modules/areadlinkat: New module.
30594         * lib/linkat.c (areadlinkat): Move...
30595         * lib/areadlinkat.c (areadlinkat): ...to new file.
30596         * lib/areadlink.h (areadlinkat): Declare it.
30597         * modules/linkat (Depends-on): Add areadlinkat.
30598         * MODULES.html.sh (File system functions): Mention it.
30599         * modules/areadlinkat-tests: New test.
30600         * tests/test-areadlinkat.c: New file.
30601
30602         areadlink, areadlink-with-size: add tests
30603         * modules/areadlink-tests: New test.
30604         * modules/areadlink-with-size-tests: Likewise.
30605         * tests/test-areadlink.h: New file.
30606         * tests/test-areadlink.c: Likewise.
30607         * tests/test-areadlink-with-size.c: Likewise.
30608
30609         maint: minor cleanups
30610         * lib/fts.c (ATTRIBUTE_UNUSED): Delete; use gnulib-guaranteed
30611         _UNUSED_PARAMETER_ instead.
30612         * lib/getdate.y (ATTRIBUTE_UNUSED): Likewise.
30613         * lib/utimens.c (ATTRIBUTE_UNUSED): Likewise.
30614         * modules/linkat-tests (Files): Distribute test-link.h.
30615
30616         openat, utimens: whitespace cleanup
30617         * lib/openat.c: Prefer space throughout, rather than mix of 8
30618         spaces vs. tabs.
30619         * lib/at-func.c: Likewise.
30620         * lib/utimens.c: Likewise.
30621
30622         openat: avoid using wrong fd
30623         * lib/openat.c (openat_permissive): Reject user's fd if saving the
30624         working directory chooses same fd.
30625         * lib/at-func.c (AT_FUNC_NAME): Likewise.
30626
30627         mkdir, mkdirat: fix cygwin 1.5.x bug
30628         * lib/mkdir.c (rpl_mkdir) [FUNC_MKDIR_DOT_BUG]: Work around bug.
30629         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Move...
30630         * m4/mkdir.m4 (gl_FUNC_MKDIR): ...here, and add check for cygwin
30631         bug.
30632         (gl_PREREQ_MKDIR): Delete unused macro.
30633         * modules/mkdir (Files): Track file rename.
30634         (configure.ac): Update macro name.
30635         * modules/openat (Depends-on): Add mkdir.
30636         * doc/posix-functions/mkdir.texi (mkdir): Document the bug.
30637
30638         mkdir, mkdirat: add tests
30639         * modules/mkdir-tests: New test.
30640         * tests/test-mkdir.h: New file.
30641         * tests/test-mkdir.c: Likewise.
30642         * tests/test-mkdirat.c: Likewise.
30643         * modules/openat-tests (Files): Add new files.
30644         (Makefile.am): Run new test.
30645
30646 2009-10-06  Eric Blake  <ebb9@byu.net>
30647
30648         doc: tweak *at function documentation
30649         * doc/posix-functions/faccessat.texi (faccessat): Mention
30650         known issue with replacement.
30651         * doc/posix-functions/fchdir.texi (fchdir): Likewise.
30652         * doc/posix-functions/linkat.texi (linkat): Likewise.
30653         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
30654         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
30655         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
30656         * doc/posix-functions/renameat.texi (renameat): Likewise.
30657         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
30658
30659         openat: fix GNU/Hurd bug in unlinkat
30660         * m4/openat.m4 (gl_FUNC_OPENAT): Replace unlinkat if unlink is
30661         broken.
30662         * doc/posix-functions/unlink.texi (unlink): Document this.
30663         * doc/posix-functions/unlinkat.texi (unlinkat): Likewise.
30664
30665         fdopendir: fix GNU/Hurd bug
30666         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for Hurd bug in
30667         allowing non-directory fds.
30668         * lib/fdopendir.c (rpl_fdopendir): Work around it.
30669         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
30670         * modules/dirent (Makefile.am): Substitute it.
30671         * lib/dirent.in.h (fdopendir): Declare replacement.
30672         * doc/posix-functions/fdopendir.texi (fdopendir): Document this.
30673         * tests/test-fdopendir.c (main): Test something other than
30674         /dev/null, since on Hurd that behaves like a directory.
30675
30676         test-symlink: port to GNU/Hurd
30677         * tests/test-symlink.h (test_symlink): Relax expected errno.
30678
30679         doc: tweak more cygwin information
30680         * doc/glibc-headers/getopt.texi (getopt.h): Cygwin 1.7 getopt is
30681         now compatible with glibc.
30682         * doc/posix-functions/getopt.texi (getopt): Likewise.
30683
30684         getopt-gnu: add another test
30685         * tests/test-getopt_long.h (test_getopt_long_posix): New test, to
30686         guarantee behavior relied on by m4.
30687         * tests/test-getopt.c (main): Use it.
30688         * modules/getopt-posix-tests (Depends-on): Add setenv.
30689         See http://lists.gnu.org/archive/html/bug-m4/2006-09/msg00028.html.
30690
30691         getopt: fix compilation on darwin
30692         * lib/getopt.in.h (includes): Leave breadcrumbs during system
30693         include.
30694         * lib/unistd.in.h (getopt): Use them to avoid recursive include.
30695         Reported by Ludovic Courtès.
30696
30697 2009-10-06  Bruno Haible  <bruno@clisp.org>
30698
30699         * modules/size_max (Description): Discourage its use.
30700         Reported by Simon Josefsson.
30701
30702 2009-10-06  Jim Meyering  <meyering@redhat.com>
30703
30704         linkat: avoid compilation failure
30705         * lib/linkat.c: Include <stdint.h> for use of SIZE_MAX.
30706
30707 2009-10-05  Eric Blake  <ebb9@byu.net>
30708
30709         linkat: support Linux 2.6.17
30710         * m4/linkat.m4 (gl_FUNC_LINKAT): Default to always replacing
30711         linkat on Linux, but allow cache variable override.
30712         * lib/linkat.c (rpl_linkat): Define override.
30713         * modules/linkat (Depends-on): Add symlinkat.
30714         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add new default.
30715         * modules/unistd (Makefile.am): Substitute it.
30716         * lib/unistd.in.h (linkat): Declare replacement.
30717         Reported by Pádraig Brady.
30718
30719         quotearg: port test to systems with C.UTF-8 locale
30720         * tests/test-quotearg.c (struct result_strings): Add another
30721         member, differentiating between C.ASCII and C.UTF-8 handling.
30722         (compare_strings): Add parameter.
30723         (main): Adjust all callers.
30724
30725         getopt: avoid clash with FreeBSD _getopt_internal
30726         * lib/getopt.in.h (_getopt_internal): Override the name.
30727         * lib/getopt_int.h (includes): Pick up any overrides.
30728         Reported by Reuben Thomas.
30729
30730         hash: allow C89 compilation
30731         * lib/hash.c (check_tuning): Move declaration before statement.
30732         Reported by Reuben Thomas.
30733
30734 2009-10-05  Karl Berry  <karl@gnu.org>
30735
30736         * doc/gnulib.texi: @include execvpe.texi, missing for several days.
30737
30738 2009-10-04  Paolo Bonzini  <bonzini@gnu.org>
30739             Bruno Haible  <bruno@clisp.org>
30740
30741         * lib/uname.c (uname): Use a table-driven algorithm to compute
30742         Windows NT versions.
30743
30744 2009-10-04  Bruno Haible  <bruno@clisp.org>
30745
30746         * lib/progname.c (set_program_name): Also remove the "lt-" prefix from
30747         program_invocation_short_name.
30748         * modules/progname (configure.ac): Test for presence of
30749         program_invocation_short_name.
30750         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
30751
30752 2009-10-04  Bruno Haible  <bruno@clisp.org>
30753
30754         * lib/progname.c (set_program_name): Fix comment.
30755         Reported by Jim Meyering.
30756
30757 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
30758             Bruno Haible  <bruno@clisp.org>
30759
30760         * lib/uname.c: Include <string.h>.
30761         (uname): Do only one call to GetVersionEx in the common case.
30762
30763 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
30764             Bruno Haible  <bruno@clisp.org>
30765
30766         * lib/uname.c (VER_PLATFORM_WIN32_CE, PROCESSOR_ARCHITECTURE_AMD64,
30767         PROCESSOR_ARCHITECTURE_IA32_ON_WIN64): Define fallbacks.
30768         (uname): Add support for Windows CE and various non-x86 CPU types.
30769
30770 2009-10-03  Bruno Haible  <bruno@clisp.org>
30771
30772         * gnulib-tool (func_create_testdir): Conditionally emit AM_PROG_CC_C_O
30773         invocation to tests/configure.ac.
30774         Reported by Ian Beckwith <ianb@erislabs.net>.
30775
30776 2009-10-02  Eric Blake  <ebb9@byu.net>
30777
30778         fchdir: avoid compiler warning
30779         * lib/fchdir.c (canonicalize_file_name)
30780         [!HAVE_CANONICALIZE_FILE_NAME]: Avoid compiler warning on mingw.
30781
30782         test-open: support mingw errno values
30783         * tests/test-open.h (test_open): Relax test.
30784         * tests/test-fopen.h (test_fopen): Likewise.
30785         * tests/test-openat-safer.c (main): Likewise.
30786
30787         open: fix opening directory on mingw
30788         * lib/open.c (open) [REPLACE_OPEN_DIRECTORY]: Correct typo.
30789
30790         test-open: on GNU/Hurd, /dev/null is a directory
30791         * tests/test-fopen.h (main): Rename...
30792         (test_fopen): ...to this.  Use a guaranteed non-directory when
30793         confirming open behavior on trailing slash.
30794         * tests/test-openat-safer.c (main): Likewise.
30795         * tests/test-open.h (main): Likewise....
30796         (test_open): ...to this.
30797         * tests/test-fopen.c (main): Adjust caller.
30798         * tests/test-fopen-safer.c (main): Likewise.
30799         * tests/test-open.c (main): Likewise.
30800         * tests/test-fcntl-safer.c (main): Likewise.
30801         Reported by Samuel Thibault.
30802
30803         rename, fchdir: don't ignore chdir failure
30804         * lib/fchdir.c (get_name): Abort on unexpected chdir failure.
30805         * lib/rename.c (rpl_rename) [W32]: Likewise.
30806         (rpl_rename) [RENAME_DEST_EXISTS_BUG]: Avoid one case of losing
30807         an empty destination directory if source cannot be renamed,
30808         although there is still possibility for failure.
30809         * doc/posix-functions/rename.texi (rename): Document the race.
30810         Reported by Jim Meyering.
30811
30812         maint: cleanup whitespace in recent commits
30813         * lib/rename.c (rpl_rename): Remove tabs.
30814         * tests/test-link.h (test_link): Likewise.
30815         * lib/fchdir.c (get_name): Likewise.
30816         Reported by Jim Meyering.
30817
30818 2009-10-02  Ben Pfaff  <blp@gnu.org>
30819
30820         relocatable-prog-wrapper: Add missing dependency on
30821         double-slash-root.
30822         * modules/relocatable-prog-wrapper: Add dependency.
30823         Reported by Ian Beckwith <ianb@erislabs.net>.
30824
30825 2009-10-02  Eric Blake  <ebb9@byu.net>
30826
30827         renameat: fix Solaris bugs
30828         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Replace renameat if rename
30829         needed fixing.
30830         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): New witness.
30831         * modules/stdio (Makefile.am): Substitute it.
30832         * lib/stdio.in.h (renameat): Declare replacement.
30833         * lib/renameat.c (rpl_renameat): Implement fix.
30834
30835         renameat: new module
30836         * modules/renameat: New file.
30837         * lib/renameat.c (renameat): Likewise.
30838         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Likewise.
30839         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
30840         * modules/stdio (Makefile.am): Substitute them.
30841         * lib/stdio.in.h (renameat): Declare it.
30842         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
30843         * doc/posix-functions/renameat.texi (renameat): Likewise.
30844         * modules/renameat-tests: New test.
30845         * tests/test-renameat.c: Likewise.
30846
30847         rename: fix mingw bugs
30848         * lib/rename.c (rpl_rename) [W32]: Fix trailing slash and
30849         directory overwrite bugs.
30850
30851         rename: fix another cygwin 1.5 bug
30852         * m4/rename.m4 (gl_FUNC_RENAME): Split cygwin bugs into two
30853         checks.
30854         * lib/rename.c (rpl_rename): Don't penalize NetBSD with
30855         unnecessary cygwin workarounds.  Also work around bug with moving
30856         full directory onto an empty one.
30857         * modules/rename (Depends-on): Add canonicalize-lgpl, rmdir.
30858
30859         rename-dest-slash: merge into rename module
30860         * modules/rename-dest-slash (Status): Mark obsolete.
30861         (Depends-on): Add rename.
30862         (Files): Let rename do it all.
30863         * m4/rename.m4 (gl_FUNC_RENAME): Also test for NetBSD bugs,
30864         subsuming the test from gl_FUNC_RENAME_TRAILING_DEST_SLASH...
30865         * m4/rename-dest-slash.m4: ...so this file can be deleted.
30866         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Delete.
30867         * lib/rename.c (rpl_rename): Update comments.
30868
30869         rename: fix cygwin 1.5.x bugs
30870         * m4/rename.m4 (gl_FUNC_RENAME): Detect cygwin bugs.
30871         * lib/rename.c (rpl_rename): Work around them.
30872         * modules/rename (Depends-on): Add same-inode.
30873
30874         rename: fix Solaris 10 bug
30875         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
30876         * lib/rename.c (rpl_rename): Don't cripple POSIX behavior if this
30877         was the only bug.
30878
30879         rename: fix Solaris 9 bug
30880         * lib/rename.c (rpl_rename): Rewrite to recognize trailing slash
30881         on non-directory.  Avoid calling exit.
30882         * modules/rename (Depends-on): Drop xalloc; add lstat, stdbool,
30883         strdup.
30884         * modules/rename-tests (Depends-on): Drop lstat.
30885         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
30886         (gl_PREREQ_RENAME): Delete unused macro.
30887
30888         rename-dest-slash: fix NetBSD bug
30889         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Detect hard
30890         links.
30891         * modules/rename-dest-slash (Depends-on): Add same-inode.
30892
30893         rename-tests: new test, exposes several platform bugs
30894         * modules/rename-tests: New file.
30895         * tests/test-rename.h: Likewise.
30896         * tests/test-rename.c: Likewise.
30897         * doc/posix-functions/rename.texi (rename): Improve documentation,
30898         including bugs that will eventually be fixed in gnulib.
30899
30900 2009-10-02  Paolo Bonzini  <bonzini@gnu.org>
30901
30902         * lib/uname.c: Include <stdlib.h>
30903         (uname): Assume version info is available.
30904
30905 2009-10-02  Jim Meyering  <meyering@redhat.com>
30906
30907         gnu-web-doc-update: correct --help output
30908         * build-aux/gnu-web-doc-update: Make --help output relevant.
30909
30910         gnu-web-doc-update: add standard options
30911         * build-aux/gnu-web-doc-update: Add --help, --version, etc.
30912
30913         gnu-web-doc-update: New module.
30914         Use this script to automatically update the on-line web documentation
30915         for your GNU project at http://www.gnu.org/software/$pkg/manual/
30916         * modules/gnu-web-doc-update: New file, from coreutils.
30917         * build-aux/gnu-web-doc-update: New script.
30918
30919 2009-10-01  Paolo Bonzini  <bonzini@gnu.org>
30920
30921         link: LoadLibrary is not needed.
30922         * lib/link.c: Use GetModuleHandle.
30923
30924 2009-10-01  Eric Blake  <ebb9@byu.net>
30925
30926         getopt: bump serial number
30927         * m4/getopt.m4: Increment serial number, to account for 2009-09-24
30928         change.
30929
30930         tests: tighten link, rmdir, and remove tests
30931         * tests/test-link.h (includes): No need to use <config.h> here.
30932         Clean up if directory hard link was created, otherwise test for
30933         trailing '.'.
30934         * tests/test-linkat.c (main): Simplify.
30935         * tests/test-remove.c (main): Enhance test for trailing '.'.
30936         * tests/test-rmdir.h (test_rmdir_func): Likewise.
30937
30938 2009-10-01  Jim Meyering  <meyering@redhat.com>
30939
30940         maint.mk: requiring "make major" was annoying, for a "minor" release.
30941         What is intended is "stable", to contrast with alpha and beta,
30942         so require "make stable", not "make major".
30943         * build-aux/announce-gen (%valid_release_types): s/major/stable/.
30944         (get_tool_versions): Likewise.
30945         * top/maint.mk (ALL_RECURSIVE_TARGETS): s/major/stable/
30946
30947 2009-09-30  Ben Pfaff  <blp@gnu.org>
30948
30949         Fix broken build of replacement for Windows tmpfile().
30950         * lib/tmpfile.c (tmpfile): Fix call to gen_tempname() to provide
30951         flags argument added along with the 'mkostemp' module.
30952
30953 2009-09-28  Bruno Haible  <bruno@clisp.org>
30954
30955         Avoid identifier clash with POSIX function 'remove' defined as a macro.
30956         * lib/gl_list.h (struct gl_list_implementation): Rename field 'remove'
30957         to 'remove_elt'.
30958         (gl_list_remove): Update.
30959         * lib/gl_list.c (gl_list_remove): Update.
30960         * lib/gl_oset.h (struct gl_oset_implementation): Rename field 'remove'
30961         to 'remove_elt'.
30962         (gl_oset_remove): Update.
30963         * lib/gl_list.c (gl_oset_remove): Update.
30964         Reported by Eric Blake.
30965
30966 2009-09-28  Eric Blake  <ebb9@byu.net>
30967
30968         doc: mention yet more cygwin 1.7 status
30969         * doc/posix-functions/fexecve.texi (fexecve): Now implemented in
30970         cygwin.
30971         * doc/glibc-functions/execvpe.texi (execvpe): New file.
30972         * doc/gnulib.texi (Glibc unistd.h): Mention it.
30973
30974         argp: fix test failure
30975         * lib/argp-help.c (hol_entry_cmp): Don't use _tolower on values
30976         that are not upper-case.  Pass correct range to tolower.
30977
30978 2009-09-27  Jim Meyering  <meyering@redhat.com>
30979
30980         test-yesno: work around sparc-dash here-document infelicity
30981         Without this change, the literal \177 byte in a here document
30982         would make dash 0.5.5.1-3 access uninitialized memory.
30983         * tests/test-yesno.sh: Don't put the \177 byte in the here document.
30984         Instead, use a marker, "@", and filter through tr to create the desired
30985         contents.  Reported as <http://bugs.debian.org/548493> by Kurt Roeckx.
30986
30987 2009-09-27  Bruno Haible  <bruno@clisp.org>
30988
30989         Disable untested support for new flavours of ACLs on AIX.
30990         * lib/file-has-acl.c (file_has_acl): Mark newer AIX code as work in
30991         progress.
30992         * lib/set-mode-acl.c (qset_acl): Likewise.
30993
30994 2008-12-07  Bruno Haible  <bruno@clisp.org>
30995
30996         Add support for new flavours of ACLs on AIX. (Untested.)
30997         * lib/file-has-acl.c [AIX] (acl_nfs4_nontrivial): New function.
30998         (file_has_acl): Add support for newer AIX.
30999         * lib/set-mode-acl.c (qset_acl): Likewise.
31000         * tests/test-sameacls.c (main): Fix use of aclx_get function. Hint by
31001         Rainer Tammer <tammer@tammer.net>.
31002
31003 2009-09-26  Eric Blake  <ebb9@byu.net>
31004
31005         argp: fix compilation of getopt
31006         * lib/getopt.in.h (includes): Use different guard than glibc.
31007         Reported by Sergey Poznyakoff.
31008
31009         doc: mention more cygwin 1.7 status
31010         * doc/posix-functions/access.texi (access): Mention cygwin 1.5
31011         bug.
31012         * doc/posix-functions/execl.texi (execl): Likewise.
31013         * doc/posix-functions/execle.texi (execle): Likewise.
31014         * doc/posix-functions/execlp.texi (execlp): Likewise.
31015         * doc/posix-functions/execv.texi (execv): Likewise.
31016         * doc/posix-functions/execve.texi (execve): Likewise.
31017         * doc/posix-functions/execvp.texi (execvp): Likewise.
31018         * doc/glibc-functions/canonicalize_file_name.texi
31019         (canonicalize_file_name): Cygwin 1.7 now provides this.
31020         * doc/glibc-functions/euidaccess.texi (euidaccess): Likewise.
31021         * doc/posix-functions/fchmodat.texi (fchmodat): Mention limitation
31022         on AT_SYMLINK_NOFOLLOW.
31023
31024 2009-09-24  Eric Blake  <ebb9@byu.net>
31025
31026         test-linkat: make test more robust
31027         * tests/test-linkat.c (main): Avoid collision with EEXIST.
31028
31029         getopt: fix inclusion guards for cygwin
31030         * modules/getopt-posix (Depends-on): Add include-next.
31031         (Makefile.am): Substitute more items in replacement header.
31032         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Also check for native
31033         <getopt.h>.
31034         * lib/getopt.in.h (includes): Use split inclusion guard, and
31035         prefer <getopt.h> over include <unistd.h> when one is present.
31036         (option): Also override name of 'struct option'.
31037
31038         same-inode: revert prior change; it is not yet ready
31039         * NEWS: Undo mention of this change.
31040         * lib/same-inode.h (same-inode.h): Undo tri-state change.
31041         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
31042         * lib/cycle-check.c (cycle_check): Likewise.
31043         * lib/same.c (same_name): Likewise.
31044         * lib/at-func2.c (at_func2): Likewise.
31045
31046 2009-09-23  Eric Blake  <ebb9@byu.net>
31047
31048         linkat: new module
31049         * modules/linkat: New file.
31050         * lib/at-func2.c (at_func2): Likewise.
31051         * lib/linkat.c (linkat): Likewise.
31052         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
31053         * lib/openat-priv.h (at_func2): Add declaration.
31054         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
31055         * modules/unistd (Makefile.am): Substitute them.
31056         * lib/unistd.in.h (linkat): Declare it.
31057         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
31058         * doc/posix-functions/linkat.texi (linkat): Likewise.
31059         * doc/posix-functions/link.texi (link): Tweak wording.
31060         * tests/test-link.c (main): Move guts...
31061         * tests/test-link.h (test_link): ...into new file.
31062         * modules/linkat-tests: New test.
31063         * tests/test-linkat.c: Likewise.
31064         * modules/link-tests (Files): Ship new file.
31065         (Depends-on): Add stdbool.
31066
31067         dirname: add library-safe mdir_name
31068         * lib/dirname.h (mdir_name): New prototype.
31069         * lib/dirname.c (dir_name): Move guts...
31070         (mdir_name): ...to new function that avoids xalloc_die.
31071
31072         fchdir: another mingw fix
31073         * modules/fchdir (Depends-on): Drop canonicalize-lgpl.
31074         * lib/fchdir.c (get_name): New helper method; skips canonicalize
31075         on mingw (where it has not yet been ported), and make it optional
31076         elsewhere.
31077         (_gl_register_fd): Use it.
31078
31079         same-inode: make SAME_INODE tri-state, to port to mingw
31080         * NEWS: Mention this change.
31081         * lib/same-inode.h (same-inode.h): Recognize mingw limitation of
31082         st_ino always being 0.
31083         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
31084         * lib/cycle-check.c (cycle_check): Likewise.
31085         * lib/same.c (same_name): Likewise.
31086
31087         lstat: avoid mingw compilation error
31088         * m4/lstat.m4 (gl_FUNC_LSTAT): Avoid duplicate calls to
31089         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, and deal with missing
31090         lstat ourselves.
31091         * lib/lstat.c [!HAVE_LSTAT]: Do nothing if <sys/stat.h> override
31092         was adequate.
31093         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Let lstat module handle
31094         the checks for lstat.
31095         (gl_SYS_STAT_H_DEFAULTS): Set default for HAVE_LSTAT.
31096
31097         link: fix test failure on Solaris 9
31098         * lib/link.c (rpl_link): Don't assume link will catch bogus
31099         trailing slash on source.
31100
31101         test-symlinkat: enhance test
31102         * tests/test-readlink.c (main): Move guts...
31103         * tests/test-readlink.h (test_readlink): ...into new file.
31104         * tests/test-symlink.c (main): Move guts...
31105         * tests/test-symlink.h (test_symlink): ...into new file.
31106         * tests/test-symlinkat.c (main): Use new files for further
31107         coverage.
31108         (do_symlink, do_readlink): New helper functions.
31109         * modules/symlink-tests (Files): Ship new file.
31110         (Depends-on): Add stdbool.
31111         * modules/readlink-tests (Files): Ship new file.
31112         (Depends-on): Add stdbool.
31113         * modules/symlinkat-tests (Files): Use new files.
31114
31115 2009-09-23  Eric Blake  <ebb9@byu.net>
31116
31117         readlink: document portability issue with symlink length
31118         * doc/posix-functions/lstat.texi (lstat): Mention that some file
31119         systems have bogus st_size on symlinks, and mention the
31120         areadlink-with-size module.
31121         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
31122         * doc/posix-functions/readlink.texi (readlink): Mention the
31123         areadlink module, and ERANGE failure.
31124         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
31125         * tests/test-readlink.c (main): Relax test for AIX, HP-UX.
31126
31127         readlink: fix Solaris 9 bug with trailing slash
31128         * lib/readlink.c (rpl_readlink): Work around trailing slash bug.
31129         * m4/readlink.m4 (gl_FUNC_READLINK): Detect the bug.
31130         * doc/posix-functions/readlink.texi (readlink): Document this.
31131         * modules/readlink-tests: New test.
31132         * tests/test-readlink.c: Likewise.
31133
31134         readlink: fix cygwin 1.5.x bug with return type
31135         * m4/readlink.m4 (gl_FUNC_READLINK): Require correct signature.
31136         * lib/unistd.in.h (readlink): Use ssize_t.
31137         * lib/readlink.c (readlink): Likewise.
31138         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
31139         * modules/unistd (Makefile.am): Substitute it.
31140         * lib/unistd.in.h (readlink): Declare replacement.
31141         * doc/posix-functions/readlink.texi (readlink): Document this.
31142
31143         symlink: use throughout gnulib
31144         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Omit symlink check.
31145         * lib/symlinkat.c (symlinkat) [!HAVE_SYMLINK]: Document why
31146         symlink is not used.
31147         * modules/symlinkat (Depends-on): Add symlink.
31148         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
31149         * modules/canonicalize-tests (Depends-on): Likewise.
31150         * modules/lstat-tests (Depends-on): Likewise.
31151         * modules/openat-tests (Depends-on): Likewise.
31152         * modules/remove-tests (Depends-on): Likewise.
31153         * modules/rmdir-tests (Depends-on): Likewise.
31154         * modules/unlink-tests (Depends-on): Likewise.
31155         * tests/test-canonicalize-lgpl.c (symlink): Delete stub.
31156         * tests/test-canonicalize.c (symlink): Likewise.
31157         * tests/test-fstatat.c (symlink): Likewise.
31158         * tests/test-lstat.c (symlink): Likewise.
31159         * tests/test-remove.c (symlink): Likewise.
31160         * tests/test-rmdir.c (symlink): Likewise.
31161         * tests/test-unlink.c (symlink): Likewise.
31162         * tests/test-unlinkat.c (symlink): Likewise.
31163
31164         symlink: new module, for Solaris 9 bug
31165         * modules/symlink: New file.
31166         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
31167         * lib/symlink.c: Likewise.
31168         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
31169         * modules/unistd (Makefile.am): Substitute them.
31170         * lib/unistd.in.h (symlink): Declare replacement.
31171         * MODULES.html.sh (File system functions): Mention it.
31172         * doc/posix-functions/symlink.texi (symlink): Likewise.
31173         * modules/symlink-tests: New test.
31174         * tests/test-symlink.c: Likewise.
31175
31176 2009-09-23  Bruno Haible  <bruno@clisp.org>
31177
31178         * gnulib-tool (func_import): Add 'link-warning' to testsrelated_modules
31179         when needed.
31180         Test case: gnulib-tool --import --with-tests atexit inttypes.
31181         Reported by Pauli Miettinen <pauli.miettinen@cs.helsinki.fi>.
31182
31183 2009-09-23  Bruno Haible  <bruno@clisp.org>
31184
31185         * gnulib-tool (func_emit_tests_Makefile_am): Set uses_subdirs in a
31186         subcommand, not in a subshell.
31187
31188 2009-09-22  Eric Blake  <ebb9@byu.net>
31189
31190         unistd: sort replacement declarations
31191         * lib/unistd.in.h: Sort declarations.
31192
31193         open, openat: minor optimization
31194         * lib/open.c (open): If open succeeded, len is non-zero.
31195         * lib/openat.c (rpl_openat): Likewise.
31196
31197         link-follow: ensure correct result
31198         * m4/fcntl_h.m4 (gl_FCNTL_H): Clean up temporary file.
31199         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Likewise, and
31200         distinguish between possible failures.
31201
31202 2009-09-21  Eric Blake  <ebb9@byu.net>
31203
31204         fts: avoid compiler warning
31205         * lib/fts.c (dirent_inode_sort_may_be_useful)
31206         (leaf_optimization_applies) [!__linux__]: Mark unused parameters.
31207
31208 2009-09-19  Bruno Haible  <bruno@clisp.org>
31209
31210         * lib/progreloc.c (canonicalize_file_name): New declaration.
31211
31212 2009-09-19  Eric Blake  <ebb9@byu.net>
31213
31214         link: fix quoting
31215         * m4/link.m4 (gl_FUNC_LINK): Fix shell quoting.
31216
31217         openat: fix openat bugs on Solaris 9
31218         * lib/openat.c (rpl_openat): Work around Solaris 9 bug.
31219         * m4/openat.m4 (gl_FUNC_OPENAT): Also replace openat on Solaris.
31220         * modules/openat (Depends-on): Add open.
31221         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide new default.
31222         * modules/fcntl-h (Makefile.am): Substitute it.
31223         * lib/fcntl.in.h (openat): Declare replacement.
31224         * doc/posix-functions/openat.texi (openat): Document this.
31225
31226         openat: move fstatat and unlinkat into correct files
31227         * m4/openat.m4 (gl_FUNC_OPENAT): Adjust which files will be
31228         compiled.
31229         * lib/openat.c (fstatat, unlinkat): Move...
31230         * lib/fstatat.c (fstatat): ...into correct files.
31231         * lib/unlinkat.c (unlinkat): Likewise.
31232
31233         openat: fix unlinkat bugs on Solaris 9
31234         * lib/unlinkat.c (unlinkat): New file.
31235         * modules/openat (Depends-on): Add unlink.
31236         (Files): Distribute it.
31237         * m4/openat.m4 (gl_FUNC_OPENAT): Mark unlinkat for replacement if
31238         trailing slash behavior is broken.
31239         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
31240         * modules/unistd (Makefile.am): Substitute it.
31241         * lib/unistd.in.h (unlinkat): Declare replacement.
31242         * doc/posix-functions/unlinkat.texi (unlinkat): Document this.
31243
31244         openat: fix fstatat bugs on Solaris 9
31245         * lib/fstatat.c (rpl_fstatat): Copy recent fixes from lstat and
31246         stat.
31247         * doc/posix-functions/fstatat.texi (fstatat): Document this.
31248
31249         test-unlinkat: enhance test, to expose Solaris 9 bug
31250         * tests/test-unlink.c (main): Factor guts...
31251         * tests/test-unlink.h (test_rmdir_func): ...into new file.
31252         * tests/test-rmdir.h (test_rmdir_func): Add parameter.
31253         * tests/test-rmdir.c (main): Adjust caller.
31254         * tests/test-unlinkat.c (main): Likewise.  Add unlink tests.
31255         (unlinker): New helper function.
31256         (rmdirat): Enhance check.
31257         * modules/rmdir-tests (Depends-on): Add stdbool.
31258         * modules/unlink-tests (Depends-on): Likewise.
31259         (Files): Add test-unlink.h.
31260         * modules/openat-tests (Files): Likewise.
31261         (Depends-on): Add unlinkdir.
31262
31263         test-fstatat: new test, to expose Solaris 9 bugs
31264         * tests/test-stat.c (main): Factor guts...
31265         * tests/test-stat.h (test_stat_func): ...into new file.
31266         * tests/test-lstat.c (main): Factor guts...
31267         * tests/test-lstat.h (test_lstat_func): ...into new file.
31268         * tests/test-fstatat.c: New file.
31269         * modules/stat-tests (Files): Add test-stat.h.
31270         * modules/lstat-tests (Files): Add test-lstat.h.
31271         (Depends-on): Add stdbool.
31272         * modules/openat-tests (Depends-on): Add pathmax.
31273         (Files): Add test-lstat.h, test-stat.h, test-fstatat.c.
31274         (Makefile.am): Run new test.
31275
31276         remove: new module, for mingw and Solaris 9 bugs
31277         * modules/remove: New file.
31278         * lib/remove.c: Likewise.
31279         * m4/remove.m4 (gl_FUNC_REMOVE): Likewise.
31280         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
31281         * modules/stdio (Makefile.am): Use them.
31282         * lib/stdio.in.h (remove): Declare replacement.
31283         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
31284         * doc/posix-functions/remove.texi (remove): Likewise.
31285         * modules/remove-tests: New test.
31286         * tests/test-remove.c: Likewise.
31287
31288         unlink: new module, for Solaris 9 bug
31289         * modules/unlink: New file.
31290         * lib/unlink.c: Likewise.
31291         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
31292         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
31293         * modules/unistd (Makefile.am): Use them.
31294         * lib/unistd.in.h (stat): Declare replacement.
31295         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
31296         * doc/posix-functions/unlink.texi (unlink): Likewise.
31297         * modules/unlink-tests: New test.
31298         * tests/test-unlink.c: Likewise.
31299
31300         lstat: fix Solaris 9 bug
31301         * lib/lstat.c (lstat): Also check for trailing slash on
31302         non-symlink, non-directories.  Use stat module to simplify logic.
31303         * doc/posix-functions/lstat.texi (lstat): Document it.
31304         * modules/lstat-tests (Depends-on): Add errno, same-inode.
31305         (configure.ac): Check for symlink.
31306         * tests/test-lstat.c (main): Add more tests.
31307
31308         stat: add as dependency to other modules
31309         * modules/chown (Depends-on): Add stat.
31310         * modules/euidaccess (Depends-on): Likewise.
31311         * modules/fchdir (Depends-on): Likewise.
31312         * modules/isdir (Depends-on): Likewise.
31313         * modules/link (Depends-on): Likewise.
31314         * modules/lstat (Depends-on): Likewise.
31315         * modules/mkdir-p (Depends-on): Likewise.
31316         * modules/modechange (Depends-on): Likewise.
31317         * modules/open (Depends-on): Likewise.
31318         * modules/readlink (Depends-on): Likewise.
31319         * modules/same (Depends-on): Likewise.
31320
31321         stat: fix Solaris 9 bug
31322         * m4/stat.m4 (gl_FUNC_STAT): Detect Solaris 9 bug with trailing
31323         slash.
31324         * lib/stat.c (rpl_stat): Work around it.
31325         * doc/posix-functions/stat.texi (stat): Update documentation.
31326
31327         stat: new module, for mingw bug
31328         * modules/stat: New file.
31329         * lib/stat.c: Likewise.
31330         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
31331         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
31332         * modules/sys_stat (Makefile.am): Use them.
31333         * lib/sys_stat.in.h (stat): Declare replacement.
31334         * lib/openat.c (fstatat): Deal with lstat and stat being function
31335         macros.
31336         * modules/openat (Depends-on): Add inline.
31337         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
31338         * doc/posix-functions/stat.texi (stat): Likewise.
31339         * modules/stat-tests: New test.
31340         * tests/test-stat.c: Likewise.
31341
31342 2009-09-19  Jim Meyering  <meyering@redhat.com>
31343
31344         syntax-check: detect unnecessary inclusion of canonicalize.h
31345         * top/maint.mk (sc_prohibit_canonicalize_without_use): New rule.
31346
31347 2009-09-19  Eric Blake  <ebb9@byu.net>
31348
31349         canonicalize-lgpl: adjust clients to use correct header
31350         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
31351         (gl_CANONICALIZE_LGPL): Use correct shell quoting.
31352         * modules/relocatable-prog-wrapper (Files): Drop canonicalize.h.
31353         * lib/fchdir.c (includes): Use <stdlib.h>, not "canonicalize.h".
31354         * lib/progreloc.c (includes): Likewise.
31355
31356 2009-09-19  Jim Meyering  <meyering@redhat.com>
31357
31358         test-posixtm.c: correct a comment
31359         * tests/test-posixtm.c: Correct first-line comment.
31360         Spotted by Eric Blake.
31361
31362 2009-09-16  Jim Meyering  <meyering@redhat.com>
31363
31364         posixtm-tests: make T const-correct; add a test case
31365         * tests/test-posixtm.c (T): Declare const.
31366         Add a test for -(2^31+1).
31367         Remove useless can-succeed-only-in-2002 test.
31368
31369         posixtm-tests: adjust the sole failing test
31370         * tests/test-posixtm.c: Correct 0000-01-01 00:00:00 test so that
31371         expected output matches what mktime now produces.  Cross-checked via
31372         erlang's calendar:datetime_to_gregorian_seconds({{1970,1,1},{0,0,0}})
31373
31374         posixtm: move #ifdef'd tests into a new module
31375         * lib/posixtm.c (posixtime): Remove #ifdef'd tests.  Move to...
31376         * tests/test-posixtm.c: ... this new file.
31377         * modules/posixtm-tests: New module.
31378
31379 2009-09-19  Eric Blake  <ebb9@byu.net>
31380
31381         openat: simplify use of at-func.c
31382         * lib/at-func.c (includes): Include prerequisites here, to
31383         simplify requirements on client files.
31384         * lib/openat-priv.h: Add double-inclusion guard.
31385         * lib/faccessat.c (includes): Simplify.
31386         * lib/fchmodat.c (includes): Likewise.
31387         * lib/fchownat.c (includes): Likewise.
31388         * lib/mkdirat.c (includes): Likewise.
31389         * lib/mkfifoat.c (includes): Likewise.
31390         * lib/symlinkat.c (includes): Likewise.
31391
31392         openat: allow return of fd 0
31393         * modules/chdir-long (Depends-on): Relax openat-safer to openat.
31394         * modules/save-cwd (Depends-on): Replace fcntl-safer with
31395         unistd-safer.
31396         * lib/chdir-long.c (includes): Replace "fcntl--.h" with
31397         <fcntl.h>; this module does not leak fds.
31398         * lib/openat.c (includes): Do not use "fcntl_safer"; plain openat
31399         must be allowed to return 0, leaving openat_safer to add the
31400         safety.
31401         (openat_permissive): Avoid writing to just-opened fd 2 if
31402         restoring the current directory fails.
31403         * lib/openat-die.c (openat_restore_fail): Add comment.
31404         * lib/save-cwd.c (includes): Make "fcntl--.h" conditional.
31405         (save_cwd): Guarantee safe fd, but without use of open_safer.
31406         * tests/test-openat.c: New test.
31407         * modules/openat-tests (Files, Makefile.am): Distribute and build
31408         new file.
31409
31410         relocatable-prog-wrapper: fix build
31411         * modules/relocatable-prog-wrapper (Files): Update name of
31412         canonicalize m4 file, broken on 2009-09-17.
31413         Reported by emad hajjar <aleppos@hotmail.com>.
31414
31415 2009-09-19  Bruno Haible  <bruno@clisp.org>
31416
31417         * lib/safe-alloc.h: Use the standard header with GPL copyright.
31418         * lib/safe-alloc.c: Likewise.
31419         Reported by Ian Beckwith <ianb@erislabs.net>.
31420
31421 2009-09-18  Bruno Haible  <bruno@clisp.org>
31422
31423         * gnulib-tool: Add advice to "cannot find configure.ac" error message.
31424         Reported by <erobles@sensacd.com.mx>.
31425
31426 2009-09-17  Eric Blake  <ebb9@byu.net>
31427
31428         canonicalize: in CAN_ALL_BUT_LAST, allow trailing slash
31429         * lib/canonicalize.c (canonicalize_filename_mode): Skip trailing
31430         slashes when checking if last component is missing.
31431         * tests/test-canonicalize.c (main): Test this.
31432
31433         canonicalize, canonicalize-lgpl: honor // if distinct from /
31434         * modules/canonicalize (Files): Add double-slash-root.m4.
31435         * modules/canonicalize-lgpl (Files): Likewise.
31436         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
31437         (gl_CANONICALIZE_LGPL_SEPARATE): Add dependency.
31438         * lib/canonicalize.c (DOUBLE_SLASH_IS_DISTINCT_ROOT): Provide
31439         fallback definition.
31440         (canonicalize_filename_mode): Use it to protect //.
31441         * lib/canonicalize-lgpl.c (DOUBLE_SLASH_IS_DISTINCT_ROOT)
31442         (__realpath): Likewise.
31443         * tests/test-canonicalize.c (main): Test this.
31444         * tests/test-canonicalize-lgpl.c (main): Likewise.
31445         * modules/canonicalize-tests (Depends-on): Add same-inode.
31446         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
31447
31448         canonicalize-lgpl: fix glibc bug with trailing slash
31449         * m4/canonicalize-lgpl.m4: Move contents...
31450         * m4/canonicalize.m4: ...here.
31451         (gl_CANONICALIZE_LGPL): Factor realpath check...
31452         (gl_FUNC_REALPATH_WORKS): ...into new macro.  Enhance to catch
31453         glibc 2.3.5 bug, fixed 2005-04-27.
31454         (gl_FUNC_CANONICALIZE_FILENAME_MODE): Use it.
31455         (gl_PREREQ_CANONICALIZE_LGPL): Inline...
31456         (gl_CANONICALIZE_LGPL_SEPARATE): ...into this macro.
31457         * modules/canonicalize-lgpl (Files): Manage file rename.
31458         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
31459         * modules/stdlib (Makefile.am): Substitute witness.
31460         * lib/stdlib.in.h (canonicalize_file_name): Declare if replacement
31461         is needed.
31462         * lib/canonicalize-lgpl.c: Also compile if canonicalize_file_name
31463         replacement is required.
31464         * lib/canonicalize.c (canonicalize_file_name): Likewise.
31465         * doc/glibc-functions/canonicalize_file_name.texi
31466         (canonicalize_file_name): Document this.
31467         * doc/posix-functions/realpath.texi (realpath): Likewise.
31468
31469         canonicalize-lgpl: reject non-directory with trailing slash
31470         * lib/canonicalize-lgpl.c (__realpath): Synchronize with glibc.
31471         * tests/test-canonicalize-lgpl.c (main): Enhance test.  This
31472         catches failures in glibc 2.3.5.
31473         * tests/test-canonicalize.c (main): Likewise.
31474
31475         canonicalize-lgpl: use native realpath if it works
31476         * lib/canonicalize-lgpl.c (realpath): Guard with
31477         FUNC_REALPATH_WORKS.
31478         * lib/stdlib.in.h (realpath): Make declaration optional based on
31479         HAVE_REALPATH.
31480         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Check whether
31481         native realpath works.
31482         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
31483         * modules/stdlib (Makefile.am): Substitute witness.
31484
31485         canonicalize, canonicalize-lgpl: use <stdlib.h>
31486         * modules/canonicalize-lgpl (Files): Drop canonicalize.h.
31487         (Include): Mention <stdlib.h>.
31488         (configure.ac): Mention functions we provide.
31489         * modules/canonicalize (configure.ac): Likewise.
31490         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Always replace
31491         realpath if canonicalize_file_name is missing.
31492         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide defaults.
31493         * modules/stdlib (Makefile.am): Substitute witnesses.
31494         * lib/stdlib.in.h (canonicalize_file_name, realpath): Declare.
31495         * lib/canonicalize-lgpl.c (includes): Adjust accordingly.
31496         * lib/canonicalize.h (canonicalize_file_name): Drop declaration.
31497         * NEWS: Document this.
31498         * doc/glibc-functions/canonicalize_file_name.texi
31499         (canonicalize_file_name): Likewise.
31500         * doc/posix-functions/realpath.texi (realpath): Likewise.
31501         * tests/test-canonicalize-lgpl.c (includes): Use <stdlib.h>.
31502
31503         test-canonicalize: consolidate into single C program
31504         * tests/test-canonicalize.sh: Delete; move setup into...
31505         * tests/test-canonicalize.c (main): ...the program, making it
31506         easier to run in debugger.  Add some tests.
31507         * modules/canonicalize-tests (Files): Remove unused file.
31508         (Depends-on): Add progname.
31509         (configure.ac, Makefile.am): Simplify.
31510
31511         test-canonicalize-lgpl: consolidate into single C program
31512         * tests/test-canonicalize-lgpl.sh: Delete; move setup into...
31513         * tests/test-canonicalize-lgpl.c (main): ...the program, making it
31514         easier to run in debugger.  Add some tests.
31515         * modules/canonicalize-lgpl-tests (Files): Remove unused file.
31516         (configure.ac, Makefile.am): Simplify.
31517
31518         canonicalize: avoid resolvepath
31519         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Delete
31520         unnecessary checks.
31521         * lib/canonicalize.c (includes): Simplify.
31522         (canonicalize_file_name): Drop resolvepath implementation.
31523         * modules/canonicalize (Depends-on): Drop filenamecat.
31524
31525         canonicalize: don't lose errno
31526         * lib/canonicalize.c (canonicalize_filename_mode): Protect errno
31527         over calls to free.
31528
31529         canonicalize: simplify errno handling
31530         * lib/canonicalize.c (__set_errno): Delete macro, and use direct
31531         assignment.
31532
31533         canonicalize, canonicalize-lgpl: update module dependencies
31534         * modules/canonicalize (Depends-on): Add extensions, lstat,
31535         pathmax, stdlib.
31536         (Files): Drop pathmax.h.
31537         (configure.ac): Adjust macro name.
31538         * modules/canonicalize-lgpl (Depends-on): Add errno, extensions,
31539         lstat, stdlib, sys_stat.
31540         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Rename...
31541         (gl_FUNC_CANONICALIZE_FILENAME_MODE): ...to this, and require
31542         extensions.
31543         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL)
31544         (gl_CANONICALIZE_LGPL_SEPARATE): Require extensions.
31545         (gl_PREREQ_CANONICALIZE_LGPL): Assume unistd.h.
31546         * lib/canonicalize.h (canonicalize_file_name): Use <stdlib.h>
31547         declaration, if available.
31548         * lib/canonicalize-lgpl.c [HAVE_READLINK]: Delete this condition;
31549         we can rely on the readlink module.
31550         (MAXSYMLINKS): Also consult SYMLOOP_MAX.
31551         (includes): Use <unistd.h> unconditionally.
31552
31553 2009-09-17  Eric Blake  <ebb9@byu.net>
31554
31555         maint: make Include sections of modules consistent
31556         * modules/alloca: Use only header name; no need to list #include.
31557         * modules/alloca-opt: Likewise.
31558         * modules/arpa_inet: Likewise.
31559         * modules/canon-host: Likewise.
31560         * modules/configmake: Likewise.
31561         * modules/dirent: Likewise.
31562         * modules/eealloc: Likewise.
31563         * modules/environ: Likewise.
31564         * modules/fchdir: Likewise.
31565         * modules/fcntl: Likewise.
31566         * modules/fcntl-h: Likewise.
31567         * modules/gethrxtime: Likewise.
31568         * modules/gettime: Likewise.
31569         * modules/ignore-value: Likewise.
31570         * modules/inet_ntop: Likewise.
31571         * modules/inet_pton: Likewise.
31572         * modules/inttypes: Likewise.
31573         * modules/isnand-nolibm: Likewise.
31574         * modules/isnanf-nolibm: Likewise.
31575         * modules/mbchar: Likewise.
31576         * modules/mbfile: Likewise.
31577         * modules/mbiter: Likewise.
31578         * modules/mbuiter: Likewise.
31579         * modules/netdb: Likewise.
31580         * modules/netinet_in: Likewise.
31581         * modules/nproc: Likewise.
31582         * modules/pagealign_alloc: Likewise.
31583         * modules/poll: Likewise.
31584         * modules/printf-frexp: Likewise.
31585         * modules/pthread: Likewise.
31586         * modules/putenv: Likewise.
31587         * modules/random_r: Likewise.
31588         * modules/relocatable-prog: Likewise.
31589         * modules/search: Likewise.
31590         * modules/select: Likewise.
31591         * modules/selinux-h: Likewise.
31592         * modules/settime: Likewise.
31593         * modules/signal: Likewise.
31594         * modules/size_max: Likewise.
31595         * modules/socklen: Likewise.
31596         * modules/ssize_t: Likewise.
31597         * modules/stdarg: Likewise.
31598         * modules/stdbool: Likewise.
31599         * modules/stddef: Likewise.
31600         * modules/stdint: Likewise.
31601         * modules/stdio: Likewise.
31602         * modules/stdlib: Likewise.
31603         * modules/string: Likewise.
31604         * modules/strings: Likewise.
31605         * modules/sys_file: Likewise.
31606         * modules/sys_ioctl: Likewise.
31607         * modules/sys_select: Likewise.
31608         * modules/sys_socket: Likewise.
31609         * modules/sys_stat: Likewise.
31610         * modules/sys_time: Likewise.
31611         * modules/sys_times: Likewise.
31612         * modules/sys_utsname: Likewise.
31613         * modules/sys_wait: Likewise.
31614         * modules/sysexits: Likewise.
31615         * modules/time: Likewise.
31616         * modules/times: Likewise.
31617         * modules/tmpfile: Likewise.
31618         * modules/trim: Likewise.
31619         * modules/unistd: Likewise.
31620         * modules/wchar: Likewise.
31621         * modules/wctype: Likewise.
31622
31623 2009-09-17  Bruno Haible  <bruno@clisp.org>
31624
31625         Make getdate.y compile on QNX and NetBSD 5 / i386.
31626         * m4/getdate.m4 (gl_GETDATE): Conditionally define
31627         TIME_T_FITS_IN_LONG_INT.
31628         * lib/getdate.y (long_time_t): New type.
31629         (relative_time): Change type of 'seconds' field to long_time_t.
31630         (get_date): Update types of local variables. Check against overflow
31631         during conversion from long_time_t to time_t.
31632         Reported by Matt Kraai <kraai@ftbfs.org>
31633         and Hasso Tepper <hasso@netbsd.org>.
31634
31635 2009-09-17  Bruno Haible  <bruno@clisp.org>
31636
31637         * modules/COPYING: Update copyright years.
31638         * modules/README: Likeiwse.
31639         * doc/gnulib-intro.texi (Copyright): Use a wildcard year.
31640         Reported by Ian Beckwith <ianb@erislabs.net>.
31641
31642 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
31643
31644         * users.txt: Update references for gnuit package.
31645
31646 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
31647
31648         * m4/getdelim.m4: Fix typo in copyright line.
31649
31650 2009-09-17  Bruno Haible  <bruno@clisp.org>
31651
31652         * lib/atoll.c: Use the standard header with GPL copyright.
31653         * lib/argz.in.h: Likewise.
31654         * lib/glob.c: Likewise.
31655         * lib/glob-libc.h: Likewise.
31656         * lib/random_r.c: Likewise.
31657         * lib/siglist.h: Likewise.
31658         * lib/strsignal.c: Likewise.
31659         Reported by Ian Beckwith <ianb@erislabs.net>.
31660
31661 2009-09-17  Eric Blake  <ebb9@byu.net>
31662
31663         rmdir: ensure correct dependency order
31664         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require unistd defaults.
31665
31666 2009-09-17  Bruno Haible  <bruno@clisp.org>
31667
31668         Disable assertion that fails on NetBSD 5 / i386.
31669         * lib/mktime.c (ydhms_diff): Disable assertion about time_t size.
31670         Reported by Sam Steingold <sds@gnu.org>
31671         and Hasso Tepper <hasso@netbsd.org>.
31672
31673 2009-09-16  Eric Blake  <ebb9@byu.net>
31674
31675         unlinkdir: port to mingw
31676         * m4/unlinkdir.m4 (gl_UNLINKDIR): Add mingw to list of platforms
31677         on which no one can unlink a directory.
31678
31679         stdlib: sort witness names
31680         * modules/stdlib (Makefile.am): Sort replacements.
31681         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
31682         * lib/stdlib.in.h: Likewise.
31683
31684         parse-duration-tests: avoid link failure
31685         * modules/parse-duration-tests (test_parse_duration_LDADD): Add
31686         LIBINTL.
31687         Reported by Tom G. Christensen.
31688
31689         openat-tests: ensure unlinkat behaves like rmdir
31690         * tests/test-rmdir.c (main): Factor guts...
31691         * tests/test-rmdir.h (test_rmdir_func): ...into new file.
31692         * modules/rmdir-tests (Files): Ship new file.
31693         * modules/openat-tests: New test.
31694         * tests/test-unlinkat.c: Likewise.
31695
31696         rmdir-errno: mark obsolete, it is unsafe for cross-compilation
31697         * modules/rmdir-errno (Status, Notice): Now obsolete.
31698
31699         rmdir: work around cygwin 1.5.x and mingw bugs
31700         * m4/rmdir.m4 (gl_FUNC_RMDIR): Detect the bugs.
31701         * lib/rmdir.c (rmdir): Work around it.
31702         * modules/rmdir (Status, Notice): No longer obsolete.
31703         (Files): Add dos.m4.
31704         (Depends-on): Add unistd.
31705         (configure.ac): Set witnesses.
31706         (License): Relax to LGPLv2+.
31707         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set defaults.
31708         * modules/unistd (Makefile.am): Substitute witnesses.
31709         * lib/unistd.in.h (rmdir): Declare replacement.
31710         * doc/posix-functions/rmdir.texi (rmdir): Document this.
31711         * modules/rmdir-tests: New tests.
31712         * tests/test-rmdir.c: Likewise.
31713
31714 2009-09-15  Eric Blake  <ebb9@byu.net>
31715
31716         fchdir: improve use of replacement functions
31717         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set appropriate witnesses.
31718         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add REPLACE_FSTAT.
31719         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add REPLACE_OPENDIR,
31720         REPLACE_CLOSEDIR.
31721         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_DUP.
31722         * modules/sys_stat (Makefile.am): Substitute correct witness.
31723         * modules/dirent (Makefile.am): Likewise.
31724         * modules/unistd (Makefile.am): Likewise.
31725         * lib/dirent.in.h (opendir, closedir): Use better witnesses.
31726         * lib/unistd.in.h (dup): Likewise.
31727         * lib/sys_stat.in.h (fstat): Likewise.
31728
31729         maint: ignore gnulib-tool temp files
31730         * .gitignore: Ignore files created during gnulib-tool --test.
31731
31732 2009-09-13  Jim Meyering  <meyering@redhat.com>
31733
31734         posixtm: don't reject a time that specify "60" as the number of seconds
31735         * lib/posixtm.c (posixtime): The code to reject invalid dates
31736         would also reject a time specified with the .60 suffix.
31737         But POSIX allows that, in order to accommodate leap seconds.
31738         So don't reject it.
31739         (main): Adjust tests accordingly.
31740         * modules/posixtm (Depends-on): Add stpcpy.
31741
31742 2009-09-11  Jim Meyering  <meyering@redhat.com>
31743
31744         announce-gen: include [$release_type] in emitted Subject:
31745         * build-aux/announce-gen (get_tool_versions): Include [$release_type],
31746         e.g., [stable] in the emitted Subject: line.
31747
31748 2009-09-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31749
31750         Remove obsolete macros from several modules.
31751         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Replace
31752         obsolete Autoconf macros with their modern counterparts.
31753         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Likewise.
31754         * m4/gc-camellia.m4 (gl_GC_CAMELLIA): Likewise.
31755         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Likewise.
31756         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
31757         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Likewise.
31758         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
31759         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
31760         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
31761         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
31762         * m4/readline.m4 (gl_FUNC_READLINE): Likewise.
31763         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
31764         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
31765         * m4/select.m4 (gl_FUNC_SELECT): Likewise.
31766         * m4/sockets.m4 (gl_SOCKETS): Likewise.
31767         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Likewise.
31768         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Likewise.
31769         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
31770         * m4/time_r.m4 (gl_TIME_R): Likewise.
31771         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
31772         * m4/vararrays.m4 (AC_C_VARARRAYS): Likewise.
31773         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
31774
31775         Fix copyright header in build-aux scripts.
31776         * build-aux/git-version-gen: Fix copyright header to match GPLv3
31777         recommendation.
31778         * build-aux/ncftpput-ftp: Likewise.
31779         * build-aux/update-copyright: Likewise.
31780
31781 2009-09-09  Eric Blake  <ebb9@byu.net>
31782
31783         test-link: allow Linux choice of errno
31784         * tests/test-link.c (main): Relax test for alternate error.
31785
31786         strndup: fix improper m4 caching
31787         * m4/strndup.m4 (gl_FUNC_STRNDUP): Rework to avoid side effects
31788         inside AC_CACHE_CHECK.  Use REPLACE_STRNDUP, not HAVE_STRNDUP.
31789         (gl_PREREQ_STRNDUP): Delete.
31790         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Update default.
31791         * modules/string (Makefile.am): Substitute it.
31792         * lib/string.in.h (strndup): Modernize prototype.
31793
31794         getcwd: port to mingw
31795         * m4/getcwd.m4 (gl_FUNC_GETCWD): Mingw directories are very
31796         different from the POSIX assumptions made throughout the getcwd
31797         module; fortunately, the mingw getcwd does not need replacement.
31798         (gl_FUNC_GETCWD_NULL): Skip test on mingw.
31799         * modules/getcwd-tests: New test.
31800         * tests/test-getcwd.c: Likewise.
31801
31802         link: fix platform bugs
31803         * m4/link.m4 (gl_FUNC_LINK): Detect Solaris and Cygwin bugs.
31804         * lib/link.c (link): Work around them.  Fix related mingw bug.
31805         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_LINK.
31806         * modules/unistd (Makefile.am): Substitute it.
31807         * lib/unistd.in.h (link): Declare replacement.
31808         * doc/posix-functions/link.texi (link): Document this.
31809         * modules/link (Depends-on): Add strdup-posix, sys_stat.
31810
31811         test-link: consolidate into single C program, test more cases
31812         * tests/test-link.sh: Delete.
31813         * tests/test-link.c: Test more error conditions.  Exposes bugs on
31814         at least Cygwin and Solaris.
31815         * modules/link-tests (Files): Remove unused file.
31816         (Depends-on): Add errno, sys_stat.
31817         (Makefile.am): Simplify.
31818
31819 2009-09-08  Bruno Haible  <bruno@clisp.org>
31820
31821         Work around towlower, towupper bug on mingw.
31822         * lib/wctype.in.h (towlower, towupper) [__MINGW32__]: New replacements.
31823         * m4/wctype.m4 (gl_WCTYPE_H): Replace <wctype.h> also on mingw.
31824         * doc/posix-functions/towlower.texi: Mention the mingw bug.
31825         * doc/posix-functions/towupper.texi: Likewise.
31826         Reported by Eric Blake.
31827
31828 2009-09-08  Jim Meyering  <meyering@redhat.com>
31829
31830         build: don't try to run autoheader if we don't use it
31831         * build-aux/bootstrap: Define AUTOHEADER=true when AC_CONFIG_HEADERS
31832         is not used in configure.ac.
31833
31834 2009-09-08  Eric Blake  <ebb9@byu.net>
31835
31836         euidaccess: fix compilation error
31837         * lib/euidaccess.c (includes): Add <fcntl.h>, for AT_EACCESS.
31838
31839         rawmemchr: relax license
31840         * modules/rawmemchr (License): Derived from glibc, so LGPLv2+ is
31841         okay.
31842         Reported by Jim Meyering.
31843
31844         mkfifoat: new module
31845         * modules/mkfifoat: New file.
31846         * lib/mkfifoat.c: Likewise.
31847         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Likewise.
31848         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
31849         * modules/sys_stat (Makefile.am): Use them.
31850         * lib/sys_stat.in.h (mkfifoat, mknodat): Declare them.
31851         * MODULES.html.sh (File system functions): Mention module.
31852         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
31853         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
31854         * modules/mkfifoat-tests: New test.
31855         * tests/test-mkfifoat.c: Likewise.
31856
31857         strchrnul: relax license
31858         * modules/strchrnul (License): Derived from glibc, so LGPLv2+ is
31859         okay.
31860         Reported by Jim Meyering.
31861
31862 2009-09-08  Eric Blake  <ebb9@byu.net>
31863
31864         fstatat: fix compilation on Solaris
31865         * lib/fstatat.c (includes): Add fcntl.h.
31866         Reported by Pádraig Brady.
31867
31868 2009-09-07  Eric Blake  <ebb9@byu.net>
31869
31870         rename: modernize replacement
31871         * modules/rename (Depends-on): Add stdio.
31872         (configure.ac): Declare witness.
31873         * m4/rename.m4 (gl_FUNC_RENAME): Ensure dependency order, and let
31874         stdio take care of replacement.
31875         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
31876         * modules/stdio (Makefile.am): Substitute them.
31877         * lib/stdio.in.h (rename): Declare replacement.
31878         * lib/rename.c (includes): Allow cross-compilation to non-windows
31879         machines.
31880         * doc/posix-functions/rename.texi (rename): Improve
31881         documentation.
31882
31883         stdio: sort witness names
31884         * modules/stdio (Makefile.am): Sort replacements.
31885         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
31886         * lib/stdio.in.h: Likewise.
31887
31888         getcwd: minor cleanups
31889         * lib/getcwd.c (AT_FDCWD): Delete; rely on <fcntl.h> instead.
31890         (is_ENAMETOOLONG): Delete; ENAMETOOLONG is portable.
31891
31892         openat: provide more convenience names
31893         * modules/faccessat (configure.ac): Add C witness.
31894         * lib/unistd.in.h (readlinkat): Fix typo.
31895         * lib/openat.h (statat, lstatat, accessat, euidaccessat): New
31896         convenience wrappers.
31897         * top/maint.mk (sc_prohibit_openat_without_use): Allow these
31898         wrappers in syntax checks.
31899
31900 2009-09-06  Eric Blake  <ebb9@byu.net>
31901
31902         doc: fix comments in recent patches
31903         * lib/faccessat.c: Mention correct function.
31904         * lib/fchmodat.c: Likewise.
31905         * lib/fchownat.c: Likewise.
31906         * lib/symlinkat.c: Likewise.
31907         * doc/posix-headers/fcntl.texi (fcntl.h): Cygwin 1.7 has AT_*
31908         constants.
31909
31910         faccessat, symlinkat: continue cleanup of previous patch
31911         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Ensure dependency order.
31912         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
31913         * modules/unistd (Makefile.am): Substitute GNULIB_READLINKAT.
31914         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Offer GNULIB_READLINKAT.
31915         * modules/symlinkat (configure.ac): Set GNULIB_READLINKAT.
31916         * lib/unistd.in.h (readlinkat): Declare if GNULIB_READLINKAT is
31917         set.
31918
31919 2009-09-06  Bruno Haible  <bruno@clisp.org>
31920
31921         * lib/sys_stat.in.h (fchmodat): Declare if GNULIB_FCHMODAT is set.
31922         (fstatat): Declare if GNULIB_FSTATAT is set.
31923         (mkdirat): Declare if GNULIB_MKDIRAT is set.
31924         * lib/unistd.in.h (fchownat): Declare if GNULIB_FCHOWNAT is set.
31925         (unlinkat): Declare if GNULIB_UNLINKAT is set.
31926         * modules/fcntl-h (Files): Remove m4/openat.m4.
31927         * modules/sys_stat (Files): Remove m4/openat.m4.
31928         (Makefile.am): Substitute GNULIB_FCHMODAT, GNULIB_FSTATAT,
31929         GNULIB_MKDIRAT instead of GNULIB_OPENAT.
31930         * modules/unistd (Files): Remove m4/openat.m4.
31931         (Makefile.am): Substitute GNULIB_FCHOWNAT, GNULIB_UNLINKAT instead of
31932         GNULIB_OPENAT.
31933         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Initialize GNULIB_OPENAT,
31934         HAVE_OPENAT here. Don't require gl_OPENAT_DEFAULTS.
31935         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize
31936         GNULIB_FCHMODAT, GNULIB_FSTATAT, GNULIB_MKDIRAT, HAVE_FCHMODAT,
31937         HAVE_FSTATAT, HAVE_MKDIRAT, REPLACE_FSTATAT here. Don't require
31938         gl_OPENAT_DEFAULTS.
31939         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_FCHOWNAT,
31940         GNULIB_UNLINKAT, HAVE_FCHOWNAT, HAVE_UNLINKAT, REPLACE_FCHOWNAT here.
31941         Don't require gl_OPENAT_DEFAULTS.
31942         * m4/openat.m4 (gl_FUNC_OPENAT): Require gl_FCNTL_H_DEFAULTS,
31943         gl_SYS_STAT_H_DEFAULTS, gl_UNISTD_H_DEFAULTS. Set GNULIB_FCHMODAT,
31944         GNULIB_FSTATAT, GNULIB_MKDIRAT, GNULIB_FCHOWNAT, GNULIB_UNLINKAT.
31945         (gl_OPENAT_DEFAULTS): Remove macro.
31946
31947 2009-09-06  Bruno Haible  <bruno@clisp.org>
31948
31949         * modules/openat (configure.ac): Remove unneeded witness.
31950
31951 2009-09-06  Bruno Haible  <bruno@clisp.org>
31952
31953         Set errno to ENOSYS when a function is entirely unsupported.
31954         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Set errno to ENOSYS instead of
31955         EOPNOTSUPP.
31956         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
31957         * modules/chown (Depends-on): Remove errno.
31958
31959 2009-09-06  Bruno Haible  <bruno@clisp.org>
31960
31961         * doc/posix-headers/fcntl.texi (AT_*): Mention affected platforms.
31962
31963 2009-09-06  Bruno Haible  <bruno@clisp.org>
31964
31965         * lib/sys_stat.in.h: Fix preprocessor command indentation.
31966
31967 2009-09-06  Ben Pfaff  <blp@gnu.org>
31968             Bruno Haible  <bruno@clisp.org>
31969
31970         Work around a glibc bug in strtok_r.
31971         * lib/string.in.h (strtok_r): Replace if REPLACE_STRTOK_R is set.
31972         Undefine if UNDEFINE_STRTOK_R is set.
31973         * lib/strtok_r.c (strtok_r, __strtok_r) [!_LIBC]: Don't undefine.
31974         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
31975         REPLACE_STRTOK_R and UNDEFINE_STRTOK_R.
31976         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Check against the glibc bug.
31977         * modules/string (Makefile.am): Substitute REPLACE_STRTOK_R,
31978         UNDEFINE_STRTOK_R.
31979         * doc/posix-functions/strtok_r.texi: Mention the glibc 2.7 bug.
31980
31981 2009-09-06  Sergey Poznyakoff  <gray@gnu.org.ua>
31982
31983         exclude: minor fix
31984         * lib/exclude.c: Include wctype.h
31985
31986 2009-09-06  Akim Demaille  <demaille@gostai.com>
31987
31988         bootstrap: improve error message
31989         * build-aux/bootstrap (find_tool): Upon failure, report the list
31990         of candidates.
31991         Honor the initial value of the envvar.
31992
31993 2009-09-05  Eric Blake  <ebb9@byu.net>
31994
31995         symlinkat: new module
31996         * modules/symlinkat: New file.
31997         * lib/symlinkat.c: Likewise.
31998         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
31999         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
32000         * modules/unistd (Makefile.am): Use them.
32001         * lib/unistd.in.h (symlinkat, readlinkat): Declare them.
32002         (faccessat) [GNULIB_POSIXCHECK]: Fix typo.
32003         * lib/at-func.c (FUNC_RESULT): New macro, defaulting to int.
32004         * MODULES.html.sh (File system functions): Mention module.
32005         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
32006         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
32007         * modules/symlinkat-tests: New test.
32008         * tests/test-symlinkat.c: Likewise.
32009
32010         test-openat-safer: add more checks
32011         * tests/test-openat-safer.c (main): Check more code paths.
32012
32013 2009-09-05  Jim Meyering  <meyering@redhat.com>
32014
32015         syntax-check: detect unnecessary inclusion of openat.h
32016         * top/maint.mk (sc_prohibit_openat_without_use): New rule.
32017
32018 2009-09-05  Bruno Haible  <bruno@clisp.org>
32019
32020         Support towlower, towupper.
32021         * doc/posix-functions/towlower.texi: Mention module wctype.
32022         * doc/posix-functions/towupper.texi: Likewise.
32023         * lib/wctype.in.h (towlower, towupper): New functions.
32024         * tests/test-wctype.c: Include stdio.h, stdlib.h.
32025         (ASSERT): New macro.
32026         (e): New variable.
32027         (main): Test also towlower, towupper. Test WEOF argument.
32028         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
32029
32030 2009-09-05  Bruno Haible  <bruno@clisp.org>
32031
32032         Fix conversion behaviour when the input is invalid.
32033         * lib/striconveh.c (mem_cd_iconveh_internal): Fix storing of question
32034         mark occurring in first pass of indirect conversion.
32035         * tests/test-striconveh.c (main): Test conversion of invalid ASCII
32036         input.
32037         Found by clang's static analyzer.
32038
32039 2009-09-05  Bruno Haible  <bruno@clisp.org>
32040
32041         * tests/test-striconveh.c (main): Test indirect conversion on platforms
32042         where direct conversion is possible.
32043
32044 2009-09-04  Eric Blake  <ebb9@byu.net>
32045
32046         openat: fail with ENOENT on empty name
32047         * lib/openat-proc.c (openat_proc_name): Special-case the empty
32048         buffer.
32049
32050         link-follow: fix logic bug in prior patch
32051         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Fix bug that
32052         reversed sense of yes and no in prior patch.  Avoid confusing
32053         compilation failure with desired semantics.
32054
32055         link-follow: accomodate mingw and cross-compilation
32056         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Rename...
32057         (gl_FUNC_LINK_FOLLOWS_SYMLINK): ...to this.  Change
32058         cross-compilation results to -1, to make linkat easier to
32059         implement when cross-compiling.  Trivially support mingw.
32060         * modules/link-follow (configure.ac): Call new name.
32061         * NEWS: Mention this.
32062
32063 2009-09-03  Eric Blake  <ebb9@byu.net>
32064
32065         faccessat: compile replacement
32066         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Build replacement when
32067         needed.
32068
32069         fts: fix compilation error
32070         * lib/fts.c (includes): Re-add "openat.h", for
32071         openat_needs_fchdir.
32072
32073         faccessat: new module
32074         * modules/faccessat: New file.
32075         * lib/faccessat.c: Likewise.
32076         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
32077         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
32078         * modules/unistd (Makefile.am): Use it.
32079         * lib/unistd.in.h (faccessat): Declare it.
32080         (F_OK, X_OK, W_OK, R_OK): Provide definitions.
32081         * lib/fcntl.in.h (AT_SYMLINK_FOLLOW, AT_EACCESS): Likewise.
32082         * MODULES.html.sh (File system functions): Mention it.
32083         * doc/posix-functions/faccessat.texi (faccessat): Likewise.
32084         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
32085
32086         euidaccess: prefer POSIX over non-standard implementation
32087         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Check for faccessat.
32088         * lib/euidaccess.c (euidaccess): Use it if available.
32089
32090         openat: make template easier to use
32091         * lib/at-func.c (CALL_FUNC): Allow AT_FUNC_USE_F1_COND and
32092         AT_FUNC_F2 to be undefined.
32093         (VALIDATE_FLAG): New macro; use it to reject bad flags.
32094         (AT_FUNC_USE_F1_COND): Change sense to just flag bit.
32095         * lib/fchmodat.c (AT_FUNC_USE_F1_COND): Adjust.
32096         * lib/fchownat.c (AT_FUNC_USE_F1_COND): Likewise.
32097         * lib/openat.c (AT_FUNC_USE_F1_COND) [fstatat, unlinkat]:
32098         Likewise.
32099         * lib/mkdirat.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND): Delete.
32100         * lib/selinux-at.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND)
32101         [getfileconat, lgetfileconat, setfileconat, lsetfileconat]:
32102         Likewise.
32103
32104         openat: declare in POSIX headers
32105         * NEWS: Mention this.
32106         * modules/openat (configure.ac): Declare witnesses.
32107         (Depends-on): Add fcntl-h, sys_stat, unistd.
32108         (Include): Mention correct headers.
32109         * modules/fcntl-h (Depends-on): Add link-warning.
32110         (Files): Add openat.m4.
32111         (Makefile.am): Substitute witnesses.
32112         * modules/sys_stat (Files, Makefile.am): Likewise.
32113         * modules/unistd (Files, Makefile.am): Likewise.
32114         * m4/openat.m4 (gl_FUNC_OPENAT, gl_FUNC_FCHOWNAT): Set witnesses.
32115         (gl_OPENAT_DEFAULTS): New macro.
32116         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Use it.
32117         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Likewise.
32118         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Likewise.
32119         (SYS_STAT_H): Remove unused variable.
32120         * doc/posix-headers/fcntl.texi (fcntl.h): Update content.
32121         * lib/fcntl--.h (includes): Remove unneeded header.
32122         * lib/openat-safer.c (includes): Likewise.
32123         * lib/openat.h (AT_FDCWD, AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR)
32124         (openat, fstatat, unlinkat, mkdirat, fchmodat, fchownat): Move to
32125         appropriate headers.
32126         (__OPENAT_PREFIX): Delete.
32127         * lib/fcntl.in.h (openat): Provide declaration.
32128         (AT_FDCWD): Fix Solaris bug.
32129         (AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR): Provide macros.
32130         * lib/sys_stat.in.h (fstatat, mkdirat): Provide declaration.
32131         * lib/fchmodat.c (includes):  Adjust to find declaration.
32132         * lib/fchownat.c (includes): Likewise.
32133         * lib/mkdirat.c (includes): Likewise.
32134         * lib/fstatat.c (includes): Likewise.  Ensure original fstatat is
32135         still visible.
32136
32137 2009-09-02  Eric Blake  <ebb9@byu.net>
32138
32139         errno: use consistently
32140         * lib/c-stack.c (ENOTSUP): <errno.h> guarantees a definition.
32141         * lib/canonicalize-lgpl.c (ENAMETOOLONG): Likewise.
32142         * lib/canonicalize.c (ELOOP): Likewise.
32143         * lib/inet_ntop.c (EAFNOSUPPORT): Likewise.
32144         * lib/inet_pton.c (EAFNOSUPPORT): Likewise.
32145         * lib/lchown.c (EOPNOTSUPP): Likewise.
32146         * lib/openat-priv.h (ENOSYS, EOPNOTSUPP): Likewise.
32147         * lib/savewd.c (ESTALE): Likewise.
32148         * lib/settime.c (ENOSYS): Likewise.
32149         * lib/utimens.c (ENOSYS): Likewise.
32150         * lib/xgethostname.c (ENAMETOOLONG): Likewise.
32151         * lib/chdir-safer.c (ELOOP): Likewise.
32152         (chdir_no_follow): Use HAVE_READLINK, not ELOOP, as witness.
32153         * modules/c-stack (Depends-on): Add errno.
32154         * modules/canonicalize (Depends-on): Likewise.
32155         * modules/chdir-safer (Depends-on): Likewise.
32156         * modules/fdopendir (Depends-on): Likewise.
32157         * modules/inet_ntop (Depends-on): Likewise.
32158         * modules/inet_pton (Depends-on): Likewise.
32159         * modules/lchown (Depends-on): Likewise.
32160         * modules/openat (Depends-on): Likewise.
32161         * modules/savewd (Depends-on): Likewise.
32162         * modules/settime (Depends-on): Likewise.
32163         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Check for readlink.
32164
32165         fts: avoid leaking fds
32166         * modules/fts (Depends-on): Add cloexec.
32167         * lib/fts.c (opendirat, diropen, fts_build): Set close-on-exec
32168         flag.
32169
32170         fts: make directory fds more robust
32171         * lib/fts.c (O_DIRECTORY): Let <fcntl.h> take care of this.
32172         (opendirat): Specify O_DIRECTORY, and add fallbacks for safety.
32173
32174         backupfile, chdir-long, fts, savedir: make safer
32175         * lib/backupfile.c (includes): Use "dirent--.h", since
32176         numbered_backup can write to stderr during readdir.
32177         * lib/savedir.c (includes): Likewise.
32178         * lib/chdir-long.c (includes): Use "fcntl--.h", since openat
32179         emulation can write to stderr on failure.
32180         * lib/fts.c (includes) [!_LIBC]: Likewise for opendir and openat.
32181         * lib/getcwd.c: Document why opendir_safer is unused.
32182         * lib/glob.c: Likewise.
32183         * lib/scandir.c: Likewise.
32184         * lib/openat-proc.c: Likewise, for open_safer.
32185         * modules/backupfile (Depends-on): Add dirent-safer.
32186         * modules/savedir (Depends-on): Likewise.
32187         * modules/fts (Depends-on): Add dirent-safer and openat-safer.
32188         * modules/chdir-long (Depends-on): Add openat-safer.
32189
32190         openat-safer: new module
32191         * modules/openat-safer: New file.
32192         * lib/openat-safer.c: Likewise.
32193         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): New macro.
32194         * lib/fcntl-safer.h (openat_safer): Declare.
32195         * lib/fcntl--.h (openat): Override.
32196         * MODULES.html.sh (File descriptor based I/O): Mention it.
32197         * lib/openat.h: Add double-inclusion guards.
32198         * lib/openat.c (includes): Only include "fcntl-safer.h", not
32199         "fcntl--.h", so we can implement openat.
32200         * modules/openat-safer-tests: New test.
32201         * tests/test-openat-safer.c: New file.
32202
32203         dirent-safer: new module
32204         * modules/dirent-safer: New file.
32205         * lib/dirent--.h: Likewise.
32206         * lib/dirent-safer.h: Likewise.
32207         * lib/opendir-safer.c: Likewise.
32208         * m4/dirent-safer.m4: Likewise.
32209         * MODULES.html.sh (Enhancements for POSIX:2008): Mention it.
32210         * modules/dirent-safer-tests: New test.
32211         * tests/test-dirent-safer.c: New file.
32212         * lib/fdopendir.c (includes): Ensure fdopendir is also safe.
32213
32214         fdopendir: optimize on mingw
32215         * lib/unistd.in.h (_gl_directory_name): New prototype.
32216         * lib/fchdir.c (_gl_directory_name): Implement it.
32217         (fchdir): Use it to simplify implementation.
32218         * lib/fdopendir.c (fdopendir) [REPLACE_FCHDIR]: Use metadata from
32219         fchdir, when available, to avoid calling [f]chdir().
32220
32221         fdopendir: split into its own module
32222         * lib/openat.c (fdopendir): Move...
32223         * lib/fdopendir.c: ...into new file.
32224         * modules/fdopendir: New module.
32225         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): New file.
32226         * modules/openat (Depends-on): Add fdopendir.
32227         * m4/openat.m4 (gl_FUNC_OPENAT): No longer need to check for
32228         fdopendir here.
32229         * modules/savedir (Depends-on): Only need fdopendir, not full
32230         openat.
32231         * lib/savedir.c (include): Use <dirent.h>, not "openat.h".
32232         * lib/openat.h (fdopendir): Drop prototype.
32233         * lib/dirent.in.h (fdopendir): Provide prototype.
32234         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add replacements.
32235         * modules/dirent (Makefile.am): Substitute them.
32236         * MODULES.html.sh (File system functions): Mention it.
32237         * doc/posix-functions/fdopendir.texi (fdopendir): Likewise.
32238         * modules/fdopendir-tests: New file.
32239         * tests/test-fdopendir.c: Likewise.
32240
32241         fchdir: use more consistent macro convention
32242         * lib/fcntl.in.h (_gl_register_fd): Move declaration to unistd.
32243         * lib/sys_stat.in.h (rpl_fstat): Declare via make-time
32244         REPLACE_FCHDIR, rather than relying on config.h macros.
32245         * lib/unistd.in.h (fchdir): Move all fchdir internal declarations
32246         inside a single make-time REPLACE_FCHDIR block, rather than using
32247         the config.h FCHDIR_REPLACEMENT.
32248         * m4/fchdir.m4 (gl_FUNC_FCHDIR): REPLACE_FCHDIR was already
32249         AC_SUBST'd, also AC_DEFINE it.  Don't define FCHDIR_REPLACEMENT.
32250         Manage fstat replacement.
32251         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Pick up
32252         REPLACE_FCHDIR.
32253         * modules/sys_stat (Files): Add m4/unistd_h.m4.
32254         (Makefile.am): Substitute REPLACE_FCHDIR.
32255         * lib/close.c (rpl_close): Use REPLACE_FCHDIR, not
32256         FCHDIR_REPLACEMENT.
32257         * lib/dup-safer.c (dup_safer): Likewise.
32258         * lib/dup2.c (rpl_dup2): Likewise.
32259         * lib/dup3.c (rpl_dup3): Likewise.
32260         * lib/open.c (rpl_open): Likewise.
32261
32262         fchdir: simplify error handling, and support dup3
32263         * modules/fchdir (Depends-on): Use strdup-posix, not strdup.  Add
32264         stdbool, malloc-posix, realloc-posix.
32265         * lib/fchdir.c (struct dir_info_t): Delete saved_errno.
32266         (ensure_dirs_slot): Return false on allocation failure.
32267         (rpl_dup2): Delete.
32268         (_gl_register_dup): New function.
32269         (_gl_unregister_fd, rpl_opendir, rpl_dup): Update callers.
32270         (_gl_register_fd): Close fd on allocation failure.
32271         * lib/fcntl.in.h (_gl_register_fd): Update signature.
32272         * lib/unistd.in.h (_gl_register_dup) [FCHDIR_REPLACEMENT]: New
32273         prototype.
32274         (rpl_dup2_fchdir): Delete prototype.
32275         * lib/open.c (open): Update caller.
32276         * lib/dup2.c (dup2): Track fchdir metadata.
32277         * lib/dup3.c (dup3): Likewise.
32278         * m4/dup2.m4 (gl_REPLACE_DUP2): New macro.
32279         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Use it.
32280
32281 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
32282
32283         * gnulib-tool (func_create_testdir, func_create_megatestdir): Use
32284         AC_CONFIG_HEADERS instead of AM_CONFIG_HEADER. Use AC_CONFIG_FILES and
32285         don't pass arguments to AC_OUTPUT.
32286
32287 2009-09-02  Bruno Haible  <bruno@clisp.org>
32288
32289         * modules/mkdtemp (License): Relicense under LGPLv2+.
32290         Reported by Paolo Bonzini.
32291
32292 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
32293
32294         Replace uses of obsolete autoconf macros in Jim's modules.
32295         The Autoconf macros AC_TRY_CPP, AC_TRY_COMPILE, AC_TRY_LINK and
32296         AC_TRY_RUN have been obsolete since Autoconf 2.55, and each use
32297         can evoke a warning from autoconf when run with -Wobsolete
32298         enabled.  They were declared obsolete for good reasons (see
32299         the `AC_FOO_IFELSE vs AC_TRY_FOO' node in the Autoconf manual,
32300         recently renamed to `AC_ACT_IFELSE vs AC_TRY_ACT'), and we
32301         should not continue using the deprecated macros.
32302         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Replace
32303         obsolete Autoconf macros with modern counterparts.
32304         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
32305         * m4/dos.m4 (gl_AC_DOS): Likewise.
32306         * m4/fpending.m4 (gl_FUNC_FPENDING): Likewise.
32307         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
32308         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Likewise.
32309         * m4/jm-winsz1.m4 (gl_WINSIZE_IN_PTEM): Likewise.
32310         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Likewise.
32311         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Likewise.
32312         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Likewise.
32313         * m4/mode_t.m4 (gl_PROMOTED_TYPE_MODE_T): Likewise.
32314         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
32315         Likewise.
32316         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
32317         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
32318         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Likewise.
32319         * m4/st_dm_mode.m4 (AC_STRUCT_ST_DM_MODE): Likewise.
32320         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
32321         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
32322
32323 2009-09-01  Eric Blake  <ebb9@byu.net>
32324
32325         fchdir: fix off-by-one bug in previous patch
32326         * lib/fchdir.c (rpl_fstat): Use correct bounds.
32327         (_gl_unregister_fd): Delete useless if.
32328
32329 2009-09-01  Daniel P. Berrange  <berrange@redhat.com>
32330
32331         maint.mk: sort the list of syntax-check rules
32332         * top/maint.mk (syntax-check-rules): Sort syntax-check rules, so it's
32333         easier to get a sense of progress when the rules are run sequentially
32334         and take a long time.
32335
32336 2009-09-01  Simon Josefsson  <simon@josefsson.org>
32337
32338         * modules/arpa_inet: Use $(MKDIR_P) instead of @MKDIR_P@.
32339         * modules/netinet_in: Likewise.
32340         * modules/sys_file: Likewise.
32341         * modules/sys_ioctl: Likewise.
32342         * modules/sys_select: Likewise.
32343         * modules/sys_socket: Likewise.
32344         * modules/sys_stat: Likewise.
32345         * modules/sys_time: Likewise.
32346         * modules/sys_times: Likewise.
32347         * modules/sys_utsname: Likewise.
32348         * modules/sys_wait: Likewise.
32349
32350 2009-09-01  Jim Meyering  <meyering@redhat.com>
32351
32352         fts: help ensure that return values are not ignored
32353         * lib/fts_.h (__GNUC_PREREQ): Define.
32354         (__attribute_warn_unused_result__): Define.
32355         (fts_children, fts_close, fts_open, fts_read): Declare with
32356         __attribute_warn_unused_result__.
32357
32358         fts: fts_close now fails also when closing a dir file descriptor fails
32359         * lib/fts.c (fts_close): Detect close failure, not just fchdir failure,
32360         and propagate to caller, along with errno.
32361
32362         announce-gen: correct formatting in --help output
32363         * build-aux/announce-gen (usage): Move the one-line description in
32364         --help output "up", to where it belongs, just after Usage:.
32365
32366 2009-08-31  Eric Blake  <ebb9@byu.net>
32367
32368         fchdir: port to mingw
32369         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check for mingw bug.
32370         * lib/open.c (open) [FCHDIR_REPLACEMENT]: If directories can't be
32371         opened, then use a substitute.
32372         * lib/sys_stat.in.h (fstat) [REPLACE_OPEN_DIRECTORY]: Declare
32373         replacement.
32374         * lib/fchdir.c (fstat) [REPLACE_OPEN_DIRECTORY]: Implement it.
32375         (_gl_register_fd): No need to check stat if open already filters
32376         all directories.
32377         (fchdir): Fix error condition to match POSIX.
32378         * modules/fchdir (Depends-on): Add sys_stat.
32379         * doc/posix-functions/open.texi (open): Document the limitation.
32380         * modules/fchdir-tests: New file.
32381         * tests/test-fchdir.c: Likewise.
32382
32383         canonicalize: allow cross-testing from cygwin to mingw
32384         * modules/canonicalize-tests (configure.ac): Define HAVE_SYMLINK.
32385         (Makefile.am): Pass it through TESTS_ENVIRONMENT.
32386         * modules/canonicalize-lgpl-tests (configure.ac, Makefile.am):
32387         Likewise.
32388         * tests/test-canonicalize.sh: Also skip test if 'ln -s' works, but
32389         target does not support symlinks.
32390         * tests/test-canonicalize-lgpl.sh: Likewise.
32391
32392         chown: avoid compilation warning on mingw
32393         * m4/chown.m4 (gl_FUNC_CHOWN): Recognize missing chown.
32394         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Always return failure on
32395         mingw.
32396         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
32397         * modules/chown (Depends-on): Add errno.
32398
32399 2009-08-31  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
32400
32401         * gnulib-tool: Fix test whether $CONFIG_SHELL has a working 'echo'
32402         command.
32403
32404 2009-08-31  Jim Meyering  <meyering@redhat.com>
32405
32406         canonicalize: remove useless initialization
32407         * lib/canonicalize.c (canonicalize_filename_mode): Remove useless
32408         initialization of local, "end".
32409
32410 2009-08-30  Bruno Haible  <bruno@clisp.org>
32411
32412         Fix an unnecessary error on Solaris 10 on NFSv3 file systems.
32413         * lib/set-mode-acl.c (qset_acl) [Solaris 10 new]: Treat EOPNOTSUPP like
32414         ENOSYS.
32415
32416 2009-08-30  Bruno Haible  <bruno@clisp.org>
32417
32418         * tests/test-pipe-filter-ii1.sh: Prefer /usr/xpg6/bin/tr over
32419         /usr/xpg4/bin/tr when it exists.
32420         * tests/test-pipe-filter-gi1.sh: Likewise.
32421
32422 2009-08-30  Bruno Haible  <bruno@clisp.org>
32423
32424         Work around deficient /usr/bin/id program on Solaris.
32425         * tests/test-file-has-acl.sh (ID): New variable.
32426         * tests/test-set-mode-acl.sh (ID): Likewise.
32427         * tests/test-copy-acl.sh (ID): Likewise.
32428         * tests/test-copy-file.sh (ID): Likewise.
32429
32430 2009-08-30  Bruno Haible  <bruno@clisp.org>
32431
32432         New module 'xstriconveh'.
32433         * lib/xstriconveh.h: New file.
32434         * lib/xstriconveh.c: New file.
32435         * modules/xstriconveh: New file.
32436
32437 2009-08-30  Bruno Haible  <bruno@clisp.org>
32438
32439         Make it easier to use mem_cd_iconveh.
32440         * lib/striconveh.h (iconveh_t): New type.
32441         (iconveh_open, iconveh_close): New declarations.
32442         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
32443         with a single 'const iconveh_t *' argument.
32444         * lib/striconveh.c (iconveh_open, iconveh_close): New functions.
32445         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
32446         with a single 'const iconveh_t *' argument.
32447         (mem_iconveh, str_iconveh): Use iconveh_open, iconveh_close.
32448         * tests/test-striconveh.c (main): Update.
32449         * NEWS: Mention the change.
32450
32451 2009-08-30  Bruno Haible  <bruno@clisp.org>
32452
32453         * doc/posix-functions/iconv_open.texi: Mention indirect conversion
32454         problem.
32455
32456 2009-08-30  Bruno Haible  <bruno@clisp.org>
32457
32458         Work around iconv_open problem on Solaris.
32459         * lib/iconv_open-solaris.gperf: New file.
32460         * lib/iconv_open.c (ICONV_FLAVOR_SOLARIS): New macro.
32461         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Also handle Solaris.
32462         * modules/iconv_open (Files): Add lib/iconv_open-solaris.gperf.
32463         (Makefile.am): Add rule for iconv_open-solaris.h. Augment
32464         BUILT_SOURCES, MOSTLYCLEANFILES, MAINTAINERCLEANFILES, EXTRA_DIST.
32465         * doc/posix-functions/iconv_open.texi: Mention the Solaris problem.
32466
32467 2009-08-29  Jim Meyering  <meyering@redhat.com>
32468
32469         maint.mk: remove more coreutils-specific targets; XZ_OPT=-9ev
32470         * top/maint.mk (cvs-check): Remove target; it was just an alias
32471         to the better-named vc-diff-check.
32472         (maintainer-distcheck): Remove rule.  It was used only from
32473         the (alpha/beta/major) target, and all of its commands but one
32474         were coreutils-specific.
32475         (vc-dist): Remove rule.
32476         (alpha beta major): Run "$(MAKE) distcheck" explicitly.
32477         Run vc-diff-check, not vc-dist.
32478         Run $(MAKE) dist with XZ_OPT=-9ev.  Note spelling, with "-".
32479
32480 2009-08-27  Bruno Haible  <bruno@clisp.org>
32481
32482         * tests/test-bitrotate.c (main): Remove test that uses a shift count
32483         of 0.
32484
32485 2009-08-27  Bruno Haible  <bruno@clisp.org>
32486
32487         * tests/test-func.c (main): Don't verify sizeof __func__ on SunPRO C
32488         compilers.
32489         * doc/func.texi: Document the SunPRO C bug.
32490
32491 2009-08-27  Bruno Haible  <bruno@clisp.org>
32492
32493         Fix link error on Solaris.
32494         * tests/test-parse-duration.c (xstrdup): Remove function.
32495
32496 2009-08-26  Pádraig Brady  <P@draigbrady.com>
32497
32498         ignore-value: handle pointer types, too
32499         * lib/ignore-value.h (__attribute__): Remove definition.
32500         (ignore_value): Remove use of "__attribute__ ((unused))" in favor
32501         of a more concise and more-often effective "(void) i" statement.
32502         (ignore_ptr): New function to suppress warnings from functions that
32503         return pointers, and to make it explicit that one function doesn't
32504         handle all cases.
32505
32506 2009-08-25  Bruno Haible  <bruno@clisp.org>
32507
32508         dup2: work around a Linux bug.
32509         * m4/dup2.m4 (gl_FUNC_DUP2): Test for the Linux bug.
32510         * lib/dup2.c (rpl_dup2): Correct the return value if it is -EBADF.
32511         * doc/posix-functions/dup2.texi: Mention the Linux bug.
32512         Reported by Simon Josefsson.
32513
32514 2009-08-25  Jim Meyering  <meyering@redhat.com>
32515
32516         libguestfs uses gnulib
32517         * users.txt: Add libguestfs.
32518
32519 2009-08-24  Eric Blake  <ebb9@byu.net>
32520
32521         dup2, pipe2: fix some recent test failures on cygwin 1.5.x
32522         * lib/pipe2.c (includes): Add binary-io.h.
32523         * lib/dup2.c (rpl_dup2): Correct buggy errno value.
32524
32525 2009-08-24  Bruno Haible  <bruno@clisp.org>
32526
32527         Tolerate declared but missing accept4 syscall.
32528         * lib/accept4.c (accept4): Invoke original accept4 function first, if
32529         available.
32530         * lib/sys_socket.in.h (accept4): If the function is already present,
32531         override it.
32532         * m4/accept4.m4 (gl_FUNC_ACCEPT4): Remove AC_LIBOBJ invocation.
32533         * modules/accept4 (Makefile.am): Compile accept4.c always.
32534         Reported by Paolo Bonzini and Eric Blake.
32535
32536 2009-08-23  Bruno Haible  <bruno@clisp.org>
32537
32538         New module 'accept4'.
32539         * lib/sys_socket.in.h (accept4): New declaration.
32540         * lib/accept4.c: New file.
32541         * m4/accept4.m4: New file.
32542         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
32543         GNULIB_ACCEPT4, HAVE_ACCEPT4.
32544         * modules/sys_socket (Makefile.am): Substitute GNULIB_ACCEPT4,
32545         HAVE_ACCEPT4.
32546         * modules/accept4: New file.
32547         * doc/glibc-functions/accept4.texi: Mention the new module.
32548
32549 2009-08-24  Jim Meyering  <meyering@redhat.com>
32550
32551         progname: also set global program_invocation_name, when possible
32552         Before this change, a libtool-enabled program that calls glibc's
32553         error function would report the program name as
32554         "/abs/dir/.libs/lt-program_name" rather than the desired program_name.
32555         * modules/progname (configure.ac): Check for a declaration of
32556         program_invocation_name.
32557         * lib/progname.c:  Include <errno.h>.
32558         (set_program_name) [HAVE_DECL_PROGRAM_INVOCATION_NAME]:
32559         Set program_invocation_name.
32560
32561 2009-08-23  Bruno Haible  <bruno@clisp.org>
32562
32563         * lib/dup3.c: Include <string.h>.
32564
32565 2009-08-23  Bruno Haible  <bruno@clisp.org>
32566
32567         * lib/dup3.c (dup3): Test only once whether the system actually exists.
32568         * lib/pipe2.c (pipe2): Likewise.
32569         Suggested by Eric Blake.
32570
32571 2009-08-23  Bruno Haible  <bruno@clisp.org>
32572
32573         Tolerate declared but missing dup3 syscall.
32574         * lib/dup3.c (dup3): Invoke original dup3 function first, if available.
32575         * lib/unistd.in.h (dup3): If the function is already present,
32576         override it.
32577         * m4/dup3.m4 (gl_FUNC_DUP3): Remove AC_LIBOBJ invocation.
32578         * modules/dup3 (Makefile.am): Compile dup3.c always.
32579         Reported by Paolo Bonzini.
32580
32581 2009-08-23  Bruno Haible  <bruno@clisp.org>
32582
32583         Tolerate declared but missing pipe2 syscall.
32584         * lib/pipe2.c (pipe2): Invoke original pipe2 function first, if
32585         available.
32586         * lib/unistd.in.h (pipe2): If the function is already present,
32587         override it.
32588         * m4/pipe2.m4 (gl_FUNC_PIPE2): Remove AC_LIBOBJ invocation.
32589         * modules/pipe2 (Makefile.am): Compile pipe2.c always.
32590         Reported by Paolo Bonzini.
32591
32592 2009-08-23  Bruno Haible  <bruno@clisp.org>
32593
32594         * lib/pipe2.c (pipe2): Move #ifs inside function.
32595
32596 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
32597
32598         quotearg: document limitations of quote_these_too
32599         * lib/quotearg.c (quotearg_buffer_restyled): Add comments where
32600         those limitations are created.
32601         * lib/quotearg.h (set_char_quoting): Document that digits and
32602         letters that are special after backslash are not permitted.
32603         (quotearg_char): Cross-reference set_char_quoting documentation.
32604
32605 2009-08-23  Joel E. Denny  <jdenny@clemson.edu>
32606
32607         quotearg: implement custom_quoting_style
32608         * lib/quotearg.c: (struct quoting_options): Add left_quote and
32609         right_quote fields.
32610         (set_custom_quoting): New public function.
32611         (quotearg_buffer_restyled): Add left_quote and right_quote
32612         arguments, handle them very much like locale quoting, and update
32613         all uses.
32614         (quotearg_n_custom): New public function.
32615         (quotearg_n_custom_mem): New public function.
32616         (quotearg_custom): New public function.
32617         (quotearg_custom_mem): New public function.
32618         * lib/quotearg.h: Prototype and document new public functions.
32619         (enum quoting_style): For escape_quoting_style and
32620         clocale_quoting_style, comment that QA_SPLIT_TRIGRAPHS is
32621         ignored even though they're otherwise like c_quoting_style.
32622         Add custom_quoting_style member and document with comparison to
32623         clocale_quoting_style.
32624         * tests/test-quotearg.c (custom_quotes): New array.
32625         (custom_results): New array.
32626         (main): Extend to test custom quoting.
32627
32628 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
32629
32630         quotearg: fix right quote escaping when it's in quote_these_too
32631         * lib/quotearg.c (quotearg_buffer_restyled): Upon seeing a right
32632         quote, be sure to prepend only one backslash.
32633         * tests/test-quotearg.c (use_quote_double_quotes): New function.
32634         (main): Test it.
32635
32636 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
32637
32638         quotearg-tests: test escaping of embedded locale quotes
32639         * tests/test-quotearg.c (struct result_strings): Add member for
32640         new input.
32641         (LQ_ENC, RQ_ENC, RQ_ESC): New macros.
32642         (inputs): Add new input.
32643         (results_g): Add expected results.
32644         (flag_results): Likewise.
32645         (locale_results): Likewise.
32646         (compare_strings): Check those.
32647
32648 2009-08-23  Bruno Haible  <bruno@clisp.org>
32649
32650         Tests for module 'dup3'.
32651         * modules/dup3-tests: New file.
32652         * tests/test-dup3.c: New file.
32653
32654         New module 'dup3'.
32655         * lib/unistd.in.h (dup3): New declaration.
32656         * lib/dup3.c: New file.
32657         * m4/dup3.m4: New file.
32658         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP3 and
32659         HAVE_DUP3.
32660         * modules/unistd (Makefile.am): Substitute GNULIB_DUP3 and HAVE_DUP3.
32661         * modules/dup3: New file.
32662         * doc/glibc-functions/dup3.texi: Mention the new module.
32663
32664 2009-08-23  Bruno Haible  <bruno@clisp.org>
32665
32666         Tweak the dup2 test.
32667         * tests/test-dup2.c (main): Create the test file empty. Verify that an
32668         out-of-range fd yields EBADF. Verify that after writing to /dev/null,
32669         the test file is still empty. Fix argument order of lseek.
32670
32671 2009-08-23  Bruno Haible  <bruno@clisp.org>
32672
32673         Avoid test link errors when the modules getopt-gnu, gettext are used.
32674         * modules/getopt-posix-tests (Makefile.am): Define test_getopt_LDADD.
32675         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
32676
32677 2009-08-23  Bruno Haible  <bruno@clisp.org>
32678
32679         Fix getdtablesize() on mingw.
32680         * lib/getdtablesize.c (getdtablesize): Implement differently.
32681         * lib/unistd.in.h (getdtablesize): Improve comment.
32682
32683 2009-08-23  Bruno Haible  <bruno@clisp.org>
32684
32685         New module 'mkostemp'.
32686         Based on Ulrich Drepper's 2007-08-10 change in glibc.
32687         * lib/stdlib.in.h (mksotemp): New declaration.
32688         * lib/mkostemp.c: New file, from glibc with modifications.
32689         * lib/tempname.h (GT_FILE): Remove outdated comment.
32690         (gen_tempname): Add flags argument.
32691         * lib/tempname.c (__GT_BIGFILE): Remove macro.
32692         (__GT_FILE): Map to 1.
32693         (small_open, large_open): Remove macros.
32694         (__gen_tempname): Add flags argument. Remove code for __GT_BIGFILE.
32695         * lib/mkstemp.c (mkstemp): Update.
32696         * lib/mkdtemp.c (mkdtemp): Likewise.
32697         * m4/mkostemp.m4: New file.
32698         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MKOSTEMP,
32699         HAVE_MKOSTEMP.
32700         * modules/stdlib (Makefile.am): Substitute GNULIB_MKOSTEMP,
32701         HAVE_MKOSTEMP.
32702         * modules/mkostemp: New file, based on modules/mkstemp.
32703         * doc/glibc-functions/mkostemp.texi: Mention the new module.
32704         * NEWS: Mention the change.
32705
32706 2009-08-23  Bruno Haible  <bruno@clisp.org>
32707
32708         * lib/pipe2.c (pipe2): Support O_TEXT, O_BINARY on all platforms.
32709         Reported by Eric Blake.
32710
32711 2009-08-23  Bruno Haible  <bruno@clisp.org>
32712
32713         * lib/pipe2.c (pipe2): Fix test of fcntl's return value.
32714         Reported by Eric Blake.
32715
32716 2009-08-23  Bruno Haible  <bruno@clisp.org>
32717
32718         * modules/fchdir (Depends-on): Use fcntl-h instead of fcntl.
32719         * modules/pipe2 (Depends-on): Likewise.
32720
32721 2009-08-23  Eric Blake  <ebb9@byu.net>
32722
32723         fcntl-h: add O_TTY_INIT support
32724         * lib/fcntl.in.h (O_TTY_INIT): Support another POSIX macro.
32725         * tests/test-fcntl-h.c (o): Test it.
32726         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
32727
32728         fcntl-h: rename from fcntl, in preparation for fcntl(2)
32729         * modules/fcntl: Move <fcntl.h> header replacement...
32730         * modules/fcntl-h: ...to new name, so as not to collide with
32731         like-named function.
32732         * tests/test-fcntl.c: Rename...
32733         * tests/test-fcntl-h.c: ...to this.  Test FD_CLOEXEC.
32734         * modules/fcntl-tests: Rename...
32735         * modules/fcntl-h-tests: ...to this.  Update test file name.
32736         * modules/chdir-long (Depends-on): Update clients.
32737         * modules/chdir-safer (Depends-on): Likewise.
32738         * modules/fcntl-safer (Depends-on): Likewise.
32739         * modules/fts (Depends-on): Likewise.
32740         * modules/mkancesdirs (Depends-on): Likewise.
32741         * modules/mkdir-p (Depends-on): Likewise.
32742         * modules/open (Depends-on): Likewise.
32743         * modules/savewd (Depends-on): Likewise.
32744         * MODULES.html.sh (systems lacking POSIX:2008): Update name.
32745         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
32746
32747 2009-08-22  Bruno Haible  <bruno@clisp.org>
32748
32749         * modules/binary-io (License): Relicense under LGPL.
32750         * modules/pipe2 (License): Likewise.
32751
32752 2009-08-22  Bruno Haible  <bruno@clisp.org>
32753
32754         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): Fix test of fcntl's
32755         return value.
32756         * lib/pipe-filter-gi.c (filter_init): Likewise.
32757         Reported by Eric Blake.
32758
32759 2009-08-22  Bruno Haible  <bruno@clisp.org>
32760
32761         * lib/pipe.c (create_pipe): Use pipe2 instead of _pipe.
32762         * modules/pipe (Depends-on): Add pipe2.
32763
32764 2009-08-22  Bruno Haible  <bruno@clisp.org>
32765
32766         Tests for module 'pipe2'.
32767         * modules/pipe2-tests: New file.
32768         * tests/test-pipe2.c: New file.
32769
32770         New module 'pipe2'.
32771         * lib/unistd.in.h (pipe2): New declaration.
32772         * lib/pipe2.c: New file.
32773         * m4/pipe2.m4: New file.
32774         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PIPE2 and
32775         HAVE_PIPE2.
32776         * modules/unistd (Makefile.am): Substitute GNULIB_PIPE2 and HAVE_PIPE2.
32777         * modules/pipe2: New file.
32778         * doc/glibc-functions/pipe2.texi: Mention the new module.
32779
32780 2009-08-22  Bruno Haible  <bruno@clisp.org>
32781
32782         Reference some new glibc functions.
32783         * doc/glibc-functions/accept4.texi: New file.
32784         * doc/glibc-functions/dup3.texi: New file.
32785         * doc/glibc-functions/mkostemp.texi: New file.
32786         * doc/glibc-functions/pipe2.texi: New file.
32787         * doc/gnulib.texi (Glibc stdlib.h): Refer to mkostemp.
32788         (Glibc sys/socket.h): Refer to accept4.
32789         (Glibc unistd.h): Refer to dup3, pipe2.
32790         Reported by Eric Blake.
32791
32792 2009-08-22  Jim Meyering  <meyering@redhat.com>
32793             Bruno Haible  <bruno@clisp.org>
32794
32795         annotate automake snippets with $(AM_V_GEN) and $(AM_V_at)
32796         This makes it so packages using automake-1.11's silent-rules option
32797         can print e.g., a single "GEN    configmake.h" line, rather than
32798         the 30+ statements that perform the job.  If you want to see the
32799         actual commands, you can still run "make V=1".
32800         * modules/alloca-opt: Add $(AM_V_GEN) and $(AM_V_at) prefixes
32801         so that make output is abbreviated when those variables are defined
32802         appropriately.
32803         * modules/argz: Likewise.
32804         * modules/arpa_inet: Likewise.
32805         * modules/byteswap: Likewise.
32806         * modules/configmake: Likewise.
32807         * modules/dirent: Likewise.
32808         * modules/errno: Likewise.
32809         * modules/fcntl: Likewise.
32810         * modules/float: Likewise.
32811         * modules/fnmatch: Likewise.
32812         * modules/getopt-posix: Likewise.
32813         * modules/glob: Likewise.
32814         * modules/iconv_open: Likewise.
32815         * modules/inttypes: Likewise.
32816         * modules/localcharset: Likewise.
32817         * modules/locale: Likewise.
32818         * modules/math: Likewise.
32819         * modules/netdb: Likewise.
32820         * modules/netinet_in: Likewise.
32821         * modules/poll: Likewise.
32822         * modules/posix_spawnp-tests: Likewise.
32823         * modules/sched: Likewise.
32824         * modules/search: Likewise.
32825         * modules/selinux-h: Likewise.
32826         * modules/signal: Likewise.
32827         * modules/spawn: Likewise.
32828         * modules/stdarg: Likewise.
32829         * modules/stdbool: Likewise.
32830         * modules/stddef: Likewise.
32831         * modules/stdint: Likewise.
32832         * modules/stdio: Likewise.
32833         * modules/stdlib: Likewise.
32834         * modules/string: Likewise.
32835         * modules/strings: Likewise.
32836         * modules/sys_file: Likewise.
32837         * modules/sys_ioctl: Likewise.
32838         * modules/sys_select: Likewise.
32839         * modules/sys_socket: Likewise.
32840         * modules/sys_stat: Likewise.
32841         * modules/sys_time: Likewise.
32842         * modules/sys_times: Likewise.
32843         * modules/sys_utsname: Likewise.
32844         * modules/sys_wait: Likewise.
32845         * modules/sysexits: Likewise.
32846         * modules/time: Likewise.
32847         * modules/unistd: Likewise.
32848         * modules/wchar: Likewise.
32849         * modules/wctype: Likewise.
32850
32851 2009-08-22  Jim Meyering  <meyering@redhat.com>
32852
32853         announce-gen: detect write failure
32854         * build-aux/announce-gen: Add Coda at end.
32855         Remove equivalent-but-more-verbose block at top.
32856
32857 2009-08-19  Akim Demaille  <demaille@gostai.com>
32858
32859         bootstrap: --help to stdout.
32860         * bootstrap (usage): Don't send --help to stderr.
32861         Use a here doc instead of a long string.
32862
32863 2009-08-21  Eric Blake  <ebb9@byu.net>
32864
32865         test-popen-safer: split from test-popen
32866         * tests/test-popen.c (main): Move...
32867         * tests/test-popen.h: ...into new file.
32868         * tests/test-popen-safer2.c: New file.
32869         * modules/popen-tests (Files): Add test-popen.h.
32870         * modules/popen-safer-tests (Files): Add test-popen-safer2.c.
32871         Suggested by Bruno Haible.
32872
32873         test-fcntl-safer: split from test-open
32874         * tests/test-open.c (main): Move...
32875         * tests/test-open.h: ...into new file.
32876         * tests/test-fcntl-safer.c: New file.
32877         * modules/open-tests (Files): Add test-open.h.
32878         * modules/fcntl-safer-tests: New file.
32879         Suggested by Bruno Haible.
32880
32881         test-fopen-safer: split from test-fopen
32882         * tests/test-fopen.c (main): Move...
32883         * tests/test-fopen.h: ...into new file.
32884         * tests/test-fopen-safer.c: New file.
32885         * modules/fopen-tests (Files): Add test-fopen.h.
32886         * modules/fopen-safer-tests: New file.
32887         Suggested by Bruno Haible.
32888
32889 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
32890
32891         popen-safer: test O_CLOEXEC at run-time.
32892         * lib/popen-safer.c: Test O_CLOEXEC at run-time.
32893
32894 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
32895
32896         fcntl: move more flags to the header
32897         * lib/cloexec.c: Do not define FD_CLOEXEC here.
32898         * lib/popen-safer.c: Do not alias O_NOINHERIT to O_CLOEXEC here.
32899         * lib/fcntl.in.h: Do both things here.
32900
32901 2009-08-21  Jim Meyering  <meyering@redhat.com>
32902
32903         consistently remove $@-t before redirecting to it
32904         * modules/argz: Remove $@-t and $@ before redirecting to the former.
32905         * modules/alloca-opt: Likewise.
32906         * modules/byteswap: Likewise.
32907         * modules/fnmatch: Likewise.
32908         * modules/getopt-posix: Likewise.
32909         * modules/glob: Likewise.
32910         * modules/poll: Likewise.
32911         * modules/posix_spawnp-tests: Likewise.
32912         * modules/sys_socket: Likewise.
32913         * modules/sysexits: Likewise.
32914
32915 2009-08-21  Eric Blake  <ebb9@byu.net>
32916
32917         popen: simplify access to original popen
32918         * lib/popen.c (rpl_popen): No need to worry about popen being a
32919         macro.
32920         Reported by Bruno Haible.
32921
32922 2009-08-20  Eric Blake  <ebb9@byu.net>
32923
32924         build: avoid some compiler warnings
32925         * lib/selinux-at.h: Use dir_fd, not dirfd, to avoid shadowing.
32926         * lib/exclude.c (fnmatch_pattern_has_wildcards): Use correct
32927         type.
32928         (new_exclude_segment, excluded_file_pattern_p)
32929         (excluded_file_name_p): Reduce scope.
32930         * lib/vasnprintf.c (decimal_point_char): Avoid warning on
32931         old-style declaration.
32932
32933 2009-08-20  Simon Josefsson  <simon@josefsson.org>
32934
32935         * tests/test-exclude1.sh: Handle Windows EOL.
32936         * tests/test-exclude2.sh: Likewise.
32937         * tests/test-exclude3.sh: Likewise.
32938         * tests/test-exclude4.sh: Likewise.
32939         * tests/test-exclude5.sh: Likewise.
32940         * tests/test-exclude6.sh: Likewise.
32941         * tests/test-exclude7.sh: Likewise.
32942
32943 2009-08-19  Akim Demaille  <demaille@gostai.com>
32944
32945         bootstrap: find sha1sum when named gsha1sum.
32946         * bootstrap (find_tool): New.
32947         ($SHA1SUM): New.
32948         Use it.
32949
32950 2009-08-20  Jim Meyering  <meyering@redhat.com>
32951
32952         maint.mk: _header_without_use: fix a quoting bug and remove a bash'ism
32953         * top/maint.mk (_header_without_use): Use "\\\\", not "\\" in the sed
32954         expression that converts "." in a file name to "\." in the resulting
32955         regexp.  Start with a dummy statement, so that prior shell variable
32956         definitions are expanded portably.  Reported by Simon Josefsson.
32957
32958 2009-08-20  Paolo Bonzini  <bonzini@gnu.org>
32959
32960         Fix polling for writeability of a screen buffer.
32961         * lib/poll.c: Distinguish input and screen buffers for the
32962         Win32 implementation.
32963         * lib/select.c: Likewise.
32964
32965 2009-08-19  Eric Blake  <ebb9@byu.net>
32966
32967         popen-safer: prevent popen from clobbering std descriptors
32968         * modules/popen-safer: New file.
32969         * lib/popen-safer.c: Likewise.
32970         * m4/stdio-safer.m4 (gl_POPEN_SAFER): New macro.
32971         * lib/stdio--.h (popen): Provide override.
32972         * lib/stdio-safer.h (popen_safer): Provide declaration.
32973         * tests/test-popen.c (includes): Partially test this.
32974         * modules/popen-safer-tests: New file, for more tests.
32975         * tests/test-popen-safer.c: Likewise.
32976         * MODULES.html.sh (file stream based Input/Output): Mention it.
32977
32978         tests: test some of the *-safer modules
32979         * modules/fopen-safer (Depends-on): Add fopen.
32980         * modules/fcntl-safer (Depends-on): Add fcntl.
32981         * modules/stdlib-safer (Depends-on): Add stdlib.
32982         (configure.ac): Set indicator.
32983         * modules/unistd-safer (configure.ac): Likewise.
32984         * modules/tmpfile-safer (configure.ac): Likewise.
32985         (Depends-on): Add tmpfile.
32986         * lib/stdio--.h (fopen, tmpfile): Don't override unless module is
32987         active.
32988         * tests/test-fopen.c (includes): Test safer versions when they are
32989         in use.
32990         * tests/test-open.c (includes): Likewise.
32991
32992         popen: fix cygwin 1.5 bug when stdin closed
32993         * doc/posix-functions/popen.texi (popen): Document cygwin bugs.
32994         * modules/popen: New file.
32995         * modules/popen-tests: Likewise.
32996         * tests/test-popen.c: Likewise.
32997         * m4/popen.m4: Likewise.
32998         * lib/popen.c: Likewise.
32999         * lib/stdio.in.h (popen): New declaration.
33000         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add popen.
33001         * modules/stdio (Makefile.am): Likewise.
33002         * MODULES.html.sh (systems lacking POSIX:2008): Mention it.
33003
33004 2009-08-17  Joel E. Denny  <jdenny@clemson.edu>
33005
33006         maint.mk: give full control over update-copyright exclusions
33007         * top/maint.mk (VC_LIST_EXCEPT): Instead of ChangeLog, use
33008         ${VC_LIST_EXCEPT_DEFAULT-ChangeLog} as the default exclusion.
33009         (update-copyright): Don't force inclusion of top-level
33010         ChangeLog.  Don't force exclusion of all COPYING files, but make
33011         them the default exclusion instead.
33012
33013 2009-08-16  Bruno Haible  <bruno@clisp.org>
33014
33015         Fix test failures on Solaris 10.
33016         * tests/uniconv/test-u8-conv-from-enc.c (main): Disable autodetect_jp
33017         tests when Solaris iconv() is used.
33018         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
33019         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
33020         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
33021         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
33022         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
33023
33024 2009-08-16  Bruno Haible  <bruno@clisp.org>
33025
33026         Fix test failures on Solaris 10.
33027         * tests/test-pipe-filter-ii1.sh: Determine the filename of a working
33028         'tr' program and pass it as first argument.
33029         * tests/test-pipe-filter-gi1.sh: Likewise.
33030         * tests/test-pipe-filter-ii1.c (main): Except the filename of a 'tr'
33031         program as first argument.
33032         * tests/test-pipe-filter-gi1.c (main): Likewise.
33033
33034 2009-08-16  Eric Blake  <ebb9@byu.net>
33035
33036         fpurge: fix previous commits
33037         * modules/fpurge (Makefile.am): Make replacement conditional,
33038         partially reverting 2007-04-29 change; missed in previous
33039         attempt.
33040         * m4/fpurge.m4 (gl_FUNC_FPURGE): Also compile fpurge.c when fpurge
33041         is missing.
33042
33043 2009-08-16  Bruno Haible  <bruno@clisp.org>
33044
33045         Clarify fpurge's effect on the file position.
33046         * lib/stdio.in.h (fpurge): Specify the file position after fpurge.
33047         * tests/test-fpurge.c (main): Make a second pass for checking the file
33048         position.
33049
33050 2009-08-16  Bruno Haible  <bruno@clisp.org>
33051
33052         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't compile fpurge.c if only the
33053         declaration of fpurge is missing.
33054         * tests/test-fpurge.c (main): Check that the file has not more contents
33055         than expected. Close the file before removing it.
33056
33057 2009-08-15  Eric Blake  <ebb9@byu.net>
33058
33059         fpurge: don't wrap working cygwin implementation
33060         * lib/fpurge.c (fpurge): Fix comment typo.
33061         * m4/fpurge.m4 (gl_FUNC_FPURGE): Detect BSD bug, allowing cygwin
33062         1.7 to avoid replacement.
33063         * tests/test-fpurge.c (main): Enhance test.
33064
33065 2009-08-15  Eric Blake  <ebb9@byu.net>
33066         and Jim Meyering  <meyering@redhat.com>
33067
33068         test-update-copyright: skip if perl is insufficient
33069         * tests/test-update-copyright.sh: Failure to run maintainer tool
33070         should not cause testsuite failure on cygwin 1.5.
33071
33072 2009-08-14  Eric Blake  <ebb9@byu.net>
33073
33074         doc: mention more functions added in cygwin 1.7.0
33075         * doc/posix-headers/limits.texi (limits.h): Update for recent
33076         cygwin additions.
33077         * doc/posix-headers/wordexp.texi (wordexp.h): Likewise.
33078         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
33079         * doc/posix-functions/wordfree.texi (wordfree): Likewise.
33080         * doc/posix-functions/setlocale.texi (setlocale): Likewise.
33081         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Likewise.
33082
33083 2009-08-14  Eric Blake  <ebb9@byu.net>
33084
33085         maint.mk: simplify update-copyright rule
33086         * top/maint.mk (update-copyright-local): Delete, and document how
33087         to do it in cfg.mk instead.
33088         (update-copyright-exclude-regexp): Delete, and document how to do
33089         it in .x-update-copyright instead.
33090         (update-copyright): Simplify, thanks to VC_LIST_EXCEPT.  Don't
33091         exclude ChangeLog.
33092
33093 2009-08-14  Bruno Haible  <bruno@clisp.org>
33094
33095         * m4/wchar.m4 (gl_WCHAR_H): Undo invalid optimization in last commit.
33096
33097 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
33098
33099         maint.mk: support update-copyright-env
33100         * top/maint.mk (update-copyright-env): Define place-holder.
33101         (update-copyright): Expand $(update-copyright-env) before
33102         invoking update-copyright.
33103
33104 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
33105
33106         update-copyright: implement forced reformatting
33107         * build-aux/update-copyright: Implement and document
33108         UPDATE_COPYRIGHT_FORCE.
33109         * tests/test-update-copyright.sh: Test it.
33110
33111 2009-08-14  Eric Blake  <ebb9@byu.net>
33112         and Bruno Haible  <bruno@clisp.org>
33113
33114         stddef: fix NetBSD 5.0 NULL bug, rather than working around it
33115         * tests/test-locale.c: Revert previous patch related to NULL.
33116         * tests/test-stdio.c: Likewise.
33117         * tests/test-stdlib.c: Likewise.
33118         * tests/test-string.c: Likewise.
33119         * tests/test-unistd.c: Likewise.
33120         * modules/time-tests (Depends-on): Add verify.
33121         * modules/wchar-tests (Depends-on): Likewise.
33122         * tests/test-time.c: Test for NULL compliance.
33123         * tests/test-wchar.c: Likewise.
33124         * modules/locale (Depends-on): Add stddef.
33125         * modules/stdio (Depends-on): Likewise.
33126         * modules/stdlib (Depends-on): Likewise.
33127         * modules/string (Depends-on): Likewise.
33128         * modules/time (Depends-on): Likewise.
33129         * modules/unistd (Depends-on): Likewise.
33130         * modules/wchar (Depends-on): Likewise.
33131         * lib/locale.in.h (includes): Use <stddef.h> to fix NULL.
33132         * lib/stdlib.in.h (includes): Likewise.
33133         * lib/string.in.h (includes): Likewise.
33134         * lib/time.in.h (includes): Likewise.
33135         * lib/unistd.in.h (includes): Likewise.
33136         * m4/locale_h.m4 (gl_LOCALE_H): Replace locale.h if stddef.h was
33137         replaced.
33138         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
33139         * m4/stddef_h.m4: New file.
33140         * modules/stddef: Likewise.
33141         * lib/stddef.in.h: Likewise.
33142         * modules/stddef-tests: Likewise.
33143         * tests/test-stddef.c: Likewise.
33144         * MODULES.html.sh (Basic types <stddef.h>): Mention new module.
33145         * doc/posix-headers/stddef.texi (stddef.h): Document the bug.
33146         * doc/posix-headers/locale.texi (locale.h): Likewise.
33147         * doc/posix-headers/stdio.texi (stdio.h): Likewise.
33148         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
33149         * doc/posix-headers/string.texi (string.h): Likewise.
33150         * doc/posix-headers/time.texi (time.h): Likewise.
33151         * doc/posix-headers/unistd.texi (unistd.h): Likewise.
33152         * doc/posix-headers/wchar.texi (wchar.h): Likewise.
33153
33154 2009-08-14  Eric Blake  <ebb9@byu.net>
33155
33156         doc: improve git diff of texinfo files
33157         * .gitattributes: Add rule for *.texi files, with hint on how to
33158         use it.
33159         Copied from m4, and based on a report by Bruno Haible.
33160
33161 2009-08-14  Bruno Haible  <bruno@clisp.org>
33162
33163         Disable multithread support by default on Cygwin 1.5.x for real.
33164         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Fix last commit.
33165
33166 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
33167
33168         update-copyright: much ado about intervals
33169         * build-aux/update-copyright: Implement and document
33170         UPDATE_COPYRIGHT_USE_INTERVALS to control expansion and collapse
33171         of copyright year intervals.
33172         Also, document UPDATE_COPYRIGHT_YEAR.
33173         * tests/test-update-copyright.sh: Test it.
33174
33175         update-copyright: convert 2-digit to 4-digit years
33176         * build-aux/update-copyright: Implement and document.
33177         * tests/test-update-copyright.sh: Update.
33178
33179 2009-08-14  Jim Meyering  <meyering@redhat.com>
33180
33181         test-exclude: avoid coreutils "make check" failure
33182         * tests/test-exclude.c (ARGMATCH_DIE_DECL) [ARGMATCH_DIE_DECL]: Define,
33183         just as in test-argmatch.c.
33184
33185 2009-08-13  Eric Blake  <ebb9@byu.net>
33186
33187         test-dup2: fix bad assumption
33188         * tests/test-dup2.c (main): Tolerate leaked fds from environment.
33189         Reported by Peter Breitenlohner <peb@mppmu.mpg.de>.
33190
33191         test-version-etc: fix CRLF portability issue
33192         * tests/test-version-etc.sh: Use tr, not sed, as not all sed
33193         recognize \r.
33194         * tests/test-argp-version-etc-1.sh: Likewise.
33195
33196         getopt: update client modules
33197         * modules/argp (Depends-on): Use getopt-gnu.
33198         * modules/git-merge-changelog (Depends-on): Likewise.
33199         * modules/long-options (Depends-on): Likewise.
33200         * modules/xstrtol (Depends-on): Likewise.
33201
33202 2009-08-13  Simon Josefsson  <simon@josefsson.org>
33203
33204         * tests/test-version-etc.sh: Don't fail on different
33205         project/version.  Don't fail on CRLF differences.  Rewrite to use
33206         multiple -e instead of multiple sed forks, suggested by Eric Blake
33207         <ebb9@byu.net>.
33208         * tests/test-argp-version-etc-1.sh: Likewise.
33209
33210 2009-08-13  Simon Josefsson  <simon@josefsson.org>
33211
33212         * tests/test-version-etc.sh: Don't fail on different
33213         project/version.
33214
33215 2009-08-12  Bruno Haible  <bruno@clisp.org>
33216
33217         Tests for modules 'getopt-posix', 'getopt-gnu'.
33218         * modules/getopt-posix-tests: New file.
33219         * tests/test-getopt.c: New file.
33220         * tests/test-getopt.h: New file.
33221         * tests/test-getopt_long.h: New file.
33222
33223         New modules 'getopt-posix', 'getopt-gnu'.
33224         * modules/getopt-gnu: New file, renamed from modules/getopt.
33225         * modules/getopt-posix: New file.
33226         * modules/getopt: Turn into an obsolete alias for getopt-gnu.
33227         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX, gl_FUNC_GETOPT_GNU): New macros.
33228         (gl_GETOPT): Remove macro.
33229         (gl_GETOPT_CHECK_HEADERS): Do some checks only for gl_FUNC_GETOPT_GNU.
33230         Disable the test against BSD systems that declare optreset. Test
33231         against mingw bug. Test against lack of support of optional arguments
33232         on many platforms.
33233         * doc/glibc-headers/getopt.texi: Update module name and list of
33234         relevant platforms.
33235         * doc/posix-functions/getopt.texi: Mention modules 'getopt-posix' and
33236         'getopt-gnu' and more portability problems.
33237         * NEWS: Mention the changes.
33238
33239 2009-08-12  Bruno Haible  <bruno@clisp.org>
33240
33241         Ensure that optarg etc. get declared by <unistd.h>.
33242         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require
33243         AC_USE_SYSTEM_EXTENSIONS.
33244         * modules/getopt (Depends-on): Add 'extensions'.
33245
33246 2009-08-12  Bruno Haible  <bruno@clisp.org>
33247
33248         Avoid test link errors.
33249         * modules/pipe-filter-ii-tests (Makefile.am): Define
33250         test_pipe_filter_ii1_LDADD and test_pipe_filter_ii2_main_LDADD.
33251         * modules/pipe-filter-gi-tests (Makefile.am): Define
33252         test_pipe_filter_gi1_LDADD and test_pipe_filter_gi2_main_LDADD.
33253         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
33254
33255 2009-08-12  Bruno Haible  <bruno@clisp.org>
33256
33257         * m4/getopt.m4 (gl_REPLACE_GETOPT): New macro, was called
33258         gl_GETOPT_SUBSTITUTE before.
33259         (gl_GETOPT): Use it.
33260         * m4/argp.m4 (gl_ARGP): Update.
33261         Reported by Sergey Poznyakoff.
33262
33263         * m4/getopt.m4: Reorder macros.
33264         (gl_GETOPT): Inline gl_GETOPT_SUBSTITUTE.
33265         (gl_GETOPT_SUBSTITUTE): Remove macro.
33266
33267 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
33268
33269         Minor improvement in gitlog-to-changelog
33270
33271         * build-aux/gitlog-to-changelog: New option `--format' makes
33272         output format string configurable.
33273
33274 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
33275
33276         Optimize exclude: use hash tables for non-wildcard patterns.
33277
33278         * lib/exclude.c: Include hash.h and mbuiter.h
33279         (struct exclude_pattern, exclude_segment): New data types.
33280         (struct exclude): Rewrite.
33281         (fnmatch_pattern_has_wildcards): New function.
33282         (new_exclude_segment, free_exclude_segment): New functions.
33283         (excluded_file_pattern_p, excluded_file_name_p): New functions.
33284         (excluded_file_name, add_exclude): Rewrite using new struct exclude.
33285         * lib/exclude.h (is_fnmatch_pattern): New prototype.
33286         * modules/exclude: Depend on hash and mbuiter.
33287
33288         * modules/exclude-tests: New file.
33289         * tests/test-exclude.c: New file.
33290         * tests/test-exclude1.sh: New file.
33291         * tests/test-exclude2.sh: New file.
33292         * tests/test-exclude3.sh: New file.
33293         * tests/test-exclude4.sh: New file.
33294         * tests/test-exclude5.sh: New file.
33295         * tests/test-exclude6.sh: New file.
33296         * tests/test-exclude7.sh: New file.
33297
33298 2009-08-12  Bruno Haible  <bruno@clisp.org>
33299
33300         Ensure that getopt() gets declared by <unistd.h>.
33301         * lib/unistd.in.h: Conditionally include getopt.h.
33302         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Require gl_UNISTD_H_DEFAULTS.
33303         Set GNULIB_UNISTD_H_GETOPT.
33304         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
33305         GNULIB_UNISTD_H_GETOPT.
33306         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_GETOPT.
33307
33308 2009-08-12  Bruno Haible  <bruno@clisp.org>
33309
33310         Clarify logic.
33311         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS, gl_GETOPT_IFELSE): Use
33312         gl_replace_getopt instead of GETOPT_H.
33313
33314 2009-08-12  Bruno Haible  <bruno@clisp.org>
33315
33316         * m4/getopt.m4: Add comments.
33317
33318 2009-08-12  Bruno Haible  <bruno@clisp.org>
33319
33320         Disable multithread support by default on Cygwin 1.5.x.
33321         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): On Cygwin 1.5.x and older,
33322         set gl_use_threads=no if not specified otherwise.
33323
33324 2009-08-11  Bruno Haible  <bruno@clisp.org>
33325
33326         Avoid compilation error on NetBSD 5.0.
33327         * tests/test-locale.c: Write sizeof (NULL) instead of sizeof NULL.
33328         * tests/test-stdio.c: Likewise.
33329         * tests/test-stdlib.c: Likewise.
33330         * tests/test-string.c: Likewise.
33331         * tests/test-unistd.c: Likewise.
33332         Reported by Greg Troxel <gdt@ir.bbn.com>
33333         at <https://savannah.gnu.org/support/?106973>.
33334
33335 2009-08-11  Bruno Haible  <bruno@clisp.org>
33336
33337         * modules/dup2-tests (Depends-on): Remove close.
33338
33339         Undo 2009-07-19 commit.
33340         * modules/acl-tests (Depends-on): Remove close.
33341         * modules/binary-io-tests (Depends-on): Likewise.
33342         * modules/closein-tests (Depends-on): Likewise.
33343         * modules/flock-tests (Depends-on): Likewise.
33344         * modules/fsync-tests (Depends-on): Likewise.
33345         * modules/lseek-tests (Depends-on): Likewise.
33346         * modules/pipe-tests (Depends-on): Likewise.
33347         * modules/posix_spawn-tests (Depends-on): Likewise.
33348         * modules/posix_spawnp-tests (Depends-on): Likewise.
33349         * modules/stat-time-tests (Depends-on): Likewise.
33350         * modules/yesno-tests (Depends-on): Likewise.
33351
33352 2009-08-10  Bruno Haible  <bruno@clisp.org>
33353
33354         * lib/vasnprintf.c (DCHAR_SET): Undefine at the end.
33355
33356 2009-08-10  Bruno Haible  <bruno@clisp.org>
33357
33358         Fix a gcc warning.
33359         * lib/write.c (rpl_write): Cast result of _get_osfhandle.
33360
33361 2009-08-10  Bruno Haible  <bruno@clisp.org>
33362
33363         Don't optimize AC_LIBOBJs, as they may appear in different contexts.
33364         * m4/close.m4 (gl_REPLACE_CLOSE): Execute AC_LIBOBJ unconditionally,
33365         not only the first time.
33366         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Likewise.
33367         * m4/open.m4 (gl_REPLACE_OPEN): Likewise.
33368         * m4/strstr.m4 (gl_FUNC_STRSTR): Execute AC_LIBOBJ when REPLACE_STRSTR
33369         is 1, not only the the first time.
33370
33371 2009-08-10  Bruno Haible  <bruno@clisp.org>
33372
33373         Make it possible to use module 'gethostname' without module 'close'.
33374         * lib/unistd.in.h (close): Evoke a link error only if
33375         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
33376         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
33377         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
33378         * modules/unistd (Makefile.am): Substitute
33379         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
33380         * lib/sys_ioctl.in.h (ioctl): Evoke a link error only if
33381         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
33382         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
33383         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
33384         * modules/sys_ioctl (Makefile.am): Substitute
33385         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
33386         * modules/socket (configure.ac): On native Windows, set
33387         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS and
33388         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
33389         Reported by Sam Steingold <sds@gnu.org>.
33390
33391 2009-08-10  Bruno Haible  <bruno@clisp.org>
33392
33393         * m4/close.m4 (gl_FUNC_CLOSE): Add comment.
33394         * modules/ioctl (configure.ac): Likewise.
33395
33396 2009-08-10  Bruno Haible  <bruno@clisp.org>
33397
33398         Avoid collision between gnulib wrapper and libintl wrapper.
33399         * lib/stdio-write.c (printf): Don't define if a printf wrapper is
33400         already defined in intl/printf.c.
33401         (vprintf): Test REPLACE_VPRINTF_POSIX, not REPLACE_VFPRINTF_POSIX.
33402         (vfprintf): Test REPLACE_VFPRINTF_POSIX, not REPLACE_VPRINTF_POSIX.
33403
33404 2009-08-09  Bruno Haible  <bruno@clisp.org>
33405
33406         Make <sys/select.h> really self-contained, also on Solaris 10.
33407         * lib/sys_select.in.h: Include <string.h>.
33408         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Test also against
33409         Solaris 10 problem.
33410         * tests/test-sys_select.c (main): Add check that FD_ZERO can be used.
33411         * doc/posix-headers/sys_select.texi: Mention the Solaris 10 problem.
33412         Reported by Jim Meyering.
33413
33414 2009-08-09  Bruno Haible  <bruno@clisp.org>
33415
33416         Avoid warnings from 'aclocal' that are due to a use of macro name
33417         AM_XGETTEXT_OPTION that is not defined in automake.
33418         * modules/argp (configure.ac): Hide use of AM_XGETTEXT_OPTION from
33419         automake.
33420         * modules/error (configure.ac): Likewise.
33421         * modules/propername (configure.ac): Likewise.
33422         * modules/vasprintf (configure.ac): Likewise.
33423         * modules/verror (configure.ac): Likewise.
33424         * modules/xprintf (configure.ac): Likewise.
33425         * modules/xvasprintf (configure.ac): Likewise.
33426
33427 2009-08-08  Bruno Haible  <bruno@clisp.org>
33428
33429         Avoid compilation error in C++ mode.
33430         * lib/gettimeofday.c (rpl_gettimeofday): Cast timezone argument.
33431         Reported by Sam Steingold <sds@gnu.org>.
33432
33433 2009-08-08  Bruno Haible  <bruno@clisp.org>
33434
33435         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Define HOST_NAME_MAX also
33436         for the various Unix platforms.
33437         * doc/posix-headers/limits.texi: Update platforms list regarding
33438         HOST_NAME_MAX.
33439         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
33440
33441 2009-08-07  Jim Meyering  <meyering@redhat.com>
33442
33443         selinux-at: fix typo in a comment
33444         * lib/selinux-at.h: s/getfileconat/getfilecon/ in a comment.
33445         Spotted by Paolo Bonzini.
33446
33447         selinux-at: remove redundant m4 code, add documentation
33448         * modules/selinux-at (configure.ac): Remove redundant code.
33449         LIB_SELINUX is already set via the dependent module, selinux-h.
33450         (Include): Add quotes around selinux-at.h.
33451         * lib/selinux-at.h: Add documentation.
33452         Reported by Bruno Haible in
33453         http://marc.info/?l=gnulib-bug&m=124958988300749
33454
33455 2009-08-07  Bruno Haible  <bruno@clisp.org>
33456
33457         Avoid link error on MacOS X 10.3 and 10.4.
33458         * lib/argp-ba.c (argp_program_bug_address): Explicitly zero-initialize
33459         on non-ELF systems.
33460         * lib/argp-pv.c (argp_program_version): Likewise.
33461         Reported by Simon Josefsson.
33462
33463 2009-08-07  Simon Josefsson  <simon@josefsson.org>
33464
33465         * tests/test-version-etc.sh: Use $EXEEXT.
33466
33467 2009-08-06  Joel E. Denny  <jdenny@clemson.edu>
33468
33469         update-copyright: update documentation to point to maint.mk
33470         * build-aux/update-copyright: Here.
33471
33472 2009-08-06  Jim Meyering  <meyering@redhat.com>
33473
33474         maint.mk: support update-copyright-local
33475         * top/maint.mk (update-copyright-local): Define place-holder.
33476         (update-copyright): Depend on $(update-copyright-local).
33477
33478 2009-08-06  Jim Meyering  <meyering@redhat.com>
33479
33480         selinux-at: new module
33481         Initially written for coreutils, this module will soon be
33482         used by findutils, too.
33483         * MODULES.html.sh [Misc]: Add selinux-at.
33484         * lib/selinux-at.h: New file, from coreutils.
33485         * lib/selinux-at.c: Likewise.
33486         * modules/selinux-at: Likewise.
33487         (License): Change from LGPL to GPL, since it depends
33488         on the GPL'd openat module.
33489
33490         doc: update README
33491         * README: Remove references to cogito.
33492         Remove cvs-repo-updating instructions from 2007.
33493         Don't imply that CVS is better if you have limited disk space.
33494
33495 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
33496
33497         update-copyright: support C-style comments
33498         * build-aux/update-copyright: Implement and document.
33499         * tests/test-update-copyright.sh: Test.
33500
33501 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
33502
33503         update-copyright: support omitted "(C)"
33504         * build-aux/update-copyright: Implement and document.  Also,
33505         allow variable whitespace before "(C)".
33506         * tests/test-update-copyright.sh: Test.
33507
33508 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
33509
33510         update-copyright: don't trip on non-FSF copyright statements
33511         * build-aux/update-copyright: Fix so that the first correctly
33512         formatted FSF copyright statement is recognized no matter what
33513         appears before it.  Update documentation.
33514         * tests/test-update-copyright.sh: Test that.
33515
33516 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
33517
33518         update-copyright: clean up code a little
33519         * build-aux/update-copyright: Append "_re" to the name of any
33520         variable holding a regular expression.
33521         Replace "old" and "new" with "stmt" in variable names.
33522         Do not accept 2-digit UPDATE_COPYRIGHT_YEAR, which was not
33523         handled correctly.
33524         Format code more consistently.
33525
33526 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
33527
33528         update-copyright-tests: improve portability
33529         * tests/test-update-copyright.sh: Use cmp if diff cannot handle
33530         -u or /dev/null.  Suggested by Jim Meyering and Eric Blake.
33531
33532 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
33533
33534         update-copyright: support @copyright{} and &copy;
33535         * build-aux/update-copyright: Implement and document.
33536         * tests/test-update-copyright.sh: Test.
33537
33538 2009-08-04  Jim Meyering  <meyering@redhat.com>
33539
33540         update-copyright-tests: correctly test EOL=\r\n handling
33541         * tests/test-update-copyright.sh: Put \r at the end of some lines
33542         for the dos-eol tests.  Based on a patch by Joel E. Denny.
33543
33544         maint.mk: make update-copyright exclusion list more configurable
33545         * top/maint.mk (update-copyright): Default to excluding COPYING,
33546         but allow an override, in case someone does want to update that file.
33547
33548         maint.mk: don't update copyright date in COPYING
33549         * top/maint.mk (update-copyright): Exclude COPYING.
33550
33551         maint.mk: add a copyright-updating rule
33552         * top/maint.mk (update-copyright): New rule.
33553         Derived from coreutils/Makefile.am.
33554
33555         update-copyright: rename some variables
33556         * build-aux/update-copyright: Rename a few variables for clarity.
33557         Tweak syntax.  List Joel E. Denny as coauthor.
33558
33559 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
33560
33561         update-copyright: fix bug for 2-digit last year and add tests
33562         * build-aux/update-copyright: Fix bug.
33563         Use UPDATE_COPYRIGHT_YEAR from environment as current year if
33564         specified.
33565         * modules/update-copyright-tests: New
33566         * tests/test-update-copyright.sh: New.
33567
33568 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
33569
33570         update-copyright: handle leading tabs in line prefix
33571         * build-aux/update-copyright: Count leading tabs as 8 spaces
33572         when computing margin.  This helps with the formatting of
33573         ChangeLogs, for example.
33574         Fix documentation a little.
33575
33576 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
33577
33578         update-copyright: support EOL=\r\n
33579         * build-aux/update-copyright: Implement that.
33580
33581 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
33582
33583         update-copyright: automatically format copyright statements
33584         * build-aux/update-copyright: Implement that.
33585         Also, be a little more predictable and safer by always failing
33586         when the full copyright format is not perfectly recognized as an
33587         unbroken whole.  Discussed at
33588         <http://lists.gnu.org/archive/html/bug-gnulib/2009-07/msg00131.html>.
33589         Rewrite documentation.
33590
33591 2009-08-03  Bruno Haible  <bruno@clisp.org>
33592
33593         * m4/iconv.m4 (AM_ICONV): Fix displayed message with autoconf-2.64.
33594
33595 2009-08-02  Bruno Haible  <bruno@clisp.org>
33596
33597         Tests for module 'uname'.
33598         * modules/uname-tests: New file.
33599         * tests/test-uname.c: New file.
33600
33601         New module 'uname'.
33602         * lib/uname.c: New file.
33603         * m4/uname.m4: New file.
33604         * modules/uname: New file.
33605         * doc/posix-functions/uname.texi: Mention the new module.
33606
33607 2009-08-02  Bruno Haible  <bruno@clisp.org>
33608
33609         Tests for module 'sys_utsname'.
33610         * modules/sys_utsname-tests: New file.
33611         * tests/test-sys_utsname.c: New file.
33612
33613         New module 'sys_utsname'.
33614         * lib/sys_utsname.in.h: New file, based on glibc's <sys/utsname.h>.
33615         * m4/sys_utsname_h.m4: New file.
33616         * modules/sys_utsname: New file.
33617         * doc/posix-headers/sys_utsname.texi: Mention the new module.
33618
33619 2009-08-02  Bruno Haible  <bruno@clisp.org>
33620
33621         Implicitly initialize the sockets library.
33622         * lib/gethostname.c: Include sockets.h.
33623         (rpl_gethostname): Invoke gl_sockets_startup.
33624         * lib/socket.c: Include sockets.h.
33625         (rpl_socket): Invoke gl_sockets_startup.
33626         * modules/gethostname (Depends-on): Add sockets.
33627         * modules/socket (Depends-on): Likewise.
33628         * tests/test-poll.c: Don't include sockets.h.
33629         (main): Don't invoke gl_sockets_startup.
33630         * tests/test-select.c: Don't include sockets.h.
33631         (main): Don't invoke gl_sockets_startup.
33632
33633 2009-08-02  Bruno Haible  <bruno@clisp.org>
33634
33635         Allow multiple calls to gl_sockets_startup.
33636         * lib/sockets.c (initialized_sockets_version): New variable.
33637         (gl_sockets_startup): Do nothing if already called for this or a higher
33638         version.
33639         (gl_sockets_cleanup): Reset initialized_sockets_version.
33640
33641 2009-08-03  Simon Josefsson  <simon@josefsson.org>
33642
33643         * tests/test-argp-version-etc-1.sh: Use EXEEXT.  Don't fail on
33644         different project/version.
33645
33646 2009-08-02  Paolo Bonzini  <bonzini@gnu.org>
33647             Bruno Haible  <bruno@clisp.org>
33648
33649         Tests for module 'pipe-filter-gi'.
33650         * modules/pipe-filter-gi-tests: New file.
33651         * tests/test-pipe-filter-gi1.sh: New file.
33652         * tests/test-pipe-filter-gi1.c: New file.
33653         * tests/test-pipe-filter-gi2.sh: New file.
33654         * tests/test-pipe-filter-gi2-main.c: New file.
33655         * tests/test-pipe-filter-gi2-child.c: New file.
33656
33657         New module 'pipe-filter-gi'.
33658         * lib/pipe-filter-gi.c: New file.
33659         * modules/pipe-filter-gi: New file.
33660
33661 2009-08-02  Bruno Haible  <bruno@clisp.org>
33662             Paolo Bonzini  <bonzini@gnu.org>
33663
33664         Tests for module 'pipe-filter-ii'.
33665         * modules/pipe-filter-ii-tests: New file.
33666         * tests/test-pipe-filter-ii1.sh: New file.
33667         * tests/test-pipe-filter-ii1.c: New file.
33668         * tests/test-pipe-filter-ii2.sh: New file.
33669         * tests/test-pipe-filter-ii2-main.c: New file.
33670         * tests/test-pipe-filter-ii2-child.c: New file.
33671
33672         New module 'pipe-filter-ii'.
33673         * lib/pipe-filter.h: New file.
33674         * lib/pipe-filter-ii.c: New file.
33675         * lib/pipe-filter-aux.h: New file.
33676         * modules/pipe-filter-ii: New file.
33677
33678 2009-08-02  Simon Josefsson  <simon@josefsson.org>
33679
33680         * lib/gc-libgcrypt.c: Change copyright to FSF.
33681         * lib/gc-gnulib.c: Likewise.
33682
33683 2009-08-02  Martin Lambers  <marlam@marlam.de>  (tiny change)
33684
33685         * lib/gethostname.c: Include limits.h.
33686
33687 2009-08-02  Simon Josefsson  <simon@josefsson.org>
33688             Bruno Haible  <bruno@clisp.org>
33689
33690         Ensure HOST_NAME_MAX as part of the gethostname module.
33691         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): On native Windows platforms,
33692         define also HOST_NAME_MAX.
33693         * tests/test-gethostname.c: Include <limits.h>.
33694         (main): Check also HOST_NAME_MAX.
33695         * doc/posix-headers/limits.texi: Document the mingw problem.
33696
33697 2009-08-02  Bruno Haible  <bruno@clisp.org>
33698
33699         * lib/gethostname.c (gethostname): Fix handling of large len argument.
33700         Add comments.
33701
33702 2009-03-31  Simon Josefsson  <simon@josefsson.org>
33703
33704         * lib/gethostname.c: Add Windows wrapper.
33705         * m4/gethostname.m4: Look for gethostname in -lws2_32.
33706         * modules/gethostname: Depend on sys_socket & errno, for also
33707         added lib/w32sock.h.  Add GETHOSTNAME_LIB link directive.
33708         * modules/gethostname-tests: Link to @GETHOSTNAME_LIB@.
33709
33710 2009-07-31  Jim Meyering  <meyering@redhat.com>
33711
33712         getloadavg: fix symbol name in comment
33713         * lib/getloadavg.c: Correct a typo I introduced when adding
33714         comments to Matt's change: s/NLIST_POINTER/N_NAME_POINTER/.
33715         Matt Kraai spotted the problem.
33716
33717 2009-07-29  Matt Kraai  <mkraai@beckman.com>
33718
33719         getloadavg: check whether n_name is a pointer, for QNX 6.4.1
33720         * lib/getloadavg.c (getloadavg): Use the strcpy-into-nlist.n_name
33721         code also if ! defined N_NAME_POINTER.
33722         * m4/getloadavg.m4 (gl_GETLOADAVG): Add a link-test for N_NAME_POINTER.
33723         This is required on QNX 6.4.1, where /usr/include/nlist.h exists,
33724         but the n_name member is a 12-byte array.
33725
33726 2009-07-29  Joel E. Denny  <jdenny@clemson.edu>
33727
33728         update-copyright: generalize comment handling
33729         * build-aux/update-copyright: Handle copyright statements
33730         within more comment styles.
33731         Document usage.
33732         Report any file with an external copyright holder or parse failure.
33733
33734 2009-07-29  Jim Meyering  <meyering@redhat.com>
33735
33736         mktime: correct setting of REPLACE_MKTIME
33737         * m4/mktime.m4 (gl_FUNC_MKTIME): Set REPLACE_MKTIME=0, when required.
33738
33739         update-copyright: new module
33740         * modules/update-copyright: New file.
33741         * build-aux/update-copyright: New file.
33742         * MODULES.html.sh (maint+release support): Add update-copyright.
33743
33744 2009-07-27  Bruno Haible  <bruno@clisp.org>
33745
33746         Fix compilation error when <ctime> is used and mktime is replaced.
33747         * lib/time.in.h (mktime): New declaration.
33748         * m4/mktime.m4 (gl_FUNC_MKTIME): Require gl_HEADER_TIME_H_DEFAULTS. Set
33749         REPLACE_MKTIME instead of defining mktime in config.h.
33750         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize REPLACE_MKTIME.
33751         * modules/time (Makefile.am): Substitute REPLACE_MKTIME.
33752         Reported by Ross McFarland <rwmcfa1@neces.com>.
33753
33754 2009-07-27  Bruno Haible  <bruno@clisp.org>
33755
33756         * lib/math.in.h (cosl, logl, sinl): Undefine before declaring it.
33757         Reported by Matt Kraai <mkraai@beckman.com>.
33758
33759 2009-07-25  Jim Meyering  <meyering@redhat.com>
33760
33761         maint.mk: avoid warnings about missing files
33762         * top/maint.mk (PREV_VERSION): Suppress stderr, to hide a
33763         diagnostic when .prev-version does not exist.
33764         (_cfg_mk): Define, so it can be empty when cfg.mk does not exist.
33765         (syntax-check-rules): Use $(_cfg_mk) to avoid a diagnostic about
33766         nonexistent cfg.mk.
33767         Suggestions from Simon Josefsson.
33768
33769 2009-07-25  Bruno Haible  <bruno@clisp.org>
33770
33771         * lib/math.in.h (cosl, logl, sinl): Don't declare if they are already
33772         defined as macros. Needed on QNX 6.4.1.
33773         Reported by Matt Kraai <mkraai@beckman.com>.
33774
33775 2009-07-23  Jim Meyering  <meyering@redhat.com>
33776
33777         maint.mk: invoke "make dist" with a working value of XZ_OPT
33778         * top/maint.mk (vc-dist): Use no "-" in the value of XZ_OPT.
33779
33780 2009-07-22  Matt Kraai  <mkraai@beckman.com>  (tiny change)
33781
33782         Make fseeko.c compile on QNX.
33783         * lib/fseeko.c (rpl_fseeko): Use the numerical value of _MWRITE.
33784
33785 2009-07-22  Peter Simons  <simons@cryp.to>
33786
33787         C++: wrap md2,md5,sha1,etc. function declarations in extern "C" scope
33788         * lib/md2.h [__cplusplus]: Wrap declarations in extern "C" scope.
33789         * lib/md4.h: Likewise.
33790         * lib/md5.h: Likewise.
33791         * lib/sha1.h: Likewise.
33792         * lib/sha256.h: Likewise.
33793         * lib/sha512.h: Likewise.
33794
33795         tests-sha1: don't assign literal string to 'char *' variable
33796         * tests/test-sha1.c (main): Declare locals with "const" to match
33797         attributes of the right hand side.
33798
33799 2009-07-21  Eric Blake  <ebb9@byu.net>
33800
33801         dup2: fix more mingw problems
33802         * lib/dup2.c (rpl_dup2) [_WIN32]: Avoid hanging when duplicating
33803         fd to itself.
33804         * doc/posix-functions/dup2.texi (dup2): Document the bug.
33805         * lib/unistd.in.h (dup2) [REPLACE_FCHDIR]: Avoid name collision.
33806         * lib/fchdir.c (dup2): Manage preprocessor macros correctly.
33807         (rpl_dup2_fchdir): Rename from rpl_dup2, and let dup2 module take
33808         care of mingw bugs.
33809
33810 2009-07-21  Jim Meyering  <meyering@redhat.com>
33811
33812         vc-list-files: avoid failure when /bin/sh is dash
33813         * build-aux/vc-list-files: Avoid a shell portability problem with dash.
33814         On some Debian based systems, /bin/sh is a symlink to dash, and running
33815         this command would omit the "/" following each 'tests' prefix:
33816           dash -x build-aux/vc-list-files -C . tests
33817         That is because bash and dash work differently:
33818           $ for i in bash dash; do $i -c 'a=odd; a=ok b=$a; echo '$i' $b'; done
33819           bash ok
33820           dash odd
33821
33822 2009-07-21  Eric Blake  <ebb9@byu.net>
33823
33824         dup2-tests: test previous patch
33825         * modules/dup2-tests: New file.
33826         * tests/test-dup2.c: Likewise.
33827         * tests/test-open.c (main): Avoid unspecified behavior.
33828         * tests/test-pipe.c (child_main): Use dup2 semantics to simplify
33829         test.
33830
33831         dup2: work around mingw and cygwin 1.5 bug
33832         * m4/dup2.m4 (gl_FUNC_DUP2): Detect mingw bug.
33833         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
33834         * modules/unistd (Makefile.am): Substitute it.
33835         * lib/unistd.in.h (dup2): Declare the replacement.
33836         * lib/dup2.c (dup2) [REPLACE_DUP2]: Implement it.
33837         * doc/posix-functions/dup2.texi (dup2): Document the bugs.
33838         * lib/fchdir.c (rpl_dup2): Don't collide with mingw replacement.
33839         * modules/execute (Depends-on): Add dup2.
33840         * modules/fseterr (Depends-on): Likewise.
33841         * modules/pipe (Depends-on): Likewise.
33842         * modules/posix_spawn-internal (Depends-on): Likewise.
33843
33844 2009-07-21  Bruno Haible  <bruno@clisp.org>
33845
33846         * modules/.gitattributes: New file.
33847
33848 2009-07-20  Bruno Haible  <bruno@clisp.org>
33849
33850         * tests/test-pipe.c (BACKUP_STDERR_FILENO): New macro.
33851         (main): Use it.
33852
33853 2009-07-20  Eric Blake  <ebb9@byu.net>
33854
33855         test-pipe: make a bit more robust.
33856         * tests/test-pipe.c (myerr): Allow error messages regardless of
33857         what we do to stderr.
33858         (test_pipe): Rearrange to avoid deadlock.
33859         (child_main): Try a larger read, to ensure we avoided deadlock.
33860         * lib/pipe.c (create_pipe) [_WIN32]: Fix comment.
33861         * lib/pipe.h (create_pipe_bidi): Document potential for deadlock
33862         if misused.
33863
33864 2009-07-19  Jim Meyering  <meyering@redhat.com>
33865
33866         fts: avoid false-positive cycle-detection
33867         * lib/fts.c (fts_read): Reinitialize cycle-detection data structures
33868         for each new command line argument.
33869
33870 2009-07-19  Bruno Haible  <bruno@clisp.org>
33871
33872         Fix build error on mingw with the modules sys_select and unistd.
33873         * modules/acl-tests (Depends-on): Add close.
33874         * modules/binary-io-tests (Depends-on): Likewise.
33875         * modules/closein-tests (Depends-on): Likewise.
33876         * modules/flock-tests (Depends-on): Likewise.
33877         * modules/fsync-tests (Depends-on): Likewise.
33878         * modules/lseek-tests (Depends-on): Likewise.
33879         * modules/pipe-tests (Depends-on): Likewise.
33880         * modules/posix_spawn-tests (Depends-on): Likewise.
33881         * modules/posix_spawnp-tests (Depends-on): Likewise.
33882         * modules/stat-time-tests (Depends-on): Likewise.
33883         * modules/yesno-tests (Depends-on): Likewise.
33884
33885 2009-07-19  Bruno Haible  <bruno@clisp.org>
33886
33887         Unify conditionals.
33888         * lib/pipe.h: Detect native Win32 by looking at _WIN32 and __WIN32__
33889         macros, not at the compiler macros.
33890         * lib/pipe.c: Likewise.
33891         * lib/execute.c: Likewise.
33892         * lib/spawni.c: Likewise.
33893
33894 2009-07-19  Bruno Haible  <bruno@clisp.org>
33895
33896         Fix handling of closed stdin/stdout/stderr on mingw.
33897         * lib/w32spawn.h: Include unistd.h.
33898         (dup_noinherit): Return -1 if the old handle is invalid. Allocate new
33899         file descriptor with O_NOINHERIT flag.
33900         (fd_safer_noinherit): New function, based on fd-safer.c.
33901         (dup_safer_noinherit): New function, based on dup-safer.c.
33902         (undup_safer_noinherit): New function.
33903         * lib/execute.c (execute) [WIN32]: Use dup_safer_noinherit instead of
33904         dup_noinherit. Use undup_safer_noinherit instead of dup2 and close.
33905         * lib/pipe.c (create_pipe) [WIN32]: Likewise. Use fd_safer_noinherit
33906         instead of fd_safer.
33907         * tests/test-pipe.c: Include <windows.h>.
33908         (child_main) [WIN32]: Test the handle of STDERR_FILENO, not its close()
33909         result.
33910
33911         * tests/test-pipe.c (child_main, parent_main): New functions, extracted
33912         from main.
33913         (test_pipe): Pass an extra argument for disambiguation.
33914         (main): Invoke parent_main or child_main.
33915
33916         * tests/test-pipe.c (test_pipe): Pass slave_process = true argument
33917         consistently.
33918
33919 2009-07-18  Eric Blake  <ebb9@byu.net>
33920
33921         test-pipe: fix mingw build
33922         * tests/test-pipe.c (main): Avoid fcntl on mingw.
33923
33924 2009-07-18  Bruno Haible  <bruno@clisp.org>
33925
33926         * modules/pipe-tests (Makefile.am): Fix typo.
33927
33928 2009-07-18  Eric Blake  <ebb9@byu.net>
33929
33930         error: fix mingw build
33931         * lib/error.c (error, error_at_line): Avoid fcntl on mingw.
33932         Reported by Bruno Haible.
33933
33934         error: avoid undefined use of stdout
33935         * lib/error.c (error, error_at_line): Check that fd 1 is open
33936         before flushing stdout.  Avoids a crash on cygwin when libsigsegv
33937         is handling faults and the close_stdout module wants to report the
33938         detection of closed stdout as an error.
33939
33940 2009-07-17  Eric Blake  <ebb9@byu.net>
33941
33942         pipe: be robust in face of closed fds
33943         * lib/pipe.c (create_pipe): Closed standard descriptors in parent
33944         should cause child to misbehave.
33945         * modules/pipe-tests: New module.
33946         * tests/test-pipe.c: New file.
33947         * tests/test-pipe.sh: New file.
33948         Reported by Akim Demaille.
33949
33950 2009-07-14  Bruno Haible  <bruno@clisp.org>
33951
33952         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Guess it works on glibc systems.
33953         Reported by anonymous kc.
33954
33955 2009-07-07  Jim Meyering  <meyering@redhat.com>
33956
33957         maint.mk: don't look for translatable strings in *.m4 or *.mk
33958         * top/maint.mk (sc_po_check): Skip *.m4 and *.mk files,
33959         when searching for translatable strings.
33960
33961 2009-07-05  Jim Meyering  <meyering@redhat.com>
33962
33963         remove superfluous parentheses in STREQ definition
33964         * tests/test-argv-iter.c (STREQ): Remove redundant parentheses.
33965         * lib/getugroups.c (STREQ): Likewise.
33966         * lib/fnmatch.c (STREQ): Likewise.
33967         Spotted by Bruno Haible.
33968
33969 2009-07-04  Jim Meyering  <meyering@redhat.com>
33970
33971         argv-iter: new module
33972         * MODULES.html.sh: Add argv-iter.
33973         * lib/argv-iter.c, lib/argv-iter.h: New files.
33974         * modules/argv-iter: New file.
33975         * modules/argv-iter-tests: New file.
33976         * tests/test-argv-iter.c: Test it.
33977
33978 2009-07-04  Bruno Haible  <bruno@clisp.org>
33979
33980         Fix assertion.
33981         * lib/git-merge-changelog.c (compute_mapping): In the case where file1
33982         contains more exact copies of a given entry than file2, leave the extra
33983         copies unpaired rather than aborting.
33984         Reported by Eric Blake.
33985
33986 2009-07-02  Bruno Haible  <bruno@clisp.org>
33987
33988         Speedup git-merge-changelog for git cherry-pick.
33989         * lib/git-merge-changelog.c (struct entries_mapping): New type.
33990         (entries_mapping_get): New function, extracted from compute_mapping.
33991         (entries_mapping_reverse_get): New function.
33992         (compute_mapping): Add a 'full' argument. Return the result in a
33993         'struct entries_mapping'.
33994         (main): Update. Access the mappings through entries_mapping_get.
33995         Reported by Eric Blake.
33996
33997 2009-07-02  Bruno Haible  <bruno@clisp.org>
33998
33999         * lib/git-merge-changelog.c (compute_mapping): Fix determination of
34000         best_i.
34001
34002 2009-07-02  Bruno Haible  <bruno@clisp.org>
34003
34004         Speed up approximate search for matching ChangeLog entries.
34005         * lib/git-merge-changelog.c (entry_fstrcmp): Add a lower_bound
34006         argument. Call fstrcmp_bounded instead of fstrcmp.
34007         (compute_mapping, try_split_merged_entry, main): Update callers.
34008
34009 2009-07-02  Bruno Haible  <bruno@clisp.org>
34010
34011         * lib/git-merge-changelog.c (main): Add comment about git cherry-pick.
34012
34013 2009-06-30  Bruno Haible  <bruno@clisp.org>
34014
34015         Reduce the number of uc_is_cased calls.
34016         * lib/unicase.h (casing_suffix_context_t): Add
34017         'first_char_except_ignorable' field.
34018         * lib/unicase/context.h (SCC_FINAL_SIGMA_MASK): Remove macro.
34019         (SCC_MORE_ABOVE_MASK, SCC_BEFORE_DOT_MASK): Update.
34020         * lib/unicase/empty-suffix-context.c (unicase_empty_suffix_context):
34021         Update initializer.
34022         * lib/unicase/u-casemap.h (FUNC): Don't invoke uc_is_cased on
34023         case-ignorable characters.
34024         * lib/unicase/u-ct-totitle.h (FUNC): Likewise.
34025         * lib/unicase/u-suffix-context.h (FUNC2): Don't call uc_is_cased here.
34026         * modules/unicase/u8-suffix-context (Depends-on): Remove unicase/cased.
34027         * modules/unicase/u16-suffix-context (Depends-on): Likewise.
34028         * modules/unicase/u32-suffix-context (Depends-on): Likewise.
34029
34030 2009-06-30  Bruno Haible  <bruno@clisp.org>
34031
34032         Tests for module 'unicase/ignorable'.
34033         * modules/unicase/ignorable-tests: New file.
34034         * tests/unicase/test-ignorable.c: New file, generated by
34035         gen-uni-tables.
34036
34037         Tests for module 'unicase/cased'.
34038         * modules/unicase/cased-tests: New file.
34039         * tests/unicase/test-cased.c: New file, generated by gen-uni-tables.
34040         * tests/unicase/test-predicate-part1.h: New file, derived from
34041         tests/unictype/test-predicate-part1.h.
34042         * tests/unicase/test-predicate-part2.h: New file, same as
34043         tests/unictype/test-predicate-part2.h.
34044
34045         Fix evaluation of "Before C" condition of FINAL_SIGMA.
34046         * lib/gen-uni-tables.c (is_cased, is_case_ignorable): New functions.
34047         (output_casing_properties): New function.
34048         (main): Call it.
34049         * lib/unicase/cased.h: New file, generated by gen-uni-tables.
34050         * lib/unicase/cased.c: Include unictype/bitmap.h.
34051         (uc_is_cased): Define through a bitmap lookup.
34052         * lib/unicase/ignorable.h: New file, generated by gen-uni-tables.
34053         * lib/unicase/ignorable.c: Include unictype/bitmap.h.
34054         (uc_is_case_ignorable): Define through a bitmap lookup.
34055         * modules/unicase/cased (Files): Add lib/unicase/cased.h,
34056         lib/unictype/bitmap.h.
34057         (Depends-on): Add inline. Clean up.
34058         * modules/unicase/ignorable (Files): Add lib/unicase/ignorable.h,
34059         lib/unictype/bitmap.h.
34060         (Depends-on): Add inline. Clean up.
34061         * tests/unicase/test-u8-tolower.c (main): Add more tests of FINAL_SIGMA
34062         recognition.
34063         * tests/unicase/test-u16-tolower.c (main): Likewise.
34064         * tests/unicase/test-u32-tolower.c (main): Likewise.
34065
34066 2009-06-30  Bruno Haible  <bruno@clisp.org>
34067
34068         * lib/unicase/u8-casemap.c: Don't include uniwbrk.h.
34069         * lib/unicase/u16-casemap.c: Likewise.
34070         * lib/unicase/u32-casemap.c: Likewise.
34071
34072 2009-06-29  Bruno Haible  <bruno@clisp.org>
34073
34074         Define u32_casefold as a wrapper around u32_ct_casefold.
34075         * lib/unicase/u32-casefold.c: Update.
34076         * modules/unicase/u32-casefold (Depends-on): Add
34077         unicase/u32-ct-casefold, unicase/empty-prefix-context,
34078         unicase/empty-suffix-context. Clean up.
34079
34080         Define u16_casefold as a wrapper around u16_ct_casefold.
34081         * lib/unicase/u16-casefold.c: Update.
34082         * modules/unicase/u16-casefold (Depends-on): Add
34083         unicase/u16-ct-casefold, unicase/empty-prefix-context,
34084         unicase/empty-suffix-context. Clean up.
34085
34086         Define u8_casefold as a wrapper around u8_ct_casefold.
34087         * lib/unicase/u-casefold.h (FUNC): Delegate to U_CT_CASEFOLD.
34088         * lib/unicase/u8-casefold.c: Update.
34089         * modules/unicase/u8-casefold (Depends-on): Add unicase/u8-ct-casefold,
34090         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
34091
34092         Define u32_totitle as a wrapper around u32_ct_totitle.
34093         * lib/unicase/u32-totitle.c: Update.
34094         * modules/unicase/u32-totitle (Depends-on): Add unicase/u32-ct-totitle,
34095         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
34096
34097         Define u16_totitle as a wrapper around u16_ct_totitle.
34098         * lib/unicase/u16-totitle.c: Update.
34099         * modules/unicase/u16-totitle (Depends-on): Add unicase/u16-ct-totitle,
34100         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
34101
34102         Define u8_totitle as a wrapper around u8_ct_totitle.
34103         * lib/unicase/u-totitle.h (is_cased, is_case_ignorable): Remove
34104         functions.
34105         (FUNC): Delegate to U_CT_TOTITLE.
34106         * lib/unicase/u8-totitle.c: Update.
34107         * modules/unicase/u8-totitle (Depends-on): Add unicase/u8-ct-totitle,
34108         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
34109
34110         * lib/unicase/u32-tolower.c (u32_tolower): Update u32_casemap
34111         invocation.
34112         * modules/unicase/u32-tolower (Depends-on): Add
34113         unicase/empty-prefix-context, unicase/empty-suffix-context.
34114
34115         * lib/unicase/u16-tolower.c (u16_tolower): Update u16_casemap
34116         invocation.
34117         * modules/unicase/u16-tolower (Depends-on): Add
34118         unicase/empty-prefix-context, unicase/empty-suffix-context.
34119
34120         * lib/unicase/u8-tolower.c (u8_tolower): Update u8_casemap invocation.
34121         * modules/unicase/u8-tolower (Depends-on): Add
34122         unicase/empty-prefix-context, unicase/empty-suffix-context.
34123
34124         * lib/unicase/u32-toupper.c (u32_toupper): Update u32_casemap
34125         invocation.
34126         * modules/unicase/u32-toupper (Depends-on): Add
34127         unicase/empty-prefix-context, unicase/empty-suffix-context.
34128
34129         * lib/unicase/u16-toupper.c (u16_toupper): Update u16_casemap
34130         invocation.
34131         * modules/unicase/u16-toupper (Depends-on): Add
34132         unicase/empty-prefix-context, unicase/empty-suffix-context.
34133
34134         * lib/unicase/u8-toupper.c (u8_toupper): Update u8_casemap invocation.
34135         * modules/unicase/u8-toupper (Depends-on): Add
34136         unicase/empty-prefix-context, unicase/empty-suffix-context.
34137
34138         New module 'unicase/u32-ct-casefold'.
34139         * lib/unicase/u32-ct-casefold.c: New file.
34140         * modules/unicase/u32-ct-casefold: New file.
34141
34142         New module 'unicase/u16-ct-casefold'.
34143         * lib/unicase/u16-ct-casefold.c: New file.
34144         * modules/unicase/u16-ct-casefold: New file.
34145
34146         New module 'unicase/u8-ct-casefold'.
34147         * lib/unicase/u8-ct-casefold.c: New file.
34148         * lib/unicase/u-ct-casefold.h: New file, derived from
34149         lib/unicase/u-casefold.h.
34150         * modules/unicase/u8-ct-casefold: New file.
34151
34152         New module 'unicase/u32-ct-totitle'.
34153         * lib/unicase/u32-ct-totitle.c: New file.
34154         * modules/unicase/u32-ct-totitle: New file.
34155
34156         New module 'unicase/u16-ct-totitle'.
34157         * lib/unicase/u16-ct-totitle.c: New file.
34158         * modules/unicase/u16-ct-totitle: New file.
34159
34160         New module 'unicase/u8-ct-totitle'.
34161         * lib/unicase/u8-ct-totitle.c: New file.
34162         * lib/unicase/u-ct-totitle.h: New file, derived from
34163         lib/unicase/u-totitle.h.
34164         * modules/unicase/u8-ct-totitle: New file.
34165
34166         New module 'unicase/u32-ct-tolower'.
34167         * lib/unicase/u32-ct-tolower.c: New file.
34168         * modules/unicase/u32-ct-tolower: New file.
34169
34170         New module 'unicase/u16-ct-tolower'.
34171         * lib/unicase/u16-ct-tolower.c: New file.
34172         * modules/unicase/u16-ct-tolower: New file.
34173
34174         New module 'unicase/u8-ct-tolower'.
34175         * lib/unicase/u8-ct-tolower.c: New file.
34176         * modules/unicase/u8-ct-tolower: New file.
34177
34178         New module 'unicase/u32-ct-toupper'.
34179         * lib/unicase/u32-ct-toupper.c: New file.
34180         * modules/unicase/u32-ct-toupper: New file.
34181
34182         New module 'unicase/u16-ct-toupper'.
34183         * lib/unicase/u16-ct-toupper.c: New file.
34184         * modules/unicase/u16-ct-toupper: New file.
34185
34186         New module 'unicase/u8-ct-toupper'.
34187         * lib/unicase/u8-ct-toupper.c: New file.
34188         * modules/unicase/u8-ct-toupper: New file.
34189
34190         Add context arguments to u*_casemap functions.
34191         * lib/unicase/unicasemap.h: Include unicase.h.
34192         (u8_casemap, u16_casemap, u32_casemap): Add prefix_context and
34193         suffix_context arguments.
34194         * lib/unicase/u-casemap.h (is_cased, is_case_ignorable): Remove
34195         functions.
34196         (FUNC): Add prefix_context and suffix_context arguments. Use
34197         uc_is_cased and uc_is_case_ignorable.
34198         * lib/unicase/u8-casemap.c: Include caseprop.h and context.h.
34199         * lib/unicase/u16-casemap.c: Likewise.
34200         * lib/unicase/u32-casemap.c: Likewise.
34201         * modules/unicase/u8-casemap (Files): Add lib/unicase/context.h.
34202         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
34203         * modules/unicase/u16-casemap (Files): Add lib/unicase/context.h.
34204         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
34205         * modules/unicase/u32-casemap (Files): Add lib/unicase/context.h.
34206         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
34207
34208         New module 'unicase/u32-suffix-context'.
34209         * lib/unicase/u32-suffix-context.c: New file.
34210         * modules/unicase/u32-suffix-context: New file.
34211
34212         New module 'unicase/u16-suffix-context'.
34213         * lib/unicase/u16-suffix-context.c: New file.
34214         * modules/unicase/u16-suffix-context: New file.
34215
34216         New module 'unicase/u8-suffix-context'.
34217         * lib/unicase/u8-suffix-context.c: New file.
34218         * lib/unicase/u-suffix-context.h: New file.
34219         * modules/unicase/u8-suffix-context: New file.
34220
34221         New module 'unicase/empty-suffix-context'.
34222         * lib/unicase/empty-suffix-context.c: New file.
34223         * modules/unicase/empty-suffix-context: New file.
34224
34225         New module 'unicase/u32-prefix-context'.
34226         * lib/unicase/u32-prefix-context.c: New file.
34227         * modules/unicase/u32-prefix-context: New file.
34228
34229         New module 'unicase/u16-prefix-context'.
34230         * lib/unicase/u16-prefix-context.c: New file.
34231         * modules/unicase/u16-prefix-context: New file.
34232
34233         New module 'unicase/u8-prefix-context'.
34234         * lib/unicase/u8-prefix-context.c: New file.
34235         * lib/unicase/u-prefix-context.h: New file.
34236         * lib/unicase/context.h: New file.
34237         * modules/unicase/u8-prefix-context: New file.
34238
34239         New module 'unicase/empty-prefix-context'.
34240         * lib/unicase/empty-prefix-context.c: New file.
34241         * modules/unicase/empty-prefix-context: New file.
34242
34243         New module 'unicase/ignorable'.
34244         * lib/unicase/ignorable.c: New file.
34245         * modules/unicase/ignorable: New file.
34246
34247         New module 'unicase/cased'.
34248         * lib/unicase/caseprop.h: New file.
34249         * lib/unicase/cased.c: New file.
34250         * modules/unicase/cased: New file.
34251
34252         New functions for case mapping of substrings.
34253         * lib/unicase.h (casing_prefix_context_t): New type.
34254         (unicase_empty_prefix_context): New variable.
34255         (u8_casing_prefix_context, u16_casing_prefix_context,
34256         u32_casing_prefix_context, u8_casing_prefixes_context,
34257         u16_casing_prefixes_context, u32_casing_prefixes_context): New
34258         declarations.
34259         (casing_suffix_context_t): New type.
34260         (unicase_empty_suffix_context): New variable.
34261         (u8_casing_suffix_context, u16_casing_suffix_context,
34262         u32_casing_suffix_context, u8_casing_suffixes_context,
34263         u16_casing_suffixes_context, u32_casing_suffixes_context,
34264         u8_ct_toupper, u16_ct_toupper, u32_ct_toupper, u8_ct_tolower,
34265         u16_ct_tolower, u32_ct_tolower, u8_ct_totitle, u16_ct_totitle,
34266         u32_ct_totitle, u8_ct_casefold, u16_ct_casefold, u32_ct_casefold): New
34267         declarations.
34268
34269 2009-06-28  Jim Meyering  <meyering@redhat.com>
34270
34271         boostrap: indent only with spaces
34272         * build-aux/bootstrap: Indent only with spaces, never TABs.
34273
34274         bootstrap: split long lines
34275         * build-aux/bootstrap: Keep line length < 80.
34276
34277         bootstrap: sync from coreutils
34278         * build-aux/bootstrap: Honor variables like $ACLOCAL, etc.,
34279         just as autoreconf does.  Verify a list of prerequisite
34280         package-name,version-number pairs if defined in bootstrap.conf.
34281         Refer to README-prereq, if prerequisites are not satisfied.
34282
34283 2009-06-27  Eric Blake  <ebb9@byu.net>
34284
34285         tests: add test for bogus NULL definition
34286         * tests/test-stdio.c: Ensure POSIX 2008 requirement on NULL.
34287         * tests/test-stdlib.c: Likewise.
34288         * tests/test-string.c: Likewise.
34289         * tests/test-locale.c: Likewise.
34290         * tests/test-unistd.c: Likewise.
34291         * modules/stdio-tests (Depends-on): Add verify.
34292         * modules/stdlib-tests (Depends-on): Likewise.
34293         * modules/string-tests (Depends-on): Likewise.
34294         * modules/locale-tests (Depends-on): Likewise.
34295         * modules/unistd-tests (Depends-on): Likewise.
34296
34297 2009-06-27  Paolo Bonzini  <bonzini@gnu.org>
34298
34299         * m4/selinux-context-h (gl_HEADERS_SELINUX_CONTEXT_H): Remove
34300         self-explaining comment.
34301         * m4/selinux-selinux-h: Update serial.
34302         (gl_LIBSELINUX): New macro, adding a warning for missing development
34303         packages to code extracted from...
34304         (gl_HEADERS_SELINUX_SELINUX_H): ... this one.  Require gl_LIBSELINUX.
34305         Add warning for missing development packages here, too.
34306
34307 2009-06-26  Paolo Bonzini  <bonzini@gnu.org>
34308
34309         * build-aux/bootstrap: Do not use GIT_CONFIG_LOCAL.
34310
34311 2009-06-25  Eric Blake  <ebb9@byu.net>
34312
34313         version-etc: fix regression
34314         * lib/version-etc.h (ATTRIBUTE_SENTINEL): Define for new enough
34315         gcc.
34316         (version_etc): Use it, to catch bugs with trailing NULL.
34317         * lib/version-etc.c (version_etc_arn): Delete unused argument.
34318         (version_etc_va): Fix logic bug.
34319         * modules/version-etc-tests: Add test.
34320         * tests/test-version-etc.c: New file.
34321         * tests/test-version-etc.sh: Likewise.
34322
34323 2009-06-25  Sam Steingold  <sds@gnu.org>
34324
34325         * mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): Include <stdlib.h>, for the
34326         mbtowc declaration.
34327
34328 2009-06-25  Eric Blake  <ebb9@byu.net>
34329
34330         fpurge: migrate into <stdio.h>
34331         * lib/fpurge.h: Delete...
34332         * lib/stdio.in.h (fpurge): ...and declare here, instead.
34333         * lib/fpurge.c (fpurge): Change declaring header.
34334         * modules/fpurge (Files): Drop deleted file.
34335         (Depends-on): Add stdio.
34336         (configure.ac): Set witness.
34337         * modules/stdio (Makefile.am): Support fpurge macros.
34338         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
34339         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set appropriate variables.
34340         * lib/fflush.c: Update client.
34341         * tests/test-fpurge.c: Likewise.
34342         * NEWS: Mention the change.
34343
34344 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
34345
34346         * lib/argp-version-etc.c (program_authors): Add const
34347         qualifier.
34348         * lib/version-etc.c: Fix typos in the comments.
34349         * modules/argp-version-etc: Depends on version-etc.
34350
34351 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
34352
34353         argp-version-etc: new module.
34354
34355         * lib/argp-version-etc.c: New file.
34356         * lib/argp-version-etc.h: New file.
34357         * modules/argp-version-etc: New file.
34358         * modules/argp-version-etc-tests: New file.
34359         * tests/test-argp-version-etc.c: New test.
34360         * tests/test-argp-version-etc-1.sh: New test.
34361
34362 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
34363
34364         Provide additional interfaces and documentation for version-etc
34365         module.
34366
34367         * lib/version-etc.c (version_etc_arn, version_etc_ar): New
34368         interfaces.
34369         * lib/version-etc.h (version_etc_arn, version_etc_ar): New
34370         prototypes.
34371
34372 2009-06-24  Bruno Haible  <bruno@clisp.org>
34373
34374         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Fix description of
34375         HAVE_LIB${NAME} macro.
34376         Reported by Sam Steingold <sds@gnu.org>.
34377
34378 2009-06-23  Simon Josefsson  <simon@josefsson.org>
34379
34380         * modules/hash-tests (test_hash_LDADD): Link to libintl when
34381         needed.
34382
34383 2009-06-21  Bruno Haible  <bruno@clisp.org>
34384
34385         Make two consecutive identical invocations of AC_LIB_HAVE_LINKFLAGS
34386         work.
34387         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Reset HAVE_LIB${NAME}
34388         together with LIB${NAME}, LTLIB${NAME}.
34389         Reported by Sam Steingold <sds@gnu.org>.
34390
34391 2009-06-20  Jim Meyering  <meyering@redhat.com>
34392
34393         tests: make sc_require_test_exit_idiom more generic
34394         * top/maint.mk (Exit_witness_file): New overridable variable.
34395         (sc_require_test_exit_idiom): Don't hard-code tests/test-lib.sh.
34396         Relax test for /^Exit \$fail$$/ to just /^Exit ./.
34397
34398 2009-06-19  Jim Meyering  <meyering@redhat.com>
34399
34400         hash: reverse order of src/dst parameters in an internal interface
34401         * lib/hash.c (transfer_entries): Reverse order of parameters to
34402         put DST before SRC.  Adjust callers.
34403
34404         tests: test-hash: avoid wholesale duplication
34405         * tests/test-hash.c (main): Don't copy/paste a 60-line loop.
34406         Instead, use a loop and add a single conditional.
34407
34408         tests: test-hash: allow seed selection via a command line argument
34409         * tests/test-hash.c (get_seed): New function.
34410         (main): Use it.
34411
34412 2009-06-19  Eric Blake  <ebb9@byu.net>
34413
34414         hash: avoid memory leak on allocation failure
34415         * lib/hash.c: (hash_rehash): Avoid memory leak on allocation
34416         failure.  Factor repeated algorithm...
34417         (transfer_entries): ...into new helper routine.
34418         (hash_delete): React to hash_rehash return value.
34419
34420         hash: reduce memory pressure in hash_rehash no-op case
34421         * lib/hash.c (next_prime): Avoid overflow.
34422         (hash_initialize): Factor bucket size computation...
34423         (compute_bucket_size): ...into new helper function.
34424         (hash_rehash): Use new function and open coding to reduce memory
34425         pressure, and avoid a memory leak in USE_OBSTACK code.
34426         Reported by Jim Meyering.
34427
34428 2009-06-18  Eric Blake  <ebb9@byu.net>
34429
34430         hash: make rotation more obvious
34431         * modules/hash (Depends-on): Add bitrotate and stdint.
34432         * lib/bitrotate.h (rotl_sz, rotr_sz): New functions.
34433         * lib/hash.c (headers): Drop limits.h.  Add stdint.h.
34434         (SIZE_MAX): Rely on headers for definition.
34435         (hash_string) [USE_DIFF_HASH]: Use rotl_sz.
34436         (raw_hasher): Use rotr_sz.
34437         Suggested by Jim Meyering.
34438
34439         hash: fix memory leak in last patch
34440         * lib/hash.c (hash_rehash): Avoid memory leak.
34441
34442         hash: avoid no-op rehashing
34443         * lib/hash.c (hash_rehash): Recognize useless rehash attempts.
34444
34445         hash: provide default callback functions
34446         * lib/hash.c (raw_hasher, raw_comparator): New functions.
34447         (hash_initialize): Use them as defaults.
34448         * tests/test-hash.c (main): Test this.
34449
34450         hash: minor optimization
34451         * lib/hash.c (hash_lookup, hash_find_entry): Avoid function call
34452         when possible.
34453         (hash_initialize): Document this promise.
34454         (hash_do_for_each, hash_clear, hash_free): Use C89 syntax.
34455         * tests/test-hash.c (hash_compare_strings): Test this.
34456
34457 2009-06-18  Bruno Haible  <bruno@clisp.org>
34458
34459         * m4/strstr.m4 (gl_FUNC_STRSTR): Skip linear time test if strstr is
34460         going to be replaced anyway.
34461
34462 2009-06-18  Bruno Haible  <bruno@clisp.org>
34463
34464         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Invoke AC_LIBOBJ only
34465         in one place.
34466         (gl_FUNC_STRCASESTR): Skip linear time test if strcasestr is going to
34467         be replaced anyway.
34468
34469 2009-06-18  Eric Blake  <ebb9@byu.net>
34470
34471         hash: check for resize before insertion
34472         * lib/hash.c (hash_insert): Check whether bucket usage exceeds
34473         threshold before insertion, so that a pathological hash_rehash
34474         that fills every bucket can still trigger another rehash.
34475
34476 2009-06-18  Jim Meyering  <meyering@redhat.com>
34477
34478         hash-tests: add a loop around the small tests
34479         * tests/test-hash.c (main): Repeat small tests with selected
34480         small initial table sizes.
34481
34482 2009-06-17  Eric Blake  <ebb9@byu.net>
34483
34484         hash: minor cleanups
34485         * lib/hash.h (hash_entry): Make opaque, by moving...
34486         * lib/hash.c (hash_entry): ...here.
34487         (hash_insert): Clarify restrictions on what can be inserted.
34488         (hash_get_next): Clarify when it is safe to remove an element
34489         during traversal.
34490         (check_tuning): Skip verification when tuning is known safe.
34491         (hash_initialize): Clarify restrictions on tuning.
34492
34493 2009-06-17  Jim Meyering  <jim@meyering.net>
34494         and Eric Blake  <ebb9@byu.net>
34495
34496         hash-tests: new module
34497         * modules/hash-tests: New file.
34498         * tests/test-hash.c: New file.
34499
34500 2009-06-17  Eric Blake  <ebb9@byu.net>
34501
34502         strstr-simple: document new module
34503         * MODULES.html.sh: Document new module.
34504
34505         strstr, strcasestr: replace on platforms with broken memchr
34506         * modules/strstr: Split into...
34507         * modules/strstr-simple: ...new module that does not care about
34508         performance, but does care about glibc bug.
34509         * m4/strstr.m4 (gl_FUNC_STRSTR): Split...
34510         (gl_FUNC_STRSTR_SIMPLE): ...into new macro, which replaces strstr
34511         if platform memchr is broken, per Debian bug 521737.
34512         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): React to broken
34513         memchr.
34514         * m4/memchr.m4 (gl_FUNC_MEMCHR): Only expand once.
34515         * doc/posix-functions/strstr.texi (strstr): Document the fix.
34516         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
34517         * modules/mountlist (Depends-on): Add strstr-simple.
34518         * modules/gen-uni-tables (Depends-on): Likewise.
34519         * modules/argz (Depends-on): Add strstr.
34520
34521 2009-06-17  Bruno Haible  <bruno@clisp.org>
34522
34523         * modules/posix_spawn-internal (Depends-on): Add errno.
34524
34525 2009-06-17  Bruno Haible  <bruno@clisp.org>
34526
34527         Define missing ESTALE on Interix 3.5.
34528         * lib/errno.in.h (ESTALE): Assign a value if missing.
34529         * lib/strerror.c (rpl_strerror): Handle missing ESTALE and ECANCELED.
34530         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether ESTALE is
34531         missing.
34532         * doc/posix-headers/errno.texi: Mention the Interix bug.
34533         Reported by Jay Krell <jay.krell@cornell.edu> via Eric Blake.
34534
34535 2009-06-15  Eric Blake  <ebb9@byu.net>
34536
34537         memchr, memchr2: add valgrind exception
34538         * lib/memchr.valgrind: New file.
34539         * lib/memchr2.valgrind: New file.
34540         * modules/memchr (Files): Distribute valgrind file.
34541         * modules/memchr2 (Files): Likewise.
34542
34543         docs: memchr is no longer obsolete
34544         * MODULES.html.sh: Move memchr from obsolete to string.h section.
34545         * lib/string.in.h (memchr): Simplify logic.
34546
34547 2009-06-14  Jim Meyering  <meyering@redhat.com>
34548
34549         link-follow: fix the "checking..." message to not mention trailing slash
34550         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): This test has
34551         never considered trailing slashes.
34552
34553 2009-06-14  Bruno Haible  <bruno@clisp.org>
34554
34555         * m4/memchr.m4: Mention also the bug on IA-64.
34556         * doc/posix-functions/memchr.texi: Likewise.
34557
34558 2009-06-12  Eric Blake  <ebb9@byu.net>
34559
34560         memchr: detect broken x86_64 and alpha implementations
34561         * modules/memchr-tests (Depends-on): Move mmap detection...
34562         * modules/memchr (Depends-on): ...here.
34563         (configure.ac): Set indicator.
34564         * lib/string.in.h (memchr): Declare replacement.
34565         * modules/string (Makefile.am): Trigger replacement.
34566         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
34567         * m4/memchr.m4 (gl_FUNC_MEMCHR): Use mmap to detect platform
34568         bugs.
34569         * doc/posix-functions/memchr.texi (memchr): Document the bug.
34570         * modules/getpagesize (License): Relax license.
34571
34572 2009-06-11  Bruno Haible  <bruno@clisp.org>
34573
34574         * lib/idpriv.h: Add more references.
34575
34576 2009-06-08  Bruno Haible  <bruno@clisp.org>
34577
34578         Tests for module 'idpriv-droptemp'.
34579         * modules/idpriv-droptemp-tests: New file.
34580         * tests/test-idpriv-droptemp.sh: New file.
34581         * tests/test-idpriv-droptemp.su.sh: New file.
34582         * tests/test-idpriv-droptemp.c: New file.
34583
34584         New module 'idpriv-droptemp'.
34585         * lib/idpriv-droptemp.c: New file.
34586         * modules/idpriv-droptemp: New file.
34587
34588 2009-06-08  Bruno Haible  <bruno@clisp.org>
34589
34590         Tests for module 'idpriv-drop'.
34591         * modules/idpriv-drop-tests: New file.
34592         * tests/test-idpriv-drop.sh: New file.
34593         * tests/test-idpriv-drop.su.sh: New file.
34594         * tests/test-idpriv-drop.c: New file.
34595
34596         New module 'idpriv-drop'.
34597         * lib/idpriv.h: New file.
34598         * lib-idpriv-drop.c: New file.
34599         * m4/idpriv.m4: New file.
34600         * modules/idpriv-drop: New file.
34601
34602 2009-06-08  Bruno Haible  <bruno@clisp.org>
34603
34604         * modules/unistdio/u8-vasnprintf (Depends-on): Add memchr.
34605         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
34606         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
34607         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
34608         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
34609         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
34610         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
34611
34612 2009-06-08  Eric Blake  <ebb9@byu.net>
34613
34614         test-strstr: use memory fence, when possible
34615         * tests/test-strstr.c (main): Use memory fence, in order to be
34616         more likely to trigger Debian bug 521737.
34617         * modules/strstr-tests (Files): Pull in additional files.
34618
34619         memchr: no longer obsolete, for wider field testing
34620         * modules/memchr (Status, Notice): Delete, this module is no
34621         longer obsolete.
34622         * modules/vasnprintf (Depends-on): Add memchr.
34623
34624 2009-06-07  Jim Meyering  <meyering@redhat.com>
34625
34626         hash: declare some functions with the warn_unused_result attribute
34627         * lib/hash.h (__attribute__, ATTRIBUTE_WUR): Define.
34628
34629 2009-06-07  Bruno Haible  <bruno@clisp.org>
34630
34631         * tests/test-alignof.c: Don't test int64_t if it does not exist.
34632         Reported by Eric Blake.
34633
34634 2009-06-06  Eric Blake  <ebb9@byu.net>
34635
34636         test-alignof: fix typo with long double
34637         * tests/test-alignof.c (CHECK): Use longdouble typedef to avoid
34638         compiler error.
34639
34640 2009-06-06  Neil Jerram  <neil@ossau.uklinux.net>  (tiny change)
34641
34642         Escape non-texinfo { and }s.
34643         * doc/ld-output-def.texi (Visual Studio Compatibility): Fix
34644         markup error.
34645
34646 2009-06-04  Jim Meyering  <meyering@redhat.com>
34647
34648         gitlog-to-changelog: don't infloop on an empty commit log
34649         * build-aux/gitlog-to-changelog: Warn about an empty log message.
34650         Reported by Boris Petersen <transacid@centerim.org>.
34651
34652 2009-06-03  Mike Frysinger  <vapier@gentoo.org>
34653
34654         version-etc: extend for packagers
34655         Add three new configure options, intended for packagers:
34656           --with-packager="packager name"
34657           --with-packager-version="packager-specific version"
34658           --with-packager-bug-reports="packager bug reporting"
34659         An example with coreutils:
34660           $ ./configure \
34661             --with-packager=Gentoo \
34662             --with-packager-bug-report=http://bugs.gentoo.org/ \
34663             --with-packager-version="patchset 1.6"
34664           $ ./src/ls --version | head -n2
34665           ls (GNU coreutils) 7.1-dirty
34666           Packaged by Gentoo (patchset 1.6)
34667         Note that the bug reporting info via --help doesn't show up because
34668         coreutils uses its own custom emit_bug_reporting_address() implementation
34669         in src/system.h.  If it didn't, it'd look like:
34670           $ ./src/ls --help | tail -n4
34671           Report bugs to <bug-coreutils@gnu.org>.
34672           Report Gentoo bugs to <http://bugs.gentoo.org/>.
34673           GNU coreutils home page: <http://www.gnu.org/software/coreutils/>.
34674           General help using GNU software: <http://www.gnu.org/gethelp/>.
34675         * lib/version-etc.c: Print new information, if provided.
34676         * m4/version-etc.m4: New file.
34677         * modules/version-etc (Files): Add m4/version-etc.m4.
34678         (configure.ac): Add gl_VERSION_ETC.
34679
34680 2009-05-31  Bruno Haible  <bruno@clisp.org>
34681
34682         * tests/test-alignof.c: Include <stdint.h>. Check also 'long double'
34683         and 'int64_t'.
34684         * modules/alignof-tests (Dependencies): Add stdint.
34685         Reported by Eric Blake.
34686
34687 2009-05-31  Bruno Haible  <bruno@clisp.org>
34688
34689         * lib/alignof.h (alignof_slot, alignof_type, alignof): Document
34690         restriction due to compiler bugs.
34691         Reported by Eric Blake.
34692
34693 2009-05-31  Simon Josefsson  <simon@josefsson.org>
34694             Bruno Haible  <bruno@clisp.org>
34695
34696         Fix test-alignof failure.
34697         * lib/alignof.h (alignof_slot): New macro.
34698         (alignof_type): New macro, with the same semantics as the previous
34699         'alignof'.
34700         (alignof): Alias to alignof_slot.
34701         * tests/test-alignof.c (CHECK): Check alignof_slot, not alignof. Also
34702         check that the results are usable as constant expressions.
34703
34704 2009-05-31  Bruno Haible  <bruno@clisp.org>
34705
34706         * tests/zerosize-ptr.h (zerosize_ptr): Specify more details.
34707         * tests/test-memchr.c (main): Check that memchr does not read past the
34708         first occurrence of the byte.
34709         * tests/test-strstr.c (main): Update comment.
34710         Suggested by Eric Blake.
34711
34712 2009-05-30  Bruno Haible  <bruno@clisp.org>
34713
34714         * doc/ld-output-def.texi (Visual Studio Compatibility): Explain in more
34715         detail how to use dumpbin.
34716         Reported by David Byron <dbyron@dbyron.com>.
34717
34718 2009-06-02  Simon Josefsson  <simon@josefsson.org>
34719
34720         * tests/test-parse-duration.sh: Don't use non-portable 'read -u3'.
34721
34722 2009-06-02  Simon Josefsson  <simon@josefsson.org>
34723
34724         * m4/manywarnings.m4: Add GCC 4.4 warnings.
34725
34726 2009-05-28  Bruno Haible  <bruno@clisp.org>
34727
34728         * gnulib-tool (func_import): Don't do HAVE_CONFIG_H replacements on
34729         build-aux/ files.
34730
34731 2009-05-28  Simon Josefsson  <simon@josefsson.org>
34732
34733         * gnulib-tool (func_import): Transform license on build-aux/ files too.
34734
34735 2009-05-27  Simon Josefsson  <simon@josefsson.org>
34736
34737         * gnulib-tool (sed_transform_main_lib_file)
34738         (sed_transform_testsrelated_lib_file): : Don't use non-POSIX
34739         regexps.
34740
34741 2009-05-26  Simon Josefsson  <simon@josefsson.org>
34742
34743         * tests/test-strstr.c: Add another self-test.
34744         * tests/test-strstr.c: Rewrite to use malloc/strcpy instead of
34745         strdup.  Suggested by Eric Blake  <ebb9@byu.net>.
34746
34747 2009-05-23  Bruno Haible  <bruno@clisp.org>
34748
34749         * doc/havelib.texi (AC_LIB_HAVE_LINKFLAGS): Update for 2009-04-26
34750         change.
34751
34752 2009-05-21  Bruno Haible  <bruno@clisp.org>
34753
34754         Simplify use of mode_t varargs.
34755         * lib/open.c (open): Use PROMOTED_MODE_T instead of a conditional that
34756         uses 'mode_t' or 'int'.
34757         * lib/openat.c (openat): Likewise.
34758         * lib/open-safer.c (open_safer): Likewise.
34759         * m4/mode_t.m4: New file.
34760         * m4/open.m4 (gl_PREREQ_OPEN): Require gl_PROMOTED_TYPE_MODE_T.
34761         * m4/openat.m4 (gl_PREREQ_OPENAT): Likewise.
34762         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Likewise.
34763         * modules/open (Files): Add m4/mode_t.m4.
34764         * modules/openat (Files): Likewise.
34765         * modules/fcntl-safer (Files): Likewise.
34766         Suggested by Eric Blake.
34767
34768 2009-05-21  Pádraig Brady  <P@draigbrady.com>
34769
34770         * doc/glibc-functions/fallocate.texi: New file.
34771         * doc/gnulib.texi: Include it.
34772
34773 2009-05-21  Eric Blake  <ebb9@byu.net>
34774             Bruno Haible  <bruno@clisp.org>
34775
34776         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Remove redundant m4_quote
34777         invocations.
34778         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
34779
34780 2009-05-21  Eric Blake  <ebb9@byu.net>
34781             Bruno Haible  <bruno@clisp.org>
34782
34783         Second attempt to work around an AIX 5.3, 6.1 compiler bug with
34784         include_next. Fix of 2008-11-20 commit.
34785         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Also set
34786         NEXT_AS_FIRST_DIRECTIVE_FOO_H.
34787         * lib/math.in.h: Use NEXT_AS_FIRST_DIRECTIVE_MATH_H instead of
34788         NEXT_MATH_H.
34789         * modules/math (Makefile.am): Substitute NEXT_AS_FIRST_DIRECTIVE_MATH_H
34790         instead of NEXT_MATH_H.
34791
34792 2009-05-21  Bruno Haible  <bruno@clisp.org>
34793
34794         Avoid redefinition warnings for SIZE_MAX.
34795         * m4/size_max.m4 (gl_SIZE_MAX): Avoid redefining SIZE_MAX in config.h.
34796         Reported by Simon Josefsson.
34797
34798 2009-05-21  Bruno Haible  <bruno@clisp.org>
34799
34800         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_CACHE_CHECK instead of
34801         AC_CACHE_VAL.
34802
34803 2009-05-20  Bruno Haible  <bruno@clisp.org>
34804
34805         Make zeroptr.h work on mingw.
34806         * tests/zerosize-ptr.h: Test for the presence of <sys/mman.h> and
34807         mprotect.
34808         * modules/memchr-tests (configure.ac): Also test for sys/mman.h.
34809         * modules/memchr2-tests (configure.ac): Likewise.
34810         * modules/memcmp-tests (configure.ac): Likewise.
34811         * modules/memmem-tests (configure.ac): Likewise.
34812         * modules/memrchr-tests (configure.ac): Likewise.
34813         Reported by Simon Josefsson.
34814
34815 2009-05-20  Simon Josefsson  <simon@josefsson.org>
34816
34817         * tests/test-glob.c: Include string.h for strcmp prototype.
34818
34819 2009-05-20  Simon Josefsson  <simon@josefsson.org>
34820
34821         * modules/getdelim (Depends-on): Add explicit stdint, although it
34822         was implicitly already pulled in via realloc-posix.
34823         * lib/getdelim.c: Get SIZE_MAX from stdint.h.
34824
34825 2009-05-20  Simon Josefsson  <simon@josefsson.org>
34826
34827         MinGW and IRIX does not have sa_family_t type.  Reported by "Tom
34828         G. Christensen" <tgc@jupiterrise.com>.
34829         * m4/sys_socket_h.m4: Check for sa_family_t.
34830         * lib/sys_socket.in.h: Typedef sa_family_t when needed.
34831         * modules/sys_socket: Substitute HAVE_SA_FAMILY_T.
34832         * tests/test-sys_socket.c: Check that sa_family_t works.
34833
34834 2009-05-18  Eric Blake  <ebb9@byu.net>
34835
34836         maint.mk: allow gnulib_dir in VPATH build
34837         * top/maint.mk (gnulib_dir): Make relative to $(srcdir).
34838
34839 2009-05-15  Jim Meyering  <meyering@redhat.com>
34840
34841         maint.mk: Give gnulib_dir a default definition.
34842         * top/maint.mk (gnulib_dir): Define to 'gnulib', by default.
34843         Thus, most packages no longer need to specify this variable in cfg.mk
34844
34845 2009-05-14  Tom Prince  <tom.prince@ualberta.net>  (tiny change)
34846
34847         rename.m4: fix typos that would make non-mingw cross-configure fail
34848         * m4/rename.m4 (gl_FUNC_RENAME): Fix typos.
34849
34850 2009-05-13  Eric Blake  <ebb9@byu.net>
34851
34852         mmap-anon: avoid out-of-order autoconf expansion
34853         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Use correct
34854         SYSTEM_EXTENSIONS macro to silence warnings from autoconf 2.63b.
34855         * modules/memchr-tests (Depends-on): Add extensions.
34856         * modules/memchr2-tests (Depends-on): Add extensions.
34857         * modules/memcmp-tests (Depends-on): Add extensions.
34858         * modules/memmem-tests (Depends-on): Add extensions.
34859         * modules/memrchr-tests (Depends-on): Add extensions.
34860
34861 2009-05-13  Bruno Haible  <bruno@clisp.org>
34862
34863         Make some tests ISO C 99 compliant.
34864         * tests/zerosize-ptr.h: New file.
34865         * tests/test-memchr.c: Include zerosize-ptr.h.
34866         (main): Use a zero-size object pointer instead of NULL.
34867         * tests/test-memchr2.c: Include zerosize-ptr.h.
34868         (main): Use a zero-size object pointer instead of NULL.
34869         * tests/test-memcmp.c: Include zerosize-ptr.h.
34870         (main): Use a zero-size object pointer instead of NULL.
34871         * tests/test-memmem.c: Include zerosize-ptr.h.
34872         (main): Use a zero-size object pointer instead of NULL.
34873         * tests/test-memrchr.c: Include zerosize-ptr.h.
34874         (main): Use a zero-size object pointer instead of NULL.
34875         * modules/memchr-tests (Files): Add tests/zerosize-ptr.h,
34876         m4/mmap-anon.m4.
34877         (Depends-on): Add getpagesize.
34878         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
34879         * modules/memchr2-tests (Files): Add tests/zerosize-ptr.h,
34880         m4/mmap-anon.m4.
34881         (Depends-on): Add getpagesize.
34882         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
34883         * modules/memcmp-tests (Files): Add tests/zerosize-ptr.h,
34884         m4/mmap-anon.m4.
34885         (Depends-on): Add getpagesize.
34886         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
34887         * modules/memmem-tests (Files): Add tests/zerosize-ptr.h,
34888         m4/mmap-anon.m4.
34889         (Depends-on): Add getpagesize.
34890         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
34891         * modules/memrchr-tests (Files): Add tests/zerosize-ptr.h,
34892         m4/mmap-anon.m4.
34893         (Depends-on): Add getpagesize.
34894         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
34895
34896 2009-05-12  Bruno Haible  <bruno@clisp.org>
34897
34898         Tests for module 'alignof'.
34899         * modules/alignof-tests: New file.
34900         * tests/test-alignof.c: New file.
34901
34902 2009-05-12  Bruno Haible  <bruno@clisp.org>
34903
34904         Fix alignof macro.
34905         * lib/alignof.h (alignof): Remove special cases for AIX and HP-UX
34906         vendor compilers that are always correct.
34907
34908 2009-05-12  Bruno Haible  <bruno@clisp.org>
34909
34910         Make the MAP_ANONYMOUS detection work on HP-UX 11.
34911         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check whether mmap exists, but
34912         not whether its fully works.
34913
34914 2009-05-12  Bruno Haible  <bruno@clisp.org>
34915
34916         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Add comments.
34917
34918 2009-05-12  Jim Meyering  <meyering@redhat.com>
34919
34920         * top/maint.mk: Adjust backslash alignment.
34921
34922 2009-05-11  Simon Josefsson  <simon@josefsson.org>
34923
34924         * top/maint.mk: Make $(srcdir)/build-aux configurable.
34925
34926 2009-05-11  Eric Blake  <ebb9@byu.net>
34927
34928         argp: avoid undefined behavior
34929         * lib/argp-fmtstream.c (weak_alias): Pass correct types to ctype
34930         macros.
34931
34932 2009-05-08  Simon Josefsson  <simon@josefsson.org>
34933
34934         * tests/test-vc-list-files-git.sh: Do git config of user.email and
34935         user.name to prevent git commit from complaining.
34936
34937 2009-05-10  Bruno Haible  <bruno@clisp.org>
34938
34939         * gnulib-tool (func_import, func_create_testdir, copy-file): Change
34940         sed_rewrite_old_files, sed_rewrite_new_files, sed_rewrite_files so that
34941         it rewrites every file name only once.
34942         Reported by Simon Josefsson. Helped by Ralf Wildenhues.
34943
34944 2009-05-08  Bruno Haible  <bruno@clisp.org>
34945
34946         * lib/sys_socket.in.h (_SS_PADSIZE): Use a conditional expression
34947         instead of 'max'.
34948
34949 2009-05-08  Simon Josefsson  <simon@josefsson.org>
34950
34951         * m4/sys_socket_h.m4: Test for ws2tcpip.h earlier, needed for
34952         sockaddr_storage test.
34953
34954 2009-05-07  Simon Josefsson  <simon@josefsson.org>
34955
34956         * modules/sys_socket (Makefile.am): Substitute
34957         HAVE_STRUCT_SOCKADDR_STORAGE.  Depend on alignof.
34958         * m4/sys_socket_h.m4: Check for sockaddr_storage.
34959         * lib/sys_socket.in.h (sockaddr_storage): Define when needed.
34960         * tests/test-sys_socket.c: Check sockaddr_storage.
34961
34962 2009-05-08  Bruno Haible  <bruno@clisp.org>
34963
34964         New module 'alignof'.
34965         * lib/alignof.h: New file.
34966         * modules/alignof: New file.
34967
34968 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
34969             Bruno Haible  <bruno@clisp.org>
34970
34971         Fix test-file-has-acl on FreeBSD.
34972         * tests/test-file-has-acl.sh: Also test a directory. On FreeBSD, the
34973         mask is implicitly added.
34974         * tests/test-file-has-acl.c: Include <signal.h>.
34975         (main): Terminate the test after 5 seconds.
34976         * modules/acl-tests (configure.ac): Check for alarm function.
34977
34978 2009-05-04  Bruno Haible  <bruno@clisp.org>
34979
34980         Exploit new semantics of AC_DEFUN_ONCE available since 2009-01-26.
34981         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Remove outdated comment.
34982         * modules/errno (configure.ac): Drop AC_REQUIRE.
34983         * m4/multiarch.m4 (gl_MULTIARCH): Remove outdated comment.
34984         * modules/multiarch (configure.ac): Drop AC_REQUIRE.
34985
34986 2009-05-04  Simon Josefsson  <simon@josefsson.org>
34987
34988         * modules/glob-tests: New module.
34989         * tests/test-glob.c: Add.
34990
34991 2009-05-04  Simon Josefsson  <simon@josefsson.org>
34992
34993         * modules/fnmatch-tests: New module.
34994         * tests/test-fnmatch.c: Add.
34995
34996 2009-05-04  Eric Blake  <ebb9@byu.net>
34997
34998         maint: make the new no-submodule-changes rule VPATH-safe
34999         * top/maint.mk (no-submodule-changes): Don't assume a srcdir build.
35000
35001 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
35002             Bruno Haible  <bruno@clisp.org>
35003
35004         acl: Fix infinite loop on FreeBSD.
35005         * lib/acl_entries.c (acl_entries) [Linux, FreeBSD]: Fix interpretation
35006         of return value from acl_get_entry.
35007         * lib/file-has-acl.c (acl_access_nontrivial) [Linux, FreeBSD]:
35008         Likewise.
35009
35010 2009-05-03  Bruno Haible  <bruno@clisp.org>
35011
35012         * lib/acl-internal.h (acl_entries): Clarify return value.
35013         * lib/acl_entries.c (acl_entries): Likewise.
35014
35015 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
35016
35017         Bug fix in acl module.
35018         * lib/set-mode-acl.c: Use correct struct with ACL_SETACL.
35019
35020 2009-05-03  Bruno Haible  <bruno@clisp.org>
35021
35022         Create gperf-generated file in the source dir, not in the build dir.
35023         * modules/iconv_open (iconv_open-aix.h, iconv_open-hpux.h,
35024         iconv_open-irix.h, iconv_open-osf.h): Create file in the source tree.
35025         * modules/unicase/locale-language (unicase/locale-languages.h):
35026         Likewise.
35027         * modules/unicase/special-casing (unicase/special-casing-table.h):
35028         Likewise.
35029         * modules/unictype/property-byname (unictype/pr_byname.h): Likewise.
35030         * modules/unictype/scripts (unictype/scripts_byname.h): Likewise.
35031         * modules/uninorm/composition (uninorm/composition-table.h): Likewise.
35032         Reported by Ralf Wildenhues.
35033
35034 2009-05-03  Bruno Haible  <bruno@clisp.org>
35035
35036         * modules/fnmatch (Description, configure.ac): Taken from
35037         fnmatch-posix.
35038         * modules/fnmatch-posix: Turn into a symbolic reference to the
35039         'fnmatch' module, and deprecate.
35040         * doc/posix-functions/fnmatch.texi: Mention the fnmatch module.
35041
35042 2009-05-03  Bruno Haible  <bruno@clisp.org>
35043
35044         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF,
35045         gl_PREREQ_VASNPRINTF_LONG_DOUBLE): Define through AC_DEFUN_ONCE.
35046         Reported by Ralf Wildenhues.
35047
35048 2009-05-04  Simon Josefsson  <simon@josefsson.org>
35049
35050         * m4/fnmatch.m4: Fix fnmatch re-define.
35051
35052 2009-04-27  David Bartley  <dtbartle@csclub.uwaterloo.ca>
35053
35054         priv-set: new module and tests; adapt write-any-file
35055         * lib/priv-set.c: New file.
35056         * lib/priv-set.h: New file.
35057         * lib/unlinkdir.c: Make cannot_unlink_dir thread-safe.
35058         * lib/write-any-file.c: Simplify by using priv-set module.
35059         * m4/priv-set.m4: New file.
35060         * modules/priv-set: New file.
35061         * modules/unlinkdir: Add dependency on priv-set module.
35062         * modules/write-any-file: Likewise.
35063
35064         Tests for module 'priv-set'.
35065         * modules/priv-set-tests: New file.
35066         * tests/test-priv-set.c: New file.
35067
35068 2009-05-03  Jim Meyering  <meyering@redhat.com>
35069             Bruno Haible  <bruno@clisp.org>
35070
35071         * lib/propername.c (proper_name_utf8): Ignore no-op translations;
35072         use the converted UTF-8 variant of the name instead.
35073
35074 2009-05-03  Jim Meyering  <meyering@redhat.com>
35075
35076         tests: tighten some getdate tests
35077         * tests/test-getdate.c (main): Tighten tests: require equality,
35078         not just greater than.  Set TZ envvar to UTC0.
35079
35080 2009-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
35081
35082         getdate: correctly interpret "next monday" when run on a Monday
35083         * lib/getdate.y (get_date): Correct the calculation of tm_mday so
35084         that e.g., "next tues" (when run on a tuesday) results in a date
35085         that is one week in the future, and not today's date.
35086         I.e., add a week when the wday is the same as the current one.
35087         Reported by Tom Broadhurst in http://savannah.gnu.org/bugs/?25406,
35088         and earlier by Martin Bernreuther and Jan Minář.
35089         * tests/test-getdate.c (main): Check that "next DAY" is always in
35090         the future and that "last DAY" is always in the past.
35091
35092 2009-05-02  Jim Meyering  <meyering@redhat.com>
35093
35094         build: ensure that a release build fails when a submodule is unclean
35095         * top/maint.mk (no-submodule-changes): New rule.
35096         (alpha beta major): Depend on it.
35097
35098 2009-05-02  Bruno Haible  <bruno@clisp.org>
35099
35100         Remove incompatibility between modules fnmatch-posix and fnmatch-gnu.
35101         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Use a
35102         shell variable gl_fnmatch_required to detect which variant is
35103         requested.
35104         (_AC_FUNC_FNMATCH_IF, _AC_LIBOBJ_FNMATCH): Remove macros. Inlined into
35105         gl_FUNC_FNMATCH_POSIX.
35106         * gnulib-tool (func_create_testdir, func_create_megatestdir): Don't
35107         exclude fnmatch-posix.
35108
35109 2009-05-02  Bruno Haible  <bruno@clisp.org>
35110
35111         Relicense mbsrtowcs and strnlen1 under LGPLv2+.
35112         * modules/mbsrtowcs (License): Change to LGPLv2+.
35113         * modules/strnlen1 (License): Likewise.
35114         Reported by Simon Josefsson.
35115
35116 2009-05-02  Bruno Haible  <bruno@clisp.org>
35117
35118         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Say "guessing no" instead of
35119         "cross".
35120         (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Update. Don't assume that
35121         gnulib-tool was called with option --source-base=lib.
35122
35123 2009-05-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35124
35125         Use automake *-local hooks without commands, for extensibility.
35126         * modules/localcharset (Makefile.am): Rename install-exec-local
35127         rule to install-exec-localcharset, and make it a prerequisite of
35128         install-exec-local.  Likewise, rename the uninstall-local rule to
35129         uninstall-localcharset, and make it a prerequisite of the former.
35130
35131 2009-05-01  Bruno Haible  <bruno@clisp.org>
35132
35133         * lib/wchar.in.h (wcsnrtombs): Define if REPLACE_WCSNRTOMBS is 1.
35134         * m4/wcsnrtombs.m4 (gl_FUNC_WCSRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
35135         set REPLACE_WCSNRTOMBS if mbstate_t must be replaced.
35136         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCSNRTOMBS.
35137         * modules/wchar (Makefile.am): Substitute REPLACE_WCSNRTOMBS.
35138         * modules/wcsnrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
35139         m4/locale-zh.m4, m4/codeset.m4.
35140
35141         * m4/wcsrtombs.m4 (gl_FUNC_WCSNRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
35142         set REPLACE_WCSRTOMBS if mbstate_t must be replaced.
35143         * modules/wcsrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
35144         m4/locale-zh.m4.
35145
35146         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Invoke gl_MBSTATE_T_BROKEN, and set
35147         REPLACE_WCRTOMB if mbstate_t must be replaced.
35148         * modules/wcrtomb (Files): Add m4/mbrtowc.m4.
35149         Reported by Jens Rehsack <rehsack@googlemail.com> via Eric Blake.
35150
35151 2009-05-01  Bruno Haible  <bruno@clisp.org>
35152
35153         Avoid compiler warnings when redefining macros defined by <libintl.h>.
35154         * lib/gettext.h [!ENABLE_NLS] (gettext, dgettext, dcgettext, ngettext,
35155         dngettext, dcngettext, textdomain, bindtextdomain,
35156         bind_textdomain_codeset): Undefine before redefining.
35157
35158 2009-04-30  Bruno Haible  <bruno@clisp.org>
35159
35160         Fix bug introduced on 2009-04-25.
35161         * lib/math.in.h (gl_signbitf_OPTIMIZED_MACRO,
35162         gl_signbitd_OPTIMIZED_MACRO, gl_signbitl_OPTIMIZED_MACRO): New macros.
35163         * lib/signbitf.c (gl_signbitd): Undefine if gl_signbitf_OPTIMIZED_MACRO
35164         is defined.
35165         * lib/signbitd.c (gl_signbitd): Undefine if gl_signbitd_OPTIMIZED_MACRO
35166         is defined.
35167         * lib/signbitl.c (gl_signbitd): Undefine if gl_signbitl_OPTIMIZED_MACRO
35168         is defined.
35169         Reported by Elbert_Pol <elbert.pol@gmail.com>.
35170
35171 2009-04-28  Bruno Haible  <bruno@clisp.org>
35172
35173         Comment tweaks.
35174         * lib/unistr.h (u*_cmp2): Clarify what memcmp2 is.
35175         * lib/uninorm.h (u*_normxfrm): Fix description of return value.
35176         * lib/unicase.h (u*_casexfrm): Likewise.
35177         Reported by Paolo Bonzini.
35178
35179 2009-04-28  Bruno Haible  <bruno@clisp.org>
35180
35181         Fix a compilation error.
35182         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Fix initializer.
35183         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
35184         Reported by Jim Meyering.
35185
35186 2009-04-27  Bruno Haible  <bruno@clisp.org>
35187
35188         New module 'libunistring'.
35189         * modules/libunistring: New file.
35190         * m4/libunistring.m4: New file.
35191         * MODULES.html.sh (Unicode string functions): Add it.
35192
35193 2009-04-27  Eric Blake  <ebb9@byu.net>
35194
35195         maint.mk: allow package-specific header to provide <config.h>
35196         * top/maint.mk (sc_require_config_h): New variable.
35197         (sc_require_config_h, sc_require_config_h_first): Use it.
35198
35199 2009-04-27  Simon Josefsson  <simon@josefsson.org>
35200
35201         * top/maint.mk (sc_avoid_if_before_free): Except
35202         useless-if-before-free script.
35203
35204 2009-04-27  Eric Blake  <ebb9@byu.net>
35205
35206         maintainer-makefile: depend on all required helper scripts
35207         * modules/maintainer-makefile (Depends-on): Add vc-list-files and
35208         useless-if-before-free.
35209         * top/maint.mk (VC_LIST, sc_avoid_if_before_free): Use local
35210         version, rather than assuming gnulib checkout is available.
35211         Reported by Simen Josefsson.
35212
35213 2009-04-26  Bruno Haible  <bruno@clisp.org>
35214
35215         Make the lib vs. lib64 recognition work on openSUSE 11 with "gcc -m32".
35216         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Ignore paths that end in
35217         "../" or "..".
35218
35219 2009-04-26  Bruno Haible  <bruno@clisp.org>
35220
35221         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Accept a fifth argument.
35222         * m4/libsigsegv.m4 (gl_LIBSIGSEGV): Simplify by using
35223         AC_LIB_HAVE_LINKFLAGS.
35224
35225 2009-04-26  Bruno Haible  <bruno@clisp.org>
35226
35227         Simplify calling convention of u*_conv_from_encoding.
35228         * lib/uniconv.h (u8_conv_from_encoding, u16_conv_from_encoding,
35229         u32_conv_from_encoding): Expect a resultbuf argument and return the
35230         result directly as a pointer.
35231         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Likewise.
35232         * lib/uniconv/u-conv-from-enc.h (FUNC): Likewise.
35233         * lib/uniconv/u-strconv-from-enc.h (FUNC): Update.
35234         * lib/unicase/ulc-casecmp.c (ulc_u8_casefold): Update.
35235         * lib/unicase/ulc-casexfrm.c (ulc_casexfrm): Update.
35236         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
35237         Update.
35238         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Update.
35239         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Update.
35240         * lib/vasnprintf.c (VASNPRINTF): Update.
35241         * tests/uniconv/test-u8-conv-from-enc.c (main): Update.
35242         * tests/uniconv/test-u16-conv-from-enc.c (main): Update.
35243         * tests/uniconv/test-u32-conv-from-enc.c (main): Update.
35244         * NEWS: Mention the change.
35245
35246 2009-04-26  Bruno Haible  <bruno@clisp.org>
35247
35248         Simplify calling convention of u*_conv_to_encoding.
35249         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
35250         u32_conv_to_encoding): Expect a resultbuf argument and return the
35251         result directly as a pointer.
35252         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
35253         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Preserve errno while
35254         freeing scaled_offsets if mem_iconveha failed.
35255         * lib/unicase/u-casexfrm.h (FUNC): Update.
35256         * lib/uninorm/u-normxfrm.h (FUNC): Update.
35257         * lib/vasnprintf.c (VASNPRINTF): Update.
35258         * tests/uniconv/test-u8-conv-to-enc.c (main): Update.
35259         * tests/uniconv/test-u16-conv-to-enc.c (main): Update.
35260         * tests/uniconv/test-u32-conv-to-enc.c (main): Update.
35261         * NEWS: Mention the change.
35262
35263 2009-04-26  Bruno Haible  <bruno@clisp.org>
35264
35265         Avoid test failures on AIX and OSF/1.
35266         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Avoid calling
35267         malloc(0).
35268         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
35269         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
35270         Likewise.
35271         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Likewise.
35272         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Likewise.
35273         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Fix memory leak.
35274         * lib/unistr/u-cpy-alloc.h (FUNC): Call malloc(1) instead of malloc(0).
35275         * doc/posix-functions/malloc.texi: Document the portability problem
35276         related to malloc(0).
35277
35278 2009-04-26  Bruno Haible  <bruno@clisp.org>
35279
35280         * modules/unistr/u8-cpy-alloc (Depends-on): Add malloc-posix.
35281         * modules/unistr/u16-cpy-alloc (Depends-on): Likewise.
35282         * modules/unistr/u32-cpy-alloc (Depends-on): Likewise.
35283
35284 2009-04-25  Bruno Haible  <bruno@clisp.org>
35285
35286         Avoid link error when creating a namespace clean library.
35287         * lib/math.in.h (gl_signbitf, gl_signbitd, gl_signbitl): Don't define
35288         as macro with arguments if already defined as an alias.
35289         * lib/signbitf.c (gl_signbitf): Don't undefine.
35290         * lib/signbitd.c (gl_signbitd): Don't undefine.
35291         * lib/signbitl.c (gl_signbitl): Don't undefine.
35292
35293 2009-04-25  Jim Meyering  <meyering@redhat.com>
35294
35295         vc-list-files: fix another quoting bug
35296         * build-aux/vc-list-files: Avoid sed backslash expansion
35297         of pathological directory names.
35298
35299 2009-04-25  Eric Blake  <ebb9@byu.net>
35300
35301         vc-list-files: fix shell quoting error
35302         * build-aux/vc-list-files: Protect against $ in $dir.  Normalize
35303         timestamp.
35304
35305 2009-04-25  Jim Meyering  <meyering@redhat.com>
35306
35307         vc-list-files: restore lost functionality with subdir argument
35308         * build-aux/vc-list-files: When given a non-"." sub-directory
35309         argument, substitute the $dir/ prefix back onto each resulting name.
35310         Otherwise, coreutils' root_tests check would fail.
35311
35312 2009-04-24  Eric Blake  <ebb9@byu.net>
35313
35314         vc-list-files: ignore git symlinks
35315         * build-aux/vc-list-files (.git): Use ls-tree and a filter, rather
35316         than ls-files, to ignore git symlinks.
35317
35318         maint.mk: import improvements from m4
35319         * top/maint.mk (VC-tag): Use signing key from cfg.mk.
35320         (move_if_change): Delete unused macro.
35321         (news-date-check, vc-diff-check): Support VPATH builds.
35322         (announcement): Likewise.  Split --bootstrap-tools list...
35323         (boostrap-tools): ...into separate list, which can be overridden
35324         in cfg.mk.
35325         (sc_avoid_if_before_free): Point to $(gnulib_dir), rather than
35326         requiring dependency on useless-if-before-free module.
35327         (VC_LIST, VC_LIST_EXCEPT): Likewise for vc-list-files module.
35328         Support VPATH builds.
35329
35330 2009-04-24  Jim Meyering  <meyering@redhat.com>
35331
35332         maint.mk: remove coreutils-specific rules and variables
35333         * top/maint.mk (bin, taint-distcheck, coreutils-path-check, t): Remove.
35334         (fake_home, install-transform-check, my-instcheck, pfx, TMPDIR): Remove.
35335         (t_prefix, t_taint, tp, warn_cflags, write_loser, my-distcheck): Remove.
35336
35337         maint.mk: remove obsolete rule
35338         * top/maint.mk (rel-check): Remove rule.
35339         (WGET, WGETFLAGS): Remove now-unused variables.
35340
35341 2009-04-24  Simon Josefsson  <simon@josefsson.org>
35342
35343         * top/maint.mk (makefile-check): Renamed to sc_makefile_check for
35344         consistency.
35345
35346         * modules/vc-list-files-tests (TESTS_ENVIRONMENT): Use
35347         '$(PATH_SEPARATOR)' instead of ':'.
35348
35349 2009-04-24  Simon Josefsson  <simon@josefsson.org>
35350
35351         * lib/getopt1.c (main): Use 'const' for static array.
35352
35353 2009-04-24  Simon Josefsson  <simon@josefsson.org>
35354
35355         * top/maint.mk: Sync with coreutils.
35356         * NEWS: Explain incompatibilities.
35357
35358 2009-04-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
35359             Bruno Haible  <bruno@clisp.org>
35360
35361         Fix cross-compilation results.
35362         * m4/btowc.m4 (gl_FUNC_BTOWC): Use no-op statement, rather than empty
35363         statement, as third argument of AC_TRY_RUN.
35364         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
35365         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
35366         Likewise.
35367         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
35368         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
35369         Likewise.
35370         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
35371         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise. Update for AIX 4.3.
35372         * doc/posix-functions/wcrtomb.texi: Mention the bug on AIX 4.3.
35373
35374 2009-04-20  Bruno Haible  <bruno@clisp.org>
35375
35376         Avoid test failure on mingw.
35377         * tests/uniwidth/test-uc_width2.sh: Convert newlines in output.
35378
35379 2009-04-20  Bruno Haible  <bruno@clisp.org>
35380
35381         Avoid compilation error on mingw.
35382         * modules/localename-tests (Depends-on): Add locale.
35383
35384 2009-04-19  Bruno Haible  <bruno@clisp.org>
35385
35386         Support for building a shared library on Windows platforms.
35387         * tests/uninorm/test-nfc.c (n): Don't define if WOE32DLL.
35388         (main): Test the presence of UNINORM_NFC here.
35389         * tests/uninorm/test-nfd.c (n): Don't define if WOE32DLL.
35390         (main): Test the presence of UNINORM_NFD here.
35391         * tests/uninorm/test-nfkc.c (n): Don't define if WOE32DLL.
35392         (main): Test the presence of UNINORM_NFKC here.
35393         * tests/uninorm/test-nfkd.c (n): Don't define if WOE32DLL.
35394         (main): Test the presence of UNINORM_NFKD here.
35395
35396 2009-04-19  Bruno Haible  <bruno@clisp.org>
35397
35398         Avoid a compiler warning.
35399         * tests/uninorm/test-u32-normalize-big.c (read_normalization_test_file):
35400         Change type of variable 'sequence'.
35401
35402 2009-04-19  Bruno Haible  <bruno@clisp.org>
35403
35404         * modules/configmake (Makefile.am): When the contents of configmake.h
35405         does not change, arrange to preserve its modification time.
35406
35407 2009-04-17  Simon Josefsson  <simon@josefsson.org>
35408
35409         * top/maint.mk (PO_DOMAIN): New variable, allows overriding of
35410         gettext domain.
35411
35412 2009-04-16  Jim Meyering  <meyering@redhat.com>
35413
35414         useless-if-before-free: improve conversion code
35415         * build-aux/useless-if-before-free: Adjust code-in-comment to match
35416         "...!= 0" as well as "...!= NULL".  emacs has one of the former.
35417
35418 2009-04-14  Bruno Haible  <bruno@clisp.org>
35419
35420         * modules/fcntl (Depends-on): Add extensions.
35421         * m4/fcntl_h.m4 (gl_FCNTL_H): Add a comment.
35422
35423 2009-04-12  Ben Pfaff  <blp@gnu.org>
35424
35425         Make fcntl module detect O_NOATIME, O_NOFOLLOW on GNU/Linux.
35426         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_USE_SYSTEM_EXTENSIONS.
35427
35428 2009-03-20  Ben Pfaff  <blp@gnu.org>
35429
35430         Make rename replace existing destinations on Windows.
35431         * m4/rename.m4: Add test for Mingw.
35432         * lib/rename.c: Add rename replacement that uses MoveFileEx with
35433         MOVEFILE_REPLACE_EXISTING to replace existing destination files.
35434         * doc/posix-functions/rename.texi: Document.
35435
35436 2009-04-10  Bruno Haible  <bruno@clisp.org>
35437
35438         New include file "iconveh.h".
35439         * lib/iconveh.h: New file, extracted from lib/striconveh.h.
35440         * lib/striconveh.h: Include it.
35441         (enum iconv_ilseq_handler): Remove definition.
35442         * lib/striconveha.h: Include <stddef.h> and iconveh.h instead of
35443         striconveh.h.
35444         * lib/striconveha.c: Include striconveh.h.
35445         * lib/uniconv.h: Include iconveh.h instead of striconveh.h.
35446         * modules/striconveh (Files): Add lib/iconveh.h.
35447         * modules/uniconv/base (Files): Add lib/iconveh.h. Remove
35448         lib/striconveh.h.
35449
35450 2009-04-10  Bruno Haible  <bruno@clisp.org>
35451
35452         * lib/uniconv.h: Update comment.
35453
35454 2009-04-10  Bruno Haible  <bruno@clisp.org>
35455
35456         * lib/unistr/u8-mbtouc-aux.c: Inside libunistring, define the function
35457         always.
35458         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
35459         * lib/unistr/u16-mbtouc-aux.c: Likewise.
35460         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
35461         * lib/unistr/u8-mbtouc.c: Inside libunistring, include
35462         "unistring-notinline.h", so that the function gets defined always.
35463         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
35464         * lib/unistr/u8-uctomb.c: Likewise.
35465         * lib/unistr/u16-mbtouc.c: Likewise.
35466         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
35467         * lib/unistr/u16-uctomb.c: Likewise.
35468         * lib/unistr/u32-mbtouc.c: Likewise.
35469         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
35470         * lib/unistr/u32-uctomb.c: Likewise.
35471
35472 2009-04-10  Bruno Haible  <bruno@clisp.org>
35473
35474         Mark 'utime' obsolete.
35475         * modules/utime (Status, Notice): New sections.
35476         Suggested by Jim Meyering.
35477
35478         Fix cross-compile guess for utime test.
35479         * m4/utime.m4 (AC_FUNC_UTIME_NULL): Add definition from newest unstable
35480         autoconf.
35481         * doc/posix-functions/utime.texi: Give more precisions.
35482         Reported by Jan <ipif@ymail.com>.
35483
35484 2009-04-09  Kamil Dudka  <kdudka@redhat.com>
35485
35486         filevercmp: correct today's change
35487         * lib/filevercmp.c: Also handle coreutils' test inputs.
35488         * tests/test-filevercmp.c: Add inputs from one of coreutils' test scripts.
35489
35490         Fix regression in 'filevercmp' module. Thanks Sven Joachim
35491         for reporting it.
35492         * lib/filevercmp.c: Special handle for "", "." and "..".
35493         * tests/test-filevercmp.c: Enlarge the set suite.
35494
35495 2009-04-07  Jim Meyering  <meyering@redhat.com>
35496
35497         useless-if-before-free: show how to remove braced useless free, too
35498         * build-aux/useless-if-before-free: still only in a comment, though.
35499
35500 2009-04-07  Reuben Thomas  <rrt@sc3d.org>
35501
35502         maint.mk: import changes to syntax-check macros from coreutils
35503         * top/maint.mk (_prohibit_regexp, _header_without_use): Define.
35504         Use them in the relevant macros.
35505
35506 2009-04-06  Bruno Haible  <bruno@clisp.org>
35507
35508         Fix unportable use of bit-fields.
35509         * lib/unicase/special-casing.h (struct special_casing_rule): Change the
35510         bit-field type from 'int' to 'signed int'. Otherwise Solaris cc,
35511         AIX xlc, and OSF/1 cc interpret it as 'unsigned int'.
35512
35513 2009-04-06  Bruno Haible  <bruno@clisp.org>
35514
35515         Avoid test failures on AIX and OSF/1.
35516         * tests/unicase/test-u8-casefold.c (check): Account for the possibility
35517         that malloc(0) = NULL.
35518         * tests/unicase/test-u8-tolower.c (check): Likewise.
35519         * tests/unicase/test-u8-totitle.c (check): Likewise.
35520         * tests/unicase/test-u8-toupper.c (check): Likewise.
35521         * tests/unicase/test-u16-casefold.c (check): Likewise.
35522         * tests/unicase/test-u16-tolower.c (check): Likewise.
35523         * tests/unicase/test-u16-totitle.c (check): Likewise.
35524         * tests/unicase/test-u16-toupper.c (check): Likewise.
35525         * tests/unicase/test-u32-casefold.c (check): Likewise.
35526         * tests/unicase/test-u32-tolower.c (check): Likewise.
35527         * tests/unicase/test-u32-totitle.c (check): Likewise.
35528         * tests/unicase/test-u32-toupper.c (check): Likewise.
35529         * tests/uninorm/test-u8-nfc.c (check): Likewise.
35530         * tests/uninorm/test-u8-nfd.c (check): Likewise.
35531         * tests/uninorm/test-u8-nfkc.c (check): Likewise.
35532         * tests/uninorm/test-u8-nfkd.c (check): Likewise.
35533         * tests/uninorm/test-u16-nfc.c (check): Likewise.
35534         * tests/uninorm/test-u16-nfd.c (check): Likewise.
35535         * tests/uninorm/test-u16-nfkc.c (check): Likewise.
35536         * tests/uninorm/test-u16-nfkd.c (check): Likewise.
35537         * tests/uninorm/test-u32-nfc.c (check): Likewise.
35538         * tests/uninorm/test-u32-nfd.c (check): Likewise.
35539         * tests/uninorm/test-u32-nfkc.c (check): Likewise.
35540         * tests/uninorm/test-u32-nfkd.c (check): Likewise.
35541
35542 2009-04-05  Bruno Haible  <bruno@clisp.org>
35543
35544         Work around an autoconf limitation.
35545         * gnulib-tool (func_emit_lib_Makefile_am): Omit the "Reproduce by"
35546         comment line if it would be longer than 3 KB.
35547
35548 2009-04-05  Bruno Haible  <bruno@clisp.org>
35549
35550         Avoid test failure with libiconv-1.13.
35551         * tests/test-striconveh.c (main): Allow result of libiconv 1.13 as one
35552         of the expected test results.
35553
35554 2009-04-05  Bruno Haible  <bruno@clisp.org>
35555
35556         * gnulib-tool (func_emit_lib_Makefile_am): Don't add the library to
35557         noinst_LTLIBRARIES if the Makefile.am in the same directory specifies
35558         that it should be installed.
35559
35560 2009-04-05  Bruno Haible  <bruno@clisp.org>
35561
35562         * gnulib-tool: New option --copy-file.
35563         (func_usage): Document it.
35564         (func_dest_tmpfilename): Moved out of func_import.
35565         (func_add_file, func_update_file): New functions, extracted from
35566         func_import.
35567         (func_import): Update.
35568
35569 2009-04-05  Karl Berry  <karl@gnu.org>
35570
35571         * README: prominently mention gnulib-tool.
35572         Rearrange sections so getting the code is near the top.
35573
35574 2009-04-05  Bruno Haible  <bruno@clisp.org>
35575
35576         * lib/unicase.h: Mention u*_cmp2.
35577         * lib/unicase/u-casecmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
35578         * lib/unicase/u8-casecmp.c: Use u8_cmp2 instead of u8_cmp.
35579         * lib/unicase/ulc-casecmp.c: Likewise.
35580         * lib/unicase/u16-casecmp.c: Use u16_cmp2 instead of u16_cmp.
35581         * lib/unicase/u32-casecmp.c: Use u32_cmp2 instead of u32_cmp.
35582         * modules/unicase/u8-casecmp (Depends-on): Add unistr/u8-cmp2, remove
35583         unistr/u8-cmp.
35584         * modules/unicase/ulc-casecmp (Depends-on): Likewise.
35585         * modules/unicase/u16-casecmp (Depends-on): Add unistr/u16-cmp2, remove
35586         unistr/u16-cmp.
35587         * modules/unicase/u32-casecmp (Depends-on): Add unistr/u32-cmp2, remove
35588         unistr/u32-cmp.
35589
35590         * lib/uninorm.h: Mention u*_cmp2.
35591         * lib/uninorm/u-normcmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
35592         * lib/uninorm/u8-normcmp.c: Use u8_cmp2 instead of u8_cmp.
35593         * lib/uninorm/u16-normcmp.c: Use u16_cmp2 instead of u16_cmp.
35594         * lib/uninorm/u32-normcmp.c: Use u32_cmp2 instead of u32_cmp.
35595         * modules/uninorm/u8-normcmp (Depends-on): Add unistr/u8-cmp2, remove
35596         unistr/u8-cmp.
35597         * modules/uninorm/u16-normcmp (Depends-on): Add unistr/u16-cmp2, remove
35598         unistr/u16-cmp.
35599         * modules/uninorm/u32-normcmp (Depends-on): Add unistr/u32-cmp2, remove
35600         unistr/u32-cmp.
35601
35602         New module 'unistr/u32-cmp2'.
35603         * lib/unistr/u32-cmp2.c: New file.
35604         * modules/unistr/u32-cmp2: New file.
35605
35606         New module 'unistr/u16-cmp2'.
35607         * lib/unistr/u16-cmp2.c: New file.
35608         * modules/unistr/u16-cmp2: New file.
35609
35610         New module 'unistr/u8-cmp2'.
35611         * lib/unistr.h (u8_cmp2, u16_cmp2, u32_cmp2): New declarations.
35612         * lib/unistr/u8-cmp2.c: New file.
35613         * lib/unistr/u-cmp2.h: New file.
35614         * modules/unistr/u8-cmp2: New file.
35615
35616 2009-04-05  Bruno Haible  <bruno@clisp.org>
35617
35618         * lib/unictype.h (uc_property_is_valid): New macro.
35619         * tests/unictype/test-pr_byname.c (main): Use it.
35620
35621         * lib/unistr.h: Doc fixes.
35622         * lib/uniconv.h: Doc fixes.
35623         * lib/unictype.h: Doc fixes.
35624
35625 2009-04-03  Paul Eggert  <eggert@cs.ucla.edu>
35626
35627         Port coreutils 7.2 to Solaris 8.
35628
35629         * modules/arpa_inet (arpa/inet.h): Depend on arpa_inet.in.h.
35630         * m4/inet_ntop.m4 (gl_INET_NTOP): Search for inet_ntop in -lnsl,
35631         for Solaris 8.  This is a bit of a hack, as it means it's the
35632         caller's responsibility to add -lnsl if needed, but most likely it
35633         won't be needed since only getaddrinfo uses this and getaddrinfo
35634         isn't needed on Solaris 8.
35635
35636         * modules/fnmatch (Depends-on): Add mbsrtowcs, to fix a porting
35637         problem to Solaris 8 encountered with coreutils 7.2, which
35638         resulted in a message "fnmatch.c:292: warning: passing argument 4
35639         of 'mbsrtowcs' from incompatible pointer type".  Also, add mbsinit
35640         at the suggestion of Bruno Haible, since fnmatch uses mbsinit.
35641
35642 2009-04-03  Simon Josefsson  <simon@josefsson.org>
35643
35644         * m4/ld-version-script.m4: Add FIXME comment.
35645
35646 2009-04-02  Simon Josefsson  <simon@josefsson.org>
35647
35648         * doc/ld-output-def.texi: Use DLL_VERSION instead of confusing
35649         SOVERSION variable.
35650
35651 2009-04-02  Bruno Haible  <bruno@clisp.org>
35652
35653         * Makefile (info, html, dvi, pdf): Combine the rules.
35654         Suggested by Jim Meyering.
35655
35656 2009-04-01  Bruno Haible  <bruno@clisp.org>
35657
35658         * Makefile (info, html, dvi, pdf): New targets.
35659         Reported by Reuben Thomas <rrt@sc3d.org>.
35660
35661 2009-04-01  Bruno Haible  <bruno@clisp.org>
35662
35663         * doc/gnulib-tool.texi (Invoking gnulib-tool): Document how gnulib-tool
35664         can be put into PATH.
35665         Reported by Reuben Thomas <rrt@sc3d.org>. Suggested by Karl Berry.
35666
35667 2009-04-01  Bruno Haible  <bruno@clisp.org>
35668
35669         * doc/lib-symbol-visibility.texi: Follow texinfo style conventions.
35670
35671 2009-04-01  Bruno Haible  <bruno@clisp.org>
35672
35673         Rename module 'visibility'.
35674         * modules/lib-symbol-visibility: Renamed from modules/visibility.
35675         * doc/lib-symbol-visibility.texi: Renamed from visibility.texi.
35676         * doc/gnulib.texi: Update.
35677         * MODULES.html.sh (Misc): Update.
35678         * NEWS: Mention the change.
35679
35680 2009-04-01  Simon Josefsson  <simon@josefsson.org>
35681
35682         * modules/lib-msvc-compat: New module.  Thanks to Bruno Haible
35683         <bruno@clisp.org>, Ralf Wildenhues <Ralf.Wildenhues@gmx.de>, and
35684         Eric Blake <ebb9@byu.net> for review.
35685         * MODULES.html.sh: Add lib-msvc-compat.
35686         * doc/gnulib.texi: Link to new section.
35687         * m4/ld-output-def.m4: New file.
35688         * doc/ld-output-def.texi: New file.
35689
35690 2009-04-01  Simon Josefsson  <simon@josefsson.org>
35691
35692         Rename ld-version-script to lib-symbol-versions.  Suggested by
35693         Bruno Haible <bruno@clisp.org>.
35694         * modules/ld-version-script: Renamed to lib-symbol-versions.
35695         * doc/ld-version-script.texi: Fix module name.
35696         * MODULES.html.sh: Add lib-symbol-versions.
35697
35698 2009-03-31  Simon Josefsson  <simon@josefsson.org>
35699
35700         * modules/u64-tests: New file.
35701         * tests/test-u64.c: New file.
35702
35703 2009-03-04  Simon Josefsson  <simon@josefsson.org>
35704
35705         * MODULES.html.sh: Mention u64.
35706         * modules/u64: New module.
35707         * modules/crypto/sha512: Depend on u64 module instead of providing
35708         u64.h.
35709
35710 2009-03-27  Eric Blake  <ebb9@byu.net>
35711
35712         test-strerror: make debugging EAI_SYSTEM easier
35713         * modules/getaddrinfo-tests (Depends-on): Add strerror.
35714         * test-getaddrinfo.c (simple) [ENABLE_DEBUGGING]: Report errno if
35715         failure was EAI_SYSTEM.
35716
35717 2009-03-25  Bruno Haible  <bruno@clisp.org>
35718
35719         Fix a problem with --enable-relocatable on Solaris 7.
35720         * modules/relocatable-prog-wrapper (Depends-on): Add environ. Needed
35721         since 2008-02-24.
35722
35723 2009-03-25  Eric Blake  <ebb9@byu.net>
35724
35725         test-sockets: avoid gcc warning
35726         * tests/test-sockets.c (main): Silence compiler warning.
35727
35728 2009-03-25  Paul Eggert  <eggert@cs.ucla.edu>
35729
35730         New modules nproc, pthread, contributed by Glen Lenker.
35731
35732         * MODULES.html.sh: Add pthread, nproc.
35733         * lib/nproc.c: New file.
35734         * lib/nproc.h: New file.
35735         * lib/pthread.in.h: New file.
35736         * m4/pthread.m4: New file.
35737         * modules/nproc: New file.
35738         * modules/pthread: New file.
35739
35740 2009-03-24  Simon Josefsson  <simon@josefsson.org>
35741
35742         * modules/unicase/locale-language-tests (test_locale_language_LDADD):
35743         New variable.
35744
35745 2009-03-24  Kamil Dudka  <kdudka@redhat.com>
35746
35747         filevercmp: handle simple~ and numbered.~3~ backup suffixes
35748         * lib/filevercmp.c: Handle simple~ and numbered.~3~ backup suffixes.
35749         * tests/test-filevercmp.c: Add tests for backup suffixes.
35750
35751 2009-03-24  Simon Josefsson  <simon@josefsson.org>
35752
35753         * modules/stdlib (Depends-on): Add stdint, needed when defining
35754         struct random_data on, for example, HP-UX 10.20.  Reported by
35755         Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
35756
35757 2009-03-24  Simon Josefsson  <simon@josefsson.org>
35758
35759         * lib/readline.c (readline): Call fflush on stdout after printing
35760         prompt.
35761
35762 2009-03-20  Bruno Haible  <bruno@clisp.org>
35763
35764         Remove dependency from 'close' module to -lws2_32 on native Windows.
35765         * lib/close-hook.h: New file.
35766         * lib/close-hook.c: New file.
35767         * lib/close.c: Include close-hook.h. Don't include <sys/socket.h>,
35768         w32sock.h.
35769         (_gl_close_fd_maybe_socket): Remove function.
35770         (rpl_close): Invoke execute_all_close_hooks instead of
35771         _gl_close_fd_maybe_socket.
35772         * lib/sockets.c: Include close-hook.h, w32sock.h.
35773         (close_fd_maybe_socket): New function, essentially from lib/close.c.
35774         (close_sockets_hook): New variable.
35775         (gl_sockets_startup): Register close_fd_maybe_socket as a hook.
35776         (gl_sockets_cleanup): Unregister it.
35777         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): Remove macro.
35778         * m4/close.m4 (gl_REPLACE_CLOSE): Undo 2009-02-05 change.
35779         * modules/close-hook: New file.
35780         * modules/close (Files): Remove lib/w32sock.h.
35781         (Depends-on): Add close-hook.
35782         (Link): Remove section.
35783         * modules/sockets (Files): Add lib/w32sock.h.
35784         (Depends-on): Add close-hook.
35785         * modules/sys_socket (configure.ac): Remove gl_MODULE_INDICATOR
35786         invocation.
35787         * NEWS: Mention that LIB_CLOSE is gone.
35788
35789 2009-03-23  Eric Blake  <ebb9@byu.net>
35790
35791         signal-tests: test previous patch
35792         * tests/test-signal.c: New file.
35793         * modules/signal-tests: Likewise.
35794
35795         signal.h: always support 'volatile sig_atomic_t'
35796         * m4/signal_h.m4 (gl_SIGNAL_H): Check for AIX limitation.
35797         (gl_SIGNAL_H_DEFAULTS): Add a default.
35798         * modules/signal (Makefile.am): Substitute if needed.
35799         * lib/signal.in.h (sig_atomic_t): Redefine if needed, so that
35800         users can blindly add volatile.
35801         * doc/posix-headers/signal.texi (signal.h): Document it.
35802         Reported by Matthew Woehlke.
35803
35804 2009-03-23  Jim Meyering  <meyering@redhat.com>
35805
35806         pathmax: PATH_MAX: use pathconf only when available
35807         * lib/pathmax.h (PATH_MAX): Select the pathconf-using definition
35808         only if HAVE_PATHCONF is defined.  Patch by Sylvain Beucler.
35809         * m4/pathmax.m4 (gl_PATHMAX): Check for pathconf.
35810         This avoids a link failure in a PSP cross-compilation environment
35811         described in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/17048
35812
35813         * lib/vasnprintf.c (divide): Fix typo in comment.
35814
35815 2009-03-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35816
35817         * gnulib-tool (func_filter_filelist): Fix comment.
35818
35819 2009-03-20  Bruno Haible  <bruno@clisp.org>
35820
35821         Make sockets.h self-contained.
35822         * lib/sockets.c: Include sockets.h first.
35823         * lib/sockets.h: Include <sys/socket.h> before using the SOCKET type.
35824
35825 2009-03-19  Eric Blake  <ebb9@byu.net>
35826
35827         doc: mention more functions added in cygwin 1.7.0
35828         * doc/posix-functions/log2.texi: Mention recent cygwin 1.7.0
35829         addition.
35830         * doc/posix-functions/log2f.texi: Likewise.
35831
35832 2009-03-19  Jim Meyering  <meyering@redhat.com>
35833
35834         fsusage: avoid syntax error due to statement-before-declaration
35835         * lib/fsusage.c (get_fs_usage): Put warning-avoidance statement
35836         after all declarations.  Reported by Matthew Woehlke in
35837         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/16231
35838
35839 2009-03-18  Eric Blake  <ebb9@byu.net>
35840
35841         build-aux/compile: sync from automake
35842         * build-aux/compile: New file, from automake.
35843         * config/srclist.txt: Mention build-aux/compile.
35844
35845 2009-03-17  Bruno Haible  <bruno@clisp.org>
35846
35847         * lib/git-merge-changelog.c: Fix typo in comment.
35848         Reported by Reuben Thomas <rrt@sc3d.org>.
35849
35850 2009-03-17  Reuben Thomas  <rrt@sc3d.org>
35851
35852         * m4/regex.m4: update and improve help for
35853         --without-included-regex.
35854
35855 2009-03-17  Simon Josefsson  <simon@josefsson.org>
35856
35857         * modules/isnanl-nolibm-tests (Files): Add tests/nan.h to avoid
35858         failure on missing include files.
35859
35860 2009-03-17  Eric Blake  <ebb9@byu.net>
35861
35862         doc: mention more functions added in cygwin 1.7.0
35863         * doc/posix-functions/fwprintf.texi: Mention recent cygwin 1.7.0
35864         addition.
35865         * doc/posix-functions/fwscanf.texi: Likewise.
35866         * doc/posix-functions/swprintf.texi: Likewise.
35867         * doc/posix-functions/swscanf.texi: Likewise.
35868         * doc/posix-functions/vfwprintf.texi: Likewise.
35869         * doc/posix-functions/vfwscanf.texi: Likewise.
35870         * doc/posix-functions/vswprintf.texi: Likewise.
35871         * doc/posix-functions/vswscanf.texi: Likewise.
35872         * doc/posix-functions/vwprintf.texi: Likewise.
35873         * doc/posix-functions/vwscanf.texi: Likewise.
35874         * doc/posix-functions/wcscasecmp.texi: Likewise.
35875         * doc/posix-functions/wcsdup.texi: Likewise.
35876         * doc/posix-functions/wcsftime.texi: Likewise.
35877         * doc/posix-functions/wcsncasecmp.texi: Likewise.
35878         * doc/posix-functions/wprintf.texi: Likewise.
35879         * doc/posix-functions/wscanf.texi: Likewise.
35880         * doc/glibc-functions/gethostbyname2.texi: Likewise.
35881
35882 2009-03-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35883
35884         maint.mk: really add $(AM_MAKEFLAGS)
35885         * top/maint.mk (init-coverage, build-coverage): `$(AM_MAKEFLAGS)'
35886         was inadvertently omitted in the last commit.
35887         Spotted by Bruno Haible.
35888
35889         maint.mk: use $(MAKE) $(AM_MAKEFLAGS) not make
35890         * top/maint.mk (init-coverage, build-coverage): Use `$(MAKE)
35891         $(AM_MAKEFLAGS)' rather than plain `make'.
35892
35893         gnulib-tool: execute $MAKE not make
35894         * gnulib-tool: Default $MAKE to 'make'.
35895         (func_create_testdir, func_create_megatestdir): Use $MAKE rather
35896         than make.  Initialize $MAKE in the do-autobuild script.
35897
35898         gnulib-tool: use $MAKE not make in generated files
35899         * gnulib-tool (func_create_megatestdir): Use $MAKE rather than
35900         make, in generated files.  Initialize $MAKE in the do-autobuild
35901         script.
35902
35903         * top/GNUmakefile (_have-git-version-gen): Fix typo.
35904
35905         GNUmakefile: disable parallelism only for multiple, recursive targets
35906         * top/GNUmakefile (ALL_RECURSIVE_TARGETS): New macro; allow user
35907         additions in the Makefile.
35908         (AM_RECURSIVE_TARGETS): New macro, override only if not provided
35909         by Automake.
35910         (.NOTPARALLEL): Only disable parallel builds if multiple targets
35911         are listed on the command line and at least one of them is
35912         listed in $(ALL_RECURSIVE_TARGETS).
35913
35914 2009-03-14  Bruno Haible  <bruno@clisp.org>
35915
35916         * modules/unilbrk/u8-possible-linebreaks (Depends-on): Replace
35917         utf8-ucs4-unsafe with unistr/u8-mbtouc-unsafe.
35918         * modules/unilbrk/u8-width-linebreaks (Depends-on): Likewise.
35919         * modules/unilbrk/u16-possible-linebreaks (Depends-on): Replace
35920         utf16-ucs4-unsafe with unistr/u16-mbtouc-unsafe.
35921         * modules/unilbrk/u16-width-linebreaks (Depends-on): Likewise.
35922         * modules/unistr/u8-chr (Depends-on): Replace ucs4-utf8 with
35923         unistr/u8-uctomb.
35924         * modules/unistr/u8-strchr (Depends-on): Likewise.
35925         * modules/unistr/u8-strrchr (Depends-on): Likewise.
35926         * modules/unistr/u16-chr (Depends-on): Replace ucs4-utf16 with
35927         unistr/u16-uctomb.
35928         * modules/unistr/u16-strchr (Depends-on): Likewise.
35929         * modules/unistr/u16-strrchr (Depends-on): Likewise.
35930
35931 2009-03-12  Bruno Haible  <bruno@clisp.org>
35932
35933         Work around select() bug on Interix 3.5.
35934         * lib/sys_select.in.h (select): Also replace if REPLACE_SELECT is 1.
35935         * lib/select.c (rpl_select): Add an implementation for Unix platforms.
35936         * m4/select.m4: New file.
35937         * m4/sys_select_h.m4 (gl_SYS_SELECT_H_DEFAULTS): Initialize REPLACE_SELECT.
35938         * modules/sys_select (Makefile.am): Substitute REPLACE_SELECT.
35939         * modules/select (Files): Add m4/select.m4.
35940         (configure.ac): Move conditional to m4/select.m4. Invoke gl_FUNC_SELECT.
35941         * modules/nanosleep (Depends-on): Add select.
35942         * modules/poll (Depends-on): Likewise.
35943         * doc/posix-functions/select.texi: Mention the Interix bug.
35944         Reported by Markus Duft <mduft@gentoo.org>.
35945
35946         * lib/select.c: Renamed from lib/winsock-select.c.
35947         * modules/select (Files): Add lib/select.c, remove
35948         lib/winsock-select.c.
35949         (configure.ac): Update.
35950
35951 2009-03-12  Jim Meyering  <meyering@redhat.com>
35952
35953         avoid gcc warnings about unused macro definitions
35954         * lib/readtokens.c (STREQ): Remove unused definition.
35955         * lib/xmalloc.c (SIZE_MAX): Likewise.
35956         * lib/openat-die.c (N_): Likewise.
35957         * lib/mountlist.c (SIZE_MAX): Remove definition.
35958         Instead, include <stdint.h>.
35959         * lib/readutmp.c: Likewise.
35960         * modules/readutmp (Depends-on): Add stdint.
35961         * modules/mountlist (Depends-on): Add stdint.
35962         * lib/userspec.c (ISDIGIT): Move definition into #if block where used.
35963
35964 2009-03-10  Bruno Haible  <bruno@clisp.org>
35965
35966         Tests for module 'mbmemcasecoll'.
35967         * modules/mbmemcasecoll-tests: New file.
35968         * tests/test-mbmemcasecoll1.sh: New file.
35969         * tests/test-mbmemcasecoll2.sh: New file.
35970         * tests/test-mbmemcasecoll3.sh: New file.
35971         * tests/test-mbmemcasecoll.c: New file.
35972
35973         New module 'mbmemcasecoll'.
35974         * lib/mbmemcasecoll.h: New file.
35975         * lib/mbmemcasecoll.c: New file.
35976         * modules/mbmemcasecoll: New file.
35977
35978         * tests/test-mbmemcasecmp.h: New file, extracted from
35979         tests/test-mbmemcasecmp.c.
35980         * tests/test-mbmemcasecmp.c: Include test-mbmemcasecmp.h.
35981         (test_ascii, test_iso_8859_1, test_utf_8): Remove functions.
35982         (main): Update.
35983         * modules/mbmemcasecmp-tests (Files): Add tests/test-mbmemcasecmp.h.
35984
35985 2009-03-09  Bruno Haible  <bruno@clisp.org>
35986
35987         Tests for module 'mbmemcasecmp'.
35988         * modules/mbmemcasecmp-tests: New file.
35989         * tests/test-mbmemcasecmp1.sh: New file.
35990         * tests/test-mbmemcasecmp2.sh: New file.
35991         * tests/test-mbmemcasecmp3.sh: New file.
35992         * tests/test-mbmemcasecmp.c: New file.
35993
35994         New module 'mbmemcasecmp'.
35995         * lib/mbmemcasecmp.h: New file.
35996         * lib/mbmemcasecmp.c: New file.
35997         * modules/mbmemcasecmp: New file.
35998
35999 2009-03-09  Bruno Haible  <bruno@clisp.org>
36000
36001         Tests for module 'unicase/ulc-casecoll'.
36002         * modules/unicase/ulc-casecoll-tests: New file.
36003         * tests/unicase/test-ulc-casecoll1.sh: New file.
36004         * tests/unicase/test-ulc-casecoll2.sh: New file.
36005         * tests/unicase/test-ulc-casecoll.c: New file.
36006
36007         New module 'unicase/ulc-casecoll'.
36008         * lib/unicase.h (ulc_casecoll): New declaration.
36009         * lib/unicase/ulc-casecoll.c: New file.
36010         * modules/unicase/ulc-casecoll: New file.
36011
36012         New module 'unicase/ulc-casexfrm'.
36013         * lib/unicase.h (ulc_casexfrm): New declaration.
36014         * lib/unicase/ulc-casexfrm.c: New file.
36015         * modules/unicase/ulc-casexfrm: New file.
36016
36017 2009-03-09  Bruno Haible  <bruno@clisp.org>
36018
36019         Followup to 2008-12-22 commit: Remove unnecessary AC_FUNC_MBRTOWC
36020         invocations.
36021
36022         * m4/mbscasecmp.m4: Remove file.
36023         * modules/mbscasecmp (Files): Remove it and m4/mbrtowc.m4
36024         (configure.ac): Remove gl_FUNC_MBSCASECMP invocation.
36025
36026         * m4/mbscasestr.m4: Remove file.
36027         * modules/mbscasestr (Files): Remove it and m4/mbrtowc.m4
36028         (configure.ac): Remove gl_FUNC_MBSCASESTR invocation.
36029
36030         * m4/mbschr.m4: Remove file.
36031         * modules/mbschr (Files): Remove it and m4/mbrtowc.m4
36032         (configure.ac): Remove gl_FUNC_MBSCHR invocation.
36033
36034         * m4/mbscspn.m4: Remove file.
36035         * modules/mbscspn (Files): Remove it and m4/mbrtowc.m4
36036         (configure.ac): Remove gl_FUNC_MBSCSPN invocation.
36037
36038         * m4/mbslen.m4: Remove file.
36039         * modules/mbslen (Files): Remove it and m4/mbrtowc.m4
36040         (configure.ac): Remove gl_FUNC_MBSLEN invocation.
36041
36042         * m4/mbsncasecmp.m4: Remove file.
36043         * modules/mbsncasecmp (Files): Remove it and m4/mbrtowc.m4
36044         (configure.ac): Remove gl_FUNC_MBSNCASECMP invocation.
36045
36046         * m4/mbsnlen.m4: Remove file.
36047         * modules/mbsnlen (Files): Remove it and m4/mbrtowc.m4
36048         (configure.ac): Remove gl_FUNC_MBSNLEN invocation.
36049
36050         * m4/mbspbrk.m4: Remove file.
36051         * modules/mbspbrk (Files): Remove it and m4/mbrtowc.m4
36052         (configure.ac): Remove gl_FUNC_MBSPBRK invocation.
36053
36054         * m4/mbspcasecmp.m4: Remove file.
36055         * modules/mbspcasecmp (Files): Remove it and m4/mbrtowc.m4
36056         (configure.ac): Remove gl_FUNC_MBSPCASECMP invocation.
36057
36058         * m4/mbsrchr.m4: Remove file.
36059         * modules/mbsrchr (Files): Remove it and m4/mbrtowc.m4
36060         (configure.ac): Remove gl_FUNC_MBSRCHR invocation.
36061
36062         * m4/mbssep.m4: Remove file.
36063         * modules/mbssep (Files): Remove it and m4/mbrtowc.m4
36064         (configure.ac): Remove gl_FUNC_MBSSEP invocation.
36065
36066         * m4/mbsspn.m4: Remove file.
36067         * modules/mbsspn (Files): Remove it and m4/mbrtowc.m4
36068         (configure.ac): Remove gl_FUNC_MBSSPN invocation.
36069
36070         * m4/mbsstr.m4: Remove file.
36071         * modules/mbsstr (Files): Remove it and m4/mbrtowc.m4
36072         (configure.ac): Remove gl_FUNC_MBSSTR invocation.
36073
36074         * m4/mbstok_r.m4: Remove file.
36075         * modules/mbstok_r (Files): Remove it and m4/mbrtowc.m4
36076         (configure.ac): Remove gl_FUNC_MBSTOK_R invocation.
36077
36078         * m4/mbswidth.m4 (gl_MBSWIDTH): Remove AC_FUNC_MBRTOWC invocation.
36079
36080         * m4/quotearg.m4 (gl_QUOTEARG): Remove mbsinit test and
36081         AC_TYPE_MBSTATE_T, AC_FUNC_MBRTOWC invocations.
36082
36083         * modules/trim (configure.ac): Remove AC_FUNC_MBRTOWC invocation.
36084
36085 2009-03-08  Bruno Haible  <bruno@clisp.org>
36086
36087         Tests for module 'unicase/ulc-casecmp'.
36088         * modules/unicase/ulc-casecmp-tests: New file.
36089         * tests/unicase/test-ulc-casecmp1.sh: New file.
36090         * tests/unicase/test-ulc-casecmp2.sh: New file.
36091         * tests/unicase/test-ulc-casecmp.c: New file.
36092
36093         New module 'unicase/ulc-casecmp'.
36094         * lib/unicase.h (ulc_casecmp): New declaration.
36095         * lib/unicase/ulc-casecmp.c: New file.
36096         * lib/unicase/u-casecmp.h (FUNC): Change argument types to
36097         'const SRC_UNIT *'.
36098         * lib/unicase/u8-casecmp.c (SRC_UNIT): Define like UNIT.
36099         * lib/unicase/u16-casecmp.c (SRC_UNIT): Likewise.
36100         * lib/unicase/u32-casecmp.c (SRC_UNIT): Likewise.
36101         * modules/unicase/ulc-casecmp: New file.
36102
36103         Tests for module 'unicase/u32-is-cased'.
36104         * modules/unicase/u32-is-cased-tests: New file.
36105         * tests/unicase/test-u32-is-cased.c: New file.
36106
36107         Tests for module 'unicase/u16-is-cased'.
36108         * modules/unicase/u16-is-cased-tests: New file.
36109         * tests/unicase/test-u16-is-cased.c: New file.
36110
36111         Tests for module 'unicase/u8-is-cased'.
36112         * modules/unicase/u8-is-cased-tests: New file.
36113         * tests/unicase/test-u8-is-cased.c: New file.
36114         * tests/unicase/test-is-cased.h: New file.
36115
36116         New module 'unicase/u32-is-cased'.
36117         * lib/unicase/u32-is-cased.c: New file.
36118         * modules/unicase/u32-is-cased: New file.
36119
36120         New module 'unicase/u16-is-cased'.
36121         * lib/unicase/u16-is-cased.c: New file.
36122         * modules/unicase/u16-is-cased: New file.
36123
36124         New module 'unicase/u8-is-cased'.
36125         * lib/unicase/u8-is-cased.c: New file.
36126         * lib/unicase/u-is-cased.h: New file.
36127         * modules/unicase/u8-is-cased: New file.
36128
36129         Tests for module 'unicase/u32-is-casefolded'.
36130         * modules/unicase/u32-is-casefolded-tests: New file.
36131         * tests/unicase/test-u32-is-casefolded.c: New file.
36132
36133         Tests for module 'unicase/u16-is-casefolded'.
36134         * modules/unicase/u16-is-casefolded-tests: New file.
36135         * tests/unicase/test-u16-is-casefolded.c: New file.
36136
36137         Tests for module 'unicase/u8-is-casefolded'.
36138         * modules/unicase/u8-is-casefolded-tests: New file.
36139         * tests/unicase/test-u8-is-casefolded.c: New file.
36140         * tests/unicase/test-is-casefolded.h: New file.
36141
36142         New module 'unicase/u32-is-casefolded'.
36143         * lib/unicase/u32-is-casefolded.c: New file.
36144         * modules/unicase/u32-is-casefolded: New file.
36145
36146         New module 'unicase/u16-is-casefolded'.
36147         * lib/unicase/u16-is-casefolded.c: New file.
36148         * modules/unicase/u16-is-casefolded: New file.
36149
36150         New module 'unicase/u8-is-casefolded'.
36151         * lib/unicase/u8-is-casefolded.c: New file.
36152         * modules/unicase/u8-is-casefolded: New file.
36153
36154         Tests for module 'unicase/u32-is-titlecase'.
36155         * modules/unicase/u32-is-titlecase-tests: New file.
36156         * tests/unicase/test-u32-is-titlecase.c: New file.
36157
36158         Tests for module 'unicase/u16-is-titlecase'.
36159         * modules/unicase/u16-is-titlecase-tests: New file.
36160         * tests/unicase/test-u16-is-titlecase.c: New file.
36161
36162         Tests for module 'unicase/u8-is-titlecase'.
36163         * modules/unicase/u8-is-titlecase-tests: New file.
36164         * tests/unicase/test-u8-is-titlecase.c: New file.
36165         * tests/unicase/test-is-titlecase.h: New file.
36166
36167         New module 'unicase/u32-is-titlecase'.
36168         * lib/unicase/u32-is-titlecase.c: New file.
36169         * modules/unicase/u32-is-titlecase: New file.
36170
36171         New module 'unicase/u16-is-titlecase'.
36172         * lib/unicase/u16-is-titlecase.c: New file.
36173         * modules/unicase/u16-is-titlecase: New file.
36174
36175         New module 'unicase/u8-is-titlecase'.
36176         * lib/unicase/u8-is-titlecase.c: New file.
36177         * modules/unicase/u8-is-titlecase: New file.
36178
36179         Tests for module 'unicase/u32-is-lowercase'.
36180         * modules/unicase/u32-is-lowercase-tests: New file.
36181         * tests/unicase/test-u32-is-lowercase.c: New file.
36182
36183         Tests for module 'unicase/u16-is-lowercase'.
36184         * modules/unicase/u16-is-lowercase-tests: New file.
36185         * tests/unicase/test-u16-is-lowercase.c: New file.
36186
36187         Tests for module 'unicase/u8-is-lowercase'.
36188         * modules/unicase/u8-is-lowercase-tests: New file.
36189         * tests/unicase/test-u8-is-lowercase.c: New file.
36190         * tests/unicase/test-is-lowercase.h: New file.
36191
36192         New module 'unicase/u32-is-lowercase'.
36193         * lib/unicase/u32-is-lowercase.c: New file.
36194         * modules/unicase/u32-is-lowercase: New file.
36195
36196         New module 'unicase/u16-is-lowercase'.
36197         * lib/unicase/u16-is-lowercase.c: New file.
36198         * modules/unicase/u16-is-lowercase: New file.
36199
36200         New module 'unicase/u8-is-lowercase'.
36201         * lib/unicase/u8-is-lowercase.c: New file.
36202         * modules/unicase/u8-is-lowercase: New file.
36203
36204         Tests for module 'unicase/u32-is-uppercase'.
36205         * modules/unicase/u32-is-uppercase-tests: New file.
36206         * tests/unicase/test-u32-is-uppercase.c: New file.
36207
36208         Tests for module 'unicase/u16-is-uppercase'.
36209         * modules/unicase/u16-is-uppercase-tests: New file.
36210         * tests/unicase/test-u16-is-uppercase.c: New file.
36211
36212         Tests for module 'unicase/u8-is-uppercase'.
36213         * modules/unicase/u8-is-uppercase-tests: New file.
36214         * tests/unicase/test-u8-is-uppercase.c: New file.
36215         * tests/unicase/test-is-uppercase.h: New file.
36216
36217         New module 'unicase/u32-is-uppercase'.
36218         * lib/unicase/u32-is-uppercase.c: New file.
36219         * modules/unicase/u32-is-uppercase: New file.
36220
36221         New module 'unicase/u16-is-uppercase'.
36222         * lib/unicase/u16-is-uppercase.c: New file.
36223         * modules/unicase/u16-is-uppercase: New file.
36224
36225         New module 'unicase/u8-is-uppercase'.
36226         * lib/unicase/u8-is-uppercase.c: New file.
36227         * modules/unicase/u8-is-uppercase: New file.
36228
36229         New module 'unicase/u32-is-invariant'.
36230         * lib/unicase/u32-is-invariant.c: New file.
36231         * modules/unicase/u32-is-invariant: New file.
36232
36233         New module 'unicase/u16-is-invariant'.
36234         * lib/unicase/u16-is-invariant.c: New file.
36235         * modules/unicase/u16-is-invariant: New file.
36236
36237         New module 'unicase/u8-is-invariant'.
36238         * lib/unicase/u8-is-invariant.c: New file.
36239         * lib/unicase/invariant.h: New file.
36240         * lib/unicase/u-is-invariant.h: New file.
36241         * modules/unicase/u8-is-invariant: New file.
36242
36243         Tests for module 'unicase/u32-casecoll'.
36244         * modules/unicase/u32-casecoll-tests: New file.
36245         * tests/unicase/test-u32-casecoll.c: New file.
36246
36247         Tests for module 'unicase/u16-casecoll'.
36248         * modules/unicase/u16-casecoll-tests: New file.
36249         * tests/unicase/test-u16-casecoll.c: New file.
36250
36251         Tests for module 'unicase/u8-casecoll'.
36252         * modules/unicase/u8-casecoll-tests: New file.
36253         * tests/unicase/test-u8-casecoll.c: New file.
36254
36255         New module 'unicase/u32-casecoll'.
36256         * lib/unicase/u32-casecoll.c: New file.
36257         * modules/unicase/u32-casecoll: New file.
36258
36259         New module 'unicase/u16-casecoll'.
36260         * lib/unicase/u16-casecoll.c: New file.
36261         * modules/unicase/u16-casecoll: New file.
36262
36263         New module 'unicase/u8-casecoll'.
36264         * lib/unicase/u8-casecoll.c: New file.
36265         * lib/unicase/u-casecoll.h: New file.
36266         * modules/unicase/u8-casecoll: New file.
36267
36268         New module 'unicase/u32-casexfrm'.
36269         * lib/unicase/u32-casexfrm.c: New file.
36270         * modules/unicase/u32-casexfrm: New file.
36271
36272         New module 'unicase/u16-casexfrm'.
36273         * lib/unicase/u16-casexfrm.c: New file.
36274         * modules/unicase/u16-casexfrm: New file.
36275
36276         New module 'unicase/u8-casexfrm'.
36277         * lib/unicase/u8-casexfrm.c: New file.
36278         * lib/unicase/u-casexfrm.h: New file.
36279         * modules/unicase/u8-casexfrm: New file.
36280
36281         Tests for module 'unicase/u32-casecmp'.
36282         * modules/unicase/u32-casecmp-tests: New file.
36283         * tests/unicase/test-u32-casecmp.c: New file.
36284
36285         Tests for module 'unicase/u16-casecmp'.
36286         * modules/unicase/u16-casecmp-tests: New file.
36287         * tests/unicase/test-u16-casecmp.c: New file.
36288
36289         Tests for module 'unicase/u8-casecmp'.
36290         * modules/unicase/u8-casecmp-tests: New file.
36291         * tests/unicase/test-u8-casecmp.c: New file.
36292         * tests/unicase/test-casecmp.h: New file.
36293
36294         New module 'unicase/u32-casecmp'.
36295         * lib/unicase/u32-casecmp.c: New file.
36296         * modules/unicase/u32-casecmp: New file.
36297
36298         New module 'unicase/u16-casecmp'.
36299         * lib/unicase/u16-casecmp.c: New file.
36300         * modules/unicase/u16-casecmp: New file.
36301
36302         New module 'unicase/u8-casecmp'.
36303         * lib/unicase/u8-casecmp.c: New file.
36304         * lib/unicase/u-casecmp.h: New file.
36305         * modules/unicase/u8-casecmp: New file.
36306
36307         Tests for module 'unicase/u32-casefold'.
36308         * modules/unicase/u32-casefold-tests: New file.
36309         * tests/unicase/test-u32-casefold.c: New file.
36310
36311         Tests for module 'unicase/u16-casefold'.
36312         * modules/unicase/u16-casefold-tests: New file.
36313         * tests/unicase/test-u16-casefold.c: New file.
36314
36315         Tests for module 'unicase/u8-casefold'.
36316         * modules/unicase/u8-casefold-tests: New file.
36317         * tests/unicase/test-u8-casefold.c: New file.
36318
36319         New module 'unicase/u32-casefold'.
36320         * lib/unicase/u32-casefold.c: New file.
36321         * modules/unicase/u32-casefold: New file.
36322
36323         New module 'unicase/u16-casefold'.
36324         * lib/unicase/u16-casefold.c: New file.
36325         * modules/unicase/u16-casefold: New file.
36326
36327         New module 'unicase/u8-casefold'.
36328         * lib/unicase/u8-casefold.c: New file.
36329         * lib/unicase/u-casefold.h: New file.
36330         * modules/unicase/u8-casefold: New file.
36331
36332         New module 'unicase/tocasefold'.
36333         * lib/unicase/casefold.h: New file.
36334         * lib/unicase/tocasefold.c: New file.
36335         * lib/unicase/tocasefold.h: New file, generated by gen-uni-tables.c.
36336         * modules/unicase/tocasefold: New file.
36337
36338         Tests for module 'unicase/u32-totitle'.
36339         * modules/unicase/u32-totitle-tests: New file.
36340         * tests/unicase/test-u32-totitle.c: New file.
36341
36342         Tests for module 'unicase/u16-totitle'.
36343         * modules/unicase/u16-totitle-tests: New file.
36344         * tests/unicase/test-u16-totitle.c: New file.
36345
36346         Tests for module 'unicase/u8-totitle'.
36347         * modules/unicase/u8-totitle-tests: New file.
36348         * tests/unicase/test-u8-totitle.c: New file.
36349
36350         New module 'unicase/u32-totitle'.
36351         * lib/unicase/u32-totitle.c: New file.
36352         * modules/unicase/u32-totitle: New file.
36353
36354         New module 'unicase/u16-totitle'.
36355         * lib/unicase/u16-totitle.c: New file.
36356         * modules/unicase/u16-totitle: New file.
36357
36358         New module 'unicase/u8-totitle'.
36359         * lib/unicase/u8-totitle.c: New file.
36360         * lib/unicase/u-totitle.h: New file.
36361         * modules/unicase/u8-totitle: New file.
36362
36363         Tests for module 'unicase/u32-tolower'.
36364         * modules/unicase/u32-tolower-tests: New file.
36365         * tests/unicase/test-u32-tolower.c: New file.
36366
36367         Tests for module 'unicase/u16-tolower'.
36368         * modules/unicase/u16-tolower-tests: New file.
36369         * tests/unicase/test-u16-tolower.c: New file.
36370
36371         Tests for module 'unicase/u8-tolower'.
36372         * modules/unicase/u8-tolower-tests: New file.
36373         * tests/unicase/test-u8-tolower.c: New file.
36374
36375         New module 'unicase/u32-tolower'.
36376         * lib/unicase/u32-tolower.c: New file.
36377         * modules/unicase/u32-tolower: New file.
36378
36379         New module 'unicase/u16-tolower'.
36380         * lib/unicase/u16-tolower.c: New file.
36381         * modules/unicase/u16-tolower: New file.
36382
36383         New module 'unicase/u8-tolower'.
36384         * lib/unicase/u8-tolower.c: New file.
36385         * modules/unicase/u8-tolower: New file.
36386
36387         Tests for module 'unicase/u32-toupper'.
36388         * modules/unicase/u32-toupper-tests: New file.
36389         * tests/unicase/test-u32-toupper.c: New file.
36390
36391         Tests for module 'unicase/u16-toupper'.
36392         * modules/unicase/u16-toupper-tests: New file.
36393         * tests/unicase/test-u16-toupper.c: New file.
36394
36395         Tests for module 'unicase/u8-toupper'.
36396         * modules/unicase/u8-toupper-tests: New file.
36397         * tests/unicase/test-u8-toupper.c: New file.
36398
36399         New module 'unicase/u32-toupper'.
36400         * lib/unicase/u32-toupper.c: New file.
36401         * modules/unicase/u32-toupper: New file.
36402
36403         New module 'unicase/u16-toupper'.
36404         * lib/unicase/u16-toupper.c: New file.
36405         * modules/unicase/u16-toupper: New file.
36406
36407         New module 'unicase/u8-toupper'.
36408         * lib/unicase/u8-toupper.c: New file.
36409         * modules/unicase/u8-toupper: New file.
36410
36411         New module 'unicase/u32-casemap'.
36412         * lib/unicase/u32-casemap.c: New file.
36413         * modules/unicase/u32-casemap: New file.
36414
36415         New module 'unicase/u16-casemap'.
36416         * lib/unicase/u16-casemap.c: New file.
36417         * modules/unicase/u16-casemap: New file.
36418
36419         New module 'unicase/u8-casemap'.
36420         * lib/unicase/unicasemap.h: New file.
36421         * lib/unicase/u8-casemap.c: New file.
36422         * lib/unicase/u-casemap.h: New file.
36423         * modules/unicase/u8-casemap: New file.
36424
36425         New module 'unicase/special-casing'.
36426         * lib/unicase/special-casing.h: New file.
36427         * lib/unicase/special-casing.c: New file.
36428         * lib/unicase/special-casing-table.gperf: New file, generated by
36429         gen-uni-tables.c.
36430         * modules/unicase/special-casing: New file.
36431
36432         Tests for module 'unicase/locale-language'.
36433         * modules/unicase/locale-language-tests: New file.
36434         * tests/unicase/test-locale-language.sh: New file.
36435         * tests/unicase/test-locale-language.c: New file.
36436
36437         New module 'unicase/locale-language'.
36438         * lib/unicase/locale-language.c: New file.
36439         * lib/unicase/locale-languages.gperf: New file.
36440         * modules/unicase/locale-language: New file.
36441
36442         Generate more tables for case conversion and case folding.
36443         * lib/gen-uni-tables.c (SCC_*): New enum items.
36444         (struct special_casing_rule): New type.
36445         (casing_rules, num_casing_rules, allocated_casing_rules): New
36446         variables.
36447         (add_casing_rule, fill_casing_rules): New functions.
36448         (struct casefold_rule): New type.
36449         (casefolding_rules, num_casefolding_rules,
36450         allocated_casefolding_rules): New variables.
36451         (fill_casefolding_rules): New function.
36452         (unicode_casefold): New variable.
36453         (to_casefold, redistribute_casefolding_rules, compare_casing_rules,
36454         sort_casing_rules, output_casing_rules): New functions.
36455         (main): Accept to more arguments: SpecialCasing.txt and
36456         CaseFolding.txt. Invoke fill_casing_rules, fill_casefolding_rules,
36457         redistribute_casefolding_rules, sort_casing_rules, output_casing_rules.
36458         Output mapping for casefolding.
36459
36460         * lib/unicase.h: Include stdbool.h, uninorm.h.
36461         (u8_toupper, u16_toupper, u32_toupper, u8_tolower, u16_tolower,
36462         u32_tolower, u8_totitle, u16_totitle, u32_totitle): Add nf argument.
36463         (u8_casefold, u16_casefold, u32_casefold): Add iso639_language and nf
36464         arguments.
36465         (u8_casecmp, u16_casecmp, u32_casecmp): Add iso639_language, nf,
36466         resultp arguments.
36467         (u8_casexfrm, u16_casexfrm, u32_casexfrm): New declarations.
36468         (u8_casecoll, u16_casecoll, u32_casecoll): Add iso639_language, nf,
36469         resultp arguments.
36470         (u8_is_uppercase, u16_is_uppercase, u32_is_uppercase, u8_is_lowercase,
36471         u16_is_lowercase, u32_is_lowercase, u8_is_titlecase, u16_is_titlecase,
36472         u32_is_titlecase, u8_is_casefolded, u16_is_casefolded,
36473         u32_is_casefolded, u8_is_cased, u16_is_cased, u32_is_cased): New
36474         declarations.
36475         * modules/unicase/base (Depends-on): Add uninorm/base, stdbool.
36476
36477 2009-03-08  Bruno Haible  <bruno@clisp.org>
36478
36479         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
36480         u16_normcoll, u32_normcoll): Rename argument 'result' to 'resultp'.
36481         * lib/uninorm/u-normcmp.h (FUNC): Likewise.
36482         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
36483
36484 2009-03-07  Bruno Haible  <bruno@clisp.org>
36485
36486         Adjust u*_normcmp, u*_normcoll API.
36487         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
36488         u16_normcoll, u32_normcoll): Change failure conventions.
36489         * lib/uninorm/u-normcmp.h (FUNC): Upon failure, store the error code in
36490         errno and return -1.
36491         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
36492
36493 2009-03-07  Bruno Haible  <bruno@clisp.org>
36494
36495         Tests for module 'uninorm/u32-normcoll'.
36496         * modules/uninorm/u32-normcoll-tests: New file.
36497         * tests/uninorm/test-u32-normcoll.c: New file.
36498
36499         Tests for module 'uninorm/u16-normcoll'.
36500         * modules/uninorm/u16-normcoll-tests: New file.
36501         * tests/uninorm/test-u16-normcoll.c: New file.
36502
36503         Tests for module 'uninorm/u8-normcoll'.
36504         * modules/uninorm/u8-normcoll-tests: New file.
36505         * tests/uninorm/test-u8-normcoll.c: New file.
36506
36507 2009-03-07  Bruno Haible  <bruno@clisp.org>
36508
36509         * tests/uninorm/test-u32-normcmp.h: New file, extracted from
36510         tests/uninorm/test-u32-normcmp.c.
36511         * tests/uninorm/test-u32-normcmp.c: Include it.
36512         (test_nonascii): New function, extracted from main. Add some more
36513         tests.
36514         (main): Invoke test_ascii and test_nonascii.
36515         * modules/uninorm/u32-normcmp-tests (Files): Add
36516         tests/uninorm/test-u32-normcmp.h.
36517         (Depends-on): Remove uninorm/u32-normcmp.
36518
36519         * tests/uninorm/test-u16-normcmp.h: New file, extracted from
36520         tests/uninorm/test-u16-normcmp.c.
36521         * tests/uninorm/test-u16-normcmp.c: Include it.
36522         (test_nonascii): New function, extracted from main. Add some more
36523         tests.
36524         (main): Invoke test_ascii and test_nonascii.
36525         * modules/uninorm/u16-normcmp-tests (Files): Add
36526         tests/uninorm/test-u16-normcmp.h.
36527         (Depends-on): Remove uninorm/u16-normcmp.
36528
36529         * tests/uninorm/test-u8-normcmp.h: New file, extracted from
36530         tests/uninorm/test-u8-normcmp.c.
36531         * tests/uninorm/test-u8-normcmp.c: Include it.
36532         (test_nonascii): New function, extracted from main. Add some more
36533         tests.
36534         (main): Invoke test_ascii and test_nonascii.
36535         * modules/uninorm/u8-normcmp-tests (Files): Add
36536         tests/uninorm/test-u8-normcmp.h.
36537         (Depends-on): Remove uninorm/u8-normcmp.
36538
36539 2009-03-07  Bruno Haible  <bruno@clisp.org>
36540
36541         New module 'uninorm/u32-normcoll'.
36542         * lib/uninorm/u32-normcoll.c: New file.
36543         * modules/uninorm/u32-normcoll: New file.
36544
36545         New module 'uninorm/u16-normcoll'.
36546         * lib/uninorm/u16-normcoll.c: New file.
36547         * modules/uninorm/u16-normcoll: New file.
36548
36549         New module 'uninorm/u8-normcoll'.
36550         * lib/uninorm.h (u8_normcoll, u16_normcoll, u32_normcoll): New
36551         declarations.
36552         * lib/uninorm/u8-normcoll.c: New file.
36553         * lib/uninorm/u-normcoll.h: New file.
36554         * modules/uninorm/u8-normcoll: New file.
36555
36556         New module 'uninorm/u32-normxfrm'.
36557         * lib/uninorm/u32-normxfrm.c: New file.
36558         * modules/uninorm/u32-normxfrm: New file.
36559
36560         New module 'uninorm/u16-normxfrm'.
36561         * lib/uninorm/u16-normxfrm.c: New file.
36562         * modules/uninorm/u16-normxfrm: New file.
36563
36564         New module 'uninorm/u8-normxfrm'.
36565         * lib/uninorm.h (u8_normxfrm, u16_normxfrm, u32_normxfrm): New
36566         declarations.
36567         * lib/uninorm/u8-normxfrm.c: New file.
36568         * lib/uninorm/u-normxfrm.h: New file.
36569         * modules/uninorm/u8-normxfrm: New file.
36570
36571 2009-03-07  Bruno Haible  <bruno@clisp.org>
36572
36573         * modules/uninorm/u8-normcmp (Depends-on): Add uninorm/base.
36574         * modules/uninorm/u16-normcmp (Depends-on): Likewise.
36575         * modules/uninorm/u32-normcmp (Depends-on): Likewise.
36576
36577 2009-03-07  Bruno Haible  <bruno@clisp.org>
36578
36579         New module 'memxfrm'.
36580         * lib/memxfrm.h: New file.
36581         * lib/memxfrm.c: New file.
36582         * modules/memxfrm: New file.
36583
36584 2009-03-07  Bruno Haible  <bruno@clisp.org>
36585
36586         New module 'memcmp2'.
36587         * lib/memcmp2.h: New file.
36588         * lib/memcmp2.c: New file.
36589         * modules/memcmp2: New file.
36590
36591 2009-03-07  Bruno Haible  <bruno@clisp.org>
36592
36593         Tests for module 'uninorm/decomposing-form'.
36594         * modules/uninorm/decomposing-form-tests: New file.
36595         * tests/uninorm/test-decomposing-form.c: New file.
36596
36597         New module 'uninorm/decomposing-form'.
36598         * lib/uninorm.h (uninorm_decomposing_form): New declaration.
36599         * lib/uninorm/normalize-internal.h (struct unicode_normalization_form):
36600         Add 'decomposing_variant' field.
36601         * lib/uninorm/decomposing-form.c: New file.
36602         * lib/uninorm/nfc.c (uninorm_nfc): Update.
36603         * lib/uninorm/nfd.c (uninorm_nfd): Update.
36604         * lib/uninorm/nfkc.c (uninorm_nfkc): Update.
36605         * lib/uninorm/nfkd.c (uninorm_nfkd): Update.
36606         * modules/uninorm/decomposing-form: New file.
36607         * modules/uninorm/nfc (Depends-on): Add uninorm/nfd.
36608         * modules/uninorm/nfkc (Depends-on): Add uninorm/nfkd.
36609
36610 2009-03-07  Bruno Haible  <bruno@clisp.org>
36611
36612         * lib/uninorm/u-normcmp.h (FUNC): Use stack=allocated buffers for small
36613         strings.
36614
36615 2009-03-06  Bruno Haible  <bruno@clisp.org>
36616
36617         Tests for module 'uninorm/u32-normcmp'.
36618         * tests/uninorm/test-u32-normcmp.c: New file.
36619         * modules/uninorm/u32-normcmp-tests: New file.
36620
36621         Tests for module 'uninorm/u16-normcmp'.
36622         * tests/uninorm/test-u16-normcmp.c: New file.
36623         * modules/uninorm/u16-normcmp-tests: New file.
36624
36625         Tests for module 'uninorm/u8-normcmp'.
36626         * tests/uninorm/test-u8-normcmp.c: New file.
36627         * modules/uninorm/u8-normcmp-tests: New file.
36628
36629         New module 'uninorm/u32-normcmp'.
36630         * lib/uninorm/u32-normcmp.c: New file.
36631         * modules/uninorm/u32-normcmp: New file.
36632
36633         New module 'uninorm/u16-normcmp'.
36634         * lib/uninorm/u16-normcmp.c: New file.
36635         * modules/uninorm/u16-normcmp: New file.
36636
36637         New module 'uninorm/u8-normcmp'.
36638         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp): New
36639         declarations.
36640         * lib/uninorm/u8-normcmp.c: New file.
36641         * lib/uninorm/u-normcmp.h: New file.
36642         * modules/uninorm/u8-normcmp: New file.
36643
36644 2009-03-06  Bruno Haible  <bruno@clisp.org>
36645
36646         * lib/w32spawn.h (dup_noinherit): Add cast, to avoid gcc warning.
36647         Reported by Eric Blake.
36648
36649 2009-03-06  Eric Blake  <ebb9@byu.net>
36650             Bruno Haible  <bruno@clisp.org>
36651
36652         * lib/spawni.c (__spawni) [WIN32_NATIVE]: Define as a stub.
36653         * modules/posix_spawn-tests (configure.ac): Define POSIX_SPAWN_PORTED
36654         condition.
36655         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
36656         * modules/posix_spawnp-tests (configure.ac): Define POSIX_SPAWN_PORTED
36657         condition.
36658         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
36659
36660 2009-03-06  Eric Blake  <ebb9@byu.net>
36661
36662         * lib/execute.c (execute) [WIN32_NATIVE]: Cast arguments of spawnvpe,
36663         to avoid compiler warnings.
36664         * lib/pipe.c (create_pipe) [WIN32_NATIVE]: Likewise.
36665
36666 2009-03-05  Bruno Haible  <bruno@clisp.org>
36667
36668         * tests/test-ftell.c (main): Disable test beyond end of file on
36669         FreeMiNT.
36670         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
36671
36672 2009-03-05  Kamil Dudka  <kdudka@redhat.com>
36673
36674         * lib/filevercmp.c: Move hidden files up in ordering.
36675         * tests/test-filevercmp.c: Add tests for hidden files.
36676
36677 2009-03-04  Bruno Haible  <bruno@clisp.org>
36678
36679         * modules/visibility (Makefile.am): Augment AM_CFLAGS.
36680         * gnulib-tool (func_emit_lib_Makefile_am): Emit initialization of
36681         AM_CFLAGS.
36682         Reported by Simon Josefsson.
36683
36684 2009-03-03  Bruno Haible  <bruno@clisp.org>
36685
36686         * doc/visibility.texi: Recommend to use HAVE_VISIBILITY as a C macro.
36687         Reported by Simon Josefsson.
36688
36689         * doc/ld-version-script.texi: Update node reference.
36690
36691 2009-03-03  Bruno Haible  <bruno@clisp.org>
36692
36693         * modules/visibility (License): Change to 'unlimited'.
36694         Suggested by Simon Josefsson.
36695
36696 2009-03-03  Jim Meyering  <meyering@redhat.com>
36697
36698         unlinkdir: cannot_unlink_dir may modify process state
36699         * lib/unlinkdir.c (cannot_unlink_dir): Add a comment warning that
36700         it's neither thread-safe nor appropriate for use in a library.
36701
36702 2009-03-03  Eric Blake  <ebb9@byu.net>
36703
36704         test-closein: silence test under Darwin
36705         * tests/test-closein.sh: Ignore stderr from cat, since we don't
36706         care if it dies from EPIPE or EBADF.
36707
36708 2009-03-03  Bruno Haible  <bruno@clisp.org>
36709
36710         * doc/gnulib.texi: Include visibility.texi and ld-version-script.texi
36711         earlier.
36712         * doc/visibility.texi: Fix @node and @section.
36713
36714 2009-03-03  Simon Josefsson  <simon@josefsson.org>
36715
36716         * doc/gnulib.texi: Link to sections for ld version script and
36717         visibility.
36718         * doc/visibility.texi: Add @node and @section.
36719         * modules/ld-version-script: New module.
36720         * m4/ld-version-script.m4: New file.
36721         * doc/ld-version-script.texi: New file.
36722
36723 2009-03-02  David Lutterkort  <lutter@redhat.com>
36724
36725         * lib/safe-alloc.h (__GNUC_PREREQ): New macro.
36726         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
36727
36728 2009-03-02  Bruno Haible  <bruno@clisp.org>
36729
36730         * doc/visibility.texi: Mention libtool's -export-symbols option.
36731
36732 2009-03-02  Jim Meyering  <meyering@redhat.com>
36733
36734         announce-gen: new option: --no-print-checksums
36735         * build-aux/announce-gen (usage): Describe it.
36736         (print_checksums): Print a newline here, not in the [*] footnote.
36737         (main): Honor it.
36738
36739 2009-03-01  Bruno Haible  <bruno@clisp.org>
36740
36741         Use socklen_t in the native Windows replacements prototypes.
36742         * lib/sys_socket.in.h (rpl_getsockopt, rpl_setsockopt): Use socklen_t
36743         instead of 'int'.
36744         * lib/getsockopt.c (rpl_getsockopt): Likewise.
36745         * lib/setsockopt.c (rpl_setsockopt): Likewise.
36746         * modules/getsockopt (Depends-on): Add socklen.
36747         * modules/setsockopt (Depends-on): Add socklen.
36748
36749 2009-03-01  Bruno Haible  <bruno@clisp.org>
36750
36751         * gnulib-tool (sed): Do alias as "sed --posix" if sed's version is at
36752         least 4.2.
36753
36754 2009-03-01  Eric Blake  <ebb9@byu.net>
36755             Bruno Haible  <bruno@clisp.org>
36756
36757         * lib/wait-process.h (wait_subprocess): Describe effect of termsigp on
36758         error messages.
36759         * lib/wait-process.c (wait_subprocess): Omit error message about
36760         deadly signal sent to the child of termsigp != NULL.
36761
36762 2009-03-01  Eric Blake  <ebb9@byu.net>
36763
36764         * lib/wait-process.c (wait_subprocess): Remove unnecessary cast.
36765
36766 2009-03-01  Bruno Haible  <bruno@clisp.org>
36767
36768         Avoid a gcc warning.
36769         * tests/test-sched.c (b): Make global.
36770         Reported by Eric Blake.
36771
36772 2009-01-19  Martin Lambers  <marlam@marlam.de>
36773
36774         Provide POSIX semantics for socket timeout options on W32.
36775         * lib/setsockopt.c: Convert struct timeval to milliseconds on W32.
36776         * lib/getsockopt.c: Convert milliseconds to struct timeval on W32.
36777         * modules/setsockopt: Depend on sys_time module for struct timeval.
36778         * modules/getsockopt: Depend on sys_time module for struct timeval.
36779
36780 2009-03-01  Simon Josefsson  <simon@josefsson.org>
36781
36782         * lib/gai_strerror.c (values): Use EAI_INPROGRESS instead of
36783         __USE_GNU, for consistency with netdb.in.h.
36784         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
36785
36786 2009-03-01  Bruno Haible  <bruno@clisp.org>
36787
36788         More support for FreeMiNT.
36789         * lib/fseeko.c (rpl_fseeko): Complete last commit.
36790         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
36791
36792 2009-03-01  Bruno Haible  <bruno@clisp.org>
36793
36794         More support for FreeMiNT.
36795         * lib/fpurge.c (fpurge): Correct last commit.
36796         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
36797
36798 2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36799
36800         Fix unportable awk script in vc-list-files.
36801         * build-aux/vc-list-files: In the replacement awk script, use
36802         substr with a second argument of 1, not zero.
36803         Report by Simon Josefsson.
36804
36805 2009-02-28  Bruno Haible  <bruno@clisp.org>
36806
36807         More support for FreeMiNT.
36808         * lib/freading.c (freading) [__MINT__]: Use new macros that were added
36809         to FreeMiNT today.
36810         * lib/fwriting.c (fwriting): Likewise.
36811         Based on patch by Alan Hourihane <alanh@fairlite.co.uk>.
36812
36813 2009-02-28  Bruno Haible  <bruno@clisp.org>
36814
36815         * tests/test-freadseek.c (main): Disable test beyond end of file on
36816         FreeMiNT.
36817         * tests/test-ftello.c (main): Likewise.
36818         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
36819
36820 2009-02-28  Bruno Haible  <bruno@clisp.org>
36821
36822         Add tentative support for FreeMiNT.
36823         * lib/fbufmode.c (fbufmode) [__MINT__]: Add conditional code.
36824         * lib/fpurge.c (fpurge): Likewise.
36825         * lib/freadable.c (freadable): Likewise.
36826         * lib/freading.c (freading): Likewise.
36827         * lib/freadptr.c (freadptr): Likewise.
36828         * lib/freadseek.c (freadptrinc): Likewise.
36829         * lib/fseeko.c (rpl_fseeko): Likewise.
36830         * lib/fseterr.c (fseterr): Likewise.
36831         * lib/fwritable.c (fwritable): Likewise.
36832         * lib/fwriting.c (fwriting): Likewise.
36833         * lib/freadahead.c (freadahead): Likewise, based on code by Alan
36834         Hourihane.
36835         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
36836
36837 2009-02-28  Bruno Haible  <bruno@clisp.org>
36838
36839         * lib/wait-process.h (wait_subprocess): Clarify restriction regarding
36840         SIGCHLD.
36841         Reported by Jim Meyering.
36842
36843 2009-02-28  Bruno Haible  <bruno@clisp.org>
36844
36845         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Separate the two first tests.
36846         Mention the results of these tests on various platforms.
36847         * doc/posix-functions/fprintf.texi: Mention platforms in canonical
36848         order.
36849         * doc/posix-functions/printf.texi: Likewise.
36850         * doc/posix-functions/snprintf.texi: Likewise.
36851         * doc/posix-functions/sprintf.texi: Likewise.
36852         * doc/posix-functions/vfprintf.texi: Likewise.
36853         * doc/posix-functions/vprintf.texi: Likewise.
36854         * doc/posix-functions/vsnprintf.texi: Likewise.
36855         * doc/posix-functions/vsprintf.texi: Likewise.
36856         * doc/glibc-functions/obstack_printf.texi: Likewise.
36857         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
36858
36859 2009-02-28  Bruno Haible  <bruno@clisp.org>
36860
36861         * build-aux/po/Makefile.in.in: Update from GNU gettext 0.17.
36862         Reported by Loïc Minier <lool@dooz.org>.
36863
36864 2009-02-27  Bruno Haible  <bruno@clisp.org>
36865
36866         * gnulib-tool (func_import): Make the sed expression used to create the
36867         sed script for updating the .gitignore file POSIX compliant.
36868         Reported by Eric Blake.
36869
36870 2009-02-27  Bruno Haible  <bruno@clisp.org>
36871
36872         * gnulib-tool (sed): Don't alias as "sed --posix".
36873         Reported by Eric Blake.
36874
36875 2009-02-27  Bruno Haible  <bruno@clisp.org>
36876
36877         Avoid test link errors.
36878         * modules/uninorm/nfc-tests (test_u32_nfc_big_LDADD): New variable.
36879         * modules/uninorm/nfd-tests (test_u32_nfd_big_LDADD): New variable.
36880         * modules/uninorm/nfkc-tests (test_u32_nfkc_big_LDADD): New variable.
36881         * modules/uninorm/nfkd-tests (test_u32_nfkd_big_LDADD): New variable.
36882         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
36883
36884 2009-02-27  Bruno Haible  <bruno@clisp.org>
36885
36886         Avoid spurious "(cached)" in configure output.
36887         * m4/gnulib-common.m4 (gl_CACHE_VAL_SILENT): New macro.
36888         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Use it instead of AC_CACHE_VAL.
36889         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
36890         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
36891         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
36892         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
36893         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
36894         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
36895         Reported by Eric Blake.
36896
36897 2009-02-27  Eric Blake  <ebb9@byu.net>
36898
36899         printf: fix regression in previous patch
36900         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Fix compilation error.
36901
36902 2009-02-27  Bruno Haible  <bruno@clisp.org>
36903
36904         * lib/inttypes.in.h: Test merely whether _LP64 is defined, not its
36905         value.
36906         * lib/stdint.in.h: Likewise.
36907         Suggested by Eric Blake. Reported by Peter Bray <pdb_ml@yahoo.com.au>.
36908
36909 2009-02-27  Eric Blake  <ebb9@byu.net>
36910
36911         doc: mention more functions added in cygwin 1.7.0
36912         * doc/posix-functions/mbsnrtowcs.texi: Mention recent cygwin 1.7.0
36913         addition.
36914         * doc/posix-functions/open_wmemstream.texi: Likewise.
36915         * doc/posix-functions/wcsnlen.texi: Likewise.
36916         * doc/posix-functions/wcsnrtombs.texi: Likewise.
36917         * doc/posix-functions/wcstod.texi: Likewise.
36918         * doc/posix-functions/wcstof.texi: Likewise.
36919         * doc/posix-functions/wcstoimax.texi: Likewise.
36920         * doc/posix-functions/wcstok.texi: Likewise.
36921         * doc/posix-functions/wcstoumax.texi: Likewise.
36922
36923         Detect bug in cygwin 1.5.x *printf on 1-character %ls.
36924         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Enhance filter.
36925         * doc/posix-functions/fprintf.texi: Update.
36926         * doc/posix-functions/printf.texi: Update.
36927         * doc/posix-functions/snprintf.texi: Update.
36928         * doc/posix-functions/sprintf.texi: Update.
36929         * doc/posix-functions/vfprintf.texi: Update.
36930         * doc/posix-functions/vprintf.texi: Update.
36931         * doc/posix-functions/vsnprintf.texi: Update.
36932         * doc/posix-functions/vsprintf.texi: Update.
36933         * doc/glibc-functions/obstack_printf.texi: Update.
36934         * doc/glibc-functions/obstack_vprintf.texi: Update.
36935
36936 2009-02-26  Eric Blake  <ebb9@byu.net>
36937
36938         avoid gcc 3.4.3 bug on long double NaN on Irix 6.5
36939         * tests/nan.h (NaNl): Rewrite as function on Irix, to avoid
36940         compilation bug by using runtime conversion.
36941         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
36942         * m4/isnanl.m4 (gl_FUNC_ISNANL): Likewise.
36943         * modules/ceill-tests (Files): Use nan.h.
36944         * modules/floorl-tests (Files): Likewise.
36945         * modules/frexpl-tests (Files): Likewise.
36946         * modules/isnanl-tests (Files): Likewise.
36947         * modules/ldexpl-tests (Files): Likewise.
36948         * modules/roundl-tests (Files): Likewise.
36949         * modules/truncl-tests (Files): Likewise.
36950         * tests/test-ceill.c (main): Use a working NaN.
36951         * tests/test-floorl.c (main): Likewise.
36952         * tests/test-frexpl.c (main): Likewise.
36953         * tests/test-isnan.c (test_long_double): Likewise.
36954         * tests/test-isnanl.h (main): Likewise.
36955         * tests/test-ldexpl.h (main): Likewise.
36956         * tests/test-roundl.h (main): Likewise.
36957         * tests/test-truncl.h (main): Likewise.
36958         See http://lists.gnu.org/archive/html/bug-gnulib/2009-02/msg00190.html.
36959
36960 2009-02-26  Eric Blake  <ebb9@byu.net>
36961             Bruno Haible  <bruno@clisp.org>
36962
36963         Work around a *printf bug with %ls on Solaris.
36964         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Also test whether, when a
36965         precision is specified, sprintf stops converting the wide string
36966         argument when the number of bytes that have been produced by this
36967         conversion equals or exceeds the precision.
36968         * doc/posix-functions/fprintf.texi: Update.
36969         * doc/posix-functions/printf.texi: Update.
36970         * doc/posix-functions/snprintf.texi: Update.
36971         * doc/posix-functions/sprintf.texi: Update.
36972         * doc/posix-functions/vfprintf.texi: Update.
36973         * doc/posix-functions/vprintf.texi: Update.
36974         * doc/posix-functions/vsnprintf.texi: Update.
36975         * doc/posix-functions/vsprintf.texi: Update.
36976         * doc/glibc-functions/obstack_printf.texi: Update.
36977         * doc/glibc-functions/obstack_vprintf.texi: Update.
36978
36979 2009-02-26  Eric Blake  <ebb9@byu.net>
36980
36981         stdlib: favor compiler check of random.h
36982         * m4/stdlib_h.m4 (gl_STDLIB_H): Skip preprocessor check.  Needed
36983         to avoid an ObjC random.h installed by Swarm.
36984
36985 2009-02-26  Bruno Haible  <bruno@clisp.org>
36986
36987         Work around *printf bug with %g directive and 0.0 on HP-UX 10.20.
36988         * m4/printf.m4 (gl_PRINTF_INFINITE): Also test for %g output of -0.0.
36989         Reported by Gary V. Vaughan <gary@gnu.org>.
36990
36991 2009-02-26  Bruno Haible  <bruno@clisp.org>
36992
36993         Fix *printf behaviour regarding the %ls directive.
36994         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): New macro.
36995         * lib/vasnprintf.c (local_wcslen, VASNPRINTF): Handle
36996         NEED_PRINTF_DIRECTIVE_LS.
36997         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_LS): New macro.
36998         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
36999         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
37000         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS and test its result. Invoke
37001         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS.
37002         * m4/dprintf-posix.m4 (gl_FUNC_DPRINTF_POSIX): Likewise.
37003         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
37004         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
37005         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
37006         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
37007         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
37008         * m4/vdprintf-posix.m4 (gl_FUNC_VDPRINTF_POSIX): Likewise.
37009         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
37010         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
37011         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
37012         * doc/posix-functions/fprintf.texi: Update.
37013         * doc/posix-functions/printf.texi: Update.
37014         * doc/posix-functions/snprintf.texi: Update.
37015         * doc/posix-functions/sprintf.texi: Update.
37016         * doc/posix-functions/vfprintf.texi: Update.
37017         * doc/posix-functions/vprintf.texi: Update.
37018         * doc/posix-functions/vsnprintf.texi: Update.
37019         * doc/posix-functions/vsprintf.texi: Update.
37020         * doc/glibc-functions/obstack_printf.texi: Update.
37021         * doc/glibc-functions/obstack_vprintf.texi: Update.
37022         Reported by Eric Blake.
37023
37024 2009-02-25  Bruno Haible  <bruno@clisp.org>
37025
37026         * m4/mbrtowc.m4 (gl_MBRTOWC_NUL_RETVAL): Update guess for Solaris 8
37027         with known value.
37028         Reported by Gary V. Vaughan <gary@gnu.org>.
37029
37030 2009-02-25  Bruno Haible  <bruno@clisp.org>
37031
37032         Work around mbrtowc bug in zh_CN.GB18030 locale on Solaris 8.
37033         * m4/mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): New macro.
37034         (gl_MBSTATE_T_BROKEN): Invoke it. Replace mbstate_t when it says "no".
37035         * doc/posix-functions/mbrtowc.texi: Document the Solaris 8 bug.
37036         Reported by Gary V. Vaughan <gary@gnu.org>.
37037
37038 2009-02-25  Bruno Haible  <bruno@clisp.org>
37039
37040         Work around broken INT8_MAX, UINT8_MAX etc. values on HP-UX 11.23.
37041         * m4/stdint.m4 (gl_STDINT_H): Also check whether the expansions of
37042         INT8_MAX, UINT8_MAX etc. contain casts to elementary types.
37043         * doc/posix-headers/stdint.texi: Mention the HP-UX bug.
37044         Reported by Gary V. Vaughan <gary@gnu.org>.
37045
37046 2009-02-25  Eric Blake  <ebb9@byu.net>
37047
37048         tests: skip fseek/ftell tests if ungetc is broken
37049         * m4/ungetc.m4: New file.
37050         * modules/fseek-tests: Split test, so ungetc dependency is
37051         separate from rest of test.
37052         * modules/fseeko-tests: Likewise.
37053         * modules/ftell-tests: Likewise.
37054         * modules/ftello-tests: Likewise.
37055         * tests/test-fseek.c (main): Isolate ungetc dependency.
37056         * tests/test-fseeko.c (main): Likewise.
37057         * tests/test-ftell.c (main): Likewise.
37058         * tests/test-ftello.c (main): Likewise.
37059         * tests/test-fseek2.sh: New file.
37060         * tests/test-fseeko2.sh: Likewise.
37061         * tests/test-ftell2.sh: Likewise.
37062         * tests/test-ftello2.sh: Likewise.
37063
37064 2009-02-25  OndÅ™ej Vašík  <ovasik@redhat.com>
37065
37066         test-getaddrinfo: fix usage of skip return code 77
37067         * tests/test-gettaddrinfo.c: Return skip code 77 only
37068         for first occurance of skip (4x77 is not 77)
37069
37070 2009-02-25  Gary V. Vaughan  <gary@gnu.org>
37071
37072         strtod: avoid C99 decl-after-statement
37073         * m4/strtod.m4 (gl_FUNC_STRTOD): Rearrange declaration.
37074
37075 2009-02-24  Eric Blake  <ebb9@byu.net>
37076
37077         strtod: detect HP-UX 11.31 bug
37078         * m4/strtod.m4 (gl_FUNC_STRTOD): Detect errno handling bug.
37079         Reported by Gary V. Vaughan.
37080
37081 2009-02-23  Bruno Haible  <bruno@clisp.org>
37082
37083         Fix invalid read past end of memory block.
37084         * lib/vasnprintf.c (DCHAR_SET): Define.
37085         (local_wcslen): Define only when needed.
37086         (local_strnlen, local_wcsnlen): New functions.
37087         (VASNPRINTF) [!USE_SNPRINTF && HAVE_WCHAR_T]: Implement the %s and %ls
37088         directives that involve a conversion ourselves.
37089         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for strnlen,
37090         wcsnlen, mbrtowc, wcrtomb.
37091         * tests/test-vasnprintf-posix.c (test_function): Add tests for %.*s.
37092         * tests/test-vasprintf-posix.c (test_function): Likewise.
37093         * tests/test-snprintf-posix.h (test_function): Likewise.
37094         * tests/test-sprintf-posix.h (test_function): Likewise.
37095         Reported by Ben Pfaff <blp@cs.stanford.edu>.
37096
37097 2009-02-22  Bruno Haible  <bruno@clisp.org>
37098
37099         Implement new clarified decomposition of Hangul syllables.
37100         * lib/uninorm/decomposition.c (uc_decomposition): For Hangul syllables
37101         of type LTV, return only a pairwise decomposition.
37102         * lib/uninorm/canonical-decomposition.c (uc_canonical_decomposition):
37103         Likewise.
37104         * tests/uninorm/test-decomposition.c (main): Updated expected result.
37105         * tests/uninorm/test-canonical-decomposition.c (main): Likewise.
37106         * tests/uninorm/test-compat-decomposition.c (main): Likewise.
37107
37108 2009-02-22  Bruno Haible  <bruno@clisp.org>
37109
37110         * lib/uninorm/u-normalize-internal.h (FUNC): At the end, handle
37111         zero-length results and shrink excess allocated memory.
37112         * tests/uninorm/test-u8-nfc.c (test_u8_nfc): Check empty string result.
37113         * tests/uninorm/test-u8-nfd.c (test_u8_nfd): Likewise.
37114         * tests/uninorm/test-u8-nfkc.c (test_u8_nfkc): Likewise.
37115         * tests/uninorm/test-u8-nfkd.c (test_u8_nfkd): Likewise.
37116         * tests/uninorm/test-u16-nfc.c (test_u16_nfc): Likewise.
37117         * tests/uninorm/test-u16-nfd.c (test_u16_nfd): Likewise.
37118         * tests/uninorm/test-u16-nfkc.c (test_u16_nfkc): Likewise.
37119         * tests/uninorm/test-u16-nfkd.c (test_u16_nfkd): Likewise.
37120         * tests/uninorm/test-u32-nfc.c (test_u32_nfc): Likewise.
37121         * tests/uninorm/test-u32-nfd.c (test_u32_nfd): Likewise.
37122         * tests/uninorm/test-u32-nfkc.c (test_u32_nfkc): Likewise.
37123         * tests/uninorm/test-u32-nfkd.c (test_u32_nfkd): Likewise.
37124
37125 2009-02-21  Bruno Haible  <bruno@clisp.org>
37126
37127         * doc/gnulib.texi: Include safe-alloc.texi earlier.
37128         * doc/safe-alloc.texi: Terminate sentences with a period. Use two
37129         spaces after a period. Put a space between a macro name and its
37130         argument list. Trivial rewordings.
37131         * lib/safe-alloc.c: Include safe-alloc.h right after config.h.
37132         * tests/test-safe-alloc.c: Likewise. Include stdlib.h.
37133         (main): Return 0 explicitly.
37134
37135 2009-02-21  Bruno Haible  <bruno@clisp.org>
37136
37137         Tests for module 'uninorm/filter'.
37138         * tests/uninorm/test-uninorm-filter-nfc.c: New file.
37139         * modules/uninorm/filter-tests: New file.
37140
37141         New module 'uninorm/filter'.
37142         * lib/uninorm.h (uninorm_filter_create, uninorm_filter_write,
37143         uninorm_filter_flush, uninorm_filter_free): New declarations.
37144         * lib/uninorm/uninorm-filter.c: New file.
37145         * modules/uninorm/filter: New file.
37146
37147 2009-02-21  Bruno Haible  <bruno@clisp.org>
37148
37149         Tests for module 'uninorm/nfkc'.
37150         * tests/uninorm/test-nfkc.c: New file.
37151         * tests/uninorm/test-u8-nfkc.c: New file.
37152         * tests/uninorm/test-u16-nfkc.c: New file.
37153         * tests/uninorm/test-u32-nfkc.c: New file.
37154         * tests/uninorm/test-u32-nfkc-big.sh: New file.
37155         * tests/uninorm/test-u32-nfkc-big.c: New file.
37156         * modules/uninorm/nfkc-tests: New file.
37157
37158         New module 'uninorm/nfkc'.
37159         * lib/uninorm/nfkc.c: New file.
37160         * modules/uninorm/nfkc: New file.
37161
37162         Tests for module 'uninorm/nfkd'.
37163         * tests/uninorm/test-nfkd.c: New file.
37164         * tests/uninorm/test-u8-nfkd.c: New file.
37165         * tests/uninorm/test-u16-nfkd.c: New file.
37166         * tests/uninorm/test-u32-nfkd.c: New file.
37167         * tests/uninorm/test-u32-nfkd-big.sh: New file.
37168         * tests/uninorm/test-u32-nfkd-big.c: New file.
37169         * modules/uninorm/nfkd-tests: New file.
37170
37171         New module 'uninorm/nfkd'.
37172         * lib/uninorm/nfkd.c: New file.
37173         * modules/uninorm/nfkd: New file.
37174
37175         Tests for module 'uninorm/nfc'.
37176         * tests/uninorm/test-nfc.c: New file.
37177         * tests/uninorm/test-u8-nfc.c: New file.
37178         * tests/uninorm/test-u16-nfc.c: New file.
37179         * tests/uninorm/test-u32-nfc.c: New file.
37180         * tests/uninorm/test-u32-nfc-big.sh: New file.
37181         * tests/uninorm/test-u32-nfc-big.c: New file.
37182         * modules/uninorm/nfc-tests: New file.
37183
37184         New module 'uninorm/nfc'.
37185         * lib/uninorm/nfc.c: New file.
37186         * modules/uninorm/nfc: New file.
37187
37188         Tests for module 'uninorm/nfd'.
37189         * tests/uninorm/test-nfd.c: New file.
37190         * tests/uninorm/test-u8-nfd.c: New file.
37191         * tests/uninorm/test-u16-nfd.c: New file.
37192         * tests/uninorm/test-u32-nfd.c: New file.
37193         * tests/uninorm/test-u32-nfd-big.sh: New file.
37194         * tests/uninorm/test-u32-nfd-big.c: New file.
37195         * tests/uninorm/test-u32-normalize-big.h: New file.
37196         * tests/uninorm/test-u32-normalize-big.c: New file.
37197         * tests/uninorm/NormalizationTest.txt: New file, created from
37198         Unicode 5.1.0 NormalizationTest.txt.
37199         * modules/uninorm/nfd-tests: New file.
37200
37201         New module 'uninorm/nfd'.
37202         * lib/uninorm/nfd.c: New file.
37203         * modules/uninorm/nfd: New file.
37204
37205         New module 'uninorm/u32-normalize'.
37206         * lib/uninorm/u32-normalize.c: New file.
37207         * modules/uninorm/u32-normalize: New file.
37208
37209         New module 'uninorm/u16-normalize'.
37210         * lib/uninorm/u16-normalize.c: New file.
37211         * modules/uninorm/u16-normalize: New file.
37212
37213         New module 'uninorm/u8-normalize'.
37214         * lib/uninorm/u8-normalize.c: New file.
37215         * lib/uninorm/normalize-internal.h: New file.
37216         * lib/uninorm/u-normalize-internal.h: New file.
37217         * modules/uninorm/u8-normalize: New file.
37218
37219         New module 'uninorm/decompose-internal'.
37220         * lib/uninorm/decompose-internal.c: New file.
37221         * modules/uninorm/decompose-internal: New file.
37222
37223         Tests for module 'uninorm/composition'.
37224         * tests/uninorm/test-composition.c: New file.
37225         * modules/uninorm/composition-tests: New file.
37226
37227         New module 'uninorm/composition'.
37228         * lib/uninorm/composition.c: New file.
37229         * lib/uninorm/composition-table.gperf: New file, generated by
37230         gen-uni-tables.
37231         * modules/uninorm/composition: New file.
37232
37233         Tests for module 'uninorm/compat-decomposition'.
37234         * tests/uninorm/test-compat-decomposition.c: New file.
37235         * modules/uninorm/compat-decomposition-tests: New file.
37236
37237         New module 'uninorm/compat-decomposition'.
37238         * lib/uninorm/decompose-internal.h: New file.
37239         * lib/uninorm/compat-decomposition.c: New file.
37240         * modules/uninorm/compat-decomposition: New file.
37241
37242         Tests for module 'uninorm/canonical-decomposition'.
37243         * tests/uninorm/test-canonical-decomposition.c: New file.
37244         * modules/uninorm/canonical-decomposition-tests: New file.
37245
37246         New module 'uninorm/canonical-decomposition'.
37247         * lib/uninorm/canonical-decomposition.c: New file.
37248         * modules/uninorm/canonical-decomposition: New file.
37249
37250         Tests for module 'uninorm/decomposition'.
37251         * tests/uninorm/test-decomposition.c: New file.
37252         * modules/uninorm/decomposition-tests: New file.
37253
37254         New module 'uninorm/decomposition'.
37255         * lib/uninorm/decomposition.c: New file.
37256         * modules/uninorm/decomposition: New file.
37257
37258         New module 'uninorm/decomposition-table'.
37259         * lib/uninorm/decomposition-table.h: New file.
37260         * lib/uninorm/decomposition-table.c: New file.
37261         * lib/uninorm/decomposition-table1.h: New file, generated by
37262         gen-uni-tables.
37263         * lib/uninorm/decomposition-table2.h: New file, generated by
37264         gen-uni-tables.
37265         * modules/uninorm/decomposition-table: New file.
37266
37267         * lib/gen-uni-tables.c (MAX_DECOMP_LENGTH): New macro.
37268         (UC_DECOMP_*): New enumeration items.
37269         (get_decomposition): New function.
37270         (struct decomp_table): New type.
37271         (output_decomposition, output_decomposition_tables): New functions.
37272         (unicode_composition_exclusions): New variable.
37273         (fill_composition_exclusions, debug_output_composition_tables): New
37274         functions.
37275         (main): Accept one more argument. Invoke fill_composition_exclusions.
37276         Output decomposition and composition tables.
37277
37278         New module 'uninorm/base'.
37279         * lib/uninorm.h: New file.
37280         * lib/unictype.h: Update comment.
37281         * modules/uninorm/base: New file.
37282
37283 2009-02-21  David Lutterkort  <lutter@redhat.com>
37284
37285         Tests for module 'safe-alloc'.
37286         * tests/test-safe-alloc.c: New file.
37287         * modules/safe-alloc-tests: New file.
37288
37289         New module 'safe-alloc'.
37290         * lib/safe-alloc.h: New file.
37291         * lib/safe-alloc.c: New file.
37292         * m4/safe-alloc.m4: New file.
37293         * modules/safe-alloc: New file.
37294         * doc/safe-alloc.texi: New file.
37295         * doc/gnulib.texi: Include it.
37296         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
37297         safe-alloc.
37298
37299 2009-02-18  Bruno Haible  <bruno@clisp.org>
37300
37301         Fix link error on non-glibc systems.
37302         * modules/uniwbrk/ulc-wordbreaks-tests (test_ulc_wordbreaks_LDADD): New
37303         variable.
37304         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
37305
37306 2009-02-18  Jim Meyering  <meyering@redhat.com>
37307
37308         fts: avoid used-uninitialized error due to recent change
37309         * lib/fts.c (fts_read): Guard uses of the new member,
37310         parent->fts_n_dirs_remaining, since it's not relevant for
37311         the parent of a directory specified on the command-line.
37312
37313 2009-02-17  James Youngman  <jay@gnu.org>
37314             Bruno Haible  <bruno@clisp.org>
37315
37316         * m4/include_next.m4: Reformulate comment.
37317
37318 2009-02-16  Jim Meyering  <meyering@redhat.com>
37319
37320         fts: add #if guards so that the fts_lgpl module still builds
37321         * lib/fts.c: Guard just-added hash-table-using parts with
37322         #if GNULIB_FTS, so as not to break builds of the fts_lgpl module.
37323         Reported by Simon Josefsson.
37324
37325 2009-02-15  Bruno Haible  <bruno@clisp.org>
37326
37327         * modules/array-mergesort-tests: New file.
37328         * tests/test-array-mergesort.c: New file.
37329
37330         New module 'array-mergesort'.
37331         * modules/array-mergesort: New file.
37332         * lib/array-mergesort.h: New file.
37333
37334 2009-02-15  Bruno Haible  <bruno@clisp.org>
37335
37336         Fix 2009-02-07 commit.
37337         * lib/gen-uni-tables.c (output_predicate, output_category,
37338         output_combclass, output_bidi_category, output_decimal_digit,
37339         output_digit, output_numeric, output_mirror, output_scripts,
37340         output_ident_category, output_simple_mapping): Fix format directives.
37341         (output_lbp, output_wbp): Don't convert -1 to a size_t implicitly.
37342
37343 2009-02-15  Albert Chin-A-Young  <china@thewrittenword.com>
37344
37345         * m4/include_next.m4: Update comment about IBM C 9.0/10.1 bug, now that
37346         fixes are available from IBM.
37347
37348 2009-02-13  Jim Meyering  <meyering@redhat.com>
37349
37350         fts: arrange not to stat non-directories in more cases
37351         This makes GNU find (when it doesn't need to stat each file)
37352         *much* more efficient at traversing reiserfs file systems.
37353         * lib/fts_.h (struct ftsent) [fts_n_dirs_remaining]: New member.
37354         (struct FTS) [fts_leaf_optimization_works_ht]: Add member.
37355         * lib/fts.c (fts_close): Free ->fts_leaf_optimization_works_ht.
37356         (S_MAGIC_REISERFS, S_MAGIC_PROC): Define.
37357         (leaf_optimization_applies): New function.
37358         (LCO_hash, LCO_compare): New helper functions.
37359         (link_count_optimize_ok): New function.
37360         (fts_stat): Initialize new member (if dir).
37361         (fts_read): Decrement parent's fts_n_dirs_remaining count if
37362         we've just stat'ed a directory.  Skip the stat call when possible.
37363         ---
37364         Note this AFS-related exchange:
37365         http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=143111
37366         and note find's pioctl call in find/fstype.c.
37367         But that is necessary only if you want to enable the
37368         optimization for AFS, and for now, I don't.
37369
37370         fts: move a function definition "up" (no semantic change)
37371         * lib/fts.c (dirent_inode_sort_may_be_useful): Move definition
37372         "up" to precede upcoming use of a related function.
37373
37374 2009-02-11  Jim Meyering  <meyering@redhat.com>
37375
37376         fts: correct internal computation of nlinks (optimization-related)
37377         * lib/fts.c (fts_build): ISSET(FTS_NOSTAT) has no bearing on
37378         whether the current entry is a directory, so don't test it.
37379
37380 2009-02-10  Bruno Haible  <bruno@clisp.org>
37381
37382         Tests for module 'uniwbrk/ulc-wordbreaks'.
37383         * modules/uniwbrk/ulc-wordbreaks-tests: New file.
37384         * tests/uniwbrk/test-ulc-wordbreaks.sh: New file.
37385         * tests/uniwbrk/test-ulc-wordbreaks.c: New file.
37386
37387         Tests for module 'uniwbrk/u32-wordbreaks'.
37388         * modules/uniwbrk/u32-wordbreaks-tests: New file.
37389         * tests/uniwbrk/test-u32-wordbreaks.c: New file.
37390
37391         Tests for module 'uniwbrk/u16-wordbreaks'.
37392         * modules/uniwbrk/u16-wordbreaks-tests: New file.
37393         * tests/uniwbrk/test-u16-wordbreaks.c: New file.
37394
37395         Tests for module 'uniwbrk/u8-wordbreaks'.
37396         * modules/uniwbrk/u8-wordbreaks-tests: New file.
37397         * tests/uniwbrk/test-u8-wordbreaks.c: New file.
37398
37399 2009-02-10  Bruno Haible  <bruno@clisp.org>
37400
37401         * modules/uniwbrk/u8-wordbreaks (Depends-on): Add uniwbrk/wordbreak
37402         property.
37403         * modules/uniwbrk/u16-wordbreaks (Depends-on): Likewise.
37404         * modules/uniwbrk/u32-wordbreaks (Depends-on): Likewise.
37405         * modules/uniwbrk/ulc-wordbreaks (Depends-on): Add localcharset.
37406
37407 2009-02-10  Simon Josefsson  <simon@josefsson.org>
37408
37409         * m4/sockets.m4: Call AC_C_INLINE since sockets.h now can use
37410         inline keywords.  Reported by Bruno Haible <bruno@clisp.org>.
37411
37412 2009-02-10  Bruno Haible  <bruno@clisp.org>
37413
37414         * lib/unilbrk/lbrktables.h: Renamed from lib/unilbrk/tables.h.
37415         * lib/unilbrk/lbrktables.c: Renamed from lib/unilbrk/tables.c.
37416         * modules/unilbrk/tables (Files, Makefile.am, Include): Update.
37417         * lib/unilbrk/u8-possible-linebreaks.c: Update.
37418         * lib/unilbrk/u16-possible-linebreaks.c: Likewise.
37419         * lib/unilbrk/u32-possible-linebreaks.c: Likewise.
37420
37421 2009-02-09  Simon Josefsson  <simon@josefsson.org>
37422
37423         * lib/sockets.h (gl_fd_to_handle): New function.
37424
37425         * tests/test-sockets.c: Call gl_fd_to_handle.
37426
37427 2009-02-09  Bruno Haible  <bruno@clisp.org>
37428
37429         * doc/havelib.texi: Document the conventions on bi-arch systems.
37430
37431 2009-02-08  Bruno Haible  <bruno@clisp.org>
37432
37433         Document the AC_LIB_LINKFLAGS macro.
37434         * doc/havelib.texi: New file, mostly written on 2005-05-24.
37435         * doc/gnulib.texi: Include it.
37436
37437 2009-02-08  Bruno Haible  <bruno@clisp.org>
37438
37439         Fix wrong order of sections, compared to TOC.
37440         * doc/gnulib.texi: Include relocatable-maint.texi after the
37441         "Regular expressions" node, not before.
37442
37443 2009-02-08  Bruno Haible  <bruno@clisp.org>
37444
37445         Tests for module 'unicase/totitle'.
37446         * modules/unicase/totitle-tests: New file.
37447
37448         Tests for module 'unicase/tolower'.
37449         * modules/unicase/tolower-tests: New file.
37450
37451         Tests for module 'unicase/toupper'.
37452         * modules/unicase/toupper-tests: New file.
37453         * tests/unicase/test-mapping-part1.h: New file.
37454         * tests/unicase/test-mapping-part2.h: New file.
37455
37456         New module 'unicase/totitle'.
37457         * modules/unicase/totitle: New file.
37458         * lib/unicase/totitle.c: New file.
37459
37460         New module 'unicase/tolower'.
37461         * modules/unicase/tolower: New file.
37462         * lib/unicase/tolower.c: New file.
37463
37464         New module 'unicase/toupper'.
37465         * modules/unicase/toupper: New file.
37466         * lib/unicase/toupper.c: New file.
37467         * lib/unicase/simple-mapping.h: New file.
37468
37469         * lib/gen-uni-tables.c (output_simple_mapping_test): New function.
37470         (mapping_table): New structure.
37471         (output_simple_mapping): New function.
37472         (main): Invoke output_simple_mapping_test and output_simple_mapping.
37473         * modules/gen-uni-tables (Description): Update.
37474         * lib/unicase/toupper.h: New file, automatically generated by
37475         gen-uni-tables.
37476         * lib/unicase/tolower.h: New file, automatically generated by
37477         gen-uni-tables.
37478         * lib/unicase/totitle.h: New file, automatically generated by
37479         gen-uni-tables.
37480         * tests/unicase/test-uc_toupper.c: New file, automatically generated by
37481         gen-uni-tables.
37482         * tests/unicase/test-uc_tolower.c: New file, automatically generated by
37483         gen-uni-tables.
37484         * tests/unicase/test-uc_totitle.c: New file, automatically generated by
37485         gen-uni-tables.
37486
37487         New module 'unicase/base'.
37488         * modules/unicase/base: New file.
37489         * lib/unicase.h: New file.
37490
37491 2009-02-08  Bruno Haible  <bruno@clisp.org>
37492
37493         New module 'uniwbrk/ulc-wordbreaks'.
37494         * modules/uniwbrk/ulc-wordbreaks: New file.
37495         * lib/uniwbrk/ulc-wordbreaks.c: New file.
37496
37497         New module 'uniwbrk/u32-wordbreaks'.
37498         * modules/uniwbrk/u32-wordbreaks: New file.
37499         * lib/uniwbrk/u32-wordbreaks.c: New file.
37500
37501         New module 'uniwbrk/u16-wordbreaks'.
37502         * modules/uniwbrk/u16-wordbreaks: New file.
37503         * lib/uniwbrk/u16-wordbreaks.c: New file.
37504
37505         New module 'uniwbrk/u8-wordbreaks'.
37506         * modules/uniwbrk/u8-wordbreaks: New file.
37507         * lib/uniwbrk/u8-wordbreaks.c: New file.
37508         * lib/uniwbrk/u-wordbreaks.h: New file.
37509
37510         New module 'uniwbrk/table'.
37511         * modules/uniwbrk/table: New file.
37512         * lib/uniwbrk/wbrktable.h: New file.
37513         * lib/uniwbrk/wbrktable.c: New file.
37514
37515         New module 'uniwbrk/wordbreak-property'.
37516         * modules/uniwbrk/wordbreak-property: New file.
37517         * lib/uniwbrk/wordbreak-property.c: New file.
37518
37519         * lib/gen-uni-tables.c (WBP_*): New enum items.
37520         (get_wbp, debug_output_wbp, debug_output_wbrk_tables): New functions.
37521         (unicode_org_wbp): New variable.
37522         (fill_org_wbp, debug_output_org_wbp, debug_output_org_wbrk_tables):
37523         New functions.
37524         (wbp_table): New structure.
37525         (output_wbp, output_wbrk_tables): New functions.
37526         (main): Accept additional argument. Invoke fill_org_wbp,
37527         debug_output_wbrk_tables, debug_output_org_wbrk_tables,
37528         output_wbrk_tables.
37529         * modules/gen-uni-tables (Description): Update.
37530         * lib/uniwbrk/wbrkprop.h: New file, automatically generated by
37531         gen-uni-tables.
37532
37533         New module 'uniwbrk/base'.
37534         * modules/uniwbrk/base: New file.
37535         * lib/uniwbrk.h: New file.
37536
37537 2009-02-08  Bruno Haible  <bruno@clisp.org>
37538
37539         Update to Unicode 5.1.0.
37540         * lib/gen-uni-tables.c (is_property_alphabetic): Include
37541         U+2185..U+2188.
37542         (is_property_default_ignorable_code_point): Don't include characters
37543         of category Cc or Cs and not-a-characters.
37544         (get_lbp): Assume REVISION_22. Special handling of U+0609, U+060A,
37545         U+0D79, U+109E, U+109F, U+A60C.
37546         * lib/unictype/bidi_of.h: Regenerated.
37547         * lib/unictype/blocks.h: Regenerated.
37548         * lib/unictype/categ_C.h: Regenerated.
37549         * lib/unictype/categ_Cf.h: Regenerated.
37550         * lib/unictype/categ_Cn.h: Regenerated.
37551         * lib/unictype/categ_L.h: Regenerated.
37552         * lib/unictype/categ_Ll.h: Regenerated.
37553         * lib/unictype/categ_Lm.h: Regenerated.
37554         * lib/unictype/categ_Lo.h: Regenerated.
37555         * lib/unictype/categ_Lu.h: Regenerated.
37556         * lib/unictype/categ_M.h: Regenerated.
37557         * lib/unictype/categ_Mc.h: Regenerated.
37558         * lib/unictype/categ_Me.h: Regenerated.
37559         * lib/unictype/categ_Mn.h: Regenerated.
37560         * lib/unictype/categ_N.h: Regenerated.
37561         * lib/unictype/categ_Nd.h: Regenerated.
37562         * lib/unictype/categ_Nl.h: Regenerated.
37563         * lib/unictype/categ_No.h: Regenerated.
37564         * lib/unictype/categ_P.h: Regenerated.
37565         * lib/unictype/categ_Pd.h: Regenerated.
37566         * lib/unictype/categ_Pe.h: Regenerated.
37567         * lib/unictype/categ_Pf.h: Regenerated.
37568         * lib/unictype/categ_Pi.h: Regenerated.
37569         * lib/unictype/categ_Po.h: Regenerated.
37570         * lib/unictype/categ_Ps.h: Regenerated.
37571         * lib/unictype/categ_S.h: Regenerated.
37572         * lib/unictype/categ_Sk.h: Regenerated.
37573         * lib/unictype/categ_Sm.h: Regenerated.
37574         * lib/unictype/categ_So.h: Regenerated.
37575         * lib/unictype/categ_of.h: Regenerated.
37576         * lib/unictype/combining.h: Regenerated.
37577         * lib/unictype/ctype_alnum.h: Regenerated.
37578         * lib/unictype/ctype_alpha.h: Regenerated.
37579         * lib/unictype/ctype_graph.h: Regenerated.
37580         * lib/unictype/ctype_lower.h: Regenerated.
37581         * lib/unictype/ctype_print.h: Regenerated.
37582         * lib/unictype/ctype_punct.h: Regenerated.
37583         * lib/unictype/ctype_upper.h: Regenerated.
37584         * lib/unictype/decdigit.h: Regenerated.
37585         * lib/unictype/digit.h: Regenerated.
37586         * lib/unictype/mirror.h: Regenerated.
37587         * lib/unictype/numeric.h: Regenerated.
37588         * lib/unictype/pr_alphabetic.h: Regenerated.
37589         * lib/unictype/pr_bidi_arabic_digit.h: Regenerated.
37590         * lib/unictype/pr_bidi_arabic_right_to_left.h: Regenerated.
37591         * lib/unictype/pr_bidi_boundary_neutral.h: Regenerated.
37592         * lib/unictype/pr_bidi_eur_num_terminator.h: Regenerated.
37593         * lib/unictype/pr_bidi_left_to_right.h: Regenerated.
37594         * lib/unictype/pr_bidi_non_spacing_mark.h: Regenerated.
37595         * lib/unictype/pr_bidi_other_neutral.h: Regenerated.
37596         * lib/unictype/pr_combining.h: Regenerated.
37597         * lib/unictype/pr_dash.h: Regenerated.
37598         * lib/unictype/pr_decimal_digit.h: Regenerated.
37599         * lib/unictype/pr_default_ignorable_code_point.h: Regenerated.
37600         * lib/unictype/pr_deprecated.h: Regenerated.
37601         * lib/unictype/pr_diacritic.h: Regenerated.
37602         * lib/unictype/pr_extender.h: Regenerated.
37603         * lib/unictype/pr_format_control.h: Regenerated.
37604         * lib/unictype/pr_grapheme_base.h: Regenerated.
37605         * lib/unictype/pr_grapheme_extend.h: Regenerated.
37606         * lib/unictype/pr_grapheme_link.h: Regenerated.
37607         * lib/unictype/pr_id_continue.h: Regenerated.
37608         * lib/unictype/pr_id_start.h: Regenerated.
37609         * lib/unictype/pr_ideographic.h: Regenerated.
37610         * lib/unictype/pr_ignorable_control.h: Regenerated.
37611         * lib/unictype/pr_lowercase.h: Regenerated.
37612         * lib/unictype/pr_math.h: Regenerated.
37613         * lib/unictype/pr_numeric.h: Regenerated.
37614         * lib/unictype/pr_other_alphabetic.h: Regenerated.
37615         * lib/unictype/pr_other_default_ignorable_code_point.h: Regenerated.
37616         * lib/unictype/pr_other_grapheme_extend.h: Regenerated.
37617         * lib/unictype/pr_other_id_continue.h: Regenerated.
37618         * lib/unictype/pr_other_lowercase.h: Regenerated.
37619         * lib/unictype/pr_other_math.h: Regenerated.
37620         * lib/unictype/pr_punctuation.h: Regenerated.
37621         * lib/unictype/pr_sentence_terminal.h: Regenerated.
37622         * lib/unictype/pr_soft_dotted.h: Regenerated.
37623         * lib/unictype/pr_terminal_punctuation.h: Regenerated.
37624         * lib/unictype/pr_unassigned_code_value.h: Regenerated.
37625         * lib/unictype/pr_unified_ideograph.h: Regenerated.
37626         * lib/unictype/pr_uppercase.h: Regenerated.
37627         * lib/unictype/pr_xid_continue.h: Regenerated.
37628         * lib/unictype/pr_xid_start.h: Regenerated.
37629         * lib/unictype/pr_zero_width.h: Regenerated.
37630         * lib/unictype/scripts.h: Regenerated.
37631         * lib/unictype/scripts_byname.gperf: Regenerated.
37632         * lib/unictype/sy_java_ident.h: Regenerated.
37633         * lib/unilbrk/lbrkprop1.h: Regenerated.
37634         * lib/unilbrk/lbrkprop2.h: Regenerated.
37635         * tests/unictype/test-categ_C.c: Regenerated.
37636         * tests/unictype/test-categ_Cf.c: Regenerated.
37637         * tests/unictype/test-categ_Cn.c: Regenerated.
37638         * tests/unictype/test-categ_L.c: Regenerated.
37639         * tests/unictype/test-categ_Ll.c: Regenerated.
37640         * tests/unictype/test-categ_Lm.c: Regenerated.
37641         * tests/unictype/test-categ_Lo.c: Regenerated.
37642         * tests/unictype/test-categ_Lu.c: Regenerated.
37643         * tests/unictype/test-categ_M.c: Regenerated.
37644         * tests/unictype/test-categ_Mc.c: Regenerated.
37645         * tests/unictype/test-categ_Me.c: Regenerated.
37646         * tests/unictype/test-categ_Mn.c: Regenerated.
37647         * tests/unictype/test-categ_N.c: Regenerated.
37648         * tests/unictype/test-categ_Nd.c: Regenerated.
37649         * tests/unictype/test-categ_Nl.c: Regenerated.
37650         * tests/unictype/test-categ_No.c: Regenerated.
37651         * tests/unictype/test-categ_P.c: Regenerated.
37652         * tests/unictype/test-categ_Pd.c: Regenerated.
37653         * tests/unictype/test-categ_Pe.c: Regenerated.
37654         * tests/unictype/test-categ_Pf.c: Regenerated.
37655         * tests/unictype/test-categ_Pi.c: Regenerated.
37656         * tests/unictype/test-categ_Po.c: Regenerated.
37657         * tests/unictype/test-categ_Ps.c: Regenerated.
37658         * tests/unictype/test-categ_S.c: Regenerated.
37659         * tests/unictype/test-categ_Sk.c: Regenerated.
37660         * tests/unictype/test-categ_Sm.c: Regenerated.
37661         * tests/unictype/test-categ_So.c: Regenerated.
37662         * tests/unictype/test-ctype_alnum.c: Regenerated.
37663         * tests/unictype/test-ctype_alpha.c: Regenerated.
37664         * tests/unictype/test-ctype_graph.c: Regenerated.
37665         * tests/unictype/test-ctype_lower.c: Regenerated.
37666         * tests/unictype/test-ctype_print.c: Regenerated.
37667         * tests/unictype/test-ctype_punct.c: Regenerated.
37668         * tests/unictype/test-ctype_upper.c: Regenerated.
37669         * tests/unictype/test-decdigit.h: Regenerated.
37670         * tests/unictype/test-digit.h: Regenerated.
37671         * tests/unictype/test-numeric.h: Regenerated.
37672         * tests/unictype/test-pr_alphabetic.c: Regenerated.
37673         * tests/unictype/test-pr_bidi_arabic_digit.c: Regenerated.
37674         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Regenerated.
37675         * tests/unictype/test-pr_bidi_boundary_neutral.c: Regenerated.
37676         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Regenerated.
37677         * tests/unictype/test-pr_bidi_left_to_right.c: Regenerated.
37678         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Regenerated.
37679         * tests/unictype/test-pr_bidi_other_neutral.c: Regenerated.
37680         * tests/unictype/test-pr_combining.c: Regenerated.
37681         * tests/unictype/test-pr_dash.c: Regenerated.
37682         * tests/unictype/test-pr_decimal_digit.c: Regenerated.
37683         * tests/unictype/test-pr_default_ignorable_code_point.c: Regenerated.
37684         * tests/unictype/test-pr_deprecated.c: Regenerated.
37685         * tests/unictype/test-pr_diacritic.c: Regenerated.
37686         * tests/unictype/test-pr_extender.c: Regenerated.
37687         * tests/unictype/test-pr_format_control.c: Regenerated.
37688         * tests/unictype/test-pr_grapheme_base.c: Regenerated.
37689         * tests/unictype/test-pr_grapheme_extend.c: Regenerated.
37690         * tests/unictype/test-pr_grapheme_link.c: Regenerated.
37691         * tests/unictype/test-pr_id_continue.c: Regenerated.
37692         * tests/unictype/test-pr_id_start.c: Regenerated.
37693         * tests/unictype/test-pr_ideographic.c: Regenerated.
37694         * tests/unictype/test-pr_ignorable_control.c: Regenerated.
37695         * tests/unictype/test-pr_lowercase.c: Regenerated.
37696         * tests/unictype/test-pr_math.c: Regenerated.
37697         * tests/unictype/test-pr_numeric.c: Regenerated.
37698         * tests/unictype/test-pr_other_alphabetic.c: Regenerated.
37699         * tests/unictype/test-pr_other_default_ignorable_code_point.c:
37700         Regenerated.
37701         * tests/unictype/test-pr_other_grapheme_extend.c: Regenerated.
37702         * tests/unictype/test-pr_other_id_continue.c: Regenerated.
37703         * tests/unictype/test-pr_other_lowercase.c: Regenerated.
37704         * tests/unictype/test-pr_other_math.c: Regenerated.
37705         * tests/unictype/test-pr_punctuation.c: Regenerated.
37706         * tests/unictype/test-pr_sentence_terminal.c: Regenerated.
37707         * tests/unictype/test-pr_soft_dotted.c: Regenerated.
37708         * tests/unictype/test-pr_terminal_punctuation.c: Regenerated.
37709         * tests/unictype/test-pr_unassigned_code_value.c: Regenerated.
37710         * tests/unictype/test-pr_unified_ideograph.c: Regenerated.
37711         * tests/unictype/test-pr_uppercase.c: Regenerated.
37712         * tests/unictype/test-pr_xid_continue.c: Regenerated.
37713         * tests/unictype/test-pr_xid_start.c: Regenerated.
37714         * tests/unictype/test-pr_zero_width.c: Regenerated.
37715
37716         Update to Unicode 5.1.0.
37717         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0487,
37718         U+0616..U+061A, U+0A51, U+0A75, U+0B44, U+0B62..U+0B63, U+0C62..U+0C63,
37719         U+0D44, U+0D62..U+0D63, U+1033..U+1035, U+103A, U+103D..U+103E,
37720         U+105E..U+1060, U+1071..U+1074, U+1082, U+1085..U+1086, U+108D,
37721         U+1B80..U+1B81, U+1BA2..U+1BA5, U+1BA8..U+1BA9, U+1C2C..U+1C33,
37722         U+1C36..U+1C37, U+1DCB..U+1DE6, U+2064, U+20F0, U+2DE0..U+2DFF,
37723         U+A66F..U+A672, U+A67C..U+A67D, U+A8C4, U+A926..U+A92D, U+A947..U+A951,
37724         U+AA29..U+AA2E, U+AA31..U+AA32, U+AA35..U+AA36, U+AA43, U+AA4C,
37725         U+FE24..U+FE26, U+101FD. Remove U+1929..U+192B.
37726         (nonspacing_table_ind): Update.
37727         * tests/uniwidth/test-uc_width2.sh: Update expected result.
37728
37729         Update to Unicode 5.1.0.
37730         * lib/uniname/gen-uninames.lisp (main): Add the range 0x1Fxxx to the
37731         code transform.
37732         * lib/uniname/uniname.c (unicode_character_name,
37733         unicode_name_character): Add the range 0x1Fxxx to the code transform.
37734         * lib/uniname/uninames.h: Regenerated.
37735         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.1.0.
37736
37737 2009-02-07  Bruno Haible  <bruno@clisp.org>
37738
37739         Merge gen-ctype and gen-lbrk into a single program.
37740         * lib/gen-uni-tables.c: New file, incorporating
37741         lib/unictype/gen-ctype.c and lib/unilbrk/gen-lbrk.c.
37742         Add directory prefixes to the names of the generated files.
37743         * lib/unictype/gen-ctype.c: Remove file.
37744         * lib/unilbrk/gen-lbrk.c: Remove file.
37745         * modules/gen-uni-tables: New file.
37746         * modules/unictype/gen-ctype: Remove file.
37747         * modules/unilbrk/gen-lbrk: Remove file.
37748
37749 2009-02-07  Bruno Haible  <bruno@clisp.org>
37750
37751         * lib/unistr.h (u8_strcoll, u16_strcoll, u32_strcoll): New declations.
37752
37753         New module 'unistr/u32-strcoll'.
37754         * modules/unistr/u32-strcoll: New file.
37755         * lib/unistr/u32-strcoll.c: New file.
37756
37757         New module 'unistr/u16-strcoll'.
37758         * modules/unistr/u16-strcoll: New file.
37759         * lib/unistr/u16-strcoll.c: New file.
37760
37761         New module 'unistr/u8-strcoll'.
37762         * modules/unistr/u8-strcoll: New file.
37763         * lib/unistr/u8-strcoll.c: New file.
37764         * lib/unistr/u-strcoll.h: New file.
37765
37766 2009-02-07  Bruno Haible  <bruno@clisp.org>
37767
37768         * test-mbrtowc4.sh (LOCALE_ZH_CN): Fix default value.
37769         * test-mbsnrtowcs4.sh (LOCALE_ZH_CN): Likewise.
37770         * test-mbsrtowcs4.sh (LOCALE_ZH_CN): Likewise.
37771         * test-wcrtomb.sh (LOCALE_ZH_CN): Likewise.
37772         * test-wcsnrtombs4.sh (LOCALE_ZH_CN): Likewise.
37773         * test-wcsrtombs4.sh (LOCALE_ZH_CN): Likewise.
37774
37775 2009-02-07  Bruno Haible  <bruno@clisp.org>
37776
37777         Make 64-bit clean.
37778         * lib/unictype/gen-ctype.c (output_predicate, output_category,
37779         output_combclass, output_bidi_category, output_decimal_digit,
37780         output_digit, output_numeric, output_mirror, output_scripts,
37781         output_ident_category): Use proper width specifier in format strings.
37782
37783 2009-02-07  Bruno Haible  <bruno@clisp.org>
37784
37785         * doc/posix-functions/dirfd.texi: Clarify situation on mingw. Document
37786         failure behaviour.
37787
37788 2009-02-07  Jim Meyering  <meyering@redhat.com>
37789
37790         regex: avoid compilation failure with upcoming gcc-4.4
37791         * lib/regex_internal.h: Revert e48d8b47fb3eee81d341b71c3e006efe9e3433a7
37792         [workaround for PGC prior to 6.1-2].  Otherwise, we'd get this:
37793         "... error: integer overflow in preprocessor expression".
37794
37795 2009-02-05  Ben Pfaff  <blp@gnu.org>
37796
37797         Fix link errors on Windows when close module is used.
37798         * modules/close: Add $(LIB_CLOSE) to Link section.
37799         * m4/close.m4 (gl_REPLACE_CLOSE): Substitute -lws2_32 into
37800         $(LIB_CLOSE) on Windows.
37801
37802 2009-02-05  Jim Meyering  <meyering@redhat.com>
37803
37804         still avoid unused-parameter warnings, but do it cleanly
37805         * lib/fsusage.c (UNUSED_PARAM): Remove definition.
37806         (get_fs_usage): Cast to void instead.
37807         * lib/mountlist.c (UNUSED_PARAM): Remove definition.
37808         (dev_from_mount_options, read_file_system_list): Cast to void.
37809         Prompted by Bruno Haible.
37810
37811 2009-02-04  Jim Meyering  <meyering@redhat.com>
37812
37813         fsusage.c: correct copyright year
37814         * lib/fsusage.c: Reflect year in which the change is pushed into
37815
37816         avoid misc. warnings
37817         * lib/fsusage.c (UNUSED_PARAM): Define.
37818         (get_fs_usage): Mark parameter "disk" as unused.
37819         * lib/getugroups.c (getgrent): Use "void" in prototype.
37820         * lib/mountlist.c: Mark unused parameters.
37821         (read_file_system_list): Declare a local with "const".
37822         * lib/nanosleep.c (getnow): Declare static.
37823         * lib/strftime.c: Include strftime.h, for declaration of nstrftime.
37824
37825         dirfd: set errno upon failure
37826         * lib/dirfd.c: Include <errno.h>.
37827         Set errno to ENOTSUP when returning -1.
37828         * modules/dirfd (Depends-on): Add errno.
37829         Suggested by John Kodis <kodis@comcast.net>.
37830
37831 2009-02-01  Bruno Haible  <bruno@clisp.org>
37832
37833         Don't assume sizeof (long) >= sizeof (void *).
37834         * lib/memcmp.c: Include stdint.h.
37835         (memcmp_bytes): Change argument types to op_t. Change type of srcp1,
37836         srcp2 to 'const byte *'.
37837         (memcmp_common_alignment, memcmp_not_common_alignment): Change argument
37838         types to uintptr_t.
37839         (rpl_memcmp): Change type of srcp1, srcp2 to 'uintptr_t'.
37840         * modules/memcmp (Depends-on): Add stdint.
37841         Reported by Ozkan Sezer <sezeroz@gmail.com>.
37842
37843 2009-01-30  Eric Blake  <ebb9@byu.net>
37844
37845         fix more require-before-expand issues
37846         * m4/pmccabe2html.m4 (gl_PMCCABE2HTML): Require, rather than
37847         expand, AC_PROG_AWK.
37848         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Use AC_DEFUN_ONCE.
37849
37850 2009-01-28  Eric Blake  <ebb9@byu.net>
37851
37852         version-etc: use consistent URL formatting
37853         * lib/version-etc.c (emit_bug_reporting_address, version_etc_va):
37854         Improve formatting.  Use fputs for string without %.
37855
37856 2009-01-28  Jim Meyering  <meyering@redhat.com>
37857
37858         00gnulib.m4: add m4 quotes in shell comment to avoid autoconf warning
37859         * m4/00gnulib.m4 (AC_DEFUN_ONCE): Add quotes to avoid an
37860         "underquoted definition of NAME" from autoconf-2.59.
37861
37862 2009-01-28  Bruno Haible  <bruno@clisp.org>
37863
37864         * doc/gnulib.texi: Add "Obsolete modules" to index.
37865
37866 2009-01-28  Jim Meyering  <meyering@redhat.com>
37867
37868         useless-if-before-free: recognize more variants
37869         * build-aux/useless-if-before-free: Also recognize e.g.,
37870         if (NULL != p) free (p);
37871
37872 2009-01-27  Mark McLoughlin  <markmc@redhat.com>
37873
37874         test-getaddrinfo: skip (don't fail) this test when there's no network
37875         * tests/test-getaddrinfo.c: Skip test upon failure with EAI_AGAIN,
37876         on the presumption that it means you lack network access.
37877
37878 2009-01-26  Jim Meyering  <meyering@redhat.com>
37879
37880         fflush: avoid warnings on modern systems
37881         * lib/fflush.c (rpl_fflush): Move declarations of locals,
37882         pos and result, into scopes where they're used.
37883
37884 2009-01-26  Eric Blake  <ebb9@byu.net>
37885
37886         Silence warning reintroduced by recent extensions patch.
37887         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS)
37888         (gl_USE_SYSTEM_EXTENSIONS): Use AC_DEFUN_ONCE to silence newer
37889         autoconf.
37890
37891         Backport improved autoconf semantics of AC_DEFUN_ONCE.
37892         * m4/00gnulib.m4: New file.
37893         * gnulib-tool (func_get_filelist): Always use it.
37894         * m4/gnulib-common.m4 (gl_COMMON): Force the file to be used.
37895         Reported by Bruno Haible, with suggestions from Paolo Bonzini.
37896
37897 2009-01-25  Bruno Haible  <bruno@clisp.org>
37898
37899         Make test-quotearg work on MacOS X and AIX.
37900         * tests/test-quotearg.sh: New file.
37901         * tests/locale/fr/LC_MESSAGES/test-quotearg.po: New file.
37902         * tests/locale/fr/LC_MESSAGES/test-quotearg.mo: New file.
37903         * tests/test-quotearg.c: Include <locale.h> and gettext.h. Don't
37904         include <libintl.h>.
37905         (fake_locale): Remove variable.
37906         (gettext, dgettext, dcgettext): Remove functions.
37907         (main): Instead of setting a fake locale, set a real locale. Call
37908         textdomain and bindtextdomain.
37909         * modules/quotearg-tests (Files): Add the new files.
37910         (Depends-on): Add gettext, setenv, unsetenv.
37911         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
37912         (Makefile.am): Add test-quotearg.sh to TESTS, remove test-quotearg.
37913         Augment TESTS_ENVIRONMENT.
37914
37915 2009-01-25  Bruno Haible  <bruno@clisp.org>
37916
37917         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove special code that hid the
37918         fr_FR.ISO8859-1 locale on MacOS X.
37919         * m4/locale-ja.m4 (gt_LOCALE_JA): Remove special code that hid the
37920         ja_JP.eucJP locale on MacOS X.
37921         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Remove special code that hid the
37922         zh_CN.GB18030 locale on MacOS X.
37923
37924 2009-01-25  Bruno Haible  <bruno@clisp.org>
37925
37926         Avoid link errors on MacOS X 10.3.
37927         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Add initializer.
37928         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
37929
37930 2009-01-25  Bruno Haible  <bruno@clisp.org>
37931
37932         * lib/pipe.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
37933         * m4/pipe.m4 (gl_PIPE): Remove tests for vfork() based code.
37934         * modules/pipe (Files): Remove m4/posix_spawn.m4.
37935         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
37936         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2,
37937         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
37938         posix_spawnattr_init, posix_spawnattr_setsigmask,
37939         posix_spawnattr_setflags, posix_spawnattr_destroy.
37940
37941         * lib/execute.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
37942         * m4/execute.m4 (gl_EXECUTE): Remove tests for vfork() based code.
37943         * modules/execute (Files): Remove m4/posix_spawn.m4.
37944         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
37945         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
37946         posix_spawnattr_init, posix_spawnattr_setsigmask,
37947         posix_spawnattr_setflags, posix_spawnattr_destroy.
37948
37949 2009-01-25  Bruno Haible  <bruno@clisp.org>
37950
37951         * lib/glthread/threadlib.c: Include <stdlib.h>.
37952
37953 2009-01-25  Bruno Haible  <bruno@clisp.org>
37954
37955         * lib/glthread/threadlib.c (dummy): New declaration.
37956
37957 2009-01-25  Bruno Haible  <bruno@clisp.org>
37958
37959         * lib/mbrtowc.c (mbrtowc): Distinguish invalid and incomplete
37960         multibyte characters also for the GB18030 encoding. Don't crash when
37961         the encoding is unknown and nstate = 0. Needed on OSF/1 5.1.
37962
37963 2009-01-25  Bruno Haible  <bruno@clisp.org>
37964
37965         Avoid redefining 'struct random_data' on OSF/1 5.1.
37966         * lib/stdlib.in.h: Include <random.h> if it exists.
37967         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether <random.h> exists. Set
37968         HAVE_RANDOM_H. Include <random.h> when testing whether
37969         'struct random_data' exists.
37970         * modules/stdlib (Makefile.am): Substitute HAVE_RANDOM_H.
37971
37972 2009-01-25  Bruno Haible  <bruno@clisp.org>
37973
37974         Don't install charset.alias on MacOS X >= 10.3.
37975         * lib/localcharset.c (DARWIN7): New macro.
37976         (get_charset_aliases): Hardcode the result for Darwin7.
37977         * modules/localcharset (install-exec-local): Don't install
37978         charset.alias on MacOS X >= 10.3, if the file does not yet exist.
37979
37980 2009-01-25  Bruno Haible  <bruno@clisp.org>
37981
37982         Don't install charset.alias on mingw and Cygwin.
37983         * modules/localcharset (install-exec-local): Don't install
37984         charset.alias on mingw and Cygwin, if the file does not yet exist.
37985         The result for these platforms is hardcoded in localcharset.c.
37986
37987 2009-01-25  Bruno Haible  <bruno@clisp.org>
37988
37989         Make it possible again to use AC_GNU_SOURCE together with gnulib.
37990         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_GNU_SOURCE
37991         before requiring AC_USE_SYSTEM_EXTENSIONS.
37992
37993 2009-01-25  Jim Meyering  <meyering@redhat.com>
37994
37995         c-strtod: avoid warnings
37996         * lib/c-strtod.c (C_STRTOD): Cast nptr to (char *) to avoid
37997         "assignment discards qualifiers from pointer target type" warnings.
37998
37999 2009-01-24  Bruno Haible  <bruno@clisp.org>
38000
38001         Add support for non-UTF-8 locales on MacOS X.
38002         * lib/config.charset: Add CP1131, ARMSCII-8, PT154 to the list of
38003         canonical encodings. For Darwin 7 and newer, don't map traditional
38004         encodings to UTF-8.
38005         Reported by Vincent Lefevre <vincent@vinc17.org>
38006         at <http://savannah.gnu.org/bugs/?25235>.
38007
38008 2009-01-24  Bruno Haible  <bruno@clisp.org>
38009
38010         * doc/gnulib.texi (Obsolete modules): New section.
38011         Reported by Mike Frysinger <vapier@gentoo.org>.
38012
38013 2009-01-24  Bruno Haible  <bruno@clisp.org>
38014
38015         * doc/Makefile (%.pdf): Clarify where to find texmf.cnf.
38016         (%.dvi): New rule.
38017
38018 2009-01-24  Bruno Haible  <bruno@clisp.org>
38019
38020         * lib/c-strtod.h (c_strtod, c_strtold): Adjust specification.
38021         Reported by Eric Blake.
38022
38023 2009-01-24  Bruno Haible  <bruno@clisp.org>
38024
38025         * lib/c-stack.c (segv_handler): If !HAVE_XSI_STACK_OVERFLOW_HEURISTIC,
38026         set signo = 0 also if info->si_code <= 0. Needed on HP-UX 11.11.
38027         Reported by Gary V. Vaughan <gary@gnu.org>.
38028
38029 2009-01-24  Bruno Haible  <bruno@clisp.org>
38030
38031         * lib/c-strtod.h (c_strtod, c_strtold): Add specification.
38032
38033 2009-01-23  Bruno Haible  <bruno@clisp.org>
38034
38035         Make c-strtod, c-strtold usable in libraries.
38036         * lib/c-strtod.c: Include string.h instead of xalloc.h.
38037         (C_STRTOD): Call strdup instead of xstrdup.
38038         * modules/c-strtod (Depends-on): Add strdup-posix, remove xalloc.
38039         * modules/c-strtold (Depends-on): Likewise.
38040         * doc/c-strtod.texi: Remove the sentence mentioning xalloc_die.
38041         * NEWS: Mention the change.
38042         Reported by Michael Gold <mgold@ncf.ca>.
38043
38044 2009-01-23  Jim Meyering  <meyering@redhat.com>
38045
38046         c-strtod: when ENDPTR is non-NULL, set *ENDPTR in new failure path
38047         * lib/c-strtod.c (C_STRTOD) [LC_ALL_MASKC]: Ensure that when
38048         ENDPTR is non-NULL, *ENDPTR is set to NPTR upon failure.
38049
38050 2009-01-23  Simon Josefsson  <simon@josefsson.org>
38051
38052         * lib/version-etc.c: Add emit_bug_reporting_address, inspired by
38053         GNU CoreUtils.
38054         * lib/version-etc.h: Add prototype for emit_bug_reporting_address.
38055         * modules/version-etc (Description): Update.
38056
38057 2009-01-22  Bruno Haible  <bruno@clisp.org>
38058
38059         Cache the C locale object.
38060         * lib/c-strtod.c (c_locale_cache): New variable.
38061         (c_locale): New function.
38062         (C_STRTOD): Use it, and don't call freelocale.
38063         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD): Require AC_C_INLINE.
38064         Suggested by Paolo Bonzini.
38065
38066 2009-01-21  Bruno Haible  <bruno@clisp.org>
38067
38068         * lib/getloadavg.c (getloadavg): Check c_strtod result against error
38069         conditions other than overflow.
38070
38071 2009-01-21  Bruno Haible  <bruno@clisp.org>
38072
38073         * lib/c-strtod.c: Include errno.h.
38074         (C_STRTOD): Check against NULL return from newlocale. Preserve errno
38075         value from STRTOD_L and STRTOD.
38076
38077 2009-01-21  Bruno Haible  <bruno@clisp.org>
38078         and Jim Meyering  <meyering@redhat.com>
38079
38080         nanosleep: skip configure test (fail it) for apple universal builds
38081         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_MULTIARCH. In Apple
38082         universal builds, assume that nanosleep does not work.
38083         * modules/nanosleep (Depends-on): Add multiarch.
38084
38085         mktime: skip configure test (fail it) for apple universal builds
38086         * m4/mktime.m4 (AC_FUNC_MKTIME): Require gl_MULTIARCH. In Apple
38087         universal builds, assume that mktime does not work.
38088         * modules/mktime (Depends-on): Add multiarch.
38089
38090 2009-01-21  Eric Blake  <ebb9@byu.net>
38091
38092         multiarch: avoid expand-before-require warning
38093         * modules/multiarch (configure.ac): Require, rather than expand,
38094         gl_MULTIARCH.
38095         * m4/multiarch.m4 (gl_MULTIARCH_BODY): Merge...
38096         (gl_MULTIARCH): ...into this macro, and use AC_DEFUN_ONCE to
38097         enforce that all clients require it.  Partial reversion of
38098         2008-12-29 patch.
38099
38100         error: avoid expand-before-require warning
38101         * modules/errno (configure.ac): Require, rather than expand,
38102         gl_HEADER_ERRNO_H.
38103         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Merge...
38104         (gl_HEADER_ERRNO_H): ...into this macro, and use AC_DEFUN_ONCE to
38105         enforce that all clients require it.
38106
38107         gnulib-tool: avoid warnings from using obsolete AC_GNU_SOURCE
38108         * gnulib-tool (func_dest_tmpfilename, func_create_testdir): Using
38109         obsolete AC_GNU_SOURCE causes out-of-order expansion; avoid it,
38110         and rely solely on gl_USE_SYSTEM_EXTENSIONS.
38111
38112 2009-01-21  Paolo Bonzini  <bonzini@gnu.org>
38113
38114         Revert:
38115         2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
38116
38117         regex: do not depend on obsolete modules.
38118         * modules/regex: Remove memcmp and memmove.
38119
38120 2009-01-20  Bruno Haible  <bruno@clisp.org>
38121
38122         Make the 'link' module link on Windows NT 4.
38123         * lib/link.c (_WIN32_WINNT): Don't define.
38124         (CreateHardLinkFuncType): New type.
38125         (CreateHardLinkFunc, initialized): New variables.
38126         (initialize): New function.
38127         (link): Invoke CreateHardLink indirectly through the function pointer.
38128
38129 2009-01-20  Bruno Haible  <bruno@clisp.org>
38130
38131         Fix compilation failure on mingw.
38132         * tests/test-link.c (main): Don't assume that EOPNOTSUPP exists.
38133
38134 2009-01-20  Michael Gold  <mgold@ncf.ca>  (tiny change)
38135
38136         * doc/c-strtod.texi: Mention a couple of restrictions.
38137
38138 2009-01-20  Jim Meyering  <meyering@redhat.com>
38139
38140         gettimeofday: move more declarations out of functions
38141         * lib/gettimeofday.c: Move extern declarations of tzset and
38142         gmtime out of containing functions.  Prompted by Bruno Haible.
38143
38144 2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
38145
38146         regex: do not depend on obsolete modules.
38147         * modules/regex: Remove memcmp and memmove.
38148
38149 2009-01-19  Bruno Haible  <bruno@clisp.org>
38150
38151         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
38152         * modules/uniconv/u16-conv-from-enc (configure.ac): Require
38153         gl_BIGENDIAN, not AC_C_BIGENDIAN.
38154         * modules/uniconv/u16-conv-to-enc (configure.ac): Likewise.
38155         * modules/uniconv/u16-strconv-to-enc (configure.ac): Likewise.
38156
38157 2009-01-19  Bruno Haible  <bruno@clisp.org>
38158
38159         * tests/test-link.c: Include <errno.h>.
38160         (main): Exit with code 77 when a hard link cannot be created due to
38161         the file system.
38162         * tests/test-link.sh: Skip test when a hard link cannot be created due
38163         to the file system.
38164         Suggested by Eric Blake.
38165
38166 2009-01-19  Martin Lambers  <marlam@marlam.de>
38167
38168         * modules/link-tests: New file.
38169         * tests/test-link.sh: New file.
38170         * tests/test-link.c: New file.
38171
38172 2009-01-19  Eric Blake  <ebb9@byu.net>
38173
38174         doc: mention another function added in cygwin 1.7.0
38175         * doc/glibc-functions/glob_pattern_p.texi (glob_pattern_p):
38176         Another new function in cygwin 1.7.
38177
38178 2009-01-19  Bruno Haible  <bruno@clisp.org>
38179
38180         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
38181         * m4/gnulib-common.m4 (gl_BIGENDIAN): New macro.
38182         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require
38183         gl_BIGENDIAN, not AC_C_BIGENDIAN.
38184         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
38185         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
38186         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
38187         * m4/md4.m4 (gl_MD4): Likewise.
38188         * m4/md5.m4 (gl_MD5): Likewise.
38189         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Likewise.
38190         * m4/sha1.m4 (gl_SHA1): Likewise.
38191         * m4/sha256.m4 (gl_SHA256): Likewise.
38192         * m4/sha512.m4 (gl_SHA512): Likewise.
38193
38194 2009-01-19  Bruno Haible  <bruno@clisp.org>
38195
38196         * modules/uniname/uniname-tests (Depends-on): Add progname.
38197         * tests/uniname/test-uninames.c: Include progname.h.
38198         (main): Call set_program_name.
38199
38200         * modules/unistdio/u8-vsprintf-tests (Depends-on): Add progname.
38201         * tests/unistdio/test-u8-vsprintf1.c: Include progname.h.
38202         (main): Call set_program_name.
38203
38204         * modules/unistdio/u8-vsnprintf-tests (Depends-on): Add progname.
38205         * tests/unistdio/test-u8-vsnprintf1.c: Include progname.h.
38206         (main): Call set_program_name.
38207
38208         * modules/unistdio/u16-vsprintf-tests (Depends-on): Add progname.
38209         * tests/unistdio/test-u16-vsprintf1.c: Include progname.h.
38210         (main): Call set_program_name.
38211
38212         * modules/unistdio/u16-vsnprintf-tests (Depends-on): Add progname.
38213         * tests/unistdio/test-u16-vsnprintf1.c: Include progname.h.
38214         (main): Call set_program_name.
38215
38216         * modules/unistdio/u32-vsprintf-tests (Depends-on): Add progname.
38217         * tests/unistdio/test-u32-vsprintf1.c: Include progname.h.
38218         (main): Call set_program_name.
38219
38220         * modules/unistdio/u32-vsnprintf-tests (Depends-on): Add progname.
38221         * tests/unistdio/test-u32-vsnprintf1.c: Include progname.h.
38222         (main): Call set_program_name.
38223
38224         * modules/unistdio/ulc-vsprintf-tests (Depends-on): Add progname.
38225         * tests/unistdio/test-ulc-vsprintf1.c: Include progname.h.
38226         (main): Call set_program_name.
38227
38228         * modules/unistdio/ulc-vsnprintf-tests (Depends-on): Add progname.
38229         * tests/unistdio/test-ulc-vsnprintf1.c: Include progname.h.
38230         (main): Call set_program_name.
38231
38232 2009-01-19  Eric Blake  <ebb9@byu.net>
38233
38234         test-unistd: test previous patch
38235         * tests/test-unistd.c: Test *_FILENO macros.
38236
38237         unistd: guarantee STDIN_FILENO here, for OS/2 EMX
38238         * lib/unistd.in.h (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
38239         Guarantee a definition.
38240         * doc/posix-headers/unistd.texi (unistd.h): Document the bug.
38241         * modules/unistd-safer (Depends-on): Add dependency on unistd.
38242         * lib/c-stack.c (STDERR_FILENO): Rely on <unistd.h>.
38243         * lib/dup-safer.c (STDERR_FILENO): Likewise.
38244         * lib/execute.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
38245         Likewise.
38246         * lib/fd-safer.c (STDIN_FILENO, STDERR_FILENO): Likewise.
38247         * lib/fopen-safer.c (STDERR_FILENO): Likewise.
38248         * lib/pipe.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
38249         Likewise.
38250         * lib/tmpfile-safer.c (STDERR_FILENO): Likewise.
38251         * tests/test-posix_spawn1.c (STDIN_FILENO, STDOUT_FILENO)
38252         (STDERR_FILENO): Likewise.
38253         * tests/test-posix_spawn2.c (STDIN_FILENO, STDOUT_FILENO)
38254         (STDERR_FILENO): Likewise.
38255         * tests/test-posix_spawn3.c (STDIN_FILENO, STDOUT_FILENO)
38256         (STDERR_FILENO): Likewise.
38257         Reported by Elbert Pol.
38258
38259 2009-01-19  Eric Blake  <ebb9@byu.net>
38260
38261         doc: mention more functions added in cygwin 1.7.0
38262         * doc/posix-functions/abort.texi (abort): Update wording related
38263         to cygwin.
38264         * doc/posix-functions/daylight.texi (daylight): Likewise.
38265         * doc/posix-functions/optarg.texi (optarg): Likewise.
38266         * doc/posix-functions/optarg.texi (opterr): Likewise.
38267         * doc/posix-functions/optarg.texi (optind): Likewise.
38268         * doc/posix-functions/optarg.texi (optopt): Likewise.
38269         * doc/posix-functions/wprintf.texi (wprintf): Cygwin wprintf never
38270         worked in 1.5.x, and was withdrawn in 1.7.
38271         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
38272         * doc/posix-functions/fprintf.texi (fprintf): Tighten mention of
38273         cygwin versions.
38274         * doc/posix-functions/perror.texi (perror): Likewise.
38275         * doc/posix-functions/printf.texi (printf): Likewise.
38276         * doc/posix-functions/snprintf.texi (snprintf): Likewise.
38277         * doc/posix-functions/sprintf.texi (sprintf): Likewise.
38278         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
38279         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
38280         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
38281         * doc/posix-functions/vsprintf.texi (vsprintf): Likewise.
38282         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
38283         Likewise.
38284         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
38285         Likewise.
38286         * doc/glibc-functions/cfmakeraw.texi (cfmakeraw): Cygwin 1.7 adds
38287         this function.
38288         * doc/glibc-functions/in6addr_any.texi (in6addr_any): Likewise.
38289         * doc/glibc-functions/in6addr_loopback.texi (in6addr_loopback):
38290         Likewise.
38291         * doc/glibc-functions/updwtmpx.texi (updwtmpx): Likewise.
38292         * doc/posix-functions/_Exit_C99.texi (_Exit): Likewise.
38293         * doc/posix-functions/confstr.texi (confstr): Likewise.
38294         * doc/posix-functions/dprintf.texi (dprintf): Likewise.
38295         * doc/posix-functions/fgetwc.texi (fgetwc): Likewise.
38296         * doc/posix-functions/fgetws.texi (fgetws): Likewise.
38297         * doc/posix-functions/fputwc.texi (fputwc): Likewise.
38298         * doc/posix-functions/fputws.texi (fputws): Likewise.
38299         * doc/posix-functions/fwide.texi (fwide): Likewise.
38300         * doc/posix-functions/getwc.texi (getwc): Likewise.
38301         * doc/posix-functions/getwchar.texi (getwchar): Likewise.
38302         * doc/posix-functions/putwc.texi (putwc): Likewise.
38303         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
38304         * doc/posix-functions/sigignore.texi (sigignore): Likewise.
38305         * doc/posix-functions/ungetwc.texi (ungetwc): Likewise.
38306         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
38307         * doc/posix-functions/wcpcpy.texi (wcpcpy): Likewise.
38308         * doc/posix-functions/wcpncpy.texi (wcpncpy): Likewise.
38309         * doc/posix-functions/wcstol.texi (wcstol): Likewise.
38310         * doc/posix-functions/wcstoll.texi (wcstoll): Likewise.
38311         * doc/posix-functions/wcstoul.texi (wcstoul): Likewise.
38312         * doc/posix-functions/wcstoull.texi (wcstoull): Likewise.
38313         * doc/posix-functions/wcsxfrm.texi (wcsxfrm): Likewise.
38314
38315 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
38316
38317         ioctl: avoid warning: no previous prototype for 'rpl_ioctl'
38318         * lib/ioctl.c: Include <sys/ioctl.h>.
38319
38320 2009-01-19  Simon Josefsson  <simon@josefsson.org>
38321
38322         * modules/getdate-tests (Depends-on): Add progname.
38323         * tests/test-getdate.c: Use progname module, to avoid link errors
38324         on non-glibc systems.
38325
38326 2009-01-18  Simon Josefsson  <simon@josefsson.org>
38327
38328         * modules/filenamecat-tests (Depends-on): Add progname.
38329         * modules/fstrcmp-tests (Depends-on): Likewise.
38330
38331         * tests/test-filenamecat.c: Use progname module, to avoid link
38332         errors on non-glibc systems.
38333         * tests/test-fstrcmp.c: Likewise.
38334
38335 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
38336
38337         gettimeofday: avoid warning: nested extern declaration of 'localtime'
38338         * lib/gettimeofday.c: Move extern declaration out of function.
38339
38340 2009-01-18  Bruno Haible  <bruno@clisp.org>
38341
38342         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mblen and mbrlen.
38343         * lib/strftime.c (HAVE_MBLEN, HAVE_MBRLEN): Remove macros.
38344         (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 on all platforms except OSF/1.
38345
38346 2009-01-18  Bruno Haible  <bruno@clisp.org>
38347
38348         * lib/strftime.c (MEMPCPY): Remove unused macro.
38349         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mempcpy.
38350
38351 2009-01-18  Martin Lambers  <marlam@marlam.de>
38352
38353         New module 'link'.
38354         * lib/unistd.in.h (link): New declaration.
38355         * lib/link.c: New file.
38356         * m4/link.m4: New file.
38357         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_LINK,
38358         HAVE_LINK.
38359         * modules/unistd (Makefile.am): Substitute GNULIB_LINK, HAVE_LINK.
38360         * modules/link: New file.
38361         * doc/posix-functions/link.texi: Mention the new module.
38362
38363 2009-01-18  Bruno Haible  <bruno@clisp.org>
38364
38365         * tests/test-avltree_list.c (main): Call set_program_name.
38366         * tests/test-avltree_oset.c (main): Likewise.
38367         * tests/test-obstack-printf.c: Include progname.h.
38368         (main): Call set_program_name.
38369         * tests/test-quotearg.c: Include progname.h.
38370         (main): Call set_program_name.
38371         * tests/test-xmemdup0.c: Include progname.h.
38372         (main): Call set_program_name.
38373
38374 2009-01-18  Bruno Haible  <bruno@clisp.org>
38375
38376         New module 'alphasort'.
38377         * lib/dirent.in.h (alphasort): New declaration.
38378         * lib/alphasort.c: New file, from glibc with modifications.
38379         * m4/alphasort.m4: New file.
38380         * modules/alphasort: New file.
38381         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_ALPHASORT,
38382         HAVE_ALPHASORT.
38383         * modules/dirent (Makefile.am): Substitute GNULIB_ALPHASORT,
38384         HAVE_ALPHASORT.
38385         * doc/posix-functions/alphasort.texi: Mention the new module and the
38386         portability problems.
38387
38388 2009-01-18  Bruno Haible  <bruno@clisp.org>
38389
38390         New module 'scandir'.
38391         * lib/dirent.in.h (scandir): New declaration.
38392         * lib/scandir.c: New file, from glibc with modifications.
38393         * m4/scandir.m4: New file.
38394         * modules/scandir: New file.
38395         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_SCANDIR,
38396         HAVE_SCANDIR.
38397         * modules/dirent (Makefile.am): Substitute GNULIB_SCANDIR,
38398         HAVE_SCANDIR.
38399         * doc/posix-functions/scandir.texi: Mention the new module and the
38400         portability problems.
38401
38402 2009-01-17  Bruno Haible  <bruno@clisp.org>
38403
38404         * gnulib-tool (func_remove_prefix): Escape all dots in the prefix.
38405         Update documentation.
38406         (func_remove_suffix): Escape all dots in the suffix. Update
38407         documentation.
38408         (func_filter_filelist): Update documentation.
38409         Reported by Ralf Wildenhues.
38410
38411 2009-01-17  Bruno Haible  <bruno@clisp.org>
38412
38413         * modules/dprintf-posix-tests: New file.
38414         * tests/test-dprintf-posix.sh: New file.
38415         * tests/test-dprintf-posix.c: New file.
38416
38417         New modules 'dprintf', 'dprintf-posix'.
38418         * lib/stdio.in.h (dprintf): New declaration.
38419         * lib/dprintf.c: New file.
38420         * m4/dprintf.m4: New file.
38421         * m4/dprintf-posix.m4: New file.
38422         * modules/dprintf: New file.
38423         * modules/dprintf-posix: New file.
38424         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_DPRINTF,
38425         HAVE_DPRINTF, REPLACE_DPRINTF.
38426         * modules/stdio (Makefile.am): Substitute also GNULIB_DPRINTF,
38427         HAVE_DPRINTF, REPLACE_DPRINTF.
38428         * doc/posix-functions/dprintf.texi: Mention the new modules.
38429
38430 2009-01-17  Bruno Haible  <bruno@clisp.org>
38431
38432         * modules/vdprintf-posix-tests: New file.
38433         * tests/test-vdprintf-posix.sh: New file.
38434         * tests/test-vdprintf-posix.c: New file.
38435
38436         New modules 'vdprintf', 'vdprintf-posix'.
38437         * lib/stdio.in.h (vdprintf): New declaration.
38438         * lib/vdprintf.c: New file.
38439         * m4/vdprintf.m4: New file.
38440         * m4/vdprintf-posix.m4: New file.
38441         * modules/vdprintf: New file.
38442         * modules/vdprintf-posix: New file.
38443         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_VDPRINTF,
38444         HAVE_VDPRINTF, REPLACE_VDPRINTF.
38445         * modules/stdio (Makefile.am): Substitute also GNULIB_VDPRINTF,
38446         HAVE_VDPRINTF, REPLACE_VDPRINTF.
38447         * doc/posix-functions/vdprintf.texi: Mention the new modules.
38448
38449 2009-01-17  Bruno Haible  <bruno@clisp.org>
38450
38451         Fix replacement of fopen on mingw.
38452         * m4/fopen.m4 (gl_FUNC_FOPEN): Define FOPEN_TRAILING_SLASH_BUG also on
38453         mingw.
38454
38455 2009-01-17  Bruno Haible  <bruno@clisp.org>
38456
38457         Fix compilation error on HP-UX 11.00, present since 2008-09-24.
38458         * lib/fopen.c: Include <sys/types.h> and <sys/types.h>.
38459
38460 2009-01-17  Bruno Haible  <bruno@clisp.org>
38461
38462         Avoid test-fflush2.sh failure on mingw.
38463         * tests/test-fflush2.c: Include binary-io.h.
38464         (main): Put standard input into binary mode.
38465         * modules/fflush-tests (Depends-on): Add binary-io.
38466
38467 2009-01-17  Bruno Haible  <bruno@clisp.org>
38468
38469         * lib/wchar.in.h: In another particular situation, include only the
38470         system's <wchar.h> file.
38471         (_GL_ALREADY_INCLUDING_WCHAR_H): New macro.
38472         Reported by Albert Chin-A-Young <china@thewrittenword.com>
38473         and Thomas Guyot-Sionnest <dermoth@aei.ca>.
38474
38475 2009-01-17  Bruno Haible  <bruno@clisp.org>
38476
38477         Support for stripping executables in --enable-relocatable.
38478         * build-aux/install-reloc: Expect one more argument, or an environment
38479         variable RELOC_STRIP_PROG. If set, strip the destination program and
38480         its wrapper.
38481         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV, set
38482         RELOC_STRIP_PROG.
38483         * doc/relocatable-maint.texi (Supporting Relocation): Mention the need
38484         to set RELOCATABLE_STRIP.
38485         * NEWS: Mention the new Makefile requirement.
38486
38487 2009-01-17  Bruno Haible  <bruno@clisp.org>
38488
38489         * build-aux/install-reloc: Remove debugging information left over by
38490         C compiler on MacOS X.
38491
38492 2009-01-17  Bruno Haible  <bruno@clisp.org>
38493
38494         Update use of _NSGetExecutablePath after API change in MacOS X 10.4.
38495         * lib/progreloc.c (find_executable): Fix type of pointer passed to
38496         _NSGetExecutablePath.
38497
38498 2009-01-16  Jim Meyering  <meyering@redhat.com>
38499
38500         strerror: avoid warnings about discarding "const"
38501         * lib/strerror.c (rpl_strerror): Instead of returning a const
38502         string from each and every "case", use a variable, and add a single
38503         cast after the switch.
38504
38505 2009-01-16  Albert Chin-A-Young <china@thewrittenword.com>
38506
38507         * lib/arpa_inet.in.h: Add extern "C" block for C++.
38508
38509 2009-01-16  Bruno Haible  <bruno@clisp.org>
38510
38511         * m4/printf.m4 (gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99): Use an
38512         array initializer syntax that also works in C++ mode.
38513         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
38514
38515 2009-01-16  Jim Meyering  <meyering@redhat.com>
38516
38517         poll: suppress a warning
38518         * lib/poll.c: Use #pragma GCC diagnostic ignored "-Wtype-limits"
38519         to ignore "...unsigned expression < 0 is always false" warnings.
38520
38521 2009-01-16  Daniel P. Berrange  <berrange@redhat.com>
38522
38523         poll: remove declarations of unused variables
38524         * lib/poll.c (poll) [WIN32_NATIVE]: Remove declarations of unused
38525         sockbuf and optlen.
38526
38527 2009-01-15  Bruno Haible  <bruno@clisp.org>
38528
38529         Make fflush-after-ungetc POSIX compliant on BSD systems.
38530         * lib/fflush.c (clear_ungetc_buffer_preserving_position): New function.
38531         (clear_ungetc_buffer): Implement also for other systems.
38532         (rpl_fflush): On glibc systems, invoke
38533         clear_ungetc_buffer_preserving_position. Otherwise, invoke
38534         clear_ungetc_buffer after fetching the stream's position, not before.
38535
38536 2009-01-15  Bruno Haible  <bruno@clisp.org>
38537
38538         Make fflush-after-ungetc POSIX compliant on glibc systems.
38539         * m4/fflush.m4 (gl_FUNC_FFLUSH): Test also the behaviour of fflush
38540         after ungetc.
38541         * lib/fflush.c (clear_ungetc_buffer): Implement for glibc systems.
38542         (rpl_fflush): On glibc systems, simply call the system's fflush
38543         function after clearing the ungetc buffer.
38544         * lib/fseeko.c (rpl_fseeko): Don't try to lseek past the end of file.
38545         Instead, lseek only to the end of file, then use the system's fseeko
38546         for the rest. On glibc systems, reset the EOF indicator bit.
38547
38548 2009-01-15  Jim Meyering  <meyering@redhat.com>
38549
38550         openmp.m4: revert quote-adding change, for portability to older autoconf
38551         * m4/openmp.m4: Remove the quotes added on 2009-01-14.
38552         This reverts part of 42d1eda5dcce2d68deab7a642e7f29bcd7144a0d.
38553         Simon Josefsson noticed the problem when using autoconf-2.61.
38554
38555 2009-01-15  Bruno Haible  <bruno@clisp.org>
38556
38557         * tests/test-fflush2.sh: Invoke test-fflush2 twice.
38558         * tests/test-fflush2.c (ASSERT): Always fail.
38559         (main): Add two tests for fflush() after ungetc(), taking into account
38560         the Austin Group's clarification.
38561         Suggested by Eric Blake.
38562
38563 2009-01-15  Albert Chin-A-Young  <china@thewrittenword.com>
38564
38565         mktime.m4: remove K&R-style function prototypes
38566         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove K&R-style function prototypes
38567         for the Sun C++ compiler.
38568
38569 2009-01-14  Bruno Haible  <bruno@clisp.org>
38570
38571         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_WCHAR_H): New macro, defined
38572         while including <wchar.h>.
38573         * lib/wchar.in.h: In two particular situations on HP-UX, include only
38574         the system's <wchar.h> file.
38575         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
38576
38577 2009-01-14  Bruno Haible  <bruno@clisp.org>
38578
38579         * m4/csharp.m4: Don't mention gettext on the serial number line.
38580         * m4/csharpexec.m4: Likewise.
38581         * m4/eaccess.m4: Likewise.
38582         * m4/javaexec.m4: Likewise.
38583         * m4/sig_atomic_t.m4: Likewise.
38584         * m4/tmpdir.m4: Likewise.
38585         * m4/intldir.m4: Bump gettext version.
38586         * m4/lib-ld.m4: Likewise.
38587
38588 2009-01-14  Bruno Haible  <bruno@clisp.org>
38589
38590         * lib/progname.c (set_program_name): Add more comments.
38591         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
38592
38593 2009-01-14  Simon Josefsson  <simon@josefsson.org>
38594
38595         * lib/sys_stat.in.h: Include sys/types.h for nlink_t on systems
38596         were sys/stat.h does not define it.
38597
38598 2009-01-14  Jim Meyering  <meyering@redhat.com>
38599
38600         many *.m4 files: improve m4 quoting
38601         99% of this change was performed by running the following commands:
38602         git ls-files | grep '\.m4$' | xargs perl -pi \
38603           -e 's/(AC_\w+\()([^[()]+?)([,)])/$1\[$2]$3/g;' \
38604           -e 's/(AC_\w+\((?:\[[^,]+?\], ){1})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
38605           -e 's/(AC_\w+\((?:\[[^,]+?\], ){2})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
38606           -e 's/(AC_\w+\((?:\[[^,]+?\], ){3})([^,[()]+?)([,)])/$1\[$2]$3/g'
38607         perl -pi -e 's/\[\.\.\.\]/.../' m4/onceonly.m4
38608         The remainder were to add Copyright dates, increment serial numbers,
38609         undo some changes in comments, exclude m4/intl.m4, and add quotes
38610         around the "1" in ",1" where the unusual spacing prohibited the
38611         above regexps from doing the job.  For more details, see
38612         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16175>.
38613         * m4/acl.m4: Modified.
38614         * m4/afs.m4: Likewise.
38615         * m4/alloca.m4: Likewise.
38616         * m4/argp.m4: Likewise.
38617         * m4/argz.m4: Likewise.
38618         * m4/atexit.m4: Likewise.
38619         * m4/bison-i18n.m4: Likewise.
38620         * m4/bison.m4: Likewise.
38621         * m4/byteswap.m4: Likewise.
38622         * m4/c-stack.m4: Likewise.
38623         * m4/c-strtod.m4: Likewise.
38624         * m4/calloc.m4: Likewise.
38625         * m4/canonicalize-lgpl.m4: Likewise.
38626         * m4/chown.m4: Likewise.
38627         * m4/clock_time.m4: Likewise.
38628         * m4/codeset.m4: Likewise.
38629         * m4/copy-file.m4: Likewise.
38630         * m4/csharp.m4: Likewise.
38631         * m4/csharpcomp.m4: Likewise.
38632         * m4/csharpexec.m4: Likewise.
38633         * m4/d-ino.m4: Likewise.
38634         * m4/d-type.m4: Likewise.
38635         * m4/dirfd.m4: Likewise.
38636         * m4/double-slash-root.m4: Likewise.
38637         * m4/eaccess.m4: Likewise.
38638         * m4/eealloc.m4: Likewise.
38639         * m4/environ.m4: Likewise.
38640         * m4/errno_h.m4: Likewise.
38641         * m4/euidaccess.m4: Likewise.
38642         * m4/execute.m4: Likewise.
38643         * m4/fatal-signal.m4: Likewise.
38644         * m4/fchdir.m4: Likewise.
38645         * m4/fcntl_h.m4: Likewise.
38646         * m4/fileblocks.m4: Likewise.
38647         * m4/filenamecat.m4: Likewise.
38648         * m4/findprog.m4: Likewise.
38649         * m4/flexmember.m4: Likewise.
38650         * m4/fnmatch.m4: Likewise.
38651         * m4/fopen.m4: Likewise.
38652         * m4/fpending.m4: Likewise.
38653         * m4/fprintf-posix.m4: Likewise.
38654         * m4/free.m4: Likewise.
38655         * m4/frexp.m4: Likewise.
38656         * m4/frexpl.m4: Likewise.
38657         * m4/fsusage.m4: Likewise.
38658         * m4/ftruncate.m4: Likewise.
38659         * m4/gc-camellia.m4: Likewise.
38660         * m4/gc-random.m4: Likewise.
38661         * m4/gc.m4: Likewise.
38662         * m4/getaddrinfo.m4: Likewise.
38663         * m4/getcwd-abort-bug.m4: Likewise.
38664         * m4/getcwd-path-max.m4: Likewise.
38665         * m4/getdate.m4: Likewise.
38666         * m4/getdomainname.m4: Likewise.
38667         * m4/getgroups.m4: Likewise.
38668         * m4/gethostname.m4: Likewise.
38669         * m4/gethrxtime.m4: Likewise.
38670         * m4/getline.m4: Likewise.
38671         * m4/getloadavg.m4: Likewise.
38672         * m4/getndelim2.m4: Likewise.
38673         * m4/getpass.m4: Likewise.
38674         * m4/gettext.m4: Likewise.
38675         * m4/gettime.m4: Likewise.
38676         * m4/gettimeofday.m4: Likewise.
38677         * m4/gnulib-common.m4: Likewise.
38678         * m4/group-member.m4: Likewise.
38679         * m4/host-os.m4: Likewise.
38680         * m4/iconv.m4: Likewise.
38681         * m4/iconv_open.m4: Likewise.
38682         * m4/inet_ntop.m4: Likewise.
38683         * m4/inet_pton.m4: Likewise.
38684         * m4/inline.m4: Likewise.
38685         * m4/intldir.m4: Likewise.
38686         * m4/intlmacosx.m4: Likewise.
38687         * m4/intmax.m4: Likewise.
38688         * m4/intmax_t.m4: Likewise.
38689         * m4/inttypes.m4: Likewise.
38690         * m4/inttypes_h.m4: Likewise.
38691         * m4/inttypes-pri.m4: Likewise.
38692         * m4/isapipe.m4: Likewise.
38693         * m4/isnand.m4: Likewise.
38694         * m4/isnanf.m4: Likewise.
38695         * m4/isnanl.m4: Likewise.
38696         * m4/javacomp.m4: Likewise.
38697         * m4/javaexec.m4: Likewise.
38698         * m4/jm-winsz1.m4: Likewise.
38699         * m4/jm-winsz2.m4: Likewise.
38700         * m4/lchown.m4: Likewise.
38701         * m4/lcmessage.m4: Likewise.
38702         * m4/ldexpl.m4: Likewise.
38703         * m4/lib-ld.m4: Likewise.
38704         * m4/lib-link.m4: Likewise.
38705         * m4/libsigsegv.m4: Likewise.
38706         * m4/link-follow.m4: Likewise.
38707         * m4/localcharset.m4: Likewise.
38708         * m4/locale-fr.m4: Likewise.
38709         * m4/locale-ja.m4: Likewise.
38710         * m4/locale-tr.m4: Likewise.
38711         * m4/locale-zh.m4: Likewise.
38712         * m4/lock.m4: Likewise.
38713         * m4/longlong.m4: Likewise.
38714         * m4/ls-mntd-fs.m4: Likewise.
38715         * m4/lstat.m4: Likewise.
38716         * m4/malloc.m4: Likewise.
38717         * m4/mathl.m4: Likewise.
38718         * m4/mbrtowc.m4: Likewise.
38719         * m4/mbstate_t.m4: Likewise.
38720         * m4/mbswidth.m4: Likewise.
38721         * m4/memchr.m4: Likewise.
38722         * m4/memcmp.m4: Likewise.
38723         * m4/memcpy.m4: Likewise.
38724         * m4/memmem.m4: Likewise.
38725         * m4/memmove.m4: Likewise.
38726         * m4/mempcpy.m4: Likewise.
38727         * m4/memrchr.m4: Likewise.
38728         * m4/memset.m4: Likewise.
38729         * m4/minmax.m4: Likewise.
38730         * m4/mkdir-slash.m4: Likewise.
38731         * m4/mkdtemp.m4: Likewise.
38732         * m4/mktime.m4: Likewise.
38733         * m4/mmap-anon.m4: Likewise.
38734         * m4/mountlist.m4: Likewise.
38735         * m4/nanosleep.m4: Likewise.
38736         * m4/nls.m4: Likewise.
38737         * m4/nocrash.m4: Likewise.
38738         * m4/open.m4: Likewise.
38739         * m4/openat.m4: Likewise.
38740         * m4/openmp.m4: Likewise.
38741         * m4/pathmax.m4: Likewise.
38742         * m4/perl.m4: Likewise.
38743         * m4/physmem.m4: Likewise.
38744         * m4/pipe.m4: Likewise.
38745         * m4/po.m4: Likewise.
38746         * m4/poll.m4: Likewise.
38747         * m4/posixtm.m4: Likewise.
38748         * m4/posixver.m4: Likewise.
38749         * m4/printf-frexp.m4: Likewise.
38750         * m4/printf-frexpl.m4: Likewise.
38751         * m4/printf-posix.m4: Likewise.
38752         * m4/printf-posix-rpl.m4: Likewise.
38753         * m4/printf.m4: Likewise.
38754         * m4/progtest.m4: Likewise.
38755         * m4/putenv.m4: Likewise.
38756         * m4/readline.m4: Likewise.
38757         * m4/readlink.m4: Likewise.
38758         * m4/readutmp.m4: Likewise.
38759         * m4/realloc.m4: Likewise.
38760         * m4/regex.m4: Likewise.
38761         * m4/relocatable.m4: Likewise.
38762         * m4/relocatable-lib.m4: Likewise.
38763         * m4/rename-dest-slash.m4: Likewise.
38764         * m4/rename.m4: Likewise.
38765         * m4/rmdir-errno.m4: Likewise.
38766         * m4/rmdir.m4: Likewise.
38767         * m4/roundf.m4: Likewise.
38768         * m4/roundl.m4: Likewise.
38769         * m4/rpmatch.m4: Likewise.
38770         * m4/save-cwd.m4: Likewise.
38771         * m4/selinux-selinux-h.m4: Likewise.
38772         * m4/setenv.m4: Likewise.
38773         * m4/settime.m4: Likewise.
38774         * m4/sig2str.m4: Likewise.
38775         * m4/sig_atomic_t.m4: Likewise.
38776         * m4/signalblocking.m4: Likewise.
38777         * m4/signbit.m4: Likewise.
38778         * m4/sigpipe.m4: Likewise.
38779         * m4/sockets.m4: Likewise.
38780         * m4/sockpfaf.m4: Likewise.
38781         * m4/st_dm_mode.m4: Likewise.
38782         * m4/stat-time.m4: Likewise.
38783         * m4/stdbool.m4: Likewise.
38784         * m4/stdint.m4: Likewise.
38785         * m4/stdint_h.m4: Likewise.
38786         * m4/stpcpy.m4: Likewise.
38787         * m4/stpncpy.m4: Likewise.
38788         * m4/strcase.m4: Likewise.
38789         * m4/strchrnul.m4: Likewise.
38790         * m4/strcspn.m4: Likewise.
38791         * m4/strdup.m4: Likewise.
38792         * m4/strftime.m4: Likewise.
38793         * m4/strndup.m4: Likewise.
38794         * m4/strnlen.m4: Likewise.
38795         * m4/strpbrk.m4: Likewise.
38796         * m4/strptime.m4: Likewise.
38797         * m4/strsep.m4: Likewise.
38798         * m4/strtod.m4: Likewise.
38799         * m4/strtoimax.m4: Likewise.
38800         * m4/strtok_r.m4: Likewise.
38801         * m4/strtol.m4: Likewise.
38802         * m4/strtoll.m4: Likewise.
38803         * m4/strtoul.m4: Likewise.
38804         * m4/strtoull.m4: Likewise.
38805         * m4/strtoumax.m4: Likewise.
38806         * m4/strverscmp.m4: Likewise.
38807         * m4/threadlib.m4: Likewise.
38808         * m4/timegm.m4: Likewise.
38809         * m4/tm_gmtoff.m4: Likewise.
38810         * m4/tmpdir.m4: Likewise.
38811         * m4/tmpfile.m4: Likewise.
38812         * m4/tzset.m4: Likewise.
38813         * m4/uintmax_t.m4: Likewise.
38814         * m4/unlinkdir.m4: Likewise.
38815         * m4/unlocked-io.m4: Likewise.
38816         * m4/uptime.m4: Likewise.
38817         * m4/userspec.m4: Likewise.
38818         * m4/utimbuf.m4: Likewise.
38819         * m4/utime.m4: Likewise.
38820         * m4/utimes-null.m4: Likewise.
38821         * m4/utimes.m4: Likewise.
38822         * m4/vararrays.m4: Likewise.
38823         * m4/vasnprintf.m4: Likewise.
38824         * m4/vfprintf-posix.m4: Likewise.
38825         * m4/vprintf-posix.m4: Likewise.
38826         * m4/wait-process.m4: Likewise.
38827         * m4/wchar_t.m4: Likewise.
38828         * m4/wint_t.m4: Likewise.
38829         * m4/write-any-file.m4: Likewise.
38830         * m4/yield.m4: Likewise.
38831
38832 2009-01-13  Bruno Haible  <bruno@clisp.org>
38833
38834         Avoid test-copy-file.sh failures when ACL support insufficient.
38835         * modules/copy-file-tests (Makefile.am): Pass USE_ACL in
38836         TESTS_ENVIRONMENT.
38837         * tests/test-copy-file.sh: Skip the ACL comparisons if USE_ACL is 0.
38838         Reported by Jim Meyering.
38839
38840 2009-01-13  Bruno Haible  <bruno@clisp.org>
38841
38842         * modules/unistdio/u-printf-args (Files): Add m4/stdint_h.m4 and
38843         m4/inttypes_h.m4, needed by m4/intmax_t.m4.
38844         * modules/unistdio/u8-printf-parse (Files): Likewise.
38845         * modules/unistdio/u32-printf-parse (Files): Likewise.
38846         * modules/unistdio/ulc-printf-parse (Files): Likewise.
38847
38848 2009-01-13  Simon Josefsson  <simon@josefsson.org>
38849
38850         * modules/unistdio/u16-printf-parse (Files): Add m4/stdint_h.m4
38851         and m4/inttypes_h.m4 too.
38852
38853 2009-01-12  Eric Blake  <ebb9@byu.net>
38854
38855         tests: IRIX 6.2 cc can't compile -0.0 into .data
38856         * tests/test-ceill.c (minus_zero): Compute -0.0L at runtime,
38857         rather than at compile-time.
38858         * tests/test-floorl.c (minus_zero): Likewise.
38859         * tests/test-frexpl.c (minus_zero): Likewise.
38860         * tests/test-isnan.c (minus_zerol): Likewise.
38861         * tests/test-isnanl.h (minus_zero): Likewise.
38862         * tests/test-ldexpl.c (minus_zero): Likewise.
38863         * tests/test-roundl.c (minus_zero): Likewise.
38864         * tests/test-signbit.c (minus_zerol): Likewise.
38865         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
38866         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
38867         * tests/test-truncl.c (minus_zero): Likewise.
38868         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
38869         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
38870         Reported by Tom G. Christensen and Nelson H. F. Beebe.
38871
38872 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
38873
38874         regex: fix glibc bug 9697
38875         * lib/regcomp.c (re_compile_fastmap_iter): Rewrite COMPLEX_BRACKET
38876         handling.
38877
38878 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
38879
38880         regex: fix glibc bug 697
38881         * lib/regexec.c (prune_impossible_nodes): Handle sifted_states[0]
38882         being NULL also if there are no backreferences.
38883
38884 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
38885
38886         regex: merge glibc changes
38887         * lib/regcomp.c (re_compile_fastmap_iter): Use __mbrtowc.
38888         * lib/regex_internal.c (build_wcs_buffer, build_wcs_upper_buffer,
38889         re_string_skip_chars, re_string_reconstruct): Likewise.
38890         * lib/regex_internal.h [!_LIBC] (__mbrtowc): New #define.
38891
38892 2009-01-07  Jim Meyering  <meyering@redhat.com>
38893
38894         poll: filter through cppi
38895         * lib/poll.c: Indent cpp directives to reflect nesting.
38896
38897 2009-01-07  Daniel P. Berrange  <berrange@redhat.com>
38898
38899         poll: don't return uninitialized
38900         * lib/poll.c (poll) [WIN32_NATIVE]: Initialize "rc".
38901
38902 2009-01-06  Jeremy Olexa <darkside@gentoo.org>  (tiny change)
38903
38904         avoid compile failure on AIX 6.1
38905         * lib/getloadavg.c [HAVE_LIBPERFSTAT]: Include <sys/protosw.h>.
38906         Details in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/15465
38907
38908 2009-01-04  Jim Meyering  <meyering@redhat.com>
38909
38910         remove duplicate inclusion of <stdio.h>
38911         * tests/test-fprintf-posix.c: Likewise.
38912         * tests/test-printf-posix.c: Likewise.
38913         * tests/test-snprintf-posix.c: Likewise.
38914         * tests/test-sprintf-posix.c: Likewise.
38915         * tests/test-vasprintf-posix.c: Likewise.
38916         * tests/test-vfprintf-posix.c: Likewise.
38917         * tests/test-vprintf-posix.c: Likewise.
38918         * tests/test-vsnprintf-posix.c: Likewise.
38919         * tests/test-vsprintf-posix.c: Likewise.
38920
38921 2009-01-03  Jim Meyering  <meyering@redhat.com>
38922
38923         gnulib-tool: fix sed-based filtering
38924         * gnulib-tool (func_filter_filelist): Remove extra backslash
38925         in sed_fff_filter definition.
38926
38927 2009-01-02  Jim Meyering  <meyering@redhat.com>
38928
38929         strftime: avoid compilation failure on Solaris 2.6
38930         * modules/strftime (Depends-on): Add mbrlen and mbsinit.
38931         * lib/strftime.c [DO_MULTIBYTE]: Include <wchar.h> unconditionally.
38932         Don't #define mbrlen or mbsinit, since now they're guaranteed to
38933         be available.  Reported by Tom G. Christensen.  Details in
38934         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16180>.
38935
38936 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38937             Bruno Haible  <bruno@clisp.org>
38938
38939         Speed up gnulib-tool by doing more string processing through shell
38940         built-ins.
38941         * gnulib-tool (fast_func_append): New variable.
38942         (func_remove_prefix, func_remove_suffix): New functions.
38943         (fast_func_remove_prefix, fast_func_remove_suffix): New variables.
38944         (func_filter_filelist): New function.
38945         (func_get_dependencies): Use func_remove_suffix instead of sed.
38946         (func_get_automake_snippet): Use func_filter_filelist instead of a
38947         subshell and sed invocation.
38948
38949 2009-01-01  Bruno Haible  <bruno@clisp.org>
38950
38951         Fix a security bug.
38952         * gnulib-tool (func_import, import, update): Don't allow the characters
38953         '"', '$', '`', '\' in macro arguments that become part of commands that
38954         are evaluated.
38955
38956 2009-01-01  Bruno Haible  <bruno@clisp.org>
38957
38958         * gnulib-tool (func_reset_sigpipe): Add more comments.
38959
38960 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38961
38962         * gnulib-tool (func_modules_add_dummy, func_emit_lib_Makefile_am,
38963         func_emit_tests_Makefile_am, func_import): Abort loops early if we
38964         already know the answer.
38965
38966 2009-01-01  Jim Meyering  <meyering@redhat.com>
38967
38968         * lib/version-etc.c (version_etc_va): Update copyright year.
38969
38970 2008-12-30  Bruno Haible  <bruno@clisp.org>
38971
38972         * m4/lib-prefix.m4 (AC_LIB_LINKFLAGS_BODY): Don't overwrite
38973         LIB${NAME}_PREFIX when considering the dependencies of lib${name}.
38974         Reported by Charles Wilson <cygwin@cwilson.fastmail.fm>.
38975
38976 2008-12-29  Eric Blake  <ebb9@byu.net>
38977
38978         multiarch: avoid autoconf AC_REQUIRE bug
38979         * m4/multiarch.m4 (gl_MULTIARCH): Split body...
38980         (gl_MULTIARCH_BODY): ...into new macro, to work around bug in Autoconf
38981         2.63 and older.
38982         Reported by Bruno Haible, and analyzed in
38983         http://lists.gnu.org/archive/html/bug-autoconf/2008-12/msg00039.html
38984
38985 2008-12-29  Bruno Haible  <bruno@clisp.org>
38986
38987         * gnulib-tool (func_import): When generating sed-ignore-removed, handle
38988         files in subdirectories correctly.
38989         Reported by Ralf Wildenhues.
38990
38991 2008-12-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38992
38993         * gnulib-tool (func_update_ignorelist): Use 'join - FILE'
38994         rather than 'join FILE -', for Solaris join.
38995
38996 2008-12-29  Bruno Haible  <bruno@clisp.org>
38997
38998         * m4/codeset.m4 (AM_LANGINFO_CODESET): More systematic m4 argument
38999         quoting.
39000         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
39001         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
39002         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
39003         * m4/iconv.m4 (AM_ICONV_LINK, AM_ICONV): Likewise.
39004         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
39005         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
39006         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
39007         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
39008         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
39009         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
39010         * m4/nls.m4 (AM_NLS): Likewise.
39011         * m4/po.m4 (AM_PO_SUBDIRS): Likewise.
39012         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
39013         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
39014         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
39015         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
39016         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
39017         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Likewise.
39018         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
39019         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
39020         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
39021         * m4/xsize.m4 (gl_XSIZE): Likewise.
39022         Suggested by Jim Meyering.
39023
39024 2008-11-17  Bruce Korb  <bkorb@gnu.org>
39025
39026         * lib/parse-duration.h: non-iso form accepts years, months weeks, too
39027         * lib/parse-duration.c: use a switch instead of cascading if's.
39028
39029 2008-12-29  Eric Blake  <ebb9@byu.net>
39030
39031         wchar.h: supply WEOF on Irix 5.3
39032         * lib/wchar.in.h (wint_t): Also supply WEOF.
39033         * lib/wctype.in.h (wint_t): Likewise.
39034         * doc/posix-headers/wchar.texi (wchar.h): Document the bug.
39035         * doc/posix-headers/wctype.texi (wctype.h): Likewise.
39036         Reported by Tom G. Christensen.
39037
39038 2008-12-26  Bruno Haible  <bruno@clisp.org>
39039
39040         * m4/multiarch.m4 (gl_MULTIARCH): Recognize also the architecture names
39041         i486, i586, i686.
39042
39043 2008-12-26  Bruno Haible  <bruno@clisp.org>
39044
39045         * lib/stdlib.in.h (struct random_data): Fix indentation of comments.
39046
39047 2008-12-26  Bruno Haible  <bruno@clisp.org>
39048
39049         * lib/stdint.in.h: Move the include of <wchar.h> down until after all
39050         the types are defined. Also conditionalize it on __STDC_LIMIT_MACROS,
39051         not __STDC_CONSTANT_MACROS.
39052         Reported by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
39053
39054 2008-12-25  Bruno Haible  <bruno@clisp.org>
39055
39056         Add support for universal builds to vasnprintf.
39057         * m4/printf.m4 (gl_PRINTF_ENOMEM): Require gl_MULTIARCH. In Apple
39058         universal builds, guess no.
39059         * modules/vasnprintf-posix (Depends-on): Add multiarch.
39060         * modules/vasprintf-posix (Depends-on): Likewise.
39061         * modules/fprintf-posix (Depends-on): Likewise.
39062         * modules/vfprintf-posix (Depends-on): Likewise.
39063         * modules/snprintf-posix (Depends-on): Likewise.
39064         * modules/vsnprintf-posix (Depends-on): Likewise.
39065         * modules/sprintf-posix (Depends-on): Likewise.
39066         * modules/vsprintf-posix (Depends-on): Likewise.
39067         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
39068         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
39069         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
39070         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
39071         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
39072         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
39073         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
39074
39075         Add support for universal builds to <inttypes.h>.
39076         * lib/inttypes.in.h (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX,
39077         _SCNu64_PREFIX): In Apple
39078         universal builds, define directly, using _LP64.
39079         * m4/inttypes.m4 (gl_INTTYPES_H): In Apple universal builds, set
39080         INT64_MAX_EQ_LONG_MAX and UINT64_MAX_EQ_ULONG_MAX to -1.
39081         * modules/inttypes (Depends-on): Add multiarch.
39082         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
39083
39084         Add support for universal builds to <stdint.h>.
39085         * lib/stdint.in.h (PDFDIFF_MIN, PTRDIFF_MAX, SIZE_MAX): In Apple
39086         universal builds, define directly, using _LP64.
39087         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Require gl_MULTIARCH. In
39088         Apple universal builds, don't test for the size and suffix of ptrdiff_t
39089         and size_t.
39090         * modules/stdint (Depends-on): Add multiarch.
39091         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
39092
39093         New module 'multiarch'.
39094         * modules/multiarch: New file.
39095         * m4/multiarch.m4: New file.
39096
39097 2008-12-25  Bruno Haible  <bruno@clisp.org>
39098
39099         * gnulib-tool (func_create_testdir): Avoid failure of mv command.
39100
39101 2008-12-25  Bruno Haible  <bruno@clisp.org>
39102
39103         * modules/btowc (License): Relicense under LGPLv2+.
39104         * modules/mbsinit (License): Likewise.
39105         * modules/mbrtowc (License): Likewise.
39106         * modules/wcrtomb (License): Likewise.
39107         * modules/streq (License): Likewise.
39108         Reported by David Lutterkort <lutter@redhat.com>.
39109
39110 2008-12-23  Bruno Haible  <bruno@clisp.org>
39111
39112         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Fix conditional and comment.
39113
39114 2008-12-23  Bruno Haible  <bruno@clisp.org>
39115
39116         Module getaddrinfo requires linking with $(GETADDRINFO_LIB).
39117         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Put link options into
39118         GETADDRINFO_LIB, not in LIBS.
39119         * modules/getaddrinfo (Link): Set to $(GETADDRINFO_LIB).
39120         * modules/canon-host (Link): Likewise.
39121         * NEWS: Mention the change.
39122         * modules/getaddrinfo-tests (test_getaddrinfo_LDADD): Add the
39123         GETADDRINFO_LIB.
39124
39125 2008-12-22  Bruno Haible  <bruno@clisp.org>
39126
39127         * doc/posix-functions/iswalnum_l.texi: Mention limitation of wchar_t.
39128         * doc/posix-functions/iswalpha_l.texi: Likewise.
39129         * doc/posix-functions/iswblank_l.texi: Likewise.
39130         * doc/posix-functions/iswcntrl_l.texi: Likewise.
39131         * doc/posix-functions/iswctype_l.texi: Likewise.
39132         * doc/posix-functions/iswdigit_l.texi: Likewise.
39133         * doc/posix-functions/iswgraph_l.texi: Likewise.
39134         * doc/posix-functions/iswlower_l.texi: Likewise.
39135         * doc/posix-functions/iswprint_l.texi: Likewise.
39136         * doc/posix-functions/iswpunct_l.texi: Likewise.
39137         * doc/posix-functions/iswspace_l.texi: Likewise.
39138         * doc/posix-functions/iswupper_l.texi: Likewise.
39139         * doc/posix-functions/iswxdigit_l.texi: Likewise.
39140         * doc/posix-functions/mbsnrtowcs.texi: Likewise.
39141         * doc/posix-functions/open_wmemstream.texi: Likewise.
39142         * doc/posix-functions/swscanf.texi: Likewise.
39143         * doc/posix-functions/towctrans_l.texi: Likewise.
39144         * doc/posix-functions/towlower.texi: Likewise.
39145         * doc/posix-functions/towlower_l.texi: Likewise.
39146         * doc/posix-functions/towupper.texi: Likewise.
39147         * doc/posix-functions/towupper_l.texi: Likewise.
39148         * doc/posix-functions/vfwprintf.texi: Likewise.
39149         * doc/posix-functions/vfwscanf.texi: Likewise.
39150         * doc/posix-functions/vswscanf.texi: Likewise.
39151         * doc/posix-functions/vwprintf.texi: Likewise.
39152         * doc/posix-functions/vwscanf.texi: Likewise.
39153         * doc/posix-functions/wcpcpy.texi: Likewise.
39154         * doc/posix-functions/wcpncpy.texi: Likewise.
39155         * doc/posix-functions/wcscasecmp.texi: Likewise.
39156         * doc/posix-functions/wcscasecmp_l.texi: Likewise.
39157         * doc/posix-functions/wcscoll_l.texi: Likewise.
39158         * doc/posix-functions/wcsdup.texi: Likewise.
39159         * doc/posix-functions/wcsncasecmp.texi: Likewise.
39160         * doc/posix-functions/wcsncasecmp_l.texi: Likewise.
39161         * doc/posix-functions/wcsnlen.texi: Likewise.
39162         * doc/posix-functions/wcsnrtombs.texi: Likewise.
39163         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
39164         * doc/posix-functions/wctrans_l.texi: Likewise.
39165         * doc/posix-functions/wctype_l.texi: Likewise.
39166         * doc/glibc-functions/fgetwc_unlocked.texi: Likewise.
39167         * doc/glibc-functions/fgetws_unlocked.texi: Likewise.
39168         * doc/glibc-functions/fputwc_unlocked.texi: Likewise.
39169         * doc/glibc-functions/fputws_unlocked.texi: Likewise.
39170         * doc/glibc-functions/getwc_unlocked.texi: Likewise.
39171         * doc/glibc-functions/getwchar_unlocked.texi: Likewise.
39172         * doc/glibc-functions/putwc_unlocked.texi: Likewise.
39173         * doc/glibc-functions/putwchar_unlocked.texi: Likewise.
39174         * doc/glibc-functions/wcschrnul.texi: Likewise.
39175         * doc/glibc-functions/wcsftime_l.texi: Likewise.
39176         * doc/glibc-functions/wcstod_l.texi: Likewise.
39177         * doc/glibc-functions/wcstof_l.texi: Likewise.
39178         * doc/glibc-functions/wcstol_l.texi: Likewise.
39179         * doc/glibc-functions/wcstold_l.texi: Likewise.
39180         * doc/glibc-functions/wcstoll_l.texi: Likewise.
39181         * doc/glibc-functions/wcstoq.texi: Likewise.
39182         * doc/glibc-functions/wcstoul_l.texi: Likewise.
39183         * doc/glibc-functions/wcstoull_l.texi: Likewise.
39184         * doc/glibc-functions/wcstouq.texi: Likewise.
39185         * doc/glibc-functions/wmempcpy.texi: Likewise.
39186
39187 2008-12-22  Ingo Weinhold  <ingo_weinhold@gmx.de>  (tiny change)
39188             Eric Blake  <ebb9@byu.net>
39189             Paolo Bonzini  <bonzini@gnu.org>
39190             Bruno Haible  <bruno@clisp.org>
39191
39192         Make c-stack work on Haiku.
39193         * lib/c-stack.c (SA_ONSTACK): Define fallback.
39194         (c_stack_action): Use SA_ONSTACK flag.
39195
39196 2008-12-22  Bruno Haible  <bruno@clisp.org>
39197
39198         * m4/locale-fr.m4 (gt_LOCALE_FR_UTF8): Treat Haiku like BeOS.
39199
39200 2008-12-22  Bruno Haible  <bruno@clisp.org>
39201
39202         Work around mbrlen() bugs on AIX, HP-UX, OSF/1, Solaris.
39203         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Set REPLACE_MBRLEN if mbrtowc is
39204         being overridden.
39205         (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL, gl_MBRLEN_NUL_RETVAL):
39206         New macros.
39207         * lib/wchar.in.h (mbrlen): Override if REPLACE_MBRLEN is set.
39208         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBRLEN.
39209         * modules/wchar (Makefile.am): Substitute REPLACE_MBRLEN.
39210         * doc/posix-functions/mbrlen.texi: Mention the various platform bugs.
39211
39212 2008-12-22  Bruno Haible  <bruno@clisp.org>
39213
39214         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Remove unused variable
39215         from test code.
39216
39217 2008-12-22  Eric Blake  <ebb9@byu.net>
39218
39219         Avoid gcc warnings on cygwin.
39220         * lib/regex_internal.c (re_string_reconstruct) [!RE_ENABLE_I18N]:
39221         Avoid unused variable.
39222         * lib/regexec.c (check_arrival_add_next_nodes) [!RE_ENABLE_I18N]:
39223         Likewise.
39224
39225 2008-12-22  Bruno Haible  <bruno@clisp.org>
39226
39227         Remove HAVE_MBRTOWC conditionals.
39228         * lib/mbscasecmp.c: Include mbuiter.h unconditionally.
39229         (mbscasecmp): Assume mbrtowc function.
39230         * lib/mbscasestr.c: Include mbuiter.h unconditionally.
39231         (knuth_morris_pratt_multibyte, mbscasestr): Assume mbrtowc function.
39232         * lib/mbschr.c: Include mbuiter.h unconditionally.
39233         (mbschr): Assume mbrtowc function.
39234         * lib/mbscspn.c: Include mbuiter.h unconditionally.
39235         (mbscspn): Assume mbrtowc function.
39236         * lib/mbslen.c: Include mbuiter.h unconditionally.
39237         (mbslen): Assume mbrtowc function.
39238         * lib/mbsncasecmp.c: Include mbuiter.h unconditionally.
39239         (mbsncasecmp): Assume mbrtowc function.
39240         * lib/mbsnlen.c: Include mbiter.h unconditionally.
39241         (mbsnlen): Assume mbrtowc function.
39242         * lib/mbspbrk.c: Include mbuiter.h unconditionally.
39243         (mbspbrk): Assume mbrtowc function.
39244         * lib/mbspcasecmp.c: Include mbuiter.h unconditionally.
39245         (mbspcasecmp): Assume mbrtowc function.
39246         * lib/mbsrchr.c: Include mbuiter.h unconditionally.
39247         (mbsrchr): Assume mbrtowc function.
39248         * lib/mbssep.c: Include mbuiter.h unconditionally.
39249         (mbssep): Assume mbrtowc function.
39250         * lib/mbsspn.c: Include mbuiter.h unconditionally.
39251         (mbsspn): Assume mbrtowc function.
39252         * lib/mbsstr.c: Include mbuiter.h unconditionally.
39253         (knuth_morris_pratt_multibyte, mbsstr): Assume mbrtowc function.
39254         * lib/mbstok_r.c: Include mbuiter.h unconditionally.
39255         (mbstok_r): Assume mbrtowc function.
39256         * lib/propername.c: Include mbuiter.h unconditionally.
39257         (mbsstr_trimmed_wordbounded): Assume mbrtowc function.
39258         * lib/trim.c: Include mbchar.h, mbiter.h uncondtionally.
39259         (trim2): Assume mbrtowc function.
39260         * lib/mbswidth.c (mbsinit): Remove fallback definition.
39261         (mbsnwidth): Assume mbrtowc function.
39262         * modules/mbswidth (Depends-on): Add mbrtowc, mbsinit.
39263         * lib/quotearg.c (MB_CUR_MAX, mbstate_t, mbrtowc, iswprint): Remove
39264         fallback definitions.
39265         * modules/quotearg (Depends-on): Add mbrtowc, mbsinit.
39266
39267 2008-12-22  Bruno Haible  <bruno@clisp.org>
39268
39269         * doc/posix-functions/mbtowc.texi: Mention a glibc bug.
39270
39271 2008-12-22  Paolo Bonzini  <bonzini@gnu.org>
39272
39273         * modules/regex: Request emulations for the mb*/wc* functions we need.
39274         * m4/regex.m4: Don't look for those functions here.
39275         * lib/regex_internal.h: Do not check HAVE_WCRTOMB and HAVE_MBRTOWC.
39276
39277 2008-12-22  Bruno Haible  <bruno@clisp.org>
39278
39279         * modules/fnmatch (Depends-on): Remove duplicated dependency.
39280
39281 2008-12-21  Bruno Haible  <bruno@clisp.org>
39282
39283         Make mbiter.h, mbuiter.h, mbfile.h usable unconditionally.
39284         * modules/mbiter (Depends-on): Add mbrtowc, mbsinit.
39285         (Include): Remove conditionalization.
39286         * modules/mbuiter (Depends-on): Add mbrtowc, mbsinit.
39287         (Include): Remove conditionalization.
39288         * modules/mbfile (Depends-on): Add mbrtowc, mbsinit.
39289         (Include): Remove conditionalization.
39290         * m4/mbiter.m4 (gl_MBITER): Deprecate the use of AC_FUNC_MBRTOWC.
39291         * m4/mbfile.m4 (gl_MBFILE): Likewise.
39292         * NEWS: Mention the change.
39293         Reported by Alan Hourihane <alanh@fairlite.co.uk>
39294         via Sergey Poznyakoff <gray@gnu.org.ua>.
39295
39296 2008-12-21  Bruno Haible  <bruno@clisp.org>
39297
39298         * MODULES.html.sh (Extended multibyte and wide character utilities
39299         <wchar.h>): Add btowc, wctob, mbsinit, mbrlen, mbrtowc, mbsrtowcs,
39300         wcrtomb, wcsrtombs.
39301         (Support for systems lacking POSIX:2008): Add accept, bind, close,
39302         connect, fclose, getpeername, getsockname, getsockopt, hostent, listen,
39303         mbsnrtowcs, posix_spawn*, recv, recvfrom, sched, select, send, sendto,
39304         setsockopt, shutdown, socket, spawn, sys_wait, wcsnrtombs, write.
39305
39306 2008-12-21  Bruno Haible  <bruno@clisp.org>
39307
39308         * MODULES.html.sh: Change section titles to refer to POSIX:2008.
39309
39310 2008-12-21  Bruno Haible  <bruno@clisp.org>
39311
39312         * modules/wcsnrtombs-tests: New file.
39313         * tests/test-wcsnrtombs1.sh: New file.
39314         * tests/test-wcsnrtombs2.sh: New file.
39315         * tests/test-wcsnrtombs3.sh: New file.
39316         * tests/test-wcsnrtombs4.sh: New file.
39317         * tests/test-wcsnrtombs.c: New file.
39318
39319         New module 'wcsnrtombs'.
39320         * lib/wchar.in.h (wcsnrtombs): New declaration.
39321         * lib/wcsnrtombs.c: New file.
39322         * lib/wcsrtombs-state.c: New file.
39323         * lib/wcsrtombs.c: Refer to _gl_wcsrtombs_state.
39324         (internal_state): Remove variable.
39325         * m4/wcsnrtombs.m4: New file.
39326         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Add wcsrtombs-state.c to the
39327         compilation units.
39328         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNRTOMBS,
39329         HAVE_WCSNRTOMBS.
39330         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNRTOMBS,
39331         HAVE_WCSNRTOMBS.
39332         * modules/wcsnrtombs: New file.
39333         * modules/wcsrtombs (Files): Add lib/wcsrtombs-state.c.
39334         * doc/posix-functions/wcsnrtombs.texi: Mention the new module.
39335
39336 2008-12-21  Bruno Haible  <bruno@clisp.org>
39337
39338         * modules/wcsrtombs-tests: New file.
39339         * tests/test-wcsrtombs1.sh: New file.
39340         * tests/test-wcsrtombs2.sh: New file.
39341         * tests/test-wcsrtombs3.sh: New file.
39342         * tests/test-wcsrtombs4.sh: New file.
39343         * tests/test-wcsrtombs.c: New file.
39344
39345         New module 'wcsrtombs'.
39346         * lib/wchar.in.h (wcsrtombs): New declaration.
39347         * lib/wcsrtombs.c: New file.
39348         * m4/wcsrtombs.m4: New file.
39349         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRTOMBS,
39350         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
39351         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRTOMBS,
39352         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
39353         * modules/wcsrtombs: New file.
39354         * doc/posix-functions/wcsrtombs.texi: Mention the new module and the
39355         bugs.
39356
39357 2008-12-21  Bruno Haible  <bruno@clisp.org>
39358
39359         Work around a wcrtomb() bug on Solaris 10 and OSF/1 5.1.
39360         * lib/wchar.in.h (wcrtomb): Override if REPLACE_WCRTOMB is set.
39361         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Test the return value of wcrtomb
39362         with NULL destination argument in various locales. Set REPLACE_WCRTOMB
39363         if not correct.
39364         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCRTOMB.
39365         * modules/wchar (Makefile.am): Substitute REPLACE_WCRTOMB.
39366         * modules/wcrtomb (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
39367         m4/locale-zh.m4, m4/codeset.m4.
39368         * doc/posix-functions/wcrtomb.texi: Document the bug.
39369
39370 2008-12-21  Bruno Haible  <bruno@clisp.org>
39371
39372         Work around a btowc() bug on IRIX 6.5.
39373         * lib/wchar.in.h (btowc): Override if REPLACE_BTOWC is set.
39374         * m4/btowc.m4 (gl_FUNC_BTOWC): Test whether btowc(EOF) is correct. Set
39375         REPLACE_WTOBC if not.
39376         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_BTOWC.
39377         * modules/wchar (Makefile.am): Substitute REPLACE_BTOWC.
39378         * doc/posix-functions/btowc.texi: Mention the IRIX bug.
39379
39380 2008-12-21  Bruno Haible  <bruno@clisp.org>
39381
39382         * modules/wcrtomb-tests: New file.
39383         * tests/test-wcrtomb.sh: New file.
39384         * tests/test-wcrtomb.c: New file.
39385
39386         New module 'wcrtomb'.
39387         * lib/wchar.in.h (wcrtomb): New declaration.
39388         * lib/wcrtomb.c: New file.
39389         * m4/wcrtomb.m4: New file.
39390         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCRTOMB,
39391         HAVE_WCRTOMB.
39392         * modules/wchar (Makefile.am): Substitute GNULIB_WCRTOMB,
39393         HAVE_WCRTOMB.
39394         * modules/wcrtomb: New file.
39395         * doc/posix-functions/wcrtomb.texi: Mention the new module.
39396
39397 2008-12-21  Bruno Haible  <bruno@clisp.org>
39398
39399         * modules/mbrtowc (Files): Add m4/codeset.m4, needed by m4/locale-fr.m4.
39400         * modules/mbsrtowcs (Files): Likewise.
39401         * modules/wctob (Files): Likewise.
39402         * modules/c-strcase-tests (Files): Likewise.
39403         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
39404         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
39405         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
39406         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
39407         * modules/vasnprintf-posix-tests (Files): Likewise.
39408
39409 2008-12-21  William Pursell  <bill.pursell@gmail.com>
39410
39411         gitlog-to-changelog: pass all command-line arguments to git-log
39412         * build-aux/gitlog-to-changelog: When producing a ChangeLog,
39413         it is sometimes convenient to filter the commits in various ways.
39414         gitlog-to-changelog only allows --since to specify a start date,
39415         but git-log itself supports many other filtering mechanisms.
39416         At the moment, I want to filter by branch name.  Rather than
39417         adding a --branch option to gitlog-to-changelog, it seems more
39418         flexible to simply pass all options directly to git-log and let
39419         git do the work.  Notice that this effectively makes --since a
39420         redundant option for gitlog-to-changelog, but removing it would
39421         require current usage to change since calls would then require
39422         an additional '--'.
39423
39424 2008-12-21  Bruno Haible  <bruno@clisp.org>
39425
39426         * modules/mbsnrtowcs-tests: New file.
39427         * tests/test-mbsnrtowcs1.sh: New file.
39428         * tests/test-mbsnrtowcs2.sh: New file.
39429         * tests/test-mbsnrtowcs3.sh: New file.
39430         * tests/test-mbsnrtowcs4.sh: New file.
39431         * tests/test-mbsnrtowcs.c: New file.
39432
39433         New module 'mbsnrtowcs'.
39434         * lib/wchar.in.h (mbsnrtowcs): New declaration.
39435         * lib/mbsnrtowcs.c: New file.
39436         * lib/mbsrtowcs-state.c: New file.
39437         * lib/mbsrtowcs.c: Refer to _gl_mbsrtowcs_state.
39438         (internal_state): Remove variable.
39439         * m4/mbsnrtowcs.m4: New file.
39440         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Add mbsrtowcs-state.c to the
39441         compilation units.
39442         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSNRTOWCS,
39443         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
39444         * modules/wchar (Makefile.am): Substitute GNULIB_MBSNRTOWCS,
39445         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
39446         * modules/mbsnrtowcs: New file.
39447         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-state.c.
39448         * doc/posix-functions/mbsnrtowcs.texi: Mention the new module and a
39449         portability problem.
39450
39451 2008-12-21  Bruno Haible  <bruno@clisp.org>
39452
39453         Work around mbsrtowcs bug.
39454         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): New macro.
39455         (gl_FUNC_MBSRTOWCS): Invoke it.
39456         * modules/mbsrtowcs (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
39457         m4/locale-zh.m4.
39458         * doc/posix-functions/mbsrtowcs.texi: Document the bug.
39459
39460 2008-12-21  Bruno Haible  <bruno@clisp.org>
39461
39462         * tests/test-mbsrtowcs.c (main): Execute the loop also for unlimited=1.
39463
39464 2008-12-21  Bruno Haible  <bruno@clisp.org>
39465
39466         Update doc for AIX.
39467         * doc/pastposix-functions/wcswcs.texi: Mention that AIX has only a
39468         16-bit wchar_t type.
39469         * doc/posix-functions/btowc.texi: Likewise.
39470         * doc/posix-functions/fgetwc.texi: Likewise.
39471         * doc/posix-functions/fgetws.texi: Likewise.
39472         * doc/posix-functions/fputwc.texi: Likewise.
39473         * doc/posix-functions/fputws.texi: Likewise.
39474         * doc/posix-functions/fwide.texi: Likewise.
39475         * doc/posix-functions/fwprintf.texi: Likewise.
39476         * doc/posix-functions/fwscanf.texi: Likewise.
39477         * doc/posix-functions/getwchar.texi: Likewise.
39478         * doc/posix-functions/getwc.texi: Likewise.
39479         * doc/posix-functions/iswalnum.texi: Likewise.
39480         * doc/posix-functions/iswalpha.texi: Likewise.
39481         * doc/posix-functions/iswblank.texi: Likewise.
39482         * doc/posix-functions/iswcntrl.texi: Likewise.
39483         * doc/posix-functions/iswctype.texi: Likewise.
39484         * doc/posix-functions/iswdigit.texi: Likewise.
39485         * doc/posix-functions/iswgraph.texi: Likewise.
39486         * doc/posix-functions/iswlower.texi: Likewise.
39487         * doc/posix-functions/iswprint.texi: Likewise.
39488         * doc/posix-functions/iswpunct.texi: Likewise.
39489         * doc/posix-functions/iswspace.texi: Likewise.
39490         * doc/posix-functions/iswupper.texi: Likewise.
39491         * doc/posix-functions/iswxdigit.texi: Likewise.
39492         * doc/posix-functions/mbrtowc.texi: Likewise.
39493         * doc/posix-functions/mbsrtowcs.texi: Likewise.
39494         * doc/posix-functions/mbstowcs.texi: Likewise.
39495         * doc/posix-functions/mbtowc.texi: Likewise.
39496         * doc/posix-functions/putwchar.texi: Likewise.
39497         * doc/posix-functions/putwc.texi: Likewise.
39498         * doc/posix-functions/swprintf.texi: Likewise.
39499         * doc/posix-functions/tolower.texi: Likewise.
39500         * doc/posix-functions/toupper.texi: Likewise.
39501         * doc/posix-functions/towctrans.texi: Likewise.
39502         * doc/posix-functions/ungetwc.texi: Likewise.
39503         * doc/posix-functions/vswprintf.texi: Likewise.
39504         * doc/posix-functions/wcrtomb.texi: Likewise.
39505         * doc/posix-functions/wcscat.texi: Likewise.
39506         * doc/posix-functions/wcschr.texi: Likewise.
39507         * doc/posix-functions/wcscmp.texi: Likewise.
39508         * doc/posix-functions/wcscoll.texi: Likewise.
39509         * doc/posix-functions/wcscpy.texi: Likewise.
39510         * doc/posix-functions/wcscspn.texi: Likewise.
39511         * doc/posix-functions/wcsftime.texi: Likewise.
39512         * doc/posix-functions/wcslen.texi: Likewise.
39513         * doc/posix-functions/wcsncat.texi: Likewise.
39514         * doc/posix-functions/wcsncmp.texi: Likewise.
39515         * doc/posix-functions/wcsncpy.texi: Likewise.
39516         * doc/posix-functions/wcspbrk.texi: Likewise.
39517         * doc/posix-functions/wcsrchr.texi: Likewise.
39518         * doc/posix-functions/wcsrtombs.texi: Likewise.
39519         * doc/posix-functions/wcsspn.texi: Likewise.
39520         * doc/posix-functions/wcsstr.texi: Likewise.
39521         * doc/posix-functions/wcstod.texi: Likewise.
39522         * doc/posix-functions/wcstof.texi: Likewise.
39523         * doc/posix-functions/wcstoimax.texi: Likewise.
39524         * doc/posix-functions/wcstok.texi: Likewise.
39525         * doc/posix-functions/wcstold.texi: Likewise.
39526         * doc/posix-functions/wcstoll.texi: Likewise.
39527         * doc/posix-functions/wcstol.texi: Likewise.
39528         * doc/posix-functions/wcstombs.texi: Likewise.
39529         * doc/posix-functions/wcstoull.texi: Likewise.
39530         * doc/posix-functions/wcstoul.texi: Likewise.
39531         * doc/posix-functions/wcstoumax.texi: Likewise.
39532         * doc/posix-functions/wcswidth.texi: Likewise.
39533         * doc/posix-functions/wcsxfrm.texi: Likewise.
39534         * doc/posix-functions/wctob.texi: Likewise.
39535         * doc/posix-functions/wctomb.texi: Likewise.
39536         * doc/posix-functions/wctrans.texi: Likewise.
39537         * doc/posix-functions/wctype.texi: Likewise.
39538         * doc/posix-functions/wcwidth.texi: Likewise.
39539         * doc/posix-functions/wmemchr.texi: Likewise.
39540         * doc/posix-functions/wmemcmp.texi: Likewise.
39541         * doc/posix-functions/wmemcpy.texi: Likewise.
39542         * doc/posix-functions/wmemmove.texi: Likewise.
39543         * doc/posix-functions/wmemset.texi: Likewise.
39544         * doc/posix-functions/wprintf.texi: Likewise.
39545         * doc/posix-functions/wscanf.texi: Likewise.
39546
39547 2008-12-21  Bruno Haible  <bruno@clisp.org>
39548
39549         Update doc for HP-UX 11.11.
39550         * doc/posix-functions/btowc.texi: Clarify that the function is missing
39551         in HP-UX version 11.00, not in all versions of HP-UX 11.
39552         * doc/posix-functions/fwide.texi: Likewise.
39553         * doc/posix-functions/fwprintf.texi: Likewise.
39554         * doc/posix-functions/fwscanf.texi: Likewise.
39555         * doc/posix-functions/inet_ntop.texi: Likewise.
39556         * doc/posix-functions/inet_pton.texi: Likewise.
39557         * doc/posix-functions/mbrlen.texi: Likewise.
39558         * doc/posix-functions/mbrtowc.texi: Likewise.
39559         * doc/posix-functions/mbsinit.texi: Likewise.
39560         * doc/posix-functions/mbsrtowcs.texi: Likewise.
39561         * doc/posix-functions/swprintf.texi: Likewise.
39562         * doc/posix-functions/swscanf.texi: Likewise.
39563         * doc/posix-functions/towctrans.texi: Likewise.
39564         * doc/posix-functions/vfwprintf.texi: Likewise.
39565         * doc/posix-functions/vswprintf.texi: Likewise.
39566         * doc/posix-functions/vwprintf.texi: Likewise.
39567         * doc/posix-functions/wcrtomb.texi: Likewise.
39568         * doc/posix-functions/wcsrtombs.texi: Likewise.
39569         * doc/posix-functions/wcsstr.texi: Likewise.
39570         * doc/posix-functions/wctob.texi: Likewise.
39571         * doc/posix-functions/wctrans.texi: Likewise.
39572         * doc/posix-functions/wmemchr.texi: Likewise.
39573         * doc/posix-functions/wmemcmp.texi: Likewise.
39574         * doc/posix-functions/wmemcpy.texi: Likewise.
39575         * doc/posix-functions/wmemmove.texi: Likewise.
39576         * doc/posix-functions/wmemset.texi: Likewise.
39577         * doc/posix-functions/wprintf.texi: Likewise.
39578         * doc/posix-functions/wscanf.texi: Likewise.
39579
39580 2008-12-21  Bruno Haible  <bruno@clisp.org>
39581
39582         Work around a portability problem.
39583         * tests/test-mbsrtowcs.c (main): Use a temporary conversion state.
39584         * doc/posix-functions/mbsrtowcs.texi: Document the portability problem.
39585
39586 2008-12-20  Bruno Haible  <bruno@clisp.org>
39587
39588         * lib/wchar.in.h (mbsrtowcs): Redefine if REPLACE_MBSRTOWCS is set.
39589         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Invoke gl_MBSTATE_T_BROKEN. Set
39590         REPLACE_MBSRTOWCS if mbsrtowcs needs to be overridden.
39591         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSRTOWCS.
39592         * modules/wchar (Makefile.am): Substitute REPLACE_MBSRTOWCS.
39593
39594         Work around mbrtowc bugs on AIX, HP-UX, OSF/1, Solaris.
39595         * lib/wchar.in.h (mbstate_t): Redefine also if REPLACE_MBSTATE_T is
39596         set.
39597         (GNULIB_defined_mbstate_t): New macro.
39598         (mbsinit): Redefine if REPLACE_MBSINIT is set.
39599         (mbrtowc): Redefine if REPLACE_MBRTOWC is set.
39600         * lib/mbrtowc.c (rpl_mbrtowc): Add an alternative implementation that
39601         reuses the system's mbrtowc function but works around the bugs.
39602         * m4/mbrtowc.m4 (gl_MBSTATE_T_BROKEN, gl_MBRTOWC_INCOMPLETE_STATE,
39603         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL): New
39604         macros.
39605         (gl_FUNC_MBRTOWC): Invoke them. Set REPLACE_MBRTOWC if mbrtowc needs to
39606         be overridden. Optionally define MBRTOWC_NULL_ARG_BUG,
39607         MBRTOWC_RETVAL_BUG, MBRTOWC_NUL_RETVAL_BUG.
39608         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_MBSTATE_T_BROKEN. Set
39609         REPLACE_MBSINIT if mbsinit needs to be overridden.
39610         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSTATE_T,
39611         REPLACE_MBSINIT, REPLACE_MBRTOWC.
39612         * modules/wchar (Makefile.am): Substitute REPLACE_MBSTATE_T,
39613         REPLACE_MBSINIT, REPLACE_MBRTOWC.
39614         * modules/mbrtowc (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
39615         m4/locale-zh.m4.
39616         (Depends): Add mbsinit.
39617         * modules/mbsinit (Depends): Add mbrtowc.
39618         * doc/posix-functions/mbrtowc.texi: Mention the various bugs.
39619
39620 2008-12-20  Bruno Haible  <bruno@clisp.org>
39621
39622         * tests/test-mbrtowc.c (main): Change sample string in EUC-JP encoding
39623         so that there are no conversion errors on AIX.
39624         * tests/test-mbsrtowcs.c (main): LIkewise.
39625
39626 2008-12-20  Bruno Haible  <bruno@clisp.org>
39627
39628         Work around wctob bug on Solaris <= 9.
39629         * lib/wchar.in.h (wctob): Redefine if REPLACE_WCTOB is set.
39630         * m4/wctob.m4 (gl_FUNC_WCTOB): Test whether wctob works.
39631         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCTOB.
39632         * modules/wchar (Makefile.am): Substitute REPLACE_WCTOB.
39633         * modules/wctob (Files): Add m4/locale-fr.m4.
39634         * doc/posix-functions/wctob.texi: Mention the Solaris bug.
39635
39636 2008-12-20  Bruno Haible  <bruno@clisp.org>
39637
39638         * doc/posix-functions/select.texi: Mention Solaris 2.6 bug with
39639         /dev/null.
39640         * tests/test-select-in.sh: Likewise.
39641         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
39642
39643 2008-12-20  Bruno Haible  <bruno@clisp.org>
39644
39645         Don't pretend that Cygwin has a ja_JP.EUC-JP locale.
39646         * m4/locale-ja.m4 (gt_LOCALE_JA): Add test for MB_CUR_MAX. Needed on
39647         Cygwin 1.5.x.
39648
39649 2008-12-20  Bruno Haible  <bruno@clisp.org>
39650
39651         Ensure mbstate_t is defined on HP-UX 11.11.
39652         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Require
39653         AC_CANONICAL_HOST. On HP-UX, define _XOPEN_SOURCE to 500.
39654         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Require
39655         AC_USE_SYSTEM_EXTENSIONS.
39656         * modules/fnmatch (Depends-on): Add extensions.
39657         * modules/mbrlen (Depends-on): Likewise.
39658         * modules/mbrtowc (Depends-on): Likewise.
39659         * modules/mbsinit (Depends-on): Likewise.
39660         * modules/mbsrtowcs (Depends-on): Likewise.
39661         * modules/mbswidth (Depends-on): Likewise.
39662         * modules/quotearg (Depends-on): Likewise.
39663         * modules/strftime (Depends-on): Likewise.
39664
39665 2008-12-20  Bruno Haible  <bruno@clisp.org>
39666
39667         Ensure wctob is declared on IRIX 6.5.
39668         * lib/wchar.in.h (wctob): Declare also when HAVE_DECL_WCTOB is 0.
39669         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_DECL_WCTOB instead of
39670         HAVE_WCTOB. Also test whether <wchar.h> declares wctob.
39671         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize HAVE_DECL_WCTOB instead
39672         of HAVE_WCTOB.
39673         * modules/wchar (Makefile.am): Substitute HAVE_DECL_WCTOB instead of
39674         HAVE_WCTOB.
39675         * doc/posix-functions/wctob.texi: Mention missing declaration on IRIX.
39676
39677 2008-12-19  Bruno Haible  <bruno@clisp.org>
39678
39679         * modules/mbsrtowcs-tests: New file.
39680         * tests/test-mbsrtowcs1.sh: New file.
39681         * tests/test-mbsrtowcs2.sh: New file.
39682         * tests/test-mbsrtowcs3.sh: New file.
39683         * tests/test-mbsrtowcs4.sh: New file.
39684         * tests/test-mbsrtowcs.c: New file.
39685
39686         New module 'mbsrtowcs'.
39687         * lib/wchar.in.h (mbsrtowcs): New declaration.
39688         * lib/mbsrtowcs.c: New file.
39689         * m4/mbsrtowcs.m4: New file.
39690         * modules/mbsrtowcs: New file.
39691         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSRTOWCS and
39692         HAVE_MBSRTOWCS.
39693         * modules/wchar (Makefile.am): Substitute GNULIB_MBSRTOWCS and
39694         HAVE_MBSRTOWCS.
39695         * doc/posix-functions/mbsrtowcs.texi: Document the new module.
39696
39697 2008-12-19  Bruno Haible  <bruno@clisp.org>
39698
39699         New module 'mbrlen'.
39700         * lib/wchar.in.h (mbrlen): New declaration.
39701         * lib/mbrlen.c: New file.
39702         * m4/mbrlen.m4: New file.
39703         * modules/mbrlen: New file.
39704         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRLEN and
39705         HAVE_MBRLEN.
39706         * modules/wchar (Makefile.am): Substitute GNULIB_MBRLEN and
39707         HAVE_MBRLEN.
39708         * doc/posix-functions/mbrlen.texi: Document the new module.
39709
39710 2008-12-19  Bruno Haible  <bruno@clisp.org>
39711
39712         * lib/mbrtowc.c: Include verify.h. Verify an assumption.
39713         * modules/mbrtowc (Depends-on): Add verify.
39714         Suggested by Paul Eggert.
39715
39716 2008-12-18  Bruno Haible  <bruno@clisp.org>
39717
39718         * modules/mbsinit-tests: New file.
39719         * tests/test-mbsinit.sh: New file.
39720         * tests/test-mbsinit.c: New file.
39721
39722 2008-12-18  Bruno Haible  <bruno@clisp.org>
39723
39724         * modules/mbrtowc-tests: New file.
39725         * tests/test-mbrtowc1.sh: New file.
39726         * tests/test-mbrtowc2.sh: New file.
39727         * tests/test-mbrtowc3.sh: New file.
39728         * tests/test-mbrtowc4.sh: New file.
39729         * tests/test-mbrtowc.c: New file.
39730
39731         New module 'mbrtowc'.
39732         * lib/wchar.in.h (mbstate_t): Override when the system does not have
39733         mbsinit and mbrtowc.
39734         (mbrtowc): New declaration.
39735         * lib/mbrtowc.c: New file.
39736         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC, gl_PREREQ_MBRTOWC): New macros.
39737         * modules/mbrtowc: New file.
39738         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRTOWC and
39739         HAVE_MBRTOWC.
39740         * modules/wchar (Makefile.am): Substitute GNULIB_MBRTOWC and
39741         HAVE_MBRTOWC.
39742         * doc/posix-functions/mbrtowc.texi: Document the new module.
39743
39744 2008-12-18  Bruno Haible  <bruno@clisp.org>
39745
39746         New module 'wctob'.
39747         * lib/wchar.in.h (wctob): New declaration.
39748         * lib/wctob.c: New file.
39749         * m4/wctob.m4: New file.
39750         * modules/wctob: New file.
39751         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCTOB and
39752         HAVE_WCTOB.
39753         * modules/wchar (Makefile.am): Substitute GNULIB_WCTOB and HAVE_WCTOB.
39754         * doc/posix-functions/wctob.texi: Document the new module.
39755
39756 2008-12-18  Bruno Haible  <bruno@clisp.org>
39757
39758         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_REPLACE_WCHAR_H.
39759         * m4/btowc.m4 (gl_FUNC_BTOWC): Likewise.
39760
39761 2008-12-18  Simon Josefsson  <simon@josefsson.org>
39762
39763         * lib/flock.c: Use proper #if symbol in check.  Reported by "Tom
39764         G. Christensen" <tgc@jupiterrise.com>.
39765
39766         * lib/flock.c: Need to include errno.h.  Reported by "Tom
39767         G. Christensen" <tgc@jupiterrise.com>.
39768
39769         * lib/flock.c: Need to include string.h.  Reported by "Tom
39770         G. Christensen" <tgc@jupiterrise.com> and Eric Blake
39771         <ebb9@byu.net>.
39772
39773 2008-12-18  Bruno Haible  <bruno@clisp.org>
39774
39775         * m4/locale-ja.m4: New file, from GNU gettext.
39776
39777 2008-12-17  Bruno Haible  <bruno@clisp.org>
39778
39779         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Don't override in autoconf >= 2.60.
39780         Suggested by Eric Blake.
39781
39782 2008-12-17  Bruno Haible  <bruno@clisp.org>
39783
39784         * m4/errno_h.m4 (AC_COMPUTE_INT): Provide fallback definition.
39785
39786 2008-12-17  Bruno Haible  <bruno@clisp.org>
39787
39788         * lib/mbsinit.c: Include verify.h. Verify an assumption.
39789         * modules/mbsinit (Depends-on): Add verify.
39790         Suggested by Paul Eggert.
39791
39792 2008-12-17  Bruno Haible  <bruno@clisp.org>
39793
39794         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Renamed from gl_FUNC_MBRTOWC.
39795         * m4/mbfile.m4 (gl_MBFILE): Use AC_FUNC_MBRTOWC instead of
39796         gl_FUNC_MBRTOWC.
39797         * m4/mbiter.m4 (gl_MBITER): LIkewise.
39798         * m4/mbscasecmp.m4 (gl_PREREQ_MBSCASECMP): Likewise.
39799         * m4/mbscasestr.m4 (gl_PREREQ_MBSCASESTR): Likewise.
39800         * m4/mbschr.m4 (gl_PREREQ_MBSCHR): Likewise.
39801         * m4/mbscspn.m4 (gl_PREREQ_MBSCSPN): Likewise.
39802         * m4/mbslen.m4 (gl_PREREQ_MBSLEN): Likewise.
39803         * m4/mbsncasecmp.m4 (gl_PREREQ_MBSNCASECMP): Likewise.
39804         * m4/mbsnlen.m4 (gl_PREREQ_MBSNLEN): Likewise.
39805         * m4/mbspbrk.m4 (gl_PREREQ_MBSPBRK): Likewise.
39806         * m4/mbspcasecmp.m4 (gl_PREREQ_MBSPCASECMP): Likewise.
39807         * m4/mbsrchr.m4 (gl_PREREQ_MBSRCHR): Likewise.
39808         * m4/mbssep.m4 (gl_PREREQ_MBSSEP): Likewise.
39809         * m4/mbsspn.m4 (gl_PREREQ_MBSSPN): Likewise.
39810         * m4/mbsstr.m4 (gl_PREREQ_MBSSTR): Likewise.
39811         * m4/mbstok_r.m4 (gl_PREREQ_MBSTOK_R): Likewise.
39812         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
39813         * m4/quotearg.m4 (gl_QUOTEARG): Likewise.
39814         * modules/trim (configure.ac): Likewise.
39815
39816 2008-12-17  Bruno Haible  <bruno@clisp.org>
39817
39818         * modules/btowc-tests: New file.
39819         * tests/test-btowc1.sh: New file.
39820         * tests/test-btowc2.sh: New file.
39821         * tests/test-btowc.c: New file.
39822
39823         New module 'btowc'.
39824         * lib/wchar.in.h (btowc): New declaration.
39825         * lib/btowc.c: New file.
39826         * m4/btowc.m4: New file.
39827         * modules/btowc: New file.
39828         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_BTOWC and
39829         HAVE_BTOWC.
39830         * modules/wchar (Makefile.am): Substitute GNULIB_BTOWC and HAVE_BTOWC.
39831         * doc/posix-functions/btowc.texi: Document the new module.
39832
39833 2008-12-17  Bruno Haible  <bruno@clisp.org>
39834
39835         New module 'mbsinit'.
39836         * lib/wchar.in.h (mbsinit): New declaration.
39837         * lib/mbsinit.c: New file.
39838         * m4/mbsinit.m4: New file.
39839         * modules/mbsinit: New file.
39840         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSINIT and
39841         HAVE_MBSINIT.
39842         * modules/wchar (Makefile.am): Substitute GNULIB_MBSINIT and
39843         HAVE_MBSINIT.
39844         * doc/posix-functions/mbsinit.texi: Document the new module.
39845
39846 2008-12-16  Bruno Haible  <bruno@clisp.org>
39847
39848         * lib/unistd.in.h: Add comment.
39849         * tests/test-environ.c: Don't include <stdlib.h>.
39850
39851 2008-12-16  Bruno Haible  <bruno@clisp.org>
39852
39853         * lib/parse-duration.h (parse_duration): Document return value
39854         convention.
39855         * lib/parse-duration.c: Include specification header first. Add
39856         comments.
39857         (_): Remove macro.
39858         (parse_year_month_day, parse_hour_minute_second): Move side effects
39859         outside of strchr call.
39860         (parse_non_iso8601): Move side effects outside of isspace call.
39861         (parse_duration): Don't test errno is res != BAD_TIME. Remove fprintf
39862         call.
39863
39864 2008-12-16  Bruno Haible  <bruno@clisp.org>
39865
39866         * tests/test-parse-duration.sh: Produce no output when the test
39867         succeeds.
39868
39869 2008-12-16  Bruno Haible  <bruno@clisp.org>
39870
39871         * tests/test-parse-duration.sh: Fix quoting of $tmp and $tmpf
39872         expressions.
39873
39874 2008-12-15  Bruno Haible  <bruno@clisp.org>
39875
39876         * doc/glibc-functions/fgetxattr.texi: Tweak wording.
39877         * doc/glibc-functions/flistxattr.texi: Likewise.
39878         * doc/glibc-functions/fopencookie.texi: Likewise.
39879         * doc/glibc-functions/fremovexattr.texi: Likewise.
39880         * doc/glibc-functions/fsetxattr.texi: Likewise.
39881         * doc/glibc-functions/getxattr.texi: Likewise.
39882         * doc/glibc-functions/lgetxattr.texi: Likewise.
39883         * doc/glibc-functions/listxattr.texi: Likewise.
39884         * doc/glibc-functions/llistxattr.texi: Likewise.
39885         * doc/glibc-functions/lremovexattr.texi: Likewise.
39886         * doc/glibc-functions/lsetxattr.texi: Likewise.
39887         * doc/glibc-functions/removexattr.texi: Likewise.
39888         * doc/glibc-functions/setxattr.texi: Likewise.
39889         * doc/posix-functions/open_memstream.texi: Likewise.
39890
39891 2008-12-15  Eric Blake  <ebb9@byu.net>
39892
39893         Update doc for cygwin 1.7.
39894         * doc/posix-functions/faccessat.texi: Cygwin 1.7 added several new
39895         functions.
39896         * doc/posix-functions/fchmodat.texi: Likewise.
39897         * doc/posix-functions/fchownat.texi: Likewise.
39898         * doc/posix-functions/fdopendir.texi: Likewise.
39899         * doc/posix-functions/fmemopen.texi: Likewise.
39900         * doc/posix-functions/freeaddrinfo.texi: Likewise.
39901         * doc/posix-functions/fstatat.texi: Likewise.
39902         * doc/posix-functions/futimens.texi: Likewise.
39903         * doc/posix-functions/gai_strerror.texi: Likewise.
39904         * doc/posix-functions/getaddrinfo.texi: Likewise.
39905         * doc/posix-functions/getnameinfo.texi: Likewise.
39906         * doc/posix-functions/if_freenameindex.texi: Likewise.
39907         * doc/posix-functions/if_indextoname.texi: Likewise.
39908         * doc/posix-functions/if_nameindex.texi: Likewise.
39909         * doc/posix-functions/if_nametoindex.texi: Likewise.
39910         * doc/posix-functions/insque.texi: Likewise.
39911         * doc/posix-functions/linkat.texi: Likewise.
39912         * doc/posix-functions/llrint.texi: Likewise.
39913         * doc/posix-functions/llrintf.texi: Likewise.
39914         * doc/posix-functions/llrintl.texi: Likewise.
39915         * doc/posix-functions/lockf.texi: Likewise.
39916         * doc/posix-functions/lrintl.texi: Likewise.
39917         * doc/posix-functions/mkdirat.texi: Likewise.
39918         * doc/posix-functions/mkfifoat.texi: Likewise.
39919         * doc/posix-functions/mknodat.texi: Likewise.
39920         * doc/posix-functions/mq_close.texi: Likewise.
39921         * doc/posix-functions/mq_getattr.texi: Likewise.
39922         * doc/posix-functions/mq_notify.texi: Likewise.
39923         * doc/posix-functions/mq_open.texi: Likewise.
39924         * doc/posix-functions/mq_receive.texi: Likewise.
39925         * doc/posix-functions/mq_send.texi: Likewise.
39926         * doc/posix-functions/mq_setattr.texi: Likewise.
39927         * doc/posix-functions/mq_timedreceive.texi: Likewise.
39928         * doc/posix-functions/mq_timedsend.texi: Likewise.
39929         * doc/posix-functions/mq_unlink.texi: Likewise.
39930         * doc/posix-functions/open_memstream.texi: Likewise.
39931         * doc/posix-functions/openat.texi: Likewise.
39932         * doc/posix-functions/posix_fadvise.texi: Likewise.
39933         * doc/posix-functions/posix_fallocate.texi: Likewise.
39934         * doc/posix-functions/posix_madvise.texi: Likewise.
39935         * doc/posix-functions/posix_memalign.texi: Likewise.
39936         * doc/posix-functions/posix_openpt.texi: Likewise.
39937         * doc/posix-functions/readlinkat.texi: Likewise.
39938         * doc/posix-functions/remque.texi: Likewise.
39939         * doc/posix-functions/renameat.texi: Likewise.
39940         * doc/posix-functions/rintl.texi: Likewise.
39941         * doc/posix-functions/sem_unlink.texi: Likewise.
39942         * doc/posix-functions/shm_open.texi: Likewise.
39943         * doc/posix-functions/shm_unlink.texi: Likewise.
39944         * doc/posix-functions/signgam.texi: Likewise.
39945         * doc/posix-functions/sigset.texi: Likewise.
39946         * doc/posix-functions/stpcpy.texi: Likewise.
39947         * doc/posix-functions/stpncpy.texi: Likewise.
39948         * doc/posix-functions/strerror.texi: Likewise.
39949         * doc/posix-functions/strtod.texi: Likewise.
39950         * doc/posix-functions/symlinkat.texi: Likewise.
39951         * doc/posix-functions/unlinkat.texi: Likewise.
39952         * doc/posix-functions/utimensat.texi: Likewise.
39953         * doc/glibc-functions/bindresvport.texi: Likewise.
39954         * doc/glibc-functions/dn_expand.texi: Likewise.
39955         * doc/glibc-functions/exp10.texi: Likewise.
39956         * doc/glibc-functions/exp10f.texi: Likewise.
39957         * doc/glibc-functions/fgetxattr.texi: Likewise.
39958         * doc/glibc-functions/flistxattr.texi: Likewise.
39959         * doc/glibc-functions/fopencookie.texi: Likewise.
39960         * doc/glibc-functions/freeifaddrs.texi: Likewise.
39961         * doc/glibc-functions/fremovexattr.texi: Likewise.
39962         * doc/glibc-functions/fsetxattr.texi: Likewise.
39963         * doc/glibc-functions/getifaddrs.texi: Likewise.
39964         * doc/glibc-functions/getxattr.texi: Likewise.
39965         * doc/glibc-functions/lgetxattr.texi: Likewise.
39966         * doc/glibc-functions/listxattr.texi: Likewise.
39967         * doc/glibc-functions/llistxattr.texi: Likewise.
39968         * doc/glibc-functions/lremovexattr.texi: Likewise.
39969         * doc/glibc-functions/lsetxattr.texi: Likewise.
39970         * doc/glibc-functions/pow10.texi: Likewise.
39971         * doc/glibc-functions/pow10f.texi: Likewise.
39972         * doc/glibc-functions/rcmd_af.texi: Likewise.
39973         * doc/glibc-functions/removexattr.texi: Likewise.
39974         * doc/glibc-functions/res_init.texi: Likewise.
39975         * doc/glibc-functions/res_mkquery.texi: Likewise.
39976         * doc/glibc-functions/res_query.texi: Likewise.
39977         * doc/glibc-functions/res_querydomain.texi: Likewise.
39978         * doc/glibc-functions/res_send.texi: Likewise.
39979         * doc/glibc-functions/rresvport_af.texi: Likewise.
39980         * doc/glibc-functions/setxattr.texi: Likewise.
39981         * doc/glibc-functions/strcasestr.texi: Likewise.
39982
39983 2008-12-15  Bruno Haible  <bruno@clisp.org>
39984
39985         Fix compilation error on OSF/1 4.0.
39986         * lib/sys_select.in.h: When invoked from OSF/1 <sys/types.h> or
39987         <sys/time.h>, simply delegate to the system header.
39988         Reported by Daniel Richard G. <oss@teragram.com>.
39989
39990 2008-12-15  Bruno Haible  <bruno@clisp.org>
39991
39992         * doc/posix-functions/openat.texi: Mention the 'openat' module.
39993         * doc/posix-functions/fchmodat.texi: Likewise.
39994         * doc/posix-functions/fchownat.texi: Likewise.
39995         * doc/posix-functions/fdopendir.texi: Likewise.
39996         * doc/posix-functions/fstatat.texi: Likewise.
39997         * doc/posix-functions/mkdirat.texi: Likewise.
39998         * doc/posix-functions/unlinkat.texi: Likewise.
39999
40000 2008-12-14  Bruno Haible  <bruno@clisp.org>
40001
40002         Update doc for POSIX:2008.
40003         * doc/posix-functions/faccessat.texi: New file.
40004         * doc/posix-functions/fchmodat.texi: New file.
40005         * doc/posix-functions/fchownat.texi: New file.
40006         * doc/posix-functions/fdopendir.texi: New file.
40007         * doc/posix-functions/fstatat.texi: New file.
40008         * doc/posix-functions/futimens.texi: New file.
40009         * doc/posix-functions/linkat.texi: New file.
40010         * doc/posix-functions/mkdirat.texi: New file.
40011         * doc/posix-functions/mkfifoat.texi: New file.
40012         * doc/posix-functions/mknodat.texi: New file.
40013         * doc/posix-functions/open_wmemstream.texi: New file.
40014         * doc/posix-functions/openat.texi: New file.
40015         * doc/posix-functions/psiginfo.texi: New file.
40016         * doc/posix-functions/pthread_mutex_consistent.texi: New file.
40017         * doc/posix-functions/pthread_mutexattr_getrobust.texi: New file.
40018         * doc/posix-functions/pthread_mutexattr_setrobust.texi: New file.
40019         * doc/posix-functions/readlinkat.texi: New file.
40020         * doc/posix-functions/renameat.texi: New file.
40021         * doc/posix-functions/strerror_l.texi: New file.
40022         * doc/posix-functions/symlinkat.texi: New file.
40023         * doc/posix-functions/unlinkat.texi: New file.
40024         * doc/posix-functions/utimensat.texi: New file.
40025         * doc/gnulib.texi (Function Substitutes): Add these subsections.
40026
40027 2008-12-14  Bruno Haible  <bruno@clisp.org>
40028
40029         Update doc for POSIX:2008.
40030         * doc/posix-functions/alphasort.texi: Renamed from
40031         doc/glibc-functions/alphasort.texi.
40032         * doc/posix-functions/dirfd.texi: Renamed from
40033         doc/glibc-functions/dirfd.texi.
40034         * doc/posix-functions/dprintf.texi: Renamed from
40035         doc/glibc-functions/dprintf.texi.
40036         * doc/posix-functions/duplocale.texi: Renamed from
40037         doc/glibc-functions/duplocale.texi.
40038         * doc/posix-functions/fexecve.texi: Renamed from
40039         doc/glibc-functions/fexecve.texi.
40040         * doc/posix-functions/fmemopen.texi: Renamed from
40041         doc/glibc-functions/fmemopen.texi.
40042         * doc/posix-functions/freelocale.texi: Renamed from
40043         doc/glibc-functions/freelocale.texi.
40044         * doc/posix-functions/getdate_err.texi: Renamed from
40045         doc/glibc-functions/getdate_err.texi.
40046         * doc/posix-functions/isalnum_l.texi: Renamed from
40047         doc/glibc-functions/isalnum_l.texi.
40048         * doc/posix-functions/isalpha_l.texi: Renamed from
40049         doc/glibc-functions/isalpha_l.texi.
40050         * doc/posix-functions/isblank_l.texi: Renamed from
40051         doc/glibc-functions/isblank_l.texi.
40052         * doc/posix-functions/iscntrl_l.texi: Renamed from
40053         doc/glibc-functions/iscntrl_l.texi.
40054         * doc/posix-functions/isdigit_l.texi: Renamed from
40055         doc/glibc-functions/isdigit_l.texi.
40056         * doc/posix-functions/isgraph_l.texi: Renamed from
40057         doc/glibc-functions/isgraph_l.texi.
40058         * doc/posix-functions/islower_l.texi: Renamed from
40059         doc/glibc-functions/islower_l.texi.
40060         * doc/posix-functions/isprint_l.texi: Renamed from
40061         doc/glibc-functions/isprint_l.texi.
40062         * doc/posix-functions/ispunct_l.texi: Renamed from
40063         doc/glibc-functions/ispunct_l.texi.
40064         * doc/posix-functions/isspace_l.texi: Renamed from
40065         doc/glibc-functions/isspace_l.texi.
40066         * doc/posix-functions/isupper_l.texi: Renamed from
40067         doc/glibc-functions/isupper_l.texi.
40068         * doc/posix-functions/iswalnum_l.texi: Renamed from
40069         doc/glibc-functions/iswalnum_l.texi.
40070         * doc/posix-functions/iswalpha_l.texi: Renamed from
40071         doc/glibc-functions/iswalpha_l.texi.
40072         * doc/posix-functions/iswblank_l.texi: Renamed from
40073         doc/glibc-functions/iswblank_l.texi.
40074         * doc/posix-functions/iswcntrl_l.texi: Renamed from
40075         doc/glibc-functions/iswcntrl_l.texi.
40076         * doc/posix-functions/iswctype_l.texi: Renamed from
40077         doc/glibc-functions/iswctype_l.texi.
40078         * doc/posix-functions/iswdigit_l.texi: Renamed from
40079         doc/glibc-functions/iswdigit_l.texi.
40080         * doc/posix-functions/iswgraph_l.texi: Renamed from
40081         doc/glibc-functions/iswgraph_l.texi.
40082         * doc/posix-functions/iswlower_l.texi: Renamed from
40083         doc/glibc-functions/iswlower_l.texi.
40084         * doc/posix-functions/iswprint_l.texi: Renamed from
40085         doc/glibc-functions/iswprint_l.texi.
40086         * doc/posix-functions/iswpunct_l.texi: Renamed from
40087         doc/glibc-functions/iswpunct_l.texi.
40088         * doc/posix-functions/iswspace_l.texi: Renamed from
40089         doc/glibc-functions/iswspace_l.texi.
40090         * doc/posix-functions/iswupper_l.texi: Renamed from
40091         doc/glibc-functions/iswupper_l.texi.
40092         * doc/posix-functions/iswxdigit_l.texi: Renamed from
40093         doc/glibc-functions/iswxdigit_l.texi.
40094         * doc/posix-functions/isxdigit_l.texi: Renamed from
40095         doc/glibc-functions/isxdigit_l.texi.
40096         * doc/posix-functions/mbsnrtowcs.texi: Renamed from
40097         doc/glibc-functions/mbsnrtowcs.texi.
40098         * doc/posix-functions/mkdtemp.texi: Renamed from
40099         doc/glibc-functions/mkdtemp.texi.
40100         * doc/posix-functions/newlocale.texi: Renamed from
40101         doc/glibc-functions/newlocale.texi.
40102         * doc/posix-functions/nl_langinfo_l.texi: Renamed from
40103         doc/glibc-functions/nl_langinfo_l.texi.
40104         * doc/posix-functions/open_memstream.texi: Renamed from
40105         doc/glibc-functions/open_memstream.texi.
40106         * doc/posix-functions/opterr.texi: Renamed from
40107         doc/glibc-functions/opterr.texi.
40108         * doc/posix-functions/optind.texi: Renamed from
40109         doc/glibc-functions/optind.texi.
40110         * doc/posix-functions/optopt.texi: Renamed from
40111         doc/glibc-functions/optopt.texi.
40112         * doc/posix-functions/psignal.texi: Renamed from
40113         doc/glibc-functions/psignal.texi.
40114         * doc/posix-functions/scandir.texi: Renamed from
40115         doc/glibc-functions/scandir.texi.
40116         * doc/posix-functions/sched_get_priority_min.texi: Renamed from
40117         doc/glibc-functions/sched_get_priority_min.texi.
40118         * doc/posix-functions/signgam.texi: Renamed from
40119         doc/glibc-functions/signgam.texi.
40120         * doc/posix-functions/stpcpy.texi: Renamed from
40121         doc/glibc-functions/stpcpy.texi.
40122         * doc/posix-functions/stpncpy.texi: Renamed from
40123         doc/glibc-functions/stpncpy.texi.
40124         * doc/posix-functions/strcasecmp_l.texi: Renamed from
40125         doc/glibc-functions/strcasecmp_l.texi.
40126         * doc/posix-functions/strcoll_l.texi: Renamed from
40127         doc/glibc-functions/strcoll_l.texi.
40128         * doc/posix-functions/strfmon_l.texi: Renamed from
40129         doc/glibc-functions/strfmon_l.texi.
40130         * doc/posix-functions/strftime_l.texi: Renamed from
40131         doc/glibc-functions/strftime_l.texi.
40132         * doc/posix-functions/strncasecmp_l.texi: Renamed from
40133         doc/glibc-functions/strncasecmp_l.texi.
40134         * doc/posix-functions/strndup.texi: Renamed from
40135         doc/glibc-functions/strndup.texi.
40136         * doc/posix-functions/strnlen.texi: Renamed from
40137         doc/glibc-functions/strnlen.texi.
40138         * doc/posix-functions/strsignal.texi: Renamed from
40139         doc/glibc-functions/strsignal.texi.
40140         * doc/posix-functions/strxfrm_l.texi: Renamed from
40141         doc/glibc-functions/strxfrm_l.texi.
40142         * doc/posix-functions/timer_gettime.texi: Renamed from
40143         doc/glibc-functions/timer_gettime.texi.
40144         * doc/posix-functions/tolower_l.texi: Renamed from
40145         doc/glibc-functions/tolower_l.texi.
40146         * doc/posix-functions/toupper_l.texi: Renamed from
40147         doc/glibc-functions/toupper_l.texi.
40148         * doc/posix-functions/towctrans_l.texi: Renamed from
40149         doc/glibc-functions/towctrans_l.texi.
40150         * doc/posix-functions/towlower_l.texi: Renamed from
40151         doc/glibc-functions/towlower_l.texi.
40152         * doc/posix-functions/towupper_l.texi: Renamed from
40153         doc/glibc-functions/towupper_l.texi.
40154         * doc/posix-functions/uselocale.texi: Renamed from
40155         doc/glibc-functions/uselocale.texi.
40156         * doc/posix-functions/vdprintf.texi: Renamed from
40157         doc/glibc-functions/vdprintf.texi.
40158         * doc/posix-functions/wcpcpy.texi:
40159         Renamed from doc/glibc-functions/wcpcpy.texi.
40160         * doc/posix-functions/wcpncpy.texi: Renamed from
40161         doc/glibc-functions/wcpncpy.texi.
40162         * doc/posix-functions/wcscasecmp.texi: Renamed from
40163         doc/glibc-functions/wcscasecmp.texi.
40164         * doc/posix-functions/wcscasecmp_l.texi: Renamed from
40165         doc/glibc-functions/wcscasecmp_l.texi.
40166         * doc/posix-functions/wcscoll_l.texi: Renamed from
40167         doc/glibc-functions/wcscoll_l.texi.
40168         * doc/posix-functions/wcsdup.texi: Renamed from
40169         doc/glibc-functions/wcsdup.texi.
40170         * doc/posix-functions/wcsncasecmp.texi: Renamed from
40171         doc/glibc-functions/wcsncasecmp.texi.
40172         * doc/posix-functions/wcsncasecmp_l.texi: Renamed from
40173         doc/glibc-functions/wcsncasecmp_l.texi.
40174         * doc/posix-functions/wcsnlen.texi: Renamed from
40175         doc/glibc-functions/wcsnlen.texi.
40176         * doc/posix-functions/wcsnrtombs.texi: Renamed from
40177         doc/glibc-functions/wcsnrtombs.texi.
40178         * doc/posix-functions/wcsxfrm_l.texi: Renamed from
40179         doc/glibc-functions/wcsxfrm_l.texi.
40180         * doc/posix-functions/wctrans_l.texi: Renamed from
40181         doc/glibc-functions/wctrans_l.texi.
40182         * doc/posix-functions/wctype_l.texi: Renamed from
40183         doc/glibc-functions/wctype_l.texi.
40184         * doc/gnulib.texi (Function Substitutes): Add these subsections.
40185         (Glibc ctype.h, Glibc dirent.h, Glibc getopt.h, Glibc math.h,
40186         Glibc sched.h, Glibc signal.h, Glibc stdio.h, Glibc stdlib.h,
40187         Glibc string.h, Glibc time.h, Glibc unistd.h, Glibc wchar.h): Remove
40188         these subsections.
40189         (Glibc langinfo.h, Glibc locale.h, Glibc monetary.h, Glibc wctype.h):
40190         Remove sections.
40191
40192 2008-12-14  Bruno Haible  <bruno@clisp.org>
40193
40194         Update doc for POSIX:2008.
40195         * doc/posix-functions/*.texi: Update URL of POSIX specification.
40196
40197 2008-12-14  Bruno Haible  <bruno@clisp.org>
40198
40199         Update doc for POSIX:2008.
40200         * doc/pastposix-functions/bcmp.texi: Renamed from
40201         doc/posix-functions/bcmp.texi.
40202         * doc/pastposix-functions/bcopy.texi: Renamed from
40203         doc/posix-functions/bcopy.texi.
40204         * doc/pastposix-functions/bsd_signal.texi: Renamed from
40205         doc/posix-functions/bsd_signal.texi.
40206         * doc/pastposix-functions/bzero.texi: Renamed from
40207         doc/posix-functions/bzero.texi.
40208         * doc/pastposix-functions/ecvt.texi: Renamed from
40209         doc/posix-functions/ecvt.texi.
40210         * doc/pastposix-functions/fcvt.texi: Renamed from
40211         doc/posix-functions/fcvt.texi.
40212         * doc/pastposix-functions/ftime.texi: Renamed from
40213         doc/posix-functions/ftime.texi.
40214         * doc/pastposix-functions/gcvt.texi: Renamed from
40215         doc/posix-functions/gcvt.texi.
40216         * doc/pastposix-functions/getcontext.texi: Renamed from
40217         doc/posix-functions/getcontext.texi.
40218         * doc/pastposix-functions/gethostbyaddr.texi: Renamed from
40219         doc/posix-functions/gethostbyaddr.texi.
40220         * doc/pastposix-functions/gethostbyname.texi: Renamed from
40221         doc/posix-functions/gethostbyname.texi.
40222         * doc/pastposix-functions/getwd.texi: Renamed from
40223         doc/posix-functions/getwd.texi.
40224         * doc/pastposix-functions/h_errno.texi: Renamed from
40225         doc/posix-functions/h_errno.texi.
40226         * doc/pastposix-functions/index.texi: Renamed from
40227         doc/posix-functions/index.texi.
40228         * doc/pastposix-functions/makecontext.texi: Renamed from
40229         doc/posix-functions/makecontext.texi.
40230         * doc/pastposix-functions/mktemp.texi: Renamed from
40231         doc/posix-functions/mktemp.texi.
40232         * doc/pastposix-functions/pthread_attr_getstackaddr.texi: Renamed from
40233         doc/posix-functions/pthread_attr_getstackaddr.texi.
40234         * doc/pastposix-functions/pthread_attr_setstackaddr.texi: Renamed from
40235         doc/posix-functions/pthread_attr_setstackaddr.texi.
40236         * doc/pastposix-functions/rindex.texi: Renamed from
40237         doc/posix-functions/rindex.texi.
40238         * doc/pastposix-functions/scalb.texi: Renamed from
40239         doc/posix-functions/scalb.texi.
40240         * doc/pastposix-functions/setcontext.texi: Renamed from
40241         doc/posix-functions/setcontext.texi.
40242         * doc/pastposix-functions/swapcontext.texi: Renamed from
40243         doc/posix-functions/swapcontext.texi.
40244         * doc/pastposix-functions/ualarm.texi: Renamed from
40245         doc/posix-functions/ualarm.texi.
40246         * doc/pastposix-functions/usleep.texi: Renamed from
40247         doc/posix-functions/usleep.texi.
40248         * doc/pastposix-functions/vfork.texi: Renamed from
40249         doc/posix-functions/vfork.texi.
40250         * doc/pastposix-functions/wcswcs.texi: Renamed from
40251         doc/posix-functions/wcswcs.texi.
40252         * doc/gnulib.texi (Legacy Function Substitutes): New chapter.
40253         (Function Substitutes): Update.
40254
40255 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
40256
40257         * modules/relocatable-prog-wrapper (Depends-on): Add errno, needed by
40258         m4/strerror.m4.
40259
40260 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
40261             Bruno Haible  <bruno@clisp.org>
40262
40263         * modules/unilbrk/tables (Depends-on): Add unilbrk/base.
40264
40265 2008-12-13  Bruno Haible  <bruno@clisp.org>
40266
40267         * modules/strtoull (Depends-on): Remove unistd.
40268
40269 2008-12-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
40270
40271         * modules/strtoull (Depends-on): Add stdlib.
40272
40273 2008-12-11  Simon Josefsson  <simon@josefsson.org>
40274
40275         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add more warnings.
40276
40277 2008-12-10  Jim Meyering  <meyering@redhat.com>
40278
40279         gl_ASSERT: don't say assertions are disabled when they're not
40280         * m4/assert.m4 (gl_ASSERT): Do not make configure report
40281         "checking whether to enable assertions... no", when they are in
40282         fact enabled.  This is solely a bug in the output of configure.
40283         In spite of saying "no", NDEBUG was not defined in that case.
40284         Also, as noted by Eric Blake, leave assertions enabled upon
40285         --enable-assert=INVALID.
40286
40287 2008-12-10  Bruno Haible  <bruno@clisp.org>
40288
40289         Change MODULES.html to refer to POSIX:2008 where possible.
40290         * MODULES.html.sh (POSIX2008_URL): New variable.
40291         (posix_headers): Remove sys/timeb, ucontext.
40292         (posix2001_headers): New variable.
40293         (posix_functions): Remove bcmp, bcopy, bsd_signal, bzero, ecvt, fcvt,
40294         ftime, gcvt, getcontext, gethostbyaddr, gethostbyname, getwd, h_errno,
40295         index, makecontext, mktemp, pthread_attr_getstackaddr,
40296         pthread_attr_setstackaddr, rindex, scalb, setcontext, swapcontext,
40297         ualarm, usleep, vfork, wcswcs. Add the new POSIX:2008 functions.
40298         (posix2001_functions): New variable.
40299         (func_module): Use URLs to POSIX:2008 where possible and to POSIX:2001
40300         otherwise.
40301
40302 2008-12-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
40303
40304         add missing include to parse-duration.c
40305         * lib/parse-duration.c: #include "xalloc.h", for xstrdup.
40306         * modules/parse-duration (Depends-on): Add xalloc.
40307
40308         fix sed script reading maint.mk
40309         * top/maint.mk (MYSELF): New macro, define as $(srcdir)/$(ME).
40310         (syntax-check-rules): Use it.
40311
40312 2008-12-09  Bruno Haible  <bruno@clisp.org>
40313
40314         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Add another check, that fails on
40315         MacOS X 10.4/PowerPC.
40316         Reported by Simon Josefsson.
40317
40318 2008-12-08  Jim Meyering  <meyering@redhat.com>
40319
40320         work around mingw's lack of some S_IF definitions
40321         * lib/fts.c (S_IFLNK, S_IFSOCK): Define if not already defined.
40322         Reported by Simon Josefsson.
40323
40324 2008-12-08  Bruno Haible  <bruno@clisp.org>
40325
40326         * m4/signbitl.m4 (gl_SIGNBIT_TEST_PROGRAM): Add a link check of signbit
40327         applied to variables. Needed on MacOS X 10.4/PowerPC.
40328         Reported by Simon Josefsson.
40329
40330 2008-12-08  William Pursell  <bill.pursell@gmail.com>  (tiny change)
40331         and Eric Blake  <ebb9@byu.net>
40332
40333         assert: honor --enable-assert
40334         * m4/assert.m4 (gl_ASSERT): Synchronize with autoconf 2.64, in
40335         order to honor --enable-assert, rather than treating it as a
40336         synonym for --disable-assert.
40337
40338 2008-12-08  Jim Meyering  <meyering@redhat.com>
40339
40340         * lib/posixtm.c: Remove now-useless declaration of mktime.
40341
40342         * build-aux/announce-gen (get_tool_versions): Accept .xz tarballs.
40343
40344 2008-12-07  Bruno Haible  <bruno@clisp.org>
40345
40346         * tests/test-lock.c (test_lock, test_rwlock, test_recursive_lock,
40347         test_once): Mark functions as static.
40348         * tests/test-tls.c (test_tls): Likewise.
40349
40350 2008-12-07  Bruno Haible  <bruno@clisp.org>
40351
40352         * lib/striconveha.h (uniconv_register_autodetect): Renamed from
40353         iconv_register_autodetect.
40354
40355 2008-12-07  Jim Meyering  <meyering@redhat.com>
40356
40357         posixtm.c: avoid a warning
40358         * lib/posixtm.c (posixtime): Don't initialize tm0.
40359         It's no longer needed to placate gcc4's -Wuninitialized,
40360         and the attempt to placate would elicit a new warning.
40361
40362         unicodeio.c: mark unused parameters
40363         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
40364         (fallback_failure_callback): Likewise.
40365
40366 2008-12-07  Bruno Haible  <bruno@clisp.org>
40367
40368         * gnulib-tool (func_create_testdir): When building the tests
40369         subdirectory, ignore the modules gnumakefile and maintainer-makefile.
40370         Reported by Simon Josefsson.
40371
40372 2008-12-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
40373
40374         * doc/manywarnings.texi, doc/gnulib-intro.texi: Fix typos.
40375
40376 2008-12-06  Bruno Haible  <bruno@clisp.org>
40377
40378         * lib/c-stack.h (c_stack_action): Clarify possible side effects.
40379         Suggested by Eric Blake.
40380
40381 2008-12-06  Bruno Haible  <bruno@clisp.org>
40382
40383         Fix a c-stack test failure on MacOS X.
40384         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Require
40385         AC_CANONICAL_HOST. Define FAULT_YIELDS_SIGBUS. If set, install a signal
40386         handler for SIGBUS as well.
40387         * lib/c-stack.c (c_stack_action): If FAULT_YIELDS_SIGBUS is set,
40388         install a signal handler for SIGBUS as well.
40389         Reported by Bruce Dugan <bld0401@gmail.com> via Eric Blake.
40390
40391 2008-12-06  Bruno Haible  <bruno@clisp.org>
40392
40393         Advocacy documentation.
40394         * doc/gnulib-intro.texi (Benefits): New section.
40395         * doc/gnulib.texi: Update.
40396
40397 2008-12-06  Bruno Haible  <bruno@clisp.org>
40398
40399         Document the 'manywarnings' module.
40400         * doc/manywarnings.texi: New file.
40401         * doc/gnulib.texi: Include it.
40402
40403 2008-12-05  Eric Blake  <ebb9@byu.net>
40404
40405         tests: silence some gcc warnings
40406         * tests/test-getdate.c (LOG) [!DEBUG]: Mark no-op void.
40407         * tests/uniwidth/test-uc_width2.c (finish_interval): Avoid printf
40408         type mismatches.
40409
40410 2008-12-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
40411             Bruno Haible  <bruno@clisp.org>
40412
40413         * m4/openmp.m4 (AC_OPENMP): Do not define with Autoconf 2.62 or newer.
40414
40415 2008-11-29  Jim Meyering  <meyering@redhat.com>
40416
40417         unicodeio.c: mark unused parameters
40418         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
40419         (fallback_failure_callback): Likewise.
40420
40421         fts: fix a thinko
40422         * lib/fts.c (s_ifmt_shift_bits): Remove function.  Not needed after all.
40423         (set_stat_type): Return S_IF*-valued "type" directly.
40424         Prompted by James Youngman's spotting a related bug.
40425         Confirmed by further testing through find.
40426
40427         fts: provide dirent.d_type via FTSENT.fts_statp, when possible
40428         * lib/fts.c (D_TYPE): Define.
40429         (DT_UNKNOWN, DT_BLK, DT_CHR) [HAVE_STRUCT_DIRENT_D_TYPE]: Define.
40430         (DT_DIR, DT_FIFO, DT_LNK, DT_REG, DT_SOCK): Likewise.
40431         (s_ifmt_shift_bits): New function.
40432         (set_stat_type): New function.
40433         (fts_build): When not calling fts_stat, call set_stat_type
40434         to propagate dirent.d_type info to fts_read caller.
40435         * lib/fts_.h (FTSENT) [FTS_DEFER_STAT]: Mention that
40436         fts_statp->st_mode type information may be valid.
40437
40438 2008-11-28  Simon Josefsson  <simon@josefsson.org>
40439
40440         * lib/sys_time.in.h: Add extern "C" block for C++.  Suggested by
40441         Brian Dessent <brian@dessent.net>.  Reported by Sam Steingold
40442         <sds@gnu.org>.
40443
40444 2008-11-20  Bruno Haible  <bruno@clisp.org>
40445
40446         Attempt to work around an AIX 5.3, 6.1 compiler bug with include_next.
40447         * lib/math.in.h: Use INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of
40448         INCLUDE_NEXT.
40449         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also
40450         INCLUDE_NEXT_AS_FIRST_DIRECTIVE.
40451         * modules/math (Makefile.am): Substitute
40452         INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of INCLUDE_NEXT.
40453         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
40454
40455 2008-11-18  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
40456             Bruno Haible  <bruno@clisp.org>
40457
40458         * lib/stdint.in.h: Define all type macros so that their expansion is
40459         a single typedef'ed token. Fixes a compilation failure in Boost which
40460         does "using ::int8_t;".
40461
40462 2008-11-18  Simon Josefsson  <simon@josefsson.org>
40463
40464         * m4/manywarnings.m4: New file with gl_MANYWARN_COMPLEMENT and
40465         gl_MANYWARN_ALL_GCC.
40466         * m4/warnings.m4: Removed gl_WARN_SUPPORTED and
40467         gl_WARN_COMPLEMENT.  Suggested by Bruno Haible <bruno@clisp.org>.
40468         * modules/manywarnings: New file.
40469         * MODULES.html.sh: Mention manywarnings module.
40470
40471 2008-11-18  Bruno Haible  <bruno@clisp.org>
40472
40473         * doc/gnulib-tool.texi (Unit tests): New section.
40474
40475 2008-11-18  Simon Josefsson  <simon@josefsson.org>
40476
40477         * top/maint.mk (refresh-po): Fix sed regexp to avoid problems with
40478         paths like 'lib/po/foo.po'.
40479
40480 2008-11-17  Simon Josefsson  <simon@josefsson.org>
40481
40482         * m4/warnings.m4: Improve code.  Reported by Ralf Wildenhues
40483         <Ralf.Wildenhues@gmx.de> and Paolo Bonzini <bonzini@gnu.org>.
40484
40485 2008-11-17  Simon Josefsson  <simon@josefsson.org>
40486
40487         * m4/warnings.m4: Use CPPFLAGS to really check whether the
40488         parameter works.
40489
40490 2008-11-17  Simon Josefsson  <simon@josefsson.org>
40491
40492         * m4/warnings.m4: Add gl_WARN_COMPLEMENT and gl_WARN_SUPPORTED.
40493
40494 2008-11-17  Bruce Korb  <bkorb@gnu.org>
40495
40496         * modules/parse-duration-tests: New file.
40497         * tests/test-parse-duration.sh: New file.
40498         * tests/test-parse-duration.c: New file.
40499
40500         New module 'parse-duration'.
40501         * lib/parse-duration.h: New file.
40502         * lib/parse-duration.c: New file.
40503         * modules/parse-duration: New file.
40504
40505 2008-11-17  Bruno Haible  <bruno@clisp.org>
40506
40507         * tests/test-select-out.sh: Comment out the first pipe test.
40508         Reported by Simon Josefsson.
40509
40510 2008-11-17  Bruno Haible  <bruno@clisp.org>
40511
40512         * modules/getaddrinfo (Depends-on): Add servent, hostent.
40513         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_SERVENT and
40514         gl_HOSTENT.
40515
40516 2008-11-17  Bruno Haible  <bruno@clisp.org>
40517
40518         * m4/sockets.m4 (gl_SOCKETS): After trying -lsocket, try also
40519         -lnetwork and -lnet. Needed for Haiku and BeOS.
40520
40521 2008-11-16  Bruno Haible  <bruno@clisp.org>
40522
40523         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix indentation.
40524
40525 2008-11-16  Bruno Haible  <bruno@clisp.org>
40526
40527         Avoid test failure on Haiku.
40528         * tests/test-fsync.c: Include <errno.h>.
40529         (main): Don't require that fsync (0) fails.
40530
40531 2008-11-15  Bruno Haible  <bruno@clisp.org>
40532
40533         New module 'hostent'.
40534         * modules/hostent: New file.
40535         * m4/hostent.m4: New file, based on code in m4/getaddrinfo.m4.
40536
40537 2008-11-15  Bruno Haible  <bruno@clisp.org>
40538
40539         New module 'servent'.
40540         * modules/servent: New file.
40541         * m4/servent.m4: New file, based on code in m4/getaddrinfo.m4.
40542
40543 2008-11-15  Bruno Haible  <bruno@clisp.org>
40544
40545         Avoid generating same test program with two different rules.
40546         * modules/frexp-nolibm-tests (Makefile.am): Rename test program from
40547         test-frexp to test-frexp-nolibm.
40548         * modules/frexpl-nolibm-tests (Makefile.am): Rename test program from
40549         test-frexpl to test-frexpl-nolibm.
40550
40551 2008-11-15  Bruno Haible  <bruno@clisp.org>
40552
40553         * modules/frexpl-tests (Makefile.am): Link test-frexpl with
40554         $(FREXPL_LIBM).
40555
40556 2008-11-15  Bruno Haible  <bruno@clisp.org>
40557
40558         * lib/netdb.in.h: Activate the definitions also when the system's
40559         <netdb.h> has 'struct addrinfo'.
40560         * m4/netdb_h.m4 (gl_HEADER_NETDB): Replace netdb.h also when it lacks
40561         EAI_OVERFLOW or AI_NUMERICSERV.
40562         * doc/posix-headers/netdb.texi: Document the problem.
40563
40564 2008-11-15  Bruno Haible  <bruno@clisp.org>
40565
40566         * tests/test-sched.c: Test also the existence of the SCHED_* macros.
40567
40568         Make the 'sched' module work on platforms where <sched.h> exists but
40569         is incomplete (such as Haiku).
40570         * lib/sched.in.h; Include the system's <sched.h> if it exists.
40571         (SCHED_FIFO, SCHED_RR, SCHED_OTHER): New macros.
40572         * m4/sched_h.m4 (gl_SCHED_H): Test whether <sched.h> exists and also
40573         defines SCHED_FIFO, SCHED_RR, SCHED_OTHER. Set HAVE_SCHED_H,
40574         HAVE_STRUCT_SCHED_PARAM.
40575         * modules/sched (Depends-on): Add include_next.
40576         (Makefile.am): Substitute HAVE_SCHED_H, INCLUDE_NEXT,
40577         PRAGMA_SYSTEM_HEADER, NEXT_SCHED_H, HAVE_STRUCT_SCHED_PARAM.
40578         * doc/posix-headers/sched.texi: Document the issue.
40579
40580 2008-11-13  Jim Meyering  <meyering@redhat.com>
40581
40582         test-argp-2: avoid test failure when PACKAGE_BUGREPORT is defined
40583         * tests/test-argp-2.sh: When PACKAGE_BUGREPORT was defined, this
40584         test would fail due to the difference in the Report bugs to ...
40585         line.  The expected address is empty, "<>", while the actual
40586         would contain e.g., "<bug-tar@gnu.org>".  Filter out any address.
40587
40588 2008-11-12  Bruno Haible  <bruno@clisp.org>
40589
40590         lstat: don't compile lstat.c on systems lacking lstat
40591         * m4/lstat.m4 (gl_FUNC_LSTAT): Don't compile lstat.c on systems
40592         which don't have lstat; this is handled by lib/sys_stat.in.h already.
40593         Reported by Daniel P. Berrange via Jim Meyering.
40594
40595 2008-11-12  Jim Meyering  <meyering@redhat.com>
40596
40597         * lib/unicodeio.c (unicode_to_mb): Correct spelling of u8_uctomb.
40598
40599 2008-11-12  Simon Josefsson  <simon@josefsson.org>
40600
40601         * modules/warnings (configure.ac): Do AC_SUBST([WARN_CFLAGS]) here
40602         instead.
40603
40604 2008-11-12  Bruno Haible  <bruno@clisp.org>
40605
40606         * lib/unicodeio.c: Include unistr.h.
40607         (utf8_wctomb): Remove function.
40608         (unicode_to_mb): Use utf8_uctomb instead of utf8_wctomb.
40609
40610 2008-11-12  Simon Josefsson  <simon@josefsson.org>
40611
40612         * m4/warnings.m4 (gl_WARN_INIT): Remove, suggested by Ralf
40613         Wildenhues <Ralf.Wildenhues@gmx.de> and Bruno Haible
40614         <bruno@clisp.org>.
40615         * modules/warnings (configure.ac): Don't call gl_WARN_INIT.
40616
40617 2008-11-12  Simon Josefsson  <simon@josefsson.org>
40618
40619         * doc/warnings.texi: New file, from Bruno Haible <bruno@clisp.org>.
40620         * doc/gnulib.texi: Add section for warnings.
40621
40622 2008-11-11  Bruno Haible  <bruno@clisp.org>
40623
40624         * lib/sockets.h: Add a comment.
40625
40626 2008-11-11  Karl Berry  <karl@gnu.org>
40627
40628         * config/srclist.txt (fdl.texi): add, syncing from gnustandards.
40629
40630 2008-11-11  Eric Blake  <ebb9@byu.net>
40631
40632         fdl.texi: avoid git symlinks
40633         * doc/fdl.texi: Copy, rather than link, fdl-1.3.texi.
40634
40635 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
40636
40637         * m4/warnings.m4 (gl_WARN_ADD): Don't AC_SUBST the empty string.
40638
40639 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
40640
40641         * m4/warnings.m4 (gl_WARN_INIT): Substitute WARN_CFLAGS.
40642         (gl_WARN_ADD): Substitute $2 if literal.
40643
40644 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
40645
40646         * m4/warning.m4: Remove.
40647
40648 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
40649
40650         * m4/warnings.m4: Almost complete rewrite. :-)
40651
40652 2008-11-10  Simon Josefsson  <simon@josefsson.org>
40653
40654         * modules/warnings: New module.
40655         * m4/warnings.m4: New file.
40656         * MODULES.html.sh: Mention warnings module.
40657         With review improvements from Paolo Bonzini <bonzini@gnu.org> and
40658         Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
40659
40660 2008-11-10  Eric Blake  <ebb9@byu.net>
40661
40662         fdl.texi: make a symlink to the latest version
40663         * doc/standards.texi: Revert today's earlier change.
40664         * doc/fdl-1.2.texi: Rename from old fdl.texi...
40665         * doc/fdl.texi: ...and replace this with a symlink to the newer
40666         fdl-1.3.texi.
40667
40668 2008-11-10  Bruno Haible  <bruno@clisp.org>
40669
40670         * tests/test-select-fd.c (main): Accept the result file name as fourth
40671         argument.
40672         * tests/test-select-in.sh: Pass t-select-in.tmp as fourth argument.
40673         * tests/test-select-out.sh: Pass t-select-out.tmp as fourth argument.
40674
40675 2008-11-10  Bruno Haible  <bruno@clisp.org>
40676
40677         * lib/netdb.in.h: Use HAVE_STRUCT_ADDRINFO, HAVE_DECL_GETADDRINFO,
40678         HAVE_DECL_FREEADDRINFO, HAVE_DECL_GAI_STRERROR, HAVE_DECL_GETNAMEINFO
40679         as autoconf-substituted macros.
40680         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Initialize these variables to 1.
40681         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require
40682         gl_NETDB_H_DEFAULTS. Set these variables.
40683         * modules/netdb (Makefile.am): Substitute these variables.
40684
40685 2008-11-10  Eric Blake  <ebb9@byu.net>
40686
40687         standards.texi: include correct file for FDL 1.3
40688         * doc/standards.texi (GNU Free Documentation License): Change
40689         include file to pull in FDL 1.3, not 1.2.
40690
40691         fdl.texi: revert accidental change to license
40692         * doc/fdl.texi: This is FDL 1.2, not 1.3.
40693
40694 2008-11-10  Bruno Haible  <bruno@clisp.org>
40695
40696         * m4/printf.m4 (gl_PRINTF_ENOMEM): Guess yes on Haiku. Use the
40697         cross-compiling guesses also when the native compile gives no result.
40698
40699 2008-11-10  Bruno Haible  <bruno@clisp.org>
40700
40701         * lib/spawni.c (__spawni): Force variable into the stack.
40702
40703 2008-11-10  Bruno Haible  <bruno@clisp.org>
40704
40705         Add support for Haiku.
40706         * lib/fbufmode.c (fbufmode): Test a symbol that is not only defined on
40707         glibc and BeOS, but also on Haiku.
40708         * lib/fpurge.c (fpurge): Likewise.
40709         * lib/freadable.c (freadable): Likewise.
40710         * lib/freadahead.c (freadahead): Likewise.
40711         * lib/freading.c (freading): Likewise.
40712         * lib/freadptr.c (freadptr): Likewise.
40713         * lib/freadseek.c (freadptrinc): Likewise.
40714         * lib/fseeko.c (rpl_fseeko): Likewise.
40715         * lib/fseterr.c (fseterr): Likewise.
40716         * lib/fwritable.c (fwritable): Likewise.
40717         * lib/fwriting.c (fwriting): Likewise.
40718         Reported by Ingo Weinhold <ingo_weinhold@gmx.de>.
40719
40720 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
40721
40722         * lib/config.charset: Treat Haiku like BeOS.
40723
40724 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
40725
40726         * lib/binary-io.h (O_BINARY, O_TEXT): Treat Haiku like BeOS.
40727         * lib/fcntl.in.h (O_BINARY, O_TEXT): Likewise.
40728
40729 2008-11-08  Bruno Haible  <bruno@clisp.org>
40730
40731         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Avoid using AC_CHECK_DECL inside
40732         AC_CACHE_CHECK.
40733
40734 2008-11-08  Bruno Haible  <bruno@clisp.org>
40735
40736         * modules/select-tests (configure.ac): Check for unistd.h, sys/wait.h.
40737
40738 2008-11-08  Bruno Haible  <bruno@clisp.org>
40739
40740         * tests/test-select-fd.c: New file.
40741         * tests/test-select-in.sh: New file.
40742         * tests/test-select-out.sh: New file.
40743         * tests/test-select-stdin.c: New file.
40744         * modules/select-tests (Files): Add the new files.
40745         (Depends-on): Add gettimeofday.
40746         (Makefile.am): Add test-select-in.sh, test-select-out.sh to TESTS.
40747         Set TESTS_ENVIRONMENT. Add test-select-fd, test-select-stdin to
40748         check_PROGRAMS. Define test_select_fd_LDADD, test_select_stdin_LDADD.
40749
40750 2008-11-06  Alexander V. Lukyanov  <lav@netis.ru>
40751             Bruno Haible  <bruno@clisp.org>
40752
40753         * lib/sys_stat.in.h: Enclose function definitions in extern "C".
40754
40755 2008-10-12  Giuseppe Scrivano  <gscrivano@gnu.org>
40756
40757         * build-aux/pmccabe2html: Added support for C++ source files.
40758
40759 2008-11-05  Ben Pfaff  <blp@gnu.org>
40760
40761         Fix lib/close.c build on Windows.
40762         * modules/close (Files): Add lib/w32sock.h.
40763
40764 2008-11-05  Joel E. Denny  <jdenny@ces.clemson.edu>
40765
40766         Accept Bison's NEWS format.
40767         * build-aux/announce-gen (print_news_deltas): Tweak
40768         $re_prefix.
40769
40770 2008-11-04  Bruno Haible  <bruno@clisp.org>
40771
40772         * modules/random_r (Maintainer): Add glibc.
40773
40774 2008-11-04  Simon Josefsson  <simon@josefsson.org>
40775
40776         * doc/alloca-opt.texi: Change license to GFDLv1.3+, as suggested
40777         by karl@freefriends.org (Karl Berry).
40778         * doc/alloca.texi: Likewise.
40779         * doc/c-ctype.texi: Likewise.
40780         * doc/c-strcase.texi: Likewise.
40781         * doc/c-strcaseeq.texi: Likewise.
40782         * doc/c-strcasestr.texi: Likewise.
40783         * doc/c-strstr.texi: Likewise.
40784         * doc/c-strtod.texi: Likewise.
40785         * doc/c-strtold.texi: Likewise.
40786         * doc/ctime.texi: Likewise.
40787         * doc/error.texi: Likewise.
40788         * doc/fdl.texi: Likewise.
40789         * doc/gcd.texi: Likewise.
40790         * doc/getdate.texi: Likewise.
40791         * doc/gnulib-intro.texi: Likewise.
40792         * doc/gnulib-tool.texi: Likewise.
40793         * doc/gnulib.texi: Likewise.
40794         * doc/inet_ntoa.texi: Likewise.
40795         * doc/maintain.texi: Likewise.
40796         * doc/make-stds.texi: Likewise.
40797         * doc/quote.texi: Likewise.
40798         * doc/regexprops-generic.texi: Likewise.
40799         * doc/standards.texi: Likewise.
40800         * doc/verify.texi: Likewise.
40801         * doc/visibility.texi: Likewise.
40802         * doc/gnulib.texi (GNU Free Documentation License): Include
40803         fdl-1.3.texi instead of fdl.texi.
40804
40805 2008-11-04  Simon Josefsson  <simon@josefsson.org>
40806
40807         * doc/fdl-1.3.texi: New file, from
40808         <http://www.gnu.org/licenses/fdl-1.3.texi>.
40809         * modules/fdl-1.3: Add.
40810         * MODULES.html.sh: Add fdl-1.3.
40811
40812 2008-11-03  Bruno Haible  <bruno@clisp.org>
40813
40814         Make determination of absolute name of header file work with AIX xlc.
40815         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Require
40816         AC_CANONICAL_HOST. On AIX, use "$CPP -C" rather than "$CPP" for
40817         preprocessing.
40818         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
40819         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
40820
40821 2008-11-03  Simon Josefsson  <simon@josefsson.org>
40822
40823         * top/maint.mk (COVERAGE_CCOPTS): Use --coverage instead of
40824         -fprofile-arcs -ftest-coverage.  Suggested by Ludovic Courtès
40825         <ludo@gnu.org>.
40826
40827 2008-11-02  Bruno Haible  <bruno@clisp.org>
40828
40829         Mark 'strpbrk' obsolete.
40830         * modules/strpbrk (Status, Notice): New sections.
40831         * modules/strtok_r (Depends-on): Add strpbrk.
40832
40833 2008-11-02  Bruno Haible  <bruno@clisp.org>
40834
40835         Mark 'strdup' obsolete.
40836         * modules/strdup (Status, Notice): New sections.
40837         * modules/findprog (Depends-on): Add strdup.
40838         * modules/getaddrinfo (Depends-on): Likewise.
40839         * modules/localename (Depends-on): Likewise.
40840         * modules/relocatable-lib (Depends-on): Likewise.
40841         * modules/relocatable-lib-lgpl (Depends-on): Likewise.
40842         * modules/relocatable-prog (Depends-on): Likewise.
40843         * modules/trim (Depends-on): Likewise.
40844         * modules/unictype/gen-ctype (Depends-on): Likewise.
40845         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
40846
40847 2008-11-02  Bruno Haible  <bruno@clisp.org>
40848
40849         Mark 'strcspn' obsolete.
40850         * modules/strcspn (Status, Notice): New sections.
40851
40852 2008-11-02  Bruno Haible  <bruno@clisp.org>
40853
40854         Mark 'rmdir' obsolete.
40855         * modules/rmdir (Status, Notice): New sections.
40856         * modules/clean-temp (Depends-on): Add rmdir.
40857         * modules/openat (Depends-on): Likewise.
40858
40859 2008-11-02  Bruno Haible  <bruno@clisp.org>
40860
40861         Mark 'raise' obsolete.
40862         * modules/raise (Status, Notice): New sections.
40863         (Include): Specify <signal.h>.
40864         * modules/stdio (Depends-on): Add raise.
40865         * modules/write (Depends-on): Likewise.
40866
40867 2008-11-02  Bruno Haible  <bruno@clisp.org>
40868
40869         Mark 'memset' obsolete.
40870         * modules/memset (Status, Notice): New sections.
40871
40872 2008-11-02  Bruno Haible  <bruno@clisp.org>
40873
40874         Mark 'memmove' obsolete.
40875         * modules/memmove (Status, Notice): New sections.
40876         * modules/argp (Depends-on): Add memmove.
40877         * modules/argz (Depends-on): Likewise.
40878         * modules/canonicalize (Depends-on): Likewise.
40879         * modules/canonicalize-lgpl (Depends-on): Likewise.
40880         * modules/fts (Depends-on): Likewise.
40881         * modules/getcwd (Depends-on): Likewise.
40882         * modules/human (Depends-on): Likewise.
40883         * modules/regex (Depends-on): Likewise.
40884         * modules/striconveh (Depends-on): Likewise.
40885         * modules/trim (Depends-on): Likewise.
40886         * modules/unistr/u8-move (Depends-on): Likewise.
40887         * modules/unistr/u16-move (Depends-on): Likewise.
40888         * modules/unistr/u32-move (Depends-on): Likewise.
40889
40890 2008-11-02  Bruno Haible  <bruno@clisp.org>
40891
40892         Mark 'memcpy' obsolete.
40893         * modules/memcpy (Status, Notice): New sections.
40894
40895 2008-11-02  Bruno Haible  <bruno@clisp.org>
40896
40897         Mark 'memcmp' obsolete.
40898         * modules/memcmp (Status, Notice): New sections.
40899         * modules/argmatch (Depends-on): Add memchr.
40900         * modules/backupfile (Depends-on): Likewise.
40901         * modules/c-strcasestr (Depends-on): Likewise.
40902         * modules/crypto/des (Depends-on): Likewise.
40903         * modules/csharpcomp (Depends-on): Likewise.
40904         * modules/fnmatch (Depends-on): Likewise.
40905         * modules/git-merge-changelog (Depends-on): Likewise.
40906         * modules/isnand (Depends-on): Likewise.
40907         * modules/isnand-nolibm (Depends-on): Likewise.
40908         * modules/isnanf (Depends-on): Likewise.
40909         * modules/isnanf-nolibm (Depends-on): Likewise.
40910         * modules/isnanl (Depends-on): Likewise.
40911         * modules/isnanl-nolibm (Depends-on): Likewise.
40912         * modules/mbchar (Depends-on): Likewise.
40913         * modules/memcoll (Depends-on): Likewise.
40914         * modules/quotearg (Depends-on): Likewise.
40915         * modules/regex (Depends-on): Likewise.
40916         * modules/relocatable-prog (Depends-on): Likewise.
40917         * modules/same (Depends-on): Likewise.
40918         * modules/signbit (Depends-on): Likewise.
40919         * modules/strcasestr-simple (Depends-on): Likewise.
40920         * modules/unictype/gen-ctype (Depends-on): Likewise.
40921         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
40922         * modules/uniname/uniname (Depends-on): Likewise.
40923         * modules/unistr/u8-cmp (Depends-on): Likewise.
40924
40925 2008-11-02  Bruno Haible  <bruno@clisp.org>
40926
40927         Mark 'memchr' obsolete.
40928         * modules/memchr (Status, Notice): New sections.
40929         * modules/argp (Depends-on): Add memchr.
40930         * modules/base64 (Depends-on): Likewise.
40931         * modules/c-strcasestr (Depends-on): Likewise.
40932         * modules/chdir-long (Depends-on): Likewise.
40933         * modules/fnmatch (Depends-on): Likewise.
40934         * modules/getsubopt (Depends-on): Likewise.
40935         * modules/git-merge-changelog (Depends-on): Likewise.
40936         * modules/glob (Depends-on): Likewise.
40937         * modules/strcasestr-simple (Depends-on): Likewise.
40938         * modules/strnlen (Depends-on): Likewise.
40939
40940 2008-11-02  Bruno Haible  <bruno@clisp.org>
40941
40942         Mark 'atexit' obsolete.
40943         * modules/atexit (Status, Notice): New sections.
40944         * modules/chdir-long (Depends-on): Add atexit.
40945         * modules/wait-process (Depends-on): Likewise.
40946
40947 2008-11-02  Bruno Haible  <bruno@clisp.org>
40948
40949         * gnulib-tool: New option --with-obsolete.
40950         (func_usage): Document it.
40951         (func_modules_transitive_closure): Drop obsolete dependencies if
40952         incobsolete is not true.
40953         (func_import): Read and save the incobsolete variable to the cache.
40954
40955 2008-11-02  Bruno Haible  <bruno@clisp.org>
40956
40957         * modules/TEMPLATE-EXTENDED: New field 'Status'.
40958         * gnulib-tool: New option --extract-status.
40959         (func_usage): Document it.
40960         (sed_extract_prog): Recognize it.
40961         (func_get_status): New function.
40962
40963 2008-10-30  Simon Josefsson  <simon@josefsson.org>
40964
40965         * modules/sockets (License): Change from LGPL to LGPLv2+.
40966
40967 2008-10-28  Simon Josefsson  <simon@josefsson.org>
40968
40969         * top/maint.mk: Add coverage rules, inspired by scripts in gnupdf.
40970
40971 2008-10-28  Simon Josefsson  <simon@josefsson.org>
40972
40973         * MODULES.html.sh (Support for systems lacking POSIX:2001):
40974         Mention times and sys_times.
40975         * modules/sys_times, modules/sys_times-tests: New modules.
40976         * modules/times, modules/times-tests: Likewise
40977         * m4/sys_times_h.m4: New file.
40978         * lib/sys_times.in.h: Likewise
40979         * lib/times.c: Likewise.
40980         * tests/test-sys_times.c: Likewise.
40981         * tests/test-times.c: Likewise.
40982         * doc/posix-headers/sys_times.texi: Update.
40983         * doc/posix-functions/times.texi: Update.
40984
40985 2008-10-28  Jim Meyering  <meyering@redhat.com>
40986
40987         * modules/tempname (Depends-on): Add lstat.
40988
40989         * modules/lstat (License): Relicense: LGPL -> LGPLv2+.
40990
40991 2008-10-28  Simon Josefsson  <simon@josefsson.org>
40992
40993         * gnulib-tool (func_emit_tests_Makefile_am): Revert last commit.
40994         * modules/argp-tests (test_argp_LDADD): Set EXEEXT here instead,
40995         using idiom used elsewhere in gnulib.
40996
40997 2008-10-27  Jim Meyering  <meyering@redhat.com>
40998
40999         * modules/gethostname (License): Relicense: LGPL -> LGPLv2+.
41000
41001 2008-10-27  Simon Josefsson  <simon@josefsson.org>
41002
41003         * gnulib-tool (func_emit_tests_Makefile_am): Set EXEEXT in
41004         TESTS_ENVIRONMENT, for shell scripts that needs to call built
41005         programs.
41006         * tests/test-argp-2.sh: Use $EXEEXT when needed.
41007
41008 2008-10-27  Simon Josefsson  <simon@josefsson.org>
41009
41010         * lib/sys_stat.in.h (lstat): Fix declaration for mingw.
41011
41012 2008-10-27  Bruno Haible  <bruno@clisp.org>
41013
41014         * tests/test-lstat.c: Include <stdio.h>.
41015
41016 2008-10-27  Simon Josefsson  <simon@josefsson.org>
41017
41018         * modules/lstat-tests: New module.
41019         * tests/test-lstat.c: New file.
41020
41021 2008-10-26  Jim Meyering  <meyering@redhat.com>
41022
41023         * lib/mkdir.c (rpl_mkdir) [_WIN32...]: Mark mode as an unused parameter.
41024
41025 2008-10-26  Simon Josefsson  <simon@josefsson.org>
41026             Bruno Haible  <bruno@clisp.org>
41027
41028         Fix a clash between the type DATADIR on Windows and the macro DATADIR.
41029         * modules/configmake (Include): Add a note that the include must come
41030         after all system headers.
41031         * lib/javaversion.c: Include configmake.h after all other includes.
41032
41033 2008-10-26  Bruno Haible  <bruno@clisp.org>
41034
41035         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Set default of
41036         HAVE_STRUCT_RANDOM_DATA to 1.
41037         (gl_STDLIB_H): Simplify.
41038
41039 2008-10-26  Simon Josefsson  <simon@josefsson.org>
41040
41041         * m4/stdlib_h.m4: Check for struct random_data.  Initialize and
41042         substitute HAVE_STRUCT_RANDOM_DATA.
41043         * lib/stdlib.in.h [!HAVE_STRUCT_RANDOM_DATA]: Provide struct
41044         random_data.
41045         * modules/stdlib (Makefile.am): Substitute
41046         HAVE_STRUCT_RANDOM_DATA.
41047
41048 2008-10-26  Simon Josefsson  <simon@josefsson.org>
41049
41050         * doc/gnulib.texi (@copying): Use GFDLv1.2+.
41051         * doc/gnulib-intro.texi (Copyright): Likewise.
41052
41053 2008-10-26  Simon Josefsson  <simon@josefsson.org>
41054
41055         * doc/gnulib.texi (Header files): C++ fixes, based on Bruno's
41056         findings.
41057
41058 2008-10-25  Ben Pfaff  <blp@cs.stanford.edu>
41059             Bruno Haible  <bruno@clisp.org>
41060
41061         * lib/unistd.in.h: Include <winsock2.h>.
41062         (socket, connect,accept, bind, getpeername, getsockname, getsockopt,
41063         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, select):
41064         Provide dummy declarations.
41065         (gethostname): Override.
41066         * lib/sys_socket.in.h (gethostname): Provide dummy declaration.
41067         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Invoke
41068         gl_PREREQ_SYS_H_WINSOCK2.
41069         * modules/gethostname (Files): Add m4/sys_socket_h.m4.
41070         * doc/posix-functions/gethostname.texi: More details.
41071
41072 2008-10-25  Bruno Haible  <bruno@clisp.org>
41073
41074         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
41075         gl_UNISTD_H_DEFAULTS, gl_SYS_IOCTL_H_DEFAULTS only if they exist.
41076         * modules/sys_socket (Files): Remove m4/unistd_h.m4, m4/sys_ioctl_h.m4.
41077
41078         * lib/sys_socket.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); Move macro from
41079         here ...
41080         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); ... to here.
41081         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Remove invocation of
41082         gl_UNISTD_H_DEFAULTS.
41083
41084 2008-10-25  Eric Blake  <ebb9@byu.net>
41085
41086         signbit: avoid spurious compiler failure
41087         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Move non-constant
41088         declarations inside function.
41089
41090 2008-10-24  Simon Josefsson  <simon@josefsson.org>
41091             Bruno Haible  <bruno@clisp.org>
41092
41093         * lib/stdlib.in.h (@GNULIB_RANDOM_R@): Include stdint.h.
41094         * modules/random_r (Depends-on): Add stdint.
41095
41096 2008-10-24  Bruno Haible  <bruno@clisp.org>
41097
41098         * modules/intprops (License): Change to LGPLv2+, with approval by Paul
41099         Eggert.
41100         * modules/strerror (License): Likewise.
41101
41102 2008-10-24  Jim Meyering  <meyering@redhat.com>
41103
41104         sys_socket: fix typo that inhibited expansion of @GNULIB_SEND@
41105         * modules/sys_socket (Depends-on) [Depends-on]: Fix typo.
41106
41107 2008-10-24  Eric Blake  <ebb9@byu.net>
41108
41109         getgroups: fix compilation when getgroups is available
41110         * lib/getgroups.c (includes): Include <unistd.h> for getgroups,
41111         but with <config.h> override of getgroups disabled.
41112
41113 2008-10-24  Simon Josefsson  <simon@josefsson.org>
41114
41115         * doc/gnulib.texi (Header files): Add note about C++ problems.
41116         Explained by Bruno Haible <bruno@clisp.org>.
41117
41118 2008-10-23  Bruno Haible  <bruno@clisp.org>
41119
41120         Define a dummy SA_NODEFER macro on Interix.
41121         * lib/signal.in.h (SA_NODEFER): Define fallback.
41122         Reported by Aleksey Cheusov <cheusov@tut.by> via
41123         Thomas Klausner <wiz@netbsd.org> and Eric Blake.
41124
41125 2008-10-23  Bruno Haible  <bruno@clisp.org>
41126
41127         * modules/freadahead (License): Change to LGPLv2+.
41128         Suggested by Simon Josefsson.
41129
41130 2008-10-23  Jim Meyering  <meyering@redhat.com>
41131
41132         random_r: new module
41133         * modules/random_r: New file.
41134         * m4/random_r.m4: New file.
41135         * lib/random_r.c: New file, from glibc.
41136         * modules/random_r-tests: New file.
41137         * tests/test-random_r.c: New file.
41138         * lib/stdlib.in.h (srandom_r, initstate_r, setstate_r, random_r):
41139          Declare.
41140         (RAND_MAX): Define.
41141         * m4/stdlib_h.m4: Define and AC_SUBST GNULIB_RANDOM_R and HAVE_RANDOM_R.
41142         * modules/stdlib: Substitute them, too.
41143         * MODULES.html.sh (Extra functions based on POSIX:2001) [Misc]: Add it.
41144         * doc/glibc-functions/initstate_r.texi: Mention the new module.
41145         * doc/glibc-functions/random_r.texi: Likewise.
41146         * doc/glibc-functions/setstate_r.texi: Likewise.
41147         * doc/glibc-functions/srandom_r.texi: Likewise.
41148         * config/srclist.txt: Mention it.
41149
41150 2008-10-23  David Lutterkort  <lutter@redhat.com>
41151
41152         * modules/selinux-h: Search for LIB_SELINUX and mark it as a
41153         link requirement
41154
41155 2008-10-23  Jim Meyering  <meyering@redhat.com>
41156
41157         selinux-h: mark parameters of stub functions as intentionally unused
41158         * lib/se-selinux.in.h: Mark parameters as _UNUSED_PARAMETER_.
41159         * lib/se-context.in.h: Likewise.
41160
41161 2008-10-22  Simon Josefsson  <simon@josefsson.org>
41162
41163         * lib/sys_socket.in.h (FD_ISSET): Fix warnings under mingw.
41164
41165 2008-10-22  Simon Josefsson  <simon@josefsson.org>
41166
41167         * m4/getgroups.m4: Avoid invoking test with wrong parameters.
41168
41169 2008-10-22  Eric Blake  <ebb9@byu.net>
41170
41171         glthread/thread: avoid compiler warning
41172         * lib/glthread/thread.c (gl_thread_exit_func) [USE_WIN32_THREADS]:
41173         Add unreachable abort to silence compiler.
41174
41175 2008-10-22  Eric Blake  <ebb9@byu.net>
41176
41177         netdb: also supply struct addrinfo for cygwin 1.5.x
41178         * m4/netdb_h.m4 (gl_HEADER_NETDB): Check for incomplete header on
41179         older cygwin.
41180         * lib/netdb.in.h [!HAVE_STRUCT_ADDRINFO]: Also supply contents for
41181         cygwin.
41182         * doc/posix-headers/netdb.texi (netdb.h): Document this.
41183
41184 2008-10-22  Bruno Haible  <bruno@clisp.org>
41185
41186         * users.txt: Update entry about pspp.
41187
41188 2008-10-21  Bruno Haible  <bruno@clisp.org>
41189
41190         Simplification.
41191         * lib/sys_socket.in.h (_gl_close_fd_maybe_socket): Remove declaration.
41192         * lib/close.c (_gl_close_fd_maybe_socket): Make static.
41193
41194         Simplification.
41195         * lib/ioctl.c (ioctl): Don't undefine.
41196         * lib/socket.c (socket): Don't undefine.
41197
41198         Remove unused module indicator macros.
41199         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Don't define
41200         GNULIB_$1 as a C macro.
41201
41202         * doc/posix-functions/close.texi: Undo last change.
41203         * doc/posix-functions/ioctl.texi: Merge the two paragraphs about
41204         Windows platforms.
41205
41206 2008-10-21  Bruno Haible  <bruno@clisp.org>
41207
41208         Add gethostname() declaration to <unistd.h>.
41209         * lib/unistd.in.h (gethostname): New declaration.
41210         * lib/gethostname.c: Include <unistd.h>.
41211         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Require
41212         gl_UNISTD_H_DEFAULTS. Set HAVE_GETHOSTNAME.
41213         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETHOSTNAME
41214         and HAVE_GETHOSTNAME.
41215         * modules/gethostname (Depends-on): Add unistd.
41216         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
41217         (Include): Specify <unistd.h>.
41218         * modules/unistd (Makefile.am): Substitute GNULIB_GETHOSTNAME and
41219         HAVE_GETHOSTNAME.
41220         * tests/test-gethostname.c: Include <unistd.h> first.
41221
41222 2008-10-21  Bruno Haible  <bruno@clisp.org>
41223
41224         * modules/poll-tests (Depends-on): Add sys_ioctl, ioctl.
41225         * modules/select-tests (Depends-on): Likewise.
41226         Reported by Simon Josefsson.
41227
41228 2008-10-21  Simon Josefsson  <simon@josefsson.org>
41229
41230         * lib/close.c: Add _gl_close_fd_maybe_socket from winsock.c.
41231         * lib/accept.c: New file, based on winsock.c.
41232         * lib/bind.c: New file, based on winsock.c.
41233         * lib/connect.c: New file, based on winsock.c.
41234         * lib/getpeername.c: New file, based on winsock.c.
41235         * lib/getsockname.c: New file, based on winsock.c.
41236         * lib/getsockopt.c: New file, based on winsock.c.
41237         * lib/ioctl.c: New file, based on winsock.c.
41238         * lib/listen.c: New file, based on winsock.c.
41239         * lib/recv.c: New file, based on winsock.c.
41240         * lib/recvfrom.c: New file, based on winsock.c.
41241         * lib/send.c: New file, based on winsock.c.
41242         * lib/sendto.c: New file, based on winsock.c.
41243         * lib/setsockopt.c: New file, based on winsock.c.
41244         * lib/shutdown.c: New file, based on winsock.c.
41245         * lib/socket.c: New file, based on winsock.c.
41246         * lib/w32sock.h: New file, based on winsock.c.
41247         * lib/winsock.c: Remove file.
41248         * modules/accept: Likewise.
41249         * modules/bind: Likewise.
41250         * modules/connect: Likewise.
41251         * modules/getpeername: Likewise.
41252         * modules/getsockname: Likewise.
41253         * modules/getsockopt: Likewise.
41254         * modules/ioctl: Likewise.
41255         * modules/listen: Likewise.
41256         * modules/recv: Likewise.
41257         * modules/recvfrom: Likewise.
41258         * modules/send: Likewise.
41259         * modules/sendto: Likewise.
41260         * modules/setsockopt: Likewise.
41261         * modules/shutdown: Likewise.
41262         * modules/socket: Use socket.c instead of winsock.c.
41263         * modules/sys_socket: Remove (unneeded?) dependency on winsock.c.
41264         * doc/posix-functions/accept.texi: Doc fix.
41265         * doc/posix-functions/bind.texi: Doc fix.
41266         * doc/posix-functions/close.texi: Doc fix.
41267         * doc/posix-functions/connect.texi: Doc fix.
41268         * doc/posix-functions/getpeername.texi: Doc fix.
41269         * doc/posix-functions/getsockname.texi: Doc fix.
41270         * doc/posix-functions/getsockopt.texi: Doc fix.
41271         * doc/posix-functions/ioctl.texi: Doc fix.
41272         * doc/posix-functions/listen.texi: Doc fix.
41273         * doc/posix-functions/recv.texi: Doc fix.
41274         * doc/posix-functions/recvfrom.texi: Doc fix.
41275         * doc/posix-functions/send.texi: Doc fix.
41276         * doc/posix-functions/sendto.texi: Doc fix.
41277         * doc/posix-functions/setsockopt.texi: Doc fix.
41278         * doc/posix-functions/shutdown.texi: Doc fix.
41279         * doc/posix-functions/socket.texi: Doc fix.
41280
41281 2008-10-20  Bruno Haible  <bruno@clisp.org>
41282
41283         Take into account the role of SIGABRT_COMPAT on Windows 2008.
41284         * lib/sigprocmask.c (SIGABRT_COMPAT, SIGABRT_COMPAT_MASK): New macros.
41285         (sigismember, sigaddset, sigdelset, sigfillset, rpl_signal): Handle it
41286         as an alias for SIGABRT.
41287         * lib/sigaction.c (SIGABRT_COMPAT): New macro.
41288         (sigaction): Map it to SIGABRT.
41289         Reported by Ramiro Polla <ramiro.polla@gmail.com> via Eric Blake.
41290
41291 2008-10-20  Bruno Haible  <bruno@clisp.org>
41292
41293         * lib/fts.c: Don't include lstat.h.
41294         * lib/openat.c: Include <sys/stat.h> instead of lstat.h.
41295
41296         Move the lstat() declaration to <sys/stat.h>.
41297         * lib/lstat.h: Remove file.
41298         * lib/sys_stat.in.h: Add special invocation convention.
41299         (lstat): New declaration.
41300         * lib/lstat.c (orig_lstat): New function.
41301         (rpl_lstat): Use orig_lstat instead of lstat.
41302         * m4/lstat.m4 (gl_FUNC_LSTAT): Require gl_SYS_STAT_H_DEFAULTS and
41303         AC_C_INLINE. Set REPLACE_LSTAT.
41304         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LSTAT
41305         and REPLACE_LSTAT.
41306         * modules/lstat (Files): Remove lib/lstat.h.
41307         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
41308         (Include): Specify <sys/stat.h> instead of lstat.h.
41309         * modules/sys_stat (Makefile.am): Substitute GNULIB_LSTAT and
41310         REPLACE_LSTAT.
41311         * NEWS: Mention the change.
41312
41313 2008-10-20  Bruno Haible  <bruno@clisp.org>
41314
41315         * modules/posix_spawn-tests: New file.
41316         * tests/test-posix_spawn3.c: New file.
41317
41318 2008-10-20  Bruno Haible  <bruno@clisp.org>
41319
41320         * modules/posix_spawnp-tests (Depends-on): Add sys_wait.
41321         * tests/test-posix_spawn1.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
41322         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Remove fallback definitions.
41323         * tests/test-posix_spawn2.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
41324         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Likewise.
41325
41326 2008-10-20  Bruno Haible  <bruno@clisp.org>
41327
41328         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Test against another bug
41329         of posix_spawn on AIX 5.3.
41330
41331 2008-10-20  Bruno Haible  <bruno@clisp.org>
41332
41333         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Make the check on MacOS X.
41334
41335 2008-10-20  Bruno Haible  <bruno@clisp.org>
41336
41337         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Use AC_LANG_SOURCE instead
41338         of AC_LANG_PROGRAM.
41339
41340 2008-10-20  Simon Josefsson  <simon@josefsson.org>
41341
41342         * lib/netdb.in.h: Don't define GNU specific constants until they
41343         are supported or needed.  Reported by Bruno Haible
41344         <bruno@clisp.org>.
41345
41346 2008-10-20  Simon Josefsson  <simon@josefsson.org>
41347
41348         * lib/canon-host.c: Include netdb.h instead of getaddrinfo.h.
41349
41350 2008-10-20  Simon Josefsson  <simon@josefsson.org>
41351
41352         * lib/getaddrinfo.h: Remove file.
41353         * modules/getaddrinfo: Reflect move from getaddrinfo.h to netdb.h.
41354         * m4/getaddrinfo.m4: Call gl_HEADER_NETDB.  Don't check for netdb.h.
41355         * lib/netdb.in.h: Add declarations from getaddrinfo.h.
41356         * m4/netdb_h.m4: Initialize GNULIB_GETADDRINFO to 0.
41357         * modules/netdb: Substitute GNULIB_GETADDRINFO.
41358         * lib/getaddrinfo.c: Include netdb.h instead of getaddrinfo.h.
41359         * tests/test-getaddrinfo.c: Likewise.
41360         * lib/gai_strerror.c: Likewise.  Also drop HAVE_NETDB_H check.
41361         * NEWS: Mention change.
41362
41363 2008-10-19  Bruno Haible  <bruno@clisp.org>
41364
41365         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Remove unneeded code.
41366
41367 2008-10-19  Bruno Haible  <bruno@clisp.org>
41368
41369         * lib/wait-process.c: Include simply <sys/wait.h>.
41370         (waitpid, WTERMSIG, WCOREDUMP, WEXITSTATUS, WIFSIGNALED, WIFEXITED,
41371         WIFSTOPPED): Remove fallback definitions.
41372         * modules/wait-process (Depends-on): Add sys_wait.
41373
41374         New module 'sys_wait'.
41375         * modules/sys_wait: New file.
41376         * lib/sys_wait.in.h: New file, partially copied from
41377         lib/wait-process.c.
41378         * m4/sys_wait_h.m4: New file.
41379         * doc/posix-headers/sys_wait.texi: Mention the new module.
41380
41381 2008-10-19  Bruno Haible  <bruno@clisp.org>
41382
41383         * m4/wait-process.m4 (gl_WAIT_PROCESS): Remove test for unistd.h.
41384
41385 2008-10-19  Bruno Haible  <bruno@clisp.org>
41386
41387         Assume that waitpid() fills an 'int' status, not a 'union wait'.
41388         * lib/wait-process.c (WAIT_T): Remove type.
41389         (WTERMSIG, WCOREDUMP, WEXITSTATUS): Define fallbacks using bit masks.
41390         (wait_subprocess): Update.
41391
41392 2008-10-19  Bruno Haible  <bruno@clisp.org>
41393
41394         New module 'atoll'.
41395         * modules/atoll: New file.
41396         * lib/stdlib.in.h (atoll): New declaration.
41397         * lib/atoll.c: New file, from glibc with modifications.
41398         * m4/atoll.m4: New file.
41399         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_ATOLL,
41400         HAVE_ATOLL.
41401         * modules/stdlib (Makefile.am): Substitute GNULIB_ATOLL, HAVE_ATOLL.
41402         * doc/posix-functions/atoll.texi: Mention the new module.
41403
41404 2008-10-19  Bruno Haible  <bruno@clisp.org>
41405
41406         Add strtoull() declaration to <stdlib.h>.
41407         * lib/stdlib.in.h (strtoull): New declaration.
41408         * m4/strtoull.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
41409         Set HAVE_STRTOULL.
41410         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOULL,
41411         HAVE_STRTOULL.
41412         * modules/strtoull (Depends-on): Add stdlib.
41413         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
41414         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOULL,
41415         HAVE_STRTOULL.
41416
41417 2008-10-19  Bruno Haible  <bruno@clisp.org>
41418
41419         Add strtoll() declaration to <stdlib.h>.
41420         * lib/stdlib.in.h (strtoll): New declaration.
41421         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
41422         Set HAVE_STRTOLL.
41423         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOLL,
41424         HAVE_STRTOLL.
41425         * modules/strtoll (Depends-on): Add stdlib.
41426         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
41427         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOLL, HAVE_STRTOLL.
41428
41429 2008-10-19  Bruno Haible  <bruno@clisp.org>
41430
41431         * modules/bcopy (Depends-on): Add strings.
41432         (Include): Specify <strings.h>.
41433
41434 2008-10-19  Bruno Haible  <bruno@clisp.org>
41435
41436         * doc/posix-functions/atexit.texi: Update doc regarding mingw.
41437
41438 2008-10-19  Bruno Haible  <bruno@clisp.org>
41439
41440         * lib/openat-die.c (openat_save_fail, openat_restore_fail): Rename
41441         the parameter from 'errno' to 'errnum'. Fixes a compilation error on
41442         mingw.
41443
41444 2008-10-19  Bruno Haible  <bruno@clisp.org>
41445
41446         * lib/atanl.c: Don't include isnanl.h.
41447         * lib/cosl.c: Likewise.
41448         * lib/ldexpl.c: Likewise.
41449         * lib/logl.c: Likewise.
41450         * lib/sinl.c: Likewise.
41451         * lib/sqrtl.c: Likewise.
41452         * lib/tanl.c: Likewise.
41453
41454         Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
41455         * lib/isnanf.h: Remove file.
41456         * lib/isnand.h: Remove file.
41457         * lib/isnanl.h: Remove file.
41458         * lib/math.in.h: Include the contents of lib/isnanf.h, lib/isnand.h,
41459         lib/isnanl.h. Use HAVE_ISNANF, HAVE_ISNAND, HAVE_ISNANL as substituted
41460         macros.
41461         * m4/isnanf.m4 (gl_FUNC_ISNANF): Require gl_MATH_H_DEFAULTS. Set
41462         HAVE_ISNANF, don't define it as a C macro.
41463         * m4/isnand.m4 (gl_FUNC_ISNAND): Require gl_MATH_H_DEFAULTS. Set
41464         HAVE_ISNAND, don't define it as a C macro.
41465         * m4/isnanl.m4 (gl_FUNC_ISNANL): Require gl_MATH_H_DEFAULTS. Set
41466         HAVE_ISNANL, don't define it as a C macro.
41467         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_ISNAN[FDL] and
41468         HAVE_ISNAN[FDL].
41469         * modules/isnanf (Files): Remove lib/isnanf.h.
41470         (Depends-on): Add math.
41471         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
41472         (Include): Specify <math.h> instead of isnanf.h.
41473         * modules/isnand (Files): Remove lib/isnand.h.
41474         (Depends-on): Add math.
41475         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
41476         (Include): Specify <math.h> instead of isnand.h.
41477         * modules/isnanl (Files): Remove lib/isnanl.h.
41478         (Depends-on): Add math.
41479         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
41480         (Include): Specify <math.h> instead of isnanl.h.
41481         * modules/math (Makefile.am): Substitute GNULIB_ISNAN[FDL] and
41482         HAVE_ISNAN[FDL].
41483         * tests/test-isnanf.c: Include <math.h> instead of isnanf.h.
41484         * tests/test-isnand.c: Include <math.h> instead of isnand.h.
41485         * tests/test-isnanl.c: Include <math.h> instead of isnanl.h.
41486         * NEWS: Mention the change.
41487
41488 2008-10-18  Bruno Haible  <bruno@clisp.org>
41489
41490         Add getusershell(), setusershell(), endusershell() declarations to
41491         <unistd.h>.
41492         * lib/unistd.in.h (getusershell, setusershell, endusershell): New
41493         declarations.
41494         * lib/getusershell.c: Include unistd.h.
41495         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Require
41496         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
41497         HAVE_GETUSERSHELL.
41498         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETUSERSHELL
41499         and HAVE_GETUSERSHELL.
41500         * modules/getusershell (Depends-on): Add unistd, extensions.
41501         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
41502         (Include): Specify <unistd.h>.
41503         * modules/unistd (Makefile.am): Substitute GNULIB_GETUSERSHELL and
41504         HAVE_GETUSERSHELL.
41505
41506 2008-10-18  Bruno Haible  <bruno@clisp.org>
41507
41508         Add a getloadavg() declaration to <stdlib.h>.
41509         * lib/stdlib.in.h; Include <sys/loadavg.h> when needed for the
41510         getloadavg declaration.
41511         (getloadavg): New declaration.
41512         * lib/getloadavg.c: Include <stdlib.h> first.
41513         * m4/getloadavg.m4 (gl_GETLOADAVG): Require gl_STDLIB_H_DEFAULTS and
41514         AC_USE_SYSTEM_EXTENSIONS. Test whether sys/loadavg.h exists. Set
41515         HAVE_SYS_LOADAVG_H and HAVE_DECL_GETLOADAVG.
41516         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GETLOADAVG,
41517         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
41518         * modules/getloadavg (Depends-on): Add stdlib, extensions.
41519         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
41520         (Include): Specify <stdlib.h>.
41521         * modules/stdlib (Makefile.am): Substitute GNULIB_GETLOADAVG,
41522         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
41523
41524 2008-10-18  Bruno Haible  <bruno@clisp.org>
41525
41526         * lib/dirchownmod.c: Don't include lchmod.h.
41527
41528         Move the lchmod() declaration to <sys/stat.h>.
41529         * lib/lchmod.h: Remove file.
41530         * lib/sys_stat.in.h: Add placeholder for GL_LINK_WARNING.
41531         (lchmod): New declaration, moved here from lib/lchown.h.
41532         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Require gl_SYS_STAT_H_DEFAULTS and
41533         AC_USE_SYSTEM_EXTENSIONS. Set HAVE_LCHMOD.
41534         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LCHMOD
41535         and HAVE_LCHMOD.
41536         * modules/lchmod (Files): Remove lib/lchmod.h.
41537         (Depends-on): Add sys_stat, extensions.
41538         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
41539         (Include): Specify <sys/stat.h> instead of lchmod.h.
41540         * modules/sys_stat (Depends-on): Add link-warning.
41541         (Makefile.am): Substitute GNULIB_LCHMOD, HAVE_LCHMOD, and the
41542         definition of GL_LINK_WARNING.
41543         * NEWS: Mention the change.
41544
41545 2008-10-18  Bruno Haible  <bruno@clisp.org>
41546
41547         * lib/fchdir.c: Don't include dirfd.h.
41548         * lib/fts.c: Likewise.
41549         * lib/getcwd.c: Likewise.
41550         * lib/glob.c: Likewise.
41551
41552         Move the dirfd() declaration to <dirent.h>.
41553         * lib/dirfd.h: Remove file.
41554         * lib/dirent.in.h: Add placeholder for GL_LINK_WARNING.
41555         (dirfd): New declaration.
41556         * lib/dirfd.c: Include <dirent.h> instead of dirfd.h.
41557         * m4/dirfd.m4 (gl_FUNC_DIRFD): Require gl_DIRENT_H_DEFAULTS and
41558         AC_USE_SYSTEM_EXTENSIONS. Invoke gl_REPLACE_DIRENT_H. Set
41559         HAVE_DECL_DIRFD.
41560         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_DIRFD and
41561         HAVE_DECL_DIRFD.
41562         * modules/dirfd (Files): Remove lib/dirfd.h.
41563         (Depends-on): Add dirent, extensions.
41564         (configure.ac): Invoke gl_DIRENT_MODULE_INDICATOR.
41565         (Include): Specify <dirent.h> instead of dirfd.h.
41566         * modules/dirent (Depends-on): Add link-warning.
41567         (Makefile.am): Substitute GNULIB_DIRFD, HAVE_DECL_DIRFD, and
41568         definition of GL_LINK_WARNING.
41569         * NEWS: Mention the change.
41570
41571 2008-10-18  Bruno Haible  <bruno@clisp.org>
41572
41573         Move the euidaccess() declaration to <unistd.h>.
41574         * lib/euidaccess.h: Remove file.
41575         * lib/unistd.in.h (euidaccess): New declaration.
41576         * lib/euidaccess.c: Don't include euidaccess.h.
41577         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Require gl_UNISTD_H_DEFAULTS.
41578         Don't check whether euidaccess is declared. Set HAVE_EUIDACCESS.
41579         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_EUIDACCESS
41580         and HAVE_EUIDACCESS.
41581         * modules/euidaccess (Files): Remove lib/euidaccess.h.
41582         (Depends-on): Add unistd.
41583         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
41584         (Include): Specify <unistd.h> instead of euidaccess.h.
41585         * modules/unistd (Makefile.am): Substitute GNULIB_EUIDACCESS and
41586         HAVE_EUIDACCESS.
41587         * NEWS: Mention the change.
41588
41589 2008-10-18  Bruno Haible  <bruno@clisp.org>
41590
41591         * lib/xgetdomainname.c: Include <unistd.h> instead of getdomainname.h.
41592
41593         Move the getdomainname() declaration to <unistd.h>.
41594         * lib/getdomainname.h: Remove file.
41595         * lib/unistd.in.h (getdomainname): New declaration.
41596         * lib/getdomainname.c: Include <unistd.h> instead of getdomainname.h.
41597         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
41598         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
41599         HAVE_GETDOMAINNAME.
41600         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
41601         GNULIB_GETDOMAINNAME and HAVE_GETDOMAINNAME.
41602         * modules/getdomainname (Files): Remove lib/getdomainname.h.
41603         (Depends-on): Add unistd, extensions.
41604         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
41605         (Includes): Specify <unistd.h> instead of getdomainname.h.
41606         * modules/unistd (Makefile.am): Substitute GNULIB_GETDOMAINNAME and
41607         HAVE_GETDOMAINNAME.
41608         * NEWS: Mention the change.
41609
41610 2008-10-18  Bruno Haible  <bruno@clisp.org>
41611
41612         * modules/dirent: New file.
41613         * m4/dirent_h.m4: New file.
41614         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_DIRENT_H_DEFAULTS.
41615         Invoke gl_REPLACE_DIRENT_H. Don't assign DIRENT_H directly.
41616         * modules/fchdir (Files): Remove lib/dirent.in.h.
41617         (Depends-on): Add dirent.
41618         (Makefile.am): Move rules to modules/dirent.
41619         * doc/posix-headers/dirent.texi: Mention the new module.
41620
41621 2008-10-18  Bruno Haible  <bruno@clisp.org>
41622
41623         Avoid -Wunused-parameter warnings in public gnulib header files.
41624         * m4/gnulib-common.m4 (gl_COMMON_BODY): Define _UNUSED_PARAMETER_ as a
41625         macro.
41626         * lib/unistr.h (u32_mbtouc_unsafe, u32_mbtouc): Use it.
41627
41628 2008-10-18  Bruno Haible  <bruno@clisp.org>
41629
41630         * doc/glibc-functions/dirfd.texi: Mention the module 'dirfd'.
41631         * doc/glibc-functions/error.texi: Mention the module 'error'.
41632         * doc/glibc-functions/euidaccess.texi: Mention the module 'euidaccess'.
41633         * doc/glibc-functions/getdomainname.texi: Mention the module
41634         'getdomainname'.
41635         * doc/glibc-functions/getloadavg.texi: Mention the module 'getloadavg'.
41636         * doc/glibc-functions/getpagesize.texi: Mention the module
41637         'getpagesize'.
41638         * doc/glibc-functions/getusershell.texi: Mention the module
41639         'getusershell'.
41640         * doc/glibc-functions/isnanl.texi: Mention the module 'isnanl'.
41641         * doc/glibc-functions/lchmod.texi: Mention the module 'lchmod'.
41642         * doc/glibc-functions/mempcpy.texi: Mention the module 'mempcpy'.
41643         * doc/glibc-functions/memrchr.texi: Mention the module 'memrchr'.
41644         * doc/glibc-functions/mkdtemp.texi: Mention the module 'mkdtemp'.
41645         * doc/glibc-functions/rpmatch.texi: Mention the module 'rpmatch'.
41646         * doc/glibc-functions/stpcpy.texi: Mention the module 'stpcpy'.
41647         * doc/glibc-functions/stpncpy.texi: Mention the module 'stpncpy'.
41648         * doc/glibc-functions/strchrnul.texi: Mention the module 'strchrnul'.
41649         * doc/glibc-functions/strndup.texi: Mention the module 'strndup'.
41650         * doc/glibc-functions/strnlen.texi: Mention the module 'strnlen'.
41651         * doc/glibc-functions/strsep.texi: Mention the module 'strsep'.
41652         * doc/glibc-functions/timegm.texi: Mention the module 'timegm'.
41653         * doc/glibc-functions/vasprintf.texi: Mention the module 'vasprintf'.
41654
41655 2008-10-17  Bruno Haible  <bruno@clisp.org>
41656
41657         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): On platforms other than
41658         HP-UX and IRIX, use -0.0L.
41659         * tests/test-ceill.c (minus_zero): Likewise.
41660         * tests/test-floorl.c (minus_zero): Likewise.
41661         * tests/test-frexpl.c (minus_zero): Likewise.
41662         * tests/test-isnan.c (minus_zerol): Likewise.
41663         * tests/test-isnanl.h (minus_zero): Likewise.
41664         * tests/test-ldexpl.c (minus_zero): Likewise.
41665         * tests/test-roundl.c (minus_zero): Likewise.
41666         * tests/test-signbit.c (minus_zerol): Likewise.
41667         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
41668         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
41669         * tests/test-truncl.c (minus_zero): Likewise.
41670         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
41671         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
41672         Reported by Markus Armbruster <armbru@redhat.com> via Jim Meyering
41673         and by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
41674
41675 2008-10-17  Bruno Haible  <bruno@clisp.org>
41676
41677         Avoid gcc warnings because of #pragma GCC system_header on older gcc.
41678         * lib/arpa_inet.in.h: Encloses reference to PRAGMA_SYSTEM_HEADER so
41679         that it gets activated only for gcc >= 3.0.
41680         * lib/dirent.in.h: Likewise.
41681         * lib/errno.in.h: Likewise.
41682         * lib/fcntl.in.h: Likewise.
41683         * lib/float.in.h: Likewise.
41684         * lib/iconv.in.h: Likewise.
41685         * lib/inttypes.in.h: Likewise.
41686         * lib/locale.in.h: Likewise.
41687         * lib/math.in.h: Likewise.
41688         * lib/netdb.in.h: Likewise.
41689         * lib/netinet_in.in.h: Likewise.
41690         * lib/search.in.h: Likewise.
41691         * lib/signal.in.h: Likewise.
41692         * lib/spawn.in.h: Likewise.
41693         * lib/stdarg.in.h: Likewise.
41694         * lib/stdint.in.h: Likewise.
41695         * lib/stdio.in.h: Likewise.
41696         * lib/stdlib.in.h: Likewise.
41697         * lib/string.in.h: Likewise.
41698         * lib/strings.in.h: Likewise.
41699         * lib/sys_file.in.h: Likewise.
41700         * lib/sys_ioctl.in.h: Likewise.
41701         * lib/sys_select.in.h: Likewise.
41702         * lib/sys_socket.in.h: Likewise.
41703         * lib/sys_stat.in.h: Likewise.
41704         * lib/sys_time.in.h: Likewise.
41705         * lib/sysexits.in.h: Likewise.
41706         * lib/time.in.h: Likewise.
41707         * lib/unistd.in.h: Likewise.
41708         * lib/wchar.in.h: Likewise.
41709         * lib/wctype.in.h: Likewise.
41710         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
41711
41712 2008-10-17  Jim Meyering  <meyering@redhat.com>
41713
41714         ignore-value: don't depend on inline module
41715         * modules/ignore-value (Depends-on): Remove 'inline'.
41716         (configure.ac): Instead, add AC_REQUIRE([AC_C_INLINE]) here.
41717         Suggestion from Bruno Haible.
41718
41719 2008-10-17  Bruno Haible  <bruno@clisp.org>
41720
41721         New implementation of condition variables for Win32.
41722         * lib/glthread/cond.h (struct gl_waitqueue_link): New type.
41723         (gl_linked_waitqueue_t): New type.
41724         (gl_cond_t): Use it.
41725         * lib/glthread/cond.c (struct gl_waitqueue_element): New type.
41726         (gl_waitqueue_init, gl_waitqueue_add, gl_waitqueue_remove,
41727         gl_waitqueue_notify_first, gl_waitqueue_notify_all): New functions.
41728         (glthread_cond_init_func, glthread_cond_wait_func,
41729         glthread_cond_timedwait_func, glthread_cond_signal_func,
41730         glthread_cond_broadcast_func, glthread_cond_destroy_func):
41731         Reimplemented on the basis of gl_linked_waitqueue_t.
41732         * lib/glthread/lock.h (gl_carray_waitqueue_t): Renamed from
41733         gl_waitqueue_t.
41734         (gl_rwlock_t): Update.
41735         * lib/glthread/lock.c (gl_waitqueue_t): Alias to gl_carray_waitqueue_t.
41736
41737 2008-10-17  Simon Josefsson  <simon@josefsson.org>
41738
41739         * modules/recvfrom (Depends-on): Add dependency on getpeername.
41740         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
41741
41742 2008-10-17  Jim Meyering  <meyering@redhat.com>
41743
41744         ignore-value: new module
41745         * modules/ignore-value: New file.
41746         * lib/ignore-value.h: New file.
41747         * MODULES.html.sh (Compiler warning management): New section,
41748         just for this module.  More to come.
41749
41750 2008-10-16  Paul Eggert  <eggert@cs.ucla.edu>
41751
41752         open-safer.c: avoid 'signed and unsigned in conditional...' warning
41753         * lib/open-safer.c (open_safer): Use an "if/else" statement in place
41754         of the ternary operator.  Reported by Reuben Thomas <rrt@sc3d.org>.
41755
41756 2008-10-16  Jim Meyering  <meyering@redhat.com>
41757
41758         openat-die.c: avoid 'no previous prototype' warning
41759         * lib/openat-die.c: Include "openat.h".
41760         Reported by Reuben Thomas <rrt@sc3d.org>.
41761
41762 2008-10-16  Simon Josefsson  <simon@josefsson.org>
41763
41764         * m4/netdb_h.m4: Assume that if netdb.h exists, it works.
41765         * lib/netdb.in.h: Fix typo.
41766         Reported by Bruno Haible  <bruno@clisp.org>
41767
41768         * lib/netdb.in.h: Include sys/socket.h for platforms without
41769         netdb.h, to get structures like hostent on MinGW.
41770         * modules/netdb (Depends-on): Add sys_socket.
41771
41772 2008-10-15  Simon Josefsson  <simon@josefsson.org>
41773
41774         * modules/netdb, modules/netdb-tests: New file.
41775         * m4/netdb_h.m4: New file.
41776         * lib/netdb.in.h: Add, currently just an empty file pending
41777         definitions.
41778         * tests/test-netdb.c: New file.
41779         * doc/posix-headers/netdb.texi: Mention that we replace it if
41780         needed.
41781         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
41782         netdb.
41783
41784 2008-10-15  Simon Josefsson  <simon@josefsson.org>
41785
41786         * doc/gnulib.texi (Getaddrinfo and WINVER): Sync documentation
41787         with code.
41788
41789 2008-10-13  Bruno Haible  <bruno@clisp.org>
41790
41791         * lib/glthread/cond.c (glthread_cond_wait_func,
41792         glthread_cond_timedwait_func): Add a comment.
41793
41794 2008-10-13  Yoann Vandoorselaere  <yoann@prelude-ids.org>
41795
41796         * tests/test-poll.c: Include <sys/ioctl.h>, for ioctl().
41797         * tests/test-select.c: Likewise,
41798
41799 2008-10-13  Bruno Haible  <bruno@clisp.org>
41800
41801         * lib/glthread/cond.c (glthread_cond_wait_func,
41802         glthread_cond_timedwait_func): Fix variable name.
41803         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
41804
41805 2008-10-13  Paolo Bonzini  <bonzini@gnu.org>
41806
41807         fix getaddrinfo emulation for systems with struct sockaddr.sa_len
41808         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Detect
41809         struct sockaddr.sa_len.
41810         * lib/getaddrinfo.c (getaddrinfo): Set it if appropriate.
41811
41812 2008-10-13  Simon Josefsson  <simon@josefsson.org>
41813
41814         * build-aux/pmccabe2html: Add css and css_url parameters.
41815
41816 2008-10-12  Bruno Haible  <bruno@clisp.org>
41817
41818         * tests/test-sameacls.c (main) [AIX]: Clear type argument before
41819         calling aclx_get.
41820         Reported by Rainer Tammer <tammer@tammer.net>.
41821
41822 2008-10-12  Bruno Haible  <bruno@clisp.org>
41823
41824         Use msvcrt aware primitives for creation/termination of Win32 threads.
41825         * lib/glthread/thread.c: Include <process.h>.
41826         (glthread_create_func): Use _beginthreadex instead of CreateThread.
41827         (wrapper_func): Update signature.
41828         (gl_thread_exit_func): Use _endthreadex instead of EndThread.
41829
41830 2008-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
41831             Bruno Haible  <bruno@clisp.org>
41832
41833         Provide a Win32 implementation of the 'cond' module.
41834         * lib/glthread/cond.h [USE_WIN32]: New implementation.
41835         * lib/glthread/cond.c (glthread_cond_init_func,
41836         glthread_cond_wait_func, glthread_cond_timedwait_func,
41837         glthread_cond_signal_func, glthread_cond_broadcast_func,
41838         glthread_cond_destroy_func) [USE_WIN32]: New functions.
41839         * modules/cond (Dependencies): Add gettimeofday.
41840
41841 2008-10-11  Bruno Haible  <bruno@clisp.org>
41842
41843         Make sleep work on older versions of mingw.
41844         * m4/sleep.m4 (gl_FUNC_SLEEP): Test whether 'sleep' is declared, not
41845         only whether it exists.
41846         * doc/posix-functions/sleep.texi: Mention the problem with older
41847         versions of mingw.
41848
41849 2008-10-11  Bruno Haible  <bruno@clisp.org>
41850
41851         New module 'shutdown'.
41852         * modules/shutdown: New file.
41853         * lib/sys_socket.in.h (shutdown): New declaration.
41854         * lib/winsock.c (shutdown): New function.
41855         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
41856         GNULIB_SHUTDOWN.
41857         * modules/sys_socket (Makefile.am): Substitute GNULIB_SHUTDOWN.
41858         * doc/posix-functions/shutdown.texi: Document the new module.
41859
41860 2008-10-11  Jim Meyering  <meyering@redhat.com>
41861
41862         * lib/fclose.c: Fix typo in comment: s/close/fclose/.
41863
41864 2008-10-11  Bruno Haible  <bruno@clisp.org>
41865
41866         New module 'fclose'.
41867         * modules/fclose: New file.
41868         * lib/stdio.in.h (fclose): New declaration.
41869         * lib/fclose.c: New file.
41870         * m4/fclose.m4: New file.
41871         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FCLOSE,
41872         REPLACE_FCLOSE.
41873         * m4/close.m4 (gl_REPLACE_CLOSE): Invoke gl_REPLACE_FCLOSE.
41874         * modules/stdio (Makefile.am): Substitute GNULIB_FCLOSE,
41875         REPLACE_FCLOSE.
41876         * modules/close (Depends-on): fclose.
41877         * doc/posix-functions/fclose.texi: Mention the problem on Windows.
41878
41879 2008-10-11  Bruno Haible  <bruno@clisp.org>
41880
41881         * lib/winsock.c (_gl_close_fd_maybe_socket): If closesocket fails,
41882         set errno and don't call _close.
41883
41884 2008-10-10  Bruno Haible  <bruno@clisp.org>
41885
41886         * lib/copy-acl.c (qcopy_acl) [CYGWIN]: Call chmod before setting the
41887         ACL, not afterwards. Fixes test failure on Cygwin.
41888
41889 2008-10-09  Ben Pfaff  <blp@gnu.org>
41890
41891         * build-aux/announce-gen: Fix gnulib version related part of usage
41892         message.  Die with a useful error message if no tarballs are
41893         found.
41894
41895 2008-10-10  Jim Meyering  <meyering@redhat.com>
41896
41897         bootstrap: use git's --depth=N option only if it's supported
41898         * build-aux/bootstrap: Work with git-1.4.4.4, which does not
41899         recognize the --depth option.  Reported by Pádraig Brady.
41900
41901 2008-10-09  Bruno Haible  <bruno@clisp.org>
41902
41903         New module 'ioctl'.
41904         * modules/ioctl: New file.
41905         * lib/sys_socket.in.h (ioctl): Remove declaration.
41906         * lib/winsock.c: Include <sys/ioctl.h>.
41907         (rpl_ioctl): Define only of the gnulib module 'ioctl' is present.
41908         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
41909         gl_SYS_IOCTL_H_DEFAULTS. Set also SYS_IOCTL_H_HAVE_WINSOCK2_H.
41910         * modules/sys_socket (Files): Add m4/sys_ioctl_h.m4.
41911         * doc/posix-functions/ioctl.texi: Mention the new module.
41912
41913 2008-10-09  Bruno Haible  <bruno@clisp.org>
41914
41915         New module 'sys_ioctl'.
41916         * lib/sys_ioctl.in.h: New file.
41917         * m4/sys_ioctl_h.m4: New file.
41918         * modules/sys_ioctl: New file.
41919         * doc/glibc-headers/sys_ioctl.texi: Mention the new module.
41920
41921 2008-10-09  Bruno Haible  <bruno@clisp.org>
41922
41923         * lib/sys_socket.in.h (ioctl): Make signature POSIX compliant.
41924         * lib/winsock.c: Include <stdarg.h>.
41925         (rpl_ioctl): Change to second argument 'int' and then varargs.
41926
41927 2008-10-09  Bruno Haible  <bruno@clisp.org>
41928
41929         * m4/close.m4 (gl_FUNC_CLOSE): Arrange to replace the close() function
41930         when the sys_socket module is present and the system has <winsock2.h>.
41931
41932 2008-10-09  Bruno Haible  <bruno@clisp.org>
41933
41934         * doc/posix-functions/close.texi: Mention module 'close' instead of
41935         module 'sys_socket'.
41936
41937 2008-10-09  Bruno Haible  <bruno@clisp.org>
41938
41939         * doc/glibc-headers/sys_ioctl.texi: New file.
41940         * doc/gnulib.texi: Include it.
41941
41942 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
41943             Bruno Haible  <bruno@clisp.org>
41944
41945         Combine the two replacements of 'close'.
41946         * lib/sys_socket.in.h (close): Define to a reminder to include
41947         <unistd.h>.
41948         (_gl_close_fd_maybe_socket): New declaration.
41949         (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): New macro.
41950         * lib/winsock.c (close): Remove undefinition.
41951         (_gl_close_fd_maybe_socket): Renamed from rpl_close. Define only when
41952         needed for the gnulib module 'close'.
41953         * lib/unistd.in.h (close): If the gnulib module 'close' is not used,
41954         define to an error symbol or to a warning, if suitable.
41955         * lib/close.c: Include <sys/socket.h>.
41956         (rpl_close): Invoke _gl_close_fd_maybe_socket when gnulib defines it.
41957         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Set also
41958         UNISTD_H_HAVE_WINSOCK2_H.
41959         (gl_SYS_SOCKET_H_DEFAULTS): Require gl_UNISTD_H_DEFAULTS.
41960         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
41961         UNISTD_H_HAVE_WINSOCK2_H.
41962         * modules/sys_socket (Files): Add m4/unistd_h.m4.
41963         (configure.ac): Set a module indicator.
41964         (Makefile.am): Substitute GNULIB_CLOSE.
41965         * modules/unistd (Makefile.am): Substitute UNISTD_H_HAVE_WINSOCK2_H.
41966         * modules/poll-tests (Depends-on): Add close.
41967         * modules/select-tests (Depends-on): Likewise.
41968
41969 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
41970             Bruno Haible  <bruno@clisp.org>
41971
41972         New module 'close'.
41973         * modules/close: New file.
41974         * lib/unistd.in.h (close): Move declaration out of the
41975         FCHDIR_REPLACEMENT scope.
41976         (_gl_unregister_fd): New declaration.
41977         * lib/close.c: New file.
41978         * lib/fchdir.c (rpl_close): Remove function.
41979         * m4/close.m4: New file.
41980         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
41981         close.
41982         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CLOSE and
41983         REPLACE_CLOSE.
41984         * modules/unistd (Makefile.am): Substitute GNULIB_CLOSE and
41985         REPLACE_CLOSE.
41986         * modules/fchdir (Depends-on): Add close.
41987
41988 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
41989             Bruno Haible  <bruno@clisp.org>
41990
41991         * lib/fcntl.in.h (open): Simplify conditionals.
41992         (_gl_register_fd): New declaration.
41993         * lib/fchdir.c (rpl_open): Remove function.
41994         * lib/open.c: When FCHDIR_REPLACEMENT is defined, compile the file
41995         also.
41996         (open): When FCHDIR_REPLACEMENT is defined, invoke _gl_register_fd.
41997         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
41998         open.
41999
42000 2008-10-09  Jim Meyering  <meyering@redhat.com>
42001
42002         GNUmakefile: use the more name-space-friendly "_version"
42003         * top/GNUmakefile (_dummy): Update.
42004         (_version): Rename from "version".
42005
42006 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
42007             Bruno Haible  <bruno@clisp.org>
42008
42009         * lib/fchdir.c (_gl_unregister_fd): New functions, extracted from
42010         rpl_close.
42011         (_gl_register_fd): New function, extracted from rpl_open.
42012         (rpl_close, rpl_closedir): Use _gl_unregister_fd.
42013         (rpl_open, rpl_opendir): Use _gl_register_fd.
42014
42015 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
42016
42017         Fix organization of 'open' replacement.
42018         * m4/open.m4 (gl_REPLACE_OPEN): New macro.
42019         (gl_FUNC_OPEN): Use it.
42020         (gl_PREREQ_OPEN): Add a : to make the body non-empty.
42021
42022 2008-10-08  Bruno Haible  <bruno@clisp.org>
42023
42024         * modules/getdate-tests (test_getdata_LDADD): Add LIBINTL.
42025
42026 2008-10-08  Simon Josefsson  <simon@josefsson.org>
42027
42028         * m4/sys_socket_h.m4: Don't AC_LIBOBJ(winsock).  The file is
42029         AC_LIBOBJ'ed by each gnulib module that needs it (e.g., socket,
42030         listen).
42031
42032 2008-10-08  Eric Blake  <ebb9@byu.net>
42033
42034         GNUmakefile: add 'make version' target
42035         * top/GNUmakefile (_curr-ver): Split version update rules...
42036         (version): ...into a target.
42037
42038 2008-10-07  Bruno Haible  <bruno@clisp.org>
42039
42040         Use a more portable replacement expression for -0.0L.
42041         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Use -LDBL_MIN * LDBL_MIN
42042         instead of -0.0L. Fix m4 quotation.
42043
42044         * tests/test-signbit.c: Include <float.h>.
42045         (minus_zero): New variable.
42046         (test_signbitl): Use minus_zero instead of -zero.
42047         * modules/signbit-tests (Depends-on): Add float.
42048
42049         * tests/test-ceill.c: Include <float.h>.
42050         (zero): Remove variable.
42051         (minus_zero): New variable.
42052         (main): Use minus_zero instead of -zero.
42053         * modules/ceill-tests (Depends-on): Add float.
42054
42055         * tests/test-floorl.c: Include <float.h>.
42056         (zero): Remove variable.
42057         (minus_zero): New variable.
42058         (main): Use minus_zero instead of -zero.
42059         * modules/floorl-tests (Depends-on): Add float.
42060
42061         * tests/test-roundl.c: Include <float.h>.
42062         (zero): Remove variable.
42063         (minus_zero): New variable.
42064         (main): Use minus_zero instead of -zero.
42065         * modules/roundl-tests (Depends-on): Add float.
42066
42067         * tests/test-truncl.c: Include <float.h>.
42068         (zero): Remove variable.
42069         (minus_zero): New variable.
42070         (main): Use minus_zero instead of -zero.
42071         * modules/truncl-tests (Depends-on): Add float.
42072
42073         * tests/test-frexpl.c (zero): Remove variable.
42074         (minus_zero): New variable.
42075         (main): Use minus_zero instead of -zero.
42076         * modules/frexpl-tests (Depends-on): Add float.
42077
42078         * tests/test-isnan.c (zerol): Remove variable.
42079         (minus_zerol): New variable.
42080         (test_long_double): Use minus_zerol instead of -zerol.
42081         * modules/isnan-tests (Depends-on): Add float.
42082
42083         * tests/test-isnanl.h (zero): Remove variable.
42084         (minus_zero): New variable.
42085         (main): Use minus_zero instead of -zero.
42086         * modules/isnanl-nolibm-tests (Depends-on): Add float.
42087         * modules/isnanl-tests (Depends-on): Add float.
42088
42089         * tests/test-ldexpl.c (zero): Remove variable.
42090         (minus_zero): New variable.
42091         (main): Use minus_zero instead of -zero.
42092         * modules/ldexpl-tests (Depends-on): Add float.
42093
42094         * tests/test-snprintf-posix.h (zerol): Remove variable.
42095         (minus_zerol): New variable.
42096         (test_function): Use minus_zerol instead of -zerol.
42097         * modules/snprintf-posix-tests (Depends-on): Add float.
42098         * modules/vsnprintf-posix-tests (Depends-on): Add float.
42099
42100         * tests/test-sprintf-posix.h (zerol): Remove variable.
42101         (minus_zerol): New variable.
42102         (test_function): Use minus_zerol instead of -zerol.
42103         * modules/sprintf-posix-tests (Depends-on): Add float.
42104         * modules/vsprintf-posix-tests (Depends-on): Add float.
42105
42106         * tests/test-vasnprintf-posix.c (zerol): Remove variable.
42107         (minus_zerol): New variable.
42108         (test_function): Use minus_zerol instead of -zerol.
42109         * modules/vasnprintf-posix-tests (Depends-on): Add float.
42110
42111         * tests/test-vasprintf-posix.c (zerol): Remove variable.
42112         (minus_zerol): New variable.
42113         (test_function): Use minus_zerol instead of -zerol.
42114         * modules/vasprintf-posix-tests (Depends-on): Add float.
42115
42116 2008-10-07  Simon Josefsson  <simon@josefsson.org>
42117
42118         * MODULES.html.sh (Support for building documentation): Mention
42119         pmccabe2html.  Sort entries.
42120
42121         Add pmccabe2html module, from gnupdf.
42122         * build-aux/pmccabe.css: New file.
42123         * build-aux/pmccabe2html: New file.
42124         * m4/pmccabe2html.m4: New file.
42125         * modules/pmccabe2html: New file.
42126
42127 2008-10-07  Richard W.M. Jones <rjones@redhat.com>
42128
42129         flock: new module
42130         * MODULES.html.sh: Add to list of modules.
42131         * lib/flock.c: flock implementation for Windows and Unix systems
42132         which have fcntl.
42133         * doc/glibc-functions/flock.texi: Update documentation.
42134         * lib/sys_file.in.h: <sys/file.h> header file.
42135         * m4/flock.m4: M4 macros.
42136         * m4/sys_file_h.m4: M4 macros for replacement sys/file.h.
42137         * modules/flock: flock module.
42138         * modules/flock-tests: flock tests module.
42139         * modules/sys_file: sys/file.h module.
42140         * tests/test-flock.c: test suite for flock.
42141
42142 2008-10-06  Jim Meyering  <meyering@redhat.com>
42143
42144         bootstrap: check for LT_INIT more portably still ;-)
42145         * build-aux/bootstrap: Don't rely on \>, since it's not portable.
42146         Spotted by Bruno Haible.
42147
42148 2008-10-06  Eric Blake  <ebb9@byu.net>
42149
42150         test-signbit: avoid tripping Irix cc bug on -0.0L
42151         * tests/test-signbit.c (minus_zerol): Delete, and replace with
42152         '-zerol'.  This may break on HP-UX/hppa, but at least makes the
42153         entire testsuite consistent and avoids an Irix 6.2 bug.
42154
42155 2008-10-05  Bruno Haible  <bruno@clisp.org>
42156             Jim Meyering  <jim@meyering.net>
42157
42158         Add an option for ignoring EPIPE during close_stdout.
42159         * lib/closeout.h: Include <stdbool.h>.
42160         (close_stdout_set_ignore_EPIPE): New declaration.
42161         * lib/closeout.c: Include <stdbool.h>.
42162         (ignore_EPIPE): New variable.
42163         (close_stdout_set_ignore_EPIPE): New function.
42164         (close_stdout): Ignore EPIPE error if ignore_EPIPE is set.
42165         * lib/close-stream.c (close_stream): Mention the possible EPIPE
42166         failure.
42167         * modules/closeout (Depends-on): Add stdbool.
42168
42169 2008-10-05  Bruno Haible  <bruno@clisp.org>
42170
42171         * modules/accept: New file.
42172         * modules/bind: New file.
42173         * modules/connect: New file.
42174         * modules/getpeername: New file.
42175         * modules/getsockname: New file.
42176         * modules/getsockopt: New file.
42177         * modules/listen: New file.
42178         * modules/recv: New file.
42179         * modules/recvfrom: New file.
42180         * modules/send: New file.
42181         * modules/sendto: New file.
42182         * modules/setsockopt: New file.
42183         * modules/socket: New file.
42184         * lib/sys_socket.in.h: Include the GL_LINK_WARNING definition.
42185         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
42186         listen, recv, send, recvfrom, sendto, setsockopt): Declare only when
42187         the particular module is requested. Add a link warning when the
42188         particular module is not requested.
42189         * lib/winsock.c (rpl_socket, rpl_connect, rpl_accept, rpl_bind,
42190         rpl_getpeername, rpl_getsockname, rpl_getsockopt, rpl_listen, rpl_recv,
42191         rpl_send, rpl_recvfrom, rpl_sendto, rpl_setsockopt): Define only when
42192         the particular module is requested.
42193         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR,
42194         gl_SYS_SOCKET_H_DEFAULTS): New macros.
42195         (gl_HEADER_SYS_SOCKET): Require gl_SYS_SOCKET_H_DEFAULTS.
42196         * modules/sys_socket (Depends-on): Add link-warning.
42197         (Makeifle.am): Substitute GNULIB_SOCKET, GNULIB_CONNECT, GNULIB_ACCEPT,
42198         GNULIB_BIND, GNULIB_GETPEERNAME, GNULIB_GETSOCKNAME, GNULIB_GETSOCKOPT,
42199         GNULIB_LISTEN, GNULIB_RECV, GNULIB_SEND, GNULIB_RECVFROM,
42200         GNULIB_SENDTO, GNULIB_SETSOCKOPT, and the definition of
42201         GL_LINK_WARNING.
42202         * doc/posix-functions/accept.texi: Mention the new module 'accept'.
42203         * doc/posix-functions/bind.texi: Mention the new module 'bind'.
42204         * doc/posix-functions/connect.texi: Mention the new module 'connect'.
42205         * doc/posix-functions/getpeername.texi: Mention the new module
42206         'getpeername'.
42207         * doc/posix-functions/getsockname.texi: Mention the new module
42208         'getsockname'.
42209         * doc/posix-functions/getsockopt.texi: Mention the new module
42210         'getsockopt'.
42211         * doc/posix-functions/listen.texi: Mention the new module 'listen'.
42212         * doc/posix-functions/recv.texi: Mention the new module 'recv'.
42213         * doc/posix-functions/recvfrom.texi: Mention the new module 'recvfrom'.
42214         * doc/posix-functions/send.texi: Mention the new module 'send'.
42215         * doc/posix-functions/sendto.texi: Mention the new module 'sendto'.
42216         * doc/posix-functions/setsockopt.texi: Mention the new module
42217         'setsockopt'.
42218         * doc/posix-functions/socket.texi: Mention the new module 'socket'.
42219         * modules/poll-tests (Depends-on): Add socket, bind, getsockopt,
42220         listen, connect, accept.
42221         * modules/select-tests (Depends-on): Likewise.
42222
42223 2008-10-05  Bruno Haible  <bruno@clisp.org>
42224
42225         * lib/winsock.c (strerror): Remove unused #undef.
42226         (rpl_close): Remove unused local variable.
42227
42228         * modules/sys_socket (Depends-on); Add errno.
42229
42230 2008-10-05  Bruno Haible  <bruno@clisp.org>
42231
42232         * lib/sys_select.in.h: Include the GL_LINK_WARNING definition.
42233         (select): Add a link warning when the 'select' module is not used.
42234         * modules/sys_select (Depends-on): Add link-warning.
42235         (Makefile.am): Substitute the definition of GL_LINK_WARNING.
42236         Suggested by Paolo Bonzini.
42237
42238 2008-10-05  Jim Meyering  <meyering@redhat.com>
42239
42240         bootstrap: check for LT_INIT more portably
42241         * build-aux/bootstrap: Avoid using grep -E, since it's not
42242         portable enough.  Suggestion from Bruno Haible.
42243
42244 2008-10-05  Bruno Haible  <bruno@clisp.org>
42245
42246         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem
42247         as being fixed by gnulib.
42248
42249 2008-10-05  Bruno Haible  <bruno@clisp.org>
42250
42251         * modules/select-tests: New file, mostly copied from
42252         modules/sys_select-tests.
42253         * tests/test-select.c: New file, mostly copied from
42254         tests/test-sys_select.c.
42255         * tests/test-sys_select.c: Move most of the code to tests/test-select.c.
42256         * modules/sys_select-tests (Depends-on): Remove all dependencies.
42257         (Makefile.am): Remove test_sys_select_LDADD.
42258
42259         * lib/sys_select.in.h (select): If GNULIB_SELECT is not set, define it
42260         to an undefined symbol, for an error message.
42261         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): New macro.
42262         (gl_SYS_SELECT_H_DEFAULTS): New macro.
42263         (gl_HEADER_SYS_SELECT): Require it. Don't require compilation of
42264         winsock-select.c here.
42265         * modules/sys_select (Files): Remove lib/winsock-select.c.
42266         (Depends-on): Remove alloca.
42267         (Makefile.am): Substitute GNULIB_SELECT.
42268         * modules/select: New file.
42269         * doc/posix-functions/select.texi: Update.
42270
42271 2008-10-05  Bruno Haible  <bruno@clisp.org>
42272
42273         * lib/spawn_faction_addclose.c (__sysconf): Use getdtablesize always.
42274         * lib/spawn_faction_adddup2.c (__sysconf): Likewise.
42275         * lib/spawn_faction_addopen.c (__sysconf): Likewise.
42276         * modules/posix_spawn_file_actions_addclose (Depends-on): Add
42277         getdtablesize.
42278         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
42279         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
42280
42281 2008-10-05  Bruno Haible  <bruno@clisp.org>
42282
42283         * modules/getdtablesize-tests: New file.
42284         * tests/test-getdtablesize.c: New file.
42285
42286         New module 'getdtablesize'.
42287         * lib/unistd.in.h (getdtablesize): New declaration.
42288         * lib/getdtablesize.c: New file.
42289         * m4/getdtablesize.m4: New file.
42290         * modules/getdtablesize: New file.
42291         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
42292         GNULIB_GETDTABLESIZE, HAVE_GETDTABLESIZE.
42293         * modules/unistd (Makefile.am): Substitute GNULIB_GETDTABLESIZE,
42294         HAVE_GETDTABLESIZE.
42295         * doc/glibc-functions/getdtablesize.texi: Mention the new module.
42296
42297 2008-10-05  Bruno Haible  <bruno@clisp.org>
42298
42299         * modules/sched (Makefile.am): Fix typo.
42300         Reported by Simon Josefsson.
42301
42302 2008-10-05  Jim Meyering  <meyering@redhat.com>
42303
42304         bootstrap: check for LT_INIT, too
42305         * build-aux/bootstrap: Both AC_PROG_LIBTOOL and AM_PROG_LIBTOOL
42306         are deprecated.  Suggestion from Ralf Wildenhues.
42307
42308 2008-10-05  Bruno Haible  <bruno@clisp.org>
42309
42310         * lib/spawn.in.h (POSIX_SPAWN_*): Use the system's values, rather than
42311         overriding them by ours.
42312         (POSIX_SPAWN_USEVFORK): Use the next free bit position.
42313
42314 2008-10-05  Jim Meyering  <meyering@redhat.com>
42315
42316         bootstrap: check for AC_PROG_LIBTOOL as well as AM_PROG_LIBTOOL
42317         * build-aux/bootstrap: Check for AC_PROG_LIBTOOL, as well as the
42318         obsolete AM_PROG_LIBTOOL.  Spotted by Debarshi Ray <rishi@gnu.org>.
42319
42320 2008-10-04  Bruno Haible  <bruno@clisp.org>
42321
42322         * modules/dup2 (License): Change to LGPLv2+.
42323         * modules/sleep (License): Likewise.
42324         * modules/perror (License): Likewise.
42325         * modules/fopen (License): Change to LGPLv2+, with approval by Eric
42326         Blake.
42327         * modules/signal (License): Likewise.
42328         * modules/sigprocmask (License): Likewise.
42329         * modules/raise (License): Change to LGPLv2+, with approval by Jim
42330         Meyering.
42331
42332 2008-10-04  Bruno Haible  <bruno@clisp.org>
42333
42334         * lib/spawn.in.h (POSIX_SPAWN_*): Undefine before redefining.
42335         Reported by Rainer Tammer <tammer@tammer.net>.
42336
42337 2008-10-03  Paolo Bonzini  <bonzini@gnu.org>
42338             Bruno Haible  <bruno@clisp.org>
42339
42340         * lib/errno.in.h (EWOULDBLOCK) [win32]: Define to EAGAIN.
42341         * lib/winsock.c (set_winsock_errno): Map WSAEWOULDBLOCK to EWOULDBLOCK.
42342         * lib/strerror.c (rpl_strerror): Remove error string for EWOULDBLOCK.
42343
42344 2008-10-03  Kamil Dudka  <kdudka@redhat.com>
42345
42346         filevercmp: new module
42347         * lib/filevercmp.h: New function filevercmp comparing version strings.
42348         * lib/filevercmp.c: Implementation of filevercmp function.
42349         * modules/filevercmp: Module metadata.
42350         * tests/test-filevercmp.c: Unit test for new module.
42351         * modules/filevercmp-tests: Unit test metadata.
42352         * MODULES.html.sh: Add filevercmp module.
42353
42354 2008-10-03  Bruno Haible  <bruno@clisp.org>
42355
42356         * lib/c-ctype.h: Add comment.
42357         Reported by Jim Meyering.
42358
42359 2008-10-02  Bruno Haible  <bruno@clisp.org>
42360
42361         * modules/posix_spawn-internal (Depends-on): Add 'open'.
42362
42363 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
42364
42365         * build-aux/bootstrap: Allow renaming bootstrap, and change the
42366         name of bootstrap.conf accordingly.
42367
42368 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
42369
42370         * build-aux/bootstrap: Install git-merge-changelog configuration
42371         items into .gitconfig if needed.
42372
42373 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
42374
42375         * build-aux/bootstrap: Recognize `gnulib' being a submodule in a
42376         git repository, and initialize/update it accordingly.
42377
42378 2008-10-02  Richard W.M. Jones  <rjones@redhat.com>
42379
42380         * modules/fsync-tests: New file.
42381         * tests/test-fsync.c: New file.
42382
42383         New module 'fsync'.
42384         * lib/fsync.c: New file.
42385         * m4/fsync.m4: New file.
42386         * modules/fsync: New file.
42387         * lib/unistd.in.h (fsync): New declaration.
42388         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define and AC_SUBST both
42389         GNULIB_FSYNC and HAVE_FSYNC.
42390         * modules/unistd: Substitute GNULIB_FSYNC and HAVE_FSYNC.
42391         * MODULES.html.sh (posix_functions): Add fsync.
42392         * doc/posix-functions/fsync.texi: Mention the new module.
42393
42394 2008-10-02  Jim Meyering  <meyering@redhat.com>
42395
42396         fts.c: sync with similar code from coreutils' remove.c
42397         * lib/fts.c (dirent_inode_sort_may_be_useful): Merge from coreutils.
42398         Guard also with "#if defined __linux__", since for now at least,
42399         this code is Linux-kernel-specific.
42400
42401 2008-10-02  Jim Meyering  <meyering@redhat.com>
42402
42403         fts: bug fixes
42404         * lib/fts.c: Remove unnecessary "defined" in cpp directive.
42405         Include <sys/vfs.h>, not <sys/statfs.h>.
42406
42407         * m4/fts.m4 (gl_FUNC_FTS_CORE): Fix typo s/vfs/vfs.h/.
42408         Include <sys/vfs.h>, not <sys/statfs.h>.
42409
42410 2008-10-01  Bruno Haible  <bruno@clisp.org>
42411
42412         Avoid the broken posix_spawn function on AIX 5.3 and 6.1.
42413         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): New macro.
42414         (gl_POSIX_SPAWN_BODY): Invoke it. Set REPLACE_POSIX_SPAWN if needed.
42415         * doc/posix-functions/posix_spawn.texi: Mention the AIX bugs.
42416         * doc/posix-functions/posix_spawnp.texi: Likewise.
42417         * m4/execute.m4 (gl_EXECUTE): Invoke gl_POSIX_SPAWN_WORKS, to check
42418         whether posix_spawn actually works.
42419         * m4/pipe.m4 (gl_PIPE): Likewise.
42420         * modules/execute (Files): Add m4/posix_spawn.m4.
42421         * modules/pipe (Files): Add m4/posix_spawn.m4.
42422         Reported and analyzed by Rainer Tammer <tammer@tammer.net>.
42423
42424 2008-10-01  Jim Meyering  <meyering@redhat.com>
42425
42426         remove trailing spaces
42427         * NEWS: Likewise.
42428         * lib/poll.c (poll): Likewise.
42429         * lib/sys_socket.in.h (SHUT_RDWR): Likewise.
42430         * lib/winsock.c (rpl_close): Likewise.
42431         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Likewise.
42432         * modules/yield: Likewise.
42433         * tests/test-poll.c (connect_to_socket, poll1): Likewise.
42434         * tests/test-sys_select.c (connect_to_socket): Likewise.
42435
42436         fts.c: adjust a new interface to be more generally useful
42437         * lib/fts.c (dirent_inode_sort_may_be_useful): Take an FD parameter.
42438         (fts_build): Adjust caller.
42439
42440 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
42441
42442         * modules/cond-tests: New file.
42443         * tests/test-cond.c: New file.
42444
42445 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
42446             Bruno Haible  <bruno@clisp.org>
42447
42448         * modules/cond (Dependencies): Add errno, time.
42449         * lib/glthread/cond.h: Include <time.h>.
42450         (gl_cond_define, gl_cond_define_initialized): Use the same definition
42451         across platforms.
42452
42453 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
42454             Bruno Haible  <bruno@clisp.org>
42455
42456         * m4/thread.m4 (gl_THREAD): Fix detection of pthread_atfork function.
42457
42458 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
42459             Bruno Haible  <bruno@clisp.org>
42460
42461         * modules/tls-tests (Depends-on): Add thread, yield.
42462         (configure.ac): Remove all checks.
42463         (test_tls_LDADD): Use YIELD_LIB instead of LIBSCHED.
42464         * tests/test-tls.c (gl_thread_t, gl_thread_join, gl_thread_yield,
42465         gl_thread_self): Remove definitions. Include glthread/thread.h and
42466         glthread/yield.h instead.
42467         (test_tls): Pass an additional NULL argument to gl_thread_join.
42468
42469 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
42470             Bruno Haible  <bruno@clisp.org>
42471
42472         * modules/lock-tests (Depends-on): Add thread, yield.
42473         (configure.ac): Remove all checks.
42474         (test_lock_LDADD): Use YIELD_LIB instead of LIBSCHED.
42475         * tests/test-lock.c (gl_thread_t, gl_thread_join, gl_thread_yield,
42476         gl_thread_self): Remove definitions. Include glthread/thread.h and
42477         glthread/yield.h instead.
42478         (test_lock, test_rwlock, test_recursive_lock, test_once): Pass an
42479         additional NULL argument to gl_thread_join.
42480
42481 2008-09-30  Bruno Haible  <bruno@clisp.org>
42482
42483         Fix the Win32 implementation of the 'thread' module.
42484         * lib/glthread/thread.h [USE_WIN32_THREADS] (gl_thread_t): Change to a
42485         pointer type.
42486         (gl_thread_self): Invoke gl_thread_self_func.
42487         (gl_thread_self_func): New declaration.
42488         * lib/glthread/thread.c [USE_WIN32_THREADS] (self_key): New variable.
42489         (do_init_self_key, init_self_key): New functions.
42490         (struct gl_thread_struct): Renamed from 'struct thread_extra'.
42491         Remove some fields.
42492         (running_threads, running_lock): Remove variables.
42493         (get_current_thread_handle): New function.
42494         (gl_thread_self_func, wrapper_func, glthread_create_func,
42495         glthread_join_func, gl_thread_exit_func): Largely rewritten and
42496         simplified.
42497
42498 2008-09-30  Bruno Haible  <bruno@clisp.org>
42499
42500         * lib/winsock-select.c (win32_poll_handle): Add shortcut for regular
42501         files.
42502
42503 2008-09-30  Jim Meyering  <meyering@redhat.com>
42504
42505         fts.m4: correct the test for statfs.f_type
42506         * m4/fts.m4 (gl_FUNC_FTS_CORE): Include <sys/statfs.h>
42507         when checking for statfs.f_type.
42508
42509 2008-09-15  Simon Josefsson  <simon@josefsson.org>
42510
42511         tests: avoid some compiler warnings
42512         * tests/test-memchr.c (main): Pass NULL indirectly.
42513         * tests/test-getdate.c (main): Remove unused variable 'ret'.
42514
42515 2008-09-29  OndÅ™ej Vašík  <ovasik@redhat.com>
42516
42517         getdate.y: disallow countable dayshifts like "4 yesterday ago"
42518         * lib/getdate.y (relative_time_table) [tDAY_SHIFT]: New type for
42519         exactly specified dayshifts.
42520         (dayshift): New rule.
42521         (rel): Add dayshift.
42522         (relative_time_table) [tomorrow, yesterday, today, now]:
42523         Use tDAY_SHIFT in place of tDAY_UNIT.
42524         * tests/test-getdate.c: Add tests for now-disallowed countable
42525         dayshifts, e.g., "4 yesterday ago".
42526
42527 2008-09-29  Bruno Haible  <bruno@clisp.org>
42528
42529         * tests/test-posix_spawn1.c: Renamed from tests/test-posix_spawn.c.
42530         * tests/test-posix_spawn1.in.sh: Renamed from
42531         tests/test-posix_spawn.in.sh.
42532         * tests/test-posix_spawn2.c: New file.
42533         * tests/test-posix_spawn2.in.sh: New file.
42534         * modules/posix_spawnp-tests (Files): Update.
42535         (Makefile.am): Update. Add test-posix_spawn2 to the tests.
42536
42537 2008-09-29  Bruno Haible  <bruno@clisp.org>
42538
42539         Propagate effects of putenv/setenv/unsetenv to child processes.
42540         * lib/execute.c (execute): Use spawnvpe instead of spawnvp.
42541         * lib/pipe.c (create_pipe): Likewise.
42542
42543 2008-09-29  Bruno Haible  <bruno@clisp.org>
42544
42545         Enable use of shell scripts as executables in mingw.
42546         * lib/execute.c (execute): When spawnv fails with error ENOEXEC,
42547         run the program as a shell script.
42548         * lib/pipe.c (create_pipe): Likewise.
42549         * lib/w32spawn.h (prepare_spawn): Add a hidden element in front of the
42550         resulting array.
42551
42552 2008-09-29  Eric Blake  <ebb9@byu.net>
42553
42554         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Fix typo.
42555
42556 2008-08-24  Paolo Bonzini  <bonzini@gnu.org>
42557
42558         * doc/posix-functions/accept.texi: Update mingw problems.
42559         * doc/posix-functions/bind.texi: Update mingw problems.
42560         * doc/posix-functions/close.texi: Update mingw problems.
42561         * doc/posix-functions/connect.texi: Update mingw problems.
42562         * doc/posix-functions/getpeername.texi: Update mingw problems.
42563         * doc/posix-functions/getsockname.texi: Update mingw problems.
42564         * doc/posix-functions/getsockopt.texi: Update mingw problems.
42565         * doc/posix-functions/ioctl.texi: Update mingw problems.
42566         * doc/posix-functions/listen.texi: Update mingw problems.
42567         * doc/posix-functions/recv.texi: Update mingw problems.
42568         * doc/posix-functions/recvfrom.texi: Update mingw problems.
42569         * doc/posix-functions/select.texi: Update mingw problems.
42570         * doc/posix-functions/send.texi: Update mingw problems.
42571         * doc/posix-functions/sendto.texi: Update mingw problems.
42572         * doc/posix-functions/setsockopt.texi: Update mingw problems.
42573         * doc/posix-functions/socket.texi: Update mingw problems.
42574
42575 2008-09-29  Paolo Bonzini  <bonzini@gnu.org>
42576             Bruno Haible  <bruno@clisp.org>
42577
42578         * lib/sys_select.in.h: Include sys/time.h.
42579         * m4/sys_select.h.m4: Test that struct timeval is fully defined.
42580         * modules/sys_select: Depend on sys_time.
42581         * tests/test-sys_select.c: Test that sys/select.h defines struct
42582         timeval fully.
42583
42584 2008-09-29  Bruno Haible  <bruno@clisp.org>
42585
42586         * lib/sys_socket.in.h: Wrap the definitions in 'extern "C"'.
42587         * lib/sys_select.in.h: Likewise.
42588
42589 2008-09-29  Bruno Haible  <bruno@clisp.org>
42590
42591         * lib/winsock.c (rpl_close, rpl_socket): Remove unused variables.
42592
42593 2008-09-29  Bruno Haible  <bruno@clisp.org>
42594
42595         * m4/sockets.m4 (gl_SOCKETS): Check also for the need to use -lsocket.
42596         Set LIBSOCKET instead of augmenting LIBS.
42597         * modules/sockets (Link): New section.
42598         * modules/sockets-tests (test_sockets_LDADD): New variable.
42599         * modules/sys_select-tests (test_sys_select_LDADD): New variable.
42600         * modules/poll-tests (test_poll_LDADD): New variable.
42601         * NEWS: Document the change.
42602
42603 2008-09-29  Bruno Haible  <bruno@clisp.org>
42604
42605         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): New macro.
42606         * m4/inet_ntop.m4 (gl_INET_NTOP): Invoke it instead of assigning
42607         ARPA_INET_H directly.
42608         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
42609
42610 2008-09-28  Bruno Haible  <bruno@clisp.org>
42611
42612         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): New macro, extracted
42613         from gl_HEADER_SYS_SOCKET.
42614         (gl_HEADER_SYS_SOCKET): Invoke it.
42615         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
42616
42617 2008-09-28  Bruno Haible  <bruno@clisp.org>
42618
42619         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem.
42620         * tests/test-sys_select.c: Include <sys/time.h>, for struct timeval.
42621         Needed on OSF/1 4.0.
42622
42623 2008-09-28  Bruno Haible  <bruno@clisp.org>
42624
42625         Override open more carefully.
42626         * lib/open.c (orig_open): New function.
42627         (rpl_open): Use orig_open instead of open.
42628         * lib/fcntl.in.h: Add special invocation convention.
42629         * m4/open.m4 (gl_PREREQ_OPEN): New macro.
42630         (gl_FUNC_OPEN): Invoke it.
42631
42632         Override freopen more carefully.
42633         * lib/freopen.c (orig_freopen): New function.
42634         (rpl_freopen): Use orig_freopen instead of freopen.
42635         * m4/freopen.m4 (gl_PREREQ_FREOPEN): New macro.
42636         (gl_FUNC_FREOPEN): Invoke it.
42637
42638         Override fopen more carefully.
42639         * lib/fopen.c (orig_fopen): New function.
42640         (rpl_fopen): Use orig_fopen instead of fopen.
42641         * m4/fopen.m4 (gl_PREREQ_FOPEN): New macro.
42642         (gl_FUNC_FOPEN): Invoke it.
42643         Needed on AIX. Reported by Rainer Tammer <tammer@tammer.net>.
42644
42645 2008-09-28  Bruno Haible  <bruno@clisp.org>
42646
42647         * lib/pipe.h (create_pipe_out, create_pipe_bidi): Add comment about
42648         SIGPIPE.
42649
42650 2008-09-28  Bruno Haible  <bruno@clisp.org>
42651
42652         * tests/test-sigaction.c (handler, main): Disable the check whether
42653         SA_RESETHAND has reverted the installed handler to SIG_DFL. Needed on
42654         glibc systems with LinuxThreads.
42655
42656 2008-09-28  Bruno Haible  <bruno@clisp.org>
42657
42658         * doc/posix-functions/freopen.texi: Mention the trailing slash problem.
42659
42660         * lib/stdio.in.h (fopen, freopen): Undefine before redefining. Needed
42661         with AIX xlc.
42662         * lib/fcntl.in.h (open): Likewise.
42663         Reported by Rainer Tammer <tammer@tammer.net>.
42664
42665 2008-09-28  Bruno Haible  <bruno@clisp.org>
42666
42667         * modules/posix_spawnp-tests: New file.
42668         * tests/test-posix_spawn.c: New file.
42669         * tests/test-posix_spawn.in.sh: New file.
42670
42671         New module 'posix_spawnp'.
42672         * modules/posix_spawnp: New file.
42673         * lib/spawnp.c: New file, from GNU libc with modifications.
42674         * doc/posix-functions/posix_spawnp.texi: Mention the new module.
42675
42676         New module 'posix_spawn'.
42677         * modules/posix_spawn: New file.
42678         * lib/spawn.c: New file, from GNU libc with modifications.
42679         * doc/posix-functions/posix_spawn.texi: Mention the new module.
42680
42681         New module 'posix_spawnattr_destroy'.
42682         * modules/posix_spawnattr_destroy: New file.
42683         * lib/spawnattr_destroy.c: New file, from GNU libc with modifications.
42684         * doc/posix-functions/posix_spawnattr_destroy.texi: Mention the new
42685         module.
42686
42687         New module 'posix_spawnattr_setsigmask'.
42688         * modules/posix_spawnattr_setsigmask: New file.
42689         * lib/spawnattr_setsigmask.c: New file, from GNU libc with
42690         modifications.
42691         * doc/posix-functions/posix_spawnattr_setsigmask.texi: Mention the
42692         new module.
42693
42694         New module 'posix_spawnattr_getsigmask'.
42695         * modules/posix_spawnattr_getsigmask: New file.
42696         * lib/spawnattr_getsigmask.c: New file, from GNU libc with
42697         modifications.
42698         * doc/posix-functions/posix_spawnattr_getsigmask.texi: Mention the
42699         new module.
42700
42701         New module 'posix_spawnattr_setsigdefault'.
42702         * modules/posix_spawnattr_setsigdefault: New file.
42703         * lib/spawnattr_setdefault.c: New file, from GNU libc with
42704         modifications.
42705         * doc/posix-functions/posix_spawnattr_setsigdefault.texi: Mention the
42706         new module.
42707
42708         New module 'posix_spawnattr_getsigdefault'.
42709         * modules/posix_spawnattr_getsigdefault: New file.
42710         * lib/spawnattr_getdefault.c: New file, from GNU libc with
42711         modifications.
42712         * doc/posix-functions/posix_spawnattr_getsigdefault.texi: Mention the
42713         new module.
42714
42715         New module 'posix_spawnattr_setschedpolicy'.
42716         * modules/posix_spawnattr_setschedpolicy: New file.
42717         * lib/spawnattr_setschedpolicy.c: New file, from GNU libc with
42718         modifications.
42719         * doc/posix-functions/posix_spawnattr_setschedpolicy.texi: Mention the
42720         new module.
42721
42722         New module 'posix_spawnattr_getschedpolicy'.
42723         * modules/posix_spawnattr_getschedpolicy: New file.
42724         * lib/spawnattr_getschedpolicy.c: New file, from GNU libc with
42725         modifications.
42726         * doc/posix-functions/posix_spawnattr_getschedpolicy.texi: Mention the
42727         new module.
42728
42729         New module 'posix_spawnattr_setschedparam'.
42730         * modules/posix_spawnattr_setschedparam: New file.
42731         * lib/spawnattr_setschedparam.c: New file, from GNU libc with
42732         modifications.
42733         * doc/posix-functions/posix_spawnattr_setschedparam.texi: Mention the
42734         new module.
42735
42736         New module 'posix_spawnattr_getschedparam'.
42737         * modules/posix_spawnattr_getschedparam: New file.
42738         * lib/spawnattr_getschedparam.c: New file, from GNU libc with
42739         modifications.
42740         * doc/posix-functions/posix_spawnattr_getschedparam.texi: Mention the
42741         new module.
42742
42743         New module 'posix_spawnattr_setpgroup'.
42744         * modules/posix_spawnattr_setpgroup: New file.
42745         * lib/spawnattr_setpgroup.c: New file, from GNU libc with
42746         modifications.
42747         * doc/posix-functions/posix_spawnattr_setpgroup.texi: Mention the new
42748         module.
42749
42750         New module 'posix_spawnattr_getpgroup'.
42751         * modules/posix_spawnattr_getpgroup: New file.
42752         * lib/spawnattr_getpgroup.c: New file, from GNU libc with
42753         modifications.
42754         * doc/posix-functions/posix_spawnattr_getpgroup.texi: Mention the new
42755         module.
42756
42757         New module 'posix_spawnattr_setflags'.
42758         * modules/posix_spawnattr_setflags: New file.
42759         * lib/spawnattr_setflags.c: New file, from GNU libc with modifications.
42760         * doc/posix-functions/posix_spawnattr_setflags.texi: Mention the new
42761         module.
42762
42763         New module 'posix_spawnattr_getflags'.
42764         * modules/posix_spawnattr_getflags: New file.
42765         * lib/spawnattr_getflags.c: New file, from GNU libc with modifications.
42766         * doc/posix-functions/posix_spawnattr_getflags.texi: Mention the new
42767         module.
42768
42769         New module 'posix_spawnattr_init'.
42770         * modules/posix_spawnattr_init: New file.
42771         * lib/spawnattr_init.c: New file, from GNU libc with modifications.
42772         * doc/posix-functions/posix_spawnattr_init.texi: Mention the new
42773         module.
42774
42775         New module 'posix_spawn_file_actions_destroy'.
42776         * modules/posix_spawn_file_actions_destroy: New file.
42777         * lib/spawn_faction_destroy.c: New file, from GNU libc with
42778         modifications.
42779         * doc/posix-functions/posix_spawn_file_actions_destroy.texi: Mention
42780         the new module.
42781
42782         New module 'posix_spawn_file_actions_addopen'.
42783         * modules/posix_spawn_file_actions_addopen: New file.
42784         * lib/spawn_faction_addopen.c: New file, from GNU libc with
42785         modifications.
42786         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
42787         the new module.
42788
42789         New module 'posix_spawn_file_actions_adddup2'.
42790         * modules/posix_spawn_file_actions_adddup2: New file.
42791         * lib/spawn_faction_adddup2.c: New file, from GNU libc with
42792         modifications.
42793         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
42794         the new module.
42795
42796         New module 'posix_spawn_file_actions_addclose'.
42797         * modules/posix_spawn_file_actions_addclose: New file.
42798         * lib/spawn_faction_addclose.c: New file, from GNU libc with
42799         modifications.
42800         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
42801         the new module.
42802
42803         New module 'posix_spawn_file_actions_init'.
42804         * modules/posix_spawn_file_actions_init: New file.
42805         * lib/spawn_faction_init.c: New file, from GNU libc with modifications.
42806         * doc/posix-functions/posix_spawn_file_actions_init.texi: Mention the
42807         new module.
42808
42809         New module 'posix_spawn-internal'.
42810         * modules/posix_spawn-internal: New file.
42811         * lib/spawn_int.h: New file, from GNU libc with modifications.
42812         * lib/spawni.c: New file, from GNU libc with modifications.
42813         * m4/posix_spawn.m4: New file.
42814
42815         New module 'spawn'.
42816         * modules/spawn: New file.
42817         * lib/spawn.in.h: New file, from GNU libc with modifications.
42818         * m4/spawn_h.m4: New file.
42819         * doc/posix-headers/spawn.texi: Mention the new module.
42820
42821 2008-09-28  Bruno Haible  <bruno@clisp.org>
42822
42823         * modules/sched-tests: New file.
42824         * tests/test-sched.c: New file.
42825
42826         New module 'sched'.
42827         * modules/sched: New file.
42828         * lib/sched.in.h: New file.
42829         * m4/sched_h.m4: New file.
42830         * doc/posix-headers/sched.texi: Mention the new module.
42831
42832 2008-09-27  Eric Blake  <ebb9@byu.net>
42833
42834         Fix previous patch, and tweak references to $0.
42835         * posix-modules: Call func_gnulib_dir before using $gnulib_dir.
42836         (func_version, func_gnulib_dir): Don't call this program
42837         gnulib-tool.
42838         (func_gnulib_dir, func_tmpdir, func_fatal_error): Avoid shell bugs
42839         with using $0 in function.
42840         * gnulib-tool (func_gnulib_dir, func_tmpdir): Likewise.
42841         (func_fatal_error): Reuse the name the user invoked us with.
42842
42843 2008-09-27  Bruno Haible  <bruno@clisp.org>
42844
42845         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H): New macro.
42846         (gl_ICONV_H_DEFAULTS): Initialize ICONV_H here...
42847         (gl_ICONV_H): Not here.
42848         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
42849         instead of assigning ICONV_H directly.
42850
42851         * m4/wchar.m4 (gl_REPLACE_WCHAR_H): New macro.
42852         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Invoke it instead of assigning
42853         WCHAR_H directly.
42854
42855 2008-09-27  Bruno Haible  <bruno@clisp.org>
42856
42857         * lib/arpa_inet.in.h: Include the GL_LINK_WARNING anchor.
42858         * modules/arpa_inet (Depends-on): Add link-warning.
42859         (Makefile.am): Insert the definition of GL_LINK-WARNING.
42860         * modules/unistd (Makefile.am): Likewise.
42861
42862 2008-09-26  Bruno Haible  <bruno@clisp.org>
42863
42864         * posix-modules (cvsdatestamp, last_checkin_date, version): Remove
42865         variables.
42866         (func_version): Essentially copied from gnulib-tool.
42867         (func_exit, func_gnulib_dir, func_tmpdir, func_fatal_error,
42868         func_readlink): Copied from gnulib-tool.
42869
42870 2008-09-26  Bruno Haible  <bruno@clisp.org>
42871
42872         * gnulib-tool (func_version): Change directory to $gnulib_dir before
42873         invoking git-version-gen.
42874
42875 2008-09-26  Bruno Haible  <bruno@clisp.org>
42876
42877         * posix-modules: Update to directory names changed on 2008-01-19.
42878         Remove commas in output before splitting into words. No more need to
42879         avoid 'ftruncate' since 2007-02-19.
42880
42881 2008-09-26  Bruno Haible  <bruno@clisp.org>
42882
42883         * doc/posix-headers/errno.texi: Remove mention of module 'EOVERFLOW'.
42884
42885 2008-09-26  Bruno Haible  <bruno@clisp.org>
42886
42887         * lib/fwriteerror.c (do_fwriteerror): Ignore error EPIPE.
42888         * modules/fwriteerror (Depends-on): Add errno.
42889
42890 2008-09-26  Bruno Haible  <bruno@clisp.org>
42891
42892         * tests/test-vc-list-files-git.sh: Explain reason for skipping test.
42893         * tests/test-vc-list-files-cvs.sh: Likewise.
42894
42895 2008-09-26  Bruno Haible  <bruno@clisp.org>
42896
42897         * doc/posix-headers/sys_resource.texi: Reorder items.
42898
42899 2008-09-26  Jim Meyering  <meyering@redhat.com>
42900
42901         fts: tweak inode comparison function
42902         * lib/fts.c (fts_compare_ino): Sort on increasing, not decreasing
42903         inode numbers, as documented.
42904
42905         fts: sort dirent entries on inode number before traversing
42906         This avoids a quadratic, seek-related performance penalty when
42907         operating on a directory containing many entries (measurable at 10k;
42908         3.5 hours at 2 million entries with a cold cache) on certain types
42909         of file systems, including ext3 and ext4, but not tmpfs.
42910         * lib/fts.c (DT_MUST_BE, NOT_AN_INODE_NUMBER, D_INO): Define.
42911         (FTS_INODE_SORT_DIR_ENTRIES_THRESHOLD): Define if not defined.
42912         (S_MAGIC_TMPFS, S_MAGIC_NFS): Define.
42913         (fs_handles_readdir_ordered_dirents_efficiently): New function.
42914         (dirent_inode_sort_may_be_useful, fts_compare_ino): Likewise.
42915         (fts_build): Set the stat.st_ino member from D_INO.
42916         If it is likely to be useful, sort dirent entries on inode number.
42917
42918         * m4/fts.m4 (gl_FUNC_FTS_CORE): Check for fstatfs, sys/vfs.h,
42919         and the struct statfs.f_type member.
42920         * modules/fts (Depends-on): Add d-ino.
42921
42922 2008-09-26  Bruno Haible  <bruno@clisp.org>
42923
42924         * modules/sigpipe-die (Depends-on): Add sigpipe.
42925
42926         * lib/stdio.in.h (fprintf, vfprintf, printf, vprintf, fputc, putc,
42927         putchar, fputs, puts, fwrite): Replace when REPLACE_STDIO_WRITE_FUNCS
42928         and GNULIB_STDIO_H_SIGPIPE are set.
42929         * lib/stdio-write.c: New file.
42930         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FPRINTF, GNULIB_PRINTF,
42931         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
42932         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
42933         REPLACE_STDIO_WRITE_FUNCS.
42934         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FPRINTF, GNULIB_PRINTF,
42935         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
42936         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
42937         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
42938         * modules/stdio (Files): Add lib/stdio-write.c.
42939         (Makefile.am): Substitute GNULIB_FPRINTF, GNULIB_PRINTF,
42940         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
42941         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
42942         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
42943         * m4/fprintf-posix.m4 (gl_REPLACE_FPRINTF): Define
42944         REPLACE_FPRINTF_POSIX.
42945         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF): Define
42946         REPLACE_PRINTF_POSIX.
42947         * m4/vfprintf-posix.m4 (gl_REPLACE_VFPRINTF): Define
42948         REPLACE_VFPRINTF_POSIX.
42949         * m4/vprintf-posix.m4 (gl_REPLACE_VPRINTF): Define
42950         REPLACE_VPRINTF_POSIX.
42951         * doc/posix-functions/fprintf.texi: Mention the sigpipe module and the
42952         SIGPIPE issue.
42953         * doc/posix-functions/fputc.texi: Likewise.
42954         * doc/posix-functions/fputs.texi: Likewise.
42955         * doc/posix-functions/fwrite.texi: Likewise.
42956         * doc/posix-functions/printf.texi: Likewise.
42957         * doc/posix-functions/putc.texi: Likewise.
42958         * doc/posix-functions/putchar.texi: Likewise.
42959         * doc/posix-functions/puts.texi: Likewise.
42960         * doc/posix-functions/vfprintf.texi: Likewise.
42961         * doc/posix-functions/vprintf.texi: Likewise.
42962
42963         * modules/safe-write (Depends-on): Add write.
42964
42965         * modules/sigpipe-tests: New file.
42966         * tests/test-sigpipe.c: New file.
42967         * tests/test-sigpipe.sh: New file.
42968
42969         * modules/write: New file.
42970         * lib/unistd.in.h: Include <sys/types.h>.
42971         (write): New declaration.
42972         * lib/write.c: New file.
42973         * m4/write.m4: New file.
42974         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
42975         GNULIB_UNISTD_H_SIGPIPE, GNULIB_WRITE, REPLACE_WRITE.
42976         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_SIGPIPE,
42977         GNULIB_WRITE, REPLACE_WRITE.
42978         * doc/posix-functions/write.texi: Mention the write, sigpipe modules
42979         and the SIGPIPE issue.
42980
42981         * lib/signal.in.h (SIGPIPE): Define to a replacement value.
42982         (raise): New declaration.
42983         * lib/sigprocmask.c (SIGPIPE_handler): New variable.
42984         (ext_signal): New function.
42985         (rpl_raise): New function.
42986         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
42987         GNULIB_SIGNAL_H_SIGPIPE.
42988         * modules/signal (Makefile.am): Substitute GNULIB_SIGNAL_H_SIGPIPE.
42989         * doc/posix-headers/signal.texi: Mention the SIGPIPE issue.
42990
42991         * modules/sigpipe: New file.
42992         * m4/sigpipe.m4: New file.
42993
42994 2008-09-25  Derek Price  <derek@ximbiot.com>
42995             Bruno Haible  <bruno@clisp.org>
42996
42997         * gnulib-tool (func_import): Report all license incompatibilities, not
42998         just the first one.
42999
43000 2008-09-25  Bruno Haible  <bruno@clisp.org>
43001
43002         * gnulib-tool (func_import): When computing the edits, consider not
43003         only the Makefile.ams that exist but also those that will be generated.
43004
43005 2008-09-25  Simon Josefsson  <simon@josefsson.org>
43006
43007         * modules/sys_select-tests (Depends-on): Remove sys_select itself,
43008         fixes gnulib-tool --test warning about duplicate dependency.
43009
43010 2008-09-25  Bruno Haible  <bruno@clisp.org>
43011
43012         * gnulib-tool: Don't ask the user to perform edits in the generated
43013         Makefile.ams.
43014         (func_emit_lib_Makefile_am): Emit empty SUBDIRS. Execute edits that
43015         apply to the Makefile.am being generated.
43016         (func_emit_tests_Makefile_am): Execute edits that apply to the
43017         Makefile.am being generated.
43018         (func_import): Setup list of Makefile.am edits before emitting the
43019         Makefile.ams, not at the end.
43020         (func_create_testdir): Update.
43021         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
43022
43023 2008-09-25  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
43024
43025         * gnulib-tool (func_import): Store the --tests-base option in the
43026         comment in gnulib-cache.m4.
43027
43028 2008-09-24  Paolo Bonzini  <bonzini@gnu.org>
43029
43030         * NEWS: Document increased portability that sys_select now provides.
43031
43032         * lib/sys_select.in.h: Install select wrapper.
43033         * lib/sys_socket.in.h: Use more descriptive name when there is no
43034         select wrapper.
43035         * lib/winsock-select.c: New.
43036         * m4/sys_select_h.m4: Compile lib/winsock-select.c if WinSock is used.
43037         Require gl_HEADER_SYS_SOCKET.
43038         * modules/sys_select: Depend on alloca, add lib/winsock-select.c.
43039         * modules/sys_select-tests: Copy dependencies from modules/poll-tests.
43040         * tests/test-sys_select.c: Add functional tests.
43041
43042 2008-09-24  Eric Blake  <ebb9@byu.net>
43043
43044         open, fopen: close fd leak in last patch
43045         * lib/open.c (rpl_open): Close fd before returning error.
43046         * lib/fopen.c (rpl_fopen): Close fd before returning error.
43047         * doc/posix-functions/open.texi (open): Document that Irix also
43048         has the bug.
43049         * doc/posix-functions/fopen.texi (fopen): Likewise.
43050         Reported by Paolo Bonzini.
43051
43052 2008-09-24  Bruno Haible  <bruno@clisp.org>
43053
43054         Ensure that a filename ending in a slash cannot be used to access a
43055         non-directory.
43056         * lib/open.c (rpl_open): When the filename ends in a slash, use fstat()
43057         to check whether it's really a directory.
43058         * lib/fopen.c: Include fcntl.h, unistd.h.
43059         (rpl_fopen): When the filename ends in a slash, use open(), fstat(),
43060         and fdopen().
43061         * modules/fopen (Depends-on): Add unistd.
43062         * tests/test-open.c (main): Try to open "/dev/null/" as a directory.
43063         * tests/test-fopen.c (main): Likewise.
43064         * doc/posix-functions/open.texi: Mention the HP-UX, Solaris bug.
43065         * doc/posix-functions/fopen.texi: Likewise.
43066         Reported by Eric Blake.
43067
43068 2008-09-23  Eric Blake  <ebb9@byu.net>
43069
43070         c-stack: avoid compiler optimizations when provoking overflow
43071         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Make
43072         recursion harder to optimize, to ensure a stack overflow occurs.
43073         * tests/test-c-stack.c (recurse): Likewise.
43074         Borrowed from libsigsegv.
43075
43076         c-stack: work around Irix sigaltstack bug
43077         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check
43078         whether sigaltstack uses wrong end of stack_t (copied in part from
43079         libsigsegv).
43080         * lib/c-stack.c (c_stack_action) [!HAVE_LIBSIGSEGV]: Work around
43081         Irix bug, without requiring an over-allocation.
43082         * doc/posix-functions/sigaltstack.texi (sigaltstack): Document the
43083         bug.
43084
43085         fopen: document mingw bug on directories
43086         * doc/posix-functions/fopen.texi (fopen): Mention mingw bug for
43087         not allowing a stream visiting a directory, even though reading
43088         from such a stream is not portable.
43089
43090 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
43091
43092         * lib/poll.c: Rewrite.
43093         * modules/poll: Depend on alloca.
43094
43095 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
43096
43097         * lib/sys_socket.in.h: Do not implement rpl_setsockopt here,
43098         instead define prototypes for a full set of wrappers.  Ensure
43099         that Cygwin does not use the compatibility code, which is only
43100         for MinGW.
43101         * lib/winsock.c: New.
43102         * m4/sys_socket_h.m4: Compile lib/winsock.c if WinSock is being used.
43103         * modules/sys_socket: Add lib/winsock.c.
43104
43105         * modules/poll-tests: Add errno and perror.
43106         * tests/test-poll.c: Use ioctl, not ioctlsocket.
43107
43108 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
43109
43110         * tests/test-poll.c: Downgrade minimum needed Winsock version.
43111
43112 2008-09-23  Bruno Haible  <bruno@clisp.org>
43113
43114         * doc/posix-functions/*: Add info about functions missing on IRIX 5.3.
43115         * doc/glibc-functions/*: Likewise.
43116
43117 2008-09-23  Simon Josefsson  <simon@josefsson.org>
43118
43119         * tests/test-perror.sh (tmpfiles): Cleanup temporary files on
43120         success.
43121
43122 2008-09-22  Eric Blake  <ebb9@byu.net>
43123             Bruno Haible  <bruno@clisp.org>
43124
43125         vasnprintf: fix x86/glibc regression on printf("%La", 0.0L)
43126         * lib/vasnprintf.c (VASNPRINTF): Support 0.0 on platforms that
43127         supply %A but mishandle pseudo-NaN.
43128         Reported by Simon Josefsson.
43129
43130 2008-09-21  Bruno Haible  <bruno@clisp.org>
43131
43132         * tests/test-lock.c (main): Tweak skip message.
43133         * tests/test-tls.c (main): Likewise.
43134
43135 2008-09-21  Bruno Haible  <bruno@clisp.org>
43136
43137         * m4/sigaction.m4 (gl_SIGACTION): Remove unnecessary AC_SUBST. Check
43138         whether 'struct sigaction' has sa_sigaction here...
43139         (gl_PREREQ_SIG_HANDLER_H): ... not here.
43140         (gl_PREREQ_SIGACTION): Remove unnecessary AC_SUBST.
43141
43142 2008-09-21  Bruno Haible  <bruno@clisp.org>
43143
43144         * MODULES.html.sh (Support for obsolete systems lacking ANSI C 89): New
43145         section.
43146         (Support for systems lacking ANSI C 89): Move stdlib, exit, strtol,
43147         strtoul, memchr, memcmp, memcpy, memmove, memset, strcspn, strpbrk to
43148         the new section.
43149         (Support for obsolete systems lacking POSIX:2001): New section.
43150         (String handling <string.h>): Move strdup to the new section.
43151         Suggested by Simon Josefsson and Paolo Bonzini.
43152
43153 2008-09-21  Bruno Haible  <bruno@clisp.org>
43154
43155         * tests/test-vasnprintf-posix.c (test_function): Allow 3-digit
43156         exponents in %e and %g results on 'long double'. Needed for mingw's
43157         improved *printf functions.
43158         * tests/test-vasprintf-posix.c (test_function): Likewise.
43159         * tests/test-snprintf-posix.h (test_function): Likewise.
43160         * tests/test-sprintf-posix.h (test_function): Likewise.
43161         Reported by Eric Blake.
43162
43163 2008-09-21  Bruno Haible  <bruno@clisp.org>
43164
43165         * tests/test-snprintf-posix.h (test_function): Remove useless ASSERTs.
43166         * tests/test-sprintf-posix.h (test_function): Likewise.
43167
43168 2008-09-21  Bruno Haible  <bruno@clisp.org>
43169
43170         * modules/getpass (Depends-on): Add strdup-posix.
43171
43172         New module 'strdup-posix'.
43173         * modules/strdup-posix: New file.
43174         * m4/strdup.m4 (gl_FUNC_STRDUP_POSIX): New macro.
43175         * lib/string.in.h (strdup): Replace if REPLACE_STRDUP is 1.
43176         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
43177         REPLACE_STRDUP.
43178         * modules/string (Makefile.am): Substitute REPLACE_STRDUP.
43179         * doc/posix-functions/strdup.texi: Mention module strdup-posix.
43180         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
43181         strdup-posix.
43182
43183         * modules/strdup (Depends-on): Remove malloc-posix.
43184
43185 2008-09-20  Bruno Haible  <bruno@clisp.org>
43186
43187         * lib/fstrcmp.c: Add data about branch probabilities, from Ralf
43188         Wildenhues.
43189
43190 2008-09-20  Bruno Haible  <bruno@clisp.org>
43191
43192         Ensure that wint_t gets defined on IRIX 5.3.
43193         * lib/wchar.in.h (wint_t): Define if not defined by the system.
43194         * lib/wctype.in.h (wint_t): Likewise.
43195         (__wctype_wint_t): Remove type.
43196         (isw*): Use wint_t instead of __wctype_wint_t.
43197         * m4/wchar.m4 (gl_WCHAR_H): Invoke gt_TYPE_WINT_T and set HAVE_WINT_T.
43198         * modules/wchar (Files): Add m4/wint_t.m4.
43199         (Makefile.am): Substitute HAVE_WINT_T.
43200         * tests/test-wchar.c: Check that wchar_t and wint_t are defined.
43201         * tests/test-wctype.c: Check that wint_t is defined.
43202         * doc/posix-headers/wchar.texi: Mention the IRIX 5 problem.
43203         * doc/posix-headers/wctype.texi: Likewise.
43204         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
43205
43206 2008-09-18  Bruno Haible  <bruno@clisp.org>
43207
43208         * gnulib-tool (func_exit): Update comment.
43209
43210 2008-09-18  Simon Josefsson  <simon@josefsson.org>
43211
43212         * modules/getaddrinfo (Depends-on): Remove strdup, this module
43213         assumes strdup exists and does not depend on strdup to return
43214         ENOMEM on out of memory conditions.
43215
43216 2008-09-18  Bruno Haible  <bruno@clisp.org>
43217
43218         * lib/vasnprintf.c (VASNPRINTF): When printing Â±0.0L in
43219         NEED_PRINTF_INFINITE_LONG_DOUBLE case with 'e' format, always use two
43220         digits for the exponent.
43221
43222 2008-09-18  Jim Meyering  <meyering@redhat.com>
43223             Bruno Haible  <bruno@clisp.org>
43224
43225         * lib/vasnprintf.c (decimal_point_char): Define also if
43226         NEED_PRINTF_INFINITE_LONG_DOUBLE.
43227
43228 2008-09-16  Bruno Haible  <bruno@clisp.org>
43229         and Eric Blake  <ebb9@byu.net>
43230
43231         vasnprintf: support Irix 5.3
43232         * lib/vasnprintf.c (VASNPRINTF): Also handle -0.0L on platforms
43233         that mishandle long double infinity.
43234         Reported by Tom G. Christensen.
43235
43236 2008-09-16  Bruno Haible  <bruno@clisp.org>
43237
43238         * doc/glibc-functions/scandir.texi: Mention the function is missing on
43239         Solaris 9.
43240         * doc/glibc-functions/alphasort.texi: Likewise.
43241         Reported by Michael Haubenwallner <michael.haubenwallner@salomon.at>.
43242
43243 2008-09-16  Jim Meyering  <meyering@redhat.com>
43244
43245         posix-shell.m4: reject opensolaris's "sh (AT&T Research) 1993-12-28 s+"
43246         * m4/posix-shell.m4 (gl_POSIX_SHELL): Reject a shell that lets
43247         a umask modification leak out of a subshell.  Otherwise, the
43248         opensolaris /bin/sh would be accepted and thus cause unwarranted
43249         failures in the coreutils test suite.
43250
43251 2008-09-16  Paolo Bonzini  <bonzini@gnu.org>
43252
43253         * tests/test-poll.c (connect_to_socket): Allow non-blocking connect
43254         to succeed.
43255
43256 2008-09-16  Jim Meyering  <meyering@redhat.com>
43257
43258         avoid spurious test failure when library is built without ACL support
43259         * m4/acl.m4 (USE_ACL): Define as a shell variable, too, for...
43260         * modules/acl-tests (Makefile.am) [TESTS_ENVIRONMENT]: Add USE_ACL.
43261         * tests/test-file-has-acl.sh: Skip if USE_ACL == 0.
43262         * tests/test-copy-acl.sh: Likewise.
43263
43264 2008-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43265
43266         * lib/fstrcmp.c (fstrcmp_bounded): Use a second, less quick upper bound
43267         based on character occurrence counts.
43268
43269 2008-09-15  Eric Blake  <ebb9@byu.net>
43270
43271         tests: avoid some compiler warnings
43272         * tests/test-memchr.c (main): Pass NULL indirectly.
43273         * tests/test-closein.c (main): Avoid unused variable.
43274
43275 2008-09-15  Bruno Haible  <bruno@clisp.org>
43276
43277         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test for all the macros that
43278         are missing on OpenBSD 4.0 individually.
43279         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
43280
43281 2008-09-15  Bruno Haible  <bruno@clisp.org>
43282
43283         * doc/posix-headers/errno.texi: Mention the Cygwin problem.
43284         * doc/posix-functions/strerror.texi: Mention also Cygwin.
43285         * doc/posix-functions/perror.texi: Likewise.
43286         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test also whether ECANCELED
43287         is missing.
43288         Reported by Eric Blake.
43289
43290         * lib/errno.in.h: Use replacement values >= 2000.
43291         Reported by Eric Blake.
43292
43293 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43294
43295         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Add field 'edit_count_limit'.
43296         (EARLY_ABORT): Return true when the edit_count has grown too beyond the
43297         limit.
43298         (fstrcmp_bounded): Initialize the edit_count_limit. Return 0 when
43299         compareseq was aborted.
43300
43301 2008-09-14  Bruno Haible  <bruno@clisp.org>
43302
43303         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Combine xvec_edit_count and
43304         yvec_edit_count.
43305         (NOTE_DELETE, NOTE_INSERT): Increment the combined edit count.
43306         (fstrcmp_bounded): Simplify result computation accordingly.
43307
43308 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43309
43310         * lib/fstrcmp.h (fstrcmp_bounded): New declaration.
43311         (fstrcmp): Define in terms of fstrcmp_bounded.
43312         * lib/fstrcmp.c (fstrcmp_bounded): Renamed from fstrcmp. Add
43313         lower_bound argument.
43314         Return quickly if the result is certainly < lower_bound.
43315         * tests/test-fstrcmp.c (check_fstrcmp): Test also fstrcmp_bounded.
43316
43317 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43318
43319         * lib/diffseq.h (EARLY_ABORT): New macro.
43320         (compareseq): Change return type to bool. Return true when EARLY_ABORT
43321         evaluates to true.
43322
43323 2008-09-14  Bruno Haible  <bruno@clisp.org>
43324
43325         * modules/perror-tests: New file.
43326         * tests/test-perror.sh: New file.
43327         * tests/test-perror.c: New file.
43328
43329         New module 'perror'.
43330         * lib/stdio.in.h (perror): New declaration.
43331         * lib/perror.c: New file.
43332         * m4/perror.m4: New file.
43333         * modules/perror: New file.
43334         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add perror.
43335         * doc/posix-functions/perror.texi: Mention the perror module.
43336         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PERROR,
43337         REPLACE_PERROR.
43338         * modules/stdio (Makefile.am): Substitute GNULIB_PERROR,
43339         REPLACE_PERROR.
43340
43341 2008-09-14  Bruno Haible  <bruno@clisp.org>
43342
43343         * modules/stdio (Makefile.am): Reorder to match the order in
43344         lib/stdio.in.h.
43345         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
43346
43347 2008-09-13  Bruno Haible  <bruno@clisp.org>
43348
43349         * lib/sys_socket.in.h (EINPROGRESS, ...): Remove definitions.
43350
43351 2008-09-13  Bruno Haible  <bruno@clisp.org>
43352
43353         Extend strerror to cover the added errno values.
43354         * lib/strerror.c: Include errno.h and winsock2.h if it exists.
43355         (rpl_strerror): Provide error messages for the added errno values and
43356         for the WSA* values.
43357         * m4/strerror.m4 (gl_FUNC_STRERROR): Test REPLACE_STRERROR.
43358         (gl_FUNC_STRERROR_SEPARATE): If errno.h is replaced, always replace
43359         strerror.
43360         (gl_PREREQ_STRERROR): Test whether winsock2.h exists.
43361         * modules/strerror (Depends-on): Add errno.
43362         * doc/posix-functions/strerror.texi: Document the change.
43363         * tests/test-strerror.c (main): Check also the string for ETIMEDOUT
43364         and EOVERFLOW.
43365
43366 2008-09-13  Bruno Haible  <bruno@clisp.org>
43367
43368         * modules/EOVERFLOW: Remove file.
43369         * m4/eoverflow.m4: Remove file.
43370         * modules/EOVERFLOW-tests: Remove file.
43371         * tests/test-EOVERFLOW.c: Remove file.
43372         * modules/fprintf-posix (Depends-on): Replace EOVERFLOW with errno.
43373         * modules/ftell (Depends-on): Likewise.
43374         * modules/getdelim (Depends-on): Likewise.
43375         * modules/getugroups (Depends-on): Likewise.
43376         * modules/poll (Depends-on): Likewise.
43377         * modules/snprintf (Depends-on): Likewise.
43378         * modules/sprintf-posix (Depends-on): Likewise.
43379         * modules/vasnprintf (Depends-on): Likewise.
43380         * modules/vasprintf (Depends-on): Likewise.
43381         * modules/vfprintf-posix (Depends-on): Likewise.
43382         * modules/vsnprintf (Depends-on): Likewise.
43383         * modules/vsprintf-posix (Depends-on): Likewise.
43384         * modules/xvasprintf (Depends-on): Likewise.
43385         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
43386         * modules/unistdio/u8-vasprintf (Depends-on): Likewise.
43387         * modules/unistdio/u8-vsnprintf (Depends-on): Likewise.
43388         * modules/unistdio/u8-vsprintf (Depends-on): Likewise.
43389         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
43390         * modules/unistdio/u8-u8-vasprintf (Depends-on): Likewise.
43391         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Likewise.
43392         * modules/unistdio/u8-u8-vsprintf (Depends-on): Likewise.
43393         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
43394         * modules/unistdio/u16-u16-vasprintf (Depends-on): Likewise.
43395         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Likewise.
43396         * modules/unistdio/u16-u16-vsprintf (Depends-on): Likewise.
43397         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
43398         * modules/unistdio/u16-vasprintf (Depends-on): Likewise.
43399         * modules/unistdio/u16-vsnprintf (Depends-on): Likewise.
43400         * modules/unistdio/u16-vsprintf (Depends-on): Likewise.
43401         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
43402         * modules/unistdio/u32-vasprintf (Depends-on): Likewise.
43403         * modules/unistdio/u32-vsnprintf (Depends-on): Likewise.
43404         * modules/unistdio/u32-vsprintf (Depends-on): Likewise.
43405         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
43406         * modules/unistdio/u32-u32-vasprintf (Depends-on): Likewise.
43407         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Likewise.
43408         * modules/unistdio/u32-u32-vsprintf (Depends-on): Likewise.
43409         * modules/unistdio/ulc-fprintf (Depends-on): Likewise.
43410         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
43411         * modules/unistdio/ulc-vasprintf (Depends-on): Likewise.
43412         * modules/unistdio/ulc-vfprintf (Depends-on): Likewise.
43413         * modules/unistdio/ulc-vsnprintf (Depends-on): Likewise.
43414         * modules/unistdio/ulc-vsprintf (Depends-on): Likewise.
43415         * MODULES.html.sh: Remove EOVERFLOW.
43416         * NEWS: Mention the change.
43417
43418 2008-09-13  Bruno Haible  <bruno@clisp.org>
43419
43420         * modules/errno-tests: New file.
43421         * tests/test-errno.c: New file, incorporating tests/test-EOVERFLOW.c.
43422
43423         * lib/errno.in.h: New file.
43424         * m4/errno_h.m4: New file, borrowing from m4/eoverflow.m4.
43425         * modules/errno: New file.
43426         * doc/posix-headers/errno.texi: Update documentation.
43427         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add errno.
43428
43429 2008-09-13  Bruno Haible  <bruno@clisp.org>
43430
43431         * tests/test-poll.c: Use #if for native Windows, rather than testing
43432         __MSVCRT__.
43433
43434 2008-09-13  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
43435             Bruno Haible  <bruno@clisp.org>
43436
43437         * lib/glob.c: Don't include <pwd.h> on native Windows.
43438         (WINDOWS32): New macro.
43439         (glob) [WINDOW32]: Provide a reasonable replacement for getenv("HOME").
43440
43441 2008-09-13  Bruno Haible  <bruno@clisp.org>
43442
43443         * lib/glthread/cond.h [USE_SOLARIS_THREADS]
43444         (ETIMEDOUT): Remove macro.
43445         (glthread_cond_timedwait_multithreaded): New declaration.
43446         (glthread_cond_timedwait): Use it.
43447         * lib/glthread/cond.c [USE_SOLARIS_THREADS]
43448         (glthread_cond_timedwait_multithreaded): New function.
43449
43450 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
43451
43452         * modules/poll-tests: Do not check for io.h.
43453         * tests/test-poll.c: Check for __MSVCRT__ instead.
43454
43455 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
43456
43457         * lib/sys_socket.in.h (EINPROGRESS): Define for Winsock case.
43458         * modules/poll-tests: Add inet_pton, stdbool, sockets.
43459         * tests/test-poll.c: Use them.  Use _pipe on Windows.
43460
43461 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
43462
43463         * modules/poll-tests: New.
43464         * tests/test-poll.c: New.
43465
43466 2008-09-12  Eric Blake  <ebb9@byu.net>
43467
43468         frexp: test for NetBSD failure on -0.0
43469         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Enhance test, since some, but
43470         not all, bugs from NetBSD 3.0 have been fixed.
43471         * doc/posix-functions/frexp.texi (frexp): Document bug.
43472         Reported by Thomas Klausner.
43473
43474         signbit: work around bug of HP-UX 10.20 cc with -0.0 literal
43475         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Rewrite test to avoid
43476         literal -0.0.
43477         Reported by Jonathan C. Patschke <jp@centtech.com>.
43478
43479 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
43480
43481         * lib/glthread/cond.h: Use dummy implementation also if
43482         USE_WIN32_THREADS.
43483
43484 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
43485
43486         * modules/fnmatch-posix (License): Change to LGPLv2+.
43487         * modules/fnmatch-gnu (License): Likewise.
43488
43489 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
43490
43491         * lib/poll.c (poll): Fix polling unconnected server sockets on WIN32.
43492
43493 2008-09-11  Jim Meyering  <meyering@redhat.com>
43494
43495         * users.txt: Add gtk-vnc.
43496
43497 2008-09-08  Simon Josefsson  <simon@josefsson.org>
43498
43499         * tests/test-bitrotate.c: Test 8/16-bit rotates with 0 and maximum
43500         rotate amounts.
43501
43502         * lib/bitrotate.h: Doc fix, mention that N can be wider than minimally
43503         required for 16-bit and 8-bit rotates.
43504         * lib/bitrotate.h (rotl64, rotr64, rotl32, rotl32, rotl16, rotr16,
43505         rotl8, rotr8): Use UINT64_MAX, UINT32_MAX, UINT16_MAX, and
43506         UINT8_MAX instead of hard-coded constants.
43507         Suggested by Paul Eggert.
43508
43509 2008-09-07  Bruno Haible  <bruno@clisp.org>
43510
43511         * tests/test-striconveh.c (main): Check behaviour when converting from
43512         UTF-7.
43513
43514         Make striconveh work better with stateful encodings.
43515         * lib/striconveh.c (iconv_carefully, iconv_carefully_1): Don't assume
43516         that iconv does not increment the inptr when returning -1/EINVAL.
43517
43518 2008-09-07  Bruno Haible  <bruno@clisp.org>
43519
43520         * build-aux/config.rpath: Update according to libtool-2.2.6.
43521         * build-aux/config.libpath: Likewise.
43522
43523 2008-09-06  Bruno Haible  <bruno@clisp.org>
43524
43525         * lib/freadahead.c (freadahead): Add conditional for SLOW_BUT_NO_HACKS.
43526         * lib/freadptr.c (freadptr): Likewise.
43527         * lib/freadseek.c (freadptrinc): Likewise.
43528         Reported by Simon Josefsson.
43529
43530 2008-09-06  Bruno Haible  <bruno@clisp.org>
43531
43532         * modules/freadptr (License): Change to LGPLv2+.
43533         * modules/freadseek (License): Likewise.
43534         Suggested by Eric Blake.
43535
43536         * modules/memchr2 (License): Change to LGPLv2+.
43537         Approved by Eric Blake.
43538
43539 2008-09-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43540             Bruno Haible  <bruno@clisp.org>
43541
43542         Make gnulib-tool work with native 'sed' on AIX.
43543         * gnulib-tool (sed_noop): New variable.
43544         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am, func_import,
43545         func_add_or_update, func_create_testdir): Use it to initialize sed
43546         script variables.
43547         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
43548
43549 2008-09-04  Albert Chin  <bug-gnulib@mlists.thewrittenword.com>
43550             Bruno Haible  <bruno@clisp.org>
43551
43552         * m4/include_next.m4 (gl_INCLUDE_NEXT): Add check whether #include_next
43553         also works after #include directives.
43554
43555 2008-09-04  OndÅ™ej Vašík  <ovasik@redhat.com>
43556
43557         getdate.y: reject an out-of-range timezone value
43558         * lib/getdate.y (time_zone_hhmm): Reject any TZ offset that is outside
43559         the range [-24...+24].  When specified with only one or two digits,
43560         * tests/test-getdate.c: Tests for the fix.
43561         * doc/getdate.texi: Document this change.
43562
43563 2008-09-03  Bruno Haible  <bruno@clisp.org>
43564
43565         * doc/glibc-functions/strverscmp.texi: Mention the strverscmp module.
43566
43567 2008-09-02  Simon Josefsson  <simon@josefsson.org>
43568
43569         * lib/bitrotate.h (rotl64, rotr64): Add.  Suggested by Bruce Korb
43570         <bruce.korb@gmail.com> with ideas from Ben Pfaff
43571         <blp@cs.stanford.edu>, Bruno Haible <bruno@clisp.org> and Eric
43572         Blake <ebb9@byu.net>.
43573
43574         * tests/test-bitrotate.c: Add more test vectors.
43575
43576 2008-09-02  Eric Blake  <ebb9@byu.net>
43577
43578         vasnprintf-posix: handle large precision via %.*d
43579         * lib/vasnprintf.c (VASNPRINTF): Don't pass precision to snprintf
43580         when handling it ourselves.
43581         * tests/test-vasnprintf-posix.c (test_function): Add test.
43582         * tests/test-snprintf-posix.h (test_function): Likewise.
43583         * tests/test-sprintf-posix.h (test_function): Likewise.
43584         * tests/test-vasprintf-posix.c (test_function): Likewise.
43585         Reported by Alain Guibert.
43586
43587 2008-09-01  Eric Blake  <ebb9@byu.net>
43588
43589         c-stack: make configure-time check more robust
43590         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check for
43591         successful sigaction call.
43592         Reported by Tom G. Christensen.
43593
43594 2008-09-01  Bruno Haible  <bruno@clisp.org>
43595
43596         New module 'findprog-lgpl'.
43597         * modules/findprog-lgpl: New file.
43598         * lib/findprog-lgpl.c: New file.
43599         * lib/findprog.c: Compile nothing in findprog.c if findprog-lgpl.c is
43600         also compiled. Consider the possibly defined symbol IN_FINDPROG_LGPL
43601         to decide whether to use strdup or xstrdup, concatenated_filename or
43602         xconcatenated_filename.
43603
43604 2008-09-01  Bruno Haible  <bruno@clisp.org>
43605
43606         Split module 'concat-filename' into 'concat-filename' (LGPL) and
43607         'xconcat-filename' (GPL).
43608         * modules/concat-filename (Depends-on): Add malloc-posix, remove xalloc.
43609         (License): Change to LGPLv2+.
43610         * modules/xconcat-filename: New file.
43611         * lib/concat-filename.h (concatenated_filename): Change specification.
43612         (xconcatenated_filename): New declaration.
43613         * lib/concat-filename.c: Include errno.h, stdlib.h, not xalloc.h.
43614         (concatenated_filename): Use malloc instead of xalloc. Handle out-of-
43615         memory situations.
43616         * lib/xconcat-filename.c: New file.
43617         * NEWS: Mention the change.
43618         * lib/findprog.c: Include concat-filename.h, not filename.h.
43619         (find_in_path): Use xconcatenated_filename instead of
43620         concatenated_filename.
43621         * lib/javacomp.c: Include concat-filename.h, not filename.h.
43622         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
43623         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
43624         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
43625         is_oldgcj_14_13_usable, is_javac_usable): Use xconcatenated_filename
43626         instead of concatenated_filename.
43627         * lib/javaexec.c: Include concat-filename.h, not filename.h.
43628         (execute_java_class): Use xconcatenated_filename instead of
43629         concatenated_filename.
43630         * modules/findprog (Depends-on): Add xconcat-filename, remove filename.
43631         * modules/javacomp (Depends-on): Likewise.
43632         * modules/javaexec (Depends-on): Likewise.
43633
43634 2008-09-01  Bruno Haible  <bruno@clisp.org>
43635
43636         Split module 'filename' into 'filename' and 'concat-filename'.
43637         * modules/filename: Keep only lib/filename.h.
43638         (License): Change to LGPLv2+.
43639         * modules/concat-filename: New file, extracted from modules/filename.
43640         * lib/filename.h (concatenated_filename): Remove declaration.
43641         * lib/concat-filename.h: New file, extracted from lib/filename.h.
43642         * lib/concat-filename.c: Include concat-filename.h.
43643         * NEWS: Mention the change.
43644
43645 2008-09-01  Simon Josefsson  <simon@josefsson.org>
43646
43647         * lib/bitrotate.h (rotl8, rotr8): Add.
43648
43649         * modules/bitrotate (configure.ac): Need
43650         AC_REQUIRE([AC_C_INLINE]).
43651         (Description): Mention stdint.h.  Reported by Bruno Haible
43652         <bruno@clisp.org>.
43653
43654         * lib/bitrotate.h (rotr16, rotl16): Fix mask value.  Reported by
43655         Paolo Bonzini <bonzini@gnu.org>.
43656
43657 2008-08-31  Bruno Haible  <bruno@clisp.org>
43658
43659         Assume Solaris specific bi-arch conventions on Solaris systems.
43660         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): On Solaris in 64-bit
43661         mode, set acl_libdirstem to lib/64. Also set acl_libdirstem2.
43662         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): If acl_libdirstem does not
43663         work, try acl_libdirstem2 as fallback. Otherwise treat acl_libdirstem2
43664         like acl_libdirstem.
43665         (AC_LIB_LINKFLAGS_FROM_LIBS): Treat acl_libdirstem2 like
43666         acl_libdirstem.
43667         * NEWS: Mention the change.
43668         Reported by Ben Taylor <bentaylor.solx86@gmail.com>.
43669
43670 2008-08-31  Jim Meyering  <meyering@redhat.com>
43671
43672         * lib/strftime.h: Add comments describing the two added arguments.
43673
43674         remove duplicate #include directives
43675         * lib/chdir-long.c [TEST_CHDIR]: Remove duplicate #include <stdio.h>.
43676         * lib/putenv.c: Remove duplicate #include <stdlib.h>.
43677
43678 2008-08-31  Bruno Haible  <bruno@clisp.org>
43679
43680         New module 'sigpipe-die'.
43681         * modules/sigpipe-die: New file.
43682         * lib/sigpipe-die.h: New file.
43683         * lib/sigpipe-die.c: New file.
43684         * MODULES.html.sh (Signal handling): Add sigpipe-die.
43685
43686 2008-08-31  Bruno Haible  <bruno@clisp.org>
43687
43688         Don't override previously installed signal handlers.
43689         * lib/fatal-signal.c (saved_sigactions): New variable.
43690         (uninstall_handlers): Reset the signal to the saved handler, not
43691         to SIG_DFL (except when ignored).
43692         (install_handlers): Save the previous handlers.
43693
43694 2008-08-30  Bruno Haible  <bruno@clisp.org>
43695
43696         * gnulib-tool (func_reset_sigpipe): New function.
43697         (func_get_automake_snippet, func_modules_transitive_closure,
43698         func_import): Invoke it before a join command that reads from stdin,
43699         to avoid "echo: write error: Broken pipe" error messages on stderr.
43700         Reported by Sam Steingold <sds@gnu.org>.
43701
43702 2008-08-30  Bruno Haible  <bruno@clisp.org>
43703
43704         * m4/fopen.m4 (gl_FUNC_FOPEN): Test against bug with trailing slash.
43705         Code copied from m4/open.m4.
43706         * lib/fopen.c (rpl_fopen): Return NULL if the mode specifies write
43707         access and the filename ends in a slash. Code copied from lib/open.c.
43708         * doc/posix-functions/fopen.texi: Document bug with trailing slash.
43709         * tests/test-fopen.c (main): Check against bug with trailing slash.
43710
43711 2008-08-29  Bruno Haible  <bruno@clisp.org>
43712
43713         Avoid some "gcc -pedantic" warnings.
43714         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also PRAGMA_SYSTEM_HEADER.
43715         * lib/arpa_inet.in.h: Use PRAGMA_SYSTEM_HEADER.
43716         * lib/dirent.in.h: Likewise.
43717         * lib/fcntl.in.h: Likewise.
43718         * lib/float.in.h: Likewise.
43719         * lib/iconv.in.h: Likewise.
43720         * lib/inttypes.in.h: Likewise.
43721         * lib/locale.in.h: Likewise.
43722         * lib/math.in.h: Likewise.
43723         * lib/netinet_in.in.h: Likewise.
43724         * lib/search.in.h: Likewise.
43725         * lib/signal.in.h: Likewise.
43726         * lib/stdarg.in.h: Likewise.
43727         * lib/stdint.in.h: Likewise.
43728         * lib/stdio.in.h: Likewise.
43729         * lib/stdlib.in.h: Likewise.
43730         * lib/string.in.h: Likewise.
43731         * lib/strings.in.h: Likewise.
43732         * lib/sys_select.in.h: Likewise.
43733         * lib/sys_socket.in.h: Likewise.
43734         * lib/sys_stat.in.h: Likewise.
43735         * lib/sys_time.in.h: Likewise.
43736         * lib/sysexits.in.h: Likewise.
43737         * lib/time.in.h: Likewise.
43738         * lib/unistd.in.h: Likewise.
43739         * lib/wchar.in.h: Likewise.
43740         * lib/wctype.in.h: Likewise.
43741         * modules/arpa_inet (Makefile.am): Also substitute PRAGMA_SYSTEM_HEADER.
43742         * modules/fchdir (Makefile.am): Likewise.
43743         * modules/fcntl (Makefile.am): Likewise.
43744         * modules/float (Makefile.am): Likewise.
43745         * modules/iconv_open (Makefile.am): Likewise.
43746         * modules/inttypes (Makefile.am): Likewise.
43747         * modules/locale (Makefile.am): Likewise.
43748         * modules/math (Makefile.am): Likewise.
43749         * modules/netinet_in (Makefile.am): Likewise.
43750         * modules/search (Makefile.am): Likewise.
43751         * modules/signal (Makefile.am): Likewise.
43752         * modules/stdarg (Makefile.am): Likewise.
43753         * modules/stdint (Makefile.am): Likewise.
43754         * modules/stdio (Makefile.am): Likewise.
43755         * modules/stdlib (Makefile.am): Likewise.
43756         * modules/string (Makefile.am): Likewise.
43757         * modules/strings (Makefile.am): Likewise.
43758         * modules/sys_select (Makefile.am): Likewise.
43759         * modules/sys_socket (Makefile.am): Likewise.
43760         * modules/sys_stat (Makefile.am): Likewise.
43761         * modules/sys_time (Makefile.am): Likewise.
43762         * modules/sysexits (Makefile.am): Likewise.
43763         * modules/time (Makefile.am): Likewise.
43764         * modules/unistd (Makefile.am): Likewise.
43765         * modules/wchar (Makefile.am): Likewise.
43766         * modules/wctype (Makefile.am): Likewise.
43767         Reported by Reuben Thomas <rrt@sc3d.org>.
43768
43769 2008-08-29  Bruno Haible  <bruno@clisp.org>
43770
43771         * m4/include_next.m4 (gl_INCLUDE_NEXT): Don't define HAVE_INCLUDE_NEXT
43772         any more.
43773
43774 2008-08-29  Simon Josefsson  <simon@josefsson.org>
43775
43776         * MODULES.html.sh (Misc): Add bitrotate.
43777
43778         * modules/bitrotate: New file.
43779
43780         * lib/bitrotate.h: New file.
43781
43782         * modules/bitrotate-tests: New file.
43783
43784         * tests/test-bitrotate.c: New file.
43785
43786         * modules/crypto/gc-arctwo, modules/crypto/arctwo: Add dependency
43787         on the bitrotate module.
43788
43789         * lib/arctwo.c: Use new bitrotate module.
43790
43791 2008-08-29  Jim Meyering  <meyering@redhat.com>
43792
43793         bootstrap: merge changes from coreutils
43794         * build-aux/bootstrap (cp_mark_as_generated): Preserve perms
43795         of copied files.  Remove a kludge, now that this is fixed.
43796         * build-aux/bootstrap: Fix unportable expr usage. (by Ralf Wildenhues)
43797         * build-aux/bootstrap: Remove $bt and $bt2 also when not using gettext.
43798         * build-aux/bootstrap: Remove coreutils-specific SUBDIRS-related code.
43799
43800 2008-08-29  Bruno Haible  <bruno@clisp.org>
43801
43802         * MODULES.html.sh: Remove --cvs-urls option.
43803
43804 2008-08-28  Jose E. Marchesi  <jemarch@gnu.org>  (tiny change)
43805
43806         maint.mk: adjust to file name change
43807         * top/maint.mk: s/Makefile.cfg/cfg.mk/.
43808
43809 2008-08-28  Jim Meyering  <meyering@redhat.com>
43810
43811         * modules/getndelim2 (License): Relicense to LGPLv2+.
43812         Approved by Richard Stallman for the version of 1995, and by
43813         Paul Eggert, Bruno Haible, Eric Blake for their contributions.
43814
43815 2008-08-27  Paolo Bonzini  <bonzini@gnu.org>
43816
43817         * lib/getdelim.c (flockfile, funlockfile): Make all of them
43818         dummy if one is not available.  Do not touch them if
43819         USE_UNLOCKED_IO, instead letting unlocked-io.h do that.
43820         (getc_maybe_unlocked): New.
43821         * m4/getdelim.m4 (gl_PREREQ_GETDELIM): Check for getc_unlocked.
43822
43823 2008-08-26  Eric Blake  <ebb9@byu.net>
43824
43825         doc/INSTALL: resync from autoconf
43826         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Simplify.
43827         (INSTALL_PRELUDE): Delete; this is done more efficiently by
43828         moving...
43829         * install.texi [!autoconf]: ...here.  Resync from autoconf.
43830         * INSTALL: Regenerate.
43831         * INSTALL.ISO: New file.
43832         * INSTALL.UTF-8: Likewise.
43833
43834 2008-08-26  Jim Meyering  <meyering@redhat.com>
43835
43836         GNUmakefile: cfg.mk definitions override default autoreconf-rerun policy
43837         * top/GNUmakefile (_is-dist-target, _is-install-target): Make
43838         these definitions conditional, so that they may be overridden, too.
43839
43840 2008-08-26  Bruno Haible  <bruno@clisp.org>
43841
43842         Generate INSTALL file variants with prettier quotes.
43843         * doc/Makefile (INSTALL_PRELUDE): New macro.
43844         (INSTALL): Use it.
43845         (INSTALL.ISO, INSTALL.UTF-8): New rules.
43846
43847 2008-08-26  Bruno Haible  <bruno@clisp.org>
43848
43849         Run makeinfo in an English locale.
43850         * doc/Makefile (MAKEINFO): New variable.
43851
43852 2008-08-26  Bruno Haible  <bruno@clisp.org>
43853
43854         * doc/Makefile (INSTALL): Use --no-validate instead of --no-warn.
43855         Suggested by Eric Blake.
43856
43857 2008-08-25  Bruno Haible  <bruno@clisp.org>
43858
43859         * doc/Makefile (INSTALL): Generate with @firstparagraphindent set.
43860
43861 2008-08-25  Eric Blake  <ebb9@byu.net>
43862
43863         c-stack: test that stack overflow can be caught
43864         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Also check
43865         that platform allows handling stack overflow; at least OS/2 EMX
43866         has sigaltstack, but crashes before transferring control to
43867         handler on stack overflow.
43868         * lib/c-stack.c [HAVE_SIGALTSTACK]: Adjust conditions to also
43869         check for HAVE_STACK_OVERFLOW_HANDLING.
43870         Reported by Elbert Pol.
43871
43872 2008-08-25  Bruno Haible  <bruno@clisp.org>
43873
43874         * doc/posix-functions/strftime.texi: Fix description of strftime
43875         module.
43876
43877 2008-08-24  Bruno Haible  <bruno@clisp.org>
43878
43879         * tests/uniwidth/test-uc_width2.c: New file.
43880         * tests/uniwidth/test-uc_width2.sh: New file.
43881         * modules/uniwidth/width-tests (Files): Add the new files.
43882         (TESTS): Add uniwidth/test-uc_width2.sh.
43883         (TESTS_ENVIRONMENT): New variable.
43884         (check_PROGRAMS): Add test-uc_width2.
43885         (test_uc_width2_SOURCES): New variable.
43886
43887         Fix uc_width(0x00AB) bug, introduced on 2007-07-08.
43888         * lib/uniwidth/width.c (nonspacing_table_data): Set bit for 0x00AD,
43889         not 0x00AB.
43890         Reported by Alexander V. Lukyanov <lav@netis.ru>.
43891
43892 2008-08-22  Eric Blake  <ebb9@byu.net>
43893
43894         test-lock, test-tls: mention why a test is skipped
43895         * tests/test-lock.c (main) [!USE_*_THREADS]: Print why test is
43896         skipped.
43897         * tests/test-tls.c (main) [!USE_*_THREADS]: Likewise.
43898
43899         count-one-bits: relax license
43900         * modules/count-one-bits (License): Relicense to LGPLv2+.
43901         Suggested by Ludovic Courtès, approved by Ben Pfaff.
43902
43903 2008-08-22  Andreas Schwab  <schwab@suse.de>
43904
43905         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
43906         Remove spurious space in assignment.
43907
43908 2008-08-21  Simon Josefsson  <simon@josefsson.org>
43909
43910         * m4/autobuild.m4: Use TZ=UTC0 instead of TZ=UTC.  Reported by
43911         Paul Eggert <eggert@CS.UCLA.EDU>.
43912
43913 2008-08-20  Paolo Bonzini  <bonzini@gnu.org>
43914
43915         * modules/gettext: Add m4/threadlib.m4.
43916
43917 2008-08-19  Eric Blake  <ebb9@byu.net>
43918
43919         test-c-stack: fix compilation failure on FreeBSD 5.0
43920         * tests/test-c-stack.c [HAVE_SETRLIMIT]: Include prerequisite
43921         headers before <sys/resource.h>.
43922         * doc/posix-headers/sys_resource.texi (sys/resource.h): Document
43923         the bug.
43924         Reported by Nelson H. F. Beebe.
43925
43926         strverscmp: migrate from "strverscmp.h" to <string.h>
43927         * modules/string (Makefile.am): Add new hooks.
43928         * modules/strverscmp (Files): Remove strverscmp.h.
43929         (Depends-on): Add string.
43930         (configure.ac): Add indicator.
43931         (Include): Mention new header.
43932         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Provide new
43933         defaults.
43934         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Inform string module of
43935         results.
43936         * lib/strverscmp.h: Delete.
43937         * lib/string.in.h (strverscmp): Provide declaration, when needed.
43938         * tests/test-strverscmp.c (includes): Adjust client.
43939         * lib/check-version.c (includes): Likewise.
43940         * NEWS: Document the change.
43941
43942         strverscmp: add unit test
43943         * modules/strverscmp-tests: New file.
43944         * tests/test-strverscmp.c: Likewise.
43945
43946 2008-08-19  Simon Josefsson  <simon@josefsson.org>
43947
43948         * lib/gc-gnulib.c: Indentation cleanup.  Add some comments
43949         regarding Windows crypto stuff, from Mono.
43950
43951 2008-08-19  Adam Strzelecki <ono@java.pl>  (tiny change)
43952
43953         * lib/gc-gnulib.c: Use CRYPT_VERIFY_CONTEXT.  Try to use Intel CSP
43954         if present, for intel RND.  Return error on failures.
43955
43956 2008-08-18  Ben Pfaff  <blp@gnu.org>
43957
43958         gitlog-to-changelog: give better diagnostic for failed pipe-open
43959         * build-aux/gitlog-to-changelog: Improve error message: suggest
43960         that the version of Git may be too old.
43961
43962 2008-08-18  Simon Josefsson  <simon@josefsson.org>
43963
43964         * m4/autobuild.m4: Use TZ=UTC to avoid time zone complexity.  Use
43965         ISO 8601 format.  Suggested by Greg Troxel <gdt@ir.bbn.com>.
43966
43967 2008-08-18  Bruno Haible  <bruno@clisp.org>
43968
43969         * lib/glthread/thread.h [USE_SOLARIS_THREADS]: Use thread_in_use(), not
43970         pthread_in_use().
43971
43972 2008-08-18  Bruno Haible  <bruno@clisp.org>
43973
43974         * lib/glthread/threadlib.c: Include <pthread.h>.
43975
43976 2008-08-18  Bruno Haible  <bruno@clisp.org>
43977
43978         * lib/glthread/lock.h [USE_SOLARIS_THREADS]: Fix
43979         glthread_recursive_lock_* macros.
43980         * lib/glthread/lock.c (glthread_recursive_lock_destroy_multithreaded):
43981         Fix syntax error.
43982
43983 2008-08-18  Bruno Haible  <bruno@clisp.org>
43984
43985         * lib/glthread/thread.c: Avoid forcing a context switch right after
43986         thread creation.
43987
43988 2008-08-17  Bruno Haible  <bruno@clisp.org>
43989
43990         * lib/glthread/thread.c: New file, based on code from tests/test-lock.c.
43991         * lib/glthread/thread.h: Provide Win32 specific implementation.
43992         * modules/thread (Files): Add lib/glthread/thread.c.
43993         (Depends-on): Add lock.
43994         (Makefile.am): Add glthread/thread.c to lib_SOURCES.
43995
43996 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
43997
43998         New module 'yield'.
43999         * modules/yield: New file.
44000         * lib/glthread/yield.h: New file.
44001         * m4/yield.m4: New file.
44002         * MODULES.html.sh (Multithreading): Add yield.
44003
44004 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
44005
44006         New module 'thread'.
44007         * modules/thread: New file.
44008         * lib/glthread/thread.h: New file.
44009         * m4/thread.m4: New file.
44010         * MODULES.html.sh (Multithreading): Add thread.
44011
44012 2008-08-17  Bruno Haible  <bruno@clisp.org>
44013
44014         * lib/glthread/lock.h: Include <stdlib.h> always.
44015         * lib/glthread/tls.h: Likewise.
44016         * lib/glthread/cond.h: Likewise.
44017
44018 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
44019
44020         New module 'cond'.
44021         * modules/cond: New file.
44022         * lib/glthread/cond.h: New file.
44023         * lib/glthread/cond.c: New file.
44024         * m4/cond.m4: New file.
44025         * MODULES.html.sh (Multithreading): Add cond.
44026
44027 2008-08-16  Eric Blake  <ebb9@byu.net>
44028
44029         c-stack: fix regression on Irix 5.3 from 2008-06-21
44030         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Move check for
44031         sa_sigaction...
44032         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): ...here.
44033         (gl_PREREQ_SIGACTION): Depend on sig-handler.h prereq's.
44034         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Set the default.
44035         * modules/signal (Makefile.am): Use the value.
44036         * lib/signal.in.h (sa_sigaction) [HAVE_SIGACTION
44037         && !HAVE_STRUCT_SIGACTION_SA_SIGACTION]: Define.
44038         * doc/posix-headers/signal.texi (signal.h): Document this
44039         portability issue.
44040         * doc/posix-functions/sigaction.texi (sigaction): Likewise.
44041         Reported by Tom G. Christensen.
44042
44043 2008-08-17  Bruno Haible  <bruno@clisp.org>
44044
44045         New module 'threadlib'.
44046         * modules/threadlib: New file.
44047         * lib/glthread/threadlib.c: New file, extracted from
44048         lib/glthread/lock.c.
44049         * lib/glthread/lock.c (dummy_thread_func, glthread_in_use): Remove
44050         functions.
44051         * m4/threadlib.m4: New file, from m4/lock.m4, renaming gl_LOCK to
44052         gl_THREADLIB and gl_LOCK_EARLY to gl_THREADLIB_EARLY.
44053         * m4/lock.m4 (gl_LOCK_EARLY, gl_LOCK_EARLY_BODY, gl_LOCK_BODY): Remove
44054         macros.
44055         (gl_LOCK): Just require gl_THREADLIB and perform checks for lock.h.
44056         (gl_DISABLE_THREADS): Remove macro.
44057         * modules/lock (Files): Remove build-aux/config.rpath.
44058         (Depends-on): Remove havelib. Add threadlib.
44059         (configure.ac-early): Remove section.
44060         * m4/tls.m4 (gl_TLS): Require gl_THREADLIB instead of gl_LOCK.
44061         * modules/tls (Depends-on): Remove lock. Add threadlib.
44062         (Link): New section, copied from threadlib.
44063         * MODULES.html.sh (Multithreading): Add threadlib.
44064
44065 2008-08-14  Bruno Haible  <bruno@clisp.org>
44066
44067         * lib/glthread/lock.h (glthread_lock_lock, glthread_lock_unlock,
44068         glthread_lock_destroy, glthread_rwlock_rdlock, glthread_rwlock_wrlock,
44069         glthread_rwlock_unlock, glthread_rwlock_destroy,
44070         glthread_recursive_lock_lock, glthread_recursive_lock_unlock,
44071         glthread_recursive_lock_destroy): Define as macros always.
44072         * lib/glthread/lock.c (glthread_lock_lock_func): Renamed from
44073         glthread_lock_lock.
44074         (glthread_lock_unlock_func): Renamed from glthread_lock_unlock.
44075         (glthread_lock_destroy_func): Renamed from glthread_lock_destroy.
44076         (glthread_rwlock_rdlock_func): Renamed from glthread_rwlock_rdlock.
44077         (glthread_rwlock_wrlock_func): Renamed from glthread_rwlock_wrlock.
44078         (glthread_rwlock_unlock_func): Renamed from glthread_rwlock_unlock.
44079         (glthread_rwlock_destroy_func): Renamed from glthread_rwlock_destroy.
44080         (glthread_recursive_lock_lock_func): Renamed from
44081         glthread_recursive_lock_lock.
44082         (glthread_recursive_lock_unlock_func): Renamed from
44083         glthread_recursive_lock_unlock.
44084         (glthread_recursive_lock_destroy_func): Renamed from
44085         glthread_recursive_lock_destroy.
44086
44087 2008-08-14  Bruno Haible  <bruno@clisp.org>
44088
44089         * lib/glthread/lock.h: Renamed from lib/lock.h.
44090         * lib/glthread/lock.c: Renamed from lib/lock.c. Update includes.
44091         * lib/glthread/tls.h: Renamed from lib/tls.h.
44092         * lib/glthread/tls.c: Renamed from lib/tls.c. Update includes.
44093         * lib/fstrcmp.c: Update includes.
44094         * lib/strsignal.c: Update includes.
44095         * modules/lock (Files, Makefile.am): Update.
44096         (Include): Change to "glthread/lock.h".
44097         * modules/tls (Files, Makefile.am): Update.
44098         (Include): Change to "glthread/tls.h".
44099         * tests/test-lock.c: Update includes.
44100         * tests/test-tls.c: Update includes.
44101         * NEWS: Mention the renamed header files.
44102
44103 2008-08-11  Jim Meyering  <meyering@redhat.com>
44104
44105         * lib/fts_.h: Fix grammar (insert a missing "is") in a comment.
44106
44107 2008-08-11  Eric Blake  <ebb9@byu.net>
44108
44109         test-c-stack: avoid C99-ism
44110         * tests/test-c-stack.c (main): Fix whitespace, move declaration
44111         before statement.
44112         Reported by Alain Guibert.
44113
44114 2008-08-10  Jim Meyering  <meyering@redhat.com>
44115
44116         ensure that return value of uinttostr et al are not ignored
44117         * lib/inttostr.h (__GNUC_PREREQ): Define.
44118         (__attribute_warn_unused_result__): Define.
44119         (offtostr, imaxtostr, umaxtostr, uinttostr): Apply the attribute.
44120
44121 2008-08-07  Paolo Bonzini  <bonzini@gnu.org>
44122
44123         * lib/lock.c (glthread_recursive_lock_init_multithreaded)
44124         [!PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Fix typo.
44125
44126 2008-08-07  Jim Meyering  <meyering@redhat.com>
44127
44128         * m4/inet_pton.m4: Fix typo in comment: s/inet_ntop/inet_pton/.
44129
44130         * modules/mkstemp (License): Relicense under LGPLv2+.
44131         * modules/tempname (License): Likewise.
44132
44133 2008-08-06  Bruno Haible  <bruno@clisp.org>
44134
44135         * lib/poll.c (poll): Further micro-optimization.
44136
44137 2008-08-06  Jim Meyering  <meyering@redhat.com>
44138
44139         inet_pton.c: use locale-independent tolower
44140         * lib/inet_pton.c: Include <c-ctype.h> rather than <ctype.h>.
44141         (inet_pton6): Use c_tolower rather than tolower.
44142         * modules/inet_pton (Depends-on): Add c-ctype.
44143
44144 2008-08-06  Paolo Bonzini  <bonzini@gnu.org>
44145
44146         * lib/poll.c (poll): Avoid division when timeout is 0, cache
44147         _SC_OPEN_MAX, avoid repeated access to errno.  Check for nfd < 0.
44148
44149 2008-08-06  Jim Meyering  <meyering@redhat.com>
44150
44151         * modules/inet_pton (License): Relicense under LGPLv2+.
44152
44153 2008-08-03  Bruno Haible  <bruno@clisp.org>
44154
44155         Additional non-aborting API for lock and tls.
44156         * lib/lock.h: Include <errno.h>.
44157         (glthread_lock_init): New macro/function.
44158         (gl_lock_init): Define as wrapper around glthread_lock_init.
44159         (glthread_lock_lock): New macro/function.
44160         (gl_lock_lock): Define as wrapper around glthread_lock_lock.
44161         (glthread_lock_unlock): New macro/function.
44162         (gl_lock_unlock): Define as wrapper around glthread_lock_unlock.
44163         (glthread_lock_destroy): New macro/function.
44164         (gl_lock_destroy): Define as wrapper around glthread_lock_destroy.
44165         (glthread_rwlock_init): New macro/function.
44166         (gl_rwlock_init): Define as wrapper around glthread_rwlock_init.
44167         (glthread_rwlock_rdlock): New macro/function.
44168         (gl_rwlock_rdlock): Define as wrapper around glthread_rwlock_rdlock.
44169         (glthread_rwlock_wrlock): New macro/function.
44170         (gl_rwlock_wrlock): Define as wrapper around glthread_rwlock_wrlock.
44171         (glthread_rwlock_unlock): New macro/function.
44172         (gl_rwlock_unlock): Define as wrapper around glthread_rwlock_unlock.
44173         (glthread_rwlock_destroy): New macro/function.
44174         (gl_rwlock_destroy): Define as wrapper around glthread_rwlock_destroy.
44175         (glthread_recursive_lock_init): New macro/function.
44176         (gl_recursive_lock_init): Define as wrapper around
44177         glthread_recursive_lock_init.
44178         (glthread_recursive_lock_lock): New macro/function.
44179         (gl_recursive_lock_lock): Define as wrapper around
44180         glthread_recursive_lock_lock.
44181         (glthread_recursive_lock_unlock): New macro/function.
44182         (gl_recursive_lock_unlock): Define as wrapper around
44183         glthread_recursive_lock_unlock.
44184         (glthread_recursive_lock_destroy): New macro/function.
44185         (gl_recursive_lock_destroy): Define as wrapper around
44186         glthread_recursive_lock_destroy.
44187         (glthread_once): New macro/function.
44188         (gl_once): Define as wrapper around glthread_once.
44189         Update function declarations.
44190         * lib/lock.c (glthread_rwlock_init_multithreaded): Renamed from
44191         glthread_rwlock_init. Return error code.
44192         (glthread_rwlock_rdlock_multithreaded): Renamed from
44193         glthread_rwlock_rdlock. Return error code.
44194         (glthread_rwlock_wrlock_multithreaded): Renamed from
44195         glthread_rwlock_wrlock. Return error code.
44196         (glthread_rwlock_unlock_multithreaded): Renamed from
44197         glthread_rwlock_unlock. Return error code.
44198         (glthread_rwlock_destroy_multithreaded): Renamed from
44199         glthread_rwlock_destroy. Return error code.
44200         (glthread_recursive_lock_init_multithreaded): Renamed from
44201         glthread_recursive_lock_init. Return error code.
44202         (glthread_recursive_lock_lock_multithreaded): Renamed from
44203         glthread_recursive_lock_lock. Return error code.
44204         (glthread_recursive_lock_unlock_multithreaded): Renamed from
44205         glthread_recursive_lock_unlock. Return error code.
44206         (glthread_recursive_lock_destroy_multithreaded): Renamed from
44207         glthread_recursive_lock_destroy. Return error code.
44208         (glthread_once_call): Make static.
44209         (glthread_once_multithreaded): Renamed from glthread_once.
44210         * lib/tls.h: Include <errno.h>.
44211         (glthread_tls_key_init): New macro/function.
44212         (gl_tls_key_init): Define as wrapper around glthread_tls_key_init.
44213         (glthread_tls_set): New macro/function.
44214         (gl_tls_set): Define as wrapper around glthread_tls_set.
44215         (glthread_tls_key_destroy): New macro/function.
44216         (gl_tls_key_destroy): Define as wrapper around glthread_tls_key_destroy.
44217         Update function declarations.
44218         * lib/tls.c (glthread_tls_get_multithreaded): Renamed from
44219         glthread_tls_get.
44220         Suggested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
44221
44222 2008-08-04  Eric Blake  <ebb9@byu.net>
44223
44224         gnumakefile: use space, not TAB, outside of targets
44225         * top/GNUmakefile (_dummy): Fix whitespace error in prior edit.
44226
44227 2008-08-02  Jim Meyering  <meyering@redhat.com>
44228
44229         getdate.y: avoid locale-dependent date parsing failure
44230         In Turkish locales, getdate would fail to recognize keywords
44231         containing a lowercase "i".  The solution is not to rely on
44232         locale-sensitive case-conversion.
44233         * lib/getdate.y: Include <c-ctype.h> rather than <ctype.h>.
44234         (lookup_word): Use c_toupper in place of toupper.
44235         (yylex, get_date): Use c_ prefixed variants of isspace and isalpha, too.
44236         Reported by Vefa Bicakci <bicave@superonline.com> in
44237         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/14184>.
44238         * modules/getdate (Depends-on): Add c-ctype.
44239
44240 2008-08-02  Bruno Haible  <bruno@clisp.org>
44241
44242         * gnulib-tool (func_import): When updating or creating a .gitignore
44243         file, prepend each added line with a slash, and ignore leading slashes
44244         from the existing lines.
44245         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
44246
44247 2008-08-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44248
44249         Portability fix for GNU make 3.79.1.
44250         * top/GNUmakefile: Avoid 'else COND', which older GNU make
44251         versions do not understand.
44252
44253 2008-08-01  Bruno Haible  <bruno@clisp.org>
44254
44255         Work around bug of HP-UX 10.20 cc with -0.0 literal.
44256         * tests/test-isnanf.h (zero): New variable.
44257         (main): Avoid literal -0.0f.
44258         * tests/test-isnand.h (zero): New variable.
44259         (main): Avoid literal -0.0.
44260         * tests/test-isnanl.h (zero): New variable.
44261         (main): Avoid literal -0.0L.
44262         * tests/test-isnan.c (zerof, zerod, zerol): New variables.
44263         (test_float, test_double, test_long_double): Avoid literals -0.0f,
44264         -0.0, -0.0L.
44265         * tests/test-signbit.c (test_signbitf): Avoid literal -0.0f.
44266         (test_signbitd): Avoid literal -0.0.
44267         (test_signbitl): Avoid literal -0.0L.
44268         * tests/test-ceilf1.c (zero): New variable.
44269         (main): Avoid literal -0.0f.
44270         * tests/test-ceill.c (zero): New variable.
44271         (main): Avoid literal -0.0L.
44272         * tests/test-floorf1.c (zero): New variable.
44273         (main): Avoid literal -0.0f.
44274         * tests/test-floorl.c (zero): New variable.
44275         (main): Avoid literal -0.0L.
44276         * tests/test-roundf1.c (zero): New variable.
44277         (main): Avoid literal -0.0f.
44278         * tests/test-round1.c (zero): New variable.
44279         (main): Avoid literal -0.0.
44280         * tests/test-roundl.c (zero): New variable.
44281         (main): Avoid literal -0.0L.
44282         * tests/test-truncf1.c (zero): New variable.
44283         (main): Avoid literal -0.0f.
44284         * tests/test-trunc1.c (zero): New variable.
44285         (main): Avoid literal -0.0.
44286         * tests/test-truncl.c (zero): New variable.
44287         (main): Avoid literal -0.0L.
44288         * tests/test-frexp.c (zero): New variable.
44289         (main): Avoid literal -0.0.
44290         * tests/test-frexpl.c (zero): New variable.
44291         (main): Avoid literal -0.0L.
44292         * tests/test-ldexpl.c (zero): New variable.
44293         (main): Avoid literal -0.0L.
44294         * tests/test-snprintf-posix.h (have_minus_zero): Avoid literal -0.0.
44295         (zerod, zerol): New variables.
44296         (test_function): Avoid literals -0.0, -0.0L.
44297         * tests/test-sprintf-posix.h (have_minus_zero): Avoid literal -0.0.
44298         (zerod, zerol): New variables.
44299         (test_function): Avoid literals -0.0, -0.0L.
44300         * tests/test-vasnprintf-posix.c (have_minus_zero): Avoid literal -0.0.
44301         (zerod, zerol): New variables.
44302         (test_function): Avoid literals -0.0, -0.0L.
44303         * tests/test-vasprintf-posix.c (have_minus_zero): Avoid literal -0.0.
44304         (zerod, zerol): New variables.
44305         (test_function): Avoid literals -0.0, -0.0L.
44306         * tests/test-strtod.c (zero): New variable.
44307         (main): Avoid literal -0.0.
44308         Reported by Jonathan C. Patschke <jp@centtech.com>.
44309
44310 2008-07-31  Jim Meyering  <meyering@redhat.com>
44311
44312         sha256.h: correct definition of SHA224_DIGEST_SIZE
44313         * lib/sha256.h (SHA224_DIGEST_SIZE): Define to 28, not 24.
44314         Reported by Paulie Pena IV <paulie4@gmail.com>.
44315         Define as 224 / 8, rather than as a literal.
44316         (SHA256_DIGEST_SIZE): Define as 256/8 rather than equivalent literal.
44317         * lib/sha512.h (SHA384_DIGEST_SIZE): Likewise, define as equiv: 384/8.
44318         (SHA512_DIGEST_SIZE): Likewise, define as equivalent quotient: 512/8.
44319
44320 2008-07-31  Bruno Haible  <bruno@clisp.org>
44321
44322         * lib/regex_internal.h (BITSET_WORD_BITS): Make first conditional work
44323         on HP-UX 10.20 with "cc -Ae". Fix second conditional.
44324         Reported by Jonathan Patschke <jp@centtech.com>.
44325
44326 2008-07-31  Bruno Haible  <bruno@clisp.org>
44327
44328         * gnulib-tool (func_import): Make change from 2008-06-23 more robust.
44329         Reported by Paolo Bonzini <bonzini@gnu.org>.
44330
44331 2008-07-30  Eric Blake  <ebb9@byu.net>
44332
44333         test-strtod: allow compilation without -lm
44334         * tests/test-strtod.c (main): Avoid link dependence on fabs.
44335         Reported by Dennis Clarke <blastwave@gmail.com>.
44336
44337 2008-07-28  Jim Meyering  <meyering@redhat.com>
44338
44339         bootstrap: work also when there are no .po files in po/
44340         * build-aux/bootstrap (update_po_files): Complete the change
44341         that I began in bc960df8c789c878f1c1c54a28a3c2648dead8d9.
44342
44343 2008-07-27  Jim Meyering  <meyering@redhat.com>
44344
44345         * users.txt: Add zile.
44346
44347 2008-07-26  Ben Pfaff  <blp@gnu.org>
44348
44349         Add missing dependencies on new m4/exponent[fdl].m4 files.
44350         * modules/isnanf-nolibm: Add m4/exponentf.m4.
44351         * modules/isnand-nolibm: Add m4/exponentd.m4.
44352         * modules/isnanl-nolibm: Add m4/exponentl.m4.
44353         * modules/signbit-tests: Use m4/exponent[fdl].m4 instead of
44354         m4/isnan[fdl].m4, because the macros actually used moved.
44355         Reported by Jim Meyering.
44356
44357 2008-07-14  Ben Pfaff  <blp@gnu.org>
44358
44359         Add isinf module.
44360         * lib/isinf.c: New file.
44361         * lib/math.in.h: Define isinf macro if we have decided to replace
44362         it.
44363         * m4/isinf.m4: New file.
44364         * m4/math_h.m4: Initialize and substitute variables for isinf
44365         module.
44366         * modules/isinf: New file.
44367         * modules/isinf-tests: New file.
44368         * modules/math: Add substitutions for new module.
44369         * tests/test-isinf.c: New file.
44370         * doc/posix-functions/isinf.texi: Mention new module.
44371         * MODULES.html.sh: Mention new module.
44372
44373 2008-07-14  Ben Pfaff  <blp@gnu.org>
44374
44375         Factor out some macros for use by additional modules.
44376         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Move into new file
44377         exponentf.m4.
44378         * m4/isnand.m4 (gl_DOUBLE_EXPONENT_LOCATION): Move into new file
44379         exponentd.m4.
44380         * m4/isnanl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Move into new
44381         file exponentl.m4.
44382         * m4/exponentf.m4: New file.
44383         * m4/exponentd.m4: New file.
44384         * m4/exponentl.m4: New file.
44385         * modules/isnanf: Use new file m4/exponentf.m4.
44386         * modules/isnand: Use new file m4/exponentd.m4.
44387         * modules/isnanl: Use new file m4/exponentl.m4.
44388
44389 2008-07-23  Ulrich Drepper  <drepper@redhat.com>
44390
44391         mktime.c: normalize tp->tm_isdst value to -1/0/1.
44392         * lib/mktime.c (__mktime_internal): Normalize tp->tm_isdst value.
44393         Reported by Michael Ringe <Michael.Ringe@gmx.de> in
44394         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>.
44395
44396         * lib/canonicalize-lgpl.c (__realpath): Avoid buffer overflow after
44397         readlink on platforms without PATH_MAX.
44398
44399 2008-07-21  Eric Blake  <ebb9@byu.net>
44400
44401         Warn, not fail, on stale version.
44402         * top/GNUmakefile (_curr-ver): Tone down previous patch.
44403
44404         Don't allow installation with stale devel version number.
44405         * top/GNUmakefile (_is-install-target): New macro.
44406         (_curr-ver): Forbid installation with stale version number.
44407
44408 2008-07-20  Bruno Haible  <bruno@clisp.org>
44409
44410         * modules/c-stack-tests (Makefile.am): Add LIBSIGSEGV to
44411         TESTS_ENVIRONMENT.
44412         * tests/test-c-stack2.sh: React differently if LIBSIGSEGV is in use.
44413
44414 2008-07-20  Bruno Haible  <bruno@clisp.org>
44415
44416         * lib/c-stack.h (c_stack_action): Add documentation.
44417         * lib/c-stack.c (c_stack_action): Remove incomplete documentation.
44418
44419 2008-07-20  Bruno Haible  <bruno@clisp.org>
44420
44421         * modules/canonicalize-lgpl (License): Relicense under LGPLv2+.
44422         * modules/readlink (License): Likewise.
44423
44424 2008-07-17  Eric Blake  <ebb9@byu.net>
44425
44426         * modules/c-stack (Link): Fix typo.
44427
44428         Make c-stack use libsigsegv, when available.
44429         * modules/c-stack (Depends-on): Add libsigsegv.
44430         * modules/c-stack-tests (Makefile.am): Link with libsigsegv, if
44431         needed.
44432         * lib/c-stack.c (SIGSTKSZ): Define fallback.
44433         (segv_handler, overflow_handler, c_stack_action)
44434         [HAVE_LIBSIGSEGV && !HAVE_XSI_STACK_OVERFLOW_HEURISTIC]: Add new
44435         implementation when libsigsegv is available, but only when using
44436         the library is necessary.
44437         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Add
44438         comment, explaining why XSI check fails on Linux.
44439         (gl_PREREQ_C_STACK): Supply LIBCSTACK, LTLIBCSTACK.
44440         * tests/test-c-stack2.sh: Tweak skip message.
44441         * NEWS: Document new link-time requirements.
44442
44443 2008-07-16  Eric Blake  <ebb9@byu.net>
44444
44445         c-stack: Expose false positives when not using libsigsegv.
44446         * modules/c-stack-tests (Files): Expand test.
44447         * tests/test-c-stack.c (main): Add means to conditionally trigger
44448         non-overflow SIGSEGV.
44449         * tests/test-c-stack2.sh: New file.
44450
44451 2008-07-14  Bruno Haible  <bruno@clisp.org>
44452
44453         * m4/libsigsegv.m4: Remove unneeded AC_PREREQ.
44454         Reported by Eric Blake.
44455
44456 2008-07-14  Sam Steingold  <sds@gnu.org>
44457             Bruno Haible  <bruno@clisp.org>
44458
44459         New module libsigsegv.
44460         * modules/libsigsegv: New file.
44461         * m4/libsigsegv.m4: New file, from GNU clisp sigsegv.m4 with
44462         modifications.
44463         * MODULES.html.sh (Signal handling): New section.
44464
44465 2008-07-14  Bruno Haible  <bruno@clisp.org>
44466
44467         * modules/unictype/ctype-* (Description): Add the word "function".
44468         Improves the resulting doc in MODULES.html.
44469
44470 2008-07-12  Ben Pfaff  <blp@gnu.org>
44471
44472         Add longlong module.
44473         * modules/longlong: New file.
44474
44475 2008-07-12  Bruno Haible  <bruno@clisp.org>
44476
44477         * m4/isnan.m4 (gl_ISNAN): When the replacement is used, set ISNAN_LIBM
44478         to empty.
44479
44480 2008-07-10  Ben Pfaff  <blp@gnu.org>
44481
44482         Add isnan module.
44483         * doc/posix-functions/isnan.texi: Mention new module.
44484         * lib/math.in.h: Define isnan macro if we have decided to replace
44485         it.
44486         * m4/isnan.m4: New file.
44487         * m4/isnanl.m4 (gl_FUNC_ISNANL): Factor out some code into new
44488         macro gl_BUILD_ISNANL so that isnan.m4 can use that functionality
44489         also.
44490         (gl_FUNC_ISNANL_NO_LIBM): Factor out same code, to reduce
44491         redundancy.
44492         * m4/math_h.m4: Initialize and substitute variables for isnan
44493         module.
44494         * modules/isnan: New file.
44495         * modules/isnan-tests: New file.
44496         * modules/math: Add substitutions for new module.
44497         * tests/test-isnan.c: New file.
44498         * MODULES.html.sh: Mention new module.
44499
44500 2008-07-10  Ben Pfaff  <blp@gnu.org>
44501
44502         Add isnanf module.
44503         * lib/isnanf.m4: New file.
44504         * m4/isnanf.m4 (gl_FUNC_ISNANF): New macro.
44505         (gl_HAVE_ISNANF_IN_LIBM): New macro.
44506         (gl_BUILD_ISNANF): New macro used by gl_FUNC_ISNANF,
44507         gl_FUNC_ISNANF_NO_LIBM, and gl_FUNC_ISNAN.
44508         * modules/isnanf: New file.
44509         * modules/isnanf-tests: New file.
44510         * modules/isnanf-nolibm-tests: Add tests/test-isnanf.h to list of
44511         files.
44512         * tests/test-isnanf-nolibm.c: factored most of its contents into
44513         new file tests/test-isnanf.h.
44514         * tests/test-isnanf.h: New file.
44515         * tests/test-isnanf.c: New file.
44516         * MODULES.html.sh: Mention new module.
44517         * doc/glibc-functions/isnanf.texi: Mention new module.
44518
44519 2008-07-10  Ben Pfaff  <blp@gnu.org>
44520
44521         Add isnand module.
44522         * lib/isnand.h: New file.
44523         * m4/isnand.m4 (gl_FUNC_ISNAND): New macro.
44524         (gl_FUNC_ISNAND_NO_LIBM): Split partially into new macro
44525         gl_HAVE_ISNAND_NO_LIBM so that gl_FUNC_ISNAND can use that
44526         functionality also.
44527         (gl_BUILD_ISNAND): New macro used by gl_FUNC_ISNAND,
44528         gl_FUNC_ISNAND_NO_LIBM, and gl_FUNC_ISNAN.
44529         (gl_HAVE_ISNAND_IN_LIBM): New macro.
44530         * modules/isnand: New file.
44531         * modules/isnand-tests: New file.
44532         * modules/isnand-nolibm-tests: Add tests/test-isnand.h to list of
44533         files.
44534         * tests/test-isnand-nolibm.c: factored most of its contents into
44535         new file tests/test-isnand.h.
44536         * tests/test-isnand.h: New file.
44537         * tests/test-isnand.c: New file.
44538         * MODULES.html.sh: Mention new module.
44539
44540 2008-07-10  Ben Pfaff  <blp@gnu.org>
44541
44542         * lib/isnanf.h: Rename lib/isnanf-nolibm.h.
44543         * lib/isnand.h: Rename lib/isnand-nolibm.h.
44544         * tests/test-isnanf.c: Rename tests/test-isnanf-nolibm.c.
44545         * tests/test-isnand.c: Rename tests/test-isnand-nolibm.c.
44546         * modules/isnanf-nolibm: Update references to renamed files.
44547         * modules/isnand-nolibm: Likewise.
44548         * modules/isnanf-nolibm-tests: Likewise.
44549         * modules/isnand-nolibm-tests: Likewise.
44550         * lib/frexp.c: Likewise.
44551         * lib/isfinite.c: Likewise.
44552         * lib/signbitd.c: Likewise.
44553         * lib/signbitf.c: Likewise.
44554         * lib/vasnprintf.c: Likewise.
44555         * tests/test-ceilf1.c: Likewise.
44556         * tests/test-ceilf2.c: Likewise.
44557         * tests/test-floorf1.c: Likewise.
44558         * tests/test-floorf2.c: Likewise.
44559         * tests/test-frexp.c: Likewise.
44560         * tests/test-round1.c: Likewise.
44561         * tests/test-round2.c: Likewise.
44562         * tests/test-roundf1.c: Likewise.
44563         * tests/test-strtod.c: Likewise.
44564         * tests/test-trunc1.c: Likewise.
44565         * tests/test-trunc2.c: Likewise.
44566         * tests/test-truncf1.c: Likewise.
44567         * tests/test-truncf2.c: Likewise.
44568         * NEWS: Mention the renamed header files.
44569
44570 2008-07-11  Jim Meyering  <meyering@redhat.com>
44571
44572         vc-list-files: make the last-resort awk code more portable
44573         * build-aux/vc-list-files: Don't rely on awk's "sub" command.
44574         /bin/awk from OpenSolaris 11's SUNWesu version 2008.03.22.10.56
44575         does not support it.
44576
44577 2008-07-10  Eric Blake  <ebb9@byu.net>
44578
44579         Work with tar's bootstrap.
44580         * gnulib-tool (func_emit_initmacro_end): Use m4_defn in the case
44581         where LIBSOURCES_DIR contains .#bootmp but must not be treated as
44582         an m4 comment.
44583
44584 2008-07-09  Jim Meyering  <meyering@redhat.com>
44585
44586         posix-shell.m4: fix typo that made this test malfunction
44587         * m4/posix-shell.m4: Remove capitalization in variable name.
44588
44589 2008-07-08  Bruno Haible  <bruno@clisp.org>
44590
44591         * m4/onceonly.m4: Update comments.
44592         Reported by Ben Pfaff <blp@cs.stanford.edu>.
44593
44594 2008-07-04  Jim Meyering  <meyering@redhat.com>
44595
44596         * users.txt: Add vc-dwim.
44597         (bison, coreutils): Use the gitweb URL.
44598
44599 2008-07-03  Jim Meyering  <meyering@redhat.com>
44600
44601         * users.txt: Add libffcall.  From Sam Steingold.
44602
44603 2008-07-03  OndÅ™ej Vašík  <ovasik@redhat.com>
44604
44605         getdate.y: do not ignore TZ with relative day, month or year offset
44606         * lib/getdate.y (get_date): Move the tz-handling block to follow the
44607         relative-date-handling, since otherwise, the latter would clobber the
44608         sole output (an updated Start value) of the tz-handling block.
44609         * tests/test-getdate.c: Tests for the fix
44610
44611 2008-07-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44612
44613         Recognize 'foo_LIBRARIES += libgnu.a'.
44614         * gnulib-tool (func_emit_lib_Makefile_am): Recognize if a
44615         makefile snippet has already specified an installation location,
44616         also using '+='.
44617
44618 2008-07-02  OndÅ™ej Vašík  <ovasik@redhat.com>
44619
44620         getdate.y: factor out common actions
44621         * lib/getdate.y (apply_relative_time, set_hhmmss): New functions.
44622         Use them in place of open-coded actions.
44623
44624 2008-07-01  Simon Josefsson  <simon@josefsson.org>
44625
44626         Add self-test for getdate module.
44627         * modules/getdate-tests: New file.
44628         * tests/test-getdate.c: New file.
44629
44630 2008-06-29  Bruno Haible  <bruno@clisp.org>
44631
44632         * gnulib-tool (func_import): Put gnulib-comp.m4 into .cvsignore or
44633         .gitignore.
44634         Reported by Sylvain Beucler <beuc@beuc.net>.
44635
44636 2008-06-29  Bruno Haible  <bruno@clisp.org>
44637
44638         * doc/gnulib-tool.texi (VCS Issues): Mention --no-vc-files option.
44639         * m4/gnulib-tool.m4: Update to match current gnulib-tool.
44640
44641 2008-06-29  Bruno Haible  <bruno@clisp.org>
44642
44643         * gnulib-tool (func_import): Recommend to put gnulib-cache.m4 into
44644         EXTRA_DIST.
44645         Reported by Sylvain Beucler <beuc@beuc.net>.
44646
44647 2008-06-26  Jim Meyering  <meyering@redhat.com>
44648
44649         make several modules depend on the "open" module
44650         This provides slightly increased consistency when opening-for-write
44651         the name of a non-directory spelled with a trailing slash.
44652         * modules/chdir-safer: Likewise.
44653         * modules/chown: Likewise.
44654         * modules/clean-temp: Likewise.
44655         * modules/copy-file: Likewise.
44656         * modules/fchdir: Likewise.
44657         * modules/fcntl-safer: Likewise.
44658         * modules/pipe: Likewise.
44659         * modules/utime: Likewise.
44660         Prompted by Eric Blake and Bruno Haible.
44661
44662 2008-06-24  Andreas Schwab  <schwab@suse.de>
44663
44664         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Don't test whether compound
44665         literals can be used as initializers for global variables.
44666
44667 2008-06-23  Eric Blake  <ebb9@byu.net>
44668
44669         Make gnulib-cache.m4 easier to diff.
44670         * gnulib-tool (func_import): Allow newlines when reading cached
44671         gl_MODULES, and generate newlines when creating gnulib-cache.m4.
44672
44673 2008-06-23  Bruno Haible  <bruno@clisp.org>
44674
44675         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): Remove macro.
44676         (gl_PREREQ_SIGPROCMASK): Don't invoke it.
44677         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): New macro, moved here from
44678         m4/signalblocking.m4.
44679         (gl_PREREQ_SIGACTION): Don't invoke it.
44680         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Invoke
44681         gl_PREREQ_SIG_HANDLER_H.
44682         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
44683         Don't check for sigaction here.
44684
44685 2008-06-23  Bruno Haible  <bruno@clisp.org>
44686
44687         * lib/fatal-signal.c (fatal_signal_handler): Update comment.
44688         (install_handlers): Don't set the SA_RESETHAND flag.
44689
44690 2008-06-23  Bruno Haible  <bruno@clisp.org>
44691
44692         * m4/sigaction.m4: Comment fixes.
44693         * lib/signal.in.h: Likewise.
44694
44695 2008-06-23  Eric Blake  <ebb9@byu.net>
44696
44697         Fix typo.
44698         * tests/test-sigaction.c (MASK_SA_FLAGS): Add missing operator.
44699
44700         Avoid SA_ namespace.
44701         * tests/test-sigaction.c (MASK_SA_FLAGS): Rename from SA_MASK.
44702         Reported by Ralf Wildenhues.
44703
44704         Avoid test failure due to SA_RESTORER.
44705         * tests/test-sigaction.c (SA_MASK): New macro.
44706         (main): Avoid failing due to extension flags being set.
44707         Reported by Jim Meyering.
44708
44709         Revert use of sig-handler.h in sigprocmask.c.
44710         * modules/sigprocmask (Files): Don't rely on sig-handler.h, since
44711         it requires the existence of struct sigaction.
44712         * lib/sigprocmask.c (handler_t): Restore typedef.
44713         (rpl_signal, old_handlers): Use local type.
44714
44715 2008-06-22  Bruno Haible  <bruno@clisp.org>
44716
44717         * tests/test-stdint.c: Disable the INTMAX_MAX preprocessor test
44718         conditionally.
44719         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
44720
44721 2008-06-22  Bruno Haible  <bruno@clisp.org>
44722
44723         * doc/posix-functions/siginterrupt.texi: Move note.
44724
44725         * lib/signal.in.h (SA_RESTART): New macro.
44726         * lib/sigaction.c: Update comment.
44727
44728         * m4/sigaction.m4 (gl_SIGACTION): Require gl_SIGNAL_H_DEFAULTS.
44729
44730         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): New macro.
44731         (gl_PREREQ_SIGPROCMASK): Invoke it.
44732         * m4/sigaction.m4 (gl_PREREQ_SIGACTION): Likewise.
44733
44734         * lib/nanosleep.c (rpl_nanosleep): Setup newact only when it is needed.
44735
44736         * lib/sigprocmask.c: Update a comment.
44737
44738 2008-06-21  Eric Blake  <ebb9@byu.net>
44739
44740         Use sigaction module rather than signal().
44741         * modules/c-stack (Depends-on): Add sigaction.
44742         * modules/fatal-signal (Depends-on): Likewise.
44743         * modules/nanosleep (Depends-on): Likewise.
44744         * modules/sigprocmask (Files): Add sig-handler.h.
44745         * modules/sigaction (Files): Likewise.
44746         * lib/sig-handler.h (get_handler): New file, suggested by Paul
44747         Eggert.
44748         * lib/c-stack.c (SIGACTION_WORKS): Simplify conditions.
44749         (c_stack_action) [!SIGACTION_WORKS]: Use sigaction, not signal.
44750         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
44751         (init_fatal_signals): Likewise.
44752         * lib/nanosleep.c (rpl_nanosleep): Likewise.
44753         (siginterrupt): Delete fallback.
44754         * lib/sigprocmask.c (handler_t, old_handlers): Use sa_handler_t
44755         instead.
44756         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Drop check for
44757         siginterrupt.
44758
44759         New module sigaction, for mingw.
44760         * modules/sigaction: New module...
44761         * modules/sigaction-tests: ...and its test.
44762         * m4/sigaction.m4: New file.
44763         * lib/sigaction.c: Likewise.
44764         * tests/test-sigaction.c: Likewise.
44765         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Add sigaction variables.
44766         * modules/signal (Makefile.am): Likewise.
44767         * lib/signal.in.h (!@HAVE_SIGACTION@): Define replacements when
44768         needed.
44769         * doc/posix-headers/signal.texi (signal.h): Mention provided
44770         types.
44771         * doc/posix-functions/siginterrupt.texi (siginterrupt): Mention
44772         that sigaction is preferable.
44773         * doc/posix-functions/sigaction.texi (sigaction): Mention new
44774         module.
44775         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
44776         sigaction.
44777
44778         Improve robustness of sigprocmask by overriding signal.
44779         * lib/signal.in.h (rpl_signal): Override signal when sigprocmask
44780         is in use.
44781         * lib/sigprocmask.c (blocked_handler): Reinstall block handler.
44782         (SIGKILL, SIGSTOP): Provide fallbacks.
44783         (rpl_signal): Implement.
44784         (old_handlers, blocked_set): Mark volatile, since sigprocmask and
44785         signal can be called inside handlers.
44786
44787         Fix nanosleep module on mingw.
44788         * modules/nanosleep (Depends-on): Add sys_select.
44789         * lib/nanosleep.c (HAVE_SYS_SELECT_H): Rely on gnulib module.
44790
44791         Fix licensing of sigprocmask.
44792         * modules/raise (License): Relicense as LGPL.
44793
44794 2008-06-21  Bruno Haible  <bruno@clisp.org>
44795
44796         * lib/propername.c (proper_name_utf8): Don't use the transliterated
44797         result if it contains question marks.
44798         Reported by Michael Geng <linux@michaelgeng.de>.
44799
44800 2008-06-19  Bruno Haible  <bruno@clisp.org>
44801
44802         Fix CVS-ism.
44803         * doc/gnulib.texi: Include updated-stamp.texi.
44804         * doc/Makefile (GNULIB_TEXI_FILES): New variable.
44805         (updated-stamp.texi): New rule.
44806         (gnulib.info): Depend on it.
44807         * doc/.gitignore: Add updated-stamp.texi.
44808         Based on a patch by Thien-Thi Nguyen <ttn@gnuvola.org>.
44809
44810 2008-06-19  Bruno Haible  <bruno@clisp.org>
44811
44812         * doc/Makefile (gnulib.info): Update and simplify dependencies.
44813         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
44814
44815 2008-06-19  Eric Blake  <ebb9@byu.net>
44816
44817         Fix VPATH 'make dist' with GNU make and non-VCS tarball.
44818         * top/GNUmakefile (_curr-ver): Don't use $(srcdir) unnecessarily.
44819         Reported by Stepan Kasal.
44820
44821 2008-06-18  Bruno Haible  <bruno@clisp.org>
44822
44823         * lib/fatal-signal.c (init_fatal_signals): Add comment.
44824         Reported by Eric Blake.
44825
44826 2008-06-18  Eric Blake  <ebb9@byu.net>
44827
44828         Work around cygwin 1.5.25 strsignal bug.
44829         * tests/test-strsignal.c: Allow for const char *.
44830         * doc/glibc-functions/strsignal.texi (strsignal): Document the bug.
44831
44832 2008-06-18  Simon Josefsson  <simon@josefsson.org>
44833
44834         * users.txt: Update URL to article and add author/date
44835         information.
44836
44837 2008-06-17  Bruno Haible  <bruno@clisp.org>
44838
44839         New macro gl_DISABLE_THREADS.
44840         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Use value gl_use_threads_default
44841         if the user did not pass --enable-threads or --disable-threads option.
44842         (gl_DISABLE_THREADS): New macro.
44843         Reported by Eric Blake <ebb9@byu.net>.
44844
44845 2008-06-17  Bruno Haible  <bruno@clisp.org>
44846
44847         * lib/tls.h (gl_tls_key_init): Evaluate the destructor argument also
44848         when the macro ignores it.
44849         Based on a patch by Eric Blake <ebb9@byu.net>.
44850
44851 2008-06-17  Bruno Haible  <bruno@clisp.org>
44852
44853         * modules/tls (License): Change to LGPLv2+.
44854         Reported by Eric Blake.
44855
44856 2008-06-17  Eric Blake  <ebb9@byu.net>
44857
44858         Simplify c-stack prerequisites.
44859         * lib/c-stack.c (includes): Remove unused <sys/resource.h>.
44860         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Posix 200x
44861         no longer requires <ucontext.h> to exist.  Optimize setrlimit
44862         check.
44863         (gl_PREREQ_C_STACK): Remove check for unused getcontext and
44864         <sys/resource.h>.
44865
44866         Move c-stack test into testsuite.
44867         * modules/c-stack-tests: New file.
44868         * lib/c-stack.c [DEBUG]: Move test program...
44869         * tests/test-c-stack.c: ...into this new file.  Skip rather than
44870         fail test if sigaltstack is lacking.
44871         * tests/test-c-stack.sh: New driver file.
44872
44873 2008-06-16  Eric Blake  <ebb9@byu.net>
44874
44875         Use raise module consistently.
44876         * modules/fatal-signal (Depends-on): Add raise.
44877         * modules/sigprocmask (Depends-on): Likewise.
44878         * lib/fatal-signal.c (fatal_signal_handler): Rely on raise.
44879         * lib/sigprocmask.c (sigprocmask): Likewise.
44880         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
44881         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Likewise.
44882
44883         Fix compliance bug in sigpending.
44884         * lib/sigprocmask.c (sigpending): Return pending array via
44885         parameter, not return value.
44886
44887 2008-06-14  Eric Blake  <ebb9@byu.net>
44888
44889         Improve obstack-printf test code.
44890         * tests/test-obstack-printf.c (test_function): Fix comment, and
44891         simplify usage of obstack_* in macros.  Add a test for coverage.
44892         Reported by Bruno Haible.
44893
44894 2008-06-14  Bruno Haible  <bruno@clisp.org>
44895
44896         * lib/obstack_printf.c (obstack_vprintf): Define the stack-allocated
44897         array size as a constant, not as a const variable.
44898         * m4/obstack-printf.m4 (gl_FUNC_OBSTACK_PRINTF): Require
44899         AC_USE_SYSTEM_EXTENSIONS.
44900         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
44901         Test whether the obstack_printf function actually exists.
44902         * modules/obstack-printf (Depends-on): Add extensions.
44903         (Include): Remove obstack.h.
44904         * modules/obstack-printf-posix (Depends-on): Add extensions.
44905         (Include): Remove obstack.h.
44906
44907 2008-06-13  Eric Blake  <ebb9@byu.net>
44908
44909         Add obstack-printf and obstack-printf-posix modules.
44910         * modules/obstack-printf: New file.
44911         * modules/obstack-printf-posix: Likewise.
44912         * MODULES.html.sh (Misc): Mention them.
44913         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
44914         Likewise.
44915         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
44916         Likewise.
44917         * modules/stdio (Makefile.am): Accomodate new modules.
44918         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
44919         * lib/stdio.in.h (rpl_obstack_printf, rpl_obstack_vprintf):
44920         Declare.
44921         * lib/obstack_printf.c (obstack_printf, obstack_vprintf): New
44922         functions.
44923         * m4/obstack-printf.m4 (gl_OBSTACK_PRINTF)
44924         (gl_REPLACE_OBSTACK_PRINTF): New macros
44925         * m4/obstack-printf-posix.m4 (gl_OBSTACK_PRINTF_POSIX): Likewise.
44926         * tests/test-obstack-printf.c: New file.
44927         * modules/obstack-printf-tests: Likewise.
44928         * modules/obstack-printf-posix-tests: Likewise.
44929
44930 2008-06-11  Bruno Haible  <bruno@clisp.org>
44931
44932         * m4/open.m4 (gl_FUNC_OPEN): Add test against trailing slash bug.
44933         * lib/open.c: Include errno.h.
44934         (open): Fail when attempting to write to a file that has a trailing
44935         slash.
44936         * tests/test-open.c (main): Test against trailing slash bug.
44937         * doc/posix-functions/open.texi: Mention the trailing slash bug.
44938
44939 2008-06-10  Bruno Haible  <bruno@clisp.org>
44940
44941         * tests/test-vc-list-files-git.sh: Make double use of 'exit'. Needed
44942         for $? to work inside the trap command, with various /bin/sh-s.
44943         * tests/test-vc-list-files-cvs.sh: Likewise.
44944
44945 2008-06-10  Bruno Haible  <bruno@clisp.org>
44946
44947         * lib/acl-internal.h: Don't include gettext.h here.
44948         * lib/set-mode-acl.c: Include gettext.h here.
44949         * lib/copy-acl.c: Likewise.
44950
44951 2008-06-10  Bruno Haible  <bruno@clisp.org>
44952
44953         * lib/wait-process.h (wait_subprocess): Add termsigp argument.
44954         * lib/wait-process.c (wait_subprocess): Likewise.
44955         * lib/execute.h (execute): Add termsigp argument.
44956         * lib/execute.c (execute): Likewise.
44957         * lib/csharpcomp.c (compile_csharp_using_pnet,
44958         compile_csharp_using_mono, compile_csharp_using_sscli): Update.
44959         * lib/csharpexec.c (execute_csharp_using_pnet,
44960         execute_csharp_using_mono, execute_csharp_using_sscli): Update.
44961         * lib/javacomp.c (compile_using_envjavac, compile_using_gcj,
44962         compile_using_javac, compile_using_jikes, is_envjavac_gcj,
44963         is_envjavac_gcj43, is_gcj_present, is_gcj_43, is_javac_present,
44964         is_jikes_present): Update.
44965         * lib/javaexec.c (execute_java_class): Update.
44966         * lib/javaversion.c (execute_and_read_line): Update.
44967         * NEWS: Document the changes.
44968         Reported by Eric Blake.
44969
44970 2008-06-10  Eric Blake  <ebb9@byu.net>
44971
44972         Add missing include.
44973         * tests/test-strstr.c (includes): Add <signal.h>.
44974         * tests/test-strcasestr.c (includes): Likewise.
44975         * tests/test-memmem.c (includes): Likewise.
44976
44977 2008-06-10  Bruno Haible  <bruno@clisp.org>
44978
44979         * lib/wait-process.c (wait_subprocess): Add an assertion.
44980
44981 2008-06-10  Bruno Haible  <bruno@clisp.org>
44982
44983         * lib/wait-process.c (wait_subprocess): Try to fix waitid() based code.
44984
44985 2008-06-10  Bruno Haible  <bruno@clisp.org>
44986
44987         * tests/test-memmem.c (main): Reset SIGALRM to default handling before
44988         using alarm().
44989         * tests/test-strcasestr.c (main): Likewise.
44990         * tests/test-strstr.c (main): Likewise.
44991
44992 2008-06-09  Bruno Haible  <bruno@clisp.org>
44993
44994         Work around the Solaris 10 ACE ACLs ABI change.
44995         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): Don't
44996         declare if ACL_NO_TRIVIAL is present.
44997         (ACE_ACCESS_ALLOWED_ACE_TYPE, ACE_ACCESS_DENIED_ACE_TYPE,
44998         NEW_ACE_OWNER, NEW_ACE_GROUP, NEW_ACE_IDENTIFIER_GROUP, ACE_EVERYONE,
44999         NEW_ACE_READ_DATA, NEW_ACE_WRITE_DATA, NEW_ACE_EXECUTE): New macros.
45000         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): Don't
45001         define if ACL_NO_TRIVIAL is present.
45002         (acl_ace_nontrivial): Detect whether the old or new ABI is in use,
45003         and use the current ABI.
45004         (file_has_acl): Use same #if condition as elsewhere.
45005         * lib/set-mode-acl.c (qset_acl): Detect whether the old or new ABI is
45006         in use, and use the current ABI.
45007         * doc/acl-resources.txt: More doc about newer Solaris 10 versions.
45008         Reported by Jim Meyering.
45009
45010 2008-06-09  Eric Blake  <ebb9@byu.net>
45011
45012         Work around environments that (stupidly) ignore SIGALRM.
45013         * m4/strstr.m4 (gl_FUNC_STRSTR): Reset SIGALRM to default handling
45014         before using alarm().
45015         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
45016         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
45017         Reported by Ian Beckwith <ianb@erislabs.net>.
45018
45019         Produce autobuild blurb earlier in log.
45020         * modules/autobuild (configure.ac-early): Move AB_INIT here.
45021
45022 2008-06-09  Jim Meyering  <meyering@redhat.com>
45023         and OndÅ™ej Vašík  <ovasik@redhat.com>
45024
45025         utimens.c: correct kernel bug work-around
45026         OndÅ™ej Vašík found that the invalid return value of 280 indicates
45027         failure, not success, and the kernel bug we're trying to work
45028         around affects not just the utimensat call, but also the fallback
45029         futimens call.
45030         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Simulate failure,
45031         not success.
45032         [HAVE_FUTIMENS]: Use the same work-around, here.
45033
45034 2008-06-09  Jim Meyering  <meyering@redhat.com>
45035
45036         add more guards around definition of ACE_-related code
45037         * lib/file-has-acl.c (acl_ace_nontrivial): Define only if
45038         ALLOW and ACE_OWNER are also defined.
45039
45040 2008-06-08  Bruno Haible  <bruno@clisp.org>
45041
45042         * lib/acl-internal.h: Add me as co-author.
45043         * lib/file-has-acl.c: Likewise.
45044         * lib/set-mode-acl.c: Likewise.
45045         * lib/copy-acl.c: Likewise.
45046
45047 2008-06-08  Bruno Haible  <bruno@clisp.org>
45048
45049         Add support for AIX ACLs.
45050         * lib/acl-internal.h (acl_nontrivial): New declaration.
45051         * lib/file-has-acl.c (acl_nontrivial): New function.
45052         (file_has_acl): Add implementation using AIX 4 ACL API.
45053         * lib/set-mode-acl.c (qset_acl): Likewise.
45054         * lib/copy-acl.c (qcopy_acl): Likewise.
45055
45056 2008-06-08  Bruno Haible  <bruno@clisp.org>
45057
45058         Add support for HP-UX ACLs.
45059         * lib/acl-internal.h (acl_nontrivial): New declaration.
45060         * lib/file-has-acl.c (acl_nontrivial): New function.
45061         (file_has_acl): Add implementation using HP-UX 11 ACL API.
45062         * lib/set-mode-acl.c (qset_acl): Likewise.
45063         * lib/copy-acl.c (qcopy_acl): Likewise.
45064
45065 2008-06-08  Bruno Haible  <bruno@clisp.org>
45066
45067         Add support for Cygwin ACLs.
45068         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro for Solaris-like API.
45069         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Don't optimize away
45070         the chmod_or_fchmod call.
45071         * lib/copy-acl.c (qcopy_acl) [!MODE_INSIDE_ACL]: Likewise.
45072
45073 2008-06-08  Bruno Haible  <bruno@clisp.org>
45074
45075         Fix bug with setuid modes in Solaris 10+ code.
45076         * lib/set-mode-acl.c (qset_acl): Call chmod_or_fchmod when acl_set
45077         succeeded, when the mode contains some special bits.
45078
45079 2008-06-08  Bruno Haible  <bruno@clisp.org>
45080
45081         Add support for Solaris 7..10 ACLs.
45082         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): New
45083         declarations.
45084         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): New
45085         functions.
45086         (file_has_acl): Add implementation using Solaris 7..10 ACL API.
45087         * lib/set-mode-acl.c (qset_acl): Likewise.
45088         * lib/copy-acl.c (qcopy_acl): Likewise.
45089
45090 2008-06-08  Bruno Haible  <bruno@clisp.org>
45091
45092         * lib/acl-internal.h (acl_extended_nontrivial) [MacOS X]: New
45093         declaration.
45094         * lib/file-has-acl.c (acl_extended_nontrivial) [MacOS X]: New function.
45095         (acl_access_nontrivial): Remove MacOS X case.
45096         (file_has_acl): Use acl_extended_nontrivial.
45097         * lib/copy-acl.c (qcopy_acl): Likewise.
45098
45099 2008-06-08  Bruno Haible  <bruno@clisp.org>
45100
45101         * lib/set-mode-acl.c (qset_acl): Trivial code simplifications.
45102
45103 2008-06-08  Jim Meyering  <meyering@redhat.com>
45104
45105         * modules/acl (Maintainer): Add Bruno Haible.
45106
45107 2008-06-07  Bruno Haible  <bruno@clisp.org>
45108
45109         Improve support for Tru64 ACLs.
45110         * lib/file-has-acl.c (file_has_acl): Don't test the ACL_TYPE_DEFAULT
45111         ACL on OSF/1.
45112
45113 2008-06-07  Bruno Haible  <bruno@clisp.org>
45114
45115         Add support for MacOS X ACLs.
45116         * lib/file-has-acl.c (file_has_acl): Use ACL_TYPE_EXTENDED instead of
45117         ACL_TYPE_ACCESS and ACL_TYPE_DEFAULT.
45118         * lib/set-mode-acl.c (qset_acl): Likewise.
45119         * lib/copy-acl.c (qcopy_acl): Likewise.
45120
45121 2008-06-07  Bruno Haible  <bruno@clisp.org>
45122
45123         Fix memory leak introduced on 2008-05-22.
45124         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Free ACLs after
45125         use.
45126
45127 2008-06-07  Bruno Haible  <bruno@clisp.org>
45128
45129         * lib/set-mode-acl.c (qset_acl): Use acl_init(), not acl_from_text(),
45130         to construct an empty ACL.
45131
45132 2008-06-07  Bruno Haible  <bruno@clisp.org>
45133
45134         * lib/set-mode-acl.c (chmod_or_fchmod): Document return value
45135         precisely.
45136         * lib/copy-acl.c (qcopy_acl): Trivial code simplifications.
45137
45138 2008-06-07  Bruno Haible  <bruno@clisp.org>
45139
45140         * lib/copy-acl.c (qcopy_acl): Make the #if branches independent.
45141         * lib/set-mode-acl.c (qset_acl): Choose better local variable names.
45142
45143 2008-06-07  Bruno Haible  <bruno@clisp.org>
45144
45145         * doc/posix-functions/_setjmp.texi: Explain the use of this function
45146         regardless of POSIX.
45147         * doc/posix-functions/_longjmp.texi: Likewise.
45148         * doc/posix-functions/setjmp.texi: Mention HP-UX as not counting as a
45149         SystemV platform in this case.
45150
45151 2008-06-06  Eric Blake  <ebb9@byu.net>
45152
45153         Document abort() bugs.
45154         * doc/posix-functions/abort.texi (abort): Mention anomalies.
45155
45156         * doc/posix-functions/setjmp.texi (setjmp): Mingw has setjmp.
45157         * doc/posix-functions/sigsetjmp.texi (sigsetjmp): Cygwin has
45158         sigsetjmp.
45159         * doc/posix-functions/siglongjmp.texi (siglongjmp): Cygwin has
45160         siglongjmp, but only as a macro.
45161         * doc/posix-functions/_longjmp.texi (_longjmp): Mention that this
45162         is obsolete.
45163         * doc/posix-functions/_setjmp.texi (_setjmp): Likewise.
45164
45165         Tweak documentation to cover cygwin argz bugs.
45166         * m4/argz.m4 (gl_FUNC_ARGZ): Mention date of last known cygwin
45167         argz bug fix; no code change needed since no cygwin releases
45168         occurred between the last fix and the bug being tested.
45169         * doc/glibc-functions/argz_add.texi (argz_add): Document the argz
45170         module and recently fixed cygwin bugs.
45171         * doc/glibc-functions/argz_add_sep.texi (argz_add_sep): Likewise.
45172         * doc/glibc-functions/argz_append.texi (argz_append): Likewise.
45173         * doc/glibc-functions/argz_count.texi (argz_count): Likewise.
45174         * doc/glibc-functions/argz_create.texi (argz_create): Likewise.
45175         * doc/glibc-functions/argz_create_sep.texi (argz_create_sep):
45176         Likewise.
45177         * doc/glibc-functions/argz_delete.texi (argz_delete): Likewise.
45178         * doc/glibc-functions/argz_extract.texi (argz_extract): Likewise.
45179         * doc/glibc-functions/argz_insert.texi (argz_insert): Likewise.
45180         * doc/glibc-functions/argz_next.texi (argz_next): Likewise.
45181         * doc/glibc-functions/argz_replace.texi (argz_replace): Likewise.
45182         * doc/glibc-functions/argz_stringify.texi (argz_stringify):
45183         Likewise.
45184
45185         Avoid gcc warning on cygwin.
45186         * lib/copy-acl.c (qcopy_acl) [!HAVE_ACL_GET_FILE &&
45187         !ACL_NO_TRIVIAL]: Avoid unused variable.
45188
45189 2008-06-05  Eric Blake  <ebb9@byu.net>
45190
45191         Be tolerant of UNKNOWN version in gnulib-tool test dir.
45192         * top/GNUmakefile (_dummy): Warn rather than reconfigure if
45193         git-version-gen fails to come up with a version.
45194         Reported by Simon Josefsson.
45195
45196 2008-06-05  Jim Meyering  <meyering@redhat.com>
45197             Paul Eggert  <eggert@cs.ucla.edu>
45198
45199         utimens.c: work around a probable Linux kernel bug
45200         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Work around what
45201         appears to be a kernel bug that causes utimensat to return 280
45202         instead of 0, indicating success.
45203
45204 2008-06-04  Bruno Haible  <bruno@clisp.org>
45205
45206         * lib/copy-acl.c (qcopy_acl): Call qset_acl, not set_acl. Fixes
45207         2008-06-01 commit.
45208
45209 2008-06-04  Bruno Haible  <bruno@clisp.org>
45210
45211         * lib/acl-internal.h (acl_access_nontrivial): New declaration.
45212         * lib/file-has-acl.c (acl_access_nontrivial): New function.
45213         (file_has_acl): Use it. Save errno afterwards.
45214         * lib/copy-acl.c (qcopy_acl): Use acl_access_nontrivial.
45215
45216 2008-06-03  Bruno Haible  <bruno@clisp.org>
45217
45218         * lib/file-has-acl.c (file_has_acl): Put Solaris 10 code after POSIX-
45219         draft code. Simplify #ifs.
45220         * lib/set-mode-acl.c (qset_acl): Don't test for symlink if !USE_ACL.
45221         Put Solaris code after POSIX-draft code. Fix comments regarding
45222         Solaris 10, HP-UX. Mention Cygwin.
45223         * lib/copy-acl.c (qcopy_acl): Simplify #ifs.
45224
45225 2008-06-03  Eric Blake  <ebb9@byu.net>
45226
45227         Provide fallback for older kernels.
45228         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT, HAVE_FUTIMENS]:
45229         Provide runtime fallback if kernel lacks support.
45230         Reported by Mike Frysinger.
45231
45232 2008-06-02  Bruno Haible  <bruno@clisp.org>
45233
45234         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Include EOPNOTSUPP if
45235         it exists.
45236
45237 2008-06-02  Bruno Haible  <bruno@clisp.org>
45238
45239         * lib/acl_entries.c (acl_entries): Rewrite to use acl_get_entry.
45240         * lib/copy-acl.c (qcopy_acl): Update comment.
45241
45242 2008-06-02  Bruno Haible  <bruno@clisp.org>
45243
45244         * lib/acl-entries.h: Enclose most definitions in #ifs for POSIX-draft
45245         like ACL APIs.
45246
45247 2008-06-02  Bruno Haible  <bruno@clisp.org>
45248
45249         * tests/test-file-has-acl.sh: Use different code for Cygwin.
45250         * tests/test-set-mode-acl.sh: Likewise.
45251         * tests/test-copy-acl.sh: Likewise.
45252         * tests/test-copy-file.sh: Likewise.
45253
45254 2008-06-02  Bruno Haible  <bruno@clisp.org>
45255
45256         * tests/test-file-has-acl.sh: Remove unused code.
45257
45258 2008-06-01  Bruno Haible  <bruno@clisp.org>
45259
45260         * lib/copy-acl.c (qcopy_acl): New function, extracted from copy_acl.
45261         (copy_acl): Just a wrapper around qcopy_acl that emits the error
45262         messages.
45263         * lib/set-mode-acl.c (qset_acl): Document return value precisely.
45264
45265 2008-06-01  Bruno Haible  <bruno@clisp.org>
45266
45267         * m4/acl.m4 (gl_FUNC_ACL): Separate the POSIX-like and the Solaris
45268         tests. Test for libpacl, needed for OSF/1. Test for extended ACLs,
45269         needed for MacOS X. Test for HP-UX API. Test for newer and older AIX
45270         APIs.
45271         * modules/acl-tests (configure.ac): Remove tests now contained in
45272         m4/acl.m4.
45273
45274 2008-06-02  Jim Meyering  <meyering@redhat.com>
45275
45276         announce-gen: use a better key-server host name
45277         * build-aux/announce-gen (main): Recommend keys.gnupg.net, since
45278         it may be more consistently reliable.  Suggested by Werner Koch
45279         in <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/13717>.
45280
45281 2008-06-01  Bruno Haible  <bruno@clisp.org>
45282
45283         * lib/stdio-impl.h (fp_ub): Use fp_. Needed for DragonFly BSD.
45284         Reported by Voroskoi Andras <voroskoi@gmail.com>.
45285
45286 2008-06-01  Voroskoi Andras  <voroskoi@gmail.com>  (tiny change)
45287
45288         * lib/stdio-impl.h [__DragonFly__]: Fix typo.
45289
45290 2008-06-01  Bruno Haible  <bruno@clisp.org>
45291
45292         New ACL tests.
45293         * tests/test-file-has-acl.sh: New file.
45294         * tests/test-file-has-acl.c: New file.
45295         * tests/test-set-mode-acl.sh: New file.
45296         * tests/test-set-mode-acl.c: New file.
45297         * tests/test-copy-acl.sh: New file, based on tests/test-copy-file.sh.
45298         * tests/test-copy-acl.c: New file.
45299         * modules/acl-tests: New file, based on modules/copy-file-tests.
45300         * modules/copy-file-tests (Files): Remove tests/test-sameacls.c.
45301         (Depends-on): Add acl-tests.
45302         (configure.ac): Remove checks.
45303         (Makefile.am): Don't create test-sameacls program here any more.
45304
45305 2008-06-01  Bruno Haible  <bruno@clisp.org>
45306
45307         * tests/test-copy-file.sh: Portability fixes for Solaris, HP-UX, IRIX.
45308         * tests/test-sameacls.c: Include progname.h.
45309         (main): Invoke set_program_name. Portability fixes for MacOS X,
45310         Solaris, HP-UX.
45311
45312 2008-06-01  Bruno Haible  <bruno@clisp.org>
45313
45314         * lib/freadahead.c (freadahead) [__DragonFly__]: Use the __sreadahead
45315         function.
45316         Reported by VOROSKOI Andras <voroskoi@gmail.com>.
45317
45318 2008-06-01  Bruno Haible  <bruno@clisp.org>
45319
45320         * modules/rpmatch (Depends-on): Add strdup.
45321
45322 2008-06-01  Bruno Haible  <bruno@clisp.org>
45323
45324         * lib/pipe.c: Include unistd-safer.h.
45325         (create_pipe): Ensure the returned file descriptors are not in {0,1,2}.
45326         * modules/pipe (Depends-on): Add unistd-safer.
45327
45328 2008-05-30  Simon Josefsson  <simon@josefsson.org>
45329
45330         * modules/autobuild (configure.ac): Call AB_INIT.
45331
45332 2008-05-30  Simon Josefsson  <simon@josefsson.org>
45333
45334         * tests/test-getaddrinfo.c: Don't print debug messages by default.
45335         Suggested by Bruno Haible <bruno@clisp.org>.
45336
45337 2008-05-30  Simon Josefsson  <simon@josefsson.org>
45338
45339         * tests/test-base64.c: Cast size_t to unsigned long when invoking
45340         printf.  Use %lu instead of %d.  Reported by Bruno Haible
45341         <bruno@clisp.org>.
45342
45343 2008-05-29  Eric Blake  <ebb9@byu.net>
45344
45345         Prefer new POSIX 200x interfaces over futimesat.
45346         * m4/utimens.m4 (gl_UTIMENS): Check for futimens, utimensat.
45347         * lib/utimens.c (gl_futimens): Use them for nanosecond resolution
45348         when available.
45349         [HAVE_BUGGY_NFS_TIME_STAMPS]: Allow C89 compilation.
45350
45351 2008-05-28  Bruno Haible  <bruno@clisp.org>
45352
45353         * modules/stpcpy (License): Change to LGPLv2+.
45354         Requested by David Lutterkort <dlutter@redhat.com>.
45355
45356 2008-05-27  Bruno Haible  <bruno@clisp.org>
45357
45358         * lib/localename.c (SUBLANG_TIBETAN_BHUTAN): Force value 2. Needed for
45359         current mingw.
45360         Reported by Jose E. Marchesi <jemarch@gnu.org>.
45361
45362 2008-05-27  Bruno Haible  <bruno@clisp.org>
45363
45364         * modules/iconv_open (Link): New section, from module 'iconv'.
45365         * modules/striconv (Link): Likewise.
45366         * modules/striconveh (Link): Likewise.
45367         * modules/xstriconv (Link): Likewise.
45368         * modules/unicodeio (Link): Likewise.
45369         * modules/propername (Link): Likewise.
45370         Reported by Jim Meyering.
45371
45372 2008-05-26  Jim Meyering  <meyering@redhat.com>
45373
45374         sha256: do not artificially restrict buffer length to be < 2^32
45375         * lib/sha256.h (struct sha256_ctx) [buflen]: Change type from
45376         uint32_t to size_t.
45377         * lib/sha256.c (sha256_conclude_ctx): Change type of a local
45378         to match.
45379
45380         avoid unaligned access errors, e.g., on sparc
45381         * lib/sha512.c (sha512_conclude_ctx): Use set_uint64 rather than
45382         direct access through a possibly-unaligned uint64* pointer.
45383         * lib/sha256.c (sha256_conclude_ctx): Use set_uint32 rather than
45384         direct access through a possibly-unaligned uint32* pointer.
45385         Prompted by this patch from Tom "spot" Callaway:
45386         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13638
45387
45388         sha512.c: fix typo in comment
45389         * lib/sha512.c (sha512_conclude_ctx): Length is 128-bit, not 64-bit.
45390
45391 2008-05-25  Bruno Haible  <bruno@clisp.org>
45392
45393         * lib/set-mode-acl.c: Renamed from lib/acl.c.
45394         * modules/acl (Files): Add lib/set-mode-acl.c, remove lib/acl.c.
45395         (Makefile.am): Update lib_SOURCES.
45396
45397 2008-05-25  Bruno Haible  <bruno@clisp.org>
45398
45399         * m4/acl.m4 (gl_FUNC_ACL): Don't set LIB_ACL_TRIVIAL.
45400
45401 2008-05-25  Jim Meyering  <meyering@redhat.com>
45402
45403         useless-if-before-free: freed expr may have white-space differences
45404         * build-aux/useless-if-before-free: Recognize cases in which the
45405         freed expression differs from the tested one in embedded white
45406         space, e.g., if (p[i + 1]) free(p[i+1]).  Correct thinko in prev:
45407         $1 was used, so we can't make any regexp shy.  Improved tests now
45408         detect this.
45409
45410         useless-if-before-free: accept white space in the expression.
45411         * build-aux/useless-if-before-free: For now, any white space
45412         in the expression must be identical in the free argument.
45413
45414         useless-if-before-free: efficiency tweak
45415         * build-aux/useless-if-before-free: Make the expression-matching
45416         regexp "shy".
45417         Make the *outer* regexp shy, not the expr-matching one.
45418
45419         update code-in-comment to accept cast of free arg
45420         * build-aux/useless-if-before-free: Update regexp.
45421
45422 2008-05-25  Bruno Haible  <bruno@clisp.org>
45423
45424         * tests/test-sameacls.c: Renamed from tests/test-copy-file-sameacls.c.
45425         * modules/copy-file-tests (Files, Makefile.am): Update.
45426         * tests/test-copy-file.c (func_test_copy): Update.
45427
45428 2008-05-24  Andreas Färber  <andreas.faerber@web.de>  (tiny change)
45429
45430         * lib/stdbool.in.h [__HAIKU__]: Disable __BEOS__ workarounds.
45431
45432 2008-05-23  Bruno Haible  <bruno@clisp.org>
45433
45434         Improve support for ACLs on OSF/1.
45435         * lib/acl.c (qset_acl): For OSF/1, use a string that ends in a comma.
45436         Remove fallback for unknown flavors of ACLs.
45437
45438 2008-05-22  Bruno Haible  <bruno@clisp.org>
45439
45440         Add support for ACLs on OSF/1.
45441         * lib/acl-internal.h (acl_get_fd, acl_set_fd): New inline function
45442         replacements.
45443         (acl_free_text): New macro fallback.
45444         * lib/acl_entries.c (acl_entries): Use acl_free_text instead of
45445         acl_free.
45446         * m4/acl.m4 (gl_FUNC_ACL): Look also in libpacl library. Test for
45447         acl_free_text function. Require AC_C_INLINE.
45448
45449 2008-05-22  Bruno Haible  <bruno@clisp.org>
45450
45451         Make copy_acl work on MacOS X 10.5.
45452         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro.
45453         (ACL_NOT_WELL_SUPPORTED): On MacOS X, also handle ENOENT.
45454         * lib/acl.c (qset_acl): Add different code branch for !MODE_INSIDE_ACL.
45455         If MODE_INSIDE_ACL, don't assume that every system has the same text
45456         representation for ACLs as FreeBSD.
45457         * lib/copy-acl.c (copy_acl): Add support for platforms with
45458         !MODE_INSIDE_ACL.
45459         * lib/file-has-acl.c (file_has_acl): Likewise.
45460         * m4/acl.m4 (gl_FUNC_ACL): Test for some functions that are witness of
45461         FreeBSD, MacOS X, or IRIX, respectively.
45462
45463 2008-05-22  Bruno Haible  <bruno@clisp.org>
45464
45465         * lib/acl.h: Don't include <sys/acl.h>.
45466         (GETACLCNT): Move fallback to lib/acl-internal.h.
45467         * lib/acl-internal.h: Include <sys/acl.h> here.
45468         (GETACLCNT): New macro fallback, moved here from lib/acl.h.
45469
45470 2008-05-22  Bruno Haible  <bruno@clisp.org>
45471
45472         Split off copy_acl function to separate file.
45473         * lib/copy-acl.c: New file, extracted from lib/acl.c.
45474         * lib/acl.c (copy_acl): Moved function to separate file.
45475         * m4/acl.m4 (gl_FUNC_ACL): Remove unconditional AC_LIBOBJs.
45476         * modules/acl (Files): Add lib/copy-acl.c.
45477         (Makefiles.am): Augment lib_SOURCES.
45478
45479 2008-05-22  Bruno Haible  <bruno@clisp.org>
45480
45481         * modules/copy-file-tests: New file.
45482         * tests/test-copy-file.sh: New file.
45483         * tests/test-copy-file.c: New file.
45484         * tests/test-copy-file-sameacls.c: New file.
45485
45486 2008-05-22  Eric Blake  <ebb9@byu.net>
45487
45488         Avoid gcc warning.
45489         * tests/test-memcmp.c (main): Pass NULL indirectly.
45490
45491 2008-05-21  Bruno Haible  <bruno@clisp.org>
45492
45493         Add reference doc about ACLs.
45494         * doc/acl-resources.txt: New file.
45495         * doc/acl-cygwin.txt: New file.
45496
45497 2008-05-21  Bruno Haible  <bruno@clisp.org>
45498
45499         Avoid one more warning from gcc.
45500         * lib/vasnprintf.c (IF_LINT): Update comments.
45501         (VASNPRINTF): Use it also for the 'prefix' array initializer.
45502
45503 2008-05-21  Jim Meyering  <meyering@redhat.com>
45504
45505         avoid a warning from gcc
45506         * lib/vasnprintf.c (IF_LINT): Define.
45507         (scale10_round_decimal_long_double):
45508         Use it to avoid a "may be used uninitialized" warning.
45509         (scale10_round_decimal_double): Likewise.
45510
45511 2008-05-21  Simon Josefsson  <simon@josefsson.org>
45512
45513         * m4/memcmp.m4: When cross-compiling, assume memcmp works if it is
45514         declared.
45515
45516 2008-05-20  Bruno Haible  <bruno@clisp.org>
45517
45518         * tests/test-memcmp.c (main): Test also the sign of the result. Test
45519         against two known bugs; code taken from autoconf's AC_FUNC_MEMCMP.
45520
45521 2008-05-20  Simon Josefsson  <simon@josefsson.org>
45522
45523         * modules/memcmp-tests: New file.
45524         * tests/test-memcmp.c: New file.
45525
45526 2008-05-19  Bruno Haible  <bruno@clisp.org>
45527
45528         * modules/propername (Notice, configure.ac): Put quoted "..." into
45529         --keyword option.
45530         * lib/propername.h: Update comments accordingly.
45531         Reported by Eric Blake.
45532
45533 2008-05-19  Martin Lambers  <marlam@marlam.de>  (tiny change)
45534
45535         * modules/getpass-gnu (Depends-on): Add fseeko.
45536
45537 2008-05-19  Simon Josefsson  <simon@josefsson.org>
45538
45539         * modules/base64-tests: New file.
45540
45541 2008-05-19  Bo Borgerson <gigabo@gmail.com>
45542
45543         * lib/base64.c (base64_decode_ctx): If a decode context structure
45544         was passed in use it to ignore newlines.  If a context structure
45545         was _not_ passed in, continue to treat newlines as garbage (this
45546         is the historical behavior).  Formerly base64_decode.
45547         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
45548         takes a decode context structure.
45549         * lib/base64.h (base64_decode): Macro for four-argument calls.
45550         (base64_decode_alloc): Likewise.
45551         * lib/base64.c (base64_decode_ctx): If a decode context structure
45552         was passed in use it to ignore newlines.  If a context structure
45553         was _not_ passed in, continue to treat newlines as garbage (this
45554         is the historical behavior).  Formerly base64_decode.
45555         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
45556         takes a decode context structure.
45557         * lib/base64.h (base64_decode): Macro for four-argument calls.
45558         (base64_decode_alloc): Likewise.
45559
45560 2008-05-19  Jim Meyering  <meyering@redhat.com>
45561
45562         avoid a warning from gcc
45563         * lib/trim.c (IF_LINT): Define.
45564         (trim2): Use it to avoid a "may be used uninitialized" warning.
45565
45566         Fix doc typo.
45567         * doc/glibc-functions/getpass.texi (getpass): s/PATH_MAX/PASS_MAX/.
45568
45569 2008-05-19  Bruno Haible  <bruno@clisp.org>
45570
45571         * doc/glibc-functions/getpass.texi: Document limits of other
45572         implementations.
45573
45574 2008-05-19  Simon Josefsson  <simon@josefsson.org>
45575             Bruno Haible <bruno@clisp.org>
45576
45577         * doc/glibc-functions/getpass.texi: Document gnulib implementation.
45578
45579 2008-05-18  Bruno Haible  <bruno@clisp.org>
45580
45581         * modules/propername: New file, from GNU gettext.
45582         * lib/propername.h: New file, from GNU gettext.
45583         * lib/propername.c: New file, from GNU gettext.
45584         * MODULES.html.sh (Internationalization functions): Add propername.
45585
45586 2008-05-16  Jim Meyering  <meyering@redhat.com>
45587             Bruno Haible  <bruno@clisp.org>
45588
45589         Avoid some warnings from "gcc -Wshadow".
45590         * lib/vasnprintf.c (exp, remainder): Define to different identifiers.
45591
45592 2008-05-15  Eric Blake  <ebb9@byu.net>
45593
45594         Extend previous patch to cygwin 1.7.0.
45595         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a
45596         fast implementation in cygwin >= 1.7.0.
45597         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
45598         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
45599
45600 2008-05-15  Bruno Haible  <bruno@clisp.org>
45601
45602         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a fast
45603         implementation in glibc >= 2.9.
45604         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
45605         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
45606
45607 2008-05-15  Bruno Haible  <bruno@clisp.org>
45608
45609         * MODULES.html.sh (Internationalization functions): Remove linebreak.
45610         (Unicode string functions): Add unilbrk/*.
45611         Reported by Karl Berry.
45612
45613 2008-05-15  Eric Blake  <ebb9@byu.net>
45614
45615         Fix violation of <stdbool.h> replacement in regex.
45616         * lib/regcomp.c (re_compile_internal): Avoid implicit cast to bool.
45617         * lib/regexec.c (re_search_internal): Likewise.
45618         Reported by Heinrich Mislik <Heinrich.Mislik@univie.ac.at>.
45619
45620 2008-05-15  Jim Meyering  <meyering@redhat.com>
45621
45622         avoid distracting test output when git or cvs is not found
45623         * tests/test-vc-list-files-cvs.sh: Suppress 'init' error output.
45624         * tests/test-vc-list-files-git.sh: Likewise.
45625
45626 2008-05-15  Eric Blake  <ebb9@byu.net>
45627
45628         Glibc finally accepted the memmem speedup code, bugzilla #5514.
45629         * doc/glibc-functions/memmem.texi (memmem): Mention last broken
45630         glibc version.
45631         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
45632         * doc/posix-functions/strstr.texi (strstr): Likewise.
45633         * lib/str-two-way.h (MAX): Sychronize with glibc.
45634
45635 2008-05-15  Paolo Bonzini  <bonzini@gnu.org>
45636
45637         * lib/regcomp.c (optimize_utf8): Add a note on why we test
45638         opr.ctx_type.
45639         (calc_first): Initialize constraint field.
45640         (duplicate_node_closure): Use it instead of special casing ANCHORS.
45641         Fix grammar.
45642         (duplicate_node): Merge constraint field for all node types.
45643         (calc_eclosure_iter): Look at constraint field for all node types.
45644         * lib/regex_internal.c (create_cd_newstate): Don't look at
45645         opr.ctx_type.
45646
45647 2008-05-14  Bruno Haible  <bruno@clisp.org>
45648
45649         Help GCC to do better code generation.
45650         * lib/eealloc.h (eemalloc) [GCC >= 3]: Declare with attribute 'malloc'.
45651         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
45652         * lib/xalloc.h (ATTRIBUTE_MALLOC): New macro.
45653         (xmalloc, xzalloc, xcalloc, xmemdup, xstrdup, xnmalloc, xcharalloc):
45654         Declare with attribute 'malloc' if supported.
45655
45656 2008-05-14  Lasse Collin  <lasse.collin@tukaani.org>
45657
45658         use "echo STR|wc -c" rather than unportable "expr length STR"
45659         * build-aux/mktempd (mktempd): Vendor-supplied expr from at least
45660         OpenBSD 4.3 and Solaris 10 do not honor expr's "length" function.
45661
45662 2008-05-14  Jim Meyering  <meyering@redhat.com>
45663
45664         use dd ibs=$n count=1 ... rather than less-portable head -c$n
45665         * build-aux/mktempd (rand_bytes): head's -cN option is not accepted
45666         by Solaris 10's /bin/head or by the one from HP-UX 11.x.
45667         Reported in http://sourceforge.net/forum/message.php?msg_id=4960334
45668         via Collin Lasse.
45669
45670 2008-05-14  Eric Blake  <ebb9@byu.net>
45671
45672         Avoid quadratic growth in gl_LIBSOURCES.
45673         * gnulib-tool (func_emit_initmacro_done): s/\(m4_append\)_uniq/\1/.
45674         Suggested by Bruno Haible.
45675
45676         Test xmemdup0.
45677         * modules/xmemdup0-tests: New file.
45678         * tests/test-xmemdup0.c: Likewise.
45679
45680 2008-05-13  Eric Blake  <ebb9@byu.net>
45681
45682         Split xmemdup0 into its own module.
45683         * modules/xmemdup0: New file.
45684         * lib/xmemdup0.h: Likewise.
45685         * lib/xmemdup0.c: Likewise.
45686         * MODULES.html.sh (Memory management functions): Add xmemdup0.
45687         * lib/xalloc.h (xmemdup0): Remove.
45688         * lib/xmalloc.c (xmemdup0): Likewise.
45689
45690 2008-05-13  Eric Blake  <ebb9@byu.net>
45691             Bruno Haible  <bruno@clisp.org>
45692
45693         Reduce number of forks required during autoconf.
45694         * gnulib-tool (func_emit_initmacro_start): Prepare gl_LIBSOURCES_LIST
45695         and gl_LIBSOURCES_DIR.
45696         (func_emit_initmacro_end): Use them here in a single m4_syscmd...
45697         (func_emit_initmacro_done) <gl_LIBSOURCES>: ...rather than in one
45698         m4_syscmd per file.
45699         <m4_foreach_w>: Move...
45700         * m4/gnulib-common.m4 (m4_foreach_w): ...here.
45701
45702 2008-05-13  Eric Blake  <ebb9@byu.net>
45703
45704         * gnulib-tool: Fix various comment typos.
45705
45706 2008-05-12  Bruno Haible  <bruno@clisp.org>
45707
45708         Tailor the linebreaking algorithm.
45709         * lib/unilbrk/tables.c (unilbrk_table): Change (IS,AL) entry.
45710
45711 2008-05-12  Bruno Haible  <bruno@clisp.org>
45712
45713         Update to Unicode 5.0.0.
45714         * lib/unilbrk/tables.h (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
45715         LBP_JV, LBP_JT. Redistribute values.
45716         (unilbrk_table): Change size.
45717         * lib/unilbrk/tables.c (unilbrk_table): Change size. Update to match
45718         Unicode TR#14 rev. 22.
45719         * lib/unilbrk/gen-lbrk.c (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
45720         LBP_JV, LBP_JT. Redistribute values.
45721         (get_lbp): Update to match Unicode TR#14 rev. 21/22 and Unicode 5.0.0.
45722         (debug_output_lbp, fill_org_lbp, debug_output_org_lbp, output_lbp):
45723         Update.
45724         * lib/unilbrk/lbrkprop1.h: Regenerated.
45725         * lib/unilbrk/lbrkprop2.h: Regenerated.
45726         * lib/unilbrk/u8-possible-linebreaks.c (u8_possible_linebreaks):
45727         Change handling of LBP_CM after LBP_ZW. Update for new value of LBP_BK.
45728         * lib/unilbrk/u16-possible-linebreaks.c (u16_possible_linebreaks):
45729         Likewise.
45730         * lib/unilbrk/u32-possible-linebreaks.c (u32_possible_linebreaks):
45731         Likewise.
45732         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update expected
45733         result.
45734         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
45735         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
45736         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
45737         * tests/unilbrk/test-u8-width-linebreaks.c (main): Likewise.
45738         * tests/unilbrk/test-u16-width-linebreaks.c (main): Likewise.
45739         * tests/unilbrk/test-u32-width-linebreaks.c (main): Likewise.
45740
45741 2008-05-11  Bruno Haible  <bruno@clisp.org>
45742
45743         * lib/unilbrk/gen-lbrk.c (output_lbp): Fix whitespace.
45744
45745 2008-05-11  Bruno Haible  <bruno@clisp.org>
45746
45747         * lib/unilbrk/gen-lbrk.c: New file, from GNU gettext (gen-lbrkprop.c).
45748         * modules/unilbrk/gen-lbrk: New file.
45749
45750 2008-05-11  Bruno Haible  <bruno@clisp.org>
45751
45752         * m4/sha256.m4 (gl_SHA256): Require AC_C_INLINE.
45753         * m4/sha512.m4 (gl_SHA512): Likewise.
45754
45755 2008-05-11  Jim Meyering  <meyering@redhat.com>
45756
45757         New modules: crypto/sha256, crypto/sha512 (from coreutils)
45758         * modules/crypto/sha256: New file.
45759         * modules/crypto/sha512: Likewise.
45760         * lib/sha256.c: Likewise.
45761         * lib/sha256.h: Likewise.
45762         * lib/sha512.c: Likewise.
45763         * lib/sha512.h: Likewise.
45764         * lib/u64.h: Likewise.
45765         * m4/sha256.m4: Likewise.
45766         * m4/sha512.m4: Likewise.
45767         * MODULES.html.sh (Cryptographic computations (low-level)): List them.
45768
45769 2008-05-10  Bruno Haible  <bruno@clisp.org>
45770
45771         * MODULES.html.sh (Environment variables <stdlib.h>): Add unsetenv.
45772         (Input/Output <stdio.h>): Add xprintf.
45773         (Signal handling <signal.h>): Add strsignal.
45774         (Cryptographic computations (high-level)): Add crypto/gc-camellia.
45775         (Core language properties): Add func.
45776         (Mathematics <math.h>): Add ceil, floor, frexp-nolibm.
45777         (Support for systems lacking POSIX:2001): Add environ, EOVERFLOW,
45778         strings.
45779         (Enhancements for POSIX:2001 functions): Add iconv_open-utf.
45780         (Input/output): New section.
45781         (File system functions): Add openat-die, stat-macros.
45782         (Networking functions): Add sockets.
45783         (Unicode string functions): Add unictype/*.
45784         (Support for building libraries and executables): Add gperf.
45785         (Support for building documentation): Add agpl-3.0.
45786         (Misc): Add nocrash.
45787
45788 2008-05-10  Bruno Haible  <bruno@clisp.org>
45789
45790         * modules/unictype/gen-ctype: New file.
45791
45792 2008-05-10  Jim Meyering  <meyering@redhat.com>
45793
45794         Make chdir-safer.c more efficient on a system with no symlinks.
45795         * lib/chdir-safer.c (chdir_no_follow): Skip lstat and fstat calls
45796         also if ELOOP is zero.  Suggested by Bruno Haible.
45797
45798         Make chdir-safer.c slightly safer.
45799         * lib/chdir-safer.c (chdir_no_follow): Test HAVE_WORKING_O_NOFOLLOW,
45800         not O_NOFOLLOW, in case the latter is nonzero and open ignores it.
45801
45802         Avoid compile failure on systems without ELOOP (like mingw).
45803         * lib/chdir-safer.c (ELOOP): Define if not already defined.
45804         Reported by Bruno Haible.
45805
45806 2008-05-10  Bruno Haible  <bruno@clisp.org>
45807
45808         * lib/unilbrk/ulc-common.c: Include c-strcaseeq.h instead of streq.h.
45809         (is_utf8_encoding): Use a case-insensitive comparison.
45810         * modules/unilbrk/ulc-common (Depends-on): Add c-strcaseeq. Remove
45811         streq.
45812
45813 2008-05-10  Bruno Haible  <bruno@clisp.org>
45814
45815         * lib/unilbrk/ulc-common.c: Don't include <stdlib.h>.
45816         (iconv_string_length, iconv_string_keeping_offsets): Remove functions.
45817         * lib/unilbrk/ulc-common.h (iconv_string_length,
45818         iconv_string_keeping_offsets): Remove declarations.
45819         * lib/unilbrk/ulc-possible-linebreaks.c: Include <string.h>, uniconv.h.
45820         Don't include <iconv.h>, streq.h, xsize.h.
45821         (ulc_possible_linebreaks): Use u8_conv_from_encoding for doing the
45822         conversion.
45823         * lib/unilbrk/ulc-width-linebreaks.c: Include uniconv.h. Don't include
45824         <iconv.h>, streq.h, xsize.h.
45825         (ulc_width_linebreaks): Use u8_conv_from_encoding for doing the
45826         conversion.
45827         * modules/unilbrk/ulc-common (Depends-on): Remove iconv.
45828         * modules/unilbrk/ulc-possible-linebreaks (Depends-on): Add
45829         uniconv/u8-conv-from-enc. Remove iconv_open, streq, xsize.
45830         * modules/unilbrk/ulc-width-linebreaks (Depends-on): Likewise.
45831
45832 2008-05-10  Bruno Haible  <bruno@clisp.org>
45833
45834         * modules/unilbrk/ulc-width-linebreaks-tests: New file.
45835         * tests/unilbrk/test-ulc-width-linebreaks.c: New file.
45836
45837         * modules/unilbrk/u32-width-linebreaks-tests: New file.
45838         * tests/unilbrk/test-u32-width-linebreaks.c: New file.
45839
45840         * modules/unilbrk/u16-width-linebreaks-tests: New file.
45841         * tests/unilbrk/test-u16-width-linebreaks.c: New file.
45842
45843         * modules/unilbrk/u8-width-linebreaks-tests: New file.
45844         * tests/unilbrk/test-u8-width-linebreaks.c: New file.
45845
45846         * modules/unilbrk/ulc-possible-linebreaks-tests: New file.
45847         * tests/unilbrk/test-ulc-possible-linebreaks.c: New file.
45848
45849         * modules/unilbrk/u32-possible-linebreaks-tests: New file.
45850         * tests/unilbrk/test-u32-possible-linebreaks.c: New file.
45851
45852         * modules/unilbrk/u16-possible-linebreaks-tests: New file.
45853         * tests/unilbrk/test-u16-possible-linebreaks.c: New file.
45854
45855         * modules/unilbrk/u8-possible-linebreaks-tests: New file.
45856         * tests/unilbrk/test-u8-possible-linebreaks.c: New file.
45857
45858 2008-05-10  Bruno Haible  <bruno@clisp.org>
45859
45860         Split up 'linebreak' module.
45861         * lib/unilbrk.h: New file, based on lib/linebreak.h.
45862         * lib/unilbrk/lbrkprop1.h: New file, extracted from lib/lbrkprop.h.
45863         * lib/unilbrk/lbrkprop2.h: New file, renamed from lib/lbrkprop.h with
45864         modifications.
45865         * lib/unilbrk/tables.h: New file, extracted from lib/linebreak.c.
45866         * lib/unilbrk/tables.c: New file, extracted from lib/linebreak.c.
45867         * lib/unilbrk/u8-possible-linebreaks.c: New file, extracted from
45868         lib/linebreak.c.
45869         * lib/unilbrk/u16-possible-linebreaks.c: New file, extracted from
45870         lib/linebreak.c.
45871         * lib/unilbrk/u32-possible-linebreaks.c: New file, extracted from
45872         lib/linebreak.c.
45873         * lib/unilbrk/ulc-common.h: New file, extracted from lib/linebreak.c.
45874         * lib/unilbrk/ulc-common.c: New file, extracted from lib/linebreak.c.
45875         * lib/unilbrk/ulc-possible-linebreaks.c: New file, extracted from
45876         lib/linebreak.c.
45877         * lib/unilbrk/u8-width-linebreaks.c: New file, extracted from
45878         lib/linebreak.c.
45879         * lib/unilbrk/u16-width-linebreaks.c: New file, extracted from
45880         lib/linebreak.c.
45881         * lib/unilbrk/u32-width-linebreaks.c: New file, extracted from
45882         lib/linebreak.c.
45883         * lib/unilbrk/ulc-width-linebreaks.c: New file, extracted from
45884         lib/linebreak.c.
45885         * modules/unilbrk/base: New file.
45886         * modules/unilbrk/tables: New file.
45887         * modules/unilbrk/u8-possible-linebreaks: New file.
45888         * modules/unilbrk/u16-possible-linebreaks: New file.
45889         * modules/unilbrk/u32-possible-linebreaks: New file.
45890         * modules/unilbrk/ulc-common: New file.
45891         * modules/unilbrk/ulc-possible-linebreaks: New file.
45892         * modules/unilbrk/u8-width-linebreaks: New file.
45893         * modules/unilbrk/u16-width-linebreaks: New file.
45894         * modules/unilbrk/u32-width-linebreaks: New file.
45895         * modules/unilbrk/ulc-width-linebreaks: New file.
45896         * lib/linebreak.h: Remove file.
45897         * lib/linebreak.c: Remove file.
45898         * m4/linebreak.m4: Remove file.
45899         * modules/linebreak: Remove file.
45900         * NEWS: Mention the changes.
45901
45902 2008-05-09  Eric Blake  <ebb9@byu.net>
45903
45904         Add xmemdup0.
45905         * lib/xalloc.h (xmemdup0): New prototype and C++ typesafe
45906         implementation.
45907         * lib/xmalloc.c (xmemdup0): New C implementation.
45908
45909 2008-05-08  Bruno Haible  <bruno@clisp.org>
45910
45911         * m4/wctype.m4 (gl_WCTYPE_H): Correct indentation.
45912
45913 2008-05-07  Eric Blake  <ebb9@byu.net>
45914
45915         Support cross-compilation of <wctype.h>.
45916         * m4/wctype.m4 (gl_WCTYPE_H): Fix improper nesting in
45917         AC_CACHE_CHECK.
45918
45919 2008-05-06  Soren Hansen  <soren@ubuntu.com>  (tiny change)
45920
45921         * build-aux/vc-list-files: Add support for bzr.
45922
45923 2008-05-03  Jim Meyering  <meyering@redhat.com>
45924
45925         avoid failed assertion with tight malloc
45926         * tests/test-getndelim2.c: Correct an off-by-one assertion.
45927
45928 2008-05-03  Simon Josefsson  <simon@josefsson.org>
45929
45930         * m4/inet_pton.m4: Set HAVE_DECL_INET_PTON to 0 when declarations
45931         are needed from arpa/inet.h.
45932         * m4/inet_ntop.m4: Likewise, for HAVE_DECL_INET_NTOP.
45933         Reported by Bruno Haible.
45934
45935 2008-05-02  Jim Meyering  <meyering@redhat.com>
45936
45937         avoid compilation error on FreeBSD 6
45938         * tests/test-getaddrinfo.c [!defined EAI_NODATA] (EAI_NODATA): Define.
45939
45940 2008-05-01  Jim Meyering  <meyering@redhat.com>
45941
45942         useless-if-before-free: correct --help's exit status description
45943         * build-aux/useless-if-before-free (usage): Like grep, exit 0
45944         for one or more matches, etc.  Reported by Bruno Haible.
45945
45946         vc-list-files: make the stand-alone gnulib test work
45947         * modules/vc-list-files-tests (configure.ac):
45948         Define and AC_SUBST abs_aux_dir.
45949         (Makefile.am) [TESTS_ENVIRONMENT]: Rather than passing
45950         $(abs_top_srcdir) to each script and having each of them
45951         duplicate the work of setting PATH, set PATH here, using
45952         the new variable, abs_aux_dir instead.
45953         * tests/test-vc-list-files-cvs.sh: Don't set PATH here.
45954         * tests/test-vc-list-files-git.sh: Likewise.
45955         Reported by Bruno Haible.
45956
45957 2008-05-01  Bruno Haible  <bruno@clisp.org>
45958
45959         * lib/getndelim2.c (getndelim2): Fix newsize computation during
45960         reallocation. Rename 'done' to 'found_delimiter'.
45961
45962 2008-05-01  Jim Meyering  <meyering@redhat.com>
45963
45964         vc-list-files: accommodate /bin/sh like the one from Solaris 10
45965         * build-aux/vc-list-files: Use `...`, not $(...).
45966
45967 2008-04-30  Jim Meyering  <meyering@redhat.com>
45968
45969         add tests for vc-list-files
45970         * modules/vc-list-files-tests: New module.
45971         * tests/test-vc-list-files-cvs.sh: New file.
45972         * tests/test-vc-list-files-git.sh: New file.
45973
45974         avoid a warning from gcc
45975         * lib/getndelim2.c (IF_LINT): Define.
45976         (getndelim2): Use it to avoid a "may be used uninitialized" warning.
45977
45978         vc-list-files: work properly with build-aux/cvsu, too
45979         * build-aux/vc-list-files: Hoist the "./"-removing code to apply
45980         to all cvs-based clauses.
45981
45982         vc-list-files: work properly in the CVS+awk case, too
45983         * build-aux/vc-list-files: In the CVS+awk case, remove "./" prefix.
45984
45985         vc-list-files: avoid use of ${*-*} that fails when /bin/sh is dash
45986         * build-aux/vc-list-files: Simplify ${*-*} to $dir, since we no longer
45987         take more than one file argument, so .  Add quotes, just in case $dir
45988         ever contains a shell meta-character.  Prompted by Soren Hansen in
45989         <http://thread.gmane.org/gmane.comp.emulators.libvirt/6221/focus=6240>.
45990
45991 2008-04-29  Eric Blake  <ebb9@byu.net>
45992
45993         Optimize getndelim2 to use block operations when possible.
45994         * modules/getndelim2 (Depends-on): Add stdbool, freadptr,
45995         freadseek, and memchr2.
45996         * lib/getndelim2.c (getndelim2): Use them for block reads.
45997
45998 2008-04-29  Bruno Haible  <bruno@clisp.org>
45999
46000         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_USE_SYSTEM_EXTENSIONS.
46001         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
46002         * modules/inet_ntop (Depends-on): Add extensions.
46003         * modules/inet_pton (Depends-on): Likewise.
46004         Reported by Simon Josefsson.
46005
46006 2008-04-29  Jim Meyering  <meyering@redhat.com>
46007
46008         When the is more than one match in a block, match all of them.
46009         * build-aux/useless-if-before-free: Iterate through each block
46010         until there are no more matches.
46011
46012         Fix broken useless-if-before-free script.
46013         * build-aux/useless-if-before-free: Fix typo: missing "?" after
46014         the expression to match cast of argument to free-like function.
46015
46016 2008-04-29  Eric Blake  <ebb9@byu.net>
46017
46018         Use new header.
46019         * lib/getaddrinfo.c (includes): s/"inet_ntop.h"/<arpa/inet.h>/.
46020
46021 2008-04-29  Jim Meyering  <meyering@redhat.com>
46022
46023         Avoid test segfault on x86_64 due to lack of inet_ntop declaration.
46024         * tests/test-getaddrinfo.c: Include <arpa/inet.h>, now guaranteed
46025         by gnulib to exist and to declare e.g., inet_ntop.
46026         Don't include "inet_ntop.h", now removed.
46027
46028         * m4/arpa_inet_h.m4: Remove trailing blanks.
46029
46030 2008-04-29  Eric Blake  <ebb9@byu.net>
46031
46032         Silence valgrind on safe reads beyond potential array bounds.
46033         * lib/rawmemchr.valgrind: New file.
46034         * lib/strchrnul.valgrind: Likewise.
46035         * modules/rawmemchr (Files): Distribute new file.
46036         * modules/strchrnul (Files): Likewise.
46037         Suggested by Bruno Haible.
46038
46039 2008-04-29  Bruno Haible  <bruno@clisp.org>
46040
46041         * lib/arpa_inet.in.h: Include system's <arpa/inet.h> if it exists.
46042         (inet_ntop, inet_pton): Change portability warning's wording.
46043         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Set HAVE_ARPA_INET_H.
46044         Invoke gl_CHECK_NEXT_HEADERS.
46045         (gl_ARPA_INET_H_DEFAULTS): Initialize ARPA_INET_H.
46046         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS and
46047         set ARPA_INET_H.
46048         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
46049         * modules/arpa_inet (Description): No longer only for systems that
46050         lack it.
46051         (Depends-on): Add include_next.
46052         (Makeile.am): Substitute INCLUDE_NEXT, NEXT_ARPA_INET_H,
46053         HAVE_ARPA_INET_H.
46054
46055 2008-04-29  Jim Meyering  <meyering@redhat.com>
46056
46057         * modules/mkdir (License): Re-license as LGPLv2+.
46058
46059 2008-04-29  Bruno Haible  <bruno@clisp.org>
46060
46061         * modules/rawmemchr (Maintainer): Set to Eric.
46062         * modules/strchrnul (Maintainer): Likewise.
46063
46064 2008-04-29  Simon Josefsson  <simon@josefsson.org>
46065
46066         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Set
46067         HAVE_DECL_INET_NTOP and HAVE_DECL_INET_PTON.
46068
46069         * modules/arpa_inet (arpa/inet.h): Use them.
46070
46071 2008-04-28  Eric Blake  <ebb9@byu.net>
46072
46073         Test getndelim2.
46074         * modules/getndelim2-tests: New file.
46075         * tests/test-getndelim2.c: Likewise.
46076         * lib/getndelim2.c (getndelim2): Never return 0.  Lock the
46077         stream.
46078         * m4/getndelim2.m4 (gl_GETNDELIM2): Check for lock functions.
46079
46080         * MODULES.html.sh: Document new module.
46081
46082 2008-04-20  Bruno Haible  <bruno@clisp.org>
46083
46084         * lib/c-stack.c (die): Use raise.
46085         * modules/c-stack (Depends-on): Add raise.
46086
46087 2008-04-28  Bruno Haible  <bruno@clisp.org>
46088
46089         Expect rpmatch to be declared.
46090         * lib/yesno.c (rpmatch): Remove declaration.
46091
46092         Declare rpmatch.
46093         * lib/stdlib.in.h (rpmatch): New declaration.
46094         * lib/rpmatch.c: Include <stdlib.h> first.
46095         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Require AC_USE_SYSTEM_EXTENSIONS and
46096         gl_STDLIB_H_DEFAULTS. Set HAVE_RPMATCH.
46097         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RPMATCH,
46098         HAVE_RPMATCH.
46099         * modules/rpmatch (Depends-on): Add stdlib, extensions.
46100         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
46101         (Include): Set to <stdlib.h>.
46102         * modules/stdlib (Makefile.am): Substitute GNULIB_RPMATCH and
46103         HAVE_RPMATCH.
46104         * NEWS: Document the change.
46105
46106 2008-04-28  Bruno Haible  <bruno@clisp.org>
46107
46108         Change rpmatch to use nl_langinfo when appropriate.
46109         * lib/rpmatch.c: Include stdbool.h, string.h, langinfo.h.
46110         (N_): New macro.
46111         (localized_pattern): New function/macro.
46112         (try): Remove match, nomatch arguments. Copy the pattern into safe
46113         memory before caching it.
46114         (rpmatch): Use localized_pattern. Add translator comments.
46115         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Test for nl_langinfo and YESEXPR.
46116         Suggested by Eric Blake.
46117         * modules/rpmatch (Depends-on): Add stdbool.
46118
46119 2008-04-28  Eric Blake  <ebb9@byu.net>
46120
46121         Add rawmemchr module, matching glibc.
46122         * modules/string (Makefile.am): New indicator.
46123         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set it.
46124         * lib/string.in.h (rawmemchr): Declare when appropriate.
46125         * modules/rawmemchr: New file.
46126         * m4/rawmemchr.m4: Likewise.
46127         * lib/rawmemchr.c: Likewise.
46128         * modules/rawmemchr-tests: Likewise.
46129         * tests/test-rawmemchr.c: Likewise.
46130         * doc/glibc-functions/rawmemchr.texi (rawmemchr): Document
46131         module.
46132         * modules/strchrnul (Depends-on): Add rawmemchr.
46133         * lib/strchrnul.c (strchrnul): Optimize a corner case.
46134
46135         Whitespace cleanup.
46136         * tests/test-strchrnul.c: Reindent.
46137         * lib/strchrnul.c: Likewise.
46138
46139         Optimize and test strchrnul.
46140         * lib/strchrnul.c (strchrnul): Rewrite to do parallel search.
46141         * modules/strchrnul-tests: New file.
46142         * tests/test-strchrnul.c: Likewise.
46143
46144         Remove intprops dependency.
46145         * modules/memchr (Depends-on): Remove intprops.
46146         * modules/memrchr (Depends-on): Likewise.
46147         * modules/memchr2 (Depends-on): Likewise.
46148         * lib/memchr.c (__memchr): Hand-inline the TYPE_MAXIMUM check.
46149         * lib/memrchr.c (__memrchr): Likewise.
46150         * lib/memrchr2.c (memchr2): Likewise.
46151         Reported by Simon Josefsson.
46152
46153 2008-04-28  Simon Josefsson  <simon@josefsson.org>
46154
46155         * m4/sys_socket_h.m4: Move AC_REQUIRE([AC_C_INLINE]) to top.
46156         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
46157
46158 2008-04-28  Simon Josefsson  <simon@josefsson.org>
46159
46160         * lib/inet_ntop.h, lib/inet_pton.h: Remove files.
46161
46162         * lib/inet_ntop.c: Include arpa/inet.h instead of inet_ntop.h.
46163
46164         * lib/inet_pton.c: Include arpa/inet.h instead of inet_pton.h.
46165
46166         * lib/arpa_inet.in.h [@GNULIB_INET_NTOP@]: Inline inet_ntop.h
46167         declarations.
46168         [@GNULIB_INET_PTON@]: Inline inet_pton.h declarations.
46169
46170         * m4/inet_pton.m4: Don't check for header files.
46171
46172         * m4/inet_ntop.m4: Don't check for header files.
46173
46174 2008-04-28  Simon Josefsson  <simon@josefsson.org>
46175
46176         * m4/sys_socket_h.m4: Require AC_C_INLINE when necessary.
46177         * lib/sys_socket.in.h (setsockopt): Use proper win32 tests (don't
46178         trigger for cygwin).
46179         Reported by Bruno Haible  <bruno@clisp.org>.
46180
46181 2008-04-28  Bruno Haible  <bruno@clisp.org>
46182
46183         * doc/posix-functions/strdup.texi: Mention mingw problem.
46184
46185 2008-04-27  Bruno Haible  <bruno@clisp.org>
46186
46187         * modules/stat-time-tests (Depends-on): Add sleep.
46188         * tests/test-stat-time.c (force_unlink): New function.
46189         (cleanup): Use it.
46190         (test_mtime): Remove the ctime related tests.
46191         (test_ctime): New function, containing the ctime related tests.
46192         (main): Call test_ctime, except on native Windows platforms.
46193
46194 2008-04-27  Bruno Haible  <bruno@clisp.org>
46195
46196         * lib/rpmatch.c (rpmatch): Add some comments.
46197         Reported by James Youngman <jay@gnu.org>.
46198
46199 2008-04-27  Bruno Haible  <bruno@clisp.org>
46200
46201         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Also test the behaviour on
46202         quiet NaNs.
46203
46204 2008-04-27  Bruno Haible  <bruno@clisp.org>
46205
46206         Make test-yesno.sh work on mingw.
46207         * tests/test-yesno.sh: Postprocess the output to convert CR/LF to LF.
46208         * tests/test-yesno.c: Include yesno.h first. Include binary-io.h.
46209         (main): Set stdin to binary mode.
46210         * modules/yesno-tests (Depends-on): Add binary-io.
46211
46212 2008-04-27  Bruno Haible  <bruno@clisp.org>
46213
46214         Fix 'isfinite' on x86, x86_64, ia64 platforms.
46215         * tests/test-isfinite.c (test_isfinitel): Also test the behavior on
46216         argument that lie outside the IEEE 854 domain.
46217         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): New macro.
46218         (gl_ISFINITE): Use it.
46219         * doc/posix-functions/isfinite.texi: Document the fixed bugs.
46220
46221 2008-04-27  Bruno Haible  <bruno@clisp.org>
46222
46223         Allow local renaming in config.h.
46224         * lib/memrchr.c (memrchr): Don't undefine outside libc.
46225
46226 2008-04-27  Bruno Haible  <bruno@clisp.org>
46227
46228         * lib/memchr.c (__memchr): Change type of 'i'.
46229         * lib/memchr2.c (memchr2): Likewise.
46230
46231 2008-04-26  Eric Blake  <ebb9@byu.net>
46232         and Bruno Haible  <bruno@clisp.org>
46233
46234         Optimize and test memrchr.
46235         * modules/memrchr (Depends-on): Add intprops.
46236         * lib/memrchr.c (__memrchr): Avoid false positives in loop.
46237         * modules/memrchr-tests: New file.
46238         * tests/test-memrchr.c: New file.
46239
46240 2008-04-26  Bruno Haible  <bruno@clisp.org>
46241
46242         Add tentative support for DragonFly BSD.
46243         * lib/stdio-impl.h: Add macros for DragonFly BSD.
46244         * lib/fbufmode.c (fbufmode): Update conditionals. Use fp_ instead of
46245         fp.
46246         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
46247         restore_seek_optimization, update_fpos_cache, rpl_fflush: Likewise.
46248         * lib/fpurge.c (fpurge): Likewise.
46249         * lib/freadable.c (freaadable): Likewise.
46250         * lib/freadahead.c (freadahead): Likewise.
46251         * lib/freading.c (freading): Likewise.
46252         * lib/freadptr.c (freadptr): Likewise.
46253         * lib/freadseek.c (freadptrinc): Likewise.
46254         * lib/fseeko.c (fseeko): Likewise.
46255         * lib/fseterr.c (fseterr): Likewise.
46256         * lib/fwritable.c (fwritable): Likewise.
46257         * lib/fwriting.c (fwriting): Likewise.
46258
46259 2008-04-26  Bruno Haible  <bruno@clisp.org>
46260
46261         * lib/stdio-impl.h: New file.
46262         * lib/fbufmode.c: Include stdio-impl.h.
46263         (fbufmode): Use fp_, remove redundant #defines.
46264         * lib/fflush.c: Include stdio-impl.h.
46265         (clear_ungetc_buffer): Remove redundant #defines.
46266         * lib/fpurge.c: Include stdio-impl.h.
46267         (fpurge): Remove redundant #defines.
46268         * lib/freadable.c: Include stdio-impl.h.
46269         (freadable): Remove redundant #defines.
46270         * lib/freadahead.c: Include stdio-impl.h.
46271         (freadahead): Remove redundant #defines.
46272         * lib/freading.c: Include stdio-impl.h.
46273         (freading): Remove redundant #defines.
46274         * lib/freadptr.c: Include stdio-impl.h.
46275         (freadptr): Remove redundant #defines.
46276         * lib/freadseek.c: Include stdio-impl.h.
46277         (freadptrinc): Remove redundant #defines.
46278         * lib/fseeko.c: Include stdio-impl.h.
46279         (rpl_fseeko): Remove redundant #defines.
46280         * lib/fseterr.c: Include stdio-impl.h.
46281         (fseterr): Remove redundant #defines.
46282         * lib/fwritable.c: Include stdio-impl.h.
46283         (fwritable: Remove redundant #defines.
46284         * lib/fwriting.c: Include stdio-impl.h.
46285         (fwriting): Remove redundant #defines.
46286         * modules/fbufmode (Files): Add lib/stdio-impl.h.
46287         * modules/fflush (Files): Likewise.
46288         * modules/fpurge (Files): Likewise.
46289         * modules/freadable (Files): Likewise.
46290         * modules/freadahead (Files): Likewise.
46291         * modules/freading (Files): Likewise.
46292         * modules/freadptr (Files): Likewise.
46293         * modules/freadseek (Files): Likewise.
46294         * modules/fseeko (Files): Likewise.
46295         * modules/fseterr (Files): Likewise.
46296         * modules/fwritable (Files): Likewise.
46297         * modules/fwriting (Files): Likewise.
46298
46299 2008-04-26  Bruno Haible  <bruno@clisp.org>
46300
46301         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
46302         restore_seek_optimization, update_fpos_cache): New functions, extracted
46303         from rpl_fflush.
46304         (rpl_fflush): Use them.
46305         * m4/fflush.m4 (gl_PREREQ_FFLUSH): New macro.
46306         (gl_REPLACE_FFLUSH): Use it.
46307
46308 2008-04-26  Bruno Haible  <bruno@clisp.org>
46309
46310         * tests/test-xstrtol.sh: Work around limitation of an old 'tr' program
46311         on Solaris.
46312         * tests/test-xstrtoimax.sh: Likewise.
46313         * tests/test-xstrtoumax.sh: Likewise.
46314         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
46315
46316 2008-04-26  Bruno Haible  <bruno@clisp.org>
46317
46318         * modules/memchr-tests: New file.
46319         * tests/test-memchr.c; New file, based on tests/test-memchr2.c.
46320
46321 2008-04-26  Eric Blake  <ebb9@byu.net>
46322             Bruno Haible  <bruno@clisp.org>
46323
46324         * lib/memchr.c: Include intprops.h.
46325         (__memchr): Optimize parallel detection of matching bytes. Rename local
46326         variables. Add explanatory comments.
46327
46328 2008-04-26  Bruno Haible  <bruno@clisp.org>
46329
46330         Fix module 'memchr', broken since 2000-10-28.
46331         * lib/memchr.c: Outside glibc, define memchr, not __memchr.
46332
46333 2008-04-26  Bruno Haible  <bruno@clisp.org>
46334
46335         * lib/memchr2.c (memchr2): Rename local variables. Add explanatory
46336         comments.
46337
46338 2008-04-25  Eric Blake  <ebb9@byu.net>
46339
46340         Use native fstatat on cygwin 1.7.0.
46341         * m4/openat.m4 (gl_FUNC_OPENAT): Make sure lstat check is made
46342         first.
46343
46344 2008-04-23  Eric Blake  <ebb9@byu.net>
46345
46346         Improve memchr2 performance.
46347         * lib/memchr2.c (memchr2): Further optimize parallel detection of
46348         NUL bytes.
46349         * modules/memchr2 (Depends-on): Use intprops.h.
46350
46351 2008-04-23  Simon Josefsson  <simon@josefsson.org>
46352
46353         * lib/sys_socket.in.h (setsockopt): Be more type safe by declaring
46354         an inline function instead of a CPP macro.  Patch by Ben Pfaff
46355         <blp@cs.stanford.edu>.
46356
46357 2008-04-23  Simon Josefsson  <simon@josefsson.org>
46358
46359         * lib/arpa_inet.in.h: New file.
46360
46361         * modules/arpa_inet (Files): Add lib/arpa_inet.in.h.
46362         (Makefile.am): Sed in substitute header file.
46363
46364         * m4/arpa_inet_h.m4: Add gl_ARPA_INET_H_DEFAULTS and
46365         gl_ARPA_INET_MODULE_INDICATOR.  Use them.
46366
46367         * modules/inet_ntop (configure.ac): Use
46368         gl_ARPA_INET_MODULE_INDICATOR.
46369
46370         * modules/inet_pton (configure.ac): Use
46371         gl_ARPA_INET_MODULE_INDICATOR.
46372
46373 2008-04-22  Jim Meyering  <meyering@redhat.com>
46374
46375         * modules/verify (License): Re-license as LGPLv2+.
46376
46377 2008-04-22  Simon Josefsson  <simon@josefsson.org>
46378
46379         * lib/sys_socket.in.h: Define setsockopt macro to cast fourth
46380         parameter to void* as per POSIX standard (MinGW uses char*).
46381
46382 2008-04-21  Bruno Haible  <bruno@clisp.org>
46383
46384         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
46385         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
46386         Define to replacements if REPLACE_ISWCNTRL is 1.
46387         * m4/wctype.m4 (gl_WCTYPE_H): Test whether the isw* functions work.
46388         If not, set WCTYPE_H to nonempty and REPLACE_ISWCNTRL to 1.
46389         * modules/wctype (Makefile.am): Substitute REPLACE_ISWCNTRL.
46390         * doc/posix-functions/iswalnum.texi: Mention the 'wctype' module and
46391         what it fixes.
46392         * doc/posix-functions/iswalpha.texi: Likewise.
46393         * doc/posix-functions/iswblank.texi: Likewise.
46394         * doc/posix-functions/iswcntrl.texi: Likewise.
46395         * doc/posix-functions/iswdigit.texi: Likewise.
46396         * doc/posix-functions/iswgraph.texi: Likewise.
46397         * doc/posix-functions/iswlower.texi: Likewise.
46398         * doc/posix-functions/iswprint.texi: Likewise.
46399         * doc/posix-functions/iswpunct.texi: Likewise.
46400         * doc/posix-functions/iswspace.texi: Likewise.
46401         * doc/posix-functions/iswupper.texi: Likewise.
46402         * doc/posix-functions/iswxdigit.texi: Likewise.
46403         Reported by Alain Guibert.
46404
46405 2008-04-21  Bruno Haible  <bruno@clisp.org>
46406
46407         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Fix typo in last commit.
46408         Patch by Alain Guibert.
46409
46410 2008-04-21  Bruno Haible  <bruno@clisp.org>
46411
46412         Fix test failures on mingw.
46413         * tests/test-xstrtol.c (print_no_progname): New function.
46414         (main): Install it in error_print_progname hook.
46415         * tests/test-xstrtol.sh: Convert CR/LF to NL in output.
46416         * tests/test-xstrtoimax.sh: Likewise.
46417         * tests/test-xstrtoumax.sh: Likewise.
46418
46419 2008-04-21  Bruno Haible  <bruno@clisp.org>
46420
46421         Fix test failure on mingw.
46422         * tests/test-argp-2.sh (func_compare): Remove CRs from sed's output.
46423
46424 2008-04-21  Bruno Haible  <bruno@clisp.org>
46425
46426         * lib/localename.c (SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN):
46427         Actually assign a value.
46428
46429 2008-04-20  Bruno Haible  <bruno@clisp.org>
46430
46431         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl',
46432         take 2.
46433         * lib/canonicalize.c (canonicalize_file_name): Elide if the
46434         'canonicalize-lgpl' module is also used.
46435         * lib/canonicalize-lgpl.c: Undo last change.
46436         * modules/canonicalize-lgpl (configure.ac): Invoke gl_MODULE_INDICATOR.
46437
46438 2008-04-20  Bruno Haible  <bruno@clisp.org>
46439
46440         * lib/mkdir.c (mkdir): Undefine after the includes, not right after
46441         config.h. Provide _mkdir based fallback for mingw.
46442         * lib/sys_stat.in.h (mkdir): Define through an 'extern' declaration
46443         if REPLACE_MKDIR is 1. Otherwise, test for mingw directly.
46444         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Require
46445         gl_SYS_STAT_H_DEFAULTS. When doing the replacement, set REPLACE_MKDIR
46446         rather than defining mkdir in config.h.
46447         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): New macro.
46448         (gl_SYS_STAT_H_DEFAULTS): New macro.
46449         (gl_HEADER_SYS_STAT_H): Require it. Don't set HAVE_DECL_MKDIR and
46450         HAVE_IO_H any more.
46451         * modules/sys_stat (Makefile.am): Substitute REPLACE_MKDIR instead of
46452         HAVE_DECL_MKDIR and HAVE_IO_H.
46453
46454 2008-04-20  Bruno Haible  <bruno@clisp.org>
46455
46456         * lib/isapipe.c: Port to native Windows platforms.
46457
46458 2008-04-20  Bruno Haible  <bruno@clisp.org>
46459
46460         * lib/gc-gnulib.c: Include <windows.h> before <wincrypt.h>.
46461
46462 2008-04-21  Eric Blake  <ebb9@byu.net>
46463
46464         Work around preprocessors that don't handle UINTMAX_MAX.
46465         * lib/memchr2.c (memchr2): Avoid embedded #if.
46466         Reported by Alain Guibert, fix suggested by Bruno Haible.
46467
46468 2008-04-21  Simon Josefsson  <simon@josefsson.org>
46469
46470         * doc/posix-functions/strftime.texi (strftime): Explain better
46471         Windows incompatibility.  Suggested by Micah Cowan
46472         <micah@cowan.name>.
46473
46474 2008-04-20  Bruno Haible  <bruno@clisp.org>
46475
46476         * modules/uniconv/u32-conv-to-enc (Depends-on): Add unistr/u32-mblen,
46477         unistr/u8-mblen.
46478
46479 2008-04-20  Bruno Haible  <bruno@clisp.org>
46480
46481         Fix test failure on platforms with non-GNU iconv.
46482         * lib/uniconv/u16-conv-to-enc.c (u16_to_u8_lenient): New function.
46483         (U_TO_U8): Use it, rather than u16_to_u8.
46484         * lib/uniconv/u-conv-to-enc.h (FUNC): Allow an incomplete sequence of
46485         units at the end of the input string.
46486         * modules/uniconv/u16-conv-to-enc (Depends-on): Update.
46487
46488 2008-04-20  Bruno Haible  <bruno@clisp.org>
46489
46490         * tests/uniconv/test-u8-conv-to-enc.c (main): Accept result == NULL
46491         when the resulting length is 0.
46492         * tests/uniconv/test-u16-conv-to-enc.c (main): Likewise.
46493
46494 2008-04-20  Bruno Haible  <bruno@clisp.org>
46495
46496         * m4/roundf.m4 (gl_FUNC_ROUNDF): Add test whether roundf actually
46497         works.
46498         * doc/posix-functions/roundf.texi: Mention roundf bug on mingw.
46499
46500 2008-04-20  Bruno Haible  <bruno@clisp.org>
46501
46502         * tests/test-tsearch.c (main): Don't use initstate if it is missing.
46503         * modules/tsearch-tests (configure.ac): Test for initstate function.
46504
46505 2008-04-20  Bruno Haible  <bruno@clisp.org>
46506
46507         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Also provided a substitute
46508         for nlink_t if missing.
46509         * tests/test-sys_stat.c: Check the existence of the nlink_t type.
46510
46511 2008-04-19  Bruno Haible  <bruno@clisp.org>
46512
46513         Work around snprintf bug on Linux libc5.
46514         * m4/printf.m4 (gl_SNPRINTF_SIZE1): New macro.
46515         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
46516         gl_SNPRINTF_SIZE1.
46517         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
46518         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Likewise. Replace snprintf if
46519         that test failed.
46520         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
46521         * lib/vasnprintf.c (USE_SNPRINTF): Set to 0 on Linux libc5 systems.
46522         * modules/snprintf (Files): Add m4/printf.m4.
46523         * modules/vsnprintf (Files): Likewise.
46524         * doc/posix-functions/snprintf.texi: Document Linux libc5 problem.
46525         * doc/posix-functions/vsnprintf.texi: Likewise.
46526
46527 2008-04-19  Bruno Haible  <bruno@clisp.org>
46528
46529         * lib/vasnprintf.c (floorlog10l, floorlog10): Reduce maximum error
46530         from 0.0058 to less than 10^-7.
46531
46532 2008-04-19  Bruno Haible  <bruno@clisp.org>
46533
46534         Fix rounding when a precision is given.
46535         * lib/vasnprintf.c (is_borderline): New function.
46536         (VASNPRINTF): For %e and %g, consider replacing the digits 10....0 with
46537         9...9x.
46538         * tests/test-vasnprintf-posix.c (test_function): Test rounding with %f,
46539         %e, %g.
46540         * tests/test-vasprintf-posix.c (test_function): Likewise.
46541         * tests/test-snprintf-posix.h (test_function): Likewise.
46542         * tests/test-sprintf-posix.h (test_function): Likewise.
46543         * tests/test-fprintf-posix.h (test_function): Test rounding with %f.
46544         * tests/test-printf-posix.h (test_function): Likewise.
46545         * tests/test-printf-posix.output: Update.
46546         Reported by John Darrington <john@darrington.wattle.id.au> via
46547         Ben Pfaff <blp@cs.stanford.edu>.
46548
46549 2008-04-18  Simon Josefsson  <simon@josefsson.org>
46550
46551         * doc/posix-functions/strftime.texi (strftime): Clarify platform.
46552         Suggested by Bruno Haible <bruno@clisp.org>.
46553
46554 2008-04-17  Bruno Haible  <bruno@clisp.org>
46555
46556         * lib/lock.h (gl_lock_destroy, gl_rwlock_destroy,
46557         gl_recursive_lock_destroy): Provide no-op definitions for the dummy
46558         implementation.
46559         Patch by Bruce Merry <bmerry@gmail.com>.
46560
46561 2008-04-17  Simon Josefsson  <simon@josefsson.org>
46562
46563         * doc/posix-functions/strftime.texi (strftime): Mention that %e
46564         doesn't work under Windows.
46565
46566 2008-04-16  Bruno Haible  <bruno@clisp.org>
46567
46568         * lib/localename.c (LANG_MAORI, LANG_QUECHUA, LANG_SOTHO, LANG_UIGHUR):
46569         New macros.
46570         (SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN,
46571         SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC,
46572         SUBLANG_CROATIAN_CROATIA, SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN,
46573         SUBLANG_MONGOLIAN_CYRILLIC_MONGOLIA, SUBLANG_MONGOLIAN_PRC,
46574         SUBLANG_QUECHUA_BOLIVIA, SUBLANG_QUECHUA_ECUADOR, SUBLANG_QUECHUA_PERU,
46575         SUBLANG_RUSSIAN_RUSSIA, SUBLANG_RUSSIAN_MOLDAVIA, SUBLANG_SPANISH_US,
46576         SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN, SUBLANG_UIGHUR_PRC): New
46577         macros.
46578         (gl_locale_name_from_win32_LANGID): Refine code for Croatian/Bosnian,
46579         Mongolian, Russian, Spanish, Tibetan. Add code for Maori, Quechua,
46580         Northern Sotho, Uighur.
46581
46582 2008-04-16  Bruno Haible  <bruno@clisp.org>
46583
46584         * lib/localename.c (SUBLANG_SINDHI_INDIA): New macro.
46585         (SUBLANG_SINDHI_PAKISTAN): Change value from 1 to 2.
46586         (gl_locale_name_from_win32_LANGID): Fix code for Sindhi.
46587         Reported by Daniel Bergström <daniel@octocode.com>.
46588
46589 2007-12-25  KJK::Hyperion  <hackbunny@reactos.com>
46590             Bruno Haible  <bruno@clisp.org>
46591
46592         * lib/localename.c (gl_locale_name_canonicalize) [WIN32_NATIVE]: New
46593         function.
46594         (gl_locale_name_from_win32_LANGID, gl_locale_name_from_win32_LCID):
46595         New functions, mostly extracted from gl_locale_name_default.
46596         (gl_locale_name_default): Use gl_locale_name_from_win32_LCID.
46597
46598 2008-04-16  Eric Blake  <ebb9@byu.net>
46599
46600         Adjust strtod detection to catch glibc 2.7 bug.
46601         * m4/strtod.m4 (gl_FUNC_STRTOD): Test "nan()" behavior.
46602         Reported by John Gatewood Ham.
46603
46604 2008-04-16  Bruno Haible  <bruno@clisp.org>
46605
46606         Add tentative support for Linux libc5.
46607         * lib/fbufmode.c (fbufmode) [__GNU_LIBRARY__==1]: Reuse glibc2 code.
46608         * lib/fpurge.c (fpurge): Likewise.
46609         * lib/freadable.c (freadable): Likewise.
46610         * lib/freadahead.c (freadahead): Likewise.
46611         * lib/freading.c (freading): Likewise.
46612         * lib/freadptr.c (freadptr): Likewise.
46613         * lib/freadseek.c (freadptrinc): Likewise.
46614         * lib/fseeko.c (rpl_fseeko): Likewise.
46615         * lib/fseterr.c (fseterr): Likewise.
46616         * lib/fwritable.c (fwritable): Likewise.
46617         * lib/fwriting.c (fwriting): Likewise.
46618         Reported by Alain Guibert <alguibert+bts@free.fr>.
46619
46620 2008-04-15  Bruno Haible  <bruno@clisp.org>
46621
46622         * modules/mathl (configure.ac): Define module indicator.
46623
46624 2008-04-15  Bruno Haible  <bruno@clisp.org>
46625
46626         * lib/logl.c (logl): Remove unused variables.
46627
46628 2008-04-15  Bruno Haible  <bruno@clisp.org>
46629
46630         * lib/uniconv/u-conv-to-enc.h (FUNC): Fix return value when U_TO_U8
46631         fails.
46632
46633 2008-04-15  Bruno Haible  <bruno@clisp.org>
46634
46635         * lib/trim.c (trim2): Fix argument of isspace() macro.
46636
46637 2008-04-15  Paolo Bonzini  <bonzini@gnu.org>
46638
46639         * lib/tanl.c (kernel_tanl): Rename flag to invert, initialize it
46640         to 0.
46641         * lib/trigl.c (ieee754_rem_pio2l): Fix range checks.
46642
46643 2008-04-14  Bruno Haible  <bruno@clisp.org>
46644
46645         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Fix underquoting of
46646         AC_LANG_PROGRAM argument.
46647         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Likewise.
46648         * m4/gethrxtime.m4 (gl_ARITHMETIC_HRTIME_T): Likewise.
46649         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
46650         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
46651         * m4/math_h.m4 (gl_MATH_H): Likewise.
46652         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
46653         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
46654         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
46655         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Likewise.
46656         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
46657         * m4/regex.m4 (gl_REGEX): Likewise.
46658         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Likewise.
46659         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): Likewise.
46660         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
46661         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Likewise.
46662         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
46663         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
46664         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
46665         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
46666
46667 2008-04-14  Jim Meyering  <meyering@redhat.com>
46668
46669         test-strtod: fix typos: s/abs/fabs/
46670         * tests/test-strtod.c (main): Use fabs, not narrowing-to-int "abs".
46671
46672 2008-04-13  Bruno Haible  <bruno@clisp.org>
46673
46674         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl'.
46675         * lib/canonicalize-lgpl.c: Elide the contents if the 'canonicalize'
46676         module is also used and while not building the reloc-wrapper.
46677
46678 2008-04-13  Bruno Haible  <bruno@clisp.org>
46679
46680         * tests/test-getaddrinfo.c (simple): Ignore EAI_NODATA error.
46681
46682 2008-04-13  Bruno Haible  <bruno@clisp.org>
46683
46684         Fix AIX compilation failure introduced on 2008-04-02.
46685         * tests/test-frexp.c (exp): Undefine before redefining.
46686         * tests/test-frexpl.c (exp): Likewise.
46687
46688 2008-04-13  Bruno Haible  <bruno@clisp.org>
46689
46690         Work around a HP-UX stdio bug.
46691         * tests/test-ftell.c (main): Disable the fseek/ftell test on HP-UX.
46692         * tests/test-ftello.c (main): Likewise.
46693         * doc/posix-functions/ftell.texi: Mention HP-UX bug.
46694         * doc/posix-functions/ftello.texi: Likewise.
46695
46696 2008-04-13  Bruno Haible  <bruno@clisp.org>
46697
46698         Make test-signbit pass on HP-UX/hppa.
46699         * tests/test-signbit.c (minus_zerol): New variable.
46700         (test_signbitl): Use it.
46701
46702 2008-04-13  Bruno Haible  <bruno@clisp.org>
46703
46704         Make truncl work on OSF/1 4.0.
46705         * m4/truncl.m4 (gl_FUNC_TRUNCL): Test whether truncl actually works.
46706         Set REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
46707         * lib/math.in.h (truncl): Test REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
46708         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCL, not
46709         HAVE_DECL_TRUNCL.
46710         * modules/math (Makefile.am): Substitute REPLACE_TRUNCL, not
46711         HAVE_DECL_TRUNCL.
46712         * doc/posix-functions/truncl.texi: Document the OSF/1 4.0 problem.
46713
46714 2008-04-13  Bruno Haible  <bruno@clisp.org>
46715
46716         * lib/unictype.h: Remove trailing comma from enumeration definitions.
46717
46718 2008-04-13  Bruno Haible  <bruno@clisp.org>
46719
46720         * lib/count-one-bits.h (COUNT_ONE_BITS): Rewrite verification
46721         expression, so as to avoid HP-UX 11 cc compiler bug.
46722
46723 2008-04-13  Bruno Haible  <bruno@clisp.org>
46724
46725         * m4/regex.m4 (gl_PREREQ_REGEX): Also check for <libintl.h>.
46726
46727 2008-04-13  Bruno Haible  <bruno@clisp.org>
46728
46729         * lib/git-merge-changelog.c: Remove empty declaration outside of
46730         functions.
46731
46732 2008-04-13  Bruno Haible  <bruno@clisp.org>
46733
46734         * modules/quotearg-tests (Makefile.am): Define test_quotearg_LDADD.
46735
46736 2008-04-13  Bruno Haible  <bruno@clisp.org>
46737
46738         * doc/posix-headers/sys_socket.texi: Document the problem on EMX.
46739         * lib/sys_socket.in.h (SHUT_RD, SHUT_WR, SHUT_RDWR): Define if missing.
46740         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Replace <sys/socket.h>
46741         also if it exists but lacks definitions of the SHUT_* macros.
46742         * modules/sys_socket (Description): Update.
46743         Reported by Elbert Pol <e.pol@chello.nl>.
46744
46745 2008-04-13  Bruno Haible  <bruno@clisp.org>
46746
46747         * lib/localcharset.c (OS2): Don't redefine if already defined.
46748         Reported by Elbert Pol <e.pol@chello.nl>.
46749
46750 2008-04-13  Bruno Haible  <bruno@clisp.org>
46751
46752         * lib/binary-io.h [__EMX__]: Include <io.h>.
46753         Reported by Elbert Pol <e.pol@chello.nl>.
46754
46755 2008-04-12  Bruno Haible  <bruno@clisp.org>
46756
46757         * lib/fpucw.h: Enable the definitions also for x86_64.
46758         Needed for NetBSD/x86_64.
46759         Reported by Thomas Klausner <tk@giga.or.at>.
46760
46761 2008-04-12  Bruno Haible  <bruno@clisp.org>
46762
46763         * tests/test-strtod.c: Include isnand.h.
46764         (main): Use isnand instead of isnan.
46765         Reported by Jim Meyering.
46766
46767 2008-04-12  Bruno Haible  <bruno@clisp.org>
46768
46769         * m4/isnanf.m4 (gl_ISNANF_WORKS): Add a test for a special NaN.
46770         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
46771
46772 2008-04-12  Jim Meyering  <meyering@redhat.com>
46773
46774         * m4/math_h.m4 (gl_MATH_H): Fix typos.
46775
46776 2008-04-12  Bruno Haible  <bruno@clisp.org>
46777
46778         * lib/freadptr.c (freadptr) [__EMX__]: Fix wrong assertion.
46779         Reported by Elbert Pol <e.pol@chello.nl>.
46780
46781 2008-04-12  Eric Blake  <ebb9@byu.net>
46782
46783         Work around Solaris 10 math.h bug.
46784         * m4/math_h.m4 (gl_MATH_H): Check for bug.
46785         (gl_MATH_H_DEFAULTS): Set up default.
46786         * modules/math (Makefile.am): Replace new indicators.
46787         * lib/math.in.h (NAN, HUGE_VAL): Provide replacements.
46788         * tests/test-math.c (main): Test this.
46789         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't rely on HUGE_VAL.
46790         * doc/posix-headers/math.texi (math.h): Mention bug.
46791         Reported by Nelson H. F. Beebe and Jim Meyering.
46792
46793 2008-04-11  Bruno Haible  <bruno@clisp.org>
46794
46795         Adapt to future versions of Apple GCC.
46796         * lib/argp-fmtstream.h (ARGP_FS_EI): Don't test __GNUC_GNU_INLINE__.
46797         Reported by Peter O'Gorman <peter@pogma.com>.
46798
46799 2008-04-11  Bruno Haible  <bruno@clisp.org>
46800
46801         * tests/test-getaddrinfo.c (simple): Ignore EAI_NONAME error.
46802
46803 2008-04-11  Bruno Haible  <bruno@clisp.org>
46804
46805         * modules/strsignal-tests (Makefile.am): Define test_strsignal_LDADD.
46806
46807         * modules/getaddrinfo-tests (Makefile.am): Define
46808         test_getaddrinfo_LDADD.
46809
46810 2008-04-11  Bruno Haible  <bruno@clisp.org>
46811
46812         * lib/strsignal.c (_sys_siglist): Don't declare if already declared.
46813         (init): Fix syntax error.
46814         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Check whether _sys_siglist
46815         is declared.
46816
46817 2008-04-11  Bruno Haible  <bruno@clisp.org>
46818
46819         * lib/glob.c: Include <stdbool.h>. Needed at least with IRIX cc.
46820         * modules/glob (Depends-on): Add stdbool.
46821
46822 2008-04-11  Bruno Haible  <bruno@clisp.org>
46823
46824         * lib/trim.c: Include <string.h>.
46825
46826 2008-04-11  Eric Blake  <ebb9@byu.net>
46827
46828         Avoid compile failure on OS/2.
46829         * lib/regex_internal.h (internal_function): Disable optimization
46830         on OS/2 (__EMX__), where it caused compiler error.
46831         Reported by Elbert Pol.
46832
46833 2008-04-11  Bruno Haible  <bruno@clisp.org>
46834
46835         Flush the standard error stream before aborting. Needed on mingw.
46836         * tests/test-argmatch.c (ASSERT): Call fflush(stderr) before abort().
46837         * tests/test-array_list.c (ASSERT): Likewise.
46838         * tests/test-array_oset.c (ASSERT): Likewise.
46839         * tests/test-avltree_list.c (ASSERT): Likewise.
46840         * tests/test-avltree_oset.c (ASSERT): Likewise.
46841         * tests/test-avltreehash_list.c (ASSERT): Likewise.
46842         * tests/test-binary-io.c (ASSERT): Likewise.
46843         * tests/test-byteswap.c (ASSERT): Likewise.
46844         * tests/test-c-ctype.c (ASSERT): Likewise.
46845         * tests/test-c-strcasecmp.c (ASSERT): Likewise.
46846         * tests/test-c-strcasestr.c (ASSERT): Likewise.
46847         * tests/test-c-strncasecmp.c (ASSERT): Likewise.
46848         * tests/test-c-strstr.c (ASSERT): Likewise.
46849         * tests/test-canonicalize-lgpl.c (ASSERT): Likewise.
46850         * tests/test-canonicalize.c (ASSERT): Likewise.
46851         * tests/test-carray_list.c (ASSERT): Likewise.
46852         * tests/test-ceilf1.c (ASSERT): Likewise.
46853         * tests/test-ceilf2.c (ASSERT): Likewise.
46854         * tests/test-ceill.c (ASSERT): Likewise.
46855         * tests/test-count-one-bits.c (ASSERT): Likewise.
46856         * tests/test-fbufmode.c (ASSERT): Likewise.
46857         * tests/test-fflush2.c (ASSERT): Likewise.
46858         * tests/test-floorf1.c (ASSERT): Likewise.
46859         * tests/test-floorf2.c (ASSERT): Likewise.
46860         * tests/test-floorl.c (ASSERT): Likewise.
46861         * tests/test-fopen.c (ASSERT): Likewise.
46862         * tests/test-fpending.c (ASSERT): Likewise.
46863         * tests/test-fprintf-posix.c (ASSERT): Likewise.
46864         * tests/test-fpurge.c (ASSERT): Likewise.
46865         * tests/test-freadable.c (ASSERT): Likewise.
46866         * tests/test-freadahead.c (ASSERT): Likewise.
46867         * tests/test-freading.c (ASSERT): Likewise.
46868         * tests/test-freadptr.c (ASSERT): Likewise.
46869         * tests/test-freadptr2.c (ASSERT): Likewise.
46870         * tests/test-freadseek.c (ASSERT): Likewise.
46871         * tests/test-freopen.c (ASSERT): Likewise.
46872         * tests/test-frexp.c (ASSERT): Likewise.
46873         * tests/test-frexpl.c (ASSERT): Likewise.
46874         * tests/test-fseek.c (ASSERT): Likewise.
46875         * tests/test-fseeko.c (ASSERT): Likewise.
46876         * tests/test-fstrcmp.c (ASSERT): Likewise.
46877         * tests/test-ftell.c (ASSERT): Likewise.
46878         * tests/test-ftello.c (ASSERT): Likewise.
46879         * tests/test-func.c (ASSERT): Likewise.
46880         * tests/test-fwritable.c (ASSERT): Likewise.
46881         * tests/test-fwriting.c (ASSERT): Likewise.
46882         * tests/test-getdelim.c (ASSERT): Likewise.
46883         * tests/test-getline.c (ASSERT): Likewise.
46884         * tests/test-i-ring.c (ASSERT): Likewise.
46885         * tests/test-iconv-utf.c (ASSERT): Likewise.
46886         * tests/test-iconv.c (ASSERT): Likewise.
46887         * tests/test-isfinite.c (ASSERT): Likewise.
46888         * tests/test-isnand.c (ASSERT): Likewise.
46889         * tests/test-isnanf.c (ASSERT): Likewise.
46890         * tests/test-isnanl.h (ASSERT): Likewise.
46891         * tests/test-ldexpl.c (ASSERT): Likewise.
46892         * tests/test-linked_list.c (ASSERT): Likewise.
46893         * tests/test-linkedhash_list.c (ASSERT): Likewise.
46894         * tests/test-localename.c (ASSERT): Likewise.
46895         * tests/test-lseek.c (ASSERT): Likewise.
46896         * tests/test-mbscasecmp.c (ASSERT): Likewise.
46897         * tests/test-mbscasestr1.c (ASSERT): Likewise.
46898         * tests/test-mbscasestr2.c (ASSERT): Likewise.
46899         * tests/test-mbscasestr3.c (ASSERT): Likewise.
46900         * tests/test-mbscasestr4.c (ASSERT): Likewise.
46901         * tests/test-mbschr.c (ASSERT): Likewise.
46902         * tests/test-mbscspn.c (ASSERT): Likewise.
46903         * tests/test-mbsncasecmp.c (ASSERT): Likewise.
46904         * tests/test-mbspbrk.c (ASSERT): Likewise.
46905         * tests/test-mbspcasecmp.c (ASSERT): Likewise.
46906         * tests/test-mbsrchr.c (ASSERT): Likewise.
46907         * tests/test-mbsspn.c (ASSERT): Likewise.
46908         * tests/test-mbsstr1.c (ASSERT): Likewise.
46909         * tests/test-mbsstr2.c (ASSERT): Likewise.
46910         * tests/test-mbsstr3.c (ASSERT): Likewise.
46911         * tests/test-memchr2.c (ASSERT): Likewise.
46912         * tests/test-memmem.c (ASSERT): Likewise.
46913         * tests/test-open.c (ASSERT): Likewise.
46914         * tests/test-printf-frexp.c (ASSERT): Likewise.
46915         * tests/test-printf-frexpl.c (ASSERT): Likewise.
46916         * tests/test-printf-posix.c (ASSERT): Likewise.
46917         * tests/test-quotearg.c (ASSERT): Likewise.
46918         * tests/test-rbtree_list.c (ASSERT): Likewise.
46919         * tests/test-rbtree_oset.c (ASSERT): Likewise.
46920         * tests/test-rbtreehash_list.c (ASSERT): Likewise.
46921         * tests/test-round1.c (ASSERT): Likewise.
46922         * tests/test-roundf1.c (ASSERT): Likewise.
46923         * tests/test-roundl.c (ASSERT): Likewise.
46924         * tests/test-signbit.c (ASSERT): Likewise.
46925         * tests/test-sleep.c (ASSERT): Likewise.
46926         * tests/test-snprintf-posix.c (ASSERT): Likewise.
46927         * tests/test-snprintf.c (ASSERT): Likewise.
46928         * tests/test-sprintf-posix.c (ASSERT): Likewise.
46929         * tests/test-stat-time.c (ASSERT): Likewise.
46930         * tests/test-strcasestr.c (ASSERT): Likewise.
46931         * tests/test-strerror.c (ASSERT): Likewise.
46932         * tests/test-striconv.c (ASSERT): Likewise.
46933         * tests/test-striconveh.c (ASSERT): Likewise.
46934         * tests/test-striconveha.c (ASSERT): Likewise.
46935         * tests/test-strsignal.c (ASSERT): Likewise.
46936         * tests/test-strstr.c (ASSERT): Likewise.
46937         * tests/test-strtod.c (ASSERT): Likewise.
46938         * tests/test-trunc1.c (ASSERT): Likewise.
46939         * tests/test-trunc2.c (ASSERT): Likewise.
46940         * tests/test-truncf1.c (ASSERT): Likewise.
46941         * tests/test-truncf2.c (ASSERT): Likewise.
46942         * tests/test-truncl.c (ASSERT): Likewise.
46943         * tests/test-vasnprintf-posix.c (ASSERT): Likewise.
46944         * tests/test-vasnprintf-posix2.c (ASSERT): Likewise.
46945         * tests/test-vasnprintf.c (ASSERT): Likewise.
46946         * tests/test-vasprintf-posix.c (ASSERT): Likewise.
46947         * tests/test-vasprintf.c (ASSERT): Likewise.
46948         * tests/test-vfprintf-posix.c (ASSERT): Likewise.
46949         * tests/test-vprintf-posix.c (ASSERT): Likewise.
46950         * tests/test-vsnprintf-posix.c (ASSERT): Likewise.
46951         * tests/test-vsnprintf.c (ASSERT): Likewise.
46952         * tests/test-vsprintf-posix.c (ASSERT): Likewise.
46953         * tests/test-wcwidth.c (ASSERT): Likewise.
46954         * tests/test-xfprintf-posix.c (ASSERT): Likewise.
46955         * tests/test-xprintf-posix.c (ASSERT): Likewise.
46956         * tests/test-xvasprintf.c (ASSERT): Likewise.
46957         * tests/uniconv/test-u16-conv-from-enc.c (ASSERT): Likewise.
46958         * tests/uniconv/test-u16-conv-to-enc.c (ASSERT): Likewise.
46959         * tests/uniconv/test-u16-strconv-from-enc.c (ASSERT): Likewise.
46960         * tests/uniconv/test-u16-strconv-to-enc.c (ASSERT): Likewise.
46961         * tests/uniconv/test-u32-conv-from-enc.c (ASSERT): Likewise.
46962         * tests/uniconv/test-u32-conv-to-enc.c (ASSERT): Likewise.
46963         * tests/uniconv/test-u32-strconv-from-enc.c (ASSERT): Likewise.
46964         * tests/uniconv/test-u32-strconv-to-enc.c (ASSERT): Likewise.
46965         * tests/uniconv/test-u8-conv-from-enc.c (ASSERT): Likewise.
46966         * tests/uniconv/test-u8-conv-to-enc.c (ASSERT): Likewise.
46967         * tests/uniconv/test-u8-strconv-from-enc.c (ASSERT): Likewise.
46968         * tests/uniconv/test-u8-strconv-to-enc.c (ASSERT): Likewise.
46969         * tests/unictype/test-bidi_byname.c (ASSERT): Likewise.
46970         * tests/unictype/test-bidi_name.c (ASSERT): Likewise.
46971         * tests/unictype/test-bidi_of.c (ASSERT): Likewise.
46972         * tests/unictype/test-bidi_test.c (ASSERT): Likewise.
46973         * tests/unictype/test-block_list.c (ASSERT): Likewise.
46974         * tests/unictype/test-block_of.c (ASSERT): Likewise.
46975         * tests/unictype/test-block_test.c (ASSERT): Likewise.
46976         * tests/unictype/test-categ_and.c (ASSERT): Likewise.
46977         * tests/unictype/test-categ_and_not.c (ASSERT): Likewise.
46978         * tests/unictype/test-categ_byname.c (ASSERT): Likewise.
46979         * tests/unictype/test-categ_name.c (ASSERT): Likewise.
46980         * tests/unictype/test-categ_none.c (ASSERT): Likewise.
46981         * tests/unictype/test-categ_of.c (ASSERT): Likewise.
46982         * tests/unictype/test-categ_or.c (ASSERT): Likewise.
46983         * tests/unictype/test-categ_test_withtable.c (ASSERT): Likewise.
46984         * tests/unictype/test-combining.c (ASSERT): Likewise.
46985         * tests/unictype/test-decdigit.c (ASSERT): Likewise.
46986         * tests/unictype/test-digit.c (ASSERT): Likewise.
46987         * tests/unictype/test-mirror.c (ASSERT): Likewise.
46988         * tests/unictype/test-numeric.c (ASSERT): Likewise.
46989         * tests/unictype/test-pr_byname.c (ASSERT): Likewise.
46990         * tests/unictype/test-pr_test.c (ASSERT): Likewise.
46991         * tests/unictype/test-predicate-part1.h (ASSERT): Likewise.
46992         * tests/unictype/test-scripts.c (ASSERT): Likewise.
46993         * tests/unictype/test-sy_c_ident.c (ASSERT): Likewise.
46994         * tests/unictype/test-sy_java_ident.c (ASSERT): Likewise.
46995         * tests/unistdio/test-u16-asnprintf1.c (ASSERT): Likewise.
46996         * tests/unistdio/test-u16-vasnprintf1.c (ASSERT): Likewise.
46997         * tests/unistdio/test-u16-vasnprintf2.c (ASSERT): Likewise.
46998         * tests/unistdio/test-u16-vasnprintf3.c (ASSERT): Likewise.
46999         * tests/unistdio/test-u16-vasprintf1.c (ASSERT): Likewise.
47000         * tests/unistdio/test-u16-vsnprintf1.c (ASSERT): Likewise.
47001         * tests/unistdio/test-u16-vsprintf1.c (ASSERT): Likewise.
47002         * tests/unistdio/test-u32-asnprintf1.c (ASSERT): Likewise.
47003         * tests/unistdio/test-u32-vasnprintf1.c (ASSERT): Likewise.
47004         * tests/unistdio/test-u32-vasnprintf2.c (ASSERT): Likewise.
47005         * tests/unistdio/test-u32-vasnprintf3.c (ASSERT): Likewise.
47006         * tests/unistdio/test-u32-vasprintf1.c (ASSERT): Likewise.
47007         * tests/unistdio/test-u32-vsnprintf1.c (ASSERT): Likewise.
47008         * tests/unistdio/test-u32-vsprintf1.c (ASSERT): Likewise.
47009         * tests/unistdio/test-u8-asnprintf1.c (ASSERT): Likewise.
47010         * tests/unistdio/test-u8-vasnprintf1.c (ASSERT): Likewise.
47011         * tests/unistdio/test-u8-vasnprintf2.c (ASSERT): Likewise.
47012         * tests/unistdio/test-u8-vasnprintf3.c (ASSERT): Likewise.
47013         * tests/unistdio/test-u8-vasprintf1.c (ASSERT): Likewise.
47014         * tests/unistdio/test-u8-vsnprintf1.c (ASSERT): Likewise.
47015         * tests/unistdio/test-u8-vsprintf1.c (ASSERT): Likewise.
47016         * tests/unistdio/test-ulc-asnprintf1.c (ASSERT): Likewise.
47017         * tests/unistdio/test-ulc-vasnprintf1.c (ASSERT): Likewise.
47018         * tests/unistdio/test-ulc-vasnprintf2.c (ASSERT): Likewise.
47019         * tests/unistdio/test-ulc-vasnprintf3.c (ASSERT): Likewise.
47020         * tests/unistdio/test-ulc-vasprintf1.c (ASSERT): Likewise.
47021         * tests/unistdio/test-ulc-vsnprintf1.c (ASSERT): Likewise.
47022         * tests/unistdio/test-ulc-vsprintf1.c (ASSERT): Likewise.
47023         * tests/uniwidth/test-u16-strwidth.c (ASSERT): Likewise.
47024         * tests/uniwidth/test-u16-width.c (ASSERT): Likewise.
47025         * tests/uniwidth/test-u32-strwidth.c (ASSERT): Likewise.
47026         * tests/uniwidth/test-u32-width.c (ASSERT): Likewise.
47027         * tests/uniwidth/test-u8-strwidth.c (ASSERT): Likewise.
47028         * tests/uniwidth/test-u8-width.c (ASSERT): Likewise.
47029         * tests/uniwidth/test-uc_width.c (ASSERT): Likewise.
47030         Reported by Eric Blake.
47031
47032 2008-04-11  Bruno Haible  <bruno@clisp.org>
47033
47034         * lib/wchar.in.h: Tweak comment.
47035
47036 2008-04-11  Bruno Haible  <bruno@clisp.org>
47037
47038         Fix __GNUC_STDC_INLINE__ predefine with Apple GCC on MacOS X 10.5.
47039         * gnulib-tool (func_emit_initmacro_start): Emit an invocation of
47040         gl_COMMON.
47041         * m4/gnulib-common.m4 (gl_COMMON, gl_COMMON_BODY): New macros.
47042
47043 2008-04-11  Bruno Haible  <bruno@clisp.org>
47044
47045         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add LIBINTL.
47046
47047 2008-04-11  Simon Josefsson  <simon@josefsson.org>
47048
47049         * lib/gc-gnulib.c: On Windows, use CryptGenRandom from CSP instead
47050         of attempting to use non-existing /dev/*random.  Based on patch
47051         from Adam Strzelecki <ono@java.pl> in
47052         <http://lists.gnu.org/archive/html/help-gsasl/2008-02/msg00000.html>.
47053
47054 2008-04-08  Bruno Haible  <bruno@clisp.org>
47055
47056         Add tentative support for emx+gcc.
47057         * lib/fbufmode.c (fbufmode) [__EMX__]: Add conditional code.
47058         * lib/fpurge.c (fpurge): Likewise.
47059         * lib/freadable.c (freadable): Likewise.
47060         * lib/freadahead.c (freadahead): Likewise.
47061         * lib/freading.c (freading): Likewise.
47062         * lib/freadptr.c (freadptr): Likewise.
47063         * lib/freadseek.c (freadptrinc): Likewise.
47064         * lib/fseeko.c (rpl_fseeko): Likewise.
47065         * lib/fseterr.c (fseterr): Likewise.
47066         * lib/fwritable.c (fwritable): Likewise.
47067         * lib/fwriting.c (fwriting): Likewise.
47068         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for emx+gcc.
47069
47070 2008-04-09  Eric Blake  <ebb9@byu.net>
47071
47072         Avoid some autoconf warnings.
47073         * m4/regex.m4 (gl_REGEX): s/AC_HELP_STRING/AS_HELP_STRING/.
47074         * m4/acl.m4 (gl_FUNC_ACL): Likewise.
47075         * m4/afs.m4 (gl_AFS): Likewise.
47076         * m4/gc-random.m4 (gl_GC_RANDOM): Likewise.
47077         * m4/include_next.m4 (gl_INCLUDE_NEXT): s/AC_FOREACH/m4_foreach_w/.
47078         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
47079         * m4/stdint.m4 (gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED)
47080         (gl_INTEGER_TYPE_SUFFIX): Likewise.
47081         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE)
47082         (AC_CHECK_DECLS_ONCE): Likewise.
47083         Rename file...
47084         * m4/onceonly.m4: ...to this, and delete 2.54 variant, now that
47085         gnulib-tool requires autoconf 2.59 or better.
47086         * gnulib-tool (func_get_filelist): s/\(onceonly\)_2_57.m4/\1.m4/.
47087
47088 2008-04-08  Eric Blake  <ebb9@byu.net>
47089
47090         Use 'git describe --match' if present (added in git 1.5.5).
47091         * build-aux/git-version-gen: Limit result to tags that match 'v*'
47092         if possible.
47093
47094 2008-04-08  Bruno Haible  <bruno@clisp.org>
47095
47096         Add tentative support for OpenServer.
47097         * lib/fbufmode.c (fbufmode): Add conditional define for _flag, _base,
47098         _ptr, _cnt.
47099         * lib/fpurge.c (fpurge): Likewise.
47100         * lib/freadable.c (freadable): Likewise.
47101         * lib/freadahead.c (freadahead): Likewise.
47102         * lib/freading.c (freading): Likewise.
47103         * lib/freadptr.c (freadptr): Likewise.
47104         * lib/freadseek.c (freadptrinc): Likewise.
47105         * lib/fseeko.c (rpl_fseeko): Likewise.
47106         * lib/fseterr.c (fseterr): Likewise.
47107         * lib/fwritable.c (fwritable): Likewise.
47108         * lib/fwriting.c (fwriting): Likewise.
47109         Reported by Roger Cornelius <rac@tenzing.org> and
47110         Brian K. White <brian@aljex.com>.
47111
47112 2008-04-06  Jim Meyering  <meyering@redhat.com>
47113
47114         * gnulib-tool (func_add_or_update): s/backuped/backed up/ in diagnostic
47115
47116 2008-04-06  Bruno Haible  <bruno@clisp.org>
47117
47118         Avoid possible error with non-ASCII bytes in UTF-8 locales.
47119         * tests/test-fprintf-posix.sh: Use "LC_ALL=C tr" instead of "tr".
47120         * tests/test-printf-posix.sh: Likewise.
47121         * tests/test-vfprintf-posix.sh: Likewise.
47122         * tests/test-vprintf-posix.sh: Likewise.
47123         * tests/test-xprintf-posix.sh: Likewise.
47124
47125 2008-04-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47126
47127         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT): Fix quoting,
47128         hide error from 'ls', needed on OS/2.
47129         Report by Elbert Pol <elbert.pol@gmail.com>.
47130
47131 2008-04-04  Eric Blake  <ebb9@byu.net>
47132
47133         Make test-fseeko.c failures meaningful.
47134         * tests/test-fseeko.c: Print line number on failure.
47135         * tests/test-fseek.c: Likewise.
47136         Reported by Nelson H. F. Beebe.
47137
47138         Improve strtod bug detection check.
47139         * m4/strtod.m4 (gl_FUNC_STRTOD): Also check for hex-float parsing,
47140         required for Solaris 10.
47141         Reported by Bob Friesenhahn and Nelson H. F. Beebe.
47142
47143 2008-04-04  Bruno Haible  <bruno@clisp.org>
47144
47145         * modules/relocatable-prog-wrapper (Files): Add m4/environ.m4. Needed
47146         by m4/setenv.m4.
47147
47148 2008-04-03  Eric Blake  <ebb9@byu.net>
47149
47150         Ensure sane .version contents.
47151         * top/GNUmakefile (_dummy): Also delete .version when rebuilding
47152         version string.
47153         * build-aux/git-version-gen: Improve documentation.
47154
47155         Make GNU make output nicer.
47156         * top/GNUmakefile [!_have-Makefile]: Add dependency on
47157         MAKECMDGOALS to enforce message for all command line targets.  Set
47158         srcdir for use in maint.mk.
47159
47160         Another maintainer tweak.
47161         * top/GNUmakefile (_is-dist-target): Allow maintainer-distcheck as
47162         a target that regenerates version.
47163
47164 2008-04-03  Jim Meyering  <meyering@redhat.com>
47165
47166         vc-list-files: don't cause coreutils "make po-check" failure
47167         * build-aux/vc-list-files: Skip postprocessing when $2 is '.'
47168
47169 2008-04-03  Eric Blake  <ebb9@byu.net>
47170
47171         Allow VPATH usage of vc-list-files.
47172         * build-aux/vc-list-files (scriptversion): Add timestamp.
47173         (options): Add --help, --version, -C.
47174         (CVS): Support installed cvsu.
47175
47176 2008-04-02  Bruno Haible  <bruno@clisp.org>
47177
47178         Avoid some "statement with no effect" warnings from gcc.
47179         * tests/test-wctype.c (main): Explicitly ignore unused values.
47180         Reported by Jim Meyering.
47181
47182 2008-04-02  Jim Meyering  <meyering@redhat.com>
47183
47184         Avoid some warnings from "gcc -Wshadow".
47185         * tests/test-frexp.c (exp): Define to a different identifier.
47186         * tests/test-frexpl.c (exp): Likewise.
47187
47188 2008-04-03  Jim Meyering  <meyering@redhat.com>
47189
47190         bootstrap: remove dangling *.[ch] symlinks from lib
47191         * build-aux/bootstrap [dangling symlink removal]: Move find's
47192         -depth option to precede all others, to avoid a warning.
47193         Remove *.[ch] files too, and from "$source_base" (usually lib/).
47194
47195 2008-04-02  Bruno Haible  <bruno@clisp.org>
47196
47197         Avoid some warnings from "gcc -Wshadow".
47198         * tests/tests-vfprintf-posix.c (my_fprintf): Move after test_function.
47199         * tests/tests-vprintf-posix.c (my_printf): Move after test_function.
47200         * tests/tests-vsnprintf-posix.c (my_snprintf): Move after test_function.
47201         * tests/tests-vsprintf-posix.c (my_sprintf): Move after test_function.
47202         Reported by Jim Meyering.
47203
47204 2008-04-01  Bruno Haible  <bruno@clisp.org>
47205
47206         Fix test to work on IRIX 6.5 with cc.
47207         * tests/test-math.c (numeric_equal): New function.
47208         (main): Use it.
47209
47210 2008-04-01  Bruno Haible  <bruno@clisp.org>
47211
47212         * doc/posix-headers/math.texi: Refine documentation of NAN problem.
47213
47214 2008-04-01  Bruno Haible  <bruno@clisp.org>
47215
47216         * tests/test-vasnprintf-posix.c: Include nan.h instead of <math.h>.
47217         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
47218         * modules/vasnprintf-posix-tests (Files): Add tests/nan.h.
47219         (Depends-on): Remove math.
47220
47221         * tests/test-vasprintf-posix.c: Include nan.h instead of <math.h>.
47222         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
47223         * modules/vasprintf-posix-tests (Files): Add tests/nan.h.
47224         (Depends-on): Remove math.
47225
47226         * tests/test-snprintf-posix.h: Include nan.h instead of <math.h>.
47227         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
47228         * modules/snprintf-posix-tests (Files): Add tests/nan.h.
47229         (Depends-on): Remove math.
47230         * modules/vsnprintf-posix-tests (Files): Add tests/nan.h.
47231         (Depends-on): Remove math.
47232
47233         * tests/test-sprintf-posix.h: Include nan.h instead of <math.h>.
47234         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
47235         * modules/sprintf-posix-tests (Files): Add tests/nan.h.
47236         (Depends-on): Remove math.
47237         * modules/vsprintf-posix-tests (Files): Add tests/nan.h.
47238         (Depends-on): Remove math.
47239
47240         * tests/test-round1.c: Include nan.h.
47241         (main): Use NaNd instead of NAN.
47242         * modules/round-tests (Files): Add tests/nan.h.
47243
47244         * tests/test-trunc1.c: Include nan.h.
47245         (main): Use NaNd instead of NAN.
47246         * modules/trunc-tests (Files): Add tests/nan.h.
47247
47248         * tests/test-roundf1.c: Include nan.h.
47249         (main): Use NaNf instead of NAN.
47250         * modules/roundf-tests (Files): Add tests/nan.h.
47251
47252         * tests/test-truncf1.c: Include nan.h.
47253         (main): Use NaNf instead of NAN.
47254         * modules/truncf-tests (Files): Add tests/nan.h.
47255
47256         * tests/test-ceilf1.c: Include nan.h.
47257         (main): Use NaNf instead of NAN.
47258         * modules/ceilf-tests (Files): Add tests/nan.h.
47259
47260         * tests/test-floorf1.c: Include nan.h.
47261         (main): Use NaNf instead of NAN.
47262         * modules/floorf-tests (Files): Add tests/nan.h.
47263
47264         * tests/test-isnanf.c: Include nan.h instead of <math.h>.
47265         (main): Use NaNf instead of NAN.
47266         * modules/isnanf-nolibm-tests (Files): Add tests/nan.h.
47267
47268         * tests/test-isnand.c: Include nan.h instead of <math.h>.
47269         (main): Use NaNd instead of NAN.
47270         * modules/isnand-nolibm-tests (Files): Add tests/nan.h.
47271
47272         * tests/test-frexp.c: Include nan.h.
47273         (main): Use NaNd instead of NAN.
47274         * modules/frexp-tests (Files): Add tests/nan.h.
47275
47276         * lib/isnan.c: Don't include <math.h>.
47277         (FUNC): Don't use NAN macro.
47278         * modules/isnand-nolibm (Depends-on): Remove math.
47279         * modules/isnanf-nolibm (Depends-on): Remove math.
47280         * modules/isnanl (Depends-on): Remove math.
47281         * modules/isnanl-nolibm (Depends-on): Remove math.
47282
47283         * tests/nan.h: New file.
47284
47285 2008-04-01  Eric Blake  <ebb9@byu.net>
47286
47287         Fix typos.
47288         * tests/test-strtod.c (main): s/FLT_/DBL_/ for minimum and epsilon
47289         values to be the right type.
47290
47291         For now, cater to gnulib strtod inaccuracies.
47292         * tests/test-strtod.c (main): Allow 1-ulp error on expected
47293         fractional results.  While not as nice from a QoI perspective, it
47294         is a quicker patch than correctly implementing decimal to binary
47295         rounding.
47296
47297 2008-03-31  Eric Blake  <ebb9@byu.net>
47298
47299         Guarantee a definition of NAN.
47300         * lib/math.in.h (NAN): Define if missing.
47301         * tests/test-math.c (main): Test it.
47302         * doc/posix-headers/math.texi (math.h): Document this.
47303         * lib/isnan.c (rpl_isnand): Use it.
47304         * tests/test-ceilf1.c (NaN): Delete, and use NAN instead.
47305         * tests/test-floorf1.c (NaN): Likewise.
47306         * tests/test-frexp.c (NaN): Likewise.
47307         * tests/test-isnand.c (NaN): Likewise.
47308         * tests/test-isnanf.c (NaN): Likewise.
47309         * tests/test-round1.c (NaN): Likewise.
47310         * tests/test-roundf1.c (NaN): Likewise.
47311         * tests/test-snprintf-posix.h (NaN): Likewise.
47312         * tests/test-sprintf-posix.h (NaN): Likewise.
47313         * tests/test-trunc1.c (NaN): Likewise.
47314         * tests/test-truncf1.c (NaN): Likewise.
47315         * tests/test-vasnprintf-posix.c (NaN): Likewise.
47316         * tests/test-vasprintf-posix.c (NaN): Likewise.
47317         * modules/isnand-nolibm (Depends-on): Add math.
47318         * modules/isnanf-nolibm (Depends-on): Likewise.
47319         * modules/isnanl (Depends-on): Likewise.
47320         * modules/isnanl-nolibm (Depends-on): Likewise.
47321         * modules/snprintf-posix-tests (Depends-on): Likewise.
47322         * modules/sprintf-posix-tests (Depends-on): Likewise.
47323         * modules/vsnprintf-posix-tests (Depends-on): Likewise.
47324         * modules/vsprintf-posix-tests (Depends-on): Likewise.
47325         * modules/vasnprintf-posix-tests (Depends-on): Likewise.
47326         * modules/vasprintf-posix-tests (Depends-on): Likewise.
47327
47328 2008-03-31  Bruno Haible  <bruno@clisp.org>
47329
47330         * tests/test-strtod.c (main): Update results for OSF/1 platforms.
47331         * doc/posix-functions/strtod.texi: Likewise.
47332
47333 2008-03-31  Bruno Haible  <bruno@clisp.org>
47334
47335         * tests/test-strtod.c (main): Don't use C99 syntax.
47336
47337 2008-03-31  Bruno Haible  <bruno@clisp.org>
47338
47339         * tests/test-strtod.c (main): Don't test NAN macro. Needed for Solaris.
47340         Reported by Eric Blake.
47341
47342 2008-03-31  Jim Meyering  <meyering@redhat.com>
47343
47344         Don't compare actual signbit return values.
47345         * tests/test-strtod.c (main): Rather, compare only their
47346         zero/non-zero nature.
47347
47348 2008-03-31  Eric Blake  <ebb9@byu.net>
47349
47350         More strtod documentation.
47351         * doc/posix-functions/strtod.texi (strtod): Interpret more test
47352         failures as distinct bugs.
47353
47354 2008-03-30  Paul Eggert  <eggert@cs.ucla.edu>
47355
47356         * lib/wchar.in.h [defined __need_mbstate_t]: Just include <wchar.h>.
47357         Problem reported by Erik Benada in
47358         <http://lists.gnu.org/archive/html/bug-gnulib/2008-03/msg00249.html>.
47359
47360 2008-03-30  Bruno Haible  <bruno@clisp.org>
47361
47362         * tests/test-strtod.c: Add comments about which assertion fails on which
47363         platform.
47364         * doc/posix-functions/strtod.texi: Add info about many more platforms.
47365
47366 2008-03-30  Eric Blake  <ebb9@byu.net>
47367
47368         Test signbit behavior on zeros.
47369         * tests/test-signbit.c (test_signbitf): Add tests for zero.
47370         (test_signbitd, test_signbitl): Likewise.
47371
47372         More strtod touchups.
47373         * tests/test-strtod.c (main): Ignore tests for signbit on NaN, and
47374         sign of negative underflow, for now.  Use .5, not .1.
47375         * doc/posix-functions/strtod.texi (strtod): Mention these
47376         limitations.
47377         Reported by Jim Meyering.
47378
47379 2008-03-30  Bruno Haible  <bruno@clisp.org>
47380
47381         * lib/striconveh.h (mem_iconveh, str_iconveh): Optimize the conversion
47382         from UTF-8 to UTF-8//TRANSLIT in the same way as from UTF-8 to UTF-8.
47383
47384 2008-03-30  Bruno Haible  <bruno@clisp.org>
47385
47386         Avoid failure when attempting to return empty iconv results on some
47387         platforms.
47388         * lib/striconveh.c (mem_cd_iconveh_internal): In the final memory
47389         allocation, don't report ENOMEM when the resulting string is empty.
47390
47391 2008-03-30  Bruno Haible  <bruno@clisp.org>
47392
47393         Fix buffer overrun.
47394         * lib/vasnprintf.c (VASNPRINTF): If !USE_SNPRINTF && pad_ourselves:
47395         Don't consider the width for tmp_length. Check count against tmp_length
47396         before doing the padding. Ensure enough allocation during padding.
47397
47398 2008-03-30  Eric Blake  <ebb9@byu.net>
47399
47400         strtod touchups.
47401         * lib/strtod.c (strtod): Avoid compiler warnings.
47402         Reported by Jim Meyering.
47403
47404 2008-03-30  Bruno Haible  <bruno@clisp.org>
47405
47406         * lib/unistdio/u-vsprintf.h (EOVERFLOW): Remove fallback.
47407         * modules/unistdio/ulc-vsprintf (Depends-on): Add EOVERFLOW.
47408         * modules/unistdio/u8-vsprintf (Depends-on): Add EOVERFLOW.
47409         * modules/unistdio/u8-u8-vsprintf (Depends-on): Add EOVERFLOW.
47410         * modules/unistdio/u16-vsprintf (Depends-on): Add EOVERFLOW.
47411         * modules/unistdio/u16-u16-vsprintf (Depends-on): Add EOVERFLOW.
47412         * modules/unistdio/u32-vsprintf (Depends-on): Add EOVERFLOW.
47413         * modules/unistdio/u32-u32-vsprintf (Depends-on): Add EOVERFLOW.
47414
47415         * lib/unistdio/u-vsnprintf.h (EOVERFLOW): Remove fallback.
47416         * modules/unistdio/ulc-vsnprintf (Depends-on): Add EOVERFLOW.
47417         * modules/unistdio/u8-vsnprintf (Depends-on): Add EOVERFLOW.
47418         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Add EOVERFLOW.
47419         * modules/unistdio/u16-vsnprintf (Depends-on): Add EOVERFLOW.
47420         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Add EOVERFLOW.
47421         * modules/unistdio/u32-vsnprintf (Depends-on): Add EOVERFLOW.
47422         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Add EOVERFLOW.
47423
47424         * lib/unistdio/u-vasprintf.h (EOVERFLOW): Remove fallback.
47425         * modules/unistdio/ulc-vasprintf (Depends-on): Add EOVERFLOW.
47426         * modules/unistdio/u8-vasprintf (Depends-on): Add EOVERFLOW.
47427         * modules/unistdio/u8-u8-vasprintf (Depends-on): Add EOVERFLOW.
47428         * modules/unistdio/u16-vasprintf (Depends-on): Add EOVERFLOW.
47429         * modules/unistdio/u16-u16-vasprintf (Depends-on): Add EOVERFLOW.
47430         * modules/unistdio/u32-vasprintf (Depends-on): Add EOVERFLOW.
47431         * modules/unistdio/u32-u32-vasprintf (Depends-on): Add EOVERFLOW.
47432
47433         * lib/unistdio/ulc-vfprintf.c (EOVERFLOW): Remove fallback.
47434         * modules/unistdio/ulc-vfprintf (Depends-on): Add EOVERFLOW.
47435
47436         * lib/unistdio/ulc-fprintf.c (EOVERFLOW): Remove fallback.
47437         * modules/unistdio/ulc-fprintf (Depends-on): Add EOVERFLOW.
47438
47439         * lib/xvasprintf.c (EOVERFLOW): Remove fallback.
47440         * modules/xvasprintf (Depends-on): Add EOVERFLOW.
47441
47442         * lib/vsprintf.c (EOVERFLOW): Remove fallback.
47443         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Drop gl_EOVERFLOW.
47444         * modules/vsprintf-posix (Depends-on): Add EOVERFLOW.
47445
47446         * lib/vsnprintf.c (EOVERFLOW): Remove fallback.
47447         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Drop gl_EOVERFLOW.
47448         * modules/vsnprintf (Depends-on): Add EOVERFLOW.
47449
47450         * lib/vfprintf.c (EOVERFLOW): Remove fallback.
47451         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Drop gl_EOVERFLOW.
47452         * modules/vfprintf-posix (Depends-on): Add EOVERFLOW.
47453
47454         * lib/vasprintf.c (EOVERFLOW): Remove fallback.
47455         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Drop gl_EOVERFLOW.
47456         * modules/vasprintf (Depends-on): Add EOVERFLOW.
47457
47458         * lib/vasnprintf.c (EOVERFLOW): Remove fallback.
47459         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Drop gl_EOVERFLOW.
47460         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Drop gl_EOVERFLOW.
47461         * modules/vasnprintf (Files): Remove m4/eoverflow.m4.
47462         (Depends-on): Add EOVERFLOW.
47463         * modules/unistdio/ulc-vasnprintf (Files): Remove m4/eoverflow.m4.
47464         (Depends-on): Add EOVERFLOW.
47465         * modules/unistdio/u8-vasnprintf (Files): Remove m4/eoverflow.m4.
47466         (Depends-on): Add EOVERFLOW.
47467         * modules/unistdio/u8-u8-vasnprintf (Files): Remove m4/eoverflow.m4.
47468         (Depends-on): Add EOVERFLOW.
47469         * modules/unistdio/u16-vasnprintf (Files): Remove m4/eoverflow.m4.
47470         (Depends-on): Add EOVERFLOW.
47471         * modules/unistdio/u16-u16-vasnprintf (Files): Remove m4/eoverflow.m4.
47472         (Depends-on): Add EOVERFLOW.
47473         * modules/unistdio/u32-vasnprintf (Files): Remove m4/eoverflow.m4.
47474         (Depends-on): Add EOVERFLOW.
47475         * modules/unistdio/u32-u32-vasnprintf (Files): Remove m4/eoverflow.m4.
47476         (Depends-on): Add EOVERFLOW.
47477
47478         * lib/sprintf.c (EOVERFLOW): Remove fallback.
47479         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Drop gl_EOVERFLOW.
47480         * modules/sprintf-posix (Depends-on): Add EOVERFLOW.
47481
47482         * lib/snprintf.c (EOVERFLOW): Remove fallback.
47483         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Drop gl_EOVERFLOW.
47484         * modules/snprintf (Depends-on): Add EOVERFLOW.
47485
47486         * lib/poll.c (EOVERFLOW): Remove fallback.
47487         * modules/poll (Depends-on): Add EOVERFLOW.
47488
47489         * lib/getugroups.c (EOVERFLOW): Remove fallback.
47490         * modules/getugroups (Depends-on): Add EOVERFLOW.
47491
47492         * lib/getdelim.c (EOVERFLOW): Remove fallback.
47493         * modules/getdelim (Depends-on): Add EOVERFLOW.
47494
47495         * lib/ftell.c (EOVERFLOW): Remove fallback.
47496         * modules/ftell (Depends-on): Add EOVERFLOW.
47497
47498         * lib/fprintf.c (EOVERFLOW): Remove fallback.
47499         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Drop gl_EOVERFLOW.
47500         * modules/fprintf-posix (Depends-on): Add EOVERFLOW.
47501
47502         * lib/c-stack.c (EOVERFLOW): Remove unused fallback.
47503
47504         * modules/EOVERFLOW-tests: New file.
47505         * tests/test-EOVERFLOW.c: New file.
47506
47507         * modules/EOVERFLOW: New file.
47508         * doc/posix-headers/errno.texi: Mention EOVERFLOW portability problem.
47509
47510 2008-03-30  Bruno Haible  <bruno@clisp.org>
47511
47512         Fix bug introduced on 2007-06-10.
47513         * lib/vasnprintf.c (VASNPRINTF): When performing zero-padding, use
47514         spaces instead of 0 digits for 's' also when ENABLE_UNISTDIO.
47515
47516 2008-03-30  Bruno Haible  <bruno@clisp.org>
47517
47518         Improve freadseek's efficiency after ungetc.
47519         * lib/freadseek.c: Include freadahead.h.
47520         (freadptrinc): New function, extracted from freadseek.
47521         (freadseek): Use it in a loop. Use freadahead to determine the number
47522         of loop iterations.
47523         * modules/freadseek (Depends-on): Add freadahead.
47524         (configure.ac): Require AC_C_INLINE.
47525
47526 2008-03-30  Bruno Haible  <bruno@clisp.org>
47527
47528         * lib/freadseek.c (freadseek): Don't ignore the return value of
47529         freadptr.
47530
47531 2008-03-29  Eric Blake  <ebb9@byu.net>
47532
47533         Add hex float support.
47534         * modules/strtod (Depends-on): Add c-ctype.
47535         (Link): Mention POW_LIB.
47536         * lib/strtod.c (strtod): Recognize hex floats.  Don't allow
47537         whitespace between 'e' and exponent.
47538         * tests/test-strtod.c (main): Enable hex float tests.
47539         * doc/posix-functions/strtod.texi (strtod): Document what gnulib
47540         now provides.
47541
47542         Document various strtod bugs, with some fixes.
47543         * doc/posix-functions/strtod.texi (strtod): Document bugs with
47544         "-0x", "inf", "nan", and hex constants.
47545         * doc/posix-functions/atof.texi (atof): Likewise.
47546         * modules/stdlib (Makefile.am): Support strtod.
47547         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
47548         * m4/strtod.m4 (gl_FUNC_STRTOD): Fit in stdlib framework, and
47549         detect additional strtod bugs.
47550         * lib/stdlib.in.h (rpl_strtod): Add declarations.
47551         * lib/strtod.c (strtod): Return -0.0 on negative underflow.  Use
47552         bool where appropriate.  Parse 'inf' and 'nan'.
47553         * tests/test-strtod.c: New file.
47554         * modules/strtod (Depends-on): Add stdbool, stdlib.
47555         (configure.ac): Turn on module indicator.
47556         * modules/strtod-tests: New module.
47557
47558 2008-03-29  Eric Blake  <ebb9@byu.net>
47559
47560         Fix ftell on mingw.
47561         * lib/ftell.c (EOVERFLOW): Define if the system lacks it.
47562         * modules/ftell-tests (Depends-on): Add binary-io.
47563         * modules/ftello-tests (Depends-on): Likewise.
47564         * tests/test-ftell.c (main): Enhance test to cover behavior after
47565         ungetc.  Enforce binary mode.
47566         * tests/test-ftello.c (main): Likewise.
47567
47568         Pass test-freadseek on cygwin.
47569         * modules/freadseek (Depends-on): Use freadptr, not freadahead.
47570         * lib/freadseek.c (freadseek): Don't increment beyond bounds of
47571         ungetc buffer.
47572
47573         * tests/test-fflush2.c (main): Fix typo.
47574
47575 2008-03-29  Bruno Haible  <bruno@clisp.org>
47576
47577         * tests/test-fflush2.c (main): Temporarily disable the contents of
47578         this test.
47579         * m4/fflush.m4 (gl_FUNC_FFLUSH): Add a TODO.
47580         Reported by Eric Blake.
47581
47582 2008-03-28  Simon Josefsson  <simon@josefsson.org>
47583
47584         * lib/gc.h (enum Gc_hash): Add GC_SHA224.
47585         (GC_SHA224_DIGEST_SIZE): Add.
47586
47587         * lib/gc-libgcrypt.c (gc_hash_open): Handle SHA-224.
47588         (gc_hash_digest_length): Likewise.
47589         (gc_hash_buffer): Likewise.
47590
47591 2008-03-25  Bruno Haible  <bruno@clisp.org>
47592
47593         * doc/gnulib-tool.texi (gettextize and autopoint): Explain in more
47594         detail which gettext release to use.
47595         Reported by Simon Josefsson.
47596
47597 2008-03-26  Jim Meyering  <meyering@redhat.com>
47598
47599         gnumakefile: remove file from $(top_builddir), not from $(top_srcdir)
47600         * modules/gnumakefile (clean-GNUmakefile): Also, use
47601         test ... && ... || : syntax rather than if-then ... fi.
47602
47603         gnumakefile: Don't double-quote-expand $(VPATH) value.
47604         * modules/gnumakefile (clean-GNUmakefile): Use single quotes.
47605
47606 2008-03-24  Eric Blake  <ebb9@byu.net>
47607
47608         Alter GNUmakefile to install into top directory.
47609         * modules/maintainer-makefile: Split, and add dependency...
47610         * modules/gnumakefile: to this new module.
47611         * build-aux/GNUmakefile: Move...
47612         * top/GNUmakefile: ...here.
47613         * build-aux/maint.mk: Move...
47614         * top/maint.mk: ...here.
47615         * MODULES.html.sh (Support for maintaining...): Document new
47616         module.
47617
47618 2008-03-23  Bruno Haible  <bruno@clisp.org>
47619
47620         * gnulib-tool: New options --vc-files, --no-vc-files.
47621         (func_usage): Document them.
47622         (vc_files): New variable.
47623         (func_import): Consider vc_files.
47624         (func_create_testdir): Set vc_files to empty.
47625         Suggested by Jim Meyering and Karl Berry.
47626
47627 2008-03-23  Bruno Haible  <bruno@clisp.org>
47628
47629         Fix regex compilation error on HP-UX 11.
47630         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_TYPE_MBSTATE_T.
47631         * modules/regex (Files): Add m4/mbstate_t.m4.
47632         Reported by Ton Voon <ton.voon@altinity.com>.
47633
47634 2008-03-23  Bruno Haible  <bruno@clisp.org>
47635
47636         * doc/gnulib-tool.texi (gettextize and autopoint): New section.
47637
47638 2008-03-23  Eric Blake  <ebb9@byu.net>
47639             Bruno Haible  <bruno@clisp.org>
47640
47641         Install files from top/ in the destination directory.
47642         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
47643         augmentation also for the files from top/.
47644         (func_import, func_create_testdir): Rewrite file names:
47645         top/filename -> filename.
47646
47647 2008-03-23  Bruno Haible  <bruno@clisp.org>
47648
47649         Tweak "gnulib --version" output.
47650         * gnulib-tool (func_version): Replace "-dirty" suffix with "-modified".
47651
47652 2008-03-23  Bruno Haible  <bruno@clisp.org>
47653
47654         Tweak "gnulib --version" output.
47655         * gnulib-tool (func_version): Use date of last commit to ChangeLog,
47656         rather than contents of ChangeLog, when possible.
47657
47658 2008-03-21  Eric Blake  <ebb9@byu.net>
47659
47660         More --version tweaks.
47661         * gnulib-tool (func_version): Obey GNU Coding Standards.  Output
47662         date of last ChangeLog entry.
47663
47664 2008-03-21  Jim Meyering  <meyering@redhat.com>
47665
47666         * build-aux/GNUmakefile (_have-git-version-gen): Split long line.
47667
47668 2008-03-20  Eric Blake  <ebb9@byu.net>
47669
47670         VPATH fix.
47671         * build-aux/GNUmakefile (_have_git-version-gen): Look in correct dir.
47672
47673 2008-03-20  Simon Josefsson  <simon@josefsson.org>
47674
47675         * build-aux/GNUmakefile: Make git-version-gen optional.  Add
47676         _build-aux variable.  Suggested by Eric Blake <ebb9@byu.net>.
47677
47678 2008-03-20  Eric Blake  <ebb9@byu.net>
47679
47680         Sync GNUmakefile with coreutils.
47681         * build-aux/GNUmakefile (have-Makefile): Rename...
47682         (_have-Makefile): ...to this, for namespace consideration.
47683         (GNUmakefile.cfg): Include, if present.
47684         (_autoreconf): Define a default.
47685         (_is-dist-target): New rule for rebuilds to pick up intra-release
47686         version.
47687         (maint-cfg.mk): Rename...
47688         (cfg.mk): ...to this.
47689
47690 2008-03-18  Jim Meyering  <meyering@redhat.com>
47691
47692         New script and module: mktempd
47693         * MODULES.html.sh (maint+release support): Add mktempd.
47694         * build-aux/mktempd: New file.
47695         * modules/mktempd: New file.
47696
47697 2008-03-15  Jim Meyering  <meyering@redhat.com>
47698
47699         Undo last change.
47700         * lib/sha1.c, lib/md5.c: 63 != ~63.
47701         Reported by Andreas Schwab.
47702
47703         sha1.c, md5.c: Hoist a redundant expression.
47704         * lib/sha1.c (sha1_process_bytes): AND-off the low bits in
47705         "ctx->buflen" only once, before calling *_process_block.
47706         * lib/md5.c (md5_process_bytes): Likewise.
47707
47708 2008-03-14  Eric Blake  <ebb9@byu.net>
47709
47710         Bump copyright year in files generated by gnulib-tool.
47711         * gnulib-tool (func_emit_copyright_notice): Extract copyright from
47712         gnulib-tool, rather than hard-coding it.
47713
47714         Fix 'gnulib-tool --version' output to work with git.
47715         * gnulib-tool (func_gnulib_dir): New function, extracted from...
47716         (startup): ...here.
47717         (func_version): Use it to invoke git-version-gen, rather than
47718         relying on CVS keyword expansion.  Modernize wording.
47719         (cvsdatestamp, last_checkin_date, version): Kill unused
47720         variables.
47721
47722 2008-03-12  Jim Meyering  <meyering@redhat.com>
47723
47724         Recognize optional cast of the argument to free.
47725         * build-aux/useless-if-before-free: Update regexps.
47726
47727         * build-aux/bootstrap (gnulib_tool): Remove trailing blanks.
47728
47729 2008-03-11  Bruno Haible  <bruno@clisp.org>
47730
47731         Extend AC_LIB_LINKFLAGS to the situation of several libraries provided
47732         by a single package.
47733         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): New macro.
47734         (AC_LIB_LINKFLAGS_BODY): Use the information stored by
47735         AC_LIB_FROMPACKAGE. Use AC_ARG_WITH instead of AC_LIB_ARG_WITH.
47736         Reported by Sam Steingold <sds@gnu.org>.
47737
47738 2008-03-12  Sergey Poznyakoff  <gray@gnu.org.ua>
47739
47740         * build-aux/bootstrap (version_controlled_file): Adapt for SVN
47741         repositories.
47742
47743 2008-03-11  Bruno Haible  <bruno@clisp.org>
47744
47745         Avoid conflicts between local macro definitions.
47746         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
47747         AC_LIB_LINKFLAGS_BODY): Use pushdef/popdef instead of define/undefine.
47748
47749 2008-03-10  Peter O'Gorman  <bug-gnulib@mlists.thewrittenword.com>
47750             Bruno Haible  <bruno@clisp.org>
47751
47752         Make va_copy work with some version of xlc on AIX 5.1.
47753         * lib/stdarg.in.h: New file.
47754         * m4/stdarg.m4 (gl_STDARG_H): Initialize STDARG_H and NEXT_STDARG_H.
47755         On AIX, use a <stdarg.h> file substitute.
47756         * modules/stdarg (Files): Add lib/stdarg.in.h.
47757         (Depends-on): Add include_next.
47758         (Makefile.am): Build a stdarg.h substitute if requested.
47759         * doc/posix-functions/va_copy.texi: Document the platforms lacking it.
47760
47761 2008-03-10  Bruno Haible  <bruno@clisp.org>
47762
47763         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Document a restriction.
47764         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
47765         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
47766
47767 2008-03-10  Bruno Haible  <bruno@clisp.org>
47768
47769         * modules/stdlib (Depends-on): Add include_next, remove
47770         absolute-header.
47771
47772 2008-03-09  Bruno Haible  <bruno@clisp.org>
47773
47774         * lib/freadahead.h (freadahead): Document more precisely.
47775         * lib/freadahead.c (freadahead): When an ungetc is in effect, return
47776         the sum of both buffer sizes.
47777         * tests/test-freadahead.c (main): Also test behaviour after ungetc.
47778         * NEWS: Document the change.
47779
47780 2008-03-09  Bruno Haible  <bruno@clisp.org>
47781
47782         Extend freadptr to return also the buffer size.
47783         * lib/freadptr.h (freadptr): Add sizep argument.
47784         * lib/freadptr.c: Include freadptr.h, not freadahead.h.
47785         (freadptr): Add sizep argument. Determine buffer size like freadahead
47786         does.
47787         * tests/test-freadptr.c: Don't include freadahead.h.
47788         (main): Adapt for new calling convention of freadptr.
47789         * tests/test-freadptr2.c: New file, based on tests/test-freadahead.c.
47790         * tests/test-freadptr2.sh: New file, based on tests/test-freadahead.sh.
47791         * modules/freadptr-tests (Files): Add tests/test-freadptr2.c,
47792         tests/test-freadptr2.sh.
47793         (Depends): Remove freadahead.
47794         (TESTS): Add test-freadptr2.sh.
47795         (check_PROGRAMS): Add test-freadptr2.
47796
47797 2008-03-09  Bruno Haible  <bruno@clisp.org>
47798
47799         * doc/Makefile (%.pdf): Explain how to remedy the save_size error.
47800         Report and solution by Simon Josefsson.
47801
47802 2008-03-06  Bruno Haible  <bruno@clisp.org>
47803
47804         Make fflush after ungetc work on BSD platforms.
47805         * lib/fflush.c (rpl_fflush): Discard ungetc buffer if possible.
47806         * tests/test-fflush2.c: New file.
47807         * tests/test-fflush2.sh: New file.
47808         * modules/fflush-tests (Files): Add tests/test-fflush2.sh,
47809         tests/test-fflush2.c.
47810         (Makefile.am): Build test-fflush2 and run test-fflush2.sh.
47811         * doc/posix-functions/fflush.texi: Document fflush after ungetc bug.
47812
47813 2008-03-06  Eric Blake  <ebb9@byu.net>
47814
47815         Likewise for ftello.
47816         * modules/ftello (Dependencies): Add extensions.
47817         * m4/ftello.m4 (gl_FUNC_FTELLO): Require AC_USE_SYSTEM_EXTENSIONS.
47818
47819 2008-03-06  Bruno Haible  <bruno@clisp.org>
47820
47821         * modules/fseeko (Dependencies): Add extensions.
47822         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require AC_USE_SYSTEM_EXTENSIONS.
47823         Needed on glibc systems.
47824
47825 2008-03-06  Bruno Haible  <bruno@clisp.org>
47826
47827         * doc/gnulib-tool.texi (@nosuchmodulenote): Avoid line break inside
47828         email address.
47829         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
47830
47831 2008-03-06  Bruno Haible  <bruno@clisp.org>
47832
47833         * users.txt: Add libgnupdf.
47834
47835 2008-03-06  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
47836
47837         * doc/gnulib-tool.texi (@nosuchmodulenote): New macro.
47838         (Header File Substitutes, Function Substitutes,
47839         Glibc Header File Substitutes, Glibc Function Substitutes): Use it.
47840         (Build robot for gnulib): Fix typo.
47841
47842 2008-03-06  Bruno Haible  <bruno@clisp.org>
47843
47844         * doc/gnulib-tool.texi (VCS Issues): Small updates.
47845         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
47846
47847 2008-03-06  Bruno Haible  <bruno@clisp.org>
47848
47849         * doc/func.texi: New file, extracted from doc/gnulib.texi.
47850         * doc/gnulib.texi: Include it.
47851
47852 2008-03-06  Simon Josefsson  <simon@josefsson.org>
47853
47854         * modules/func (License): Change license to unlimited; there was
47855         no LGPL parts in the module anyway.
47856
47857 2008-03-06  Simon Josefsson  <simon@josefsson.org>
47858
47859         * modules/__func__: Renamed to modules/func.
47860         * modules/__func__-tests: Renamed to modules/func-tests.
47861         * tests/test-__func__.c: Renamed to tests/test-func.c.
47862         * m4/__func__.m4: Renamed to m4/func.m4.
47863         * doc/gnulib.texi (__func__): Section renamed to func.
47864         Suggested by Eric Blake <ebb9@byu.net>.
47865
47866 2008-03-06  Simon Josefsson  <simon@josefsson.org>
47867
47868         * doc/gnulib.texi (__func__): Use C99 terminology when talking
47869         about __func__.  Make example self-contained.  Suggested by Eric
47870         Blake <ebb9@byu.net>.
47871
47872         * tests/test-__func__.c (main): Avoid extraneous () around __func.
47873         Suggested by Eric Blake <ebb9@byu.net>.
47874
47875 2008-03-06  Simon Josefsson  <simon@josefsson.org>
47876
47877         * modules/__func__: New file.
47878         * modules/__func__-tests: New file.
47879         * tests/test-__func__.c: New file.
47880         * m4/__func__.m4: New file.
47881         * doc/gnulib.texi (__func__): Document __func__ module.
47882
47883 2008-03-05  Simon Josefsson  <simon@josefsson.org>
47884
47885         * modules/byteswap (License): Re-license as LGPLv2+.
47886
47887 2008-03-05  Simon Josefsson  <simon@josefsson.org>
47888
47889         * doc/Makefile: Add pdf target.
47890
47891 2008-03-05  Simon Josefsson  <simon@josefsson.org>
47892
47893         * modules/inline (License): Use 'unlimited', since there are only
47894         *.m4 files in this module.
47895
47896 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
47897             Bruno Haible  <bruno@clisp.org>
47898
47899         Add support for HP C 7.1 on OpenVMS 8.3.
47900         * lib/alloca.in.h (alloca): Define as alias for DEC C on VMS.
47901
47902 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
47903
47904         Update VMS specifics.
47905         * lib/getopt.c [VMS]: Remove include of unixlib.h.
47906
47907 2008-03-02  Jim Meyering  <meyering@redhat.com>
47908
47909         Remove the last dependency on the "free" module.
47910         * m4/readutmp.m4 (gl_READUTMP): Don't require gl_FUNC_FREE.
47911         Reported by Bob Proulx.
47912
47913         * lib/getdelim.c (getdelim): Don't leak memory upon failed realloc.
47914
47915         Remove useless "if" tests before free.  Deprecate "free" module.
47916         * doc/posix-functions/free.texi: Mention that this
47917         module is no longer useful.
47918         * modules/free (Notice): Say this module is obsolete.
47919         * modules/readutmp (Depends-on): Remove free.
47920         * lib/save-cwd.c (free_cwd): Remove useless "if" before free.
47921         * lib/putenv.c (putenv): Likewise.
47922         * lib/gc-gnulib.c (gc_cipher_close): Likewise.
47923         * lib/getaddrinfo.c (freeaddrinfo): Likewise.
47924         * tests/test-c-strcasestr.c (main): Likewise.
47925         * tests/test-c-strstr.c (main): Likewise.
47926         * tests/test-mbscasestr1.c (main): Likewise.
47927         * tests/test-mbscasestr2.c (main): Likewise.
47928         * tests/test-mbsstr1.c (main): Likewise.
47929         * tests/test-mbsstr2.c (main): Likewise.
47930         * tests/test-memmem.c (main): Likewise.
47931         * tests/test-strcasestr.c (main): Likewise.
47932         * tests/test-striconv.c (main): Likewise.
47933         * tests/test-striconveh.c (main): Likewise.
47934         * tests/test-striconveha.c (main): Likewise.
47935         * tests/test-strstr.c (main): Likewise.
47936
47937         * build-aux/git-version-gen: Adjust a comment and the Usage string.
47938
47939         bootstrap: sync from coreutils again
47940         * build-aux/bootstrap: Remove dangling m4/*.m4 symlinks.
47941
47942 2008-03-01  Jim Meyering  <meyering@redhat.com>
47943
47944         bootstrap: sync from coreutils
47945         * build-aux/bootstrap (update_po_files): Copy a .po file into place
47946         also when the target doesn't exist.
47947
47948 2008-03-01  Eric Blake  <ebb9@byu.net>
47949
47950         Fix bugs in last patch.
47951         * lib/memchr2.c (memchr2): Fix typo.
47952         * tests/test-memchr2.c: Test previous bug, and don't use GNU
47953         extension.
47954         Reported by Bruce Korb.
47955
47956         New module 'memchr2'.
47957         * modules/memchr2: New file.
47958         * modules/memchr2-tests: Likewise.
47959         * lib/memchr2.h: Likewise.
47960         * lib/memchr2.c: Likewise, based on memchr.c.
47961         * tests/test-memchr2.c: New test.
47962         * MODULES.html.sh (String handling): Add memchr2.
47963
47964 2008-02-29  Bruno Haible  <bruno@clisp.org>
47965
47966         * modules/freadseek-tests: New file.
47967         * tests/test-freadseek.sh: New file.
47968         * tests/test-freadseek.c: New file.
47969
47970         New module 'freadseek'.
47971         * modules/freadseek: New file.
47972         * lib/freadseek.h: New file.
47973         * lib/freadseek.c: New file.
47974         * MODULES.html.sh (File stream based Input/Output): Add freadseek.
47975
47976 2008-02-29  Sergey Poznyakoff  <gray@gnu.org.ua>
47977
47978         * users.txt: Add anubis, cpio, mailfromd, mailutils, radius,
47979         wydawca.
47980
47981         * m4/argp.m4 (gl_ARGP): Use AC_TRY_LINK to test if
47982         program_invocation_name and program_invocation_short_name are
47983         present.
47984
47985 2008-02-28  Bruno Haible  <bruno@clisp.org>
47986
47987         * tests/test-freadptr.c: Add a test for behaviour after ungetc.
47988         * tests/test-freadptr.sh: Also test non-seekable stdin.
47989
47990 2008-02-28  Sergey Poznyakoff  <gray@gnu.org.ua>
47991
47992         * build-aux/bootstrap (source_base, m4_base)
47993         (doc_base, tests_base): New variables.
47994         (gnulib_tool_options): Do not hardcode base directories, use
47995         the above variables instead.
47996
47997 2008-02-28  Atsushi SAKAI  <sakaia@jp.fujitsu.com>
47998
47999         * lib/xsize.h: Fix typo in comment: s/tupe/type/.
48000
48001 2008-02-28  Bruno Haible  <bruno@clisp.org>
48002
48003         * modules/freadptr-tests: New file.
48004         * tests/test-freadptr.sh: New file.
48005         * tests/test-freadptr.c: New file.
48006
48007         New module 'freadptr'.
48008         * modules/freadptr: New file.
48009         * lib/freadptr.h: New file.
48010         * lib/freadptr.c: New file.
48011         * MODULES.html.sh (File stream based Input/Output): Add freadptr.
48012
48013 2008-02-26  Karl Berry  <karl@freefriends.org>
48014
48015         Sync from Libtool:
48016         * libltdl/argz.c (argz_add, argz_count): New functions.
48017         * libltdl/argz.in.h: Declare them.
48018         Report by Juan Manuel Guerrero <juan.guerrero@gmx.de>.
48019
48020 2008-02-22  Bruno Haible  <bruno@clisp.org>
48021
48022         * m4/time_r.m4 (gl_TIME_R): Also check that localtime_r's return type
48023         is a pointer type.  Needed for HP-UX 10.
48024         * doc/posix-functions/localtime_r.texi: Mention HP-UX 10.
48025         * doc/posix-functions/gmtime_r.texi: Likewise.
48026         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
48027
48028 2008-02-24  Bruno Haible  <bruno@clisp.org>
48029
48030         * modules/environ-tests: New file.
48031         * tests/test-environ.c: New file.
48032
48033         New module 'environ'.
48034         * modules/environ: New file.
48035         * lib/unistd.in.h (environ): New declaration.
48036         * m4/environ.m4: New file.
48037         (gt_CHECK_VAR_DECL): Moved here from m4/setenv.m4. Undefine gt_cv_var
48038         after use.
48039         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ENVIRON and
48040         HAVE_DECL_ENVIRON.
48041         * modules/unistd (Makefile.am): Substitute also GNULIB_ENVIRON and
48042         HAVE_DECL_ENVIRON.
48043         * doc/posix-functions/environ.texi: Mention module 'environ'. Remove
48044         wrong claim that 'environ' is missing on some systems.
48045         * modules/execute (Depends-on): Add environ.
48046         * lib/execute.c (environ): Remove fallback declaration.
48047         * modules/pipe (Depends-on): Add environ.
48048         * lib/pipe.c (environ): Remove fallback declaration.
48049         * modules/setenv (Depends-on): Add environ.
48050         * lib/setenv.c (environ): Remove fallback declaration.
48051         * modules/unsetenv (Depends-on): Add environ.
48052         * lib/unsetenv.c (environ): Remove fallback declaration.
48053         * m4/setenv.m4 (gt_CHECK_VAR_DECL): Remove macro. Moved to
48054         m4/environ.m4.
48055         (gl_PREREQ_SETENV): Require gl_ENVIRON instead of testing for environ.
48056         (gl_PREREQ_UNSETENV): Likewise.
48057
48058 2008-02-24  Bruno Haible  <bruno@clisp.org>
48059
48060         * doc/posix-functions/environ.texi: Document the MacOS X problem.
48061
48062 2008-02-20  Bob Proulx  <bob@proulx.com>
48063
48064         Enable use of older two part flavor 'git describe'.
48065         * build-aux/git-version-gen: If using the older two part flavor of
48066         git version then recreate the third part now present in the
48067         newer three part flavor of git describe.
48068
48069 2008-02-20  Martin Buchholz  <martin@xemacs.org>  (tiny change)
48070
48071         * lib/fts.c (fts_build): Typo correction to comment.
48072
48073 2008-02-17  Bruno Haible  <bruno@clisp.org>
48074
48075         * lib/git-merge-changelog.c (main) [split_merged_entry]: Avoid
48076         generating no-op conflicts.
48077
48078 2008-02-17  Bruno Haible  <bruno@clisp.org>
48079
48080         Speed up by 10%.
48081         * lib/git-merge-changelog.c (main): Use the iterator to iterate through
48082         result_entries, rather than an index-based loop.
48083
48084 2008-02-17  Bruno Haible  <bruno@clisp.org>
48085
48086         Speed up by 25%.
48087         * lib/git-merge-changelog.c (struct entry): New fields 'hashcode',
48088         'hashcode_cached'.
48089         (entry_create): New function.
48090         (entry_hashcode): Use the cached hashcode if possible.
48091         (read_changelog_file, try_split_merged_entry): Use entry_create.
48092
48093 2008-02-17  Bruno Haible  <bruno@clisp.org>
48094
48095         Speed up from O(n^2) to O(n) for long ChangeLog files.
48096         * lib/git-merge-changelog.c: Include gl_rbtreehash_list.h.
48097         (read_changelog_file): Change implementation of entries_reversed list
48098         to rbtreehash.
48099         * modules/git-merge-changelog (Depends-on): Add rbtreehash-list.
48100
48101 2008-02-17  Bruno Haible  <bruno@clisp.org>
48102
48103         New option --split-merged-entry.
48104         * lib/git-merge-changelog.c (FSTRCMP_STRICTER_THRESHOLD): New macro.
48105         (find_paragraph_end, try_split_merged_entry): New functions.
48106         (long_options): Add option --split-merged-entry.
48107         (usage): Document option --split-merged-entry.
48108         (main): Implement option --split-merged-entry.
48109         Reported by Eric Blake.
48110
48111 2008-02-17  Bruno Haible  <bruno@clisp.org>
48112
48113         * lib/git-merge-changelog.c: Include c-strstr.h.
48114         (main): Support the "git pull --rebase" situation.
48115         * modules/git-merge-changelog (Depends-on): Add c-strstr.
48116         Reported by Eric Blake.
48117
48118 2008-02-16  Eric Blake  <ebb9@byu.net>
48119
48120         Avoid doubling \ in common case of "c-maybe" quoting style.
48121         * lib/quotearg.c (quotearg_buffer_restyled): Don't escape \ when
48122         eliding outer quotes.
48123         * lib/quotearg.h: Document this.
48124         * tests/test-quotearg.c (result_strings, inputs, results_g)
48125         (flag_results, locale_results): Test it by adding a new string to
48126         each test group.
48127         (compare_strings): Test new string.
48128
48129 2008-02-13  Eric Blake  <ebb9@byu.net>
48130
48131         Avoid trigraph quoting in default output.
48132         * lib/quotearg.h (enum quoting_flags): Add QA_SPLIT_TRIGRAPHS.
48133         * lib/quotearg.c (quotearg_buffer_restyled): Don't quote trigraphs
48134         unless explicitly requested.
48135         * tests/test-quotearg.c (flag_results, main): Add additional tests.
48136
48137 2008-02-13  Lasse Collin  <lasse.collin@tukaani.org>
48138
48139         Don't rely on signed integer overflowing to negative value.
48140         * lib/getugroups.c (getugroups): Include <limits.h>.
48141         Instead, compare against INT_MAX, and increment only if the test passes.
48142
48143 2008-02-13  Jim Meyering  <meyering@redhat.com>
48144         and Eric Blake  <ebb9@byu.net>
48145
48146         Avoid shadowing warning and compile errors on Linux.
48147         * tests/test-quotearg.c [ENABLE_NLS]: Disable <libintl.h>
48148         forwarding macros on Linux.
48149         (dcgettext): Define a stub, for Linux.
48150         (results_g, main): Avoid warnings.
48151
48152 2008-02-12  Eric Blake  <ebb9@byu.net>
48153
48154         Silence warning in last patch.
48155         * lib/quotearg.c (quotearg_buffer_restyled): Add missing const.
48156
48157         Quotearg part 4: add tests, fix c-maybe colon quoting.
48158         * lib/quotearg.h: Improve documentation.
48159         * lib/quotearg.c (quotearg_buffer_restyled): Don't add extra
48160         escapes when adding outer quotes.  When quoting trigraphs, use
48161         valid C notation.  When quoting NUL, omit extra characters if next
48162         character is not digit.  Alter prototype.
48163         (quotearg_buffer, quotearg_alloc_mem, quotearg_n_options): Adjust
48164         callers.
48165         * modules/quotearg-tests: New module.
48166         * tests/test-quotearg.c: New test.
48167
48168 2008-02-07  Eric Blake  <ebb9@byu.net>
48169
48170         Quotearg part 3: add flag to control outer quote elision.
48171         * lib/quotearg.h (c_maybe_quoting_style): New style.
48172         (enum quoting_flags): Better documentation of flags.
48173         * lib/quotearg.c (quoting_style_args, quoting_style_vals): Add
48174         c-maybe style.
48175         (quotearg_buffer_restyled): Handle new flag to elide outer
48176         quotes.
48177
48178         Quotearg part 2: add flag that can control NUL elision.
48179         * lib/quotearg.h (set_quoting_flags): New prototype.
48180         * lib/quotearg.c (struct quoting_options): Add flag field.
48181         (set_quoting_flags): New function.
48182         (quotearg_buffer_restyled): Add flags parameter.
48183         (quotearg_alloc_mem): Set the flag if length cannot be returned.
48184         (quotearg_n_options): Set the flag, since length cannot be
48185         returned.
48186         (quoting_options_from_style): Default flags correctly.
48187
48188         Quotearg part 1: more wrappers, restore quotearg_char state.
48189         * lib/quotearg.h (quotearg_alloc_mem, quotearg_n_mem)
48190         (quotearg_mem, quotearg_style_mem, quotearg_char_mem)
48191         (quotearg_colon_mem): New wrappers.
48192         * lib/quotearg.c (quotearg_alloc, quotearg_char): Rewrite...
48193         (quotearg_alloc_mem, quotearg_char_mem): ...in terms of these new
48194         functions.
48195         (quotearg_n_mem, quotearg_mem, quotearg_style_mem)
48196         (quotearg_colon_mem): New functions.
48197
48198 2008-02-11  Bruno Haible  <bruno@clisp.org>
48199
48200         * modules/git-merge-changelog (Makefile.am): Don't use -L and -l for a
48201         library in the current directory: it does not work with parallel make.
48202         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
48203
48204 2008-02-11  Bruno Haible  <bruno@clisp.org>
48205
48206         * .gitattributes: New file.
48207
48208 2008-02-11  Jim Meyering  <meyering@redhat.com>
48209
48210         useless-if-before-free: Fix reversed exit values.
48211         * build-aux/useless-if-before-free: Use correct values
48212         for EXIT_MATCH and EXIT_NO_MATCH.
48213
48214         * build-aux/useless-if-before-free: Close stdout carefully.
48215
48216 2008-02-10  Bruno Haible  <bruno@clisp.org>
48217
48218         New module 'git-merge-changelog'.
48219         * modules/git-merge-changelog: New file.
48220         * lib/git-merge-changelog.c: New file.
48221
48222 2008-02-10  Jim Meyering  <meyering@redhat.com>
48223
48224         useless-if-before-free: New option: --list (-l).
48225
48226         useless-if-before-free: Don't exit immediately upon open failure.
48227         * build-aux/useless-if-before-free: Exit 2 for errors.
48228         Upon failure to open a file, don't exit immediately.
48229         Rather, just warn and continue with any remaining files.
48230
48231 2008-02-10  Bruno Haible  <bruno@clisp.org>
48232
48233         New abstract list operation 'node_set_value'.
48234         * lib/gl_list.h (gl_list_node_set_value): New function.
48235         (struct gl_list_implementation): New field node_set_value.
48236         * lib/gl_list.c (gl_list_node_set_value): New function.
48237         * lib/gl_array_list.c (gl_array_node_set_value): New function.
48238         (gl_array_list_implementation): Update.
48239         * lib/gl_carray_list.c (gl_carray_node_set_value): New function.
48240         (gl_carray_list_implementation): Update.
48241         * lib/gl_anylinked_list2.h (gl_linked_node_set_value): New function.
48242         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
48243         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
48244         * lib/gl_anytree_list2.h (gl_tree_node_set_value): New function.
48245         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
48246         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
48247         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
48248         Update.
48249         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
48250         * lib/gl_sublist.c (gl_sublist_node_set_value): New function.
48251         (gl_sublist_list_implementation): Update.
48252
48253 2008-02-10  Bruno Haible  <bruno@clisp.org>
48254
48255         * lib/diffseq.h: Write "ELEMENT const" instead of "const ELEMENT".
48256         Needed when ELEMENT is #defined to 'some_type *'.
48257
48258 2008-02-10  Jim Meyering  <meyering@redhat.com>
48259
48260         New script and module: useless-if-before-free
48261         * MODULES.html.sh (maint+release support): Add useless-if-before-free.
48262         * build-aux/useless-if-before-free: New file.
48263         * modules/useless-if-before-free: New file.
48264
48265         * build-aux/gitlog-to-changelog: Use committer date, not author date.
48266
48267         xstrtol_error: Fix typo.
48268         * lib/xstrtol-error.c (xstrtol_error): The parameter was unused:
48269         s/exit_failure/exit_status/.
48270
48271 2008-02-09  Jim Meyering  <meyering@redhat.com>
48272
48273         New script and module: gitlog-to-changelog
48274         * MODULES.html.sh (maint+release support): Add gitlog-to-changelog.
48275         * modules/gitlog-to-changelog: New file.
48276         * build-aux/gitlog-to-changelog: New file.
48277
48278 2008-02-08  Jim Meyering  <meyering@redhat.com>
48279
48280         Avoid two "parameter unused" warnings.
48281         * lib/stat-time.h (get_stat_birthtime_ns, get_stat_birthtime):
48282         Mark "st" as used.
48283
48284         Use "git COMMAND", not "git-COMMAND".
48285         * build-aux/bootstrap (version_controlled_file): s/git-rm/git-rm/.
48286         * build-aux/announce-gen (get_tool_versions): Correct a diagnostic.
48287         * build-aux/git-version-gen: Use "git status", not "git-status".
48288
48289 2008-02-07  Bruno Haible  <bruno@clisp.org>
48290
48291         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on native Woe32 systems.
48292         Avoids a crash on Windows Vista.
48293         Reported by Adam Strzelecki <ono@java.pl> via
48294         Simon Josefsson <simon@josefsson.org>.
48295
48296 2008-02-06  Bruno Haible  <bruno@clisp.org>
48297
48298         Fix *printf behaviour regarding the left-adjust flag on HP-UX 10.20.
48299         * m4/printf.m4 (gl_PRINTF_FLAG_LEFTADJUST): New macro.
48300         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_FLAG_LEFTADJUST.
48301         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST): New macro.
48302         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
48303         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
48304         gl_PRINTF_FLAG_LEFTADJUST and test its result. Invoke
48305         gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST.
48306         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
48307         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
48308         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
48309         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
48310         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
48311         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
48312         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
48313         * tests/test-vasnprintf-posix.c (test_function): Add testcases for the
48314         left-adjust flag.
48315         * tests/test-snprintf-posix.h (test_function): Likewise.
48316         * tests/test-sprintf-posix.h (test_function): Likewise.
48317         * tests/test-vasprintf-posix.c (test_function): Likewise.
48318         * doc/posix-functions/fprintf.texi: Update.
48319         * doc/posix-functions/printf.texi: Update.
48320         * doc/posix-functions/snprintf.texi: Update.
48321         * doc/posix-functions/sprintf.texi: Update.
48322         * doc/posix-functions/vfprintf.texi: Update.
48323         * doc/posix-functions/vprintf.texi: Update.
48324         * doc/posix-functions/vsnprintf.texi: Update.
48325         * doc/posix-functions/vsprintf.texi: Update.
48326         Reported by Peter Fales <psfales@alcatel-lucent.com>.
48327
48328 2008-02-06  Bruno Haible  <bruno@clisp.org>
48329
48330         Fix bug introduced on 2008-01-26.
48331         * lib/isnan.c (FUNC): Set to rpl_isnand, not rpl_isnan.
48332
48333 2008-02-06  Bruno Haible  <bruno@clisp.org>
48334
48335         Fix bug introduced on 2007-06-10.
48336         * lib/vasnprintf.c (VASNPRINTF): Perform zero-padding also if
48337         !NEED_PRINTF_FLAG_ZERO.
48338
48339 2008-02-05  Peter O'Gorman <pogma@thewrittenword.com>
48340
48341         getloadavg: use libperfstat on AIX5
48342         * lib/getloadavg.c, m4/getloadavg.m4 [aix]: Use libperfstat
48343
48344 2008-02-03  Bruno Haible  <bruno@clisp.org>
48345
48346         * lib/diffseq.h: Add comments about required #includes.
48347         Reported by Michael Biggs <gnulib@doubleplum.net>.
48348
48349 2008-02-01  Bruno Haible  <bruno@clisp.org>
48350
48351         * users.txt: Add gnuit.
48352
48353 2008-01-31  Bruno Haible  <bruno@clisp.org>
48354
48355         * lib/md4.c (set_uint32): Mark as inline.
48356         * lib/md5.c (set_uint32): Likewise.
48357         * lib/sha1.c (set_uint32): Likewise.
48358         * m4/md4.m4 (gl_MD4): Require AC_C_INLINE.
48359         * m4/md5.m4 (gl_MD5): Likewise.
48360         * m4/sha1.m4 (gl_SHA1): Likewise.
48361
48362 2008-01-31  Jim Meyering  <meyering@redhat.com>
48363
48364         Use "sizeof VAR", rather than a literal "4".
48365         * lib/md5.c (md5_read_ctx): Use sizeof ctx->A, not 4.
48366         * lib/md4.c (md4_read_ctx): Likewise.
48367         * lib/sha1.c (sha1_read_ctx): Likewise.
48368
48369 2008-01-31  Simon Josefsson  <simon@josefsson.org>
48370
48371         * tests/test-sha1.c: New file, based on test-md5.c.
48372
48373         * modules/crypto/sha1-tests: New file.
48374
48375 2008-01-31  Simon Josefsson  <simon@josefsson.org>
48376
48377         * lib/sha1.h (SHA1_DIGEST_SIZE): Define.
48378
48379 2008-01-31  Jim Meyering  <meyering@redhat.com>
48380
48381         Prefer "sizeof v" over the equivalent "4".
48382         * lib/md4.c (set_uint32): Use "sizeof v" as memcpy length, not 4.
48383         * lib/md5.c (set_uint32): Likewise.
48384         * lib/sha1.c (set_uint32): Likewise.
48385
48386 2008-01-31  Simon Josefsson  <simon@josefsson.org>
48387
48388         * lib/sha1.c (set_uint32): Mark function as static.
48389
48390 2008-01-31  Simon Josefsson  <simon@josefsson.org>
48391
48392         md2: clarify comments to say that alignment is not required.
48393         * lib/md2.h: Remove warning about alignment in comment.
48394         * lib/md2.c (md2_read_ctx, md2_finish_ctx): Doc fix, alignment has
48395         never been required.
48396
48397 2008-01-31  Simon Josefsson  <simon@josefsson.org>
48398
48399         md4: adapt alignment constraint fix from sha1.
48400         * lib/md4.c (set_uint32): New function, from sha1.c
48401         (md4_read_ctx): Use it.
48402         (md4_finish_ctx): Doc fix.
48403         * lib/md4.h: Doc fix.
48404
48405 2008-01-31  Simon Josefsson  <simon@josefsson.org>
48406
48407         md5: adapt alignment constraint fix from sha1.
48408         * lib/md5.c (set_uint32): New function, from sha1.c
48409         (md5_read_ctx): Use it.
48410         (md5_finish_ctx): Doc fix.
48411         * lib/md5.h: Doc fix.
48412
48413 2008-01-30  Peter Palfrader  <weasel@debian.org>
48414
48415         sha1: remove the result buffer alignment constraint
48416         * lib/sha1.c (set_uint32): New function.
48417         (sha1_read_ctx): Rewrite to remove the result buffer alignment
48418         constraint.
48419         (sha1_finish_ctx): Remove comment warning about alignment constraint.
48420         * lib/sha1.h: Likewise.
48421
48422 2008-01-30  Andreas Schwab  <schwab@suse.de>
48423             Bruno Haible  <bruno@clisp.org>
48424
48425         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Include <float.h> and ensure a
48426         correct definition of LDBL_MIN_EXP.
48427
48428 2008-01-30  Karl Berry  <karl@gnu.org>
48429
48430         * config/srclist-update: try to preserve x bit on updates.
48431         * config/srclistvars.sh: update for karl.
48432
48433 2008-01-29  Jim Meyering  <meyering@redhat.com>
48434
48435         vasnprintf.c: Avoid warning about unused label
48436         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Guard the
48437         "overflow" label definition and associated code with the
48438         same cpp condition that guards the sole use of that label.
48439
48440 2008-01-26  Bruno Haible  <bruno@clisp.org>
48441
48442         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM,
48443         gl_FUNC_ISNANL_WORKS): Test the GCC >= 4.0 built-in.
48444         * lib/isnanl.h (isnanl): Use the GCC >= 4.0 built-in.
48445         * lib/isnanl-nolibm.h (isnanl): Likewise.
48446         Reported by Paul Eggert <eggert@cs.ucla.edu>.
48447
48448 2008-01-26  Bruno Haible  <bruno@clisp.org>
48449
48450         * m4/isnand.m4 (gl_FUNC_ISNAND_NO_LIBM): Test the GCC >= 4.0 built-in.
48451         * lib/isnand.h (isnand): Use the GCC >= 4.0 built-in.
48452
48453 2008-01-26  Bruno Haible  <bruno@clisp.org>
48454
48455         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_ISNANF_WORKS): Test the
48456         GCC >= 4.0 built-in.
48457         * lib/isnanf.h (isnanf): Use the GCC >= 4.0 built-in.
48458
48459 2008-01-26  Bruno Haible  <bruno@clisp.org>
48460
48461         Rename isnan, applicable to 'double' only, to isnand.
48462         * modules/isnand-nolibm: Renamed from modules/isnan-nolibm.
48463         (Files): Add lib/isnand.h, lib/isnand.c. Remove lib/isnan.h.
48464         (configure.ac): Update.
48465         (Include): Replace "isnan.h" with "isnand.h".
48466         * m4/isnand.m4: Renamed from m4/isnan.m4.
48467         (gl_FUNC_ISNAND_NO_LIBM): Renamed from gl_FUNC_ISNAN_NO_LIBM. Set
48468         HAVE_ISNAND_IN_LIBC instead of HAVE_ISNAN_IN_LIBC. Build isnand.c
48469         instead of isnan.c.
48470         * lib/isnand.h: Renamed from lib/isnan.h. Test HAVE_ISNAND_IN_LIBC
48471         instead of HAVE_ISNAN_IN_LIBC.
48472         (isnand): Renamed from isnan.
48473         * lib/isnand.c: New file.
48474         * modules/isnand-nolibm-tests: Renamed from modules/isnan-nolibm-tests.
48475         (Files): Add tests/test-isnand.c. Remove tests/test-isnan.c.
48476         (Makefile.am): Update.
48477         * tests/test-isnand.c: Renamed from tests/test-isnan.c.
48478         Include isnand.h instead of isnan.h.
48479         (main): Test isnand instead of isnan.
48480         * modules/fprintf-posix (Depends-on): Add isnand-nolibm, remove
48481         isnan-nolibm.
48482         * modules/frexp (Depends-on): Likewise.
48483         * modules/frexp-tests (Depends-on): Likewise.
48484         * modules/frexp-nolibm (Depends-on): Likewise.
48485         * modules/frexp-nolibm-tests (Depends-on): Likewise.
48486         * modules/isfinite (Depends-on): Likewise.
48487         * modules/round-tests (Depends-on): Likewise.
48488         * modules/signbit (Depends-on): Likewise.
48489         * modules/signbit-tests (Depends-on): Likewise.
48490         * modules/snprintf-posix (Depends-on): Likewise.
48491         * modules/sprintf-posix (Depends-on): Likewise.
48492         * modules/trunc-tests (Depends-on): Likewise.
48493         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
48494         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
48495         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
48496         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
48497         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
48498         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
48499         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
48500         * modules/vasnprintf-posix (Depends-on): Likewise.
48501         * modules/vasprintf-posix (Depends-on): Likewise.
48502         * modules/vfprintf-posix (Depends-on): Likewise.
48503         * modules/vsnprintf-posix (Depends-on): Likewise.
48504         * modules/vsprintf-posix (Depends-on): Likewise.
48505         * lib/frexp.c: Include isnand.h instead of isnan.h.
48506         (ISNAN): Set to isnand instead of isnan.
48507         * lib/isfinite.c: Include isnand.h instead of isnan.h.
48508         (gl_isfinited): Use isnand instead of isnan.
48509         * lib/signbitd.c: Include isnand.h instead of isnan.h.
48510         (gl_signbitd): Use isnand instead of isnan.
48511         * lib/vasnprintf.c: Include isnand.h instead of isnan.h.
48512         (is_infinite_or_zero, VASNPRINTF): Use isnand instead of isnan.
48513         * tests/test-frexp.c: Include isnand.h instead of isnan.h.
48514         (main): Use isnand instead of isnan.
48515         * tests/test-round1.c: Include isnand.h.
48516         (main): Use isnand instead of isnan.
48517         * tests/test-round2.c: Include isnand.h instead of isnan.h.
48518         (ISNAN): Set to isnand instead of isnan.
48519         * tests/test-trunc1.c: Include isnand.h.
48520         (main): Use isnand instead of isnan.
48521         * tests/test-trunc2.c: Include isnand.h instead of isnan.h.
48522         (equal): Use isnand instead of isnan.
48523         * MODULES.html.sh (Mathematics <math.h>): Replace isnan-nolibm with
48524         isnand-nolibm.
48525         * NEWS: Mention the change.
48526
48527 2008-01-25  Paul Eggert  <eggert@cs.ucla.edu>
48528             Bruno Haible  <bruno@clisp.org>
48529
48530         * m4/signbit.m4 (gl_SIGNBIT): Require a macro definition. Test whether
48531         the GCC builtins for signbits are present and set
48532         REPLACE_SIGNBIT_USING_GCC if so.
48533         * lib/math.in.h (signbit): Define using GCC builtins if
48534         REPLACE_SIGNBIT_USING_GCC is set.
48535         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize
48536         REPLACE_SIGNBIT_USING_GCC.
48537         * modules/math (Makefile.am): Substitute REPLACE_SIGNBIT_USING_GCC.
48538
48539 2008-01-25  Jim Meyering  <meyering@redhat.com>
48540
48541         Prefer <config.h> over "config.h".  See autoconf doc for explanation.
48542         * lib/poll.c: Include <config.h>, not "config.h".
48543         * tests/test-getaddrinfo.c: Likewise.
48544
48545 2008-01-25  Simon Josefsson  <simon@josefsson.org>
48546
48547         * modules/sockets-tests: New file.
48548
48549 2008-01-24  Simon Josefsson  <simon@josefsson.org>
48550
48551         * modules/sockets: New module, can be used to call WSA_Startup and
48552         WSA_Cleanup when needed.
48553
48554         * lib/sockets.h, lib/sockets.c: New files.
48555
48556         * m4/sockets.m4: New file.
48557
48558         * tests/test-sockets.c: New file.
48559
48560 2008-01-19  Bruno Haible  <bruno@clisp.org>
48561
48562         * doc/posix-headers: Renamed from doc/headers.
48563         * doc/posix-functions: Renamed from doc/functions.
48564         * doc/gnulib.texi: Update.
48565
48566 2008-01-19  Bruno Haible  <bruno@clisp.org>
48567
48568         * doc/glibc-functions/strcasestr.texi: Include contents of
48569         doc/functions/strcasestr.texi, fixing the list of platforms.
48570         * doc/functions/strcasestr.texi: Remove file.
48571
48572 2008-01-19  Bruno Haible  <bruno@clisp.org>
48573
48574         * doc/glibc-functions/memmem.texi: Include contents of
48575         doc/functions/memmem.texi.
48576         * doc/functions/memmem.texi: Remove file.
48577
48578 2008-01-18  Bruno Haible  <bruno@clisp.org>
48579
48580         * doc/glibc-functions/*.texi: New files.
48581         * doc/gnulib.texi (Glibc Function Substitutes): Completely rewritten
48582         to use the new files.
48583
48584 2008-01-17  Bruno Haible  <bruno@clisp.org>
48585
48586         * tests/test-gethostname.c (main): Fix printf statement.
48587
48588 2008-01-17  Simon Josefsson  <simon@josefsson.org>
48589
48590         * modules/gethostname-tests: New file.
48591
48592         * tests/test-gethostname.c: New file.
48593
48594 2008-01-17  Simon Josefsson  <simon@josefsson.org>
48595
48596         * lib/gethostname.c: Include string.h unconditionally, strncpy is
48597         used by the UNAME case.  Reported by Bruno Haible
48598         <bruno@clisp.org>.
48599
48600 2008-01-17  Eric Blake  <ebb9@byu.net>
48601
48602         Convert c-strcasestr to be more efficient.
48603         * modules/c-strcasestr (Files): Use Two-Way, not KMP.
48604         (Depends-on): Add c-strcase, remove malloca, strnlen.
48605         * tests/test-c-strcasestr.c (main): Enhance test.
48606         * lib/c-strcasestr.c (c_strcasestr): Rewrite to new algorithm.
48607
48608 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
48609
48610         * build-aux/bootstrap (MSGID_BUGS_ADDRESS): New overridable variable.
48611         Use it in creating po/Makevars.
48612
48613 2008-01-15  Simon Josefsson  <simon@josefsson.org>
48614
48615         * lib/gc-libgcrypt.c (gc_init): Disable secure memory by default.
48616         Applications that requires it should initialize libgcrypt
48617         manually.
48618
48619 2008-01-16  Simon Josefsson  <simon@josefsson.org>
48620
48621         * lib/gethostname.c [!HAVE_UNAME]: Need string.h for strcpy.
48622
48623 2008-01-15  Paul Eggert  <eggert@cs.ucla.edu>
48624
48625         Fix problem with getdate on mingw32 reported by Simon Josefsson
48626         in <http://lists.gnu.org/archive/html/bug-gnulib/2008-01/msg00192.html>.
48627         * lib/getdate.y (get_date): Check "HAVE_DECL_TZNAME", not "defined
48628         tzname", when deciding whether to declare tzname.
48629         * lib/strftime.c (tzname): Likewise.
48630
48631 2008-01-15  Bruno Haible  <bruno@clisp.org>
48632
48633         Work around a MacOS X 10.5 bug in frexpl().
48634         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Also check denormalized numbers.
48635         * doc/functions/frexpl.texi: Document the bug.
48636         Reported by Elias Pipping <pipping@gentoo.org>.
48637
48638 2008-01-14  Eric Blake  <ebb9@byu.net>
48639
48640         Touch up previous patch.
48641         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Fix typo.
48642         * doc/functions/strcasestr.texi (strcasestr): Document OpenBSD bug.
48643
48644         Convert strcasestr module to use Two-Way algorithm.
48645         * modules/strcasestr-simple: New module, based on the old
48646         strcasestr, but with Two-Way rather than KMP.
48647         * modules/strcasestr (Depends-on): Change to strcasestr-simple.
48648         * lib/string.in.h (rpl_strcasestr): Declare.
48649         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Check for linear
48650         performance.
48651         * lib/strcasestr.c (strcasestr): Simplify, and avoid malloc.
48652         * modules/string (Makefile.am): Support strcasestr.
48653         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
48654         * modules/strcasestr-tests (Depends-on): Check for alarm.
48655         * tests/test-strcasestr.c: Augment test.
48656         * lib/str-two-way.h: Clean up stray macro.
48657         * NEWS: Document new module.
48658         * MODULES.html.sh (string handling): Likewise.
48659         * doc/functions/strcasestr.texi: New file.
48660         * doc/gnulib.texi (Function Substitutes): New node.  Move memmem
48661         here, since it is not a POSIX function.
48662
48663 2008-01-14  Colin Watson  <cjwatson@debian.org>
48664             Bruno Haible  <bruno@clisp.org>
48665
48666         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check whether strsignal
48667         works fine; if not, set REPLACE_STRSIGNAL.
48668         (gl_PREREQ_STRSIGNAL): Require AC_DECL_SYS_SIGLIST.
48669         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
48670         REPLACE_STRSIGNAL.
48671         * lib/string.in.h (strsignal): Consider REPLACE_STRSIGNAL.
48672         * modules/string (Makefile.am): Substitute REPLACE_STRSIGNAL.
48673         * tests/test-strsignal.c (main): Check out-of-range signal numbers.
48674
48675 2008-01-14  Bruno Haible  <bruno@clisp.org>
48676
48677         * modules/strsignal (Include): Change to <string.h>.
48678
48679 2008-01-14  Colin Watson  <cjwatson@debian.org>
48680
48681         * modules/argp (Notice): Add a notice recommending to change
48682         XGETTEXT_OPTIONS.
48683         (configure.ac): Invoke AM_XGETTEXT_OPTION if it exists.
48684
48685 2008-01-13  Colin Watson  <cjwatson@debian.org>
48686
48687         * modules/strsignal-tests: New file.
48688         * tests/test-strsignal.c: New file.
48689
48690         * lib/strsignal.c: New file, from glibc with modifications.
48691         * lib/siglist.h: New file, from glibc with modifications.
48692         * lib/string.in.h (strsignal): New declaration.
48693         * m4/strsignal.m4: New file.
48694         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
48695         GNULIB_STRSIGNAL and HAVE_DECL_STRSIGNAL.
48696         * modules/strsignal: New file.
48697         * modules/string (Makefile.am): Substitute GNULIB_STRSIGNAL and
48698         HAVE_DECL_STRSIGNAL.
48699
48700 2008-01-13  Bruno Haible  <bruno@clisp.org>
48701
48702         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check that the
48703         locale encoding is not ASCII. Needed for OpenBSD 4.0.
48704         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
48705         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
48706
48707 2008-01-13  Bruno Haible  <bruno@clisp.org>
48708
48709         * lib/argp-fmtstream.h (__attribute__): Don't redefine if
48710         __STRICT_ANSI__ is set: it's not needed by any version of gcc.
48711         * lib/argp.h (__attribute__): Likewise.
48712         * lib/c-stack.c (__attribute__): Likewise.
48713         * lib/error.h (__attribute__): Likewise.
48714         * lib/fts.c (__attribute__): Likewise.
48715         * lib/openat.h (__attribute__): Likewise.
48716         * lib/stdio.in.h (__attribute__): Likewise.
48717         * lib/string.in.h (__attribute__): Likewise.
48718         * lib/utimens.c (__attribute__): Likewise.
48719         * lib/vasnprintf.h (__attribute__): Likewise.
48720         * lib/xalloc.h (__attribute__): Likewise.
48721         * lib/xprintf.h (__attribute__): Likewise.
48722         * lib/xstrtol.h (__attribute__): Likewise.
48723         * lib/xvasprintf.h (__attribute__): Likewise.
48724
48725 2008-01-12  Bruno Haible  <bruno@clisp.org>
48726
48727         * doc/gnulib.texi (Glibc Header File Substitutes): New chapter.
48728         * doc/glibc-headers/a.out.texi: New file.
48729         * doc/glibc-headers/aliases.texi: New file.
48730         * doc/glibc-headers/alloca.texi: New file.
48731         * doc/glibc-headers/ar.texi: New file.
48732         * doc/glibc-headers/argp.texi: New file.
48733         * doc/glibc-headers/argz.texi: New file.
48734         * doc/glibc-headers/byteswap.texi: New file.
48735         * doc/glibc-headers/crypt.texi: New file.
48736         * doc/glibc-headers/endian.texi: New file.
48737         * doc/glibc-headers/envz.texi: New file.
48738         * doc/glibc-headers/err.texi: New file.
48739         * doc/glibc-headers/error.texi: New file.
48740         * doc/glibc-headers/execinfo.texi: New file.
48741         * doc/glibc-headers/fpu_control.texi: New file.
48742         * doc/glibc-headers/fstab.texi: New file.
48743         * doc/glibc-headers/fts.texi: New file.
48744         * doc/glibc-headers/getopt.texi: New file.
48745         * doc/glibc-headers/ieee754.texi: New file.
48746         * doc/glibc-headers/ifaddrs.texi: New file.
48747         * doc/glibc-headers/libintl.texi: New file.
48748         * doc/glibc-headers/mcheck.texi: New file.
48749         * doc/glibc-headers/mntent.texi: New file.
48750         * doc/glibc-headers/obstack.texi: New file.
48751         * doc/glibc-headers/paths.texi: New file.
48752         * doc/glibc-headers/printf.texi: New file.
48753         * doc/glibc-headers/pty.texi: New file.
48754         * doc/glibc-headers/resolv.texi: New file.
48755         * doc/glibc-headers/shadow.texi: New file.
48756         * doc/glibc-headers/sysexits.texi: New file.
48757         * doc/glibc-headers/ttyent.texi: New file.
48758
48759 2008-01-12  Jim Meyering  <meyering@redhat.com>
48760
48761         announce-gen: emit Gnulib's git-based version string.
48762         * build-aux/announce-gen: Remove option: --gnulib-snapshot-time-stamp=S.
48763         New option --gnulib-version=V, where V is expected to be
48764         the output of running git describe in the gnulib directory.
48765         (get_tool_versions): Request feedback on xdelta.  I suspect it's
48766         not useful, and plan to stop publishing an xdelta file with each
48767         coreutils release.
48768
48769         * build-aux/announce-gen: Also check for lzma-compressed files.
48770
48771 2008-01-11  Bruno Haible  <bruno@clisp.org>
48772
48773         * tests/test-memmem.c (main): Increase maximum allowed time.
48774         * tests/test-strstr.c (main): Likewise.
48775
48776 2008-01-11  Bruno Haible  <bruno@clisp.org>
48777
48778         * doc/functions/memmem.texi: Add more precisions about platforms.
48779         * doc/functions/strstr.texi: Likewise.
48780
48781 2008-01-10  Eric Blake  <ebb9@byu.net>
48782
48783         * m4/strstr.m4: Delete cruft from copy-n-paste.
48784         Reported by Bruno Haible.
48785
48786 2008-01-10  Bruno Haible  <bruno@clisp.org>
48787
48788         Make c-strstr rely on strstr.
48789         * lib/c-strstr.c: Don't include str-kmp.h.
48790         (c_strstr): Define in terms of strstr.
48791         * modules/c-strstr (Files): Remove lib/str-kmp.h.
48792         (Depends-on): Remove stdbool, malloca, strnlen. Add strstr.
48793
48794 2008-01-10  Bruno Haible  <bruno@clisp.org>
48795
48796         * doc/gnulib.texi (String Functions in C Locale): New section.
48797         * doc/c-ctype.texi: New file.
48798         * doc/c-strcase.texi: New file.
48799         * doc/c-strcaseeq.texi: New file.
48800         * doc/c-strcasestr.texi: New file.
48801         * doc/c-strstr.texi: New file.
48802         * doc/c-strtod.texi: New file.
48803         * doc/c-strtold.texi: New file.
48804
48805 2008-01-10  Eric Blake  <ebb9@byu.net>
48806
48807         * lib/relocatable.h: Fix a comment.
48808
48809 2008-01-10  Eric Blake  <ebb9@byu.net>
48810
48811         Share two-way algorithm.
48812         * lib/str-two-way.h: New file, merged from...
48813         * lib/memmem.c: ...here...
48814         * lib/strstr.c: ...and here.
48815         * modules/memmem (Files): Use it.
48816         * modules/strstr (Files): Likewise.
48817
48818         Avoid quadratic strstr implementations.
48819         * lib/strstr.c: New file.
48820         * m4/strstr.m4: Likewise.
48821         * modules/strstr: Likewise.
48822         * modules/strstr-tests: Likewise.
48823         * tests/test-strstr.c: Likewise.
48824         * lib/string.in.h (rpl_strstr): Declare.
48825         (memmem) [GNULIB_POSIXCHECK]: Document speed issue.
48826         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Support strstr.
48827         * modules/string (Makefile.am): Likewise.
48828         * MODULES.html.sh (string handling): Mention new module.
48829         * doc/functions/strstr.texi (strstr): Document the bug.
48830
48831 2008-01-10  Bruno Haible  <bruno@clisp.org>
48832
48833         * lib/relocatable.h (relocate): State whether result is freshly
48834         allocated or not.
48835         * lib/relocatable.c (relocate): Return a freshly allocated string
48836         instead of a pointer to a privately held string.
48837         Reported by Sylvain Beucler <beuc@gnu.org>.
48838
48839 2008-01-10  Colin Watson  <cjwatson@debian.org>
48840
48841         * lib/canonicalize-lgpl.c [!_LIBC]: Fix typo in #if directive:
48842         s/S_ISNLK/S_ISLNK/.
48843
48844 2008-01-09  Bruno Haible  <bruno@clisp.org>
48845
48846         * doc/functions/memmem.texi: Use the same structure as snprintf.texi
48847         and other files.
48848         * m4/memmem.m4 (gl_FUNC_MEMMEM): Say "guessing no" instead of "no"
48849         if it's only a guess.
48850         * modules/memmem: Simplify by depending on memmem-simple.
48851
48852 2008-01-09  Bruno Haible  <bruno@clisp.org>
48853
48854         Work around OpenBSD 4.0 tdelete() bug.
48855         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Also check tdelete's return value.
48856         * lib/search.in.h: If REPLACE_TSEARCH is 1, define tsearch etc. as
48857         macros and don't redefine the enum values.
48858         * m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Initialize REPLACE_TSEARCH.
48859         * modules/search (Makefile.am): Also substitute REPLACE_TSEARCH.
48860         * doc/functions/tdelete.texi: Document the OpenBSD 4.0 bug.
48861
48862 2008-01-09  Bruno Haible  <bruno@clisp.org>
48863
48864         * tests/test-wcwidth.c: Include <string.h> and localcharset.h.
48865         (main): Don't perform the tests if setlocale did not install a UTF-8
48866         locale. Needed on OpenBSD 4.0.
48867         * modules/wcwidth-tests (Depends-on): Add localcharset.
48868
48869 2008-01-09  Paul Eggert  <eggert@cs.ucla.edu>
48870
48871         gl_FUNC_ALLOCA no longer defines HAVE_ALLOCA_H unconditionally.
48872         See <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00149.html>.
48873         * NEWS: announce this.
48874         * m4/alloca.m4 (gl_FUNC_ALLOCA): Don't define HAVE_ALLOCA_H.
48875
48876 2008-01-09  Simon Josefsson  <simon@josefsson.org>
48877         and Eric Blake  <ebb9@byu.net>
48878
48879         Add memmem-simple module.
48880         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): New macro.
48881         (gl_FUNC_MEMMEM): Separate performance from presence checks.
48882         * modules/memmem-simple: New file.
48883         * modules/memmem (Description): Tweak.
48884         * MODULES.html.sh (string handling): Mention new module.
48885         * doc/functions/memmem.texi (memmem): Distinguish which flaws are
48886         addressed by memmem-simple.
48887         * NEWS: Document the difference.
48888
48889 2008-01-09  Eric Blake  <ebb9@byu.net>
48890
48891         Give gcc some memmem optimization hints.
48892         * lib/string.in.h (memmem, memrchr, strchrnul, strnlen, strpbrk)
48893         (strcasestr): Declare as pure.
48894         * modules/memmem (Maintainer): Claim my implementation.
48895
48896 2008-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48897
48898         Support AIX 6.1 and higher.
48899         * build-aux/config.libpath: Likewise.
48900         * build-aux/config.rpath: Likewise.
48901
48902 2008-01-08  Jim Meyering  <meyering@redhat.com>
48903             Bruno Haible  <bruno@clisp.org>
48904
48905         * lib/printf-parse.c (PRINTF_PARSE): Handle a size specifier "q"
48906         on MacOS X and a size specifier "I64" on mingw. Needed for PRIdMAX.
48907         Reported by Peter Fales in
48908         <http://lists.gnu.org/archive/html/bug-coreutils/2007-12/msg00148.html>.
48909
48910 2008-01-08  Bruno Haible  <bruno@clisp.org>
48911
48912         * modules/unictype/category-of (Depends-on): Add
48913         unictype/category-none.
48914         * modules/unictype/category-and-tests (Depends-on): Add
48915         unictype/category-{L,N,Lu,Nd}.
48916         * modules/unictype/category-and-not-tests (Depends-on): Likewise.
48917         * modules/unictype/category-or-tests (Depends-on): Add
48918         unictype/category-{L,N}.
48919         * modules/unictype/category-name-tests (Depends-on): Add
48920         unictype/category-{Z,Nl}.
48921         Reported by Simon Josefsson.
48922
48923 2008-01-08  Bruno Haible  <bruno@clisp.org>
48924
48925         * lib/str-kmp.h (knuth_morris_pratt_unibyte): Document the calling
48926         convention better.
48927         * lib/mbsstr.c (knuth_morris_pratt_multibyte): Likewise.
48928         * lib/mbscasestr.c (knuth_morris_pratt_multibyte): Likewise.
48929         Reported by Peter Miller <millerp@canb.auug.org.au>.
48930
48931 2008-01-08  Eric Blake  <ebb9@byu.net>
48932
48933         Rewrite memmem to guarantee linear complexity without malloc.
48934         * lib/memmem.c (memmem): Use Two-Way rather than
48935         Knuth-Morris-Pratt, to allow O(1) space usage.
48936         (critical_factorization, two_way_short_needle)
48937         (two_way_long_needle): New functions.
48938         (knuth_morris_pratt): Delete.
48939         * modules/memmem (Depends-on): No longer need malloca or stdbool.
48940         Add stdint.
48941         * tests/test-memmem.c (main): Add tests for periodic needle and
48942         sublinear performance.
48943         * doc/functions/memmem.texi (memmem): Document other deficiencies
48944         in cygwin and older glibc.
48945
48946 2008-01-08  Bruno Haible  <bruno@clisp.org>
48947
48948         * modules/memmem-tests (Makefile.am): Remove TESTS_ENVIRONMENT
48949         augmentation.
48950
48951 2008-01-08  Mike Frysinger  <vapier@gentoo.org>
48952
48953         Add a configure time option: --disable-acl.
48954         * m4/acl.m4 (gl_FUNC_ACL): Wrap all ACL logic in a call to
48955         AC_ARG_ENABLE(acl).
48956
48957 2008-01-06  Simon Josefsson  <simon@josefsson.org>
48958
48959         * tests/test-localename.c: Don't include obsolete "setenv.h".
48960
48961         * modules/localename-tests (Depends-on): Need unsetenv.
48962
48963 2008-01-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48964
48965         * DEPENDENCIES: Require Texinfo version 4.6 or newer.
48966
48967 2008-01-06  Colin Watson  <cjwatson@debian.org>
48968
48969         * users.txt: Add man-db.
48970
48971 2008-01-07  Bruno Haible  <bruno@clisp.org>
48972
48973         * doc/gnulib-intro.texi (Library vs Reusable Code): Restore the
48974         previous section name.
48975
48976 2008-01-07  Bruno Haible  <bruno@clisp.org>
48977
48978         * lib/progname.c (set_program_name): Don't strip off a leading
48979         "lt-" prefix outside a .libs directory.
48980         Suggested by Paul Eggert.
48981
48982 2008-01-01  Sylvain Beucler  <beuc@gnu.org>
48983             Bruno Haible  <bruno@clisp.org>
48984
48985         Improve memory cleanup in 'relocatable' module.
48986         * lib/relocatable.h (compute_curr_prefix): Change return type to
48987         'char *'.
48988         * lib/relocatable.c (compute_curr_prefix): Change return type to
48989         'char *'. Free curr_installdir after use.
48990         (relocate): Free curr_prefix_better after use.
48991         * lib/progreloc.c (prepare_relocate): Free curr_prefix after use.
48992
48993 2008-01-01  Bruno Haible  <bruno@clisp.org>
48994
48995         * tests/test-wcwidth.c (main): Relax test of U+2060. Avoids a test
48996         failure on older glibc systems.
48997         Reported by Peter Fales <psfales@alcatel-lucent.com>.
48998
48999 2008-01-05  Eric Blake  <ebb9@byu.net>
49000
49001         Avoid quadratic system memmem.
49002         * m4/memmem.m4 (gl_FUNC_MEMMEM): Check for quadratic memmem.
49003         Reported by Ralf Wildenhues.
49004
49005         Fix memmem test for mingw.
49006         * modules/memmem-tests (configure.ac): Check for alarm.
49007         * tests/test-memmem.c (main): Avoid alarm on platforms that lack
49008         it.
49009         * doc/functions/memmem.texi: New file.
49010         * doc/gnulib.texi (Function Substitutes): Add memmem.
49011         Reported by Bruno Haible.
49012
49013 2008-01-04  Bruno Haible  <bruno@clisp.org>
49014
49015         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP):
49016         Require gl_HEADER_STRINGS_H_DEFAULTS, not
49017         gl_HEADER_STRING_H_DEFAULTS.
49018
49019 2008-01-04  Eric Blake  <ebb9@byu.net>
49020
49021         Shorten duration of memmem test.
49022         * tests/test-memmem.c (main): Use alarm to declare failure if test
49023         is taking too long.
49024         Reported by Ralf Wildenhues.
49025
49026 2007-12-21  Simon Josefsson  <simon@josefsson.org>
49027
49028         * modules/relocatable-prog-wrapper (Depends-on): Add intprops and
49029         string, needed by strerror.
49030
49031 2008-01-03  Colin Watson  <cjwatson@debian.org>
49032             Bruno Haible  <bruno@clisp.org>
49033
49034         * doc/gnulib-tool.texi (Localization): New section.
49035
49036 2008-01-02  Bruno Haible  <bruno@clisp.org>
49037
49038         * lib/memmem.c (knuth_morris_pratt, memmem): Change all 'char *'
49039         variables to 'unsigned char *' type.
49040         Reported by Paul Eggert.
49041
49042 2008-01-02  Jim Meyering  <jim@meyering.net>
49043
49044         * lib/version-etc.c (COPYRIGHT_YEAR): Increase for new year.
49045
49046 2007-12-31  Jim Meyering  <jim@meyering.net>
49047
49048         Avoid use of private FTS type name.
49049         * lib/fts.c (fts_sort): Use FTSENT rather than "struct _ftsent".
49050
49051 2007-12-30  Karl Berry  <karl@gnu.org>
49052
49053         * doc/gnulib.texi (Library vs. Reusable Code): remove period, to
49054         work around defect in Texinfo and/or the standalone Info browser.
49055
49056 2007-12-30  Bruno Haible  <bruno@clisp.org>
49057
49058         Unify 5 copies of the KMP code.
49059         * lib/str-kmp.h: New file.
49060         * lib/c-strcasestr.c: Include str-kmp.h.
49061         (knuth_morris_pratt): Remove function.
49062         (c_strcasestr): Update.
49063         * lib/c-strstr.c: Include str-kmp.h.
49064         (knuth_morris_pratt): Remove function.
49065         (c_strcasestr): Update.
49066         * lib/mbscasestr.c: Include str-kmp.h.
49067         (knuth_morris_pratt_unibyte): Remove function.
49068         * lib/mbsstr.c: Include str-kmp.h.
49069         (knuth_morris_pratt_unibyte): Remove function.
49070         * lib/strcasestr.c: Include str-kmp.h.
49071         (knuth_morris_pratt): Remove function.
49072         (strcasestr): Update.
49073         * modules/c-strcasestr (Files): Add lib/str-kmp.h.
49074         * modules/c-strstr (Files): Likewise.
49075         * modules/mbscasestr (Files): Likewise.
49076         * modules/mbsstr (Files): Likewise.
49077         * modules/strcasestr (Files): Likewise.
49078         Suggested by Paul Eggert.
49079
49080 2007-12-30  Bruno Haible  <bruno@clisp.org>
49081
49082         * lib/xmalloca.c (xmmalloca): Don't define if HAVE_ALLOCA is not
49083         defined.
49084
49085 2007-12-30  Bruno Haible  <bruno@clisp.org>
49086
49087         * lib/xmalloca.h: Include xalloc.h.
49088         (xnmalloca): New macro.
49089
49090 2007-12-30  Bruno Haible  <bruno@clisp.org>
49091
49092         * lib/malloca.h (nmalloca): New macro.
49093         * lib/c-strcasestr.c (knuth_morris_pratt): Use it.
49094         * lib/c-strstr.c (knuth_morris_pratt): Likewise.
49095         * lib/mbscasestr.c (knuth_morris_pratt_unibyte,
49096         knuth_morris_pratt_multibyte): Likewise.
49097         * lib/mbsstr.c (knuth_morris_pratt_unibyte,
49098         knuth_morris_pratt_multibyte): Likewise.
49099         * lib/memmem.c (knuth_morris_pratt): Likewise.
49100         * lib/strcasestr.c (knuth_morris_pratt): Likewise.
49101
49102 2007-12-25  Bruno Haible  <bruno@clisp.org>
49103
49104         Fixup after 2007-10-17 commit. Ensure that 'glob' stays under LGPLv2+.
49105         * lib/glob.c: Don't include openat.h.
49106         (link_exists2_p): Add back the code that deals with the
49107         !GLOB_ALTDIRFUNC case.
49108         (link_exists_p) [!_LIBC && !HAVE_FSTATAT]: Just call link_exists2_p and
49109         let it do the filename concatenation.
49110         * m4/glob.m4 (gl_PREREQ_GLOB): Add check for fstatat.
49111         * modules/glob (Depends-on): Remove openat.
49112
49113 2007-12-31  Bruno Haible  <bruno@clisp.org>
49114
49115         * modules/dirfd (License): Change to LGPLv2+.
49116         Approved by Jim Meyering.
49117
49118 2007-12-29  Paul Eggert  <eggert@cs.ucla.edu>
49119
49120         * lib/memmem.c (knuth_morris_pratt): Check for size_t overflow
49121         when multiplying M by sizeof (size_t).
49122
49123 2007-12-10  Martin Lambers  <marlam@marlam.de>
49124
49125         Override getpagesize on mingw.
49126         * lib/getpagesize.c: New file.
49127         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Enable replacement on mingw.
49128         * modules/getpagesize (Files): Add lib/getpagesize.c.
49129         * lib/unistd.in.h (getpagesize): Declare if we are using a replacement.
49130         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
49131         REPLACE_GETPAGESIZE.
49132         * modules/unistd (Makefile.am): Substitute REPLACE_GETPAGESIZE.
49133
49134 2007-12-25  Bruno Haible  <bruno@clisp.org>
49135
49136         * modules/localcharset (Notice): New field.
49137         (configure.ac): Define LOCALCHARSET_TESTS_ENVIRONMENT.
49138         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
49139
49140 2007-12-25  Paul Eggert  <eggert@cs.ucla.edu>
49141             Bruno Haible  <bruno@clisp.org>
49142
49143         Avoid using the syntax symbol() in formatted documentation.
49144         * MODULES.html.sh (func_module): When replacing symbol() with a
49145         hyperlink, remove the parentheses. Show an error if some remain.
49146         Recognize and render the '...' syntax.
49147         * doc/alloca-opt.texi: Remove parentheses from symbol reference.
49148         Rework. Add paragraph about GCC's inlining.
49149         * doc/alloca.texi: Likewise.
49150         * doc/error.texi: Remove parentheses from symbol reference.
49151         * doc/gnulib-intro.texi: Likewise.
49152         * doc/gnulib.texi (alloca, alloca-opt): New nodes.
49153         * modules/fnmatch (Description): Reword to say "the ... function".
49154         * modules/full-read (Description): Likewise.
49155         * modules/full-write (Description): Likewise.
49156         * modules/safe-read (Description): Likewise.
49157         * modules/safe-write (Description): Likewise.
49158         * modules/strchrnul (Description): Likewise.
49159         * modules/trim (Description): Likewise.
49160         * modules/error (Description): Remove parentheses from symbol
49161         references.
49162         * modules/verror (Description): Likewise.
49163         Reported by Karl Berry.
49164
49165 2007-12-25  Bruno Haible  <bruno@clisp.org>
49166
49167         Fixup after 2007-10-16 commit.
49168         * lib/glob.c (glob_in_dir): Don't use ISO C99 syntax.
49169
49170 2007-12-24  Bruno Haible  <bruno@clisp.org>
49171
49172         Make --enable-relocatable work with DESTDIR.
49173         * build-aux/install-reloc: Accept another argument 'destdir'. Use it
49174         to compute installdir from destprog.
49175         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV,
49176         also set the RELOC_DESTDIR variable.
49177         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
49178
49179 2007-12-24  Bruno Haible  <bruno@clisp.org>
49180
49181         Fix link error due to xalloc_die().
49182         * lib/progreloc.c: When NO_XMALLOC is defined, use areadlink instead
49183         of xreadlink.
49184         * lib/relocwrapper.c: Update comments.
49185         * build-aux/install-reloc: Remove xreadlink.c from file list.
49186         * modules/relocatable-prog-wrapper (Files): Remove xreadlink.h and
49187         xreadlink.c.
49188         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
49189
49190 2007-12-24  Bruno Haible  <bruno@clisp.org>
49191
49192         Split setenv module into setenv and unsetenv. Get rid of setenv.h.
49193         * lib/setenv.h: Remove file.
49194         * lib/stdlib.in.h (setenv, unsetenv): New declarations, moved here from
49195         lib/setenv.h.
49196         * modules/setenv (Files): Remove lib/setenv.h, lib/unsetenv.c.
49197         (Depends-on): Add stdlib.
49198         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR. Don't invoke
49199         gl_FUNC_UNSETENV.
49200         (Include): Replace setenv.h with <stdlib.h>.
49201         * modules/unsetenv: New file.
49202         * lib/setenv.c: Include <stdlib.h> first, after alloca.h.
49203         * lib/unsetenv.c: Include <stdlib.h> first.
49204         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_SETENV_SEPARATE): Require
49205         gl_STDLIB_H_DEFAULTS. Conditionally set HAVE_SETENV to 0.
49206         (gl_FUNC_UNSETENV): Require gl_STDLIB_H_DEFAULTS. Conditionally set
49207         HAVE_UNSETENV to 0. Set VOID_UNSETENV as an AC_SUBSTed variable.
49208         * modules/stdlib (Makefile.am): Substitute also GNULIB_SETENV,
49209         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
49210         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_SETENV,
49211         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
49212         * doc/functions/unsetenv.texi: Update.
49213         * modules/xsetenv (Depends-on): Add unsetenv.
49214         * modules/getdate (Depends-on): Likewise.
49215         * lib/xsetenv.h: Include <stdlib.h> instead of setenv.h.
49216         * lib/xsetenv.c: Don't include setenv.h.
49217         * lib/getdate.y: Likewise.
49218         * lib/relocwrapper.c: Likewise.
49219         * modules/relocatable-prog-wrapper (Files): Remove lib/setenv.h.
49220         (Depends-on): Add stdlib.
49221         * NEWS: Mention the changes.
49222         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
49223
49224 2007-12-23  Bruno Haible  <bruno@clisp.org>
49225
49226         * lib/memmem.c (memmem): Use lowercase variable names. Tab
49227         indentation.
49228
49229 2007-12-23  Bruno Haible  <bruno@clisp.org>
49230
49231         * lib/c-strcasestr.c: Add more comments.
49232         * lib/c-strstr.c: Likewise.
49233         * lib/mbscasestr.c: Likewise.
49234         * lib/mbsstr.c: Likewise.
49235         * lib/strcasestr.c: Likewise.
49236         * lib/memmem.c: Likewise.
49237
49238 2007-12-23  Bruno Haible  <bruno@clisp.org>
49239
49240         * tests/test-memmem.c: Include <string.h> first.
49241
49242 2007-12-22  Bruno Haible  <bruno@clisp.org>
49243
49244         * gnulib-tool (func_create_testdir): Change $auxdir while generating
49245         the contents of $testsbase.
49246         Reported by Ralf Wildenhues.
49247
49248 2007-12-22  Bruno Haible  <bruno@clisp.org>
49249
49250         * gnulib-tool (func_emit_tests_Makefile_am): Replace local_ldadd with
49251         two variables local_ldadd_before, local_ldadd_last.
49252
49253 2007-12-20  Eric Blake  <ebb9@byu.net>
49254
49255         Work around circular library issue when cross-compiling.
49256         * lib/progname.c (set_program_name): Use strncmp, not memcmp, so
49257         that progname.o does not need to pull in rpl_memcmp.
49258
49259 2007-12-19  Eric Blake  <ebb9@byu.net>
49260
49261         Fix memmem to avoid O(n^2) worst-case complexity.
49262         * lib/memmem.c (knuth_morris_pratt): New function.
49263         (memmem): Use it if first few naive iterations fail.
49264         * m4/memmem.m4 (gl_FUNC_MEMMEM): Detect cygwin bug.
49265         * modules/memcmp (License): Set to LGPLv2+, not LGPL.
49266         * modules/memchr (License): Likewise.
49267         * modules/memmem (Depends-on): Add memcmp, memchr, stdbool, and
49268         malloca.
49269         * tests/test-memmem.c: Rewrite, borrowing ideas from
49270         test-mbsstr1.c; the old version wouldn't even compile!
49271         * modules/memmem-tests: New file.
49272         * lib/string.in.h (rpl_memmem): Add declaration.
49273         * modules/string (Makefile.am): Substitute REPLACE_MEMMEM.
49274         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Default for
49275         REPLACE_MEMMEM.
49276
49277 2007-12-18  Paul Eggert  <eggert@cs.ucla.edu>
49278
49279         Fix problem with _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H on VMS.
49280         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_INTTYPES_H): Define
49281         before any system include files, and undef after them all.  This
49282         should fix a problem on VMS reported by John E. Malmberg in
49283         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00118.html>.
49284
49285 2007-12-17  Eric Blake  <ebb9@byu.net>
49286
49287         Revert addition of verify, for BSD/OS.
49288         * lib/fseeko.c [!HAVE_FSEEKO]: Allow off_t > long, even though it
49289         can't handle large files, for the sake of obsolete platforms.
49290         * modules/fseeko (Depends-on): Remove verify.
49291         * doc/functions/fseeko.texi (fseeko): Document BSD/OS limitation.
49292         * doc/functions/ftello.texi (ftello): Likewise.
49293         * doc/functions/fgetpos.texi (fgetpos): Likewise.
49294         Reported by Larry Jones.
49295
49296 2007-12-17  Petr Salinger  <Petr.Salinger@seznam.cz>
49297
49298         getcwd.c: Use a more readable witness: HAVE_OPENAT_SUPPORT
49299         * lib/getcwd.c: Define and use HAVE_OPENAT_SUPPORT, in place of AT_FDCWD.
49300
49301 2007-12-17  Jim Meyering  <meyering@redhat.com>
49302
49303         Port to GNU/kFreeBSD - FreeBSD kernel + GNU libc,
49304         which has no openat syscall, yet <fcntl.h> does define AT_FDCWD.
49305         * lib/getcwd.c: Undef AT_FDCWD if there is no openat function.
49306         * modules/getcwd (Depends-on): Add openat.
49307         Reported by Petr Salinger.
49308
49309 2007-12-17  Bruno Haible  <bruno@clisp.org>
49310
49311         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Use GL_NOCRASH to
49312         avoid a segmentation fault of the configure test on x86_64 systems.
49313
49314 2007-12-15  Jim Meyering  <meyering@redhat.com>
49315
49316         * build-aux/gnupload (GPG): Don't hard-code absolute name of gpg binary.
49317
49318 2007-12-13  Eric Blake  <ebb9@byu.net>
49319
49320         Another fseek test.
49321         * tests/test-fseek.c (main): Also test ungetc handling.
49322         * tests/test-fseeko.c (main): Likewise.
49323         * modules/fseeko (Depends-on): Add verify.
49324         * lib/fseeko.c [!HAVE_FSEEKO]: Verify that off_t is not too
49325         large.
49326         Reported by Larry Jones.
49327
49328         Fix fseeko on mingw.
49329         * lib/fseeko.c (rpl_fseeko) [_IOERR]: Reset EOF flag on successful
49330         seek.
49331
49332         Beef up fseek tests.
49333         * tests/test-fseek.c (main): Also test eof handling.
49334         * tests/test-fseeko.c (main): Likewise.
49335         Reported by Larry Jones.
49336
49337 2007-12-13  Larry Jones  <lawrence.jones@siemens.com>  (tiny change)
49338
49339         Fix fseeko on BSD-based platforms.
49340         * lib/fseeko.c (rpl_fseeko) [__sferror]: Reset EOF flag on
49341         successful seek.
49342
49343 2007-12-12  Eric Blake  <ebb9@byu.net>
49344
49345         Allow circular dependency of separate libtests.a
49346         * gnulib-tool (func_emit_tests_Makefile_am): Add AM_LIBTOOLFLAGS
49347         when use_libtests.
49348
49349 2007-12-11  Eric Blake  <ebb9@byu.net>
49350
49351         Fix bug with -0.0L in previous patch.
49352         * lib/isnan.c (rpl_isnanl): Make robust to -0.0L and pad bits.
49353         * tests/test-isnan.c (main): Also test on zeroes.
49354         * tests/test-isnanf.c (main): Likewise.
49355         * tests/test-isnanl.h (main): Likewise.
49356
49357         Detect pseudo-denormals on x86 even when cross-compiling.
49358         * lib/isnan.c (rpl_isnanl) [!KNOWN_EXPBIT0_LOCATION
49359         && USE_LONG_DOUBLE && x86]: Add one more check to filter out
49360         invalid bit patterns that happen to satisfy ==.
49361
49362         Avoid link failures with separate libtests.a.
49363         * gnulib-tool (func_emit_tests_Makefile_am): Also list local_ldadd
49364         last, to satisfy circular dependencies.
49365
49366 2007-12-11  Eric Blake  <ebb9@byu.net>
49367         and Bruno Haible  <bruno@clisp.org>
49368
49369         Fix OpenBSD 4.0 <float.h> handling of long double.
49370         * m4/float_h.m4 (gl_FLOAT_H): Also claim OpenBSD is broken.
49371         * lib/float.in.h [__OpenBSD__]: Add fixes for OpenBSD.
49372         * doc/headers/float.texi (float.h): Document OpenBSD bug.
49373
49374 2007-12-11  Jim Meyering  <meyering@redhat.com>
49375
49376         * users.txt: Add libvirt.
49377
49378         Support versions of autoconf prior to 2.59c.
49379         * gnulib-tool (func_emit_initmacro_done): Define m4_foreach_w
49380         if it is not already defined.
49381
49382 2007-12-09  Bruno Haible  <bruno@clisp.org>
49383
49384         Let 'gnulib-tool --import' collect sources needed for the tests in
49385         tests/ rather than in lib/.
49386         * gnulib-tool (func_emit_tests_Makefile_am): Accept use_libtests
49387         argument. If true, add rules to generate libtests.a, and put libtests.a
49388         into $(LDADD). Consider source files in subdirectories and set
49389         uses_subdirs.
49390         (func_emit_initmacro_start, func_emit_initmacro_end,
49391         func_emit_initmacro_done): Pass all arguments explicitly.
49392         (func_import): Determine two module lists main_modules,
49393         testsrelated_modules. Determine use_libtests. Determine two variables
49394         sed_transform_main_lib_file, sed_transform_testsrelated_lib_file
49395         instead of just sed_transform_lib_file. Determine two variables
49396         main_files and testsrelated_files. Compute 'files' as the union of
49397         both. Adjust sed_rewrite_old_files, sed_rewrite_new_files,
49398         func_add_or_update. In the generated gnulib-comp.m4, collect the
49399         object files for tests/ in different variables than those for lib/.
49400         Substitute LIBTESTS_LIBDEPS.
49401         (func_create_testdir): Combine the uses_subdirs results from
49402         func_emit_lib_Makefile_am and from func_emit_tests_Makefile_am.
49403
49404 2007-12-09  Bruno Haible  <bruno@clisp.org>
49405
49406         * gnulib-tool (func_emit_tests_Makefile_am): Expand references to
49407         the build-aux directory.
49408
49409 2007-12-09  Bruno Haible  <bruno@clisp.org>
49410
49411         * gnulib-tool (func_emit_tests_Makefile_am): Remove redundant code
49412         introduced on 2006-09-09.
49413
49414 2007-12-07  Jim Meyering  <meyering@redhat.com>
49415
49416         Let these macros work also with autoconf-2.59.
49417         * m4/getline.m4 (gl_FUNC_GETLINE): Require only autoconf-2.59.  2.60
49418         is not needed, since gnulib now permits use of AC_CHECK_DECLS_ONCE.
49419         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
49420
49421 2007-12-06  Jim Meyering  <meyering@redhat.com>
49422
49423         Avoid a configure-time syntax error in gl_FUNC_ACL.
49424         * m4/acl.m4 (gl_FUNC_ACL): Be careful to check for the acl_trivial
49425         function in each branch, before testing the cache variable.
49426
49427 2007-12-04  Eric Blake  <ebb9@byu.net>
49428
49429         Make scripts executable.
49430         * build-aux/config.guess: Add execute permissions.
49431         * build-aux/config.sub: Likewise.
49432         * build-aux/gendocs.sh: Likewise.
49433
49434         Fix frexp on mingw.
49435         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Detect mingw bug when
49436         cross-compiling.
49437         * doc/functions/frexp.texi (frexp): Document the bug.
49438
49439         Make cygwin fseeko check more reliable.
49440         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Use cygwin
49441         version numbers, rather than unrelated feature check.
49442         * doc/functions/fseeko.texi (fseeko): Tweak failure report.
49443         * doc/functions/ftello.texi (ftello): Likewise.
49444         Reported by Bruno Haible.
49445
49446         * m4/strerror.m4: Bump version number.
49447
49448 2007-12-03  Bruno Haible  <bruno@clisp.org>
49449
49450         * doc/functions/mprotect.texi: Mention the mingw problem.
49451
49452 2007-12-03  Eric Blake  <ebb9@byu.net>
49453
49454         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Ensure
49455         REPLACE_STRERROR is initialized before this macro.
49456
49457 2007-12-03  Paul Eggert  <eggert@cs.ucla.edu>
49458
49459         Add support for Solaris 10 ACLs.  Also, ACLs are Gnulib, not Autoconf.
49460         * modules/acl (configure.ac): Rename AC_FUNC_ACL to gl_FUNC_ACL.
49461         * m4/acl.m4 (gl_FUNC_ACL): Renamed from AC_FUNC_ACL.  On Solaris,
49462         put -lsec in even for programs other than 'ls'.  This fixes a problem
49463         for gettext reported by Bruno Haible in
49464         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00007.html>.
49465         * lib/acl.c (copy_acl, qset_acl) [USE_ACL && defined ACL_NO_TRIVIAL]:
49466         Add support for Solaris 10.  This isn't efficient, but should get the
49467         job done for now.
49468
49469 2007-12-03  James Youngman  <jay@gnu.org>
49470
49471         * doc/regexprops-generic.texi: change "an close-group" to "a
49472         close-group" and "illegal" to "not allowed".
49473
49474 2007-11-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49475
49476         * lib/unictype/pr_byname.c: Include unictype/pr_byname.h instead of
49477         pr_byname.h. Needed for the rare case when the maintainer has done
49478         "make maintainer-clean" in the source directory and then attempts a
49479         build outside the source directory.
49480         * lib/unictype/scripts.c: Include unictype/scripts_byname.h instead of
49481         scripts_byname.h.
49482
49483 2007-12-02  Martin Lambers <marlam@marlam.de>
49484             Bruno Haible  <bruno@clisp.org>
49485
49486         * lib/getpagesize.h: Remove file.
49487         * lib/unistd.in.h: Include declaration of getpagesize here.
49488         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Renamed from gl_GETPAGESIZE.
49489         Invoke gl_UNISTD_H_DEFAULTS. Set HAVE_GETPAGESIZE, HAVE_OS_H,
49490         HAVE_SYS_PARAM_H.
49491         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETPAGESIZE,
49492         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
49493         * modules/getpagesize (Files): Remove lib/getpagesize.h.
49494         (Depends-on): Add unistd.
49495         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
49496         (Include): Use <unistd.h> instead of getpagesize.h.
49497         * modules/unistd (Makefile.am): Substitute also GNULIB_GETPAGESIZE,
49498         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
49499         * m4/pagealign_alloc.m4 (gl_PREREQ_PAGEALIGN_ALLOC): Remove
49500         gl_GETPAGESIZE invocation, already handled by module dependency.
49501         * lib/pagealign_alloc.c: Don't include getpagesize.h.
49502
49503 2007-12-02  Bruno Haible  <bruno@clisp.org>
49504
49505         * modules/strings-tests: New file.
49506         * tests/test-strings.c: New file.
49507
49508         Move declarations of str{,n}casecmp from <string.h> to <strings.h>.
49509         * lib/strings.in.h: New file.
49510         * lib/string.in.h (strcasecmp, strncasecmp): Remove declarations.
49511         * m4/strings_h.m4: New file.
49512         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Remove initialization
49513         of HAVE_STRCASECMP, HAVE_DECL_STRNCASECMP.
49514         * modules/strings: New file.
49515         * modules/string (Makefile.am): Update.
49516         * modules/strcase (Include): Mention <strings.h>, not <string.h>.
49517         Reported by Karl Berry.
49518
49519 2007-12-01  Eric Blake  <ebb9@byu.net>
49520
49521         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Rewrite to
49522         accomodate fix in cygwin 1.5.25.
49523
49524 2007-12-01  Jim Meyering  <meyering@redhat.com>
49525
49526         Fix a bug that inhibited much of the utf8-optimization in regcomp.c.
49527         * lib/regcomp.c (optimize_utf8): Fix a typo, s/idx/ctx_type/,
49528         that would inhibit utf8-optimization of a regexp containing line-
49529         or buffer-anchors, e.g., `^', `$'.
49530
49531 2007-11-30  Bruno Haible  <bruno@clisp.org>
49532
49533         * lib/lock.h (gl_recursive_lock_init) [PTHREAD &&
49534         PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Call
49535         glthread_recursive_lock_init.
49536         * lib/lock.c (glthread_recursive_lock_init)
49537         [PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: New function.
49538         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
49539
49540 2007-11-28  Paul Eggert  <eggert@cs.ucla.edu>
49541
49542         New function qset_acl, like set_acl but with syscall semantics.
49543         * lib/acl.h (qset_acl): New decl.
49544         * lib/acl.c (qset_acl): New function.
49545         (set_acl): Use new function.  Use more-consistent diagnostics.
49546
49547 2007-11-28  Jim Meyering  <meyering@redhat.com>
49548
49549         * modules/physmem (License): Change from GPL to LGPLv2+.
49550
49551 2007-11-26  Bruno Haible  <bruno@clisp.org>
49552
49553         * lib/vasnprintf.c (decode_long_double): Don't abort if the
49554         'long double' type has excess precision.
49555         Reported by Jim Meyering in
49556         <http://lists.gnu.org/archive/html/bug-gnulib/2007-11/msg00120.html>.
49557
49558 2007-11-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49559
49560         * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
49561         Sync from <http://gnu.org/licenses>.
49562         * modules/agpl-3.0, doc/agpl-3.0.texi: New module,
49563         with license text from same location.
49564         * doc/maintain.texi, doc/standards.texi:  Sync from
49565         <http://savannah.gnu.org/projects/gnustandards>.
49566
49567 2007-11-22  OndÅ™ej Vašík  <ovasik@redhat.com>
49568         and Jim Meyering  <meyering@redhat.com>
49569
49570         Adjust getdate' grammar to accept a slightly more regular language.
49571         E.g., accept "YYYYMMDD +N days" as well as "YYYYMMDD N days".
49572         Before, the former was rejected.
49573         * lib/getdate.y (digits_to_date_time): New function, factored
49574         out of ...
49575         (number): ...here.  Just call digits_to_date_time.
49576         (hybrid): New non-terminal to handle an <unsigned number,
49577         signed relative offset> sequence consistently.
49578
49579 2007-11-18  Jim Meyering  <meyering@redhat.com>
49580
49581         Pull my changes from coreutils:
49582         bootstrap: fix typo to enable use of $gnulib_tool_option_extras.
49583         * build-aux/bootstrap (gnulib_tool_options): Add a space before the
49584         use of $gnulib_tool_option_extras, so that it's separated from the
49585         preceding argument.
49586
49587         Fix bootstrap failure to handle files like lib/uniwidth/cjk.h.
49588         * build-aux/bootstrap (cp_mark_as_generated): Create any required
49589         parent destination directories before copying a file into place.
49590
49591 2007-11-18  Sergey Poznyakoff  <gray@gnu.org.ua>
49592
49593         bootstrap: work also with 4-argument variant of AC_INIT
49594         * build-aux/bootstrap (gnulib_extra_files): Adjust sed command.
49595
49596 2007-11-16  Paul Eggert  <eggert@cs.ucla.edu>
49597
49598         Port test-getaddrinfo to Solaris.
49599         Problem reported by Bruno Haible in
49600         <http://lists.gnu.org/archive/html/bug-gnulib/2007-03/msg00171.html>.
49601         * tests/test-getaddrinfo.c (simple): Add a comment asking for an
49602         explanation of setting 'hints'.
49603         Don't reject an implementation merely because it returns EAI_SERVICE.
49604         (EAI_SERVICE): Define to 0 if not defined.
49605
49606 2007-11-15  Paul Eggert  <eggert@cs.ucla.edu>
49607
49608         The license of gnu-make and posix-shell is now "GPLed build tool".
49609         * modules/gnu-make (License): Likewise.
49610         * modules/posix-shell (License): Likewise.
49611
49612         New module posix-shell, for determining a POSIX shell
49613         or perhaps something that is close enough to a POSIX shell.
49614         * m4/posix-shell.m4: New file.
49615         * modules/posix-shell: New file.
49616
49617         * MODULES.html.sh: Mention new module.
49618
49619         New module gnu-make, for determining whether we're using GNU Make.
49620         * m4/gnu-make.m4: New file.
49621         * modules/gnu-make: New file.
49622         * MODULES.html.sh: Mention new module.
49623
49624 2007-11-14  Jim Meyering  <meyering@redhat.com>
49625
49626         Define a sometimes-link-required function using ARGMATCH_DIE_DECL.
49627         * tests/test-argmatch.c (ARGMATCH_DIE_DECL): When defined,
49628         use this macro to create a function _definition_.
49629         Remove useless "#undef ARGMATCH_DIE".
49630
49631 2007-11-14  Bruno Haible  <bruno@clisp.org>
49632
49633         * lib/config.charset: Update for OpenBSD 4.1.
49634         Reported and helped by Ben Pfaff <blp@cs.stanford.edu>.
49635
49636 2007-11-12  Paul Eggert  <eggert@cs.ucla.edu>
49637
49638         Document 64-bit #if problems in stdint.texi.
49639         * doc/headers/stdint.texi (stdint.h): Mention problems with
49640         64-bit-#if, and how to work around them.
49641
49642         Don't insist on 'long long int' support in the preprocessor.  It
49643         breaks too many things.  For example, PRIdMAX still uses a 'long
49644         long int' format with the latest Sun compiler, even though
49645         HAVE_LONG_LONG_INT isn't defined due to that compiler's
49646         preprocessor problem.  This causes the latest coreutils to dump
49647         core on Solaris 10 sparc with the Sun C compiler.
49648         Instead, fix the 2007-10-16 problem in a different way, by evaluating
49649         the troublesome expressions at configure-time, not at #if-time.
49650         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): Don't test the
49651         preprocessor.
49652         * m4/inttypes.m4 (gl_INTTYPES_H): Move the #if checks into
49653         compile-time C checks, done at 'configure'-time.
49654         (gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION): New macro.
49655         * modules/inttypes (Makefile): Substitute the new symbols that
49656         gl_INTTYPES_H now generates.
49657         * lib/inttypes.in.h: Don't use constants wider than 'long' in #if.
49658
49659 2007-11-12  Bruno Haible  <bruno@clisp.org>
49660
49661         Tests for Unicode character classification functions.
49662
49663         * modules/unictype/bidicategory-byname-tests: New file.
49664         * modules/unictype/bidicategory-name-tests: New file.
49665         * modules/unictype/bidicategory-of-tests: New file.
49666         * modules/unictype/bidicategory-test-tests: New file.
49667         * modules/unictype/block-list-tests: New file.
49668         * modules/unictype/block-of-tests: New file.
49669         * modules/unictype/block-test-tests: New file.
49670         * modules/unictype/category-C-tests: New file.
49671         * modules/unictype/category-Cc-tests: New file.
49672         * modules/unictype/category-Cf-tests: New file.
49673         * modules/unictype/category-Cn-tests: New file.
49674         * modules/unictype/category-Co-tests: New file.
49675         * modules/unictype/category-Cs-tests: New file.
49676         * modules/unictype/category-L-tests: New file.
49677         * modules/unictype/category-Ll-tests: New file.
49678         * modules/unictype/category-Lm-tests: New file.
49679         * modules/unictype/category-Lo-tests: New file.
49680         * modules/unictype/category-Lt-tests: New file.
49681         * modules/unictype/category-Lu-tests: New file.
49682         * modules/unictype/category-M-tests: New file.
49683         * modules/unictype/category-Mc-tests: New file.
49684         * modules/unictype/category-Me-tests: New file.
49685         * modules/unictype/category-Mn-tests: New file.
49686         * modules/unictype/category-N-tests: New file.
49687         * modules/unictype/category-Nd-tests: New file.
49688         * modules/unictype/category-Nl-tests: New file.
49689         * modules/unictype/category-No-tests: New file.
49690         * modules/unictype/category-P-tests: New file.
49691         * modules/unictype/category-Pc-tests: New file.
49692         * modules/unictype/category-Pd-tests: New file.
49693         * modules/unictype/category-Pe-tests: New file.
49694         * modules/unictype/category-Pf-tests: New file.
49695         * modules/unictype/category-Pi-tests: New file.
49696         * modules/unictype/category-Po-tests: New file.
49697         * modules/unictype/category-Ps-tests: New file.
49698         * modules/unictype/category-S-tests: New file.
49699         * modules/unictype/category-Sc-tests: New file.
49700         * modules/unictype/category-Sk-tests: New file.
49701         * modules/unictype/category-Sm-tests: New file.
49702         * modules/unictype/category-So-tests: New file.
49703         * modules/unictype/category-Z-tests: New file.
49704         * modules/unictype/category-Zl-tests: New file.
49705         * modules/unictype/category-Zp-tests: New file.
49706         * modules/unictype/category-Zs-tests: New file.
49707         * modules/unictype/category-and-not-tests: New file.
49708         * modules/unictype/category-and-tests: New file.
49709         * modules/unictype/category-byname-tests: New file.
49710         * modules/unictype/category-name-tests: New file.
49711         * modules/unictype/category-none-tests: New file.
49712         * modules/unictype/category-of-tests: New file.
49713         * modules/unictype/category-or-tests: New file.
49714         * modules/unictype/category-test-withtable-tests: New file.
49715         * modules/unictype/combining-class-tests: New file.
49716         * modules/unictype/ctype-alnum-tests: New file.
49717         * modules/unictype/ctype-alpha-tests: New file.
49718         * modules/unictype/ctype-blank-tests: New file.
49719         * modules/unictype/ctype-cntrl-tests: New file.
49720         * modules/unictype/ctype-digit-tests: New file.
49721         * modules/unictype/ctype-graph-tests: New file.
49722         * modules/unictype/ctype-lower-tests: New file.
49723         * modules/unictype/ctype-print-tests: New file.
49724         * modules/unictype/ctype-punct-tests: New file.
49725         * modules/unictype/ctype-space-tests: New file.
49726         * modules/unictype/ctype-upper-tests: New file.
49727         * modules/unictype/ctype-xdigit-tests: New file.
49728         * modules/unictype/decimal-digit-tests: New file.
49729         * modules/unictype/digit-tests: New file.
49730         * modules/unictype/mirror-tests: New file.
49731         * modules/unictype/numeric-tests: New file.
49732         * modules/unictype/property-alphabetic-tests: New file.
49733         * modules/unictype/property-ascii-hex-digit-tests: New file.
49734         * modules/unictype/property-bidi-arabic-digit-tests: New file.
49735         * modules/unictype/property-bidi-arabic-right-to-left-tests: New file.
49736         * modules/unictype/property-bidi-block-separator-tests: New file.
49737         * modules/unictype/property-bidi-boundary-neutral-tests: New file.
49738         * modules/unictype/property-bidi-common-separator-tests: New file.
49739         * modules/unictype/property-bidi-control-tests: New file.
49740         * modules/unictype/property-bidi-embedding-or-override-tests: New file.
49741         * modules/unictype/property-bidi-eur-num-separator-tests: New file.
49742         * modules/unictype/property-bidi-eur-num-terminator-tests: New file.
49743         * modules/unictype/property-bidi-european-digit-tests: New file.
49744         * modules/unictype/property-bidi-hebrew-right-to-left-tests: New file.
49745         * modules/unictype/property-bidi-left-to-right-tests: New file.
49746         * modules/unictype/property-bidi-non-spacing-mark-tests: New file.
49747         * modules/unictype/property-bidi-other-neutral-tests: New file.
49748         * modules/unictype/property-bidi-pdf-tests: New file.
49749         * modules/unictype/property-bidi-segment-separator-tests: New file.
49750         * modules/unictype/property-bidi-whitespace-tests: New file.
49751         * modules/unictype/property-byname-tests: New file.
49752         * modules/unictype/property-combining-tests: New file.
49753         * modules/unictype/property-composite-tests: New file.
49754         * modules/unictype/property-currency-symbol-tests: New file.
49755         * modules/unictype/property-dash-tests: New file.
49756         * modules/unictype/property-decimal-digit-tests: New file.
49757         * modules/unictype/property-default-ignorable-code-point-tests: New file.
49758         * modules/unictype/property-deprecated-tests: New file.
49759         * modules/unictype/property-diacritic-tests: New file.
49760         * modules/unictype/property-extender-tests: New file.
49761         * modules/unictype/property-format-control-tests: New file.
49762         * modules/unictype/property-grapheme-base-tests: New file.
49763         * modules/unictype/property-grapheme-extend-tests: New file.
49764         * modules/unictype/property-grapheme-link-tests: New file.
49765         * modules/unictype/property-hex-digit-tests: New file.
49766         * modules/unictype/property-hyphen-tests: New file.
49767         * modules/unictype/property-id-continue-tests: New file.
49768         * modules/unictype/property-id-start-tests: New file.
49769         * modules/unictype/property-ideographic-tests: New file.
49770         * modules/unictype/property-ids-binary-operator-tests: New file.
49771         * modules/unictype/property-ids-trinary-operator-tests: New file.
49772         * modules/unictype/property-ignorable-control-tests: New file.
49773         * modules/unictype/property-iso-control-tests: New file.
49774         * modules/unictype/property-join-control-tests: New file.
49775         * modules/unictype/property-left-of-pair-tests: New file.
49776         * modules/unictype/property-line-separator-tests: New file.
49777         * modules/unictype/property-logical-order-exception-tests: New file.
49778         * modules/unictype/property-lowercase-tests: New file.
49779         * modules/unictype/property-math-tests: New file.
49780         * modules/unictype/property-non-break-tests: New file.
49781         * modules/unictype/property-not-a-character-tests: New file.
49782         * modules/unictype/property-numeric-tests: New file.
49783         * modules/unictype/property-other-alphabetic-tests: New file.
49784         * modules/unictype/property-other-default-ignorable-code-point-tests: New file.
49785         * modules/unictype/property-other-grapheme-extend-tests: New file.
49786         * modules/unictype/property-other-id-continue-tests: New file.
49787         * modules/unictype/property-other-id-start-tests: New file.
49788         * modules/unictype/property-other-lowercase-tests: New file.
49789         * modules/unictype/property-other-math-tests: New file.
49790         * modules/unictype/property-other-uppercase-tests: New file.
49791         * modules/unictype/property-paired-punctuation-tests: New file.
49792         * modules/unictype/property-paragraph-separator-tests: New file.
49793         * modules/unictype/property-pattern-syntax-tests: New file.
49794         * modules/unictype/property-pattern-white-space-tests: New file.
49795         * modules/unictype/property-private-use-tests: New file.
49796         * modules/unictype/property-punctuation-tests: New file.
49797         * modules/unictype/property-quotation-mark-tests: New file.
49798         * modules/unictype/property-radical-tests: New file.
49799         * modules/unictype/property-sentence-terminal-tests: New file.
49800         * modules/unictype/property-soft-dotted-tests: New file.
49801         * modules/unictype/property-space-tests: New file.
49802         * modules/unictype/property-terminal-punctuation-tests: New file.
49803         * modules/unictype/property-test-tests: New file.
49804         * modules/unictype/property-titlecase-tests: New file.
49805         * modules/unictype/property-unassigned-code-value-tests: New file.
49806         * modules/unictype/property-unified-ideograph-tests: New file.
49807         * modules/unictype/property-uppercase-tests: New file.
49808         * modules/unictype/property-variation-selector-tests: New file.
49809         * modules/unictype/property-white-space-tests: New file.
49810         * modules/unictype/property-xid-continue-tests: New file.
49811         * modules/unictype/property-xid-start-tests: New file.
49812         * modules/unictype/property-zero-width-tests: New file.
49813         * modules/unictype/scripts-tests: New file.
49814         * modules/unictype/syntax-c-ident-tests: New file.
49815         * modules/unictype/syntax-c-whitespace-tests: New file.
49816         * modules/unictype/syntax-java-ident-tests: New file.
49817         * modules/unictype/syntax-java-whitespace-tests: New file.
49818         * tests/unictype/test-bidi_byname.c: New file.
49819         * tests/unictype/test-bidi_name.c: New file.
49820         * tests/unictype/test-bidi_of.c: New file.
49821         * tests/unictype/test-bidi_test.c: New file.
49822         * tests/unictype/test-block_list.c: New file.
49823         * tests/unictype/test-block_of.c: New file.
49824         * tests/unictype/test-block_test.c: New file.
49825         * tests/unictype/test-categ_and.c: New file.
49826         * tests/unictype/test-categ_and_not.c: New file.
49827         * tests/unictype/test-categ_byname.c: New file.
49828         * tests/unictype/test-categ_name.c: New file.
49829         * tests/unictype/test-categ_none.c: New file.
49830         * tests/unictype/test-categ_of.c: New file.
49831         * tests/unictype/test-categ_or.c: New file.
49832         * tests/unictype/test-categ_test_withtable.c: New file.
49833         * tests/unictype/test-combining.c: New file.
49834         * tests/unictype/test-decdigit.c: New file.
49835         * tests/unictype/test-digit.c: New file.
49836         * tests/unictype/test-mirror.c: New file.
49837         * tests/unictype/test-numeric.c: New file.
49838         * tests/unictype/test-pr_byname.c: New file.
49839         * tests/unictype/test-pr_test.c: New file.
49840         * tests/unictype/test-predicate-part1.h: New file.
49841         * tests/unictype/test-predicate-part2.h: New file.
49842         * tests/unictype/test-scripts.c: New file.
49843         * tests/unictype/test-sy_c_ident.c: New file.
49844         * tests/unictype/test-sy_java_ident.c: New file.
49845
49846         * tests/unictype/test-categ_C.c: New file, generated by gen-ctype.c
49847         for Unicode 5.0.0.
49848         * tests/unictype/test-categ_Cc.c: Likewise.
49849         * tests/unictype/test-categ_Cf.c: Likewise.
49850         * tests/unictype/test-categ_Cn.c: Likewise.
49851         * tests/unictype/test-categ_Co.c: Likewise.
49852         * tests/unictype/test-categ_Cs.c: Likewise.
49853         * tests/unictype/test-categ_L.c: Likewise.
49854         * tests/unictype/test-categ_Ll.c: Likewise.
49855         * tests/unictype/test-categ_Lm.c: Likewise.
49856         * tests/unictype/test-categ_Lo.c: Likewise.
49857         * tests/unictype/test-categ_Lt.c: Likewise.
49858         * tests/unictype/test-categ_Lu.c: Likewise.
49859         * tests/unictype/test-categ_M.c: Likewise.
49860         * tests/unictype/test-categ_Mc.c: Likewise.
49861         * tests/unictype/test-categ_Me.c: Likewise.
49862         * tests/unictype/test-categ_Mn.c: Likewise.
49863         * tests/unictype/test-categ_N.c: Likewise.
49864         * tests/unictype/test-categ_Nd.c: Likewise.
49865         * tests/unictype/test-categ_Nl.c: Likewise.
49866         * tests/unictype/test-categ_No.c: Likewise.
49867         * tests/unictype/test-categ_P.c: Likewise.
49868         * tests/unictype/test-categ_Pc.c: Likewise.
49869         * tests/unictype/test-categ_Pd.c: Likewise.
49870         * tests/unictype/test-categ_Pe.c: Likewise.
49871         * tests/unictype/test-categ_Pf.c: Likewise.
49872         * tests/unictype/test-categ_Pi.c: Likewise.
49873         * tests/unictype/test-categ_Po.c: Likewise.
49874         * tests/unictype/test-categ_Ps.c: Likewise.
49875         * tests/unictype/test-categ_S.c: Likewise.
49876         * tests/unictype/test-categ_Sc.c: Likewise.
49877         * tests/unictype/test-categ_Sk.c: Likewise.
49878         * tests/unictype/test-categ_Sm.c: Likewise.
49879         * tests/unictype/test-categ_So.c: Likewise.
49880         * tests/unictype/test-categ_Z.c: Likewise.
49881         * tests/unictype/test-categ_Zl.c: Likewise.
49882         * tests/unictype/test-categ_Zp.c: Likewise.
49883         * tests/unictype/test-categ_Zs.c: Likewise.
49884         * tests/unictype/test-ctype_alnum.c: Likewise.
49885         * tests/unictype/test-ctype_alpha.c: Likewise.
49886         * tests/unictype/test-ctype_blank.c: Likewise.
49887         * tests/unictype/test-ctype_cntrl.c: Likewise.
49888         * tests/unictype/test-ctype_digit.c: Likewise.
49889         * tests/unictype/test-ctype_graph.c: Likewise.
49890         * tests/unictype/test-ctype_lower.c: Likewise.
49891         * tests/unictype/test-ctype_print.c: Likewise.
49892         * tests/unictype/test-ctype_punct.c: Likewise.
49893         * tests/unictype/test-ctype_space.c: Likewise.
49894         * tests/unictype/test-ctype_upper.c: Likewise.
49895         * tests/unictype/test-ctype_xdigit.c: Likewise.
49896         * tests/unictype/test-decdigit.h: Likewise.
49897         * tests/unictype/test-digit.h: Likewise.
49898         * tests/unictype/test-numeric.h: Likewise.
49899         * tests/unictype/test-pr_alphabetic.c: Likewise.
49900         * tests/unictype/test-pr_ascii_hex_digit.c: Likewise.
49901         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
49902         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
49903         * tests/unictype/test-pr_bidi_block_separator.c: Likewise.
49904         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
49905         * tests/unictype/test-pr_bidi_common_separator.c: Likewise.
49906         * tests/unictype/test-pr_bidi_control.c: Likewise.
49907         * tests/unictype/test-pr_bidi_embedding_or_override.c: Likewise.
49908         * tests/unictype/test-pr_bidi_eur_num_separator.c: Likewise.
49909         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
49910         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
49911         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
49912         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
49913         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
49914         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
49915         * tests/unictype/test-pr_bidi_pdf.c: Likewise.
49916         * tests/unictype/test-pr_bidi_segment_separator.c: Likewise.
49917         * tests/unictype/test-pr_bidi_whitespace.c: Likewise.
49918         * tests/unictype/test-pr_combining.c: Likewise.
49919         * tests/unictype/test-pr_composite.c: Likewise.
49920         * tests/unictype/test-pr_currency_symbol.c: Likewise.
49921         * tests/unictype/test-pr_dash.c: Likewise.
49922         * tests/unictype/test-pr_decimal_digit.c: Likewise.
49923         * tests/unictype/test-pr_default_ignorable_code_point.c: Likewise.
49924         * tests/unictype/test-pr_deprecated.c: Likewise.
49925         * tests/unictype/test-pr_diacritic.c: Likewise.
49926         * tests/unictype/test-pr_extender.c: Likewise.
49927         * tests/unictype/test-pr_format_control.c: Likewise.
49928         * tests/unictype/test-pr_grapheme_base.c: Likewise.
49929         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
49930         * tests/unictype/test-pr_grapheme_link.c: Likewise.
49931         * tests/unictype/test-pr_hex_digit.c: Likewise.
49932         * tests/unictype/test-pr_hyphen.c: Likewise.
49933         * tests/unictype/test-pr_id_continue.c: Likewise.
49934         * tests/unictype/test-pr_id_start.c: Likewise.
49935         * tests/unictype/test-pr_ideographic.c: Likewise.
49936         * tests/unictype/test-pr_ids_binary_operator.c: Likewise.
49937         * tests/unictype/test-pr_ids_trinary_operator.c: Likewise.
49938         * tests/unictype/test-pr_ignorable_control.c: Likewise.
49939         * tests/unictype/test-pr_iso_control.c: Likewise.
49940         * tests/unictype/test-pr_join_control.c: Likewise.
49941         * tests/unictype/test-pr_left_of_pair.c: Likewise.
49942         * tests/unictype/test-pr_line_separator.c: Likewise.
49943         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
49944         * tests/unictype/test-pr_lowercase.c: Likewise.
49945         * tests/unictype/test-pr_math.c: Likewise.
49946         * tests/unictype/test-pr_non_break.c: Likewise.
49947         * tests/unictype/test-pr_not_a_character.c: Likewise.
49948         * tests/unictype/test-pr_numeric.c: Likewise.
49949         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
49950         * tests/unictype/test-pr_other_default_ignorable_code_point.c: Likewise.
49951         * tests/unictype/test-pr_other_grapheme_extend.c: Likewise.
49952         * tests/unictype/test-pr_other_id_continue.c: Likewise.
49953         * tests/unictype/test-pr_other_id_start.c: Likewise.
49954         * tests/unictype/test-pr_other_lowercase.c: Likewise.
49955         * tests/unictype/test-pr_other_math.c: Likewise.
49956         * tests/unictype/test-pr_other_uppercase.c: Likewise.
49957         * tests/unictype/test-pr_paired_punctuation.c: Likewise.
49958         * tests/unictype/test-pr_paragraph_separator.c: Likewise.
49959         * tests/unictype/test-pr_pattern_syntax.c: Likewise.
49960         * tests/unictype/test-pr_pattern_white_space.c: Likewise.
49961         * tests/unictype/test-pr_private_use.c: Likewise.
49962         * tests/unictype/test-pr_punctuation.c: Likewise.
49963         * tests/unictype/test-pr_quotation_mark.c: Likewise.
49964         * tests/unictype/test-pr_radical.c: Likewise.
49965         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
49966         * tests/unictype/test-pr_soft_dotted.c: Likewise.
49967         * tests/unictype/test-pr_space.c: Likewise.
49968         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
49969         * tests/unictype/test-pr_titlecase.c: Likewise.
49970         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
49971         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
49972         * tests/unictype/test-pr_uppercase.c: Likewise.
49973         * tests/unictype/test-pr_variation_selector.c: Likewise.
49974         * tests/unictype/test-pr_white_space.c: Likewise.
49975         * tests/unictype/test-pr_xid_continue.c: Likewise.
49976         * tests/unictype/test-pr_xid_start.c: Likewise.
49977         * tests/unictype/test-pr_zero_width.c: Likewise.
49978         * tests/unictype/test-sy_c_whitespace.c: Likewise.
49979         * tests/unictype/test-sy_java_whitespace.c: Likewise.
49980
49981 2007-11-12  Bruno Haible  <bruno@clisp.org>
49982
49983         Unicode character classification functions.
49984         * lib/unictype.h: New file.
49985         * modules/unictype/base: New file.
49986         * modules/unictype/category-L: New file.
49987         * modules/unictype/category-Lu: New file.
49988         * modules/unictype/category-Ll: New file.
49989         * modules/unictype/category-Lt: New file.
49990         * modules/unictype/category-Lm: New file.
49991         * modules/unictype/category-Lo: New file.
49992         * modules/unictype/category-M: New file.
49993         * modules/unictype/category-Mn: New file.
49994         * modules/unictype/category-Mc: New file.
49995         * modules/unictype/category-Me: New file.
49996         * modules/unictype/category-N: New file.
49997         * modules/unictype/category-Nd: New file.
49998         * modules/unictype/category-Nl: New file.
49999         * modules/unictype/category-No: New file.
50000         * modules/unictype/category-P: New file.
50001         * modules/unictype/category-Pc: New file.
50002         * modules/unictype/category-Pd: New file.
50003         * modules/unictype/category-Ps: New file.
50004         * modules/unictype/category-Pe: New file.
50005         * modules/unictype/category-Pi: New file.
50006         * modules/unictype/category-Pf: New file.
50007         * modules/unictype/category-Po: New file.
50008         * modules/unictype/category-S: New file.
50009         * modules/unictype/category-Sm: New file.
50010         * modules/unictype/category-Sc: New file.
50011         * modules/unictype/category-Sk: New file.
50012         * modules/unictype/category-So: New file.
50013         * modules/unictype/category-Z: New file.
50014         * modules/unictype/category-Zs: New file.
50015         * modules/unictype/category-Zl: New file.
50016         * modules/unictype/category-Zp: New file.
50017         * modules/unictype/category-C: New file.
50018         * modules/unictype/category-Cc: New file.
50019         * modules/unictype/category-Cf: New file.
50020         * modules/unictype/category-Cs: New file.
50021         * modules/unictype/category-Co: New file.
50022         * modules/unictype/category-Cn: New file.
50023         * modules/unictype/category-or: New file.
50024         * modules/unictype/category-of: New file.
50025         * modules/unictype/category-test: New file.
50026         * modules/unictype/category-test-withtable: New file.
50027         * modules/unictype/category-byname: New file.
50028         * modules/unictype/category-none: New file.
50029         * modules/unictype/category-and: New file.
50030         * modules/unictype/category-and-not: New file.
50031         * modules/unictype/category-name: New file.
50032         * modules/unictype/combining-class: New file.
50033         * modules/unictype/category-all: New file.
50034         * modules/unictype/bidicategory-all: New file.
50035         * modules/unictype/bidicategory-byname: New file.
50036         * modules/unictype/bidicategory-name: New file.
50037         * modules/unictype/bidicategory-of: New file.
50038         * modules/unictype/bidicategory-test: New file.
50039         * modules/unictype/decimal-digit: New file.
50040         * modules/unictype/digit: New file.
50041         * modules/unictype/numeric: New file.
50042         * modules/unictype/mirror: New file.
50043         * modules/unictype/property-white-space: New file.
50044         * modules/unictype/property-alphabetic: New file.
50045         * modules/unictype/property-other-alphabetic: New file.
50046         * modules/unictype/property-not-a-character: New file.
50047         * modules/unictype/property-default-ignorable-code-point: New file.
50048         * modules/unictype/property-other-default-ignorable-code-point: New
50049         file.
50050         * modules/unictype/property-deprecated: New file.
50051         * modules/unictype/property-logical-order-exception: New file.
50052         * modules/unictype/property-variation-selector: New file.
50053         * modules/unictype/property-private-use: New file.
50054         * modules/unictype/property-unassigned-code-value: New file.
50055         * modules/unictype/property-uppercase: New file.
50056         * modules/unictype/property-other-uppercase: New file.
50057         * modules/unictype/property-lowercase: New file.
50058         * modules/unictype/property-other-lowercase: New file.
50059         * modules/unictype/property-titlecase: New file.
50060         * modules/unictype/property-soft-dotted: New file.
50061         * modules/unictype/property-id-start: New file.
50062         * modules/unictype/property-other-id-start: New file.
50063         * modules/unictype/property-id-continue: New file.
50064         * modules/unictype/property-other-id-continue: New file.
50065         * modules/unictype/property-xid-start: New file.
50066         * modules/unictype/property-xid-continue: New file.
50067         * modules/unictype/property-pattern-white-space: New file.
50068         * modules/unictype/property-pattern-syntax: New file.
50069         * modules/unictype/property-join-control: New file.
50070         * modules/unictype/property-grapheme-base: New file.
50071         * modules/unictype/property-grapheme-extend: New file.
50072         * modules/unictype/property-other-grapheme-extend: New file.
50073         * modules/unictype/property-grapheme-link: New file.
50074         * modules/unictype/property-bidi-control: New file.
50075         * modules/unictype/property-bidi-left-to-right: New file.
50076         * modules/unictype/property-bidi-hebrew-right-to-left: New file.
50077         * modules/unictype/property-bidi-arabic-right-to-left: New file.
50078         * modules/unictype/property-bidi-european-digit: New file.
50079         * modules/unictype/property-bidi-eur-num-separator: New file.
50080         * modules/unictype/property-bidi-eur-num-terminator: New file.
50081         * modules/unictype/property-bidi-arabic-digit: New file.
50082         * modules/unictype/property-bidi-common-separator: New file.
50083         * modules/unictype/property-bidi-block-separator: New file.
50084         * modules/unictype/property-bidi-segment-separator: New file.
50085         * modules/unictype/property-bidi-whitespace: New file.
50086         * modules/unictype/property-bidi-non-spacing-mark: New file.
50087         * modules/unictype/property-bidi-boundary-neutral: New file.
50088         * modules/unictype/property-bidi-pdf: New file.
50089         * modules/unictype/property-bidi-embedding-or-override: New file.
50090         * modules/unictype/property-bidi-other-neutral: New file.
50091         * modules/unictype/property-hex-digit: New file.
50092         * modules/unictype/property-ascii-hex-digit: New file.
50093         * modules/unictype/property-ideographic: New file.
50094         * modules/unictype/property-unified-ideograph: New file.
50095         * modules/unictype/property-radical: New file.
50096         * modules/unictype/property-ids-binary-operator: New file.
50097         * modules/unictype/property-ids-trinary-operator: New file.
50098         * modules/unictype/property-zero-width: New file.
50099         * modules/unictype/property-space: New file.
50100         * modules/unictype/property-non-break: New file.
50101         * modules/unictype/property-iso-control: New file.
50102         * modules/unictype/property-format-control: New file.
50103         * modules/unictype/property-dash: New file.
50104         * modules/unictype/property-hyphen: New file.
50105         * modules/unictype/property-punctuation: New file.
50106         * modules/unictype/property-line-separator: New file.
50107         * modules/unictype/property-paragraph-separator: New file.
50108         * modules/unictype/property-quotation-mark: New file.
50109         * modules/unictype/property-sentence-terminal: New file.
50110         * modules/unictype/property-terminal-punctuation: New file.
50111         * modules/unictype/property-currency-symbol: New file.
50112         * modules/unictype/property-math: New file.
50113         * modules/unictype/property-other-math: New file.
50114         * modules/unictype/property-paired-punctuation: New file.
50115         * modules/unictype/property-left-of-pair: New file.
50116         * modules/unictype/property-combining: New file.
50117         * modules/unictype/property-composite: New file.
50118         * modules/unictype/property-decimal-digit: New file.
50119         * modules/unictype/property-numeric: New file.
50120         * modules/unictype/property-diacritic: New file.
50121         * modules/unictype/property-extender: New file.
50122         * modules/unictype/property-ignorable-control: New file.
50123         * modules/unictype/property-test: New file.
50124         * modules/unictype/property-byname: New file.
50125         * modules/unictype/property-all: New file.
50126         * modules/unictype/scripts: New file.
50127         * modules/unictype/scripts-all: New file.
50128         * modules/unictype/block-of: New file.
50129         * modules/unictype/block-test: New file.
50130         * modules/unictype/block-list: New file.
50131         * modules/unictype/block-all: New file.
50132         * modules/unictype/syntax-c-whitespace: New file.
50133         * modules/unictype/syntax-java-whitespace: New file.
50134         * modules/unictype/syntax-c-ident: New file.
50135         * modules/unictype/syntax-java-ident: New file.
50136         * modules/unictype/ctype-alnum: New file.
50137         * modules/unictype/ctype-alpha: New file.
50138         * modules/unictype/ctype-cntrl: New file.
50139         * modules/unictype/ctype-digit: New file.
50140         * modules/unictype/ctype-graph: New file.
50141         * modules/unictype/ctype-lower: New file.
50142         * modules/unictype/ctype-print: New file.
50143         * modules/unictype/ctype-punct: New file.
50144         * modules/unictype/ctype-space: New file.
50145         * modules/unictype/ctype-upper: New file.
50146         * modules/unictype/ctype-xdigit: New file.
50147         * modules/unictype/ctype-blank: New file.
50148         * lib/unictype/bidi_byname.c: New file.
50149         * lib/unictype/bidi_name.c: New file.
50150         * lib/unictype/bidi_of.c: New file.
50151         * lib/unictype/bidi_test.c: New file.
50152         * lib/unictype/bitmap.h: New file.
50153         * lib/unictype/block_test.c: New file.
50154         * lib/unictype/blocks.c: New file.
50155         * lib/unictype/categ_C.c: New file.
50156         * lib/unictype/categ_Cc.c: New file.
50157         * lib/unictype/categ_Cf.c: New file.
50158         * lib/unictype/categ_Cn.c: New file.
50159         * lib/unictype/categ_Co.c: New file.
50160         * lib/unictype/categ_Cs.c: New file.
50161         * lib/unictype/categ_L.c: New file.
50162         * lib/unictype/categ_Ll.c: New file.
50163         * lib/unictype/categ_Lm.c: New file.
50164         * lib/unictype/categ_Lo.c: New file.
50165         * lib/unictype/categ_Lt.c: New file.
50166         * lib/unictype/categ_Lu.c: New file.
50167         * lib/unictype/categ_M.c: New file.
50168         * lib/unictype/categ_Mc.c: New file.
50169         * lib/unictype/categ_Me.c: New file.
50170         * lib/unictype/categ_Mn.c: New file.
50171         * lib/unictype/categ_N.c: New file.
50172         * lib/unictype/categ_Nd.c: New file.
50173         * lib/unictype/categ_Nl.c: New file.
50174         * lib/unictype/categ_No.c: New file.
50175         * lib/unictype/categ_P.c: New file.
50176         * lib/unictype/categ_Pc.c: New file.
50177         * lib/unictype/categ_Pd.c: New file.
50178         * lib/unictype/categ_Pe.c: New file.
50179         * lib/unictype/categ_Pf.c: New file.
50180         * lib/unictype/categ_Pi.c: New file.
50181         * lib/unictype/categ_Po.c: New file.
50182         * lib/unictype/categ_Ps.c: New file.
50183         * lib/unictype/categ_S.c: New file.
50184         * lib/unictype/categ_Sc.c: New file.
50185         * lib/unictype/categ_Sk.c: New file.
50186         * lib/unictype/categ_Sm.c: New file.
50187         * lib/unictype/categ_So.c: New file.
50188         * lib/unictype/categ_Z.c: New file.
50189         * lib/unictype/categ_Zl.c: New file.
50190         * lib/unictype/categ_Zp.c: New file.
50191         * lib/unictype/categ_Zs.c: New file.
50192         * lib/unictype/categ_and.c: New file.
50193         * lib/unictype/categ_and_not.c: New file.
50194         * lib/unictype/categ_byname.c: New file.
50195         * lib/unictype/categ_name.c: New file.
50196         * lib/unictype/categ_none.c: New file.
50197         * lib/unictype/categ_of.c: New file.
50198         * lib/unictype/categ_or.c: New file.
50199         * lib/unictype/categ_test.c: New file.
50200         * lib/unictype/combining.c: New file.
50201         * lib/unictype/ctype_alnum.c: New file.
50202         * lib/unictype/ctype_alpha.c: New file.
50203         * lib/unictype/ctype_blank.c: New file.
50204         * lib/unictype/ctype_cntrl.c: New file.
50205         * lib/unictype/ctype_digit.c: New file.
50206         * lib/unictype/ctype_graph.c: New file.
50207         * lib/unictype/ctype_lower.c: New file.
50208         * lib/unictype/ctype_print.c: New file.
50209         * lib/unictype/ctype_punct.c: New file.
50210         * lib/unictype/ctype_space.c: New file.
50211         * lib/unictype/ctype_upper.c: New file.
50212         * lib/unictype/ctype_xdigit.c: New file.
50213         * lib/unictype/decdigit.c: New file.
50214         * lib/unictype/digit.c: New file.
50215         * lib/unictype/identsyntaxmap.h: New file.
50216         * lib/unictype/mirror.c: New file.
50217         * lib/unictype/numeric.c: New file.
50218         * lib/unictype/pr_alphabetic.c: New file.
50219         * lib/unictype/pr_ascii_hex_digit.c: New file.
50220         * lib/unictype/pr_bidi_arabic_digit.c: New file.
50221         * lib/unictype/pr_bidi_arabic_right_to_left.c: New file.
50222         * lib/unictype/pr_bidi_block_separator.c: New file.
50223         * lib/unictype/pr_bidi_boundary_neutral.c: New file.
50224         * lib/unictype/pr_bidi_common_separator.c: New file.
50225         * lib/unictype/pr_bidi_control.c: New file.
50226         * lib/unictype/pr_bidi_embedding_or_override.c: New file.
50227         * lib/unictype/pr_bidi_eur_num_separator.c: New file.
50228         * lib/unictype/pr_bidi_eur_num_terminator.c: New file.
50229         * lib/unictype/pr_bidi_european_digit.c: New file.
50230         * lib/unictype/pr_bidi_hebrew_right_to_left.c: New file.
50231         * lib/unictype/pr_bidi_left_to_right.c: New file.
50232         * lib/unictype/pr_bidi_non_spacing_mark.c: New file.
50233         * lib/unictype/pr_bidi_other_neutral.c: New file.
50234         * lib/unictype/pr_bidi_pdf.c: New file.
50235         * lib/unictype/pr_bidi_segment_separator.c: New file.
50236         * lib/unictype/pr_bidi_whitespace.c: New file.
50237         * lib/unictype/pr_byname.c: New file.
50238         * lib/unictype/pr_byname.gperf: New file.
50239         * lib/unictype/pr_combining.c: New file.
50240         * lib/unictype/pr_composite.c: New file.
50241         * lib/unictype/pr_currency_symbol.c: New file.
50242         * lib/unictype/pr_dash.c: New file.
50243         * lib/unictype/pr_decimal_digit.c: New file.
50244         * lib/unictype/pr_default_ignorable_code_point.c: New file.
50245         * lib/unictype/pr_deprecated.c: New file.
50246         * lib/unictype/pr_diacritic.c: New file.
50247         * lib/unictype/pr_extender.c: New file.
50248         * lib/unictype/pr_format_control.c: New file.
50249         * lib/unictype/pr_grapheme_base.c: New file.
50250         * lib/unictype/pr_grapheme_extend.c: New file.
50251         * lib/unictype/pr_grapheme_link.c: New file.
50252         * lib/unictype/pr_hex_digit.c: New file.
50253         * lib/unictype/pr_hyphen.c: New file.
50254         * lib/unictype/pr_id_continue.c: New file.
50255         * lib/unictype/pr_id_start.c: New file.
50256         * lib/unictype/pr_ideographic.c: New file.
50257         * lib/unictype/pr_ids_binary_operator.c: New file.
50258         * lib/unictype/pr_ids_trinary_operator.c: New file.
50259         * lib/unictype/pr_ignorable_control.c: New file.
50260         * lib/unictype/pr_iso_control.c: New file.
50261         * lib/unictype/pr_join_control.c: New file.
50262         * lib/unictype/pr_left_of_pair.c: New file.
50263         * lib/unictype/pr_line_separator.c: New file.
50264         * lib/unictype/pr_logical_order_exception.c: New file.
50265         * lib/unictype/pr_lowercase.c: New file.
50266         * lib/unictype/pr_math.c: New file.
50267         * lib/unictype/pr_non_break.c: New file.
50268         * lib/unictype/pr_not_a_character.c: New file.
50269         * lib/unictype/pr_numeric.c: New file.
50270         * lib/unictype/pr_other_alphabetic.c: New file.
50271         * lib/unictype/pr_other_default_ignorable_code_point.c: New file.
50272         * lib/unictype/pr_other_grapheme_extend.c: New file.
50273         * lib/unictype/pr_other_id_continue.c: New file.
50274         * lib/unictype/pr_other_id_start.c: New file.
50275         * lib/unictype/pr_other_lowercase.c: New file.
50276         * lib/unictype/pr_other_math.c: New file.
50277         * lib/unictype/pr_other_uppercase.c: New file.
50278         * lib/unictype/pr_paired_punctuation.c: New file.
50279         * lib/unictype/pr_paragraph_separator.c: New file.
50280         * lib/unictype/pr_pattern_syntax.c: New file.
50281         * lib/unictype/pr_pattern_white_space.c: New file.
50282         * lib/unictype/pr_private_use.c: New file.
50283         * lib/unictype/pr_punctuation.c: New file.
50284         * lib/unictype/pr_quotation_mark.c: New file.
50285         * lib/unictype/pr_radical.c: New file.
50286         * lib/unictype/pr_sentence_terminal.c: New file.
50287         * lib/unictype/pr_soft_dotted.c: New file.
50288         * lib/unictype/pr_space.c: New file.
50289         * lib/unictype/pr_terminal_punctuation.c: New file.
50290         * lib/unictype/pr_test.c: New file.
50291         * lib/unictype/pr_titlecase.c: New file.
50292         * lib/unictype/pr_unassigned_code_value.c: New file.
50293         * lib/unictype/pr_unified_ideograph.c: New file.
50294         * lib/unictype/pr_uppercase.c: New file.
50295         * lib/unictype/pr_variation_selector.c: New file.
50296         * lib/unictype/pr_white_space.c: New file.
50297         * lib/unictype/pr_xid_continue.c: New file.
50298         * lib/unictype/pr_xid_start.c: New file.
50299         * lib/unictype/pr_zero_width.c: New file.
50300         * lib/unictype/scripts.c: New file.
50301         * lib/unictype/sy_c_ident.c: New file.
50302         * lib/unictype/sy_c_whitespace.c: New file.
50303         * lib/unictype/sy_java_ident.c: New file.
50304         * lib/unictype/sy_java_whitespace.c: New file.
50305
50306         * lib/unictype/bidi_of.h: New file, generated by gen-ctype.c for
50307         Unicode 5.0.0.
50308         * lib/unictype/blocks.h: Likewise.
50309         * lib/unictype/categ_C.h: Likewise.
50310         * lib/unictype/categ_Cc.h: Likewise.
50311         * lib/unictype/categ_Cf.h: Likewise.
50312         * lib/unictype/categ_Cn.h: Likewise.
50313         * lib/unictype/categ_Co.h: Likewise.
50314         * lib/unictype/categ_Cs.h: Likewise.
50315         * lib/unictype/categ_L.h: Likewise.
50316         * lib/unictype/categ_Ll.h: Likewise.
50317         * lib/unictype/categ_Lm.h: Likewise.
50318         * lib/unictype/categ_Lo.h: Likewise.
50319         * lib/unictype/categ_Lt.h: Likewise.
50320         * lib/unictype/categ_Lu.h: Likewise.
50321         * lib/unictype/categ_M.h: Likewise.
50322         * lib/unictype/categ_Mc.h: Likewise.
50323         * lib/unictype/categ_Me.h: Likewise.
50324         * lib/unictype/categ_Mn.h: Likewise.
50325         * lib/unictype/categ_N.h: Likewise.
50326         * lib/unictype/categ_Nd.h: Likewise.
50327         * lib/unictype/categ_Nl.h: Likewise.
50328         * lib/unictype/categ_No.h: Likewise.
50329         * lib/unictype/categ_P.h: Likewise.
50330         * lib/unictype/categ_Pc.h: Likewise.
50331         * lib/unictype/categ_Pd.h: Likewise.
50332         * lib/unictype/categ_Pe.h: Likewise.
50333         * lib/unictype/categ_Pf.h: Likewise.
50334         * lib/unictype/categ_Pi.h: Likewise.
50335         * lib/unictype/categ_Po.h: Likewise.
50336         * lib/unictype/categ_Ps.h: Likewise.
50337         * lib/unictype/categ_S.h: Likewise.
50338         * lib/unictype/categ_Sc.h: Likewise.
50339         * lib/unictype/categ_Sk.h: Likewise.
50340         * lib/unictype/categ_Sm.h: Likewise.
50341         * lib/unictype/categ_So.h: Likewise.
50342         * lib/unictype/categ_Z.h: Likewise.
50343         * lib/unictype/categ_Zl.h: Likewise.
50344         * lib/unictype/categ_Zp.h: Likewise.
50345         * lib/unictype/categ_Zs.h: Likewise.
50346         * lib/unictype/categ_of.h: Likewise.
50347         * lib/unictype/combining.h: Likewise.
50348         * lib/unictype/ctype_alnum.h: Likewise.
50349         * lib/unictype/ctype_alpha.h: Likewise.
50350         * lib/unictype/ctype_blank.h: Likewise.
50351         * lib/unictype/ctype_cntrl.h: Likewise.
50352         * lib/unictype/ctype_digit.h: Likewise.
50353         * lib/unictype/ctype_graph.h: Likewise.
50354         * lib/unictype/ctype_lower.h: Likewise.
50355         * lib/unictype/ctype_print.h: Likewise.
50356         * lib/unictype/ctype_punct.h: Likewise.
50357         * lib/unictype/ctype_space.h: Likewise.
50358         * lib/unictype/ctype_upper.h: Likewise.
50359         * lib/unictype/ctype_xdigit.h: Likewise.
50360         * lib/unictype/decdigit.h: Likewise.
50361         * lib/unictype/digit.h: Likewise.
50362         * lib/unictype/mirror.h: Likewise.
50363         * lib/unictype/numeric.h: Likewise.
50364         * lib/unictype/pr_alphabetic.h: Likewise.
50365         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
50366         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
50367         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
50368         * lib/unictype/pr_bidi_block_separator.h: Likewise.
50369         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
50370         * lib/unictype/pr_bidi_common_separator.h: Likewise.
50371         * lib/unictype/pr_bidi_control.h: Likewise.
50372         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
50373         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
50374         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
50375         * lib/unictype/pr_bidi_european_digit.h: Likewise.
50376         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
50377         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
50378         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
50379         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
50380         * lib/unictype/pr_bidi_pdf.h: Likewise.
50381         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
50382         * lib/unictype/pr_bidi_whitespace.h: Likewise.
50383         * lib/unictype/pr_combining.h: Likewise.
50384         * lib/unictype/pr_composite.h: Likewise.
50385         * lib/unictype/pr_currency_symbol.h: Likewise.
50386         * lib/unictype/pr_dash.h: Likewise.
50387         * lib/unictype/pr_decimal_digit.h: Likewise.
50388         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
50389         * lib/unictype/pr_deprecated.h: Likewise.
50390         * lib/unictype/pr_diacritic.h: Likewise.
50391         * lib/unictype/pr_extender.h: Likewise.
50392         * lib/unictype/pr_format_control.h: Likewise.
50393         * lib/unictype/pr_grapheme_base.h: Likewise.
50394         * lib/unictype/pr_grapheme_extend.h: Likewise.
50395         * lib/unictype/pr_grapheme_link.h: Likewise.
50396         * lib/unictype/pr_hex_digit.h: Likewise.
50397         * lib/unictype/pr_hyphen.h: Likewise.
50398         * lib/unictype/pr_id_continue.h: Likewise.
50399         * lib/unictype/pr_id_start.h: Likewise.
50400         * lib/unictype/pr_ideographic.h: Likewise.
50401         * lib/unictype/pr_ids_binary_operator.h: Likewise.
50402         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
50403         * lib/unictype/pr_ignorable_control.h: Likewise.
50404         * lib/unictype/pr_iso_control.h: Likewise.
50405         * lib/unictype/pr_join_control.h: Likewise.
50406         * lib/unictype/pr_left_of_pair.h: Likewise.
50407         * lib/unictype/pr_line_separator.h: Likewise.
50408         * lib/unictype/pr_logical_order_exception.h: Likewise.
50409         * lib/unictype/pr_lowercase.h: Likewise.
50410         * lib/unictype/pr_math.h: Likewise.
50411         * lib/unictype/pr_non_break.h: Likewise.
50412         * lib/unictype/pr_not_a_character.h: Likewise.
50413         * lib/unictype/pr_numeric.h: Likewise.
50414         * lib/unictype/pr_other_alphabetic.h: Likewise.
50415         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
50416         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
50417         * lib/unictype/pr_other_id_continue.h: Likewise.
50418         * lib/unictype/pr_other_id_start.h: Likewise.
50419         * lib/unictype/pr_other_lowercase.h: Likewise.
50420         * lib/unictype/pr_other_math.h: Likewise.
50421         * lib/unictype/pr_other_uppercase.h: Likewise.
50422         * lib/unictype/pr_paired_punctuation.h: Likewise.
50423         * lib/unictype/pr_paragraph_separator.h: Likewise.
50424         * lib/unictype/pr_pattern_syntax.h: Likewise.
50425         * lib/unictype/pr_pattern_white_space.h: Likewise.
50426         * lib/unictype/pr_private_use.h: Likewise.
50427         * lib/unictype/pr_punctuation.h: Likewise.
50428         * lib/unictype/pr_quotation_mark.h: Likewise.
50429         * lib/unictype/pr_radical.h: Likewise.
50430         * lib/unictype/pr_sentence_terminal.h: Likewise.
50431         * lib/unictype/pr_soft_dotted.h: Likewise.
50432         * lib/unictype/pr_space.h: Likewise.
50433         * lib/unictype/pr_terminal_punctuation.h: Likewise.
50434         * lib/unictype/pr_titlecase.h: Likewise.
50435         * lib/unictype/pr_unassigned_code_value.h: Likewise.
50436         * lib/unictype/pr_unified_ideograph.h: Likewise.
50437         * lib/unictype/pr_uppercase.h: Likewise.
50438         * lib/unictype/pr_variation_selector.h: Likewise.
50439         * lib/unictype/pr_white_space.h: Likewise.
50440         * lib/unictype/pr_xid_continue.h: Likewise.
50441         * lib/unictype/pr_xid_start.h: Likewise.
50442         * lib/unictype/pr_zero_width.h: Likewise.
50443         * lib/unictype/scripts.h: Likewise.
50444         * lib/unictype/scripts_byname.gperf: Likewise.
50445         * lib/unictype/sy_c_ident.h: Likewise.
50446         * lib/unictype/sy_c_whitespace.h: Likewise.
50447         * lib/unictype/sy_java_ident.h: Likewise.
50448         * lib/unictype/sy_java_whitespace.h: Likewise.
50449
50450         * lib/unictype/Makefile: New file.
50451         * lib/unictype/gen-ctype.c: New file, based on gen-unicode-ctype.c in
50452         glibc.
50453         * lib/unictype/3level.h: New file, copied from glibc.
50454         * lib/unictype/3levelbit.h: New file.
50455
50456 2007-11-11  Bruno Haible  <bruno@clisp.org>
50457
50458         * modules/gperf: New file.
50459         * modules/iconv_open (Depends-on): Add it.
50460         (Makefile.am): Remove the GPERF definition.
50461
50462 2007-11-11  Bruno Haible  <bruno@clisp.org>
50463
50464         * m4/round.m4 (gl_FUNC_ROUND): Test against NetBSD 3.0 bug.
50465         * doc/functions/round.texi: Mention the NetBSD 3.0 bug.
50466
50467 2007-11-11  Bruno Haible  <bruno@clisp.org>
50468
50469         * tests/test-argmatch.c (ARGMATCH_DIE): Undefine.
50470         (usage): Remove function.
50471
50472 2007-11-11  Bruno Haible  <bruno@clisp.org>
50473
50474         * m4/roundf.m4 (gl_FUNC_ROUNDF): Use gl_FUNC_FLOORF_LIBS and
50475         gl_FUNC_CEILF_LIBS.
50476         * m4/round.m4 (gl_FUNC_ROUND): Use gl_FUNC_FLOOR_LIBS and
50477         gl_FUNC_CEIL_LIBS.
50478         * m4/roundl.m4 (gl_FUNC_ROUNDL): Use gl_FUNC_FLOORL_LIBS and
50479         gl_FUNC_CEILL_LIBS.
50480         * modules/roundf (Files): Add m4/floorf.m4, m4/ceilf.m4.
50481         * modules/round (Files): Add m4/floor.m4, m4/ceil.m4.
50482         * modules/roundl (Files): Add m4/floorl.m4, m4/ceill.m4.
50483
50484 2007-11-11  Bruno Haible  <bruno@clisp.org>
50485
50486         * m4/roundf.m4 (gl_FUNC_ROUNDF): Handle the case that floorf and
50487         roundf were declared but do not exist on functions.
50488         * m4/roundl.m4 (gl_FUNC_ROUNDL): Handle the case that floorl and
50489         roundl were declared but do not exist on functions.
50490         * lib/round.c (HAVE_FLOOR_AND_CEIL): Use HAVE_FLOORF_AND_CEILF and
50491         HAVE_FLOORL_AND_CEILL, respectively.
50492         Needed for Sun C on Solaris 10.
50493
50494 2007-11-11  Bruno Haible  <bruno@clisp.org>
50495
50496         * m4/roundf.m4 (gl_FUNC_ROUNDF): Set REPLACE_ROUNDF instead of
50497         HAVE_DECL_ROUNDF. Remove redundant AC_SUBST.
50498         * m4/round.m4 (gl_FUNC_ROUND): Set REPLACE_ROUND instead of
50499         HAVE_DECL_ROUND. Remove redundant AC_SUBST.
50500         * m4/roundl.m4 (gl_FUNC_ROUNDL): Set REPLACE_ROUNDL instead of
50501         HAVE_DECL_ROUNDL. Remove redundant AC_SUBST.
50502         * lib/math.in.h (roundf): Use REPLACE_ROUNDF instead of
50503         HAVE_DECL_ROUNDF.
50504         (round): Use REPLACE_ROUND instead of HAVE_DECL_ROUND.
50505         (roundl): Use REPLACE_ROUNDL instead of HAVE_DECL_ROUNDL.
50506         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_ROUND* instead
50507         of HAVE_DECL_ROUND*.
50508         * modules/math (Makefile.am): Update.
50509
50510 2007-11-10  Bruno Haible  <bruno@clisp.org>
50511
50512         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Use same check for
50513         ptrdiff_t as m4/intl.m4.
50514
50515 2007-11-10  Jim Meyering  <meyering@redhat.com>
50516
50517         Avoid link failure for the argmatch test.
50518         * tests/test-argmatch.c (usage): Define function to avoid a link
50519         failure: argmatch_die requires a usage function.
50520
50521 2007-11-09  Bruno Haible  <bruno@clisp.org>
50522
50523         * doc/functions/snprintf.texi: Mention BeOS deficiency.
50524         * doc/functions/vsnprintf.texi: Likewise.
50525         * lib/vasnprintf.c (VASNPRINTF): Ensure that we never call snprintf
50526         with a size argument < 2.
50527
50528 2007-11-09  Bruno Haible  <bruno@clisp.org>
50529
50530         * lib/vasnprintf.c (VASNPRINTF): Increase reallocation of snprintf
50531         buffer. Fixes an inefficiency introduced on 2007-11-03.
50532
50533 2007-11-09  Bruno Haible  <bruno@clisp.org>
50534
50535         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8) [BeOS]: Make this test return
50536         none instead of tr_TR. Fixes a failure of test-c-strcasecmp.c.
50537
50538 2007-11-08  Jim Meyering  <meyering@redhat.com>
50539
50540         Change cache variable name prefix "jm_" to "gl_" everywhere.
50541         * m4/d-type.m4, m4/jm-winsz1.m4, m4/jm-winsz2.m4, m4/link-follow.m4:
50542         * m4/putenv.m4, m4/strtoimax.m4, m4/strtoumax.m4, m4/unlink-busy.m4:
50543         * m4/uptime.m4: s/gl_/jm_/
50544
50545 2007-11-07  Bruno Haible  <bruno@clisp.org>
50546
50547         Update to GNU gettext 0.17.
50548         * m4/intl.m4: Update to GNU gettext 0.17.
50549         * m4/po.m4: Likewise.
50550         * modules/gettext (Files): Remove m4/ulonglong.m4.
50551         (configure.ac): Require gettext infrastructure from version 0.17.
50552
50553 2007-11-06  Bruno Haible  <bruno@clisp.org>
50554
50555         * lib/fbufmode.c (fbufmode) [QNX]: Use numerical values for flags; the
50556         symbolic values are not defined in a public header.
50557         * lib/freadable.c (freadable) [QNX]: Likewise.
50558         * lib/freadahead.c (freadahead) [QNX]: Likewise.
50559         * lib/freading.c (freading) [QNX]: Likewise.
50560         * lib/fseterr.c (fseterr) [QNX]: Likewise.
50561         * lib/fwritable.c (fwritable) [QNX]: Likewise.
50562         * lib/fwriting.c (fwriting) [QNX]: Likewise.
50563         * lib/fpurge.c (fpurge) [QNX]: Likewise. Add a return statement.
50564         Reported by Alain Magloire.
50565
50566         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for QNX.
50567
50568 2007-11-05  Bruno Haible  <bruno@clisp.org>
50569
50570         * lib/vasnprintf.c (VASNPRINTF): Expand the NEED_PRINTF_DIRECTIVE_A
50571         code when NEED_PRINTF_LONG_DOUBLE or NEED_PRINTF_DOUBLE is set.
50572         Needed on Cygwin, where !NEED_PRINTF_DIRECTIVE_A && NEED_PRINTF_DOUBLE.
50573         Reported by Eric Blake.
50574
50575 2007-10-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50576             Bruno Haible  <bruno@clisp.org>
50577
50578         * modules/malloc (configure.ac): Define GNULIB_MALLOC_GNU always.
50579         * modules/realloc (configure.ac): Define GNULIB_REALLOC_GNU always.
50580         * lib/realloc.c (SYSTEM_MALLOC_GLIBC_COMPATIBLE): New macro.
50581         (malloc): Undefine also before including <stdlib.h>.
50582         (rpl_realloc): Turn malloc(0) into malloc(1) if necessary.
50583         Needed on OSF/1 4.0.
50584
50585 2007-11-05  Jim Meyering  <meyering@redhat.com>
50586
50587         git-version-gen: sync from coreutils.
50588         * build-aux/git-version-gen: Add comments.
50589         Change the first '-' to '.' in the snapshot version string,
50590         e.g., 6.9-377-08144 -> 6.9.377-08144
50591         Remove first parameter.
50592         Don't declare a version "-dirty" merely because a time
50593         stamp has changed.
50594
50595 2007-11-04  Bruno Haible  <bruno@clisp.org>
50596
50597         * lib/lock.h: Protect all macro definitions containing an 'if'
50598         statement through a "do { ... } while (0)".
50599         * lib/tls.h: Likewise.
50600
50601 2007-11-04  Bruno Haible  <bruno@clisp.org>
50602
50603         * lib/vasnprintf.c (DCHAR_IS_TCHAR, DCHAR_CPY): Undefine at the end.
50604
50605 2007-11-04  Bruno Haible  <bruno@clisp.org>
50606
50607         * m4/printf.m4 (gl_PRINTF_ENOMEM): Use GL_NOCRASH.
50608         * modules/fprintf-posix (Depends-on): Add nocrash.
50609         * modules/snprintf-posix (Depends-on): Likewise.
50610         * modules/sprintf-posix (Depends-on): Likewise.
50611         * modules/vasnprintf-posix (Depends-on): Likewise.
50612         * modules/vasprintf-posix (Depends-on): Likewise.
50613         * modules/vfprintf-posix (Depends-on): Likewise.
50614         * modules/vsnprintf-posix (Depends-on): Likewise.
50615         * modules/vsprintf-posix (Depends-on): Likewise.
50616         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
50617         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
50618         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
50619         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
50620         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
50621         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
50622         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
50623
50624 2007-11-04  Bruno Haible  <bruno@clisp.org>
50625
50626         * modules/nocrash: New file.
50627         * m4/nocrash.m4: New file, taken from GNU clisp. Code taken from
50628         GNU libsigsegv, with permission of GNU libsigsegv's copyright holders.
50629
50630 2007-11-04  Bruno Haible  <bruno@clisp.org>
50631
50632         * tests/test-vasnprintf-posix.c (test_function): Add some tests of
50633         precision handling.
50634         * tests/test-vasprintf-posix.c (test_function): Likewise.
50635         * tests/test-snprintf-posix.h (test_function): Likewise.
50636         * tests/test-sprintf-posix.h (test_function): Likewise.
50637
50638         Fix *printf behaviour for large precisions on mingw and BeOS.
50639         * m4/printf.m4 (gl_PRINTF_PRECISION): New macro.
50640         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_UNBOUNDED_PRECISION.
50641         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_PRECISION): New macro.
50642         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
50643         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
50644         gl_PRINTF_PRECISION and test its result. Invoke
50645         gl_PREREQ_VASNPRINTF_PRECISION.
50646         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
50647         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
50648         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
50649         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
50650         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
50651         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
50652         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
50653         * doc/functions/fprintf.texi: Update.
50654         * doc/functions/printf.texi: Update.
50655         * doc/functions/snprintf.texi: Update.
50656         * doc/functions/sprintf.texi: Update.
50657         * doc/functions/vfprintf.texi: Update.
50658         * doc/functions/vprintf.texi: Update.
50659         * doc/functions/vsnprintf.texi: Update.
50660         * doc/functions/vsprintf.texi: Update.
50661
50662 2007-11-04  Bruno Haible  <bruno@clisp.org>
50663
50664         * lib/vasnprintf.c (scale10_round_decimal_decoded): Fix shift loop.
50665
50666 2007-11-04  Bruno Haible  <bruno@clisp.org>
50667
50668         * modules/relocatable-prog (Files): Add m4/lib-ld.m4.
50669         Reported by Sylvain Beucler <beuc@gnu.org>.
50670
50671 2007-11-03  Bruno Haible  <bruno@clisp.org>
50672
50673         * tests/test-fprintf-posix2.sh: New file.
50674         * tests/test-fprintf-posix2.c: New file.
50675         * modules/fprintf-posix-tests (Files): Add them.
50676         (TESTS): Add test-fprintf-posix2.sh.
50677         (configure.ac): Check for getrlimit and setrlimit.
50678         (check_PROGRAMS): Add test-fprintf-posix2.
50679
50680         * tests/test-printf-posix2.sh: New file.
50681         * tests/test-printf-posix2.c: New file.
50682         * modules/printf-posix-tests (Files): Add them.
50683         (TESTS): Add test-printf-posix2.sh.
50684         (configure.ac): Check for getrlimit and setrlimit.
50685         (check_PROGRAMS): Add test-printf-posix2.
50686
50687         Fix *printf behaviour in out-of-memory situations on MacOS X and *BSD.
50688         * m4/printf.m4 (gl_PRINTF_ENOMEM): New macro.
50689         * lib/vasnprintf.c: Implement NEED_PRINTF_DOUBLE.
50690         (decode_double): New function, copied from decode_long_double.
50691         (scale10_round_decimal_decoded): New function, extracted from
50692         scale10_round_decimal_long_double.
50693         (scale10_round_decimal_long_double): Use it.
50694         (scale10_round_decimal_double): New function.
50695         (floorlog10): New function.
50696         (VASNPRINTF): Handle NEED_PRINTF_DOUBLE case.
50697         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_ENOMEM): New macro.
50698         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
50699         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
50700         gl_PRINTF_ENOMEM and test its result. Invoke
50701         gl_PREREQ_VASNPRINTF_ENOMEM.
50702         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
50703         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
50704         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
50705         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
50706         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
50707         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
50708         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
50709         * modules/fprintf-posix (Depends-on): Add frexp-nolibm.
50710         * modules/snprintf-posix (Depends-on): Likewise.
50711         * modules/sprintf-posix (Depends-on): Likewise.
50712         * modules/vasnprintf-posix (Depends-on): Likewise.
50713         * modules/vasprintf-posix (Depends-on): Likewise.
50714         * modules/vfprintf-posix (Depends-on): Likewise.
50715         * modules/vsnprintf-posix (Depends-on): Likewise.
50716         * modules/vsprintf-posix (Depends-on): Likewise.
50717         * doc/functions/fprintf.texi: Update.
50718         * doc/functions/printf.texi: Update.
50719         * doc/functions/snprintf.texi: Update.
50720         * doc/functions/sprintf.texi: Update.
50721         * doc/functions/vfprintf.texi: Update.
50722         * doc/functions/vprintf.texi: Update.
50723         * doc/functions/vsnprintf.texi: Update.
50724         * doc/functions/vsprintf.texi: Update.
50725
50726 2007-11-03  Bruno Haible  <bruno@clisp.org>
50727
50728         * modules/frexp-nolibm-tests: New file.
50729
50730         * modules/frexp-nolibm: New file.
50731         * m4/frexp.m4 (gl_FUNC_FREXP_NO_LIBM): New macro.
50732
50733 2007-11-03  Bruno Haible  <bruno@clisp.org>
50734
50735         * lib/vasnprintf.c (VASNPRINTF): Don't assume that snprintf's return
50736         value is C99 compliant.
50737         Needed for OSF/1 5.1.
50738
50739 2007-11-03  Bruno Haible  <bruno@clisp.org>
50740
50741         Fix out-of-memory handling of vasnprintf.
50742         * lib/printf-parse.c: Include <errno.h>.
50743         (PRINTF_PARSE): When failing, set errno to EINVAL or ENOMEM.
50744         * lib/vasnprintf.c (VASNPRINTF): When PRINTF_PARSE fails, assume errno
50745         is already set.
50746
50747 2007-11-02  Eric Blake  <ebb9@byu.net>
50748
50749         Fix tests on cygwin.
50750         * modules/xprintf-posix-tests (Makefile.am): Link against -lintl.
50751
50752 2007-11-01  Bruno Haible  <bruno@clisp.org>
50753
50754         * lib/stdlib.in.h (putenv): Remove the "not POSIX compliant everywhere"
50755         warning.
50756         * doc/functions/putenv.texi: Clarify that the 'putenv' module is not
50757         needed for POSIX compatibility.
50758
50759 2007-11-01  Paul Eggert  <eggert@cs.ucla.edu>
50760
50761         * m4/putenv.m4 (gl_FUNC_PUTENV): Also mention that we're checking
50762         for compatibility with GNU.
50763
50764 2007-11-01  Bruno Haible  <bruno@clisp.org>
50765
50766         * lib/putenv.c: Include <stdlib.h>. Remove rpl_putenv declaration.
50767         (putenv): Renamed from rpl_putenv. Change argument type from
50768         'const char *' to 'char *'.
50769         * m4/putenv.m4 (gl_FUNC_PUTENV): Require gl_STDLIB_H_DEFAULTS. Instead
50770         of defining putenv in config.h, just set REPLACE_PUTENV.
50771         * modules/putenv (Depends-on): Add stdlib.
50772         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
50773         (Include): Use <stdlib.h>.
50774         * lib/stdlib.in.h (putenv): New declaration.
50775         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PUTENV and
50776         REPLACE_PUTENV.
50777         * modules/stdlib (Makefile.am): Substitute GNULIB_PUTENV and
50778         REPLACE_PUTENV.
50779         Needed for MacOS X 10.5.0.
50780         Reported by Peter O'Gorman <peter@pogma.com>.
50781
50782 2007-11-01  Jim Meyering  <meyering@redhat.com>
50783
50784         Treat an empty date string exactly like "0".
50785         * lib/getdate.y (get_date): Once any isspace or TZ= prefix is consumed,
50786         if the remaining date string (to be parsed) is empty, use "0".
50787         Reported by Mischa Molhoek and discussed in this thread:
50788         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/11726>.
50789
50790 2007-10-31  Bruno Haible  <bruno@clisp.org>
50791
50792         * m4/intmax_t.m4 (gl_AC_TYPE_INTMAX_T, gt_AC_TYPE_INTMAX_T): Use
50793         AC_TYPE_LONG_LONG_INT instead of gl_AC_TYPE_LONG_LONG.
50794         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Use
50795         AC_TYPE_UNSIGNED_LONG_LONG_INT instead of gl_AC_TYPE_UNSIGNED_LONG_LONG.
50796         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Remove macro.
50797         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Remove macro.
50798
50799 2007-10-31  Bruno Haible  <bruno@clisp.org>
50800
50801         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): New macro, extracted
50802         from AC_TYPE_LONG_LONG_INT and AC_TYPE_UNSIGNED_LONG_LONG_INT.
50803         (AC_TYPE_LONG_LONG_INT): Use it.
50804         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Moved here from m4/ulonglong.m4. Use
50805         it as well.
50806         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Remove macro; moved
50807         to m4/longlong.m4.
50808         * modules/stdint (Files): Remove m4/ulonglong.m4.
50809         * modules/strtoull (Files): Use m4/longlong.m4 instead of
50810         m4/ulonglong.m4.
50811         * modules/strtoumax (Files): Likewise.
50812
50813 2007-10-30  Bruno Haible  <bruno@clisp.org>
50814
50815         * modules/xvasprintf-posix: New file.
50816         Suggested by Eric Blake.
50817
50818 2007-10-30  Bruno Haible  <bruno@clisp.org>
50819
50820         * modules/xprintf-posix-tests: New file.
50821         * tests/test-xprintf-posix.sh: New file.
50822         * tests/test-xprintf-posix.c: New file.
50823         * tests/test-xfprintf-posix.c: New file.
50824
50825         * modules/xprintf-posix: New file.
50826
50827 2007-10-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50828
50829         * modules/fbufmode-tests (MOSTLYCLEANFILES): Remove temp files.
50830         * modules/freadable-tests (MOSTLYCLEANFILES): Likewise.
50831         * modules/fwritable-tests (MOSTLYCLEANFILES): Likewise.
50832
50833 2007-10-29  Bruno Haible  <bruno@clisp.org>
50834
50835         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Rename the cache variable to
50836         contain the special marker '_cv_'.
50837         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
50838         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
50839         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
50840         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
50841         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
50842         Reported by Ralf Wildenhues.
50843
50844 2007-10-29  Bruno Haible  <bruno@clisp.org>
50845
50846         * gnulib-tool (func_import): When --lgpl is not specified, set
50847         sed_transform_lib_file to convert LGPL and GPLv2+ copyright headers to
50848         GPLv3.
50849         Reported by Simon Josefsson.
50850
50851 2007-10-28  Bruno Haible  <bruno@clisp.org>
50852
50853         * lib/math.in.h: Test REPLACE_ISFINITE instead of HAVE_DECL_ISFINITE.
50854         * m4/isfinite.m4 (gl_ISFINITE): Initialize REPLACE_ISFINITE instead of
50855         HAVE_DECL_ISFINITE.
50856         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
50857         * modules/math (Makefile.am): Substitute REPLACE_ISFINITE instead of
50858         HAVE_DECL_ISFINITE.
50859
50860 2007-10-28  Bruno Haible  <bruno@clisp.org>
50861
50862         * lib/stdint.in.h (_STDINT_MAX): Subtract 1 from an unused signed
50863         integer shift in the signed case. Fixes warnings with OSF/1 5.1 cc.
50864
50865 2007-10-28  Bruno Haible  <bruno@clisp.org>
50866
50867         Fix link errors with Sun C 5.0 on Solaris 10.
50868         * m4/floorf.m4 (gl_FUNC_FLOORF): Consider also the case that the
50869         function is declared but not present in the compiler's libm.
50870         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
50871         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
50872         * m4/ceill.m4 (gl_FUNC_CEILL: Likewise.
50873         * lib/math.in.h: Test REPLACE_CEILF instead of HAVE_DECL_CEILF.
50874         Test REPLACE_CEILL instead of HAVE_DECL_CEILL.
50875         Test REPLACE_FLOORF instead of HAVE_DECL_FLOORF.
50876         Test REPLACE_FLOORL instead of HAVE_DECL_FLOORL.
50877         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
50878         * modules/math (Makefile.am): Substitute REPLACE_CEILF instead of
50879         HAVE_DECL_CEILF, REPLACE_CEILL instead of HAVE_DECL_CEILL,
50880         REPLACE_FLOORF instead of HAVE_DECL_FLOORF, REPLACE_FLOORL instead of
50881         HAVE_DECL_FLOORL.
50882
50883 2007-10-28  Bruno Haible  <bruno@clisp.org>
50884
50885         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): New macro, extracted from
50886         gl_FUNC_FLOORL. Cache the result.
50887         (gl_FUNC_FLOORL): Use it.
50888         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): New macro, extracted from
50889         gl_FUNC_CEILL. Cache the result.
50890         (gl_FUNC_CEILL): Use it.
50891
50892         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): New macro, extracted from
50893         gl_FUNC_FLOOR. Cache the result.
50894         (gl_FUNC_FLOOR): Use it.
50895         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): New macro, extracted from
50896         gl_FUNC_CEIL. Cache the result.
50897         (gl_FUNC_CEIL): Use it.
50898
50899         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): New macro, extracted from
50900         gl_FUNC_FLOORF. Cache the result.
50901         (gl_FUNC_FLOORF): Use it.
50902         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): New macro, extracted from
50903         gl_FUNC_CEILF. Cache the result.
50904         (gl_FUNC_CEILF): Use it.
50905
50906 2007-10-28  Bruno Haible  <bruno@clisp.org>
50907
50908         * gnulib-tool: Allow specifying the LGPL version number through
50909         --lgpl=2 or --lgpl=3.
50910         (func_usage): Document --lgpl with argument.
50911         Handle --lgpl=... arguments.
50912         (func_import): Recognize also gl_LGPL calls with an argument. When
50913         --lgpl=2 is used and the module's license is just LGPL, report an
50914         error. Set sed_transform_lib_file according to the lgpl variable. In
50915         the generated files, use --lgpl or gl_LGPL invocations with argument,
50916         if necessary.
50917         * doc/gnulib-intro.texi (Copyright): Explain how to get modules under
50918         an LGPv2+ license.
50919         * doc/gnulib-tool.texi (Modified imports): Update explanation of
50920         gl_LGPL macro.
50921
50922 2007-10-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50923             Bruno Haible  <bruno@clisp.org>
50924
50925         * lib/unistr.h (u8_uctomb_aux): Declare also if !HAVE_INLINE.
50926         (u16_uctomb_aux): Likewise.
50927         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Define also if
50928         !HAVE_INLINE.
50929         * lib/unistr/u16-uctomb-aux.c (u16_uctomb_aux): Likewise
50930
50931 2007-10-28  Bruno Haible  <bruno@clisp.org>
50932
50933         * modules/error: Add a notice recommending to change XGETTEXT_OPTIONS.
50934         Invoke AM_GETTEXT_OPTION if it exists.
50935         * modules/vasprintf: Likewise.
50936         * modules/verror: Likewise.
50937         * modules/xprintf: Likewise.
50938         * modules/xvasprintf: Likewise.
50939
50940 2007-10-27  Ben Pfaff  <blp@gnu.org>
50941
50942         * lib/math.in.h: Define isfinite macro and prototypes for
50943         gl_isfinitef, gl_isfinited, gl_isfinitel if we are providing
50944         implementations.
50945         * m4/math_h.m4: New substitutions for isfinite module.
50946         * lib/isfinite.c: New file.
50947         * m4/isfinite.m4: New file.
50948         * modules/math: Replace isfinite-related @VARS@ in math.in.h.
50949         * modules/isfinite: New file.
50950         * modules/isfinite-tests: New file.
50951         * tests/tests-isfinite.c: New file.
50952         * doc/functions/isfinite.texi: Mention isfinite module.
50953         * MODULES.html.sh: Mention new module.
50954
50955 2007-10-27  Ben Pfaff  <blp@gnu.org>
50956
50957         Ralf Wildenhues reported that Tru64 4.0D declares the round
50958         functions but does not have definitions.
50959         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): If the target function
50960         cannot be found in any library, set the output variable to
50961         "missing" instead of "".
50962         * m4/round.m4: Also use our substitute if we cannot find round in
50963         any library, even if it is declared.
50964         * m4/roundf.m4: Likewise for roundf.
50965         * m4/roundl.m4: Likewise for roundl.
50966         * lib/math.in.h: Undefine roundf, round, roundl before defining
50967         their replacements, to allow for hypothetical systems where these
50968         may be defined as macros but not available in libraries.
50969
50970 2007-10-27  Bruno Haible  <bruno@clisp.org>
50971
50972         * doc/gnulib.texi: Invoke @firstparagraphindent.
50973         * doc/gnulib-tool.texi (Simple update): Mention possible incompatible
50974         changes in gnulib.
50975         (Source changes): New section.
50976
50977 2007-10-26  Bruno Haible  <bruno@clisp.org>
50978
50979         * m4/gnulib-common.m4 (AC_C_RESTRICT): New overriding definition,
50980         borrowed from autoconf.
50981
50982 2007-10-26  Bruno Haible  <bruno@clisp.org>
50983
50984         * lib/strerror.c (rpl_strerror): Return "Unknown error ..." also if
50985         strerror returned the empty string. Needed on HP-UX 11.00.
50986
50987 2007-10-24  Micah Cowan  <micah@cowan.name>
50988
50989         Remove vestiges of cvs-gnulib-checkout process.  Now we use git.
50990         * build-aux/bootstrap: Remove support for now-unnecessary option,
50991         --cvs-user, and envvars CVS_USER, CVS_RSH.
50992
50993 2007-10-24  Jim Meyering  <meyering@redhat.com>
50994
50995         Avoid diagnostics from sha1sum when there is no cached checksum.
50996         * build-aux/bootstrap (update_po_files): Skip the sha1sum check
50997         if the po.s1 file hasn't been created yet.
50998
50999         * build-aux/bootstrap: Sync from coreutils:
51000         2007-10-24  Jim Meyering  <meyering@redhat.com>
51001         Get gnulib from the git repository, not from an obsolete cvs one.
51002         * build-aux/bootstrap: Suggestion from Micah Cowan.
51003         2007-10-04  Jim Meyering  <jim@meyering.net>
51004         * build-aux/bootstrap (slurp): Adapt to _.h -> .in.h name change.
51005         (update_po_files): Work also when there are no .po files in po/.
51006
51007 2007-10-24  Paul Eggert  <eggert@cs.ucla.edu>
51008
51009         * README: Append ".git" to git and cg examples.
51010         Problem reported by Benoit Sigoure.
51011
51012 2007-10-23  Micah Cowan  <micah@cowan.name>
51013
51014         * users.txt: Add wget.
51015
51016 2007-10-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51017
51018         Fix linking of some unistdio tests on FreeBSD.
51019         * modules/unistdio/u16-vsnprintf-tests
51020         (test_u16_vsprintf1_LDADD): Add @LIBINTL@.
51021         * modules/unistdio/u16-vsprintf-tests
51022         (test_u16_vsnprintf1_LDADD): Likewise.
51023         * modules/unistdio/u32-vsnprintf-tests
51024         (test_u32_vsnprintf1_LDADD): Likewise.
51025         * modules/unistdio/u32-vsprintf-tests
51026         (test_u32_vsprintf1_LDADD): Likewise.
51027         * modules/unistdio/u8-vsnprintf-tests
51028         (test_u8_vsnprintf1_LDADD): Likewise.
51029         * modules/unistdio/u8-vsprintf-tests
51030         (test_u8_vsprintf1_LDADD): Likewise.
51031         * modules/unistdio/ulc-vsnprintf-tests
51032         (test_ulc_vsnprintf1_LDADD): Likewise.
51033         * modules/unistdio/ulc-vsprintf-tests
51034         (test_ulc_vsprintf1_LDADD): Likewise.
51035
51036         Fix linking of some uniconv tests on FreeBSD.
51037         * modules/uniconv/u16-conv-from-enc-tests
51038         (test_u16_conv_from_enc_LDADD): Link $(LDADD) before @LIBICONV@.
51039         * modules/uniconv/u16-conv-to-enc-tests
51040         (test_u16_conv_to_enc_LDADD): Likewise.
51041         * modules/uniconv/u16-strconv-from-enc-tests
51042         (test_u16_strconv_from_enc_LDADD): Likewise.
51043         * modules/uniconv/u16-strconv-to-enc-tests
51044         (test_u16_strconv_to_enc_LDADD): Likewise.
51045         * modules/uniconv/u32-conv-from-enc-tests
51046         (test_u32_conv_from_enc_LDADD): Likewise.
51047         * modules/uniconv/u32-conv-to-enc-tests
51048         (test_u32_conv_to_enc_LDADD): Likewise.
51049         * modules/uniconv/u32-strconv-from-enc-tests
51050         (test_u32_strconv_from_enc_LDADD): Likewise.
51051         * modules/uniconv/u32-strconv-to-enc-tests
51052         (test_u32_strconv_to_enc_LDADD): Likewise.
51053         * modules/uniconv/u8-conv-from-enc-tests
51054         (test_u8_conv_from_enc_LDADD): Likewise.
51055         * modules/uniconv/u8-conv-to-enc-tests
51056         (test_u8_conv_to_enc_LDADD): Likewise.
51057         * modules/uniconv/u8-strconv-from-enc-tests
51058         (test_u8_strconv_from_enc_LDADD): Likewise.
51059         * modules/uniconv/u8-strconv-to-enc-tests
51060         (test_u8_strconv_to_enc_LDADD): Likewise.
51061
51062 2007-10-22  Bruno Haible  <bruno@clisp.org>
51063
51064         * lib/stdint.in.h: Add check that intmax_t and uintmax_t have the same
51065         size.
51066
51067 2007-10-22  Eric Blake  <ebb9@byu.net>
51068
51069         Tweak x*printf documentation.
51070         * lib/xprintf.c (xprintf, xvprintf, xfprintf, xvfprintf): Adjust
51071         variable name and comments.
51072         Suggested by Bruno Haible.
51073
51074 2007-10-22  Bruno Haible  <bruno@clisp.org>
51075
51076         * lib/acl.c (copy_acl): Fix file name in comment.
51077
51078 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
51079
51080         Fix Tru64 problem with stdbool.h.
51081         * lib/stdbool.in.h (false, true):
51082         [! (defined __cplusplus || defined __BEOS__) && !defined __GNUC__]:
51083         Don't declare as an enum in this situation; it runs afoul of Tru64.
51084         Problem reported by Steven M. Schweda in
51085         <http://lists.gnu.org/archive/html/bug-autoconf/2007-10/msg00019.html>.
51086
51087 2007-10-22  Eric Blake  <ebb9@byu.net>
51088
51089         Also wrap vf?printf.
51090         * lib/xprintf.h (xvprintf, xvfprintf): New declarations.
51091         * lib/xprintf.c (xprintf, xfprintf): Work for C89.
51092         (xvprintf, xvfprintf): New functions.
51093
51094 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51095
51096         * modules/fstrcmp-tests (test_fstrcmp_LDADD): New, add
51097         @LIBINTL@ for FreeBSD 6.2, $(LIBTHREAD) for AIX 4.3.3.
51098
51099         * lib/uniconv/u16-conv-to-enc.c (U_MBLEN): Define.
51100         * lib/uniconv/u32-conv-to-enc.c (U_MBLEN): Likewise.
51101
51102 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
51103
51104         * lib/acl.c (copy_acl): Adjust to IRIX 6.5.  Problem reported
51105         by Bruno Haible.
51106
51107 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51108
51109         * lib/getloadavg.c
51110         [defined (__osf__) && (defined (__alpha) || defined (__alpha__)]:
51111         Undef `sys' after including sys/table.h, for Tru64 4.0D.
51112
51113         * tests/test-i-ring.c: Work for C89.
51114
51115 2007-10-22  Bruno Haible  <bruno@clisp.org>
51116
51117         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Use -1ull, not
51118         -1u, in preprocessor expression, so that we don't test for the bug
51119         in HP-UX 11.00 cpp.  Testing for this bug caused problems; see
51120         <http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00329.html>.
51121
51122 2007-10-22  Eric Blake  <ebb9@byu.net>
51123
51124         * tests/test-yesno.sh: Silence stderr during test.
51125
51126 2007-10-22  Simon Josefsson  <simon@josefsson.org>
51127
51128         * modules/crypto/gc-camellia: New file.
51129
51130         * m4/gc-camellia.m4: New file.
51131
51132         * lib/gc-libgcrypt.c (gc_cipher_open): Support Camellia.
51133
51134         * lib/gc.h (enum Gc_cipher): Add GC_CAMELLIA128, GC_CAMELLIA256.
51135
51136 2007-10-22  Simon Josefsson  <simon@josefsson.org>
51137
51138         * build-aux/maint.mk (gzip_rsyncable): Don't fail if gzip sends
51139         --help to stdout.  Reported by sms@antinode.org (Steven
51140         M. Schweda).
51141
51142 2007-10-22  Simon Josefsson  <simon@josefsson.org>
51143
51144         * users.txt: Fix link to libksba.
51145
51146 2007-10-21  Ben Pfaff  <blp@gnu.org>
51147
51148         * modules/roundf-tests: Add dependency on floorf, ceilf to allow
51149         round.c roundf implementation that depends on floorf and ceilf to
51150         be tested unconditionally.
51151
51152 2007-10-21  Ben Pfaff  <blp@gnu.org>
51153
51154         * m4/check-libm-func.m4: Removed.
51155         * m4/check-math-lib.m4: New file.
51156         * m4/round.m4: Rewrite to use gl_CHECK_MATH_LIB.
51157         * m4/roundf.m4: Ditto, and fix lack of HAVE_DECL_ROUNDF
51158         definition and lack of AC_LIBOBJ([roundf]).
51159         * m4/roundl.m4: Ditto, and similarly for roundl.
51160         * modules/round: Reference new m4 file.
51161         * modules/roundf: Ditto.
51162         * modules/roundl: Ditto.
51163         * tests/test-round2.c (main): Use ROUND instead of round.
51164         Bug report from Bruno Haible.
51165
51166 2007-10-21  Bruno Haible  <bruno@clisp.org>
51167
51168         * lib/printf-parse.c: Don't assume <stdint.h> exists in IN_LIBASPRINTF
51169         context.
51170
51171 2007-10-21  Bruno Haible  <bruno@clisp.org>
51172
51173         * tests/test-wcwidth.c (main): Allow negative result for some control
51174         characters.
51175
51176         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check also the width of U+200B.
51177         Needed on OSF/1 5.1.
51178
51179 2007-10-21  Bruno Haible  <bruno@clisp.org>
51180
51181         * tests/test-floorf1.c: Include isnanf.h.
51182         (main): Use isnanf() instead of isnan().
51183         * tests/test-ceilf1.c: Include isnanf.h.
51184         (main): Use isnanf() instead of isnan().
51185         * tests/test-truncf1.c: Include isnanf.h.
51186         (main): Use isnanf() instead of isnan().
51187         * tests/test-roundf1.c: Include isnanf.h.
51188         (main): Use isnanf() instead of isnan().
51189
51190 2007-10-21  Eric Blake  <ebb9@byu.net>
51191
51192         * users.txt: Update URL for m4.
51193
51194 2007-10-21  Bruno Haible  <bruno@clisp.org>
51195
51196         * users.txt: Add clisp. Update URLs to Simon Josefsson's projects.
51197
51198 2007-10-21  Bruno Haible  <bruno@clisp.org>
51199
51200         * gnulib-tool (func_create_megatestdir): Determine the cvsdate from
51201         Git's management files if the CVS files are not present.
51202
51203 2007-10-20  Bruno Haible  <bruno@clisp.org>
51204
51205         * lib/count-one-bits.h (COUNT_ONE_BITS): Use the builtin also for
51206         gcc-3.4.x.
51207
51208 2007-10-20  Ben Pfaff  <blp@gnu.org>
51209
51210         * lib/math.in.h: Declare round, roundf, roundl if we are providing
51211         implementations.
51212         * m4/math_h.m4: New substitutions for round, roundf, roundl modules.
51213         * lib/round.c: New file.
51214         * lib/roundf.c: New file.
51215         * lib/roundl.c: New file.
51216         * m4/round.m4: New file.
51217         * m4/roundf.m4: New file.
51218         * m4/roundl.m4: New file.
51219         * m4/check-libm-func-m4: New file.
51220         * modules/math: Replace round, roundf, roundl related @VARS@ in
51221         math.in.h.
51222         * modules/round: New file.
51223         * modules/round-tests: New file.
51224         * modules/roundf: New file.
51225         * modules/roundf-tests: New file.
51226         * modules/roundl: New file.
51227         * modules/roundl-tests: New file.
51228         * tests/test-round1.c: New file.
51229         * tests/test-round2.c: New file.
51230         * tests/test-roundf1.c: New file.
51231         * tests/test-roundf2.c: New file.
51232         * tests/test-roundl.c: New file.
51233         * doc/functions/round.texi: Mention round module.
51234         * doc/functions/roundf.texi: Mention roundf module.
51235         * doc/functions/roundl.texi: Mention roundl module.
51236         * MODULES.html.sh: Mention new modules.
51237         Thanks to Bruno Haible for suggestions.
51238
51239 2007-10-20  Jim Meyering  <meyering@redhat.com>
51240
51241         * lib/xprintf.c: Include <config.h> unconditionally.
51242
51243         Change xprintf's license to GPL.
51244         * modules/xprintf (License): s/LGPL/GPL/, since this module
51245         depends on modules (exit and exitfail) which are GPL.
51246         Suggestion from Bruno Haible.
51247
51248         xprintf fixes.
51249         * lib/xprintf.c (xprintf, xfprintf): Use va_end.
51250         Use a clearer diagnostic.
51251         Patch from Bruno Haible.
51252
51253 2007-10-20  Bruno Haible  <bruno@clisp.org>
51254
51255         * lib/vasnprintf.c (VASNPRINTF): Don't report overflow if the available
51256         length is INT_MAX and sizeof (DCHAR_T) > sizeof (TCHAR_T).
51257         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
51258
51259 2007-10-20  Bruno Haible  <bruno@clisp.org>
51260
51261         * tests/test-floorf2.c (correct_result_p): Don't rely on excess
51262         precision in the comparison result > x - 1 or similar.
51263         * tests/test-ceilf2.c (correct_result_p): Likewise.
51264         * tests/test-truncf2.c (correct_result_p): Likewise.
51265         * tests/test-trunc2.c (correct_result_p): Likewise.
51266         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
51267
51268 2007-10-20  Bruno Haible  <bruno@clisp.org>
51269
51270         * modules/ceil: New file.
51271         * m4/ceil.m4: New file.
51272         * doc/functions/ceil.texi: Mention the 'ceil' module.
51273
51274 2007-10-20  Bruno Haible  <bruno@clisp.org>
51275
51276         * modules/floor: New file.
51277         * m4/floor.m4: New file.
51278         * doc/functions/floor.texi: Mention the 'floor' module.
51279
51280 2007-10-20  Bruno Haible  <bruno@clisp.org>
51281
51282         * modules/ceilf-tests (Depends-on): Add fprintf-posix. Needed for use
51283         of %a.
51284         * modules/floorf-tests (Depends-on): Likewise.
51285         * modules/truncf-tests (Depends-on): Likewise.
51286         * modules/trunc-tests (Depends-on): Likewise.
51287         Reported by Ben Pfaff.
51288
51289 2007-10-19  Jim Meyering  <meyering@redhat.com>
51290
51291         * lib/xprintf.c (xprintf, xfprintf): Test err < 0, not just "err".
51292         Don't bother testing specific errno values.  Just test ferror.
51293
51294         New module: xprintf
51295         * modules/xprintf, lib/xprintf.c, lib/xprintf.h: New files.
51296
51297 2007-10-19  Bruno Haible  <bruno@clisp.org>
51298
51299         * modules/csharpexec (Makefile.am): Use @FOO@ syntax instead of $(FOO)
51300         syntax.
51301         * modules/javaexec (Makefile.am): Likewise.
51302         * modules/relocatable-prog (Makefile.am): Likewise.
51303         Suggested by Jim Meyering.
51304
51305 2007-10-18  Bruno Haible  <bruno@clisp.org>
51306
51307         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on glibc >= 2.3 systems.
51308         Reported by Jim Meyering.
51309
51310 2007-10-18  Eric Blake  <ebb9@byu.net>
51311
51312         * modules/filenamecat-tests (Makefile.am): Link against -lintl.
51313
51314 2007-10-18  Bruno Haible  <bruno@clisp.org>
51315
51316         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N, gl_SNPRINTF_DIRECTIVE_N): Put
51317         the format string into writable memory. Needed in Fortify conditions.
51318
51319 2007-10-18  Colin Watson <cjwatson@debian.org>  (tiny change)
51320             Bruno Haible  <bruno@clisp.org>
51321
51322         * lib/trim.c: Include config.h unconditionally. Include trim.h always.
51323         Include ctype.h always. Include stdlib.h, not mbuiter.h, for MB_CUR_MAX.
51324         * modules/trim (Depends-on): Add mbchar.
51325         (configure.ac): Add gl_FUNC_MBRTOWC.
51326         (Makefile.am): Augment lib_SOURCES.
51327
51328 2007-10-17  Paul Eggert  <eggert@cs.ucla.edu>
51329
51330         Modify glob.c to use fstatat and dirfd, to simplify it.
51331         Suggested by Eric Blake.
51332         * lib/glob.c (__fxstatat64) [!_LIBC]: New macro.
51333         Don't include <stdbool.h>; not used.
51334         (link_exists2_p, glob_in_dir) [!_LIBC]: No longer a special case.
51335         (link_exists_p): Simplify implementation, since we can now assume
51336         dirfd and fstatat.
51337         * modules/glob (Depends-on): Add dirfd, openat.  Remove stdbool.
51338
51339 2007-10-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51340
51341         * gnulib-tool (func_get_dependencies): Fix sed script to
51342         match only tests.
51343
51344 2007-10-17  Bruno Haible  <bruno@clisp.org>
51345
51346         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): On Cygwin, don't
51347         allow locale names without encoding suffix.
51348         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
51349         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
51350
51351 2007-10-16  Bruno Haible  <bruno@clisp.org>
51352
51353         * lib/getcwd.c (__getcwd): Define with explicit rpl_ prefix.
51354         * lib/getgroups.c (getgroups): Likewise.
51355         * lib/gettimeofday.c (localtime, gmtime, tzset): Likewise.
51356
51357 2007-10-16  Bruno Haible  <bruno@clisp.org>
51358
51359         * modules/absolute-header (License): Change from LGPL to LGPLv2+.
51360         * modules/malloc-posix (License): Likewise.
51361         * modules/realloc-posix (License): Likewise.
51362         * modules/calloc-posix (License): Likewise.
51363         * modules/intprops (License): Change from GPL to LGPL, with
51364         Paul Eggert's approval.
51365
51366 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
51367
51368         Merge glibc changes into lib/glob.c.
51369
51370         * lib/glob.c (glob_in_dir): Sync with glibc/posix/glob.c, dated
51371         2007-10-15 04:59:03 UTC.  Here are the changes:
51372
51373         2007-10-14  Ulrich Drepper  <drepper@redhat.com>
51374
51375         * lib/glob.c: Reimplement link_exists_p to use fstatat64.
51376
51377         * lib/glob.c: Add some branch prediction throughout.
51378
51379         2007-10-07  Ulrich Drepper  <drepper@redhat.com>
51380
51381         [BZ #5103]
51382         * lib/glob.c (glob): Recognize patterns starting \/.
51383
51384         2007-02-14  Jakub Jelinek  <jakub@redhat.com>
51385
51386         [BZ #3996]
51387         * lib/glob.c (attribute_hidden): Define if not defined.
51388         (glob): Unescape dirname, filename or username when needed and not
51389         GLOB_NOESCAPE.  Handle \/ correctly.  Handle GLOB_MARK if filename
51390         is NULL.  Handle unescaped [ in pattern without closing ].
51391         Don't pass GLOB_CHECK down to recursive glob for directories.
51392         (__glob_pattern_type): New function.
51393         (__glob_pattern_p): Implement using __glob_pattern_type.
51394         (glob_in_dir): Handle GLOB_NOCHECK patterns containing no meta
51395         characters and backslashes if not GLOB_NOESCAPE or unterminated [.
51396         Remove unreachable code.
51397
51398         2006-09-30  Ulrich Drepper  <drepper@redhat.com>
51399
51400         * lib/glob.c (glob_in_dir): Add some comments and asserts to
51401         explain why there are no leaks.
51402
51403         2006-09-25  Jakub Jelinek  <jakub@redhat.com>
51404
51405         [BZ #3253]
51406         * lib/glob.c (glob_in_dir): Don't alloca one struct globlink at a
51407         time, rather allocate increasingly bigger arrays of pointers, if
51408         possible with alloca, if too large with malloc.
51409
51410 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
51411
51412         Check for 64-bit int errors in HP-UX 10.20 preprocessor.
51413         Problem reported by H.Merijn Brand in
51414         <http://lists.gnu.org/archive/html/bug-tar/2007-10/msg00018.html>.
51415         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Check preprocessor too.
51416         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
51417
51418 2007-10-15  Bruno Haible  <bruno@clisp.org>
51419
51420         * lib/fchdir.c (close, open, closedir, opendir, dup, dup2): Define
51421         with explicit rpl_ prefix.
51422         * lib/fopen.c (fopen): Likewise.
51423         * lib/freopen.c (freopen): Likewise.
51424         * lib/iconv.c (iconv): Likewise.
51425         * lib/iconv_close.c (iconv_close): Likewise.
51426
51427 2007-10-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51428
51429         * m4/iconv_open (gl_FUNC_ICONV_OPEN_UTF): Fix cache variable name.
51430
51431 2007-10-15  Bruno Haible  <bruno@clisp.org>
51432
51433         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Use
51434         <stddef.h> instead of <stdlib.h> since we only need NULL.
51435         Reported by Ben Pfaff <blp@cs.stanford.edu>.
51436
51437 2007-10-15  Bruno Haible  <bruno@clisp.org>
51438
51439         * doc/gnulib-tool.texi (Initial import): Swap order of -I directives.
51440         Replace paragraph talking about LIBOBJS.
51441         Reported by Colin Watson <cjwatson@debian.org>.
51442
51443 2007-10-15  Bruno Haible  <bruno@clisp.org>
51444
51445         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Include
51446         <stdlib.h> before using NULL.
51447
51448 2007-10-15  Simon Josefsson  <simon@josefsson.org>
51449
51450         * m4/getaddrinfo.m4: Use NULL rather than 0 for pointers.
51451         Reported by Albert Chin <china@thewrittenword.com>.
51452
51453 2007-10-14  Bruno Haible  <bruno@clisp.org>
51454
51455         * modules/iconv_open-utf-tests: New file.
51456         * tests/test-iconv-utf.c: New file.
51457
51458         Enhance iconv_open to support UTF-16BE, UTF-16LE, UTF-32BE, UTF-32LE.
51459         * modules/iconv_open-utf: New file.
51460         * lib/iconv.in.h (_ICONV_UTF8_UTF*, _ICONV_UTF*_UTF8): New macros.
51461         (iconv, iconv_close): New declarations.
51462         * lib/iconv_open.c: Include c-strcase.h. Don't require ICONV_FLAVOR to
51463         be defined.
51464         (iconv_open): Add special handling of conversion between UTF-8 and
51465         UTF-{16,32}{BE,LE}.
51466         * lib/iconv.c: New file, incorporating code from GNU libiconv 1.11.
51467         * lib/iconv_close.c: New file.
51468         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): New macro, extracted from
51469         gl_FUNC_ICONV_OPEN.
51470         (gl_FUNC_ICONV_OPEN): Use it.
51471         (gl_FUNC_ICONV_OPEN_UTF): New macro.
51472         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize also REPLACE_ICONV
51473         and REPLACE_ICONV_UTF.
51474         * modules/iconv_open (Depends-on): Add c-strcase.
51475         (Makefile.am): Substitute also REPLACE_ICONV, REPLACE_ICONV_UTF,
51476         ICONV_CONST.
51477         * doc/functions/iconv_open.texi: Mention the iconv_open-utf module.
51478
51479 2007-10-13  Albert Chin  <china@thewrittenword.com>
51480             Bruno Haible  <bruno@clisp.org>
51481
51482         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Perform the test for getaddrinfo
51483         through a link check that includes <netdb.h>. Needed for OSF/1 5.1.
51484
51485 2007-10-13  Bruno Haible  <bruno@clisp.org>
51486
51487         * lib/argp-fmtstream.h (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is
51488         defined, use the ISO C99 inline semantics.
51489         * lib/argp.h (ARGP_EI): Likewise.
51490
51491 2007-10-13  Bruno Haible  <bruno@clisp.org>
51492
51493         Handle 'inline' change in gcc 4.3.0.
51494         * lib/argp-fmtstream.h (argp_fmtstream_putc, argp_fmtstream_puts,
51495         argp_fmtstream_write, argp_fmtstream_set_lmargin,
51496         argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin,
51497         argp_fmtstream_point): Disable 'extern' declaration if the function
51498         definition is going to be provided inline.
51499         (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is defined, use the GNU C inline
51500         semantics, not the ISO C99 inline semantics.
51501         * lib/argp.h (argp_usage, _option_is_short, _option_is_end): Disable
51502         'extern' declaration if the function definition is going to be provided
51503         inline.
51504         (ARGP_EI): Don't assume GNU C. If __GNUC_STDC_INLINE__ is defined, use
51505         the GNU C inline semantics, not the ISO C99 inline semantics. With
51506         GCC 4.2, avoid a warning.
51507
51508 2007-10-13  Bruno Haible  <bruno@clisp.org>
51509
51510         * lib/freading.h (freading): Enable the use of __freading for
51511         glibc >= 2.7.
51512         * lib/freading.c (freading): Likewise.
51513
51514 2007-10-12  Paul Eggert  <eggert@cs.ucla.edu>
51515
51516         * lib/argp-fmtstream.h (ARGP_FS_EI): Work around GCC 4.2.1 diagnostic
51517         "warning: C99 inline functions are not supported; using GNU89".
51518
51519 2007-10-12  Bruno Haible  <bruno@clisp.org>
51520
51521         * lib/ceil.c (FUNC): Avoid rounding errors for values near a power
51522         of 2.
51523         * tests/test-ceilf2.c: New file.
51524         * modules/ceilf-tests: (Files, Depends-on, Makefile.am): Add new test.
51525
51526         * tests/test-ceilf1.c: Renamed from tests/test-ceilf.c.
51527         * modules/ceilf-tests: Update.
51528
51529 2007-10-12  Bruno Haible  <bruno@clisp.org>
51530
51531         * lib/floor.c (FUNC): Avoid rounding errors for values near a power
51532         of 2.
51533         * tests/test-floorf2.c: New file.
51534         * modules/floorf-tests: (Files, Depends-on, Makefile.am): Add new test.
51535
51536         * tests/test-floorf1.c: Renamed from tests/test-floorf.c.
51537         * modules/floorf-tests: Update.
51538
51539 2007-10-12  Bruno Haible  <bruno@clisp.org>
51540
51541         * tests/test-trunc2.c: New file.
51542         * modules/trunc-tests: (Files, Depends-on, Makefile.am): Add new test.
51543
51544         * tests/test-trunc1.c: Renamed from tests/test-trunc.c.
51545         * modules/trunc-tests: Update.
51546
51547 2007-10-12  Bruno Haible  <bruno@clisp.org>
51548
51549         * lib/trunc.c (FUNC): Avoid rounding errors for values near a power
51550         of 2.
51551         * tests/test-truncf2.c: New file.
51552         * modules/truncf-tests: (Files, Depends-on, Makefile.am): Add new test.
51553
51554         * tests/test-truncf1.c: Renamed from tests/test-truncf.c.
51555         * modules/truncf-tests: Update.
51556
51557 2007-10-11  Eric Blake  <ebb9@byu.net>
51558
51559         Don't claim strerror is broken on Interix.
51560         * doc/functions/strerror.texi (strerror): Known broken systems are
51561         now Solaris 8, and not Interix.
51562         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): No longer filter out
51563         Interix on cross-compile.
51564         Reported by Martin Koeppe in
51565         http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00005.html.
51566
51567 2007-10-11  Bruno Haible  <bruno@clisp.org>
51568
51569         * modules/i-ring-tests: New file.
51570         * tests/test-i-ring.c: Renamed from lib/i-ring-test.c. Use ASSERT
51571         instead of assert.
51572
51573 2007-10-11  Bruno Haible  <bruno@clisp.org>
51574
51575         * modules/filenamecat-tests: New file.
51576         * tests/test-filenamecat.c: New file, extracted from lib/filenamecat.c.
51577         * lib/filenamecat.c: Remove test code.
51578
51579 2007-10-11  Paul Eggert  <eggert@cs.ucla.edu>
51580
51581         Simplify and modernize strerror substitute, partly to fix Solaris 8 bug.
51582
51583         * lib/strerror.c: Include <string.h> always, to test interface,
51584         and to remove the need for the dummy.
51585         Include intprops.h to compute width instead of doing it ourselves
51586         and missing a CHAR_BIT declaration, which broke tar 1.19 on Solaris 8.
51587         (strerror): Define it to return NULL if there's no system strerror.
51588         (rpl_strerror): Use INT_STRLEN_BOUND to compute bound.
51589         Omit !HAVE_STRERROR code.  We don't need to worry about supporting
51590         ancient pre-strerror Unix systems well any more.  Saying "unknown
51591         system error" is enough.
51592         * lib/string.in.h (strerror): Simplify the ifdef to reflect the
51593         simpler strerror.c implementation.
51594         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE, gl_PREREQ_STDERROR):
51595         Simplify the tests to reflect the simpler strerror implementation.
51596         * modules/strerror (Depends-on): Add intprops.
51597
51598 2007-10-09  Eric Blake  <ebb9@byu.net>
51599
51600         Silence test-fpending.
51601         * modules/fpending-tests (Files): Add wrapper script.
51602         * tests/test-fpending.sh: New file.
51603
51604 2007-10-09  Bruno Haible  <bruno@clisp.org>
51605
51606         * MODULES.html.sh (func_module): Don't create a hyperlink for
51607         function names like 'printf_frexp'.
51608         (Misc): Add crc, memxor.
51609         (Characteristics of floating types): New section.
51610         (Mathematics): Add ceilf, ceill, floorf, floorl, frexpl-nolibm,
51611         isnanf-nolibm, signbit, trunc, truncf, truncl.
51612         (Enhancements for ISO C 99 functions): New subsection Input/output.
51613         (Support for systems lacking POSIX:2001): Add arpa_inet, calloc-posix,
51614         fcntl, fopen, freopen, fseek, fseeko, ftell, ftello, iconv_open,
51615         locale, malloc-posix, netinet_in, open, realloc-posix, signal, sleep.
51616         (Compatibility checks for POSIX:2001 functions): Add clock-time.
51617         (Enhancements for POSIX:2001 functions): Add chdir-long.
51618         (File system functions): Add areadlink, chdir-safer, read-file.
51619         Remove cycle-check.
51620         (File system as inode set): New section.
51621         (Date and time): Add gethrxtime.
51622         (Multithreading): Add openmp.
51623         (Internationalization functions): Add localename.
51624         (Unicode string functions): Add unistr/u*-mbsnlen.
51625         (Support for maintaining and releasing projects): Add git-version-gen.
51626         (Lone files): Remove directories.
51627
51628 2007-10-08  Ben Pfaff  <blp@gnu.org>
51629
51630         * lib/xmalloca.h: Fix typo in comment.
51631
51632 2007-10-08  Paul Eggert  <eggert@cs.ucla.edu>
51633
51634         * lib/xnanosleep.c (xnanosleep): Don't assume GCC 4.3.0 behavior
51635         when avoiding problems with integer overflow.  Use a portable test
51636         instead.
51637
51638 2007-10-08  Simon Josefsson  <simon@josefsson.org>
51639
51640         * modules/dummy (License): Change to LGPLv2+.
51641         * modules/float (License): Likewise
51642         * modules/realloc (License): Likewise
51643         * modules/stdlib (License): Likewise
51644
51645 2007-10-07  Bruno Haible  <bruno@clisp.org>
51646
51647         * trunc.c (TWO_MANT_DIG): Change type to DOUBLE.
51648         * floor.c (TWO_MANT_DIG): Likewise.
51649         * ceil.c (TWO_MANT_DIG): Likewise.
51650         Reported by Ben Pfaff.
51651
51652 2007-10-07  Bruno Haible  <bruno@clisp.org>
51653
51654         Avoid gcc warnings "declaration of 'exp' shadows a global declaration".
51655         * lib/math.in.h (frexp, frexpl): Change parameter name to 'expptr'.
51656         * lib/frexp.c (FUNC): Likewise.
51657         * lib/printf-frexp.h (printf_frexp): Likewise.
51658         * lib/printf-frexpl.h (printf_frexpl): Likewise.
51659         * lib/printf-frexp.c (FUNC): Likewise.
51660         Suggested by Jim Meyering.
51661
51662 2007-10-07  Jim Meyering  <meyering@redhat.com>
51663
51664         Make xnanosleep's integer overflow test more robust.
51665         * lib/xnanosleep.c (xnanosleep): Declare a temporary to be "volatile",
51666         so that gcc-4.3.0 doesn't optimize away this test for overflow.
51667
51668 2007-10-07  Bruno Haible  <bruno@clisp.org>
51669
51670         * NEWS: Mention the license change.
51671
51672         * doc/gnulib-intro.texi (Copyright): Update the meaning of the license
51673         abbreviations in the modules files.
51674
51675         Change copyright notice from GPLv2+ to GPLv3+.
51676         * README: Change copyright notice.
51677         * MODULES.html.sh: Likewise.
51678         * build-aux/bootstrap.conf: Likewise.
51679         * build-aux/config.libpath: Likewise.
51680         * build-aux/csharpcomp.sh.in: Likewise.
51681         * build-aux/csharpexec.sh.in: Likewise.
51682         * build-aux/install-reloc: Likewise.
51683         * build-aux/javacomp.sh.in: Likewise.
51684         * build-aux/javaexec.sh.in: Likewise.
51685         * build-aux/ldd.sh.in: Likewise.
51686         * build-aux/reloc-ldflags: Likewise.
51687         * build-aux/relocatable.sh.in: Likewise.
51688         * build-aux/x-to-1.in: Likewise.
51689         * check-module: Likewise.
51690         * config/srclistvars.sh: Likewise.
51691         * gnulib-tool: Likewise.
51692         * lib/acl-internal.h: Likewise.
51693         * lib/acl.c: Likewise.
51694         * lib/acl.h: Likewise.
51695         * lib/acl_entries.c: Likewise.
51696         * lib/areadlink-with-size.c: Likewise.
51697         * lib/areadlink.c: Likewise.
51698         * lib/areadlink.h: Likewise.
51699         * lib/argmatch.c: Likewise.
51700         * lib/argmatch.h: Likewise.
51701         * lib/argp-ba.c: Likewise.
51702         * lib/argp-eexst.c: Likewise.
51703         * lib/argp-fmtstream.c: Likewise.
51704         * lib/argp-fmtstream.h: Likewise.
51705         * lib/argp-fs-xinl.c: Likewise.
51706         * lib/argp-help.c: Likewise.
51707         * lib/argp-namefrob.h: Likewise.
51708         * lib/argp-parse.c: Likewise.
51709         * lib/argp-pin.c: Likewise.
51710         * lib/argp-pv.c: Likewise.
51711         * lib/argp-pvh.c: Likewise.
51712         * lib/argp-xinl.c: Likewise.
51713         * lib/argp.h: Likewise.
51714         * lib/at-func.c: Likewise.
51715         * lib/atanl.c: Likewise.
51716         * lib/backupfile.c: Likewise.
51717         * lib/backupfile.h: Likewise.
51718         * lib/basename.c: Likewise.
51719         * lib/binary-io.h: Likewise.
51720         * lib/byteswap.in.h: Likewise.
51721         * lib/c-stack.c: Likewise.
51722         * lib/c-stack.h: Likewise.
51723         * lib/c-strcasestr.c: Likewise.
51724         * lib/c-strcasestr.h: Likewise.
51725         * lib/c-strstr.c: Likewise.
51726         * lib/c-strstr.h: Likewise.
51727         * lib/c-strtod.c: Likewise.
51728         * lib/calloc.c: Likewise.
51729         * lib/canon-host.c: Likewise.
51730         * lib/canon-host.h: Likewise.
51731         * lib/canonicalize-lgpl.c: Likewise.
51732         * lib/canonicalize.c: Likewise.
51733         * lib/canonicalize.h: Likewise.
51734         * lib/ceil.c: Likewise.
51735         * lib/ceilf.c: Likewise.
51736         * lib/ceill.c: Likewise.
51737         * lib/chdir-long.c: Likewise.
51738         * lib/chdir-long.h: Likewise.
51739         * lib/chdir-safer.c: Likewise.
51740         * lib/chdir-safer.h: Likewise.
51741         * lib/chown.c: Likewise.
51742         * lib/classpath.c: Likewise.
51743         * lib/classpath.h: Likewise.
51744         * lib/clean-temp.c: Likewise.
51745         * lib/clean-temp.h: Likewise.
51746         * lib/cloexec.c: Likewise.
51747         * lib/close-stream.c: Likewise.
51748         * lib/closein.c: Likewise.
51749         * lib/closein.h: Likewise.
51750         * lib/closeout.c: Likewise.
51751         * lib/closeout.h: Likewise.
51752         * lib/concat-filename.c: Likewise.
51753         * lib/copy-file.c: Likewise.
51754         * lib/copy-file.h: Likewise.
51755         * lib/count-one-bits.h: Likewise.
51756         * lib/crc.c: Likewise.
51757         * lib/crc.h: Likewise.
51758         * lib/creat-safer.c: Likewise.
51759         * lib/csharpcomp.c: Likewise.
51760         * lib/csharpcomp.h: Likewise.
51761         * lib/csharpexec.c: Likewise.
51762         * lib/csharpexec.h: Likewise.
51763         * lib/cycle-check.c: Likewise.
51764         * lib/cycle-check.h: Likewise.
51765         * lib/diacrit.c: Likewise.
51766         * lib/diacrit.h: Likewise.
51767         * lib/diffseq.h: Likewise.
51768         * lib/dirchownmod.c: Likewise.
51769         * lib/dirent.in.h: Likewise.
51770         * lib/dirfd.c: Likewise.
51771         * lib/dirfd.h: Likewise.
51772         * lib/dirname.c: Likewise.
51773         * lib/dirname.h: Likewise.
51774         * lib/dummy.c: Likewise.
51775         * lib/dup-safer.c: Likewise.
51776         * lib/dup2.c: Likewise.
51777         * lib/eealloc.h: Likewise.
51778         * lib/error.c: Likewise.
51779         * lib/error.h: Likewise.
51780         * lib/euidaccess.c: Likewise.
51781         * lib/exclude.c: Likewise.
51782         * lib/exclude.h: Likewise.
51783         * lib/execute.c: Likewise.
51784         * lib/execute.h: Likewise.
51785         * lib/exitfail.c: Likewise.
51786         * lib/exitfail.h: Likewise.
51787         * lib/expl.c: Likewise.
51788         * lib/fatal-signal.c: Likewise.
51789         * lib/fatal-signal.h: Likewise.
51790         * lib/fbufmode.c: Likewise.
51791         * lib/fbufmode.h: Likewise.
51792         * lib/fchdir.c: Likewise.
51793         * lib/fchmodat.c: Likewise.
51794         * lib/fchownat.c: Likewise.
51795         * lib/fcntl--.h: Likewise.
51796         * lib/fcntl-safer.h: Likewise.
51797         * lib/fcntl.in.h: Likewise.
51798         * lib/fd-safer.c: Likewise.
51799         * lib/fflush.c: Likewise.
51800         * lib/file-has-acl.c: Likewise.
51801         * lib/file-set.c: Likewise.
51802         * lib/file-type.c: Likewise.
51803         * lib/file-type.h: Likewise.
51804         * lib/fileblocks.c: Likewise.
51805         * lib/filemode.c: Likewise.
51806         * lib/filemode.h: Likewise.
51807         * lib/filename.h: Likewise.
51808         * lib/filenamecat.c: Likewise.
51809         * lib/filenamecat.h: Likewise.
51810         * lib/findprog.c: Likewise.
51811         * lib/findprog.h: Likewise.
51812         * lib/float.in.h: Likewise.
51813         * lib/floor.c: Likewise.
51814         * lib/floorf.c: Likewise.
51815         * lib/floorl.c: Likewise.
51816         * lib/fopen-safer.c: Likewise.
51817         * lib/fopen.c: Likewise.
51818         * lib/fpending.c: Likewise.
51819         * lib/fpending.h: Likewise.
51820         * lib/fprintf.c: Likewise.
51821         * lib/fprintftime.h: Likewise.
51822         * lib/fpucw.h: Likewise.
51823         * lib/fpurge.c: Likewise.
51824         * lib/fpurge.h: Likewise.
51825         * lib/freadable.c: Likewise.
51826         * lib/freadable.h: Likewise.
51827         * lib/freadahead.c: Likewise.
51828         * lib/freadahead.h: Likewise.
51829         * lib/freading.c: Likewise.
51830         * lib/freading.h: Likewise.
51831         * lib/free.c: Likewise.
51832         * lib/freopen.c: Likewise.
51833         * lib/frexp.c: Likewise.
51834         * lib/frexpl.c: Likewise.
51835         * lib/fseek.c: Likewise.
51836         * lib/fseterr.c: Likewise.
51837         * lib/fseterr.h: Likewise.
51838         * lib/fstatat.c: Likewise.
51839         * lib/fstrcmp.c: Likewise.
51840         * lib/fstrcmp.h: Likewise.
51841         * lib/fsusage.c: Likewise.
51842         * lib/fsusage.h: Likewise.
51843         * lib/ftell.c: Likewise.
51844         * lib/ftello.c: Likewise.
51845         * lib/fts-cycle.c: Likewise.
51846         * lib/fts.c: Likewise.
51847         * lib/fts_.h: Likewise.
51848         * lib/full-read.c: Likewise.
51849         * lib/full-read.h: Likewise.
51850         * lib/full-write.c: Likewise.
51851         * lib/full-write.h: Likewise.
51852         * lib/fwritable.c: Likewise.
51853         * lib/fwritable.h: Likewise.
51854         * lib/fwriteerror.c: Likewise.
51855         * lib/fwriteerror.h: Likewise.
51856         * lib/fwriting.c: Likewise.
51857         * lib/fwriting.h: Likewise.
51858         * lib/gcd.c: Likewise.
51859         * lib/gcd.h: Likewise.
51860         * lib/getcwd.c: Likewise.
51861         * lib/getdate.h: Likewise.
51862         * lib/getdate.y: Likewise.
51863         * lib/getdomainname.c: Likewise.
51864         * lib/getdomainname.h: Likewise.
51865         * lib/getgroups.c: Likewise.
51866         * lib/gethostname.c: Likewise.
51867         * lib/gethrxtime.c: Likewise.
51868         * lib/gethrxtime.h: Likewise.
51869         * lib/getloadavg.c: Likewise.
51870         * lib/getndelim2.c: Likewise.
51871         * lib/getndelim2.h: Likewise.
51872         * lib/getnline.c: Likewise.
51873         * lib/getnline.h: Likewise.
51874         * lib/getopt.c: Likewise.
51875         * lib/getopt.in.h: Likewise.
51876         * lib/getopt1.c: Likewise.
51877         * lib/getopt_int.h: Likewise.
51878         * lib/getpagesize.h: Likewise.
51879         * lib/getsubopt.c: Likewise.
51880         * lib/gettime.c: Likewise.
51881         * lib/getugroups.c: Likewise.
51882         * lib/getugroups.h: Likewise.
51883         * lib/getusershell.c: Likewise.
51884         * lib/gl_anyavltree_list1.h: Likewise.
51885         * lib/gl_anyavltree_list2.h: Likewise.
51886         * lib/gl_anyhash_list1.h: Likewise.
51887         * lib/gl_anyhash_list2.h: Likewise.
51888         * lib/gl_anylinked_list1.h: Likewise.
51889         * lib/gl_anylinked_list2.h: Likewise.
51890         * lib/gl_anyrbtree_list1.h: Likewise.
51891         * lib/gl_anyrbtree_list2.h: Likewise.
51892         * lib/gl_anytree_list1.h: Likewise.
51893         * lib/gl_anytree_list2.h: Likewise.
51894         * lib/gl_anytree_oset.h: Likewise.
51895         * lib/gl_anytreehash_list1.h: Likewise.
51896         * lib/gl_anytreehash_list2.h: Likewise.
51897         * lib/gl_array_list.c: Likewise.
51898         * lib/gl_array_list.h: Likewise.
51899         * lib/gl_array_oset.c: Likewise.
51900         * lib/gl_array_oset.h: Likewise.
51901         * lib/gl_avltree_list.c: Likewise.
51902         * lib/gl_avltree_list.h: Likewise.
51903         * lib/gl_avltree_oset.c: Likewise.
51904         * lib/gl_avltree_oset.h: Likewise.
51905         * lib/gl_avltreehash_list.c: Likewise.
51906         * lib/gl_avltreehash_list.h: Likewise.
51907         * lib/gl_carray_list.c: Likewise.
51908         * lib/gl_carray_list.h: Likewise.
51909         * lib/gl_linked_list.c: Likewise.
51910         * lib/gl_linked_list.h: Likewise.
51911         * lib/gl_linkedhash_list.c: Likewise.
51912         * lib/gl_linkedhash_list.h: Likewise.
51913         * lib/gl_list.c: Likewise.
51914         * lib/gl_list.h: Likewise.
51915         * lib/gl_oset.c: Likewise.
51916         * lib/gl_oset.h: Likewise.
51917         * lib/gl_rbtree_list.c: Likewise.
51918         * lib/gl_rbtree_list.h: Likewise.
51919         * lib/gl_rbtree_oset.c: Likewise.
51920         * lib/gl_rbtree_oset.h: Likewise.
51921         * lib/gl_rbtreehash_list.c: Likewise.
51922         * lib/gl_rbtreehash_list.h: Likewise.
51923         * lib/gl_sublist.c: Likewise.
51924         * lib/gl_sublist.h: Likewise.
51925         * lib/group-member.c: Likewise.
51926         * lib/group-member.h: Likewise.
51927         * lib/hard-locale.c: Likewise.
51928         * lib/hard-locale.h: Likewise.
51929         * lib/hash-pjw.c: Likewise.
51930         * lib/hash-pjw.h: Likewise.
51931         * lib/hash-triple.c: Likewise.
51932         * lib/hash.c: Likewise.
51933         * lib/hash.h: Likewise.
51934         * lib/human.c: Likewise.
51935         * lib/human.h: Likewise.
51936         * lib/i-ring.c: Likewise.
51937         * lib/i-ring.h: Likewise.
51938         * lib/idcache.c: Likewise.
51939         * lib/imaxabs.c: Likewise.
51940         * lib/imaxdiv.c: Likewise.
51941         * lib/inet_pton.c: Likewise.
51942         * lib/inet_pton.h: Likewise.
51943         * lib/intprops.h: Likewise.
51944         * lib/inttostr.c: Likewise.
51945         * lib/inttostr.h: Likewise.
51946         * lib/inttypes.in.h: Likewise.
51947         * lib/isapipe.c: Likewise.
51948         * lib/isdir.c: Likewise.
51949         * lib/isnan.c: Likewise.
51950         * lib/isnan.h: Likewise.
51951         * lib/isnanf.c: Likewise.
51952         * lib/isnanf.h: Likewise.
51953         * lib/isnanl-nolibm.h: Likewise.
51954         * lib/isnanl.c: Likewise.
51955         * lib/isnanl.h: Likewise.
51956         * lib/javacomp.c: Likewise.
51957         * lib/javacomp.h: Likewise.
51958         * lib/javaexec.c: Likewise.
51959         * lib/javaexec.h: Likewise.
51960         * lib/javaversion.c: Likewise.
51961         * lib/javaversion.h: Likewise.
51962         * lib/javaversion.java: Likewise.
51963         * lib/lbrkprop.h: Likewise.
51964         * lib/lchmod.h: Likewise.
51965         * lib/lchown.c: Likewise.
51966         * lib/ldexpl.c: Likewise.
51967         * lib/linebreak.c: Likewise.
51968         * lib/linebreak.h: Likewise.
51969         * lib/linebuffer.c: Likewise.
51970         * lib/linebuffer.h: Likewise.
51971         * lib/locale.in.h: Likewise.
51972         * lib/logl.c: Likewise.
51973         * lib/long-options.c: Likewise.
51974         * lib/long-options.h: Likewise.
51975         * lib/lstat.c: Likewise.
51976         * lib/lstat.h: Likewise.
51977         * lib/math.in.h: Likewise.
51978         * lib/mbchar.c: Likewise.
51979         * lib/mbchar.h: Likewise.
51980         * lib/mbfile.h: Likewise.
51981         * lib/mbiter.h: Likewise.
51982         * lib/mbscasecmp.c: Likewise.
51983         * lib/mbscasestr.c: Likewise.
51984         * lib/mbschr.c: Likewise.
51985         * lib/mbscspn.c: Likewise.
51986         * lib/mbslen.c: Likewise.
51987         * lib/mbsncasecmp.c: Likewise.
51988         * lib/mbsnlen.c: Likewise.
51989         * lib/mbspbrk.c: Likewise.
51990         * lib/mbspcasecmp.c: Likewise.
51991         * lib/mbsrchr.c: Likewise.
51992         * lib/mbssep.c: Likewise.
51993         * lib/mbsspn.c: Likewise.
51994         * lib/mbsstr.c: Likewise.
51995         * lib/mbstok_r.c: Likewise.
51996         * lib/mbswidth.c: Likewise.
51997         * lib/mbswidth.h: Likewise.
51998         * lib/mbuiter.h: Likewise.
51999         * lib/memcasecmp.c: Likewise.
52000         * lib/memcasecmp.h: Likewise.
52001         * lib/memchr.c: Likewise.
52002         * lib/memcmp.c: Likewise.
52003         * lib/memcoll.c: Likewise.
52004         * lib/memcoll.h: Likewise.
52005         * lib/memcpy.c: Likewise.
52006         * lib/memrchr.c: Likewise.
52007         * lib/mkancesdirs.c: Likewise.
52008         * lib/mkdir-p.c: Likewise.
52009         * lib/mkdir-p.h: Likewise.
52010         * lib/mkdir.c: Likewise.
52011         * lib/mkdirat.c: Likewise.
52012         * lib/mkdtemp.c: Likewise.
52013         * lib/mkstemp-safer.c: Likewise.
52014         * lib/mkstemp.c: Likewise.
52015         * lib/modechange.c: Likewise.
52016         * lib/modechange.h: Likewise.
52017         * lib/mountlist.c: Likewise.
52018         * lib/mountlist.h: Likewise.
52019         * lib/mpsort.c: Likewise.
52020         * lib/nanosleep.c: Likewise.
52021         * lib/obstack.c: Likewise.
52022         * lib/obstack.h: Likewise.
52023         * lib/open-safer.c: Likewise.
52024         * lib/open.c: Likewise.
52025         * lib/openat-die.c: Likewise.
52026         * lib/openat-priv.h: Likewise.
52027         * lib/openat-proc.c: Likewise.
52028         * lib/openat.c: Likewise.
52029         * lib/openat.h: Likewise.
52030         * lib/pagealign_alloc.c: Likewise.
52031         * lib/pagealign_alloc.h: Likewise.
52032         * lib/physmem.c: Likewise.
52033         * lib/physmem.h: Likewise.
52034         * lib/pipe-safer.c: Likewise.
52035         * lib/pipe.c: Likewise.
52036         * lib/pipe.h: Likewise.
52037         * lib/posixtm.c: Likewise.
52038         * lib/posixtm.h: Likewise.
52039         * lib/posixver.c: Likewise.
52040         * lib/printf-frexp.c: Likewise.
52041         * lib/printf-frexp.h: Likewise.
52042         * lib/printf-frexpl.c: Likewise.
52043         * lib/printf-frexpl.h: Likewise.
52044         * lib/printf.c: Likewise.
52045         * lib/progname.c: Likewise.
52046         * lib/progname.h: Likewise.
52047         * lib/progreloc.c: Likewise.
52048         * lib/putenv.c: Likewise.
52049         * lib/quote.c: Likewise.
52050         * lib/quote.h: Likewise.
52051         * lib/quotearg.c: Likewise.
52052         * lib/quotearg.h: Likewise.
52053         * lib/raise.c: Likewise.
52054         * lib/readline.c: Likewise.
52055         * lib/readline.h: Likewise.
52056         * lib/readlink.c: Likewise.
52057         * lib/readtokens.c: Likewise.
52058         * lib/readtokens.h: Likewise.
52059         * lib/readtokens0.c: Likewise.
52060         * lib/readtokens0.h: Likewise.
52061         * lib/readutmp.c: Likewise.
52062         * lib/readutmp.h: Likewise.
52063         * lib/realloc.c: Likewise.
52064         * lib/relocwrapper.c: Likewise.
52065         * lib/rename-dest-slash.c: Likewise.
52066         * lib/rename.c: Likewise.
52067         * lib/rmdir.c: Likewise.
52068         * lib/rpmatch.c: Likewise.
52069         * lib/safe-read.c: Likewise.
52070         * lib/safe-read.h: Likewise.
52071         * lib/safe-write.c: Likewise.
52072         * lib/safe-write.h: Likewise.
52073         * lib/same-inode.h: Likewise.
52074         * lib/same.c: Likewise.
52075         * lib/same.h: Likewise.
52076         * lib/save-cwd.c: Likewise.
52077         * lib/save-cwd.h: Likewise.
52078         * lib/savedir.c: Likewise.
52079         * lib/savedir.h: Likewise.
52080         * lib/savewd.c: Likewise.
52081         * lib/savewd.h: Likewise.
52082         * lib/search.in.h: Likewise.
52083         * lib/setenv.c: Likewise.
52084         * lib/setenv.h: Likewise.
52085         * lib/settime.c: Likewise.
52086         * lib/sh-quote.c: Likewise.
52087         * lib/sh-quote.h: Likewise.
52088         * lib/sig2str.c: Likewise.
52089         * lib/sig2str.h: Likewise.
52090         * lib/signal.in.h: Likewise.
52091         * lib/signbitd.c: Likewise.
52092         * lib/signbitf.c: Likewise.
52093         * lib/signbitl.c: Likewise.
52094         * lib/sigprocmask.c: Likewise.
52095         * lib/sincosl.c: Likewise.
52096         * lib/sleep.c: Likewise.
52097         * lib/sprintf.c: Likewise.
52098         * lib/sqrtl.c: Likewise.
52099         * lib/stat-time.h: Likewise.
52100         * lib/stdio--.h: Likewise.
52101         * lib/stdio-safer.h: Likewise.
52102         * lib/stdlib--.h: Likewise.
52103         * lib/stdlib-safer.h: Likewise.
52104         * lib/stdlib.in.h: Likewise.
52105         * lib/stpcpy.c: Likewise.
52106         * lib/stpncpy.c: Likewise.
52107         * lib/strchrnul.c: Likewise.
52108         * lib/strcspn.c: Likewise.
52109         * lib/strerror.c: Likewise.
52110         * lib/strftime.c: Likewise.
52111         * lib/strftime.h: Likewise.
52112         * lib/striconveh.c: Likewise.
52113         * lib/striconveh.h: Likewise.
52114         * lib/striconveha.c: Likewise.
52115         * lib/striconveha.h: Likewise.
52116         * lib/stripslash.c: Likewise.
52117         * lib/strnlen1.c: Likewise.
52118         * lib/strnlen1.h: Likewise.
52119         * lib/strtod.c: Likewise.
52120         * lib/strtoimax.c: Likewise.
52121         * lib/strtok_r.c: Likewise.
52122         * lib/strtol.c: Likewise.
52123         * lib/strtoll.c: Likewise.
52124         * lib/strtoul.c: Likewise.
52125         * lib/strtoull.c: Likewise.
52126         * lib/sysexits.in.h: Likewise.
52127         * lib/tempname.c: Likewise.
52128         * lib/tempname.h: Likewise.
52129         * lib/timespec.h: Likewise.
52130         * lib/tls.c: Likewise.
52131         * lib/tls.h: Likewise.
52132         * lib/tmpdir.c: Likewise.
52133         * lib/tmpdir.h: Likewise.
52134         * lib/tmpfile-safer.c: Likewise.
52135         * lib/tmpfile.c: Likewise.
52136         * lib/trigl.c: Likewise.
52137         * lib/trigl.h: Likewise.
52138         * lib/trim.c: Likewise.
52139         * lib/trim.h: Likewise.
52140         * lib/trunc.c: Likewise.
52141         * lib/truncf.c: Likewise.
52142         * lib/truncl.c: Likewise.
52143         * lib/tsearch.c: Likewise.
52144         * lib/unicodeio.c: Likewise.
52145         * lib/unicodeio.h: Likewise.
52146         * lib/unistd--.h: Likewise.
52147         * lib/unistd-safer.h: Likewise.
52148         * lib/unistdio/ulc-fprintf.c: Likewise.
52149         * lib/unistdio/ulc-vfprintf.c: Likewise.
52150         * lib/unlinkdir.c: Likewise.
52151         * lib/unlinkdir.h: Likewise.
52152         * lib/unlocked-io.h: Likewise.
52153         * lib/unsetenv.c: Likewise.
52154         * lib/userspec.c: Likewise.
52155         * lib/utime.c: Likewise.
52156         * lib/utimecmp.c: Likewise.
52157         * lib/utimecmp.h: Likewise.
52158         * lib/utimens.c: Likewise.
52159         * lib/verify.h: Likewise.
52160         * lib/verror.c: Likewise.
52161         * lib/verror.h: Likewise.
52162         * lib/version-etc-fsf.c: Likewise.
52163         * lib/version-etc.c: Likewise.
52164         * lib/version-etc.h: Likewise.
52165         * lib/vfprintf.c: Likewise.
52166         * lib/vprintf.c: Likewise.
52167         * lib/vsprintf.c: Likewise.
52168         * lib/w32spawn.h: Likewise.
52169         * lib/wait-process.c: Likewise.
52170         * lib/wait-process.h: Likewise.
52171         * lib/wcwidth.c: Likewise.
52172         * lib/write-any-file.c: Likewise.
52173         * lib/xalloc-die.c: Likewise.
52174         * lib/xalloc.h: Likewise.
52175         * lib/xasprintf.c: Likewise.
52176         * lib/xgetcwd.c: Likewise.
52177         * lib/xgetcwd.h: Likewise.
52178         * lib/xgetdomainname.c: Likewise.
52179         * lib/xgetdomainname.h: Likewise.
52180         * lib/xgethostname.c: Likewise.
52181         * lib/xmalloc.c: Likewise.
52182         * lib/xmalloca.c: Likewise.
52183         * lib/xmalloca.h: Likewise.
52184         * lib/xmemcoll.c: Likewise.
52185         * lib/xnanosleep.c: Likewise.
52186         * lib/xreadlink.c: Likewise.
52187         * lib/xreadlink.h: Likewise.
52188         * lib/xsetenv.c: Likewise.
52189         * lib/xsetenv.h: Likewise.
52190         * lib/xstriconv.c: Likewise.
52191         * lib/xstriconv.h: Likewise.
52192         * lib/xstrndup.c: Likewise.
52193         * lib/xstrndup.h: Likewise.
52194         * lib/xstrtod.c: Likewise.
52195         * lib/xstrtod.h: Likewise.
52196         * lib/xstrtol-error.c: Likewise.
52197         * lib/xstrtol.c: Likewise.
52198         * lib/xstrtol.h: Likewise.
52199         * lib/xtime.h: Likewise.
52200         * lib/xvasprintf.c: Likewise.
52201         * lib/xvasprintf.h: Likewise.
52202         * lib/yesno.c: Likewise.
52203         * lib/yesno.h: Likewise.
52204         * posix-modules: Likewise.
52205         * tests/test-alloca-opt.c: Likewise.
52206         * tests/test-arcfour.c: Likewise.
52207         * tests/test-arctwo.c: Likewise.
52208         * tests/test-argmatch.c: Likewise.
52209         * tests/test-argp-2.sh: Likewise.
52210         * tests/test-argp.c: Likewise.
52211         * tests/test-arpa_inet.c: Likewise.
52212         * tests/test-array_list.c: Likewise.
52213         * tests/test-array_oset.c: Likewise.
52214         * tests/test-atexit.c: Likewise.
52215         * tests/test-avltree_list.c: Likewise.
52216         * tests/test-avltree_oset.c: Likewise.
52217         * tests/test-avltreehash_list.c: Likewise.
52218         * tests/test-base64.c: Likewise.
52219         * tests/test-binary-io.c: Likewise.
52220         * tests/test-byteswap.c: Likewise.
52221         * tests/test-c-ctype.c: Likewise.
52222         * tests/test-c-strcasecmp.c: Likewise.
52223         * tests/test-c-strcasestr.c: Likewise.
52224         * tests/test-c-strncasecmp.c: Likewise.
52225         * tests/test-c-strstr.c: Likewise.
52226         * tests/test-canonicalize-lgpl.c: Likewise.
52227         * tests/test-canonicalize.c: Likewise.
52228         * tests/test-carray_list.c: Likewise.
52229         * tests/test-ceilf.c: Likewise.
52230         * tests/test-ceill.c: Likewise.
52231         * tests/test-count-one-bits.c: Likewise.
52232         * tests/test-crc.c: Likewise.
52233         * tests/test-dirname.c: Likewise.
52234         * tests/test-fbufmode.c: Likewise.
52235         * tests/test-fcntl.c: Likewise.
52236         * tests/test-fflush.c: Likewise.
52237         * tests/test-floorf.c: Likewise.
52238         * tests/test-floorl.c: Likewise.
52239         * tests/test-fopen.c: Likewise.
52240         * tests/test-fprintf-posix.c: Likewise.
52241         * tests/test-fprintf-posix.h: Likewise.
52242         * tests/test-fpurge.c: Likewise.
52243         * tests/test-freadable.c: Likewise.
52244         * tests/test-freadahead.c: Likewise.
52245         * tests/test-freading.c: Likewise.
52246         * tests/test-freopen.c: Likewise.
52247         * tests/test-frexp.c: Likewise.
52248         * tests/test-frexpl.c: Likewise.
52249         * tests/test-fseek.c: Likewise.
52250         * tests/test-fseeko.c: Likewise.
52251         * tests/test-fseterr.c: Likewise.
52252         * tests/test-fstrcmp.c: Likewise.
52253         * tests/test-ftell.c: Likewise.
52254         * tests/test-ftello.c: Likewise.
52255         * tests/test-fwritable.c: Likewise.
52256         * tests/test-fwriting.c: Likewise.
52257         * tests/test-getaddrinfo.c: Likewise.
52258         * tests/test-getpass.c: Likewise.
52259         * tests/test-gettimeofday.c: Likewise.
52260         * tests/test-hmac-md5.c: Likewise.
52261         * tests/test-hmac-sha1.c: Likewise.
52262         * tests/test-iconv.c: Likewise.
52263         * tests/test-iconvme.c: Likewise.
52264         * tests/test-inttypes.c: Likewise.
52265         * tests/test-isnan.c: Likewise.
52266         * tests/test-isnanf.c: Likewise.
52267         * tests/test-isnanl-nolibm.c: Likewise.
52268         * tests/test-isnanl.c: Likewise.
52269         * tests/test-isnanl.h: Likewise.
52270         * tests/test-ldexpl.c: Likewise.
52271         * tests/test-linked_list.c: Likewise.
52272         * tests/test-linkedhash_list.c: Likewise.
52273         * tests/test-locale.c: Likewise.
52274         * tests/test-localename.c: Likewise.
52275         * tests/test-lock.c: Likewise.
52276         * tests/test-lseek.c: Likewise.
52277         * tests/test-malloca.c: Likewise.
52278         * tests/test-math.c: Likewise.
52279         * tests/test-mbscasecmp.c: Likewise.
52280         * tests/test-mbscasestr1.c: Likewise.
52281         * tests/test-mbscasestr2.c: Likewise.
52282         * tests/test-mbscasestr3.c: Likewise.
52283         * tests/test-mbscasestr4.c: Likewise.
52284         * tests/test-mbschr.c: Likewise.
52285         * tests/test-mbscspn.c: Likewise.
52286         * tests/test-mbsncasecmp.c: Likewise.
52287         * tests/test-mbspbrk.c: Likewise.
52288         * tests/test-mbspcasecmp.c: Likewise.
52289         * tests/test-mbsrchr.c: Likewise.
52290         * tests/test-mbsspn.c: Likewise.
52291         * tests/test-mbsstr1.c: Likewise.
52292         * tests/test-mbsstr2.c: Likewise.
52293         * tests/test-mbsstr3.c: Likewise.
52294         * tests/test-md5.c: Likewise.
52295         * tests/test-memmem.c: Likewise.
52296         * tests/test-netinet_in.c: Likewise.
52297         * tests/test-open.c: Likewise.
52298         * tests/test-printf-frexp.c: Likewise.
52299         * tests/test-printf-frexpl.c: Likewise.
52300         * tests/test-printf-posix.c: Likewise.
52301         * tests/test-printf-posix.h: Likewise.
52302         * tests/test-rbtree_list.c: Likewise.
52303         * tests/test-rbtree_oset.c: Likewise.
52304         * tests/test-rbtreehash_list.c: Likewise.
52305         * tests/test-read-file.c: Likewise.
52306         * tests/test-rijndael.c: Likewise.
52307         * tests/test-search.c: Likewise.
52308         * tests/test-signbit.c: Likewise.
52309         * tests/test-sleep.c: Likewise.
52310         * tests/test-snprintf-posix.c: Likewise.
52311         * tests/test-snprintf-posix.h: Likewise.
52312         * tests/test-snprintf.c: Likewise.
52313         * tests/test-sprintf-posix.c: Likewise.
52314         * tests/test-sprintf-posix.h: Likewise.
52315         * tests/test-stat-time.c: Likewise.
52316         * tests/test-stdbool.c: Likewise.
52317         * tests/test-stdint.c: Likewise.
52318         * tests/test-stdio.c: Likewise.
52319         * tests/test-stdlib.c: Likewise.
52320         * tests/test-stpncpy.c: Likewise.
52321         * tests/test-strcasestr.c: Likewise.
52322         * tests/test-striconv.c: Likewise.
52323         * tests/test-striconveh.c: Likewise.
52324         * tests/test-striconveha.c: Likewise.
52325         * tests/test-string.c: Likewise.
52326         * tests/test-sys_select.c: Likewise.
52327         * tests/test-sys_socket.c: Likewise.
52328         * tests/test-sys_stat.c: Likewise.
52329         * tests/test-sys_time.c: Likewise.
52330         * tests/test-sysexits.c: Likewise.
52331         * tests/test-time.c: Likewise.
52332         * tests/test-tls.c: Likewise.
52333         * tests/test-trunc.c: Likewise.
52334         * tests/test-truncf.c: Likewise.
52335         * tests/test-truncl.c: Likewise.
52336         * tests/test-unistd.c: Likewise.
52337         * tests/test-vasnprintf-posix.c: Likewise.
52338         * tests/test-vasnprintf-posix2.c: Likewise.
52339         * tests/test-vasnprintf.c: Likewise.
52340         * tests/test-vasprintf-posix.c: Likewise.
52341         * tests/test-vasprintf.c: Likewise.
52342         * tests/test-verify.c: Likewise.
52343         * tests/test-vfprintf-posix.c: Likewise.
52344         * tests/test-vprintf-posix.c: Likewise.
52345         * tests/test-vsnprintf-posix.c: Likewise.
52346         * tests/test-vsnprintf.c: Likewise.
52347         * tests/test-vsprintf-posix.c: Likewise.
52348         * tests/test-wchar.c: Likewise.
52349         * tests/test-wctype.c: Likewise.
52350         * tests/test-wcwidth.c: Likewise.
52351         * tests/test-xstrtol.c: Likewise.
52352         * tests/test-xvasprintf.c: Likewise.
52353         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
52354         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
52355         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
52356         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
52357         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
52358         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
52359         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
52360         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
52361         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
52362         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
52363         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
52364         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
52365         * tests/uniname/test-uninames.c: Likewise.
52366         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
52367         * tests/unistdio/test-u16-asnprintf1.h: Likewise.
52368         * tests/unistdio/test-u16-printf1.h: Likewise.
52369         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
52370         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
52371         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
52372         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
52373         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
52374         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
52375         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
52376         * tests/unistdio/test-u32-asnprintf1.h: Likewise.
52377         * tests/unistdio/test-u32-printf1.h: Likewise.
52378         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
52379         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
52380         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
52381         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
52382         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
52383         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
52384         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
52385         * tests/unistdio/test-u8-asnprintf1.h: Likewise.
52386         * tests/unistdio/test-u8-printf1.h: Likewise.
52387         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
52388         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
52389         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
52390         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
52391         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
52392         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
52393         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
52394         * tests/unistdio/test-ulc-asnprintf1.h: Likewise.
52395         * tests/unistdio/test-ulc-printf1.h: Likewise.
52396         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
52397         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
52398         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
52399         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
52400         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
52401         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
52402         * tests/uniwidth/test-u16-strwidth.c: Likewise.
52403         * tests/uniwidth/test-u16-width.c: Likewise.
52404         * tests/uniwidth/test-u32-strwidth.c: Likewise.
52405         * tests/uniwidth/test-u32-width.c: Likewise.
52406         * tests/uniwidth/test-u8-strwidth.c: Likewise.
52407         * tests/uniwidth/test-u8-width.c: Likewise.
52408         * tests/uniwidth/test-uc_width.c: Likewise.
52409         * config/srclist-update: Likewise.
52410         (fixlicense): Update to GPLv3+.
52411
52412         Change copyright notice from LGPLv2.1+ to LGPLv3+.
52413         * tests/test-tsearch.c: Change copyright notice.
52414
52415         Change copyright notice from LGPLv2.0+ to LGPLv3+.
52416         * lib/c-strcaseeq.h: Change copyright notice.
52417         * lib/streq.h: Likewise.
52418         * lib/uniconv.h: Likewise.
52419         * lib/uniconv/u-conv-from-enc.h: Likewise.
52420         * lib/uniconv/u-conv-to-enc.h: Likewise.
52421         * lib/uniconv/u-strconv-from-enc.h: Likewise.
52422         * lib/uniconv/u-strconv-to-enc.h: Likewise.
52423         * lib/uniconv/u16-conv-from-enc.c: Likewise.
52424         * lib/uniconv/u16-conv-to-enc.c: Likewise.
52425         * lib/uniconv/u16-strconv-from-enc.c: Likewise.
52426         * lib/uniconv/u16-strconv-from-locale.c: Likewise.
52427         * lib/uniconv/u16-strconv-to-enc.c: Likewise.
52428         * lib/uniconv/u16-strconv-to-locale.c: Likewise.
52429         * lib/uniconv/u32-conv-from-enc.c: Likewise.
52430         * lib/uniconv/u32-conv-to-enc.c: Likewise.
52431         * lib/uniconv/u32-strconv-from-enc.c: Likewise.
52432         * lib/uniconv/u32-strconv-from-locale.c: Likewise.
52433         * lib/uniconv/u32-strconv-to-enc.c: Likewise.
52434         * lib/uniconv/u32-strconv-to-locale.c: Likewise.
52435         * lib/uniconv/u8-conv-from-enc.c: Likewise.
52436         * lib/uniconv/u8-conv-to-enc.c: Likewise.
52437         * lib/uniconv/u8-strconv-from-enc.c: Likewise.
52438         * lib/uniconv/u8-strconv-from-locale.c: Likewise.
52439         * lib/uniconv/u8-strconv-to-enc.c: Likewise.
52440         * lib/uniconv/u8-strconv-to-locale.c: Likewise.
52441         * lib/uniname.h: Likewise.
52442         * lib/uniname/uniname.c: Likewise.
52443         * lib/unistdio.h: Likewise.
52444         * lib/unistdio/u-asnprintf.h: Likewise.
52445         * lib/unistdio/u-asprintf.h: Likewise.
52446         * lib/unistdio/u-printf-args.c: Likewise.
52447         * lib/unistdio/u-printf-args.h: Likewise.
52448         * lib/unistdio/u-printf-parse.h: Likewise.
52449         * lib/unistdio/u-snprintf.h: Likewise.
52450         * lib/unistdio/u-sprintf.h: Likewise.
52451         * lib/unistdio/u-vasprintf.h: Likewise.
52452         * lib/unistdio/u-vsnprintf.h: Likewise.
52453         * lib/unistdio/u-vsprintf.h: Likewise.
52454         * lib/unistdio/u16-asnprintf.c: Likewise.
52455         * lib/unistdio/u16-asprintf.c: Likewise.
52456         * lib/unistdio/u16-printf-parse.c: Likewise.
52457         * lib/unistdio/u16-snprintf.c: Likewise.
52458         * lib/unistdio/u16-sprintf.c: Likewise.
52459         * lib/unistdio/u16-u16-asnprintf.c: Likewise.
52460         * lib/unistdio/u16-u16-asprintf.c: Likewise.
52461         * lib/unistdio/u16-u16-snprintf.c: Likewise.
52462         * lib/unistdio/u16-u16-sprintf.c: Likewise.
52463         * lib/unistdio/u16-u16-vasnprintf.c: Likewise.
52464         * lib/unistdio/u16-u16-vasprintf.c: Likewise.
52465         * lib/unistdio/u16-u16-vsnprintf.c: Likewise.
52466         * lib/unistdio/u16-u16-vsprintf.c: Likewise.
52467         * lib/unistdio/u16-vasnprintf.c: Likewise.
52468         * lib/unistdio/u16-vasprintf.c: Likewise.
52469         * lib/unistdio/u16-vsnprintf.c: Likewise.
52470         * lib/unistdio/u16-vsprintf.c: Likewise.
52471         * lib/unistdio/u32-asnprintf.c: Likewise.
52472         * lib/unistdio/u32-asprintf.c: Likewise.
52473         * lib/unistdio/u32-printf-parse.c: Likewise.
52474         * lib/unistdio/u32-snprintf.c: Likewise.
52475         * lib/unistdio/u32-sprintf.c: Likewise.
52476         * lib/unistdio/u32-u32-asnprintf.c: Likewise.
52477         * lib/unistdio/u32-u32-asprintf.c: Likewise.
52478         * lib/unistdio/u32-u32-snprintf.c: Likewise.
52479         * lib/unistdio/u32-u32-sprintf.c: Likewise.
52480         * lib/unistdio/u32-u32-vasnprintf.c: Likewise.
52481         * lib/unistdio/u32-u32-vasprintf.c: Likewise.
52482         * lib/unistdio/u32-u32-vsnprintf.c: Likewise.
52483         * lib/unistdio/u32-u32-vsprintf.c: Likewise.
52484         * lib/unistdio/u32-vasnprintf.c: Likewise.
52485         * lib/unistdio/u32-vasprintf.c: Likewise.
52486         * lib/unistdio/u32-vsnprintf.c: Likewise.
52487         * lib/unistdio/u32-vsprintf.c: Likewise.
52488         * lib/unistdio/u8-asnprintf.c: Likewise.
52489         * lib/unistdio/u8-asprintf.c: Likewise.
52490         * lib/unistdio/u8-printf-parse.c: Likewise.
52491         * lib/unistdio/u8-snprintf.c: Likewise.
52492         * lib/unistdio/u8-sprintf.c: Likewise.
52493         * lib/unistdio/u8-u8-asnprintf.c: Likewise.
52494         * lib/unistdio/u8-u8-asprintf.c: Likewise.
52495         * lib/unistdio/u8-u8-snprintf.c: Likewise.
52496         * lib/unistdio/u8-u8-sprintf.c: Likewise.
52497         * lib/unistdio/u8-u8-vasnprintf.c: Likewise.
52498         * lib/unistdio/u8-u8-vasprintf.c: Likewise.
52499         * lib/unistdio/u8-u8-vsnprintf.c: Likewise.
52500         * lib/unistdio/u8-u8-vsprintf.c: Likewise.
52501         * lib/unistdio/u8-vasnprintf.c: Likewise.
52502         * lib/unistdio/u8-vasprintf.c: Likewise.
52503         * lib/unistdio/u8-vsnprintf.c: Likewise.
52504         * lib/unistdio/u8-vsprintf.c: Likewise.
52505         * lib/unistdio/ulc-asnprintf.c: Likewise.
52506         * lib/unistdio/ulc-asprintf.c: Likewise.
52507         * lib/unistdio/ulc-printf-parse.c: Likewise.
52508         * lib/unistdio/ulc-snprintf.c: Likewise.
52509         * lib/unistdio/ulc-sprintf.c: Likewise.
52510         * lib/unistdio/ulc-vasnprintf.c: Likewise.
52511         * lib/unistdio/ulc-vasprintf.c: Likewise.
52512         * lib/unistdio/ulc-vsnprintf.c: Likewise.
52513         * lib/unistdio/ulc-vsprintf.c: Likewise.
52514         * lib/unistr.h: Likewise.
52515         * lib/unistr/u-cpy-alloc.h: Likewise.
52516         * lib/unistr/u-cpy.h: Likewise.
52517         * lib/unistr/u-endswith.h: Likewise.
52518         * lib/unistr/u-move.h: Likewise.
52519         * lib/unistr/u-set.h: Likewise.
52520         * lib/unistr/u-startswith.h: Likewise.
52521         * lib/unistr/u-stpcpy.h: Likewise.
52522         * lib/unistr/u-stpncpy.h: Likewise.
52523         * lib/unistr/u-strcat.h: Likewise.
52524         * lib/unistr/u-strcpy.h: Likewise.
52525         * lib/unistr/u-strcspn.h: Likewise.
52526         * lib/unistr/u-strdup.h: Likewise.
52527         * lib/unistr/u-strlen.h: Likewise.
52528         * lib/unistr/u-strncat.h: Likewise.
52529         * lib/unistr/u-strncpy.h: Likewise.
52530         * lib/unistr/u-strnlen.h: Likewise.
52531         * lib/unistr/u-strpbrk.h: Likewise.
52532         * lib/unistr/u-strspn.h: Likewise.
52533         * lib/unistr/u-strstr.h: Likewise.
52534         * lib/unistr/u-strtok.h: Likewise.
52535         * lib/unistr/u16-check.c: Likewise.
52536         * lib/unistr/u16-chr.c: Likewise.
52537         * lib/unistr/u16-cmp.c: Likewise.
52538         * lib/unistr/u16-cpy-alloc.c: Likewise.
52539         * lib/unistr/u16-cpy.c: Likewise.
52540         * lib/unistr/u16-endswith.c: Likewise.
52541         * lib/unistr/u16-mblen.c: Likewise.
52542         * lib/unistr/u16-mbsnlen.c: Likewise.
52543         * lib/unistr/u16-mbtouc-aux.c: Likewise.
52544         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
52545         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
52546         * lib/unistr/u16-mbtouc.c: Likewise.
52547         * lib/unistr/u16-mbtoucr.c: Likewise.
52548         * lib/unistr/u16-move.c: Likewise.
52549         * lib/unistr/u16-next.c: Likewise.
52550         * lib/unistr/u16-prev.c: Likewise.
52551         * lib/unistr/u16-set.c: Likewise.
52552         * lib/unistr/u16-startswith.c: Likewise.
52553         * lib/unistr/u16-stpcpy.c: Likewise.
52554         * lib/unistr/u16-stpncpy.c: Likewise.
52555         * lib/unistr/u16-strcat.c: Likewise.
52556         * lib/unistr/u16-strchr.c: Likewise.
52557         * lib/unistr/u16-strcmp.c: Likewise.
52558         * lib/unistr/u16-strcpy.c: Likewise.
52559         * lib/unistr/u16-strcspn.c: Likewise.
52560         * lib/unistr/u16-strdup.c: Likewise.
52561         * lib/unistr/u16-strlen.c: Likewise.
52562         * lib/unistr/u16-strmblen.c: Likewise.
52563         * lib/unistr/u16-strmbtouc.c: Likewise.
52564         * lib/unistr/u16-strncat.c: Likewise.
52565         * lib/unistr/u16-strncmp.c: Likewise.
52566         * lib/unistr/u16-strncpy.c: Likewise.
52567         * lib/unistr/u16-strnlen.c: Likewise.
52568         * lib/unistr/u16-strpbrk.c: Likewise.
52569         * lib/unistr/u16-strrchr.c: Likewise.
52570         * lib/unistr/u16-strspn.c: Likewise.
52571         * lib/unistr/u16-strstr.c: Likewise.
52572         * lib/unistr/u16-strtok.c: Likewise.
52573         * lib/unistr/u16-to-u32.c: Likewise.
52574         * lib/unistr/u16-to-u8.c: Likewise.
52575         * lib/unistr/u16-uctomb-aux.c: Likewise.
52576         * lib/unistr/u16-uctomb.c: Likewise.
52577         * lib/unistr/u32-check.c: Likewise.
52578         * lib/unistr/u32-chr.c: Likewise.
52579         * lib/unistr/u32-cmp.c: Likewise.
52580         * lib/unistr/u32-cpy-alloc.c: Likewise.
52581         * lib/unistr/u32-cpy.c: Likewise.
52582         * lib/unistr/u32-endswith.c: Likewise.
52583         * lib/unistr/u32-mblen.c: Likewise.
52584         * lib/unistr/u32-mbsnlen.c: Likewise.
52585         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
52586         * lib/unistr/u32-mbtouc.c: Likewise.
52587         * lib/unistr/u32-mbtoucr.c: Likewise.
52588         * lib/unistr/u32-move.c: Likewise.
52589         * lib/unistr/u32-next.c: Likewise.
52590         * lib/unistr/u32-prev.c: Likewise.
52591         * lib/unistr/u32-set.c: Likewise.
52592         * lib/unistr/u32-startswith.c: Likewise.
52593         * lib/unistr/u32-stpcpy.c: Likewise.
52594         * lib/unistr/u32-stpncpy.c: Likewise.
52595         * lib/unistr/u32-strcat.c: Likewise.
52596         * lib/unistr/u32-strchr.c: Likewise.
52597         * lib/unistr/u32-strcmp.c: Likewise.
52598         * lib/unistr/u32-strcpy.c: Likewise.
52599         * lib/unistr/u32-strcspn.c: Likewise.
52600         * lib/unistr/u32-strdup.c: Likewise.
52601         * lib/unistr/u32-strlen.c: Likewise.
52602         * lib/unistr/u32-strmblen.c: Likewise.
52603         * lib/unistr/u32-strmbtouc.c: Likewise.
52604         * lib/unistr/u32-strncat.c: Likewise.
52605         * lib/unistr/u32-strncmp.c: Likewise.
52606         * lib/unistr/u32-strncpy.c: Likewise.
52607         * lib/unistr/u32-strnlen.c: Likewise.
52608         * lib/unistr/u32-strpbrk.c: Likewise.
52609         * lib/unistr/u32-strrchr.c: Likewise.
52610         * lib/unistr/u32-strspn.c: Likewise.
52611         * lib/unistr/u32-strstr.c: Likewise.
52612         * lib/unistr/u32-strtok.c: Likewise.
52613         * lib/unistr/u32-to-u16.c: Likewise.
52614         * lib/unistr/u32-to-u8.c: Likewise.
52615         * lib/unistr/u32-uctomb.c: Likewise.
52616         * lib/unistr/u8-check.c: Likewise.
52617         * lib/unistr/u8-chr.c: Likewise.
52618         * lib/unistr/u8-cmp.c: Likewise.
52619         * lib/unistr/u8-cpy-alloc.c: Likewise.
52620         * lib/unistr/u8-cpy.c: Likewise.
52621         * lib/unistr/u8-endswith.c: Likewise.
52622         * lib/unistr/u8-mblen.c: Likewise.
52623         * lib/unistr/u8-mbsnlen.c: Likewise.
52624         * lib/unistr/u8-mbtouc-aux.c: Likewise.
52625         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
52626         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
52627         * lib/unistr/u8-mbtouc.c: Likewise.
52628         * lib/unistr/u8-mbtoucr.c: Likewise.
52629         * lib/unistr/u8-move.c: Likewise.
52630         * lib/unistr/u8-next.c: Likewise.
52631         * lib/unistr/u8-prev.c: Likewise.
52632         * lib/unistr/u8-set.c: Likewise.
52633         * lib/unistr/u8-startswith.c: Likewise.
52634         * lib/unistr/u8-stpcpy.c: Likewise.
52635         * lib/unistr/u8-stpncpy.c: Likewise.
52636         * lib/unistr/u8-strcat.c: Likewise.
52637         * lib/unistr/u8-strchr.c: Likewise.
52638         * lib/unistr/u8-strcmp.c: Likewise.
52639         * lib/unistr/u8-strcpy.c: Likewise.
52640         * lib/unistr/u8-strcspn.c: Likewise.
52641         * lib/unistr/u8-strdup.c: Likewise.
52642         * lib/unistr/u8-strlen.c: Likewise.
52643         * lib/unistr/u8-strmblen.c: Likewise.
52644         * lib/unistr/u8-strmbtouc.c: Likewise.
52645         * lib/unistr/u8-strncat.c: Likewise.
52646         * lib/unistr/u8-strncmp.c: Likewise.
52647         * lib/unistr/u8-strncpy.c: Likewise.
52648         * lib/unistr/u8-strnlen.c: Likewise.
52649         * lib/unistr/u8-strpbrk.c: Likewise.
52650         * lib/unistr/u8-strrchr.c: Likewise.
52651         * lib/unistr/u8-strspn.c: Likewise.
52652         * lib/unistr/u8-strstr.c: Likewise.
52653         * lib/unistr/u8-strtok.c: Likewise.
52654         * lib/unistr/u8-to-u16.c: Likewise.
52655         * lib/unistr/u8-to-u32.c: Likewise.
52656         * lib/unistr/u8-uctomb-aux.c: Likewise.
52657         * lib/unistr/u8-uctomb.c: Likewise.
52658         * lib/unitypes.h: Likewise.
52659         * lib/uniwidth.h: Likewise.
52660         * lib/uniwidth/cjk.h: Likewise.
52661         * lib/uniwidth/u16-strwidth.c: Likewise.
52662         * lib/uniwidth/u16-width.c: Likewise.
52663         * lib/uniwidth/u32-strwidth.c: Likewise.
52664         * lib/uniwidth/u32-width.c: Likewise.
52665         * lib/uniwidth/u8-strwidth.c: Likewise.
52666         * lib/uniwidth/u8-width.c: Likewise.
52667         * lib/uniwidth/width.c: Likewise.
52668
52669 2007-10-07  Bruno Haible  <bruno@clisp.org>
52670
52671         * lib/inttypes.in.h: Change copyright notice from LGPL to GPL.
52672         The file is still under LGPL (see modules/inttypes).
52673
52674 2007-10-06  Bruno Haible  <bruno@clisp.org>
52675
52676         * modules/trunc (Dependencies): Add 'extensions'.
52677         * m4/trunc.m4 (gl_FUNC_TRUNC): Require gl_USE_SYSTEM_EXTENSIONS.
52678         Reported by Ben Pfaff <blp@gnu.org>.
52679
52680 2007-10-06  Bruno Haible  <bruno@clisp.org>
52681
52682         * modules/freopen-tests: New file.
52683         * tests/test-freopen.c: New file.
52684
52685         * modules/fopen-tests: New file.
52686         * tests/test-fopen.c: New file.
52687
52688         * modules/fopen: New file.
52689         * lib/fopen.c: New file.
52690         * m4/fopen.m4: New file.
52691         * modules/freopen: New file.
52692         * lib/freopen.c: New file.
52693         * m4/freopen.m4: New file.
52694         * lib/stdio.in.h (fopen, freopen): New declarations.
52695         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize also GNULIB_FOPEN,
52696         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
52697         * modules/stdio (Makefile.am): Substitute also GNULIB_FOPEN,
52698         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
52699         * doc/functions/fopen.texi: Mention the 'fopen' module.
52700         * doc/functions/freopen.texi: Mention the 'freopen' module.
52701
52702 2007-10-06  Bruno Haible  <bruno@clisp.org>
52703
52704         * modules/open-tests: New file.
52705         * tests/test-open.c: New file.
52706
52707         * modules/open: New file.
52708         * lib/open.c: New file.
52709         * m4/open.m4: New file.
52710         * lib/fchdir.c (open): If the gnulib module 'open' is used, do what
52711         lib/open.c does.
52712         * lib/fcntl.in.h (open): Declare also if replaced by the 'open' module.
52713         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR, gl_FCNTL_H_DEFAULTS): New
52714         macros.
52715         (gl_FCNTL_H): Require gl_FCNTL_H_DEFAULTS.
52716         * modules/fcntl (Makefile.am): Also substitute GNULIB_OPEN and
52717         REPLACE_OPEN.
52718         * doc/functions/open.texi: Mention the 'open' module.
52719
52720 2007-10-04  Bruno Haible  <bruno@clisp.org>
52721
52722         * modules/ceill-tests: New file.
52723         * tests/test-ceill.c: New file.
52724
52725         * modules/ceill: New file.
52726         * lib/ceill.c: Replace entire file.
52727         * m4/ceill.m4: New file.
52728         * lib/math.in.h (ceill): Replace declaration.
52729         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILL.
52730         * modules/math (Makefile.am): Substitute also GNULIB_CEILL.
52731         * doc/functions/ceill.texi: Mention the 'ceill' module.
52732         * modules/mathl (Files): Remove lib/ceill.c.
52733         (Depends-on): Add ceill.
52734
52735 2007-10-04  Bruno Haible  <bruno@clisp.org>
52736
52737         * modules/ceilf-tests: New file.
52738         * tests/test-ceilf.c: New file.
52739
52740         * modules/ceilf: New file.
52741         * lib/ceil.c: New file.
52742         * lib/ceilf.c: New file.
52743         * m4/ceilf.m4: New file.
52744         * lib/math.in.h (ceilf): New declaration.
52745         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILF and
52746         HAVE_DECL_CEILF.
52747         * modules/math (Makefile.am): Substitute also GNULIB_CEILF and
52748         HAVE_DECL_CEILF.
52749         * doc/functions/ceilf.texi: Mention the 'ceilf' module.
52750
52751 2007-10-04  Bruno Haible  <bruno@clisp.org>
52752
52753         * modules/floorl-tests: New file.
52754         * tests/test-floorl.c: New file.
52755
52756         * modules/floorl: New file.
52757         * lib/floorl.c: Replace entire file.
52758         * m4/floorl.m4: New file.
52759         * lib/math.in.h (floorl): Replace declaration.
52760         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORL.
52761         * modules/math (Makefile.am): Substitute also GNULIB_FLOORL.
52762         * doc/functions/floorl.texi: Mention the 'floorl' module.
52763         * modules/mathl (Files): Remove lib/floorl.c.
52764         (Depends-on): Add floorl.
52765
52766 2007-10-04  Bruno Haible  <bruno@clisp.org>
52767
52768         * modules/floorf-tests: New file.
52769         * tests/test-floorf.c: New file.
52770
52771         * modules/floorf: New file.
52772         * lib/floor.c: New file.
52773         * lib/floorf.c: New file.
52774         * m4/floorf.m4: New file.
52775         * lib/math.in.h (floorf): New declaration.
52776         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORF and
52777         HAVE_DECL_FLOORF.
52778         * modules/math (Makefile.am): Substitute also GNULIB_FLOORF and
52779         HAVE_DECL_FLOORF.
52780         * doc/functions/floorf.texi: Mention the 'floorf' module.
52781
52782 2007-10-04  Benoit Sigoure  <tsuna@lrde.epita.fr>
52783             Bruno Haible  <bruno@clisp.org>
52784
52785         Advertise for the Git server instead of the CVS server.
52786         * doc/gnulib-intro.texi (Steady Development): Mention the Git
52787         repository instead of the CVS one.
52788         * doc/gnulib-tool.texi (VCS Issues): Renamed from "CVS Issues". Talk
52789         about all VCS systems generically.
52790         * doc/gnulib.texi (Introduction): Capitalize `Git'.
52791
52792 2007-10-04  Bruno Haible  <bruno@clisp.org>
52793
52794         * doc/gnulib.texi (Function Substitutes): Explain what an absent module
52795         means.
52796         Reported by Benoît Sigoure <tsuna@lrde.epita.fr>.
52797
52798 2007-10-04  Bruno Haible  <bruno@clisp.org>
52799
52800         * modules/truncl-tests: New file.
52801         * tests/test-truncl.c: New file.
52802
52803         * modules/truncl: New file.
52804         * lib/truncl.c: New file.
52805         * m4/truncl.m4: New file.
52806         * lib/math.in.h (truncl): New declaration.
52807         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCL and
52808         HAVE_DECL_TRUNCL.
52809         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCL and
52810         HAVE_DECL_TRUNCL.
52811         * doc/functions/truncl.texi: Mention the 'truncl' module.
52812
52813 2007-10-04  Bruno Haible  <bruno@clisp.org>
52814
52815         * modules/truncf-tests: New file.
52816         * tests/test-truncf.c: New file.
52817
52818         * modules/truncf: New file.
52819         * lib/trunc.c: Make paramerizable through USE_* macros.
52820         * lib/truncf.c: New file.
52821         * m4/truncf.m4: New file.
52822         * lib/math.in.h (truncf): New declaration.
52823         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCF and
52824         HAVE_DECL_TRUNCF.
52825         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCF and
52826         HAVE_DECL_TRUNCF.
52827         * doc/functions/truncf.texi: Mention the 'truncf' module.
52828
52829 2007-10-03  Bruno Haible  <bruno@clisp.org>
52830
52831         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
52832         augmentation also for tests modules.
52833         * modules/argp-tests (Makefile.am): Remove EXTRA_DIST augmentation.
52834         * modules/atexit-tests (Makefile.am): Likewise.
52835         * modules/binary-io-tests (Makefile.am): Likewise.
52836         * modules/c-strcase-tests (Makefile.am): Likewise.
52837         * modules/canonicalize-lgpl-tests (Makefile.am): Likewise.
52838         * modules/canonicalize-tests (Makefile.am): Likewise.
52839         * modules/closein-tests (Makefile.am): Likewise.
52840         * modules/fprintf-posix-tests (Makefile.am): Likewise.
52841         * modules/freadahead-tests (Makefile.am): Likewise.
52842         * modules/fseek-tests (Makefile.am): Likewise.
52843         * modules/fseeko-tests (Makefile.am): Likewise.
52844         * modules/ftell-tests (Makefile.am): Likewise.
52845         * modules/ftello-tests (Makefile.am): Likewise.
52846         * modules/isnanl-nolibm-tests (Makefile.am): Likewise.
52847         * modules/isnanl-tests (Makefile.am): Likewise.
52848         * modules/lseek-tests (Makefile.am): Likewise.
52849         * modules/mbscasecmp-tests (Makefile.am): Likewise.
52850         * modules/mbscasestr-tests (Makefile.am): Likewise.
52851         * modules/mbschr-tests (Makefile.am): Likewise.
52852         * modules/mbscspn-tests (Makefile.am): Likewise.
52853         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
52854         * modules/mbspbrk-tests (Makefile.am): Likewise.
52855         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
52856         * modules/mbsrchr-tests (Makefile.am): Likewise.
52857         * modules/mbsspn-tests (Makefile.am): Likewise.
52858         * modules/mbsstr-tests (Makefile.am): Likewise.
52859         * modules/printf-posix-tests (Makefile.am): Likewise.
52860         * modules/snprintf-posix-tests (Makefile.am): Likewise.
52861         * modules/sprintf-posix-tests (Makefile.am): Likewise.
52862         * modules/tsearch-tests (Makefile.am): Likewise.
52863         * modules/uniname/uniname-tests (Makefile.am): Likewise.
52864         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
52865         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
52866         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
52867         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
52868         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
52869         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
52870         * modules/vprintf-posix-tests (Makefile.am): Likewise.
52871         * modules/vsnprintf-posix-tests (Makefile.am): Likewise.
52872         * modules/vsprintf-posix-tests (Makefile.am): Likewise.
52873         * modules/xstrtoimax-tests (Makefile.am): Likewise.
52874         * modules/xstrtol-tests (Makefile.am): Likewise.
52875         * modules/xstrtoumax-tests (Makefile.am): Likewise.
52876         * modules/yesno-tests (Makefile.am): Likewise.
52877
52878 2007-10-03  Bruno Haible  <bruno@clisp.org>
52879
52880         * modules/trunc-tests: New file.
52881         * tests/test-trunc.c: New file.
52882
52883         * modules/trunc: New file.
52884         * lib/trunc.c: New file.
52885         * m4/trunc.m4: New file.
52886         * lib/math.in.h (trunc): New declaration.
52887         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNC and
52888         HAVE_DECL_TRUNC.
52889         * modules/math (Makefile.am): Substitute also GNULIB_TRUNC and
52890         HAVE_DECL_TRUNC.
52891         * doc/functions/trunc.texi: Mention the 'trunc' module.
52892
52893 2007-10-03  Bruno Haible  <bruno@clisp.org>
52894
52895         * tests/test-fpending.c: New file, mostly copied
52896         from coreutils/lib/t-fpending.c.
52897         * modules/fpending-tests: New file.
52898
52899 2007-10-03  Bruno Haible  <bruno@clisp.org>
52900
52901         Port the stdio extensions to QNX (untested).
52902         * lib/fseterr.c (fseterr): Add support for QNX.
52903         * lib/fbufmode.c (fbufmode): Likewise.
52904         * lib/freadable.c (freadable): Likewise.
52905         * lib/fwritable.c (fwritable): Likewise.
52906         * lib/freading.c (freading): Likewise.
52907         * lib/fwriting.c (fwriting): Likewise.
52908         * lib/freadahead.c (freadahed): Likewise.
52909         * lib/fpurge.c (fpurge): Likewise.
52910         * lib/fseeko.c (rpl_fseeko): Likewise.
52911
52912 2007-10-03  Bruno Haible  <bruno@clisp.org>
52913             Jim Meyering  <jim@meyering.net>
52914             Eric Blake  <ebb9@byu.net>
52915
52916         * doc/relocatable.texi: Use @command instead of @program.
52917
52918 2007-10-02  Jim Meyering  <jim@meyering.net>
52919
52920         Perform one more "_.h" -> ".in.h" substitution.
52921         * modules/unistd (Makefile.am) [unistd.h]: Use unistd.h.in
52922         instead of unistd_.h here, too.
52923
52924 2007-10-01  Bruno Haible  <bruno@clisp.org>
52925
52926         * gnulib-tool (func_emit_initmacro_done): Special case for alloca.c.
52927         Needed for the alloca-opt module.
52928
52929 2007-09-30  Bruno Haible  <bruno@clisp.org>
52930
52931         * lib/alloca.in.h: Renamed from lib/alloca_.h.
52932         * modules/alloca-opt (Files, Makefile.am): Use alloca.in.h instead of
52933         alloca_.h.
52934         * lib/argz.in.h: Renamed from lib/argz_.h.
52935         * modules/argz (Files, Makefile.am): Use argz.in.h instead of argz_.h.
52936         * lib/byteswap.in.h: Renamed from lib/byteswap_.h.
52937         * modules/byteswap (Files, Makefile.am): Use byteswap.in.h instead of
52938         byteswap_.h.
52939         * lib/dirent.in.h: Renamed from lib/dirent_.h.
52940         * modules/fchdir (Files, Makefile.am): Use dirent.in.h instead of
52941         dirent_.h.
52942         * lib/fcntl.in.h: Renamed from lib/fcntl_.h.
52943         * modules/fcntl (Files, Makefile.am): Use fcntl.in.h instead of
52944         fcntl_.h.
52945         * lib/float.in.h: Renamed from lib/float_.h.
52946         * modules/float (Files, Makefile.am): Use float.in.h instead of
52947         float_.h.
52948         * lib/fnmatch.in.h: Renamed from lib/fnmatch_.h.
52949         * modules/fnmatch (Files, Makefile.am): Use fnmatch.in.h instead of
52950         fnmatch_.h.
52951         * lib/getopt.in.h: Renamed from lib/getopt_.h.
52952         * modules/getopt (Files, Makefile.am): Use getopt.in.h instead of
52953         getopt_.h.
52954         * lib/glob.in.h: Renamed from lib/glob_.h.
52955         * modules/glob (Files, Makefile.am): Use glob.in.h instead of glob_.h.
52956         * lib/iconv.in.h: Renamed from lib/iconv_.h.
52957         * modules/iconv_open (Files, Makefile.am): Use iconv.in.h instead of
52958         iconv_.h.
52959         * lib/inttypes.in.h: Renamed from lib/inttypes_.h.
52960         * modules/inttypes (Files, Makefile.am): Use inttypes.in.h instead of
52961         inttypes_.h.
52962         * lib/locale.in.h: Renamed from lib/locale_.h.
52963         * modules/locale (Files, Makefile.am): Use locale.in.h instead of
52964         locale_.h.
52965         * lib/math.in.h: Renamed from lib/math_.h.
52966         * modules/math (Files, Makefile.am): Use math.in.h instead of math_.h.
52967         * lib/netinet_in.in.h: Renamed from lib/netinet_in_.h.
52968         * modules/netinet_in (Files, Makefile.am): Use netinet_in.in.h instead
52969         of netinet_in_.h. Add dependency.
52970         * lib/poll.in.h: Renamed from lib/poll_.h.
52971         * modules/poll (Files, Makefile.am): Use poll.in.h instead of poll_.h.
52972         * lib/search.in.h: Renamed from lib/search_.h.
52973         * modules/search (Files, Makefile.am): Use search.in.h instead of
52974         search_.h.
52975         * lib/signal.in.h: Renamed from lib/signal_.h.
52976         * modules/signal (Files, Makefile.am): Use signal.in.h instead of
52977         _signal.h.
52978         * lib/stdbool.in.h: Renamed from lib/stdbool_.h.
52979         * modules/stdbool (Files, Makefile.am): Use stdbool.in.h instead of
52980         stdbool_.h.
52981         * lib/stdint.in.h: Renamed from lib/stdint_.h.
52982         * modules/stdint (Files, Makefile.am): Use stdint.in.h instead of
52983         stdint_.h.
52984         * lib/stdio.in.h: Renamed from lib/stdio_.h.
52985         * modules/stdio (Files, Makefile.am): Use stdio.in.h instead of
52986         stdio_.h.
52987         * lib/stdlib.in.h: Renamed from lib/stdlib_.h.
52988         * modules/stdlib (Files, Makefile.am): Use stdlib.in.h instead of
52989         stdlib_.h.
52990         * lib/string.in.h: Renamed from lib/string_.h.
52991         * modules/string (Files, Makefile.am): Use string.in.h instead of
52992         string_.h.
52993         * doc/gnulib-tool.texi (Initial import): Update.
52994         * lib/sys_select.in.h: Renamed from lib/sys_select_.h.
52995         * modules/sys_select (Files, Makefile.am): Use sys_select.in.h instead
52996         of sys_select_.h. Add dependency.
52997         * lib/sys_socket.in.h: Renamed from lib/sys_socket_.h.
52998         * modules/sys_socket (Files, Makefile.am): Use sys_socket.in.h instead
52999         of sys_socket_.h.
53000         * lib/sys_stat.in.h: Renamed from lib/sys_stat_.h.
53001         * modules/sys_stat (Files, Makefile.am): Use sys_stat.in.h instead of
53002         sys_stat_.h.
53003         * lib/sys_time.in.h: Renamed from lib/sys_time_.h.
53004         * modules/sys_time (Files, Makefile.am): Use sys_time.in.h instead of
53005         sys_time_.h.
53006         * lib/sysexits.in.h: Renamed from lib/sysexits_.h.
53007         * modules/sysexits (Files, Makefile.am): Use sysexits.in.h instead of
53008         sysexits_.h.
53009         * lib/time.in.h: Renamed from lib/time_.h.
53010         * modules/time (Files, Makefile.am): Use time.in.h instead of time_.h.
53011         * lib/unistd.in.h: Renamed from lib/unistd_.h.
53012         * modules/unistd (Files, Makefile.am): Use unistd.in.h instead of
53013         unistd_.h.
53014         * lib/wchar.in.h: Renamed from lib/wchar_.h.
53015         * modules/wchar (Files, Makefile.am): Use wchar.in.h instead of
53016         wchar_.h.
53017         * lib/wctype.in.h: Renamed from lib/wctype_.h.
53018         * modules/wctype (Files, Makefile.am): Use wctype.in.h instead of
53019         wctype_.h.
53020         * build-aux/bootstrap (slurp): Update.
53021         * lib/.cppi-disable: Update.
53022
53023 2007-09-30  Bruno Haible  <bruno@clisp.org>
53024
53025         * tests/test-getaddrinfo.c (AF_UNSPEC): Provide a fallback definition.
53026         Needed on BeOS.
53027
53028 2007-09-30  Bruno Haible  <bruno@clisp.org>
53029
53030         * modules/dirname-tests (check_PROGRAMS): Renamed from noinst_PROGRAMS.
53031
53032 2007-09-29  Bruno Haible  <bruno@clisp.org>
53033
53034         * lib/stdio_.h (getdelim, getline): Add identifiers. Doc tweak.
53035
53036 2007-09-29  Bruno Haible  <bruno@clisp.org>
53037
53038         * lib/xreadlink.c (xreadlink): Simplify to a wrapper around areadlink.
53039         * modules/xreadlink (Depends-on): Add areadlink, remove readlink etc.
53040         * build-aux/install-reloc: Compile also areadlink.c.
53041         * modules/relocatable-prog-wrapper (Files): Add lib/areadlink.[hc].
53042
53043 2007-09-29  Bruno Haible  <bruno@clisp.org>
53044
53045         * gnulib-tool (func_emit_initmacro_done): Indentation.
53046
53047 2007-09-29  Bruno Haible  <bruno@clisp.org>
53048
53049         * README: Add CVS checkout update instructions.
53050         Info from Bob Proulx <bob@proulx.com>.
53051
53052 2007-09-28  Eric Blake  <ebb9@byu.net>
53053
53054         Provide move-if-change.
53055         * build-aux/move-if-change: New file, based on best practice
53056         rather than any canonical upstream location.
53057
53058 2007-09-28  Jim Meyering  <jim@meyering.net>
53059
53060         Fix canonicalize loop-detection corner case.
53061         Do not attempt to stat the symlink values stored via seen_triple.
53062         Without this, coreutils' tests/misc/readlink-fp-loop test would fail
53063         on linux-2.6.18, (but not 2.6.22).
53064         * lib/canonicalize.c (seen_triple): Use triple_compare_ino_str, not
53065         triple_compare.  The former compares dev,ino,filename, while the latter
53066         would actually stat dirname(filename) when dev and ino were equal.
53067         * lib/hash-triple.c: Install <string.h>.
53068         (STREQ): Define.
53069         (triple_compare_ino_str): New function.
53070         * lib/hash-triple.h (triple_compare_ino_str): Declare it.
53071
53072 2007-09-28  Eric Blake  <ebb9@byu.net>
53073
53074         Enforce that AC_REPLACE_FUNCS files exist.
53075         * gnulib-tool (func_emit_initmacro_done): Make AC_LIBSOURCES
53076         override check for typos.
53077
53078         Fix test-closein on Solaris 10.
53079         * tests/test-closein.c (main): Don't assume stdin can be inherited
53080         closed on all systems.
53081         * tests/test-closein.sh: Likewise.
53082         Reported by Piotr Tarnowski.
53083
53084 2007-09-28  Jim Meyering  <jim@meyering.net>
53085
53086         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Fix typo in comment.
53087
53088 2007-09-27  Jim Meyering  <jim@meyering.net>
53089
53090         canonicalize: Avoid a false-positive cycle failure.
53091         * modules/canonicalize (Depends-on): Add file-set and hash-triple.
53092         Sort.  Remove cycle-check.
53093         * lib/canonicalize.c: Include file-set.h and hash-triple.h,
53094         not cycle-check.h.
53095         (seen_triple): New function.
53096         (canonicalize_filename_mode): Use it instead of cycle-check.
53097         * tests/test-canonicalize.c: Add a test for this bug.
53098         * tests/test-canonicalize.sh: Set up and run the test.
53099
53100         New module, file-set, from coreutils.
53101         * modules/file-set: Define it.
53102         * lib/file-set.c, lib/file-set.h: Implement.
53103
53104         New module, hash-triple, from coreutils.
53105         * modules/hash-triple: Define it.
53106         * lib/hash-triple.c, lib/hash-triple.h: Implement.
53107
53108 2007-09-25  Eric Blake  <ebb9@byu.net>
53109
53110         Fix strerror on Interix.
53111         * lib/string_.h (strerror): Declare replacement.
53112         * doc/functions/strerror.texi (strerror): Document the Interix
53113         shortcoming.
53114         * modules/string (Makefile.am): Support new hooks.
53115         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Add new hooks.
53116         * m4/strerror.m4 (gl_FUNC_STRERROR): Defer to
53117         gl_FUNC_STRERROR_SEPARATE.
53118         (gl_FUNC_STRERROR_SEPARATE): Check for Interix bug.
53119         * lib/strerror.c (rpl_strerror): Provide replacement.
53120         * modules/strerror (Depends-on): Add string.
53121         (configure.ac): Detect use of module.
53122         * tests/test-strerror.c: New file.
53123         * modules/strerror-tests: New test module.
53124         * modules/argp (Depends-on): Add strerror.
53125         * modules/error (Depends-on): Likewise.
53126         Reported by Martin Koeppe.
53127
53128 2007-09-24  Bruno Haible  <bruno@clisp.org>
53129
53130         * README: Update git instructions.
53131
53132 2007-09-24  Eric Blake  <ebb9@byu.net>
53133
53134         Revert fpending breakage from 2007-09-08.
53135         * m4/fpending.m4 (gl_FUNC_FPENDING): Don't require existence of
53136         __fpending.c.
53137
53138 2007-09-24  Jim Meyering  <jim@meyering.net>
53139
53140         filenamecat.c: Add a test.
53141         * lib/filenamecat.c (main) [TEST_FILE_NAME_CONCAT]: Add a test
53142         showing how the function works when DIR is the empty string.
53143
53144 2007-09-21  Simon Josefsson  <simon@josefsson.org>
53145
53146         * tests/test-canonicalize.sh: Turn on executable bit.
53147
53148 2007-09-19  Eric Blake  <ebb9@byu.net>
53149
53150         * README: Update CVS instructions.
53151
53152 2007-09-18  Bruno Haible  <bruno@clisp.org>
53153
53154         * modules/areadlink: New file.
53155         * lib/areadlink.h (areadlink): New declaration.
53156         * lib/areadlink.c: New file, based on lib/xreadlink.c.
53157
53158 2007-09-17  Jim Meyering  <jim@meyering.net>
53159
53160         * lib/savewd.c (ESTALE) [!defined]: Define.
53161         Reported to be required on Interix by Martin Koeppe.
53162
53163 2007-09-17  Bruno Haible  <bruno@clisp.org>
53164
53165         * gnulib-tool (func_version): Use $version.
53166
53167 2007-09-16  Bruno Haible  <bruno@clisp.org>
53168
53169         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE, gl_PRINTF_INFINITE,
53170         gl_PRINTF_INFINITE_LONG_DOUBLE): Increase buf's size from 100 to 10000.
53171         Needed on glibc-2.6.1 with -fstack-protector -D_FORTIFY_SOURCE=2.
53172         Reported by Greg Schafer <gschafer@zip.com.au>.
53173
53174 2007-09-15  Bruno Haible  <bruno@clisp.org>
53175
53176         * gnulib-tool (sed): Try a little harder to make bash understand the
53177         alias.
53178         Reported by Bruce Korb <bruce.korb@gmail.com>.
53179
53180 2007-09-13  Eric Blake  <ebb9@byu.net>
53181
53182         * ChangeLog: Remove conflict markers.
53183
53184 2007-09-13  Simon Josefsson  <simon@josefsson.org>
53185
53186         * lib/gc-gnulib.c (gc_hash_open): Catch NULL calloc return value.
53187         Reported by Bruno Haible <bruno@clisp.org>.
53188
53189 2007-09-12  Bruno Haible  <bruno@clisp.org>
53190
53191         * m4/lock.m4: Don't provide an AC_USE_SYSTEM_EXTENSIONS definition.
53192         (gl_LOCK_EARLY_BODY): Use AC_GNU_SOURCE when AC_USE_SYSTEM_EXTENSIONS
53193         is not defined.
53194
53195 2007-09-12  Eric Blake  <ebb9@byu.net>
53196
53197         Track CVS Autoconf on AC_USE_SYSTEM_EXTENSIONS.
53198         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Update to CVS
53199         Autoconf definition.
53200         * modules/euidaccess (Depends-on): Add extensions, for
53201         AC_USE_SYSTEM_EXTENSIONS with autoconf <= 2.59.
53202         * modules/fnmatch (Depends-on): Likewise.
53203         * modules/getaddrinfo (Depends-on): Likewise.
53204         * modules/getdelim (Depends-on): Likewise.
53205         * modules/getline (Depends-on): Likewise.
53206         * modules/getsubopt (Depends-on): Likewise.
53207         * modules/gettext (Depends-on): Likewise.
53208         * modules/group-member (Depends-on): Likewise.
53209         * modules/mbchar (Depends-on): Likewise.
53210         * modules/memmem (Depends-on): Likewise.
53211         * modules/mempcpy (Depends-on): Likewise.
53212         * modules/memrchr (Depends-on): Likewise.
53213         * modules/pagealign_alloc (Depends-on): Likewise.
53214         * modules/readutmp (Depends-on): Likewise.
53215         * modules/stpcpy (Depends-on): Likewise.
53216         * modules/stpncpy (Depends-on): Likewise.
53217         * modules/strchrnul (Depends-on): Likewise.
53218         * modules/strndup (Depends-on): Likewise.
53219         * modules/strsep (Depends-on): Likewise.
53220         * modules/strverscmp (Depends-on): Likewise.
53221         * modules/vasprintf (Depends-on): Likewise.
53222         * modules/wcwidth (Depends-on): Likewise.
53223         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): AC_GNU_SOURCE will be
53224         obsolete in Autoconf 2.62; use AC_USE_SYSTEM_EXTENSIONS instead.
53225         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_GNU): Likewise.
53226         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDR_INFO): Likewise.
53227         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
53228         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
53229         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Likewise.
53230         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
53231         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Likewise.
53232         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
53233         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
53234         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
53235         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
53236         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
53237         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Likewise.
53238         * m4/readutmp.m4 (gl_READUTMP): Likewise.
53239         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
53240         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
53241         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
53242         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
53243         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
53244         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
53245         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
53246         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Likewise.
53247         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): Likewise.
53248         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
53249         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Likewise, but provide fallback,
53250         so that lock.m4 can be used in gettext without extensions module.
53251
53252 2007-09-11  Bruno Haible  <bruno@clisp.org>
53253
53254         * m4/isc-posix.m4: Remove file.
53255         Suggested by Eric Blake.
53256
53257 2007-09-11  Eric Blake  <ebb9@byu.net>
53258
53259         * ChangeLog: Restore lines accidentally truncated 2007-04-06.
53260
53261 2007-09-10  Bruno Haible  <bruno@clisp.org>
53262
53263         * posix-modules: Fix typo in error message.
53264         Reported by Matt <mkraai@beckman.com>.
53265
53266 2007-09-09  Bruno Haible  <bruno@clisp.org>
53267
53268         * doc/functions/getdelim.texi: Update list of platforms lacking the
53269         function.
53270         * doc/functions/getline.texi: Likewise.
53271
53272 2007-09-09  Jim Meyering  <jim@meyering.net>
53273
53274         * lib/hash.c (hash_initialize): Detect calloc failure.
53275         Reported by Bruno Haible.
53276
53277 2007-09-09  Bruno Haible  <bruno@clisp.org>
53278
53279         * lib/canonicalize-lgpl.c (__realpath): Set errno to ENOMEM when
53280         malloc or realloc fails.
53281
53282 2007-09-09  Bruno Haible  <bruno@clisp.org>
53283
53284         * modules/getcwd (Depends-on): Add malloc-posix.
53285         * modules/glob (Depends-on): Likewise.
53286         * modules/putenv (Depends-on): Likewise.
53287         * modules/strdup (Depends-on): Likewise.
53288         * modules/getdelim (Depends-on): Add realloc-posix.
53289         * modules/read-file (Depends-on): Likewise.
53290
53291 2007-09-09  Bruno Haible  <bruno@clisp.org>
53292
53293         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): New macro.
53294         (gl_FUNC_MALLOC_POSIX): Require it.
53295         * m4/realloc.m4 (gl_FUNC_REALLOC_POSIX): Likewise.
53296         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): Likewise.
53297         * modules/realloc (Files): Add m4/malloc.m4.
53298         * modules/calloc (Files): Likewise.
53299
53300 2007-09-09  Bruno Haible  <bruno@clisp.org>
53301
53302         * modules/malloc-posix: New file.
53303         * modules/malloc (Depends-on): Add malloc-posix.
53304         * lib/malloc.c: Include errno.h.
53305         (rpl_malloc): Merge the requirements of a glibc-compatible malloc
53306         and a POSIX-compatible malloc into a single function. Set ENOMEM
53307         when returning NULL.
53308         * m4/malloc.m4: New file.
53309         * doc/functions/malloc.texi: Mention the malloc-posix module.
53310         * lib/stdlib_.h (malloc): New declaration.
53311         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
53312         GNULIB_MALLOC_POSIX and HAVE_MALLOC_POSIX.
53313         * modules/stdlib (stdlib.h): Substitute also GNULIB_MALLOC_POSIX
53314         and HAVE_MALLOC_POSIX.
53315
53316 2007-09-09  Bruno Haible  <bruno@clisp.org>
53317
53318         * modules/realloc-posix: New file.
53319         * modules/realloc (Depends-on): Add realloc-posix.
53320         * lib/realloc.c: Include errno.h.
53321         (rpl_realloc): Merge the requirements of a glibc-compatible realloc
53322         and a POSIX-compatible realloc into a single function. Set ENOMEM
53323         when returning NULL.
53324         * m4/realloc.m4: New file.
53325         * doc/functions/realloc.texi: Mention the realloc-posix module.
53326         * lib/stdlib_.h (realloc): New declaration.
53327         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
53328         GNULIB_REALLOC_POSIX and HAVE_REALLOC_POSIX.
53329         * modules/stdlib (stdlib.h): Substitute also GNULIB_REALLOC_POSIX
53330         and HAVE_REALLOC_POSIX.
53331
53332 2007-09-09  Bruno Haible  <bruno@clisp.org>
53333
53334         * modules/calloc-posix: New file.
53335         * modules/calloc (Depends-on): Add calloc-posix.
53336         * lib/calloc.c: Include errno.h.
53337         (rpl_calloc): Merge the requirements of a glibc-compatible calloc
53338         and a POSIX-compatible calloc into a single function. Set ENOMEM
53339         when returning NULL.
53340         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): New macro.
53341         * doc/functions/calloc.texi: Mention the calloc-posix module.
53342         * lib/stdlib_.h (calloc): New declaration.
53343         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
53344         GNULIB_CALLOC_POSIX and HAVE_CALLOC_POSIX.
53345         * modules/stdlib (stdlib.h): Substitute also GNULIB_CALLOC_POSIX
53346         and HAVE_CALLOC_POSIX.
53347
53348 2007-09-09  Bruno Haible  <bruno@clisp.org>
53349
53350         Allow for modules to show an arbitrary notice.
53351         * modules/TEMPLATE-EXTENDED: Add 'Notice' field.
53352         * gnulib-tool: New option --extract-notice.
53353         (func_usage): Document it.
53354         (sed_extract_prog): Update.
53355         (func_get_notice): New function.
53356         (func_modules_notice): New function.
53357         (func_import, func_create_testdir): Invoke it.
53358         Suggested by Jim Meyering.
53359
53360 2007-09-09  Bruno Haible  <bruno@clisp.org>
53361
53362         * gnulib-tool: New options --verbose, --quiet.
53363         (func_usage): Document them.
53364         (verbose): New variable.
53365         (func_execute_command): New function.
53366         (func_import): Don't show the module list and the file list if
53367         $verbose < 0.
53368         (func_create_testdir): Likewise. Use func_execute_command.
53369         (func_create_megatestdir): Use func_execute_command.
53370
53371 2007-09-08  Bruno Haible  <bruno@clisp.org>
53372
53373         * gnulib-tool (func_import): Prefer rsync over wget when available,
53374         for fetching the PO files.
53375
53376 2007-09-08  Bruno Haible  <bruno@clisp.org>
53377
53378         * posix-modules: New file. Portions copied from gnulib-tool.
53379         * doc/gnulib.texi (POSIX Substitutes Library): New chapter.
53380
53381 2007-09-08  Jim Meyering  <jim@meyering.net>
53382
53383         Rename __fpending.c -> fpending.c and __fpending.h -> fpending.h
53384         * lib/fpending.h: Rename from __fpending.h.
53385         * lib/fpending.c: Rename from __fpending.c.
53386         Include "fpending.h", not "__fpending.h".
53387         * lib/__fpending.h, lib/__fpending.c: Remove files.
53388         * modules/fpending (Files): Reflect new file names.
53389         * lib/close-stream.c: Include "fpending.h", not "__fpending.h".
53390
53391 2007-09-08  Bruno Haible  <bruno@clisp.org>
53392
53393         * m4/inttypes-h.m4: Remove stub file.
53394
53395 2007-09-07  Simon Josefsson  <simon@josefsson.org>
53396
53397         * doc/headers/stdint.texi: Discuss #include_next issue.
53398
53399 2007-09-06  Paul Eggert  <eggert@cs.ucla.edu>
53400
53401         * build-aux/bootstrap: Remove obsolete comment about wget --help.
53402
53403 2007-09-06  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
53404
53405         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Fix misspelling
53406         in variable name.
53407
53408 2007-09-03  Jim Meyering  <jim@meyering.net>
53409
53410         New module: git-version-gen.
53411         * modules/git-version-gen: New file.
53412
53413         Import changes from coreutils for bootstrap script.
53414
53415         * build-aux/bootstrap (WGET_COMMAND): Remove code to set this variable.
53416
53417         bootstrap: uses rsync to download the .po files
53418         * build-aux/bootstrap (po_download_command_format): New global.
53419         (download_po_files): Use rsync.
53420         (update_po_files): Don't remove .po files after download,
53421         so future rsync runs can take advantage of the copies.
53422
53423         * build-aux/bootstrap (gnulib_tool): Make sha1sum check quietly.
53424
53425         Solve the unnecessary-.po-file-regeneration problem once and for all.
53426         * build-aux/bootstrap (download_po_files): New function, renamed from
53427         get_translations.  Now, downloads, but doesn't update LINGUAS.
53428         (update_po_files): New function.
53429
53430         bootstrap: Ignore more.
53431         * build-aux/bootstrap (symlink_to_dir): Add a directory name like
53432         uniwidth to e.g., lib/.gitignore.
53433         (slurp): Handle the sys_stat_.h -> sys mapping, too.
53434
53435         * build-aux/bootstrap: New setting: vc_ignore.
53436         (insert_sorted_if_absent): Create $file if absent.
53437         Adapt to new, possibly empty, list: $vc_ignore.
53438
53439         bootstrap: generate more ignorable names
53440         * build-aux/bootstrap (slurp): When generating ignorable names,
53441         also map .sin to .sed, .gperf to .c, and .y to .c.
53442
53443 2007-09-03  Jim Meyering  <jim@meyering.net>
53444
53445         * build-aux/git-version-gen: New file, from coreutils.  For details, see
53446         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commitdiff;h=bfe49f506
53447
53448 2007-09-02  Bruno Haible  <bruno@clisp.org>
53449
53450         Fix mis-recognition of 'mcs' on QNX 6.
53451         * m4/csharpcomp.m4 (gt_CSHARPCOMP): Test whether the "mcs --version"
53452         output contains the string "Mono".
53453         * lib/csharpcomp.c (compile_csharp_using_mono): Likewise.
53454         Reported by <kraai@ftbfs.org> at <https://savannah.gnu.org/bugs/?18337>.
53455
53456 2007-09-01  Bruno Haible  <bruno@clisp.org>
53457
53458         Fix collision between uniwidth/* and linebreak modules.
53459         * lib/linebreak.h (locale_charset, uc_width, u8_width, u16_width,
53460         u32_width): Remove declarations.
53461         * lib/linebreak.c: Include uniwidth.h, uniwidth/cjk.h, streq.h.
53462         (u32_mbtouc_unsafe, streq9, streq8, streq7, streq6, streq5, streq4,
53463         streq3, streq2, streq1, streq0): Remove functions.
53464         (STREQ): Remove macro.
53465         (is_cjk_encoding): Remove function.
53466         (nonspacing_table_data, nonspacing_table_ind): Remove constants.
53467         (uc_width, u8_width, u16_width, u32_width): Remove functions.
53468         * modules/linebreak (Depends-on): Add streq, uniwidth/width.
53469         * NEWS: Document the change.
53470
53471 2007-09-01  Bruno Haible  <bruno@clisp.org>
53472
53473         * lib/streq.h: Add double-inclusion guard.
53474
53475 2007-09-01  Karl Berry  <karl@gnu.org>
53476
53477         * MODULES.html.sh: Rename mreadlink_with_size to areadlink_with_size.
53478
53479 2007-08-28  Jim Meyering  <jim@meyering.net>
53480
53481         Rename mreadlink_with_size to areadlink_with_size.
53482         * NEWS: Document the change.
53483         * lib/mreadlink-with-size.c (mreadlink_with_size): Rename this to...
53484         * lib/areadlink-with-size.c (areadlink_with_size): ...this.
53485         * lib/mreadlink.h: Rename this to...
53486         * lib/areadlink.h: ...this.
53487         * modules/mreadlink-with-size: Rename this to...
53488         * modules/areadlink-with-size: ...this.
53489         * lib/canonicalize.c: Reflect the renaming.
53490         * modules/canonicalize: Likewise.
53491
53492 2007-08-26  Bruno Haible  <bruno@clisp.org>
53493
53494         * gnulib-tool (func_import): When deciding which files to remove,
53495         consider also dangling symbolic links.
53496         Reported by Eric Blake.
53497
53498 2007-08-26  Bruno Haible  <bruno@clisp.org>
53499
53500         * gnulib-tool (func_ln_if_changed): Use "test -h", not "test -L".
53501
53502 2007-08-23  Simon Josefsson  <simon@josefsson.org>
53503
53504         * lib/readline.c: Don't include getline.h, the prototype is now
53505         found in stdio.h.
53506
53507 2007-08-23  Jim Meyering  <jim@meyering.net>
53508
53509         Getdelim touchup.
53510         * lib/getdelim.c (getdelim): Don't bother to save/restore errno
53511         around the funlockfile call, since funlockfile never sets errno.
53512         Don't set errno upon failed realloc.
53513
53514 2007-08-22  Eric Blake  <ebb9@byu.net>
53515
53516         Getline touchups.
53517         * lib/getdelim.c (getdelim): Revert regression that required *n to
53518         be 0 when *lineptr is NULL.  Preserve errno across funlockfile.
53519         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Check for declaration of
53520         getdelim, rather than whether implementation is missing.
53521         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise for getline.
53522         * lib/stdio_.h (getline): Also declare if replacement is
53523         required.
53524         * doc/functions/getdelim.texi: New file.
53525         * doc/functions/getline.texi: Likewise.
53526         * doc/gnulib.texi (Function Substitutes): Add new files.
53527         Reported by Bruno Haible.
53528
53529 2007-08-22  Ludovic Courtès  <ludo@gnu.org>
53530
53531         * users.txt: Add Guile.
53532
53533 2007-08-22  Eric Blake  <ebb9@byu.net>
53534
53535         * tests/test-getdelim.c (main): Use remove, not unlink.
53536         * tests/test-getline.c (main): Likewise.
53537
53538         Move getline and getdelim into stdio.h, per POSIX 200x.
53539         * modules/getline (Files): Remove getline.h.
53540         (Depends-on): Add stdio.
53541         (configure.ac): Add module indicator.
53542         * modules/getdelim (Files): Remove getdelim.h.
53543         (Depends-on): Add stdio.
53544         (configure.ac): Add module indicator.
53545         * modules/stdio (Makefile.am): Work with new indicators.
53546         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
53547         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Work with stdio needs.
53548         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
53549         * lib/getdelim.h: Delete.
53550         * lib/getline.h: Delete.
53551         * lib/stdio_.h (getdelim, getline): Declare.
53552         * modules/getdelim-tests: New module.
53553         * modules/getline-tests: Likewise.
53554         * tests/test-getdelim.c: New file.
53555         * tests/test-getline.c: Likewise.
53556         * NEWS: Document the change.
53557         * lib/getline.c: Update choice of header.
53558         * lib/csharpcomp.c: Likewise.
53559         * lib/getpass.c: Likewise.
53560         * lib/javacomp.c: Likewise.
53561         * lib/javaversion.c: Likewise.
53562         * lib/yesno.c: Likewise.
53563         * lib/getdelim.c: Likewise.
53564         (getdelim): Set errno on failure, and avoid memory leak.
53565
53566 2007-08-19  Bruno Haible  <bruno@clisp.org>
53567
53568         * modules/closein (Depends-on): Add freadahead.
53569         * lib/closein.c: Include freadahead.h.
53570         (close_stdin): Skip the fseeko and fflush calls if freadahead(stdin)
53571         is zero.
53572
53573 2007-08-19  Bruno Haible  <bruno@clisp.org>
53574
53575         * modules/freadahead-tests: New file.
53576         * tests/test-freadahead.sh: New file.
53577         * tests/test-freadahead.c: New file.
53578
53579         * modules/freadahead: New file.
53580         * lib/freadahead.h: New file.
53581         * lib/freadahead.c: New file.
53582         * MODULES.html.sh (File stream based Input/Output): Add freadahead,
53583         fbufmode, fpurge, freadable, fwritable.
53584
53585 2007-08-19  Eric Blake  <ebb9@byu.net>
53586
53587         Test yesno in combination with closein.
53588         * lib/yesno.c (yesno): Document use of stdin.
53589         * modules/yesno-tests (Files): New module.
53590         * tests/test-yesno.c (main): New file.
53591         * tests/test-yesno.sh: Likewise.
53592
53593 2007-08-19  Bruno Haible  <bruno@clisp.org>
53594
53595         * lib/fbufmode.c (fbufmode): Add tentative support for Solaris/AMD64.
53596         * lib/fseeko.c (rpl_fseeko): Likewise.
53597         * lib/fseterr.c (fseterr): Likewise.
53598
53599 2007-08-19  Bruno Haible  <bruno@clisp.org>
53600
53601         * tests/test-lseek.c (main): Disable a test for BeOS.
53602         * doc/functions/lseek.texi: Document the BeOS bug.
53603
53604 2007-08-19  Bruno Haible  <bruno@clisp.org>
53605             Eric Blake  <ebb9@byu.net>
53606
53607         * lib/lseek.c: Include <sys/stat.h>.
53608         (rpl_lseek): Add workaround code also for Unix platforms.
53609         Needed for BeOS.
53610         * m4/lseek.m4 (gl_FUNC_LSEEK): When cross-compiling, fail on BeOS.
53611         * doc/functions/lseek.texi: Document BeOS definiency.
53612
53613 2007-08-18  Bruno Haible  <bruno@clisp.org>
53614
53615         * modules/fstrcmp-tests: New file.
53616         * tests/test-fstrcmp.c: New file.
53617
53618 2007-08-18  Bruno Haible  <bruno@clisp.org>
53619
53620         * modules/fstrcmp: New file, from GNU gettext with modifications.
53621         * lib/fstrcmp.h: New file, from GNU gettext.
53622         * lib/fstrcmp.c: New file, from GNU gettext.
53623         * MODULES.html.sh (String handling): Add fstrcmp.
53624
53625 2007-08-18  Bruno Haible  <bruno@clisp.org>
53626
53627         * lib/diffseq.h (struct context): Change type of 'heuristic' field to
53628         'bool'.
53629         (diag, compareseq): Remove const from the ctxt argument.
53630         (USE_HEURISTIC): Undefine at the end.
53631
53632 2007-08-18  Jim Meyering  <jim@meyering.net>
53633
53634         New file: lib/idcache.h
53635         * NEWS: Mention the addition.
53636         * modules/idcache (Files): Add lib/idcache.h
53637         * lib/idcache.c: Include "idcache.h".
53638         Don't include <sys/types.h>.
53639         Add a FIXME comment.
53640         Move file-scoped "static" declarations to the top.
53641         * lib/idcache.h: New file.  Include <sys/types.h> here, instead.
53642
53643 2007-08-17  Bruno Haible  <bruno@clisp.org>
53644         and Paul Eggert  <eggert@cs.ucla.edu>
53645
53646         * MODULES.html.sh: Add diffseq.
53647         * modules/diffseq: New file.
53648         * lib/diffseq.h: New file, from GNU gettext with a few minor changes,
53649         extracted from GNU gettext's fstrcmp.c and GNU diff's analyze.c.
53650
53651 2007-08-15  Paul Eggert  <eggert@cs.ucla.edu>
53652
53653         Import changes from coreutils for bootstrap script.
53654
53655         2007-07-21  Paul Eggert  <eggert@cs.ucla.edu>
53656
53657         * build-aux/bootstrap (slurp): Work even in environments where
53658         "ls" defaults to "ls -A".  Put in a FIXME, though, since the
53659         current code does not slurp files whose names start with ".", and
53660         this looks like it might be a troublesome area.
53661
53662         2007-07-11  Jim Meyering  <jim@meyering.net>
53663
53664         If there's a GPL vN copyright comment, require that N == 3.
53665
53666         2007-07-08  Jim Meyering  <jim@meyering.net>
53667
53668         Run the coreutils-specific code only if tests/Makefile.am.in exists.
53669         * build-aux/bootstrap (mam_template): Move definition out of loop.
53670
53671         Create symlinks for gl/{lib,m4}/*, just as for gnulib/{lib,m4}/*.
53672
53673         * build-aux/bootstrap (symlink_to_dir): Rename function from
53674         symlink_to_gnulib.  Add a directory parameter.  Update all
53675         callers.
53676         (cp_mark_as_generated): Also check for -- and link to -- files in
53677         gl/.
53678
53679         2007-07-08  Jim Meyering  <jim@meyering.net>
53680
53681         Adapt to deeper hierarchy in gnulib.
53682         * build-aux/bootstrap (symlink_to_dir): If the destination
53683         directory doesn't exist, create it. This is required at least for
53684         "lib/uniwidth/cjk.h".
53685
53686         2007-05-15  Jim Meyering  <jim@meyering.net>
53687
53688         * build-aux/bootstrap: Now that generated Makefile.am files
53689         are no longer under version control, they must be created at
53690         bootstrap time.
53691
53692 2007-08-14  Ben Pfaff  <blp@gnu.org>
53693
53694         * lib/count-one-bits.h: Add comments.  From Bruno Haible.
53695
53696 2007-08-14  Paul Eggert  <eggert@cs.ucla.edu>
53697
53698         * lib/count-one-bits.h: Don't include <limits.h>; no longer needed
53699         given the changes below.
53700         (COUNT_ONE_BITS): Use 'verify' rather than 'verify_true'.  Work
53701         even on hosts that have padding bits beyond the supported 64.
53702
53703 2007-08-10  Paul Eggert  <eggert@cs.ucla.edu>
53704
53705         * NEWS: In xstrtol, remove STRTOL_FATAL_ERROR and add xstrtol_fatal.
53706         * lib/xstrtol.h: Don't include exitfail.h; that's now internal to
53707         xstrtol.c.  Include getopt.h, since xstrtol_fatal's signature
53708         depends on it.
53709         (xstrtol_error): Remove.
53710         (xstrtol_fatal): New decl, replacing the functionality of xstrtol_error
53711         but with a different signature.
53712         (ATTRIBUTE_NORETURN, __attribute__): New macros.
53713         * lib/xstrtol-error.c: Include exitfail.h.
53714         (xstrtol_fatal): New function, with a different signature from the
53715         old xstrtol_error, so that the caller need not worry about passing
53716         in an exit status, or about storage management of the option argument.
53717         (xstrtol_error): Now a static function.  Redo signature to
53718         implement xstrtol_fatal.  Output the correct number of hyphens in
53719         front of the option so that the caller need not worry about
53720         storage management.
53721         (N_): New macro.
53722         (_): Remove; not used now.
53723         * modules/xstrtol: Depend on getopt.
53724         * tests/test-xstrtol.c (main): Use new xstrtol_error function instead
53725         of old STRTOL_FATAL_ERROR macro.
53726         * tests/test-xstrtol.sh (t-xstrtol.xo): Adjust to match new behavior
53727         of test program.
53728         * tests/test-xstrtoimax.sh (t-xstrtoimax.xo): Likewise.
53729         * tests/test-xstrtoumax.sh (t-xstrtoumax.xo): Likewise.
53730
53731 2007-08-08  Eric Blake  <ebb9@byu.net>
53732
53733         * lib/xstrtol-error.c: Add missing include.
53734
53735         Move xstrtol messages into gnulib domain, when --pobase is used.
53736         * lib/xstrtol.h (_STRTOL_ERROR): Move messages out of macro...
53737         * lib/xstrtol-error.c (xstrtol_error): ...into new file.
53738         * modules/xstrtol (Files): Distribute new file.
53739         * m4/xstrtol.m4 (gl_XSTRTOL): Build new file.
53740         * lib/xstrtol.c (TESTING_XSTRTO): Move tests...
53741         * tests/test-xstrtol.c: ...into new file.
53742         * tests/test-xstrtoul.c: Also test xstrtoul.
53743         * tests/test-xstrtoimax.c: Also test xstrtoimax.
53744         * tests/test-xstrtoumax.c: Also test xstrtoumax.
53745         * tests/test-xstrtol.sh: Drive the tests.
53746         * tests/test-xstrtoimax.sh: Likewise.
53747         * tests/test-xstrtoumax.sh: Likewise.
53748         * modules/xstrtol-tests: New module.
53749         * modules/xstrtoimax-tests: Likewise.
53750         * modules/xstrtoumax-tests: Likewise.
53751
53752 2007-08-08  Jim Meyering  <jim@meyering.net>
53753
53754         New function: mfile_name_concat.
53755         * lib/filenamecat.c (mfile_name_concat): New function, just like
53756         file_name_concat, but return NULL upon failure rather than exiting
53757         with a diagnostic.
53758         * lib/filenamecat.h: Declare it.
53759
53760 2007-08-07  Bruno Haible  <bruno@clisp.org>
53761
53762         * m4/inttypes.m4 (gl_INTTYPES_H): Use GL_TRIGGER_STDC_LIMIT_MACROS
53763         instead of __STDC_LIMIT_MACROS_TRIGGER. This avoids a redefinition
53764         warning from gcc.
53765         Reported by Eric Blake.
53766
53767 2007-08-07  Simon Josefsson  <simon@josefsson.org>
53768
53769         * modules/crypto/arctwo (License): Use the synonymous term "LGPLv2+".
53770         * modules/crypto/arcfour (License): Likewise.
53771         * modules/crypto/des-tests (License): Likewise.
53772         * modules/crypto/gc-arctwo-tests (License): Likewise.
53773         * modules/crypto/gc-des-tests (License): Likewise.
53774         * modules/crypto/gc-hmac-md5-tests (License): Likewise.
53775         * modules/crypto/gc-hmac-sha1-tests (License): Likewise.
53776         * modules/crypto/gc-md2-tests (License): Likewise.
53777         * modules/crypto/gc-md4-tests (License): Likewise.
53778         * modules/crypto/gc-md5-tests (License): Likewise.
53779         * modules/crypto/gc-pbkdf2-sha1-tests (License): Likewise.
53780         * modules/crypto/gc-rijndael-tests (License): Likewise.
53781         * modules/crypto/gc-sha1-tests (License): Likewise.
53782         * modules/crypto/gc-tests (License): Likewise.
53783         * modules/crypto/hmac-md5 (License): Likewise.
53784         * modules/crypto/hmac-sha1 (License): Likewise.
53785         * modules/crypto/md2-tests (License): Likewise.
53786         * modules/crypto/md4-tests (License): Likewise.
53787         * modules/crypto/md5 (License): Likewise.
53788         * modules/crypto/rijndael (License): Likewise.
53789         * modules/crypto/sha1 (License): Likewise.
53790         * modules/memxor (License): Likewise.
53791
53792 2007-08-06  Paul Eggert  <eggert@cs.ucla.edu>
53793         and Bruno Haible  <bruno@clisp.org>
53794
53795         * NEWS: Describe interface changes to human, xstrtol.
53796         * lib/human.h: Include <xstrtol.h>.
53797         (human_options): Return enum strtol_error, not int.  Remove
53798         bool arg; take int * instead.
53799         * lib/human.c: Don't include "gettext.h".
53800         (_): Remove; no longer used.
53801         Don't include <xstrtol.h>, since human.h does it.
53802         (human_options): Adjust to abovementioned interface changes.
53803         Do not report error to stderr; that's now the caller's
53804         responsibility.
53805         * lib/xstrtol.c (main) [defined TESTING_XSTRTO]: Adjust to
53806         interface change.
53807         * lib/xstrtol.h (_STRTOL_ERROR): Take Option, Arg rather than
53808         Str, Argument_type_string.  All uses changed.  Put " argument"
53809         in diagnostics to make them clearer.  Change wording of suffix
53810         message for clarity.
53811         (STRTOL_FATAL_ERROR): Take Option, Arg rather than Str,
53812         Argument_type_string.
53813         (STRTOL_FATAL_WARN): Remove; no longer used.
53814         * modules/human (Depends-on): Remove gettext-h.
53815
53816 2007-08-06  Simon Josefsson  <simon@josefsson.org>
53817
53818         * build-aux/maint.mk, build-aux/GNUmakefile: Relicense to GPLv3+.
53819
53820 2007-07-31  Bruno Haible  <bruno@clisp.org>
53821
53822         * m4/stdint.m4 (gl_STDINT_H): Test whether WCHAR_MIN and WCHAR_MAX
53823         are defined by <stdint.h> (as opposed to <wchar.h>, as on Dragonfly).
53824         Reported by Joerg Sonnenberger <joerg@britannica.bec.de>.
53825
53826 2007-07-31  Bruno Haible  <bruno@clisp.org>
53827
53828         * lib/fflush.c (rpl_fflush): On BSD systems, use the __SNPT flag.
53829         Suggested by Joerg Sonnenberger <joerg@britannica.bec.de>.
53830
53831 2007-07-30  Bruno Haible  <bruno@clisp.org>
53832
53833         * modules/base64 (License): Use the synonymous term "LGPLv2+".
53834         * modules/c-ctype (License): Likewise.
53835         * modules/c-strcase (License): Likewise.
53836         * modules/check-version (License): Likewise.
53837         * modules/iconv (License): Likewise.
53838         * modules/iconv_open (License): Likewise.
53839         * modules/read-file (License): Likewise.
53840         * modules/striconv (License): Likewise.
53841         * modules/strverscmp (License): Likewise.
53842         * modules/vasprintf (License): Likewise.
53843         * modules/crypto/des (License): Likewise.
53844         * modules/crypto/gc (License): Likewise.
53845         * modules/crypto/gc-arcfour (License): Likewise.
53846         * modules/crypto/gc-arctwo (License): Likewise.
53847         * modules/crypto/gc-des (License): Likewise.
53848         * modules/crypto/gc-hmac-md5 (License): Likewise.
53849         * modules/crypto/gc-hmac-sha1 (License): Likewise.
53850         * modules/crypto/gc-md2 (License): Likewise.
53851         * modules/crypto/gc-md4 (License): Likewise.
53852         * modules/crypto/gc-md5 (License): Likewise.
53853         * modules/crypto/gc-pbkdf2-sha1 (License): Likewise.
53854         * modules/crypto/gc-random (License): Likewise.
53855         * modules/crypto/gc-rijndael (License): Likewise.
53856         * modules/crypto/gc-sha1 (License): Likewise.
53857         * modules/crypto/md2 (License): Likewise.
53858         * modules/crypto/md4 (License): Likewise.
53859
53860 2007-07-30  Jim Meyering  <jim@meyering.net>
53861
53862         * lib/fts.c (fts_read): Upon failure to chdir into a subdirectory,
53863         set fts_info to FTS_DNR, not to FTS_ERR, so that the caller knows
53864         it has valid stat data.  This bug would cause du not to count the
53865         sizes of inaccessible directories.
53866         Patch by Bryan Mason <bmason@redhat.com>, via Jose Maria Plans
53867         in <http://bugzilla.redhat.com/250077>.
53868
53869 2007-07-25  Peter O'Gorman  <peter@pogma.com>
53870             Bruno Haible  <bruno@clisp.org>
53871
53872         * m4/include_next.m4 (gl_INCLUDE_NEXT): Test whether #include_next
53873         really works. Needed because AIX 4.3 "xlc -E" doesn't understand
53874         #include_next, gives a diagnostic about it, but reports no error in
53875         the exit code.
53876         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
53877
53878 2007-07-24  Ben Pfaff  <blp@gnu.org>
53879
53880         Improve name: "count-one-bits" is better than "popcount".
53881         * MODULES.html.sh: Update name.
53882         * lib/popcount.h: Renamed lib/count-one-bits.h.
53883         (popcount): Renamed count_one_bits.
53884         (popcountl): Renamed count_one_bits_l.
53885         (popcountll): Renamed count_one_bits_ll.
53886         * m4/popcount.m4: Renamed m4/count-one-bits.m4.
53887         * modules/popcount: Renamed module/count-one-bits.
53888         * modules/popcount-tests: Renamed module/count-one-bits-tests.
53889         * tests/test-popcount.c: Renamed tests/test-count-one-bits.c.
53890
53891 2007-07-23  Ben Pfaff  <blp@gnu.org>
53892
53893         * lib/popcount.h (popcount32): Reduce size of constants, to allow
53894         better code generation, and add U to large constants to avoid
53895         warnings, in non-GCC case.
53896         Suggested by Bruno Haible.
53897
53898 2007-07-23  Ben Pfaff  <blp@gnu.org>
53899
53900         * lib/popcount.h: Use verify_true instead of if...abort.
53901         * modules/popcount: Depend on verify module.
53902         Suggested by Jim Meyering.
53903
53904 2007-07-23  Bruno Haible  <bruno@clisp.org>
53905
53906         * gnulib-tool (func_import): Create a .cvsignore file also when the
53907         directory is not yet in CVS but the toplevel directory is. When
53908         creating a .cvsignore file, add ".deps" and ".dirstamp" to it.
53909         Reported by Karl Berry.
53910
53911 2007-07-22  Ben Pfaff  <blp@gnu.org>
53912
53913         * lib/popcount.h: Use faster, branchless algorithm for non-GCC
53914         case.
53915         Suggested by Eric Blake.
53916
53917 2007-07-22  Ben Pfaff  <blp@gnu.org>
53918
53919         New module: popcount.
53920         * MODULES.html.sh: Add popcount.
53921         * modules/popcount: New file.
53922         * modules/popcount-tests: New file.
53923         * tests/test-popcount.c: New file.
53924         * lib/popcount.h: New file.
53925         * m4/popcount.m4: New file.
53926
53927 2007-07-22  Paul Eggert  <eggert@cs.ucla.edu>
53928
53929         * build-aux/announce-gen: Update to GPLv3.
53930
53931         * build-aux/config.guess: Update from config.
53932
53933 2007-07-21  Bruno Haible  <bruno@clisp.org>
53934
53935         * lib/error.c (_) [ENABLE_NLS]: Define to gettext.
53936         * lib/verror.c (_) [ENABLE_NLS]: Likewise.
53937
53938 2007-07-20  Jim Meyering  <jim@meyering.net>
53939
53940         * check-module: Diagnose a self-dependency.
53941
53942 2007-07-19  Bruno Haible  <bruno@clisp.org>
53943
53944         * gnulib-tool (func_import): Don't abort if pobase or po_domain is
53945         empty.
53946         Reported by Eric Blake.
53947
53948 2007-07-18  Bruno Haible  <bruno@clisp.org>
53949
53950         * gnulib-tool: New options --po-base, --po-domain.
53951         (func_usage): Document them.
53952         (pobase, po_domain): New variables.
53953         (func_emit_lib_Makefile_am): Augment AM_CPPFLAGS, defining
53954         DEFAULT_TEXT_DOMAIN.
53955         (func_emit_po_Makevars, func_emit_po_POTFILES_in): New functions.
53956         (func_import): Consider pobase and po_domain. Create a po/ directory.
53957         (func_create_testdir): Set pobase and po_domain to empty.
53958         * build-aux/po/Makefile.in.in: New file, from GNU gettext 0.16.1.
53959         * build-aux/po/remove-potcdate.sin: New file, from GNU gettext 0.16.1.
53960
53961 2007-07-18  Bruno Haible  <bruno@clisp.org>
53962
53963         * gnulib-tool (func_get_automake_snippet): Synthesize also an
53964         EXTRA_DIST augmentation for files in build-aux/.
53965
53966 2007-07-16  Bruno Haible  <bruno@clisp.org>
53967
53968         * modules/lseek (License): Use the synonymous term "LGPLv2+".
53969         * modules/getdelim (License): Likewise.
53970
53971 2007-07-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
53972
53973         * modules/arpa_inet (License): Use the synonymous term LGPLv2+.
53974         * modules/d-type (License): Likewise.
53975         * modules/extensions (License): Likewise.
53976         * modules/fnmatch (License): Likewise.
53977         * modules/fseeko (License): Likewise.
53978         * modules/getaddrinfo (License): Likewise.
53979         * modules/getline (License): Likewise.
53980         * modules/getlogin_r (License): Likewise.
53981         * modules/getpass (License): Likewise.
53982         * modules/gettimeofday (License): Likewise.
53983         * modules/glob (License): Likewise.
53984         * modules/inet_ntop (License): Likewise.
53985         * modules/malloc (License): Likewise.
53986         * modules/malloca (License): Likewise.
53987         * modules/memmem (License): Likewise.
53988         * modules/mempcpy (License): Likewise.
53989         * modules/memset (License): Likewise.
53990         * modules/minmax (License): Likewise.
53991         * modules/mktime (License): Likewise.
53992         * modules/netinet_in (License): Likewise.
53993         * modules/pathmax (License): Likewise.
53994         * modules/poll (License): Likewise.
53995         * modules/regex (License): Likewise.
53996         * modules/snprintf (License): Likewise.
53997         * modules/stdbool (License): Likewise.
53998         * modules/stdint (License): Likewise.
53999         * modules/stdio (License): Likewise.
54000         * modules/strcase (License): Likewise.
54001         * modules/strcasestr (License): Likewise.
54002         * modules/strdup (License): Likewise.
54003         * modules/string (License): Likewise.
54004         * modules/strndup (License): Likewise.
54005         * modules/strnlen (License): Likewise.
54006         * modules/strpbrk (License): Likewise.
54007         * modules/strptime (License): Likewise.
54008         * modules/strsep (License): Likewise.
54009         * modules/sys_select (License): Likewise.
54010         * modules/sys_socket (License): Likewise.
54011         * modules/sys_stat (License): Likewise.
54012         * modules/sys_time (License): Likewise.
54013         * modules/time (License): Likewise.
54014         * modules/time_r (License): Likewise.
54015         * modules/timegm (License): Likewise.
54016         * modules/unistd (License): Likewise.
54017         * modules/vsnprintf (License): Likewise.
54018         * modules/wctype (License): Likewise.
54019
54020 2007-07-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54021
54022         * modules/argz (License): LGPLv2+.
54023
54024 2007-07-15  Karl Berry  <karl@gnu.org>
54025
54026         * doc/gnulib.texi: revise node structure per new fdl.texi.
54027
54028 2007-07-14  Bruno Haible  <bruno@clisp.org>
54029
54030         * lib/uniname/gen-uninames.lisp (main): Emit a "do not edit" line to
54031         the output file.
54032         * lib/uniname/uninames.h: Regenerated.
54033
54034 2007-07-14  Karl Berry  <karl@gnu.org>
54035
54036         * doc/*gpl*.texi, doc/fdl.texi: new versions, consistently
54037         omitting sectioning and index commands.
54038
54039 2007-07-13  Bruno Haible  <bruno@clisp.org>
54040
54041         New gnulib-tool option --more-symlinks.
54042         * gnulib-tool (func_usage): Document --more-symlinks.
54043         (do_copyrights): New variable.
54044         Recognize option --more-symlinks.
54045         (func_import): Don't add a copyright notice transform to
54046         sed_transform_lib_file if do_copyrights is empty.
54047
54048 2007-07-13  Bruno Haible  <bruno@clisp.org>
54049
54050         * lib/vasnprintf.c (decimal_point_char): Define also if
54051         (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE)
54052         && !NEED_PRINTF_DIRECTIVE_A.
54053         Reported by Clemens Koller <clemens.koller@anagramm.de> via
54054         Gary V. Vaughan <gary@gnu.org>.
54055
54056 2007-07-13  Paul Eggert  <eggert@cs.ucla.edu>
54057
54058         * lib/inttypes_.h: Undo previous change, since it was fixed
54059         in a different way in the 2007-07-02 fix to m4/inttypes.m4.
54060
54061 2007-07-13  Bruno Haible  <bruno@clisp.org>
54062
54063         * lib/stdint_.h: Fix typo: _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H was
54064         misspelled as _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H.
54065
54066 2007-07-13  Jim Meyering  <jim@meyering.net>
54067
54068         df: Don't fail for Tru64's "file-on-file mount".
54069         * m4/fsusage.m4 (gl_FSUSAGE): Reject Tru64's buggy statvfs,
54070         so we fall through and use statfs instead.  Details here:
54071         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/10878>
54072         Reported by Albert Chin.
54073
54074 2007-07-13  Bruno Haible  <bruno@clisp.org>
54075
54076         * modules/alloca-opt (License): Use the synonymous term "LGPLv2+".
54077         * modules/configmake (License): Likewise.
54078         * modules/gettext (License): Likewise.
54079         * modules/gettext-h (License): Likewise.
54080         * modules/include_next (License): Likewise.
54081         * modules/link-warning (License): Likewise.
54082         * modules/localcharset (License): Likewise.
54083         * modules/localename (License): Likewise.
54084         * modules/lock (License): Likewise.
54085         * modules/relocatable-lib-lgpl (License): Likewise.
54086         * modules/size_max (License): Likewise.
54087         * modules/vasnprintf (License): Likewise.
54088         * modules/wchar (License): Likewise.
54089         * modules/xsize (License): Likewise.
54090
54091 2007-07-13  Bruno Haible  <bruno@clisp.org>
54092
54093         * gnulib-tool (func_import): Treat LGPLv2 as synonymous to LGPL.
54094         (func_create_testdir): Handle copying terms "GPLv2+" and "LGPLv2+".
54095
54096 2007-07-12  Bruno Haible  <bruno@clisp.org>
54097
54098         * doc/gnulib-intro.texi (Copyright): Clarify the license abbreviations
54099         in the modules files.
54100
54101 2007-07-11  Karl Berry  <karl@gnu.org>
54102
54103         * MODULES.html.sh (func_module): use
54104          sed -e '\|^'"${includefile}"'$|d'
54105          instead of /.../d, to avoid errors on $includefile's containing /.
54106
54107 2007-07-10  Sergey Poznyakoff  <gray@gnu.org.ua>
54108
54109         * gnulib-tool (func_import): Avoid duplication of --avoid
54110         statements
54111         (func_dest_tmpfilename,func_create_testdir): Translate `-' in file
54112         names to `_' in variable names.
54113
54114 2007-07-10  Eric Blake  <ebb9@byu.net>
54115
54116         * lib/version-etc.c (version_etc_va): Default to GPLv3+.
54117         * NEWS: Document this change.
54118
54119 2007-07-08  Bruno Haible  <bruno@clisp.org>
54120
54121         Update to Unicode 5.0.
54122         * lib/uniwidth/width.c (nonspacing_table_data): Add U+00AD,
54123         U+0350..U+035F, U+05A2, U+05BA, U+05C5, U+05C7, U+0600..U+0603,
54124         U+0610..U+0615, U+0656..U+065E, U+07EB..U+07F3, U+0A01, U+0AE2..U+0AE3,
54125         U+0CBC. Remove U+0CBF, U+0CC6. Add U+0CE2..U+0CE3, U+135F,
54126         U+17B4..U+17B5, U+17DD. Remove U+180E. Add U+1920..U+1922,
54127         U+1927..U+192B, U+1932, U+1939..U+193B, U+1A17..U+1A18, U+1B00..U+1B03,
54128         U+1B34, U+1B36..U+1B3A, U+1B3C, U+1B42, U+1B6B..U+1B73, U+1DC0..U+1DCA,
54129         U+1DFE..U+1DFF, U+20EB..U+20EF, U+A802, U+A806, U+A80B, U+A825..U+A826,
54130         U+10A01..U+10A03, U+10A05..U+10A06, U+10A0C..U+10A0F, U+10A38..U+10A3A,
54131         U+10A3F, U+1D242..U+1D244.
54132         (nonspacing_table_ind): Update.
54133         (uc_width): Assign width 0 to U+E0100..U+E01EF. Assign width 1 to
54134         U+4DC0..U+4DFF. Assign width 2 to U+2329..U+232A, U+FE10..U+FE1F.
54135
54136 2007-07-08  Bruno Haible  <bruno@clisp.org>
54137
54138         Update to Unicode 5.0.
54139         * lib/uniname/gen-uninames.lisp (main): Add the range 0x12xxx to the
54140         code transform. Extend the name index field of unicode_name_to_code and
54141         unicode_code_to_name from 16 to 24 bits.
54142         * lib/uniname/uniname.c (unicode_character_name,
54143         unicode_name_character): Add the range 0x12xxx to the code transform.
54144         * lib/uniname/uninames.h: Regenerated.
54145         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.0.
54146
54147 2007-07-07  Bruno Haible  <bruno@clisp.org>
54148
54149         * modules/wcwidth-tests: New file.
54150         * tests/test-wcwidth.c: New file.
54151
54152         Work around MacOS X wcwidth() bug.
54153         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test against MacOS X 10.3 bug.
54154         * lib/wcwidth.c: Include localcharset.h, streq.h, uniwidth.h.
54155         (rpl_wcwidth): Special-case the UTF-8 locales. Fall back to the
54156         original wcwidth in non-UTF-8 locales.
54157         * modules/wcwidth (Depends-on): Add localcharset, streq,
54158         uniwidth/width.
54159         * doc/functions/wcwidth.texi: Update.
54160
54161 2007-07-07  Bruno Haible  <bruno@clisp.org>
54162
54163         * lib/wchar_.h: Include the GL_LINK_WARNING macro.
54164         (wcwidth): New declaration.
54165         * m4/wchar.m4 (gl_WCHAR_MODULE_INDICATOR, gl_WCHAR_H_DEFAULTS): New
54166         macros.
54167         (gl_WCHAR_H): Require gl_WCHAR_H_DEFAULTS. Don't set WCHAR_H to empty
54168         here. Prepare for creating <wchar.h> unconditionally.
54169         * modules/wchar (Depends-on): Add link-warning.
54170         (Makefile.am): Substitute also GNULIB_WCWIDTH, HAVE_DECL_WCWIDTH,
54171         REPLACE_WCWIDTH, and GL_LINK_WARNING.
54172         * lib/wcwidth.h: Remove file.
54173         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gl_WCHAR_H_DEFAULTS. Set
54174         HAVE_DECL_WCWIDTH, REPLACE_WCWIDTH, WCHAR_H.
54175         * modules/wcwidth (Files): Remove lib/wcwidth.h.
54176         (configure.ac): Invoke gl_WCHAR_MODULE_INDICATOR.
54177         (Include): Replace wcwidth.h with <wchar.h>.
54178         * lib/wcwidth.c: Include <wchar.h> instead of wcwidth.h.
54179         * lib/mbchar.h: Don't include wcwidth.h.
54180         * lib/mbswidth.c: Likewise.
54181         * NEWS: Mention the change.
54182
54183 2007-07-07  Bruno Haible  <bruno@clisp.org>
54184
54185         * lib/wcwidth.c: New file, extracted from lib/wcwidth.h.
54186         * lib/wcwidth.h: Don't include wctype.h. Replace inline function
54187         definition with an external declaration.
54188         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Use wcwidth.c when wcwidth is not
54189         defined as a function. Remove AC_C_INLINE requirement.
54190         * modules/wcwidth (Files): Add lib/wcwidth.c.
54191         (Makefile.am): Remove redundant statement.
54192
54193 2007-07-07  Bruno Haible  <bruno@clisp.org>
54194
54195         * MODULES.html.sh (Unicode string functions): Add the new modules.
54196
54197         * tests/uniwidth/test-u32-strwidth.c: New file.
54198         * modules/uniwidth/u32-strwidth-tests: New file.
54199
54200         * lib/uniwidth/u32-strwidth.c: New file.
54201         * modules/uniwidth/u32-strwidth: New file.
54202
54203         * tests/uniwidth/test-u16-strwidth.c: New file.
54204         * modules/uniwidth/u16-strwidth-tests: New file.
54205
54206         * lib/uniwidth/u16-strwidth.c: New file.
54207         * modules/uniwidth/u16-strwidth: New file.
54208
54209         * tests/uniwidth/test-u8-strwidth.c: New file.
54210         * modules/uniwidth/u8-strwidth-tests: New file.
54211
54212         * lib/uniwidth/u8-strwidth.c: New file.
54213         * modules/uniwidth/u8-strwidth: New file.
54214
54215         * tests/uniwidth/test-u32-width.c: New file.
54216         * modules/uniwidth/u32-width-tests: New file.
54217
54218         * lib/uniwidth/u32-width.c: New file.
54219         * modules/uniwidth/u32-width: New file.
54220
54221         * tests/uniwidth/test-u16-width.c: New file.
54222         * modules/uniwidth/u16-width-tests: New file.
54223
54224         * lib/uniwidth/u16-width.c: New file.
54225         * modules/uniwidth/u16-width: New file.
54226
54227         * tests/uniwidth/test-u8-width.c: New file.
54228         * modules/uniwidth/u8-width-tests: New file.
54229
54230         * lib/uniwidth/u8-width.c: New file.
54231         * modules/uniwidth/u8-width: New file.
54232
54233         * tests/uniwidth/test-uc_width.c: New file.
54234         * modules/uniwidth/width-tests: New file.
54235
54236         * lib/uniwidth/width.c: New file, from GNU libiconv.
54237         * lib/uniwidth/cjk.h: New file, from GNU libiconv.
54238         * modules/uniwidth/width: New file.
54239
54240         * lib/uniwidth.h: New file, from GNU libiconv.
54241         * modules/uniwidth/base: New file.
54242
54243 2007-07-07  Bruno Haible  <bruno@clisp.org>
54244
54245         * lib/uniname.h: New file, from GNU gettext.
54246         * lib/uniname/gen-uninames.lisp: New file, from GNU gettext.
54247         * lib/uniname/uninames.h: New file, from GNU gettext.
54248         * lib/uniname/uniname.c: New file, from GNU gettext.
54249         * tests/uniname/test-uninames.sh: New file.
54250         * tests/uniname/test-uninames.c: New file, from GNU gettext.
54251         * tests/uniname/UnicodeDataNames.txt: New file, from GNU gettext.
54252         * modules/uniname/base: New file.
54253         * modules/uniname/uniname: New file.
54254         * modules/uniname/uniname-tests: New file.
54255         * MODULES.html.sh (Unicode string functions): Add the new modules.
54256
54257 2007-07-06  Bruno Haible  <bruno@clisp.org>
54258
54259         * doc/Makefile (TEXI2HTML): Specify a --reference-limit.
54260
54261 2007-07-06  Bruno Haible  <bruno@clisp.org>
54262
54263         * lib/sys_time_.h: Use a recursion-safe inclusion guard rather than
54264         a split double-inclusion guard. Needed for cygwin, where <sys/time.h>
54265         includes <cygwin/sys_time.h> which includes <sys/select.h> which
54266         include <sys/time.h>.
54267         Reported by Eric Blake.
54268
54269 2007-07-06  Eric Blake  <ebb9@byu.net>
54270
54271         Fix testing canonicalize on cygwin.
54272         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
54273         Revert patch from 2007-06-19.
54274         * tests/test-canonicalize-lgpl.c (main): Instead, skip test when
54275         canonicalize module is also in use.
54276         * tests/test-canonicalize.c: New file.
54277         * tests/test-canonicalize.sh: Likewise.
54278         * modules/canonicalize-tests: Likewise.
54279
54280 2007-07-06  Jim Meyering  <jim@meyering.net>
54281
54282         * lib/getugroups.c (getugroups): Detect getgrent failure.
54283         Adjust comment to reflect reality: this function may return -1.
54284
54285 2007-07-05  Sergey Poznyakoff  <gray@gnu.org.ua>
54286
54287         * build-aux/bootstrap (TP_URL,get_translations): Update to use
54288         the new TP address.
54289         (usage): Fix typo
54290         (gnulib_mk): New variable.
54291
54292 2007-07-05  Jim Meyering  <jim@meyering.net>
54293
54294         Don't let endgrent clobber errno, no matter how improbable.
54295         * lib/getugroups.c (getugroups): Save and restore errno around
54296         endgrent call.
54297
54298         Close the group DB even when failing with 2^31 or more members.
54299         * lib/getugroups.c (getugroups): Don't return without calling endgrent.
54300
54301 2007-07-04  Jim Meyering  <jim@meyering.net>
54302
54303         * lib/getugroups.h: New file.
54304         * lib/getugroups.c: Include "getugroups.h".
54305         Remove uses of "register" keyword.
54306         Move local variable, "cp", down into scope where used.
54307         Give "username" parameter the "const" attribute.
54308         * modules/getugroups (Files): Add lib/getugroups.h
54309
54310 2007-07-04  Karl Berry  <karl@gnu.org>
54311
54312         * MODULES.html.sh (func_all_modules): Complete rename of
54313         gpl/lgpl to gpl-2.0 and lgpl-2.1, and add gpl-3.0.
54314
54315 2007-07-02  Bruno Haible  <bruno@clisp.org>
54316
54317         * m4/inttypes.m4 (gl_INTTYPES_H): Define __STDC_LIMIT_MACROS in C++
54318         mode, when inttypes.h comes from gnulib.
54319         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
54320
54321 2007-07-02  Simon Josefsson  <simon@josefsson.org>
54322
54323         * NEWS: Mention lgpl module name change.
54324
54325         * modules/lgpl-2.1: Renamed from lgpl.
54326
54327         * NEWS: Mention gpl module name change.
54328
54329         * modules/gpl-3.0: New file, based on gpl-2.0.
54330
54331         * modules/gpl-2.0: Renamed from gpl.
54332
54333         * modules/gpl: Fix filename, doc/gpl.texi is now found at
54334         doc/gpl-2.0.texi.
54335
54336 2007-07-02  Paul Eggert  <eggert@cs.ucla.edu>
54337
54338         * lib/inttypes_.h [defined __cplusplus&&!defined __STDC_LIMIT_MACROS]:
54339         #define __STDC_LIMIT_MACROS temporarily while including
54340         <stdint.h>, so that __STDC_LIMIT_MACROS is defined.
54341         Problem reported by Joel E. Denny in
54342         <http://lists.gnu.org/archive/html/bug-gnulib/2007-07/msg00008.html>.
54343
54344 2007-07-01  Bruno Haible  <bruno@clisp.org>
54345
54346         * lib/unistdio.h: New file.
54347         * lib/unistdio/u-asnprintf.h: New file.
54348         * lib/unistdio/u-asprintf.h: New file.
54349         * lib/unistdio/u-printf-args.c: New file.
54350         * lib/unistdio/u-printf-args.h: New file.
54351         * lib/unistdio/u-printf-parse.h: New file.
54352         * lib/unistdio/u-snprintf.h: New file.
54353         * lib/unistdio/u-sprintf.h: New file.
54354         * lib/unistdio/u-vasprintf.h: New file.
54355         * lib/unistdio/u-vsnprintf.h: New file.
54356         * lib/unistdio/u-vsprintf.h: New file.
54357         * lib/unistdio/ulc-asnprintf.c: New file.
54358         * lib/unistdio/ulc-asprintf.c: New file.
54359         * lib/unistdio/ulc-fprintf.c: New file, based on lib/fprintf.c.
54360         * lib/unistdio/ulc-printf-parse.c: New file.
54361         * lib/unistdio/ulc-snprintf.c: New file.
54362         * lib/unistdio/ulc-sprintf.c: New file.
54363         * lib/unistdio/ulc-vasnprintf.c: New file.
54364         * lib/unistdio/ulc-vasprintf.c: New file.
54365         * lib/unistdio/ulc-vfprintf.c: New file, based on lib/vfprintf.c.
54366         * lib/unistdio/ulc-vsnprintf.c: New file.
54367         * lib/unistdio/ulc-vsprintf.c: New file.
54368         * lib/unistdio/u8-asnprintf.c: New file.
54369         * lib/unistdio/u8-asprintf.c: New file.
54370         * lib/unistdio/u8-printf-parse.c: New file.
54371         * lib/unistdio/u8-snprintf.c: New file.
54372         * lib/unistdio/u8-sprintf.c: New file.
54373         * lib/unistdio/u8-vasnprintf.c: New file.
54374         * lib/unistdio/u8-vasprintf.c: New file.
54375         * lib/unistdio/u8-vsnprintf.c: New file.
54376         * lib/unistdio/u8-vsprintf.c: New file.
54377         * lib/unistdio/u8-u8-asnprintf.c: New file.
54378         * lib/unistdio/u8-u8-asprintf.c: New file.
54379         * lib/unistdio/u8-u8-snprintf.c: New file.
54380         * lib/unistdio/u8-u8-sprintf.c: New file.
54381         * lib/unistdio/u8-u8-vasnprintf.c: New file.
54382         * lib/unistdio/u8-u8-vasprintf.c: New file.
54383         * lib/unistdio/u8-u8-vsnprintf.c: New file.
54384         * lib/unistdio/u8-u8-vsprintf.c: New file.
54385         * lib/unistdio/u16-asnprintf.c: New file.
54386         * lib/unistdio/u16-asprintf.c: New file.
54387         * lib/unistdio/u16-printf-parse.c: New file.
54388         * lib/unistdio/u16-snprintf.c: New file.
54389         * lib/unistdio/u16-sprintf.c: New file.
54390         * lib/unistdio/u16-vasnprintf.c: New file.
54391         * lib/unistdio/u16-vasprintf.c: New file.
54392         * lib/unistdio/u16-vsnprintf.c: New file.
54393         * lib/unistdio/u16-vsprintf.c: New file.
54394         * lib/unistdio/u16-u16-asnprintf.c: New file.
54395         * lib/unistdio/u16-u16-asprintf.c: New file.
54396         * lib/unistdio/u16-u16-snprintf.c: New file.
54397         * lib/unistdio/u16-u16-sprintf.c: New file.
54398         * lib/unistdio/u16-u16-vasnprintf.c: New file.
54399         * lib/unistdio/u16-u16-vasprintf.c: New file.
54400         * lib/unistdio/u16-u16-vsnprintf.c: New file.
54401         * lib/unistdio/u16-u16-vsprintf.c: New file.
54402         * lib/unistdio/u32-asnprintf.c: New file.
54403         * lib/unistdio/u32-asprintf.c: New file.
54404         * lib/unistdio/u32-printf-parse.c: New file.
54405         * lib/unistdio/u32-snprintf.c: New file.
54406         * lib/unistdio/u32-sprintf.c: New file.
54407         * lib/unistdio/u32-vasnprintf.c: New file.
54408         * lib/unistdio/u32-vasprintf.c: New file.
54409         * lib/unistdio/u32-vsnprintf.c: New file.
54410         * lib/unistdio/u32-vsprintf.c: New file.
54411         * lib/unistdio/u32-u32-asnprintf.c: New file.
54412         * lib/unistdio/u32-u32-asprintf.c: New file.
54413         * lib/unistdio/u32-u32-snprintf.c: New file.
54414         * lib/unistdio/u32-u32-sprintf.c: New file.
54415         * lib/unistdio/u32-u32-vasnprintf.c: New file.
54416         * lib/unistdio/u32-u32-vasprintf.c: New file.
54417         * lib/unistdio/u32-u32-vsnprintf.c: New file.
54418         * lib/unistdio/u32-u32-vsprintf.c: New file.
54419         * tests/unistdio/test-ulc-asnprintf1.c: New file.
54420         * tests/unistdio/test-ulc-asnprintf1.h: New file.
54421         * tests/unistdio/test-ulc-printf1.h: New file.
54422         * tests/unistdio/test-ulc-vasnprintf1.c: New file.
54423         * tests/unistdio/test-ulc-vasnprintf2.c: New file.
54424         * tests/unistdio/test-ulc-vasnprintf2.sh: New file.
54425         * tests/unistdio/test-ulc-vasnprintf3.c: New file.
54426         * tests/unistdio/test-ulc-vasnprintf3.sh: New file.
54427         * tests/unistdio/test-ulc-vasprintf1.c: New file.
54428         * tests/unistdio/test-ulc-vsnprintf1.c: New file.
54429         * tests/unistdio/test-ulc-vsprintf1.c: New file.
54430         * tests/unistdio/test-u8-asnprintf1.c: New file.
54431         * tests/unistdio/test-u8-asnprintf1.h: New file.
54432         * tests/unistdio/test-u8-printf1.h: New file.
54433         * tests/unistdio/test-u8-vasnprintf1.c: New file.
54434         * tests/unistdio/test-u8-vasnprintf2.c: New file.
54435         * tests/unistdio/test-u8-vasnprintf2.sh: New file.
54436         * tests/unistdio/test-u8-vasnprintf3.c: New file.
54437         * tests/unistdio/test-u8-vasnprintf3.sh: New file.
54438         * tests/unistdio/test-u8-vasprintf1.c: New file.
54439         * tests/unistdio/test-u8-vsnprintf1.c: New file.
54440         * tests/unistdio/test-u8-vsprintf1.c: New file.
54441         * tests/unistdio/test-u16-asnprintf1.c: New file.
54442         * tests/unistdio/test-u16-asnprintf1.h: New file.
54443         * tests/unistdio/test-u16-printf1.h: New file.
54444         * tests/unistdio/test-u16-vasnprintf1.c: New file.
54445         * tests/unistdio/test-u16-vasnprintf2.c: New file.
54446         * tests/unistdio/test-u16-vasnprintf2.sh: New file.
54447         * tests/unistdio/test-u16-vasnprintf3.c: New file.
54448         * tests/unistdio/test-u16-vasnprintf3.sh: New file.
54449         * tests/unistdio/test-u16-vasprintf1.c: New file.
54450         * tests/unistdio/test-u16-vsnprintf1.c: New file.
54451         * tests/unistdio/test-u16-vsprintf1.c: New file.
54452         * tests/unistdio/test-u32-asnprintf1.c: New file.
54453         * tests/unistdio/test-u32-asnprintf1.h: New file.
54454         * tests/unistdio/test-u32-printf1.h: New file.
54455         * tests/unistdio/test-u32-vasnprintf1.c: New file.
54456         * tests/unistdio/test-u32-vasnprintf2.c: New file.
54457         * tests/unistdio/test-u32-vasnprintf2.sh: New file.
54458         * tests/unistdio/test-u32-vasnprintf3.c: New file.
54459         * tests/unistdio/test-u32-vasnprintf3.sh: New file.
54460         * tests/unistdio/test-u32-vasprintf1.c: New file.
54461         * tests/unistdio/test-u32-vsnprintf1.c: New file.
54462         * tests/unistdio/test-u32-vsprintf1.c: New file.
54463         * modules/unistdio/base: New file.
54464         * modules/unistdio/u-printf-args: New file.
54465         * modules/unistdio/ulc-asnprintf: New file.
54466         * modules/unistdio/ulc-asprintf: New file.
54467         * modules/unistdio/ulc-fprintf: New file.
54468         * modules/unistdio/ulc-printf-parse: New file.
54469         * modules/unistdio/ulc-snprintf: New file.
54470         * modules/unistdio/ulc-sprintf: New file.
54471         * modules/unistdio/ulc-vasnprintf: New file.
54472         * modules/unistdio/ulc-vasprintf: New file.
54473         * modules/unistdio/ulc-vfprintf: New file.
54474         * modules/unistdio/ulc-vsnprintf: New file.
54475         * modules/unistdio/ulc-vsprintf: New file.
54476         * modules/unistdio/u8-asnprintf: New file.
54477         * modules/unistdio/u8-asprintf: New file.
54478         * modules/unistdio/u8-printf-parse: New file.
54479         * modules/unistdio/u8-snprintf: New file.
54480         * modules/unistdio/u8-sprintf: New file.
54481         * modules/unistdio/u8-vasnprintf: New file.
54482         * modules/unistdio/u8-vasprintf: New file.
54483         * modules/unistdio/u8-vsnprintf: New file.
54484         * modules/unistdio/u8-vsprintf: New file.
54485         * modules/unistdio/u8-u8-asnprintf: New file.
54486         * modules/unistdio/u8-u8-asprintf: New file.
54487         * modules/unistdio/u8-u8-snprintf: New file.
54488         * modules/unistdio/u8-u8-sprintf: New file.
54489         * modules/unistdio/u8-u8-vasnprintf: New file.
54490         * modules/unistdio/u8-u8-vasprintf: New file.
54491         * modules/unistdio/u8-u8-vsnprintf: New file.
54492         * modules/unistdio/u8-u8-vsprintf: New file.
54493         * modules/unistdio/u16-asnprintf: New file.
54494         * modules/unistdio/u16-asprintf: New file.
54495         * modules/unistdio/u16-printf-parse: New file.
54496         * modules/unistdio/u16-snprintf: New file.
54497         * modules/unistdio/u16-sprintf: New file.
54498         * modules/unistdio/u16-vasnprintf: New file.
54499         * modules/unistdio/u16-vasprintf: New file.
54500         * modules/unistdio/u16-vsnprintf: New file.
54501         * modules/unistdio/u16-vsprintf: New file.
54502         * modules/unistdio/u16-u16-asnprintf: New file.
54503         * modules/unistdio/u16-u16-asprintf: New file.
54504         * modules/unistdio/u16-u16-snprintf: New file.
54505         * modules/unistdio/u16-u16-sprintf: New file.
54506         * modules/unistdio/u16-u16-vasnprintf: New file.
54507         * modules/unistdio/u16-u16-vasprintf: New file.
54508         * modules/unistdio/u16-u16-vsnprintf: New file.
54509         * modules/unistdio/u16-u16-vsprintf: New file.
54510         * modules/unistdio/u32-asnprintf: New file.
54511         * modules/unistdio/u32-asprintf: New file.
54512         * modules/unistdio/u32-printf-parse: New file.
54513         * modules/unistdio/u32-snprintf: New file.
54514         * modules/unistdio/u32-sprintf: New file.
54515         * modules/unistdio/u32-vasnprintf: New file.
54516         * modules/unistdio/u32-vasprintf: New file.
54517         * modules/unistdio/u32-vsnprintf: New file.
54518         * modules/unistdio/u32-vsprintf: New file.
54519         * modules/unistdio/u32-u32-asnprintf: New file.
54520         * modules/unistdio/u32-u32-asprintf: New file.
54521         * modules/unistdio/u32-u32-snprintf: New file.
54522         * modules/unistdio/u32-u32-sprintf: New file.
54523         * modules/unistdio/u32-u32-vasnprintf: New file.
54524         * modules/unistdio/u32-u32-vasprintf: New file.
54525         * modules/unistdio/u32-u32-vsnprintf: New file.
54526         * modules/unistdio/u32-u32-vsprintf: New file.
54527         * modules/unistdio/ulc-asnprintf-tests: New file.
54528         * modules/unistdio/ulc-vasnprintf-tests: New file.
54529         * modules/unistdio/ulc-vasprintf-tests: New file.
54530         * modules/unistdio/ulc-vsnprintf-tests: New file.
54531         * modules/unistdio/ulc-vsprintf-tests: New file.
54532         * modules/unistdio/u8-asnprintf-tests: New file.
54533         * modules/unistdio/u8-vasnprintf-tests: New file.
54534         * modules/unistdio/u8-vasprintf-tests: New file.
54535         * modules/unistdio/u8-vsnprintf-tests: New file.
54536         * modules/unistdio/u8-vsprintf-tests: New file.
54537         * modules/unistdio/u16-asnprintf-tests: New file.
54538         * modules/unistdio/u16-vasnprintf-tests: New file.
54539         * modules/unistdio/u16-vasprintf-tests: New file.
54540         * modules/unistdio/u16-vsnprintf-tests: New file.
54541         * modules/unistdio/u16-vsprintf-tests: New file.
54542         * modules/unistdio/u32-asnprintf-tests: New file.
54543         * modules/unistdio/u32-vasnprintf-tests: New file.
54544         * modules/unistdio/u32-vasprintf-tests: New file.
54545         * modules/unistdio/u32-vsnprintf-tests: New file.
54546         * modules/unistdio/u32-vsprintf-tests: New file.
54547         * MODULES.html.sh (Unicode string functions): Add the new modules.
54548
54549 2007-07-01  Bruno Haible  <bruno@clisp.org>
54550
54551         * lib/sprintf.c (sprintf): Limit the available length estimation,
54552         to avoid address wraparound.
54553         * lib/vsprintf.c (vsprintf): Likewise.
54554         * modules/sprintf-posix (Dependencies): Add stdint.
54555         * modules/vsprintf-posix (Dependencies): Likewise.
54556
54557 2007-07-01  Bruno Haible  <bruno@clisp.org>
54558
54559         * gnulib-tool (self_abspathname): Determine PATH_SEPARATOR and handle
54560         Windows PATH as well. Conservative double-quoting. Comments.
54561
54562 2007-07-01  Bruno Haible  <bruno@clisp.org>
54563             Eric Blake  <ebb9@byu.net>
54564             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54565
54566         * gnulib-tool (self_abspathname): Fix algorithm to cope with
54567         empty components in $PATH, denoting '.'.
54568
54569 2007-07-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54570
54571         * gnulib-tool: Fix indentation.
54572         (func_create_megatestdir): Likewise.
54573         Report by Bruno Haible.
54574
54575 2007-06-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54576
54577         Sync from Automake.
54578         * build-aux/gnupload: Fix shell portability issues with for loops.
54579         Report by Karl Berry.
54580
54581 2007-06-29  Simon Josefsson  <simon@josefsson.org>
54582
54583         * build-aux/maint.mk (POURL): Use translationproject.org.
54584
54585 2007-06-27  Simon Josefsson  <simon@josefsson.org>
54586             Bruno Haible  <bruno@clisp.org>
54587
54588         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Require gl_HEADER_SYS_SOCKET
54589         before using HAVE_WS2TCPIP_H. Check for gai_strerror through an
54590         explicit link test, rather than AC_REPLACE_FUNCS - for mingw.
54591         (gl_PREREQ_GETADDRINFO): Require gl_HEADER_SYS_SOCKET before using
54592         HAVE_SYS_SOCKET_H and HAVE_WS2TCPIP_H.
54593
54594 2007-06-27  Bruno Haible  <bruno@clisp.org>
54595
54596         * build-aux/config.rpath: Upgrade to libtool-1.5.24.
54597         * build-aux/config.libpath: Upgrade to libtool-1.5.24.
54598
54599 2007-06-26  Karl Berry  <karl@gnu.org>
54600
54601         * MODULES.html.sh: remove xreadlink-with-size.
54602
54603 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
54604
54605         * lib/time_.h: Port to Solaris 8 with Sun Studio 11, using a
54606         method that I hope also handles the double-include problem noted
54607         by Bruno Haible in
54608         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00186.html>.
54609
54610 2007-06-23  Bruno Haible  <bruno@clisp.org>
54611
54612         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
54613         Don't let the 'mostlyclean' target fail if the last subdirectory could
54614         not be removed.
54615         Reported by Karl Berry.
54616
54617 2007-06-23  Bruno Haible  <bruno@clisp.org>
54618
54619         * gnulib-tool (echo): Add a speedier workaround for ksh.
54620         * tests/test-echo.sh: Likewise.
54621
54622 2007-06-23  Bruno Haible  <bruno@clisp.org>
54623
54624         * gnulib-tool (echo): Add workarounds also for bash versions < 2.04.
54625         * tests/test-echo.sh: Likewise.
54626
54627 2007-06-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54628
54629         * gnulib-tool (IFS): Initialize early, so we don't set it to
54630         empty later.
54631         (self_abspathname): Rewrite algorithm to set it, reindent.
54632         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am)
54633         (func_create_megatestdir): Merge some sed scripts.
54634
54635 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
54636
54637         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Check some typos
54638         exposed by Sun Studio 11 cc on Solaris 8.
54639
54640 2007-06-22  Bruno Haible  <bruno@clisp.org>
54641
54642         * gnulib-tool (echo): Ensure the echo primitive does not interpret
54643         backslashes.
54644         * tests/test-echo.sh: New file.
54645
54646 2007-06-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54647
54648         * gnulib-tool (func_add_or_update, func_create_testdir): Do not
54649         simplify `sed_replace_build_aux' scripts, they are portable but
54650         echoing them with `echo' is not.
54651         Report and analysis by Fernando Ferreira <fernando.prog@netcabo.pt>.
54652
54653 2007-06-21  Karl Berry  <karl@gnu.org>
54654
54655         * config/srclist.txt: guess we can't handle the licenses via
54656         srclist at the moment.
54657
54658 2007-06-21  Paul Eggert  <eggert@cs.ucla.edu>
54659
54660         * MODULES.html.sh: Add include_next.
54661         * modules/include_next: New file.
54662
54663 2007-06-20  Paul Eggert  <eggert@cs.ucla.edu>
54664
54665         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define and AC_SUBST
54666         INCLUDE_NEXT.
54667         (gl_CHECK_NEXT_HEADERS): New macro.
54668         * m4/fcntl_h.m4 (gl_FCNTL_H): use gl_CHECK_NEXT_HEADERS instead of
54669         the obsolescent gl_ABSOLUTE_HEADER.
54670         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
54671         * m4/float_h.m4 (gl_FLOAT_H): Likewise.
54672         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
54673         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
54674         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
54675         * m4/math_h.m4 (gl_MATH_H): Likewise.
54676         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
54677         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
54678         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
54679         * m4/stdint.m4 (gl_STDINT_H): Likewise.
54680         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
54681         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
54682         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
54683         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
54684         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
54685         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
54686         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
54687         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
54688         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
54689         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
54690         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
54691         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
54692         * m4/inttypes.m4 (gl_INTTYPES_H): Define
54693         _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H to avoid the problem of unclean
54694         builds, since ABSOLUTE_INTTYPES_H is no longer being defined.
54695         * m4/stdint.m4 (gl_STDINT_H): Likewise, for
54696         _GL_JUST_INCLUDE_SYSTEM_STDINT_H.
54697         * lib/fcntl_.h: Use @INCLUDE_NEXT@ @NEXT_foo_H@
54698         rather than @HAVE_INCLUDE_NEXT@ and @ABSOLUTE_foo_H@.
54699         * lib/float_.h: Likewise.
54700         * lib/inttypes_.h: Likewise.
54701         * lib/math_.h: Likewise.
54702         * lib/search_.h: Likewise.
54703         * lib/signal_.h: Likewise.
54704         * lib/stdint_.h: Likewise.
54705         * lib/stdio_.h: Likewise.
54706         * lib/stdlib_.h: Likewise.
54707         * lib/string_.h: Likewise.
54708         * lib/sys_stat_.h: Likewise.
54709         * lib/sys_time_.h: Likewise.
54710         * lib/time_.h: Likewise.
54711         * lib/unistd_.h: Likewise.
54712         * lib/wchar_.h: Likewise.
54713         * lib/wctype_.h: Likewise.
54714         * lib/dirent_.h: Likewise.
54715         * lib/iconv_.h: Likewise.
54716         * lib/locale_.h: Likewise.
54717         * lib/netinet_in_.h: Likewise.
54718         * lib/sys_select_.h: Likewise.
54719         * lib/sys_socket_.h: Likewise.
54720         * lib/sysexits_.h: Likewise.
54721         * modules/fcntl (Depends-on): Depend on include_next, not
54722         absolute_header.
54723         (Makefile): Substitute INCLUDE_NEXT and NEXT_foo_H, not
54724         HAVE_INCLUDE_NEXT and ABSOLUTE_foo_H.
54725         * modules/fchdir: Likewise.
54726         * modules/float: Likewise.
54727         * modules/iconv_open: Likewise.
54728         * modules/inttypes: Likewise.
54729         * modules/locale: Likewise.
54730         * modules/math: Likewise.
54731         * modules/netinet_in: Likewise.
54732         * modules/search: Likewise.
54733         * modules/signal: Likewise.
54734         * modules/stdint: Likewise.
54735         * modules/stdio: Likewise.
54736         * modules/stdlib: Likewise.
54737         * modules/string: Likewise.
54738         * modules/sys_select: Likewise.
54739         * modules/sys_socket: Likewise.
54740         * modules/sys_stat: Likewise.
54741         * modules/sys_time: Likewise.
54742         * modules/sysexits: Likewise.
54743         * modules/time: Likewise.
54744         * modules/unistd: Likewise.
54745         * modules/wchar: Likewise.
54746         * modules/wctype: Likewise.
54747         * modules/sys_stat: Change maintainer to "all".
54748         * modules/unistd: Likewise.
54749
54750 2007-06-20  Karl Berry  <karl@gnu.org>
54751
54752         * config/srclist.txt: track www changes in license files.
54753
54754 2007-06-20  Sergey Poznyakoff  <gray@gnu.org.ua>
54755
54756         * build-aux/bootstrap: Remove stray dot.
54757         Make sure build_aux settings are honored when linking
54758         gnulib_extra_files.
54759
54760 2007-06-19  Eric Blake  <ebb9@byu.net>
54761
54762         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
54763         Allow compilation on cygwin.
54764
54765 2007-06-19  Jim Meyering  <jim@meyering.net>
54766
54767         xreadlink-with-size: Remove module.  No longer used.
54768         Ex-callers now use xreadlink or mreadlink-with-size.
54769         * modules/xreadlink-with-size: Remove module.
54770         * lib/xreadlink-with-size.c: Remove file.
54771         * lib/xreadlink.h (xreadlink_with_size): Remove prototype.
54772         (xreadlink): Remove inaccurate comment.  The one in xreadlink.c,
54773         just before the function definition *is* accurate.
54774
54775         Eliminate one way canonicalize_filename_mode could exit.
54776         * lib/canonicalize.c (canonicalize_filename_mode):
54777         Use mreadlink_with_size, not xreadlink_with_size.
54778
54779 2007-06-18  Paul Eggert  <eggert@cs.ucla.edu>
54780
54781         Detect porting problems to FreeBSD/arm, which has time_t wider than
54782         long int.  Original problem reported for GNU diff by Xin Li in
54783         <http://lists.gnu.org/archive/html/bug-gnu-utils/2007-06/msg00091.html>.
54784         * modules/getdate (Depends-on): Add intprops, verify.
54785         * lib/getdate.y: Include intprops.h, verify.h.  Verify that time_t
54786         is an integer type no wider than long int.
54787
54788 2007-06-18  Jim Meyering  <jim@meyering.net>
54789
54790         New module: mreadlink-with-size.
54791         * MODULES.html.sh: Add mreadlink-with-size.
54792         * modules/mreadlink-with-size: New module
54793         * modules/canonicalize (Depends-on): Depend on mreadlink-with-size,
54794         not xreadlink-with-size.
54795         * lib/mreadlink-with-size.c, lib/mreadlink.h: New files.
54796
54797 2007-06-16  Bruno Haible  <bruno@clisp.org>
54798
54799         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Catch the MacOS X 10.4 bug.
54800         * doc/functions/frexpl.texi: Document the MacOS X 10.4 bug.
54801         Reported by Gary V. Vaughan <gary@gnu.org>.
54802
54803 2007-06-15  Paul Eggert  <eggert@cs.ucla.edu>
54804
54805         Revamp lchown so that it lives in unistd.h where it belongs.
54806         * lib/lchown.h: Remove.
54807         * lib/dirchownmod.c: Don't include lib/lchown.h.
54808         * lib/fchownat.c: Likewise.
54809         * lib/openat.c: Likewise.
54810         * lib/lchown.c (REPLACE_CHOWN): Define to 0 if the system chown
54811         does not follow symlinks.
54812         (EOPNOTSUPP): Define if not defined.
54813         * lib/unistd_.h (chown): Do not replace if REPLADE_CHOWN
54814         is defined to 0.
54815         (lchown): New decl.
54816         * m4/lchown.m4 (gl_FUNC_LCHOWN): Require gl_UNISTD_H_DEFAULTS.
54817         Do not check for lchown decl.
54818         Set REPLACE_LCHOWN.
54819         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set GNULIB_LCHOWN,
54820         REPLACE_LCHOWN.
54821         * modules/chown: Make it clear it follows symlinks.
54822         * modules/lchown: Make it clear it doesn't follow symlinks.
54823         (Files): Remove lib/lchown.h
54824         (Depends-on): Add unistd.
54825         (configure.ac): Add gl_UNISTD_MODULE_INDICATOR([lchown]).
54826         (Include): Include <unistd.h>, not "lchown.h".
54827         * modules/unistd (unistd.h): Substitude GNULIB_LCHOWN and
54828         REPLACE_LCHOWN.
54829
54830 2007-06-15  Jim Meyering  <jim@meyering.net>
54831
54832         Change license (GPL to LGPL) of fsusage and dependents.
54833         * modules/fsusage (License): Change to LGPL.
54834         * modules/full-read (License): Likewise.
54835         * modules/full-write (License): Likewise.
54836         * modules/safe-read (License): Likewise.
54837         * modules/safe-write (License): Likewise.
54838
54839 2007-06-14  Ben Pfaff  <blp@gnu.org>
54840
54841         Missing part of allocsa -> malloca transition.
54842         * modules/relocatable-prog-wrapper: gl_ALLOCSA should be
54843         gl_MALLOCA.
54844
54845 2007-06-12  Bruno Haible  <bruno@clisp.org>
54846
54847         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Guess no when cross-compiling
54848         to ia64, x86_64, i386.
54849         Reported by Eric Blake.
54850
54851 2007-06-12  Bruno Haible  <bruno@clisp.org>
54852
54853         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Guess no also when
54854         cross-compiling to x86_64.
54855
54856 2007-06-12  Paul Eggert  <eggert@cs.ucla.edu>
54857
54858         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Fix POSIX sed portability
54859         glitch reported by Ralf Wildenhues in
54860         <http://lists.gnu.org/archive/html/bug-gnulib/2007-06/msg00114.html>.
54861
54862         * m4/regex.m4 (gl_REGEX): Catch a bug with [[:alnum:]_-] reported by
54863         Vin Shelton.
54864
54865 2007-06-11  Bruno Haible  <bruno@clisp.org>
54866
54867         * lib/printf-args.c (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Fix NULL
54868         replacement string.
54869         Reported by Eric Blake.
54870
54871 2007-06-10  Bruno Haible  <bruno@clisp.org>
54872
54873         Prepare vasnprintf code for use with Unicode strings.
54874         * lib/printf-args.h (PRINTF_FETCHARGS): New macro.
54875         (arg_type) [ENABLE_UNISTDIO]: Define TYPE_U8_STRING, TYPE_U16_STRING,
54876         TYPE_U32_STRING.
54877         (argument) [ENABLE_UNISTDIO]: Add a_u8_string, a_u16_string,
54878         a_u32_string variants.
54879         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
54880         * lib/printf-args.c: Don't include config.h and the specification
54881         header if PRINTF_FETCHARGS is already defined.
54882         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
54883         (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Add code for TYPE_U8_STRING,
54884         TYPE_U16_STRING, TYPE_U32_STRING.
54885         * lib/printf-parse.h [ENABLE_UNISTDIO] (u8_directive, u8_directives,
54886         u16_directive, u16_directives, u32_directive, u32_directives): New
54887         types.
54888         (ulc_printf_parse, u8_printf_parse, u16_printf_parse, u32_printf_parse):
54889         New declarations.
54890         * lib/printf-parse.c: Don't include config.h and the specification
54891         header if PRINTF_PARSE is already defined. Eliminate the set of
54892         parameters for WIDE_CHAR_VERSION; the user of this file must provide
54893         them now. Include c-ctype.h.
54894         (PRINTF_PARSE) [ENABLE_UNISTDIO]: Add code implementing the 'U'
54895         directive and CHAR_T_ONLY_ASCII.
54896         * lib/vasnprintf.c: Don't include config.h and the specification header
54897         if VASNPRINTF is already defined.
54898         (DCHAR_IS_TCHAR, DCHAR_CPY): New macros.
54899         (VASNPRINTF): Use PRINTF_FETCHARGS instead of printf_fetchargs. Use
54900         DCHAR_CPY. Handle the case that DCHAR_T and FCHAR_T are not the same
54901         type. Handle the case that TCHAR_T and FCHAR_T are not of the same
54902         size. Handle the case that DCHAR_T and TCHAR_T are not the same type,
54903         add a conversion from TCHAR_T[] to DCHAR_T[], and rework the padding
54904         code accordingly.
54905         (VASNPRINTF) [ENABLE_UNISTDIO]: Implement the 'U' directive. Enable
54906         pad_ourselves also in this case, with the 'c' and 's' directives, and
54907         with a different notion of "width".
54908         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): New macros.
54909
54910 2007-06-10  Bruno Haible  <bruno@clisp.org>
54911
54912         * modules/unistr/u32-mbsnlen: New file.
54913         * lib/unistr/u32-mbsnlen.c: New file.
54914
54915         * modules/unistr/u16-mbsnlen: New file.
54916         * lib/unistr/u16-mbsnlen.c: New file.
54917
54918         * modules/unistr/u8-mbsnlen: New file.
54919         * lib/unistr/u8-mbsnlen.c: New file.
54920
54921         * lib/unistr.h (u8_mbsnlen, u16_mbsnlen, u32_mbsnlen): New
54922         declarations.
54923
54924 2007-06-10  Bruno Haible  <bruno@clisp.org>
54925
54926         * lib/string_.h (mbsnlen): New declaration.
54927         * lib/mbsnlen.c: New file.
54928         * m4/mbsnlen.m4: New file.
54929         * modules/mbsnlen: New file.
54930         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set GNULIB_MBSNLEN.
54931         * modules/string (string.h): Substitute GNULIB_MBSNLEN.
54932         * MODULES.html.sh (Internationalization functions): Add mbsnlen.
54933
54934 2007-06-10  Bruno Haible  <bruno@clisp.org>
54935
54936         * lib/mbslen.c: Include <stdlib.h>, needed for MB_CUR_MAX.
54937
54938 2007-06-10  Bruno Haible  <bruno@clisp.org>
54939
54940         * lib/mbiter.h: Include <stddef.h>, needed for ptrdiff_t.
54941         * lib/mbuiter.h: Likewise.
54942
54943 2007-06-10  Bruno Haible  <bruno@clisp.org>
54944
54945         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Check for _snprintf
54946         declaration.
54947
54948 2007-06-10  Karl Berry  <karl@gnu.org>
54949
54950         * config/srclist.txt: remove gettext entries, Bruno prefers
54951         to update individually.
54952
54953 2007-06-10  Bruno Haible  <bruno@clisp.org>
54954
54955         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Remove variable
54956         'maxlen'. Ensure only length + width bytes are allocated, not
54957         length + 1 + width.
54958
54959 2007-06-09  Bruno Haible  <bruno@clisp.org>
54960
54961         * lib/vasnprintf.c (FCHAR_T, DCHAR_T, TCHAR_T): New macros.
54962         (CHAR_T): Remove macro.
54963         (VASNPRINTF): Update.
54964
54965 2007-06-09  Bruno Haible  <bruno@clisp.org>
54966
54967         * MODULES.html.sh (Unicode string functions): Add the new modules.
54968
54969         * modules/uniconv/u32-conv-to-enc: New file.
54970         * lib/uniconv/u32-conv-to-enc.c: New file.
54971         * modules/uniconv/u32-conv-to-enc-tests: New file.
54972         * tests/uniconv/test-u32-conv-to-enc.c: New file.
54973
54974         * modules/uniconv/u16-conv-to-enc: New file.
54975         * lib/uniconv/u16-conv-to-enc.c: New file.
54976         * lib/uniconv/u-conv-to-enc.h: New file.
54977         * modules/uniconv/u16-conv-to-enc-tests: New file.
54978         * tests/uniconv/test-u16-conv-to-enc.c: New file.
54979
54980         * modules/uniconv/u8-conv-to-enc: New file.
54981         * lib/uniconv/u8-conv-to-enc.c: New file.
54982         * modules/uniconv/u8-conv-to-enc-tests: New file.
54983         * tests/uniconv/test-u8-conv-to-enc.c: New file.
54984
54985         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
54986         u32_conv_to_encoding): New declarations.
54987
54988 2007-06-09  Bruno Haible  <bruno@clisp.org>
54989
54990         * tests/uniconv/test-u32-strconv-to-enc.c (main): Remove unused code.
54991
54992 2007-06-09  Bruno Haible  <bruno@clisp.org>
54993
54994         Rename 'allocsa' -> 'malloca', 'freesa' -> 'freea'.
54995         * modules/malloca: Renamed from modules/allocsa, updated.
54996         * lib/malloca.h: Renamed from lib/allocsa.h, updated.
54997         * lib/malloca.c: Renamed from lib/allocsa.c, updated.
54998         * lib/malloca.valgrind: Renamed from lib/allocsa.valgrind, updated.
54999         * m4/malloca.m4: Renamed from m4/allocsa.m4, updated.
55000         * modules/malloca-tests: Renamed from modules/allocsa-tests, updated.
55001         * tests/test-malloca.c: Renamed from tests/test-allocsa.c, updated.
55002         * modules/xmalloca: Renamed from modules/xallocsa, updated.
55003         * lib/xmalloca.h: Renamed from lib/xallocsa.h, updated.
55004         * lib/xmalloca.c: Renamed from lib/xallocsa.c, updated.
55005         * modules/c-strcasestr (Depends-on): Update.
55006         * lib/c-strcasestr.c: Update.
55007         * modules/c-strstr (Depends-on): Update.
55008         * lib/c-strstr.c: Update.
55009         * modules/canonicalize-lgpl (Depends-on): Update.
55010         * lib/canonicalize-lgpl.c: Update.
55011         * modules/clean-temp (Depends-on): Update.
55012         * lib/clean-temp.c: Update.
55013         * modules/csharpcomp (Depends-on): Update.
55014         * lib/csharpcomp.c: Update.
55015         * modules/csharpexec (Depends-on): Update.
55016         * lib/csharpexec.c: Update.
55017         * modules/javacomp (Depends-on): Update.
55018         * lib/javacomp.c: Update.
55019         * modules/javaexec (Depends-on): Update.
55020         * lib/javaexec.c: Update.
55021         * modules/mbscasestr (Depends-on): Update.
55022         * lib/mbscasestr.c: Update.
55023         * modules/mbsstr (Depends-on): Update.
55024         * lib/mbsstr.c: Update.
55025         * modules/setenv (Depends-on): Update.
55026         * lib/setenv.c: Update.
55027         * modules/strcasestr (Depends-on): Update.
55028         * lib/strcasestr.c: Update.
55029         * modules/striconveha (Depends-on): Update.
55030         * lib/striconveha.c: Update.
55031         * modules/relocatable-prog-wrapper (Files): Update.
55032         * lib/relocwrapper.c: Update.
55033         * build-aux/install-reloc: Update.
55034         * MODULES.html.sh (Memory management functions <stdlib.h>): Update.
55035
55036 2007-06-08  Bruno Haible  <bruno@clisp.org>
55037
55038         Port to uClibc.
55039         * lib/fbufmode.c (fbufmode): Add special code for uClibc.
55040         * lib/fpurge.c (fpurge): Likewise.
55041         * lib/freading.c (freading): Likewise.
55042         * lib/fseeko.c (rpl_fseeko): Likewise.
55043         * lib/fseterr.c (fseterr): Likewise.
55044         * lib/fwriting.c (fwriting): Likewise.
55045         * tests/test-fflush.c (main): Avoid a failure on uClibc.
55046
55047 2007-06-08  Bruno Haible  <bruno@clisp.org>
55048
55049         * m4/intlmacosx.m4: New file, extracted from gettext.m4.
55050         * m4/gettext.m4 (gt_INTL_MACOSX): Remove macro, moved to intlmacosx.m4.
55051         * modules/gettext (Files): Add m4/intlmacosx.m4.
55052
55053 2007-06-07  Bruno Haible  <bruno@clisp.org>
55054
55055         * modules/localename-tests: New file.
55056         * tests/test-localename.c: New file.
55057
55058         New module 'localename'.
55059         * lib/localename.h: New file.
55060         * lib/localename.c: New file, from GNU gettext.
55061         * m4/localename.m4: New file.
55062         * modules/localename: New file.
55063
55064 2007-06-07  Bruno Haible  <bruno@clisp.org>
55065
55066         Work around the lack of <wchar.h> on some builds of uClibc.
55067         * doc/headers/wchar.texi: Update.
55068         * lib/wchar_.h: Include <wchar.h> only if it exists.
55069         * m4/wchar.m4 (gl_WCHAR_H): Check for <wchar.h>. Set HAVE_WCHAR_H.
55070         * m4/stdint.m4 (gl_STDINT_H): Check for <wchar.h>.
55071         (gl_STDINT_TYPE_PROPERTIES): Don't try to include <wchar.h> if it
55072         doesn't exist.
55073         * modules/wchar (wchar.h): Substitute HAVE_WCHAR_H.
55074         * modules/mbfile (Depends-on): Add wchar.
55075         * modules/mbiter (Depends-on): Likewise.
55076         * modules/mbuiter (Depends-on): Likewise.
55077         Reported by Simon Josefsson.
55078
55079 2007-06-06  Paul Eggert  <eggert@cs.ucla.edu>
55080
55081         Work around problem reported by Steven M. Schweda in
55082         <http://lists.gnu.org/archive/html/bug-tar/2007-06/msg00002.html>:
55083         Tru64 5.1B with the Compaq compiler environment installed declares
55084         an 'isblank' function but does not define it in the C library.
55085         * lib/fnmatch.c (isblank): Check for HAVE_ISBLANK, too.
55086         * lib/regex_internal.h (isblank): Likewise.
55087         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for isblank existence.
55088         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
55089
55090 2007-06-05  Bruno Haible  <bruno@clisp.org>
55091
55092         Fix *printf so that it recognizes non-IEEE numbers on i386, x86_64,
55093         ia64.
55094         * modules/printf-safe: New file.
55095         * modules/fprintf-posix (Depends-on): Add printf-safe.
55096         * modules/printf-posix (Depends-on): Likewise.
55097         * modules/snprintf-posix (Depends-on): Likewise.
55098         * modules/sprintf-posix (Depends-on): Likewise.
55099         * modules/vasnprintf-posix (Depends-on): Likewise.
55100         * modules/vasprintf-posix (Depends-on): Likewise.
55101         * modules/vfprintf-posix (Depends-on): Likewise.
55102         * modules/vprintf-posix (Depends-on): Likewise.
55103         * modules/vsnprintf-posix (Depends-on): Likewise.
55104         * modules/vsprintf-posix (Depends-on): Likewise.
55105         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
55106         AC_C_BIGENDIAN. Define CHECK_PRINTF_SAFE if printf-safe is used. Test
55107         non-IEEE numbers on i386, x86_64, ia64. When cross-compiling, guess
55108         "no" on i386, x86_64, ia64.
55109         * tests/test-snprintf-posix.h (LDBL80_WORDS): New macro.
55110         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
55111         on i386, x86_64, ia64.
55112         * tests/test-sprintf-posix.h (LDBL80_WORDS): New macro.
55113         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
55114         on i386, x86_64, ia64.
55115         * tests/test-vasnprintf-posix.c: Include float.h.
55116         (LDBL80_WORDS): New macro.
55117         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
55118         on i386, x86_64, ia64.
55119         * tests/test-vasprintf-posix.c: Include float.h.
55120         (LDBL80_WORDS): New macro.
55121         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
55122         on i386, x86_64, ia64.
55123         * tests/test-snprintf-posix.c: Include float.h.
55124         * tests/test-sprintf-posix.c: Likewise.
55125         * tests/test-vsnprintf-posix.c: Likewise.
55126         * tests/test-vsprintf-posix.c: Likewise.
55127
55128 2007-06-05  Bruno Haible  <bruno@clisp.org>
55129
55130         Fix isnanl so that it recognizes non-IEEE numbers on i386, x86_64, ia64.
55131         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Require AC_C_BIGENDIAN. Test
55132         non-IEEE numbers on i386, x86_64, ia64.
55133         (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require AC_C_BIGENDIAN.
55134         * lib/isnan.c (FUNC): Add special code for i386, x86_64, ia64.
55135         * tests/test-isnanl.h: Include float.h.
55136         (main): Check also non-IEEE numbers on i386, x86_64, ia64.
55137
55138 2007-06-05  Bruno Haible  <bruno@clisp.org>
55139
55140         * lib/vasnprintf.c (VASNPRINTF): Do the extra handling of NaN and Inf
55141         also the %a / %A. Handle the %a / %A code before this extra handling.
55142
55143 2007-06-05  Bruno Haible  <bruno@clisp.org>
55144
55145         * lib/vasnprintf.c [NEED_PRINTF_LONG_DOUBLE ||
55146         NEED_PRINTF_INFINITE_LONG_DOUBLE]: Include fpucw.h.
55147
55148 2007-06-05  Bruno Haible  <bruno@clisp.org>
55149
55150         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): Fix
55151         typo in variable name.
55152
55153 2007-06-05  Eric Blake  <ebb9@byu.net>
55154
55155         * m4/lseek.m4 (gl_FUNC_LSEEK): Work when cross-compiling.
55156         Reported by Simon Josefsson.
55157
55158 2007-06-04  Bruno Haible  <bruno@clisp.org>
55159
55160         Avoid test failures on some PowerPC platforms.
55161         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP):
55162         Define differently for PowerPC.
55163         * tests/test-frexpl.c (MIN_NORMAL_EXP): Likewise.
55164         Reported by Gary V. Vaughan <gary@gnu.org>.
55165
55166 2007-06-02  Bruno Haible  <bruno@clisp.org>
55167
55168         Fix test-stdint failure on FreeBSD/ia64.
55169         * m4/stdint.m4 (gl_STDINT_H): Check the values of PTRDIFF_MIN,
55170         PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN,
55171         WCHAR_MAX, WINT_MIN, WINT_MAX entirely, not only for plausibility.
55172         * doc/headers/stdint.texi: Update.
55173
55174 2007-06-01  Bruno Haible  <bruno@clisp.org>
55175
55176         * tests/test-binary-io.c (main): Pass a third argument to open().
55177         Reported by Gary V. Vaughan <gary@gnu.org>.
55178
55179 2007-06-01  Bruno Haible  <bruno@clisp.org>
55180
55181         * doc/functions/frexpl.texi: Update for mingw.
55182
55183 2007-06-01  Bruno Haible  <bruno@clisp.org>
55184
55185         * tests/test-lseek.c (main): Disable test of errno for invalid third
55186         argument.
55187         * doc/functions/lseek.texi: Update.
55188         Reported by Gary V. Vaughan <gary@gnu.org>.
55189
55190 2007-05-28  Bruno Haible  <bruno@clisp.org>
55191
55192         * m4/intl.m4 (AM_INTL_SUBDIR): Substitute variables WOE32, WINDRES.
55193
55194 2007-05-31  Eric Blake  <ebb9@byu.net>
55195
55196         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Guess no on mingw when
55197         cross compiling.
55198
55199 2007-05-30  Eric Blake  <ebb9@byu.net>
55200         and Bruno Haible  <bruno@clisp.org>
55201
55202         Work around mingw test failures exposed by m4-1.4.9b.
55203         * m4/stdint.m4 (gl_STDINT_H): Detect mingw bug.
55204         * tests/test-unistd.c: Disable uid_t and git_t tests for the
55205         moment.
55206
55207 2007-05-30  Bruno Haible  <bruno@clisp.org>
55208
55209         * tests/test-lseek.c: Explicitly close file descriptors 0 and 1 before
55210         assuming that they are closed. Needed on HP-UX 11.
55211
55212 2007-05-29  Bruno Haible  <bruno@clisp.org>
55213
55214         Fix a problem with #include_next.
55215         * lib/dirent_.h: Split the double-inclusion guard.
55216         * lib/fcntl_.h: Likewise.
55217         * lib/float_.h: Likewise.
55218         * lib/iconv_.h: Likewise.
55219         * lib/inttypes_.h: Likewise.
55220         * lib/locale_.h: Likewise.
55221         * lib/math_.h: Likewise.
55222         * lib/netinet_in_.h: Likewise.
55223         * lib/search_.h: Likewise.
55224         * lib/signal_.h: Likewise.
55225         * lib/stdint_.h: Likewise.
55226         * lib/stdio_.h: Likewise.
55227         * lib/stdlib_.h: Likewise.
55228         * lib/string_.h: Likewise.
55229         * lib/sys_select_.h: Likewise.
55230         * lib/sys_socket_.h: Likewise.
55231         * lib/sys_stat_.h: Likewise.
55232         * lib/sys_time_.h: Likewise.
55233         * lib/sysexits_.h: Likewise.
55234         * lib/time_.h: Likewise.
55235         * lib/unistd_.h: Likewise.
55236         * lib/wchar_.h: Likewise.
55237         * lib/wctype_.h: Likewise.
55238
55239 2007-05-29  Bruno Haible  <bruno@clisp.org>
55240
55241         * tests/test-unistd.c: Disable the tests for useconds_t and intptr_t
55242         for the moment.
55243
55244 2007-05-29  Bruno Haible  <bruno@clisp.org>
55245
55246         * m4/isnan.m4 (gl_DOUBLE_EXPONENT_LOCATION): Silence the AC_C_BIGENDIAN
55247         invocation.
55248         Reported by Eric Blake.
55249
55250 2007-05-29  Bruno Haible  <bruno@clisp.org>
55251
55252         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Fix typo in cross-
55253         compiling case.
55254
55255 2007-05-29  Eric Blake  <ebb9@byu.net>
55256             Bruno Haible  <bruno@clisp.org>
55257
55258         * m4/isnanf.m4 (gl_FUNC_ISNANF_NO_LIBM): Avoid syntax error on
55259         cross compiles.
55260
55261 2007-05-28  Eric Blake  <ebb9@byu.net>
55262
55263         * modules/closein-tests (test_closein_LDADD): Support test on
55264         cygwin with libtool.
55265
55266 2007-05-28  Bruno Haible  <bruno@clisp.org>
55267
55268         * tests/uniconv/test-u16-conv-from-enc.c: Remove #ifdef HAVE_CONFIG_H.
55269         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
55270         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
55271         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
55272         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
55273         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
55274         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
55275         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
55276         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
55277
55278 2007-05-28  Eric Blake  <ebb9@byu.net>
55279
55280         Unconditionally include <config.h> in unit tests.
55281         * tests/test-alloca-opt.c: Remove #ifdef HAVE_CONFIG_H.
55282         * tests/test-allocsa.c, tests/test-arcfour.c,
55283         tests/test-arctwo.c, tests/test-argmatch.c, tests/test-argp.c,
55284         tests/test-array_list.c, tests/test-array_oset.c,
55285         tests/test-atexit.c, test-avltree_list.c, test-avltree_oset.c,
55286         test-avltreehash_list.c, test-base64.c, test-binary-io.c,
55287         test-c-ctype.c, test-c-strcasecmp.c, test-c-strcasestr.c,
55288         test-c-strncasecmp.c, test-c-strstr.c, test-canonicalize-lgpl.c,
55289         test-carray_list.c, test-crc.c, test-des.c, test-dirname.c,
55290         test-fflush.c, test-fprintf-posix.c, test-gc-arcfour.c,
55291         test-gc-arctwo.c, test-gc-des.c, test-gc-hmac-md5.c,
55292         test-gc-hmac-sha1.c, test-gc-md2.c, test-gc-md4.c, test-gc-md5.c,
55293         test-gc-pbkdf2-sha1.c, test-gc-rijndael.c, test-gc-sha1.c,
55294         test-gc.c, test-getpass.c, test-hmac-md5.c, test-hmac-sha1.c,
55295         test-iconv.c, test-linked_list.c, test-linkedhash_list.c,
55296         test-lock.c, test-mbscasecmp.c, test-mbscasestr1.c,
55297         test-mbscasestr2.c, test-mbscasestr3.c, test-mbscasestr4.c,
55298         test-mbschr.c, test-mbscspn.c, test-mbsncasecmp.c, test-mbspbrk.c,
55299         test-mbspcasecmp.c, test-mbsrchr.c, test-mbsspn.c, test-mbsstr1.c,
55300         test-mbsstr2.c, test-mbsstr3.c, test-md2.c, test-md4.c,
55301         test-md5.c, test-memmem.c, test-printf-posix.c,
55302         test-rbtree_list.c, test-rbtree_oset.c, test-rbtreehash_list.c,
55303         test-read-file.c, test-rijndael.c, test-snprintf-posix.c,
55304         test-snprintf.c, test-sprintf-posix.c, test-stdint.c,
55305         test-strcasestr.c, test-striconv.c, test-striconveh.c,
55306         test-striconveha.c, test-tls.c, test-vasnprintf-posix.c,
55307         test-vasnprintf-posix2.c, test-vasnprintf.c,
55308         test-vasprintf-posix.c, test-vasprintf.c, test-verify.c,
55309         test-vfprintf-posix.c, test-vprintf-posix.c,
55310         test-vsnprintf-posix.c, test-vsnprintf.c, test-vsprintf-posix.c,
55311         test-xvasprintf.c: Likewise.
55312
55313 2007-05-28  Bruno Haible  <bruno@clisp.org>
55314
55315         * gnulib-tool (func_import): Remember the --with-tests command-line
55316         option through the macro gl_WITH_TESTS in the gnulib-cache.m4.
55317         Reported by Eric Blake.
55318
55319 2007-05-28  Bruno Haible  <bruno@clisp.org>
55320
55321         * modules/ftell-tests: New file.
55322         * tests/test-ftell.c: New file, based on tests/test-ftello.c.
55323         * tests/test-ftell.sh: New file, based on tests/test-ftello.sh.
55324
55325         * lib/ftell.c: New file.
55326         * modules/ftell: New file.
55327         * m4/ftell.m4: New file.
55328         * doc/functions/ftell.texi: Update.
55329         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELL,
55330         REPLACE_FTELL.
55331         * lib/stdio_.h (rpl_ftell): New declaration.
55332         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELL,
55333         REPLACE_FTELL.
55334
55335 2007-05-28  Eric Blake  <ebb9@byu.net>
55336
55337         * lib/allocsa.h (safe_alloca): Avoid compiler warning.
55338
55339 2007-05-28  Bruno Haible  <bruno@clisp.org>
55340
55341         * modules/fseek-tests: New file.
55342         * tests/test-fseek.c: New file, based on tests/test-fseeko.c.
55343         * tests/test-fseek.sh: New file, based on tests/test-fseeko.sh.
55344
55345         * lib/fseek.c: New file.
55346         * modules/fseek: New file.
55347         * m4/fseek.m4: New file.
55348         * doc/functions/fseek.texi: Update.
55349         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEK,
55350         REPLACE_FSEEK.
55351         * lib/stdio_.h (rpl_fseek): New declaration.
55352         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEK,
55353         REPLACE_FSEEK.
55354
55355 2007-05-28  Bruno Haible  <bruno@clisp.org>
55356
55357         * lib/stdio_.h (fflush): More comments.
55358
55359 2007-05-28  Bruno Haible  <bruno@clisp.org>
55360
55361         * m4/lseek.m4 (gl_FUNC_LSEEK): When not cross-compiling, perform a real
55362         runtime test.
55363
55364 2007-05-28  Eric Blake  <ebb9@byu.net>
55365
55366         Improve lseek module.
55367         * lib/lseek.c (rpl_lseek): Detect EBADF on mingw.
55368         * lib/unistd_.h (lseek): Scale back link warning message.
55369         * tests/test-lseek.c: Beef up test.
55370         * tests/test-lseek.sh: Exercise more facets of lseek.
55371         Reported by Bruno Haible.
55372
55373 2007-05-28  Bruno Haible  <bruno@clisp.org>
55374
55375         * tests/test-unistd.c: Test all the types that <unistd.h> is expected
55376         to define.
55377
55378 2007-05-27  Bruno Haible  <bruno@clisp.org>
55379
55380         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-31 patch.
55381
55382 2007-05-27  Bruno Haible  <bruno@clisp.org>
55383
55384         * modules/openmp: New file.
55385         * m4/openmp.m4: New file, taken from autoconf's CVS with changes by
55386         Noah Misch.
55387
55388 2007-05-26  Bruno Haible  <bruno@clisp.org>
55389
55390         * modules/chdir-long (Depends-on): Add fchdir.
55391         * modules/chdir-safer (Depends-on): Likewise.
55392         * modules/fts (Depends-on): Likewise.
55393         * modules/fts-lgpl (Depends-on): Likewise.
55394         * modules/openat (Depends-on): Likewise.
55395         * modules/savewd (Depends-on): Likewise.
55396
55397 2007-05-24  Eric Blake  <ebb9@byu.net>
55398
55399         Fix lseek on mingw.
55400         * modules/lseek: New module.
55401         * m4/lseek.m4: New file.
55402         * lib/lseek.c: New file.
55403         * modules/lseek-tests: New file.
55404         * tests/test-lseek.c: New file.
55405         * tests/test-lseek.sh: New file.
55406         * MODULES.html.sh: Document lseek module.
55407         * modules/fflush (Depends-on): Add lseek, fseeko.
55408         * modules/fseeko (Depends-on): Likewise.
55409         * modules/ftello (Depends-on): Likewise.
55410         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Replace fseek[o] if lseek is
55411         broken.
55412         * m4/ftello.m4 (gl_FUNC_FTELLO): Replace ftell[o] if lseek is
55413         broken.
55414         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Trigger fseeko module.
55415         * lib/fseeko.c (rpl_fseeko): Quit early on non-seekable files.
55416         * lib/ftello.c (rpl_ftello): Likewise.
55417         * tests/test-fseeko.c (main): Test this.
55418         * tests/test-fseeko.sh: Likewise.
55419         * tests/test-ftello.c (main): Likewise.
55420         * tests/test-ftello.sh: Likewise.
55421         * lib/stdio_.h (fseek, ftell): Simplify, since missing fseeko now
55422         implies replacing fseek.
55423         * modules/stdio (Makefile.am): No longer need HAVE_FSEEKO,
55424         HAVE_FTELLO.
55425         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add lseek info.
55426         * modules/unistd (Makefile.am): Likewise.
55427         * lib/unistd_.h (lseek): Declare a replacement.
55428         * doc/functions/lseek.texi (lseek): Document this fix.
55429         * doc/functions/fseek.texi (fseek): Likewise.
55430         * doc/functions/ftell.texi (ftell): Likewise.
55431
55432 2007-05-24  Bruno Haible  <bruno@clisp.org>
55433
55434         * tests/test-vasnprintf-posix.c (test_function): Allow up to 50 bytes
55435         in the printed representation of a NaN.
55436         * tests/test-vasprintf-posix.c (test_function): Likewise.
55437         * tests/test-snprintf-posix.h (test_function): Likewise.
55438         * tests/test-sprintf-posix.h (test_function): Likewise.
55439         Reported by Eric Blake.
55440
55441 2007-05-23  Eric Blake  <ebb9@byu.net>
55442
55443         Fix fseeko/ftello on cygwin 1.5.24.
55444         * doc/functions/fseeko.texi (fseeko): Document the fix.
55445         * doc/functions/ftello.texi (ftello): Document the fix.
55446         * doc/functions/stdin.texi (stdin): Document the cygwin bug.
55447         * doc/functions/stdout.text (stdout): New file.
55448         * doc/functions/stderr.text (stderr): New file.
55449         * doc/gnulib.texi (Function Substitutes): Use new files.
55450         * tests/test-fseeko.c (main): Check for broken fseeko on cygwin
55451         prior to 1.7.0.
55452         * tests/test-ftello.c (main): Likewise for ftello.
55453         * tests/test-fseeko.sh: New file.
55454         * tests/test-ftello.sh: New file.
55455         * modules/fseeko-tests (Makefile.am): Ensure test-fseeko is run
55456         with seekable stdin.
55457         * modules/ftello-tests (Makefile.am): Likewise for test-ftello.
55458         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Detect the cygwin bug.
55459         (gl_REPLACE_FSEEKO): New macro.
55460         * m4/ftello.m4 (gl_FUNC_FTELLO, gl_REPLACE_FTELLO): Likewise.
55461         * modules/fseeko (Files): Distribute fseeko.c.
55462         * modules/ftello (Files): Distribute ftello.c.
55463         * lib/fseeko.c (rpl_fseeko) [__CYGWIN__]: Convert stdin to 64-bit
55464         mode.
55465         * lib/ftello.c (rpl_ftello): New file.
55466         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Allow replacement of
55467         fseeko, ftello.
55468         (gl_STDIN_LARGE_OFFSET): New macro.
55469         * modules/stdio (Makefile.am): Perform the replacement.
55470         * lib/stdio_.h (rpl_fseeko, rpl_ftello): Define when needed.
55471
55472 2007-05-23  Bruno Haible  <bruno@clisp.org>
55473
55474         * lib/stdio_.h (fseeko, ftello): Provide a link warning only if
55475         GNULIB_POSIXCHECK is defined.
55476
55477 2007-05-21  Bruno Haible  <bruno@clisp.org>
55478
55479         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE):
55480         Check also the output for NaN arguments. When cross-compiling, guess
55481         no on IRIX.
55482         * lib/vasnprintf.c: Update comments.
55483         * tests/test-vasnprintf-posix.c (strisnan): New function.
55484         (test_function): Use it.
55485         * tests/test-vasprintf-posix.c (strisnan): New function.
55486         (test_function): Use it.
55487         * tests/test-snprintf-posix.h (strisnan): New function.
55488         (test_function): Use it.
55489         * tests/test-sprintf-posix.h (strisnan): New function.
55490         (test_function): Use it.
55491         Reported by Eric Blake.
55492
55493 2007-05-20  Bruno Haible  <bruno@clisp.org>
55494
55495         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Add test for large finite
55496         numbers that fails on BeOS.
55497         * doc/functions/frexpl.texi: Update.
55498
55499 2007-05-20  Jim Meyering  <jim@meyering.net>
55500
55501         * NEWS: Mention the incompatible change (s/futimens/gl_futimens/)
55502         forced upon us by glibc-2.6.
55503
55504 2007-05-20  Bruno Haible  <bruno@clisp.org>
55505
55506         Fix *printf result for NaN, Inf on AIX, Solaris, OSF/1.
55507         * m4/printf.m4 (gl_PRINTF_INFINITE): Update cross-compiling guesses.
55508         (gl_PRINTF_INFINITE_LONG_DOUBLE): New macro.
55509         * lib/vasnprintf.c: Use NEED_PRINTF_INFINITE_DOUBLE instead of
55510         NEED_PRINTF_INFINITE.
55511         (is_infinitel): New function.
55512         (VASNPRINTF): Handle NEED_PRINTF_INFINITE_LONG_DOUBLE case.
55513         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE): Renamed from
55514         gl_PREREQ_VASNPRINTF_INFINITE.
55515         (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): New macro.
55516         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
55517         gl_PRINTF_INFINITE_LONG_DOUBLE and test its result. Invoke
55518         gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE and
55519         gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE instead of
55520         gl_PREREQ_VASNPRINTF_INFINITE.
55521         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
55522         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
55523         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
55524         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
55525         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
55526         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
55527         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
55528         * doc/functions/fprintf.texi: Update.
55529         * doc/functions/printf.texi: Update.
55530         * doc/functions/snprintf.texi: Update.
55531         * doc/functions/sprintf.texi: Update.
55532         * doc/functions/vfprintf.texi: Update.
55533         * doc/functions/vprintf.texi: Update.
55534         * doc/functions/vsnprintf.texi: Update.
55535         * doc/functions/vsprintf.texi: Update.
55536
55537 2007-05-20  Bruno Haible  <bruno@clisp.org>
55538
55539         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): Set REPLACE_FREXPL if frexpl
55540         was not found in libc.
55541         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
55542
55543 2007-05-20  Bruno Haible  <bruno@clisp.org>
55544
55545         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
55546         printed as "-nan" instead of "nan".
55547         * tests/test-vasprintf-posix.c (test_function): Likewise.
55548         * tests/test-snprintf-posix.h (test_function): Likewise.
55549         * tests/test-sprintf-posix.h (test_function): Likewise.
55550         Needed for HP-UX 11.
55551
55552 2007-05-20  Jim Meyering  <jim@meyering.net>
55553
55554         Fix buggy test for the fchownat-deref bug.
55555         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Create the dangling
55556         symlink required for the run-test.  Without it, this test would
55557         always declare that fchownat doesn't work, and client code would
55558         unnecessarily use the replacement function with fixed libc.
55559         (gl_FUNC_FCHOWNAT): Eliminate a variable that wasn't initialized.
55560         Reported by Greg Schafer.
55561
55562 2007-05-19  Bruno Haible  <bruno@clisp.org>
55563
55564         * m4/isnanf.m4 (gl_ISNANF_WORKS): New macro.
55565         (gl_FUNC_ISNANF_NO_LIBM): Invoke it.
55566         * lib/isnan.c (FUNC): Use run-time expressions for SGI compiler.
55567         Needed for IRIX 6.5 and Solaris 2.5.1.
55568
55569 2007-05-19  Bruno Haible  <bruno@clisp.org>
55570
55571         * tests/test-vasnprintf-posix.c (have_minus_zero): New function.
55572         (test_function): Skip tests involving -0.0 on platforms where
55573         -0.0 = 0.0.
55574         * tests/test-vasprintf-posix.c (have_minus_zero): New function.
55575         (test_function): Skip tests involving -0.0 on platforms where
55576         -0.0 = 0.0.
55577         * tests/test-snprintf-posix.h (have_minus_zero): New function.
55578         (test_function): Skip tests involving -0.0 on platforms where
55579         -0.0 = 0.0.
55580         * tests/test-sprintf-posix.h (have_minus_zero): New function.
55581         (test_function): Skip tests involving -0.0 on platforms where
55582         -0.0 = 0.0.
55583         * tests/test-fprintf-posix.h (test_function): Remove all -0.0 related
55584         tests.
55585         * tests/test-printf-posix.h (test_function): Likewise.
55586         * tests/test-printf-posix.output: Remove all -0.0 related results.
55587         Needed for IRIX 6.5.
55588
55589 2007-05-19  Bruno Haible  <bruno@clisp.org>
55590
55591         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
55592         printed as "nan0x7fffffff" instead of "nan".
55593         * tests/test-vasprintf-posix.c (test_function): Likewise.
55594         * tests/test-snprintf-posix.h (test_function): Likewise.
55595         * tests/test-sprintf-posix.h (test_function): Likewise.
55596         * tests/test-fprintf-posix.h (NaN): Remove macro.
55597         (test_function): Remove all NaN related tests.
55598         * tests/test-printf-posix.h (NaN): Remove macro.
55599         (test_function): Remove all NaN related tests.
55600         * tests/test-printf-posix.output: Remove all NaN related results.
55601         Needed for IRIX 6.5.
55602
55603 2007-05-19  Bruno Haible  <bruno@clisp.org>
55604
55605         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Fix C89 syntax error in test code.
55606         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
55607
55608 2007-05-19  Bruno Haible  <bruno@clisp.org>
55609
55610         * lib/float_.h: New file.
55611         * m4/float_h.m4: New file.
55612         * modules/float: New file.
55613         * modules/isnanl (Dependencies): Add float.
55614         * modules/isnanl-nolibm (Dependencies): Likewise.
55615         * modules/mathl (Dependencies): Likewise.
55616         * modules/printf-frexpl (Dependencies): Likewise.
55617         * modules/signbit (Dependencies): Likewise.
55618         * modules/vasnprintf (Dependencies): Likewise.
55619         * doc/headers/float.texi: Update.
55620
55621 2007-05-19  Jim Meyering  <jim@meyering.net>
55622
55623         * lib/utimens.c (gl_futimens): Rename from futimens,
55624         now that glibc-2.6 declares futimens.
55625         * lib/utimens.h: Likewise.
55626
55627 2007-05-19  Bruno Haible  <bruno@clisp.org>
55628
55629         Avoid test failures on mingw.
55630         * tests/test-fprintf-posix.sh: Convert CR/LF to LF in output.
55631         * tests/test-printf-posix.sh: Likewise.
55632         * tests/test-vfprintf-posix.sh: Likewise.
55633         * tests/test-vprintf-posix.sh: Likewise.
55634
55635 2007-05-19  Bruno Haible  <bruno@clisp.org>
55636
55637         Fix *printf result for NaN, Inf, -0.0 on mingw.
55638         * m4/printf.m4 (gl_PRINTF_INFINITE): New macro.
55639         * lib/vasnprintf.c: Include math.h and isnan.h.
55640         (is_infinite_or_zero): New function.
55641         (VASNPRINTF): Fix also the handling of infinite or zero 'double'
55642         values in the %f, %F, %e, %E, %g, %G directives.
55643         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE): New macro.
55644         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
55645         gl_PRINTF_INFINITE and test its result. Invoke
55646         gl_PREREQ_VASNPRINTF_INFINITE.
55647         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
55648         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
55649         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
55650         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
55651         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
55652         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
55653         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
55654         * doc/functions/fprintf.texi: Update.
55655         * doc/functions/printf.texi: Update.
55656         * doc/functions/snprintf.texi: Update.
55657         * doc/functions/sprintf.texi: Update.
55658         * doc/functions/vfprintf.texi: Update.
55659         * doc/functions/vprintf.texi: Update.
55660         * doc/functions/vsnprintf.texi: Update.
55661         * doc/functions/vsprintf.texi: Update.
55662
55663 2007-05-19  Bruno Haible  <bruno@clisp.org>
55664
55665         * lib/vasnprintf.c (convert_to_decimal): Add an extra_zeroes argument.
55666         (scale10_round_decimal_long_double): Inline scale10_round_long_double.
55667         Instead of multiplying with 10^k, set extra_zeroes to k.
55668         (scale10_round_long_double): Remove function.
55669
55670 2007-05-18  Bruno Haible  <bruno@clisp.org>
55671
55672         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Fix logic bug
55673         introduced on 2007-05-06.
55674
55675 2007-05-18  Bruno Haible  <bruno@clisp.org>
55676
55677         * tests/test-vasnprintf-posix.c (test_function): Also test the %e and
55678         %g directives.
55679         * tests/test-vasprintf-posix.c (test_function): Likewise.
55680         * tests/test-snprintf-posix.h (test_function): Likewise.
55681         * tests/test-sprintf-posix.h (test_function): Likewise.
55682
55683 2007-05-18  Bruno Haible  <bruno@clisp.org>
55684
55685         * tests/test-vasnprintf-posix.c (SIZEOF): New macro.
55686         (strmatch): New function.
55687         (test_function): Test the %f directive on numbers of various exponents.
55688         * tests/test-vasprintf-posix.c (SIZEOF): New macro.
55689         (strmatch): New function.
55690         (test_function): Test the %f directive on numbers of various exponents.
55691         * tests/test-snprintf-posix.h (strmatch): New function.
55692         (test_function): Test the %f directive on numbers of various exponents.
55693         * tests/test-sprintf-posix.h (strmatch): New function.
55694         (test_function): Test the %f directive on numbers of various exponents.
55695         * tests/test-snprintf-posix.c (SIZEOF): New macro.
55696         * tests/test-sprintf-posix.c (SIZEOF): New macro.
55697         * tests/test-vsnprintf-posix.c (SIZEOF): New macro.
55698         * tests/test-vsprintf-posix.c (SIZEOF): New macro.
55699
55700 2007-05-18  Bruno Haible  <bruno@clisp.org>
55701
55702         Add support for 'long double' number output.
55703         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE): New macro.
55704         * lib/vasnprintf.c: Include math.h and float+.h.
55705         (mp_limb_t): New type.
55706         (GMP_LIMB_BITS): New macro.
55707         (mp_twolimb_t): New type.
55708         (GMP_TWOLIMB_BITS): New macro.
55709         (mpn_t): New type.
55710         (multiply, divide, convert_to_decimal, decode_long_double,
55711         scale10_round_long_double, scale10_round_decimal_long_double,
55712         floorlog10l): New functions.
55713         (VASNPRINTF) [NEED_PRINTF_LONG_DOUBLE]: Implement 'long double' support
55714         for the %f, %F, %e, %E, %g, %G directives.
55715         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_LONG_DOUBLE): New macro.
55716         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
55717         gl_PRINTF_LONG_DOUBLE and test its result. Invoke
55718         gl_PREREQ_VASNPRINTF_LONG_DOUBLE.
55719         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
55720         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
55721         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
55722         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
55723         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
55724         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
55725         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
55726         * modules/fprintf-posix (Depends-on): Add frexpl-nolibm.
55727         * modules/snprintf-posix (Depends-on): Likewise.
55728         * modules/sprintf-posix (Depends-on): Likewise.
55729         * modules/vasnprintf-posix (Depends-on): Likewise.
55730         * modules/vasprintf-posix (Depends-on): Likewise.
55731         * modules/vfprintf-posix (Depends-on): Likewise.
55732         * modules/vsnprintf-posix (Depends-on): Likewise.
55733         * modules/vsprintf-posix (Depends-on): Likewise.
55734         * modules/vasnprintf (Files): Add lib/float+.h.
55735         * doc/functions/fprintf.texi: Update.
55736         * doc/functions/printf.texi: Update.
55737         * doc/functions/snprintf.texi: Update.
55738         * doc/functions/sprintf.texi: Update.
55739         * doc/functions/vfprintf.texi: Update.
55740         * doc/functions/vprintf.texi: Update.
55741         * doc/functions/vsnprintf.texi: Update.
55742         * doc/functions/vsprintf.texi: Update.
55743
55744 2007-05-18  Bruno Haible  <bruno@clisp.org>
55745
55746         * lib/vasnprintf.c (USE_SNPRINTF): Define to 0 on BeOS.
55747
55748 2007-05-18  Bruno Haible  <bruno@clisp.org>
55749
55750         * lib/vasnprintf.c (VASNPRINTF) [WIN32]: Use %I64d instead of %lld
55751         for printing 64-bit integers. Needed for mingw.
55752
55753 2007-05-18  Bruno Haible  <bruno@clisp.org>
55754
55755         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
55756         gl_FUNC_FREXPL_WORKS.
55757         * modules/printf-frexpl (Files): Add m4/frexpl.m4.
55758
55759 2007-05-18  Bruno Haible  <bruno@clisp.org>
55760
55761         * modules/frexpl-nolibm-tests: New file.
55762
55763         * modules/frexpl-nolibm: New file.
55764         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): New macro.
55765
55766 2007-05-17  Paul Eggert  <eggert@cs.ucla.edu>
55767
55768         * lib/dirent_.h: Prefer #include_next <foo.h> to #include
55769         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
55770         GCC 4.2, which otherwise issues a lot of warnings.
55771         * lib/iconv_.h, lib/locale_.h, lib/netinet_in_.h, lib/sys_select_.h:
55772         * lib/sys_socket_.h, lib/sys_stat_.h, lib/sysexits_.h, lib/unistd_.h:
55773         Likewise.
55774         * modules/fchdir (dirent.h): Substitute @HAVE_INCLUDE_NEXT@.
55775         * modules/iconv_open (iconv.h): Likewise.
55776         * modules/locale (locale.h): Likewise.
55777         * modules/netinet_in (netinet/in.h): Likewise.
55778         * modules/sys_select (sys_select.h): Likewise.
55779         * modules/sys_socket (sys/socket.h): Likewise.
55780         * modules/sys_stat (sys/stat.h): Likewise.
55781         * modules/sysexits (sysexits.h): Likewise.
55782         * modules/unistd (unistd.h): Likewise.
55783
55784 2007-05-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55785
55786         * modules/closein-tests (Makefile.am): Distribute
55787         `test-closein.sh'.
55788
55789 2007-05-17  Bruno Haible  <bruno@clisp.org>
55790
55791         * tests/test-printf-posix.output: Renamed from
55792         tests/test-fprintf-posix.out.
55793         * modules/fprintf-posix-tests: Update.
55794         * modules/printf-posix-tests: Update.
55795         * modules/vfprintf-posix-tests: Update.
55796         * modules/vprintf-posix-tests: Update.
55797         * tests/test-fprintf-posix.sh: Update.
55798         * tests/test-printf-posix.sh: Update.
55799         * tests/test-vfprintf-posix.sh: Update.
55800         * tests/test-vprintf-posix.sh: Update.
55801         Reported by Ralf Wildenhues.
55802
55803 2007-05-16  Paul Eggert  <eggert@cs.ucla.edu>
55804
55805         * lib/fcntl_.h: Prefer #include_next <foo.h> to #include
55806         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
55807         GCC 4.2, which otherwise issues a lot of warnings.
55808         * lib/inttypes_.h, lib/math_.h, lib/search_.h, lib/signal_.h:
55809         * lib/stdint_.h, lib/stdio_.h, lib/stdlib_.h, lib/string_.h:
55810         * lib/sys_time_.h, lib/time_.h, lib/wchar_.h, lib/wctype_.h: Likewise.
55811         * lib/stdlib_.h: Don't bother with #pragma GCC system_header, as
55812         it should no longer be needed.
55813         * lib/string_.h: Likewise.
55814         * modules/absolute-header (HAVE_INCLUDE_NEXT): New 'make' define.
55815         * modules/fcntl (fcntl.h): Substitute @HAVE_INCLUDE_NEXT@.
55816         * modules/inttypes (inttypes.h): Likewise.
55817         * modules/math (math.h): Likewise.
55818         * modules/search (search.h): Likewise.
55819         * modules/signal (signal.h): Likewise.
55820         * modules/stdint (stdint.h): Likewise.
55821         * modules/stdio (stdio.h): Likewise.
55822         * modules/stdlib (stdlib.h): Likewise.
55823         * modules/string (string.h): Likewise.
55824         * modules/sys_time (sys/time.h): Likewise.
55825         * modules/time (time.h): Likewise.
55826         * modules/wchar (wchar.h): Likewise.
55827         * modules/wctype (wtype.h): Likewise.
55828
55829 2007-05-16  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
55830
55831         * doc/gnulib-tool.texi (CVS Issues): Fix typo.
55832
55833 2007-05-13  Bruno Haible  <bruno@clisp.org>
55834
55835         * stpcpy.m4 (gl_FUNC_STPCPY): Require AC_C_RESTRICT.
55836         * stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
55837         * strsep.m4 (gl_FUNC_STRSEP): Likewise.
55838         * strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
55839         (gl_PREREQ_STRTOK_R): Don't require it here.
55840
55841 2007-05-13  Bruno Haible  <bruno@clisp.org>
55842
55843         * lib/stdlib_.h (mkdtemp, mkstemp): Comment out argument name. Needed
55844         when used in C++ mode.
55845
55846 2007-05-12  Bruno Haible  <bruno@clisp.org>
55847
55848         * lib/linebuffer.h: Tweak doc.
55849         * lib/linebuffer.c: Likewise.
55850
55851 2007-05-12  James Youngman  <jay@gnu.org>
55852
55853         * lib/linebuffer.c (readlinebuffer_delim): New function,
55854         like readlinebuffer, but use a caller-specified delimiter.
55855         (readlinebuffer): Just call readlinebuffer_delim with '\n'
55856         as the delimiter.
55857         * lib/linebuffer.h (readlinebuffer_delim): Declare it.
55858
55859 2007-05-12  Sergey Poznyakoff  <gray@gnu.org.ua>
55860
55861         * m4/openat.m4 (gl_FUNC_OPENAT): Do not require openat-die.
55862         * modules/openat (Files): Remove openat-die.c.
55863         (Depends-on): Add openat-die.
55864         * modules/openat-die: New module.
55865
55866 2007-05-06  Bruno Haible  <bruno@clisp.org>
55867
55868         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING, gl_VSNPRINTF_ZEROSIZE_C99):
55869         Update with info about Cygwin.
55870         * doc/functions/fprintf.texi: Update.
55871         * doc/functions/printf.texi: Update.
55872         * doc/functions/snprintf.texi: Update.
55873         * doc/functions/sprintf.texi: Update.
55874         * doc/functions/vfprintf.texi: Update.
55875         * doc/functions/vprintf.texi: Update.
55876         * doc/functions/vsnprintf.texi: Update.
55877         * doc/functions/vsprintf.texi: Update.
55878         Reported by Eric Blake.
55879
55880 2007-05-06  Bruno Haible  <bruno@clisp.org>
55881
55882         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Perform the
55883         padding ourselves for the floating-point directives.
55884         * m4/printf.m4 (gl_PRINTF_FLAG_ZERO): New macro.
55885         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_ZERO): New macro.
55886         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
55887         gl_PRINTF_FLAG_ZERO and test its result. Invoke
55888         gl_PREREQ_VASNPRINTF_FLAG_ZERO.
55889         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
55890         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
55891         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
55892         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
55893         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
55894         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
55895         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
55896         * tests/test-snprintf-posix.h (test_function): Also check the width
55897         and some flags in the %f directive.
55898         * tests/test-sprintf-posix.h (test_function): Likewise.
55899         * tests/test-vasnprintf-posix.c (test_function): Likewise.
55900         * tests/test-vasprintf-posix.c (test_function): Likewise.
55901         * doc/functions/fprintf.texi: Update.
55902         * doc/functions/printf.texi: Update.
55903         * doc/functions/snprintf.texi: Update.
55904         * doc/functions/sprintf.texi: Update.
55905         * doc/functions/vfprintf.texi: Update.
55906         * doc/functions/vprintf.texi: Update.
55907         * doc/functions/vsnprintf.texi: Update.
55908         * doc/functions/vsprintf.texi: Update.
55909
55910 2007-05-06  Bruno Haible  <bruno@clisp.org>
55911
55912         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_GROUPING]: Don't
55913         pass the ' flag character to sprintf or snprintf.
55914         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING): New macro.
55915         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_GROUPING): New macro.
55916         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
55917         gl_PRINTF_FLAG_GROUPING and test its result. Invoke
55918         gl_PREREQ_VASNPRINTF_FLAG_GROUPING.
55919         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
55920         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
55921         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
55922         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
55923         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
55924         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
55925         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
55926         * tests/test-snprintf-posix.h (test_function): Also check the grouping
55927         flag.
55928         * tests/test-sprintf-posix.h (test_function): Likewise.
55929         * tests/test-vasnprintf-posix.c (test_function): Likewise.
55930         * tests/test-vasprintf-posix.c (test_function): Likewise.
55931         * doc/functions/fprintf.texi: Update.
55932         * doc/functions/printf.texi: Update.
55933         * doc/functions/snprintf.texi: Update.
55934         * doc/functions/sprintf.texi: Update.
55935         * doc/functions/vfprintf.texi: Update.
55936         * doc/functions/vprintf.texi: Update.
55937         * doc/functions/vsnprintf.texi: Update.
55938         * doc/functions/vsprintf.texi: Update.
55939
55940 2007-05-01  Bruno Haible  <bruno@clisp.org>
55941
55942         * tests/test-argp-2.sh (func_compare): Drop .exe suffix.
55943
55944 2007-05-03  Paul Eggert  <eggert@cs.ucla.edu>
55945
55946         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use better
55947         comment for D_INO_IN_DIRENT.  Problem reported by James Youngman.
55948
55949 2007-05-02  Paul Eggert  <eggert@cs.ucla.edu>
55950
55951         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Test whether
55952         readdir returns garbage in d_ino.  Problem reported by Kaz Sasayama in
55953         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00021.html>.
55954
55955 2007-05-02  Sergey Poznyakoff  <gray@gnu.org.ua>
55956
55957         * lib/argp-help.c (struct hol_entry): New member `ord'.
55958         (HOL_ENTRY_PTRCMP): Use ord for comparison
55959         (hol_sort): Initialize ord.
55960
55961 2007-05-01  Bruno Haible  <bruno@clisp.org>
55962
55963         * doc/functions/_Exit_C99.texi: Renamed from doc/functions/_Exit.texi.
55964         Reported by Eric Blake.
55965         * doc/gnulib.texi (Function Substitutes): Update.
55966
55967 2007-05-01  Bruno Haible  <bruno@clisp.org>
55968
55969         * doc/functions.texi: Remove file, now redundant through
55970         doc/functions/*.texi.
55971
55972 2007-05-01  Bruno Haible  <bruno@clisp.org>
55973
55974         * modules/argp (Depends-on): Add sleep.
55975
55976 2007-05-01  Bruno Haible  <bruno@clisp.org>
55977
55978         * modules/sleep-tests: New file.
55979         * tests/test-sleep.c: New file.
55980
55981         * modules/sleep: New file.
55982         * lib/sleep.c: New file.
55983         * m4/sleep.m4: New file.
55984         * lib/unistd_.h (sleep): New declaration.
55985         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_SLEEP,
55986         HAVE_SLEEP.
55987         * modules/unistd (Makefile.am): Substitute GNULIB_SLEEP, HAVE_SLEEP.
55988         * doc/functions/sleep.texi: Document the sleep module.
55989
55990 2007-05-01  Bruno Haible  <bruno@clisp.org>
55991
55992         * lib/sigprocmask.h: Remove file.
55993         * lib/signal_.h: Incorporate the previous contents of sigprocmask.h.
55994         * lib/sigprocmask.c: Include <signal.h> instead of sigprocmask.h.
55995         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Substitute GNULIB_SIGPROCMASK,
55996         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T.
55997         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
55998         gl_SIGNAL_H_DEFAULTS. Set HAVE_POSIX_SIGNALBLOCKING as a shell variable.
55999         (gl_PREREQ_SIGPROCMASK): Require gl_SIGNAL_H_DEFAULTS. Set
56000         HAVE_SIGSET_T as a shell variable.
56001         * modules/signal (Makefile.am): Substitute GNULIB_SIGPROCMASK,
56002         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T into signal.h.
56003         * modules/sigprocmask (Files): Remove lib/sigprocmask.h.
56004         (Depends-on): Add signal. Remove verify.
56005         (configure.ac): Invoke gl_SIGNAL_MODULE_INDICATOR.
56006         (Include): Mention <signal.h> instead of sigprocmask.h.
56007         * NEWS: Mention the change.
56008         * lib/fatal-signal.c: Don't include sigprocmask.h.
56009
56010 2007-05-01  Bruno Haible  <bruno@clisp.org>
56011
56012         * modules/signal: New file.
56013         * lib/signal_.h: New file.
56014         * m4/signal_h.m4: New file.
56015
56016 2007-05-01  Bruno Haible  <bruno@clisp.org>
56017
56018         * lib/wctype_.h: Test HAVE_ISWCNTRL at configure time.
56019         * m4/wctype.m4 (gl_WCTYPE_H): Substitute HAVE_ISWCNTRL.
56020         * modules/wctype (Makefile.am): Substitute HAVE_ISWCNTRL instead of
56021         HAVE_WCTYPE_CTMP_BUG into wctype.h.
56022
56023 2007-05-01  Bruno Haible  <bruno@clisp.org>
56024
56025         * lib/sys_stat_.h: Test HAVE_LSTAT, HAVE_DECL_MKDIR, HAVE_IO_H at
56026         configure time.
56027         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Substitute HAVE_LSTAT,
56028         HAVE_DECL_MKDIR, HAVE_IO_H via AC_SUBST.
56029         * modules/sys_stat (Makefile.am): Substitute their values into
56030         sys/stat.h.
56031
56032 2007-05-01  Bruno Haible  <bruno@clisp.org>
56033
56034         * lib/glob_.h: Test HAVE_SYS_CDEFS_H at configure time.
56035         * m4/glob.m4 (gl_PREREQ_GLOB): Substitute HAVE_SYS_CDEFS_H via AC_SUBST.
56036         * modules/glob (Makefile.am): Put HAVE_SYS_CDEFS_H value into glob.h.
56037
56038 2007-05-01  Bruno Haible  <bruno@clisp.org>
56039
56040         * doc/header/assert.texi: Undo last change: don't mention the gnulib
56041         'assert' module here.
56042
56043 2007-05-01  Bruno Haible  <bruno@clisp.org>
56044
56045         * doc/functions/*.texi: New files.
56046         * doc/functions/google-ranking.txt: New file.
56047         * doc/gnulib.texi (Function Substitutes): New chapter.
56048         (ctime, inet_ntoa): Remove sections.
56049         * doc/ctime.texi: Remove file.
56050         * doc/inet_ntoa.texi: Remove file.
56051         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Update
56052         dependencies.
56053         (%.info): New rule, specifying a --reference-limit.
56054
56055 2007-05-01  Bruno Haible  <bruno@clisp.org>
56056
56057         * MODULES.html.sh (posix_functions): Remove 'exec', 'toc'.
56058
56059 2007-05-01  Bruno Haible  <bruno@clisp.org>
56060
56061         * modules/mkdir (Depends-on): Add sys_stat, because sys_stat provides
56062         the portability of 'mkdir' to mingw systems.
56063
56064 2007-05-01  Bruno Haible  <bruno@clisp.org>
56065
56066         * doc/headers/google-ranking.txt: New file.
56067
56068 2007-04-30  Eric Blake  <ebb9@byu.net>
56069
56070         Prefer fseeko to fseek.
56071         * modules/getpass (Depends-on): Add fseeko.
56072         * lib/getpass.c (getpass): Use fseeko, not fseek.
56073
56074 2007-04-30  Sergey Poznyakoff  <gray@gnu.org.ua>
56075
56076         * lib/argp-help.c (hol_entry_cmp): Option sorting algorithm
56077         assumes the sorting is stable, while most qsort implementations
56078         are not.  Use argument addresses to ensure they never compare as
56079         equal.
56080
56081         * tests/test-argp-2.sh (usage-indent test): Fix output
56082         (func_compare): Restore diff options
56083         * tests/test-argp.c: Restore #include "progname.h"
56084
56085 2007-04-29  Bruno Haible  <bruno@clisp.org>
56086
56087         * m4/printf.m4 (gl_VSNPRINTF_ZEROSIZE_C99): New macro.
56088         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
56089         gl_VSNPRINTF_ZEROSIZE_C99. Test gl_cv_func_vsnprintf_zerosize_c99.
56090         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
56091         * modules/snprintf-posix-tests (Files): Add tests/test-snprintf.c.
56092         (configure.ac): Define CHECK_SNPRINTF_POSIX.
56093         (TESTS, check_PROGRAMS): Add test-snprintf.
56094         * modules/vsnprintf-posix-tests (Files): Add tests/test-vsnprintf.c.
56095         (configure.ac): Define CHECK_VSNPRINTF_POSIX.
56096         (TESTS, check_PROGRAMS): Add test-vsnprintf.
56097         * tests/test-snprintf.c (main) [!CHECK_SNPRINTF_POSIX]: Disable
56098         assertions that fail on HP-UX, OSF/1, or IRIX.
56099         * tests/test-vsnprintf.c (main) [!CHECK_VSNPRINTF_POSIX]: Likewise.
56100
56101 2007-04-29  Bruno Haible  <bruno@clisp.org>
56102
56103         * MODULES.html.sh (posix_functions): Remove 'contents'.
56104
56105 2007-04-29  Karl Berry  <karl@gnu.org>
56106
56107         * config/srclist.txt (gendocs_template_min): new entry.
56108
56109 2007-04-29  Bruno Haible  <bruno@clisp.org>
56110
56111         Work around fpurge bug on BSD systems.
56112         * modules/fpurge (Makefile.am): Compile fpurge.c unconditionally.
56113         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't invoke AC_LIBOBJ.
56114         * lib/fpurge.h (fpurge): Don't handle __fpurge wrapper here. Define
56115         fpurge to rpl_fpurge if the system already has this function.
56116         * lib/fpurge.c (fpurge): Handle also the __fpurge wrapper case and
56117         the case where the system already has this function. Correct invariants
56118         on BSD systems.
56119         * lib/fseeko.c (rpl_fseeko): Update recognition of preceding fflush on
56120         BSD systems.
56121
56122 2007-04-29  Sergey Poznyakoff  <gray@gnu.org.ua>
56123
56124         * lib/argp-help.c (hol_cluster_cmp): Reverse comparison.  Change
56125         proposed by Sven Verdoolaege.
56126
56127         * tests/test-argp.c: Fix option ordering.  Test deeply clustered
56128         options.
56129         * tests/test-argp-2.sh (func_compare): Use diff instead of cmp.
56130         (usage and help tests): Update
56131
56132 2007-04-29  Bruno Haible  <bruno@clisp.org>
56133
56134         * tests/test-fflush.c (main): Use a file of size 17, not 10.
56135         Print more information in case of failure. Disable a test on BeOS.
56136
56137 2007-04-29  Bruno Haible  <bruno@clisp.org>
56138
56139         * tests/**/test-*.[hc] (ASSERT): Use fprintf to show the line number.
56140         This helps debugging on systems on which no gdb is available.
56141
56142 2007-04-29  Bruno Haible  <bruno@clisp.org>
56143
56144         * lib/freading.h: Improve comments.
56145         * lib/fwriting.h: Likewise.
56146         * tests/test-freading.c (main): Don't check freading immediately after
56147         repositioning. Needed for glibc.
56148
56149 2007-04-29  Bruno Haible  <bruno@clisp.org>
56150
56151         * lib/freading.c (freading): Trivial simplification.
56152
56153 2007-04-28  Bruno Haible  <bruno@clisp.org>
56154
56155         * tests/test-fwriting.c (main): Also test the interaction between
56156         fflush and fwriting.
56157         * modules/fwriting-tests (Depends-on): Add fflush.
56158
56159         * tests/test-freading.c (main): Also test the interaction between
56160         fflush and freading.
56161         * modules/freading-tests (Depends-on): Add fflush.
56162
56163 2007-04-28  Bruno Haible  <bruno@clisp.org>
56164
56165         * lib/stdio_.h (fseek, ftell): Provide link warnings suggesting to use
56166         fseeko and ftello.
56167         Suggested by Eric Blake.
56168
56169 2007-04-28  Jim Meyering  <jim@meyering.net>
56170
56171         Avoid false-negative in gl_STDINT_H's C99 conformance test.
56172         * m4/stdint.m4 (gl_STDINT_H): When checking whether stdint.h conforms
56173         to C99, include all of gl_STDINT_INCLUDES, not just <stddef.h>.
56174
56175 2007-04-27  Eric Blake  <ebb9@byu.net>
56176
56177         * doc/headers/assert.texi (assert.h): Document assert module use.
56178
56179 2007-04-27  Bruno Haible  <bruno@clisp.org>
56180
56181         * doc/headers/*.texi: New files.
56182         * doc/gnulib.texi (Header File Substitutes): New chapter.
56183         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Specify
56184         dependencies.
56185         (standards.info ,standards.html, standards.dvi): Update dependencies.
56186         (mostlyclean, clean): New targets.
56187
56188 2007-04-27  Bruno Haible  <bruno@clisp.org>
56189
56190         * lib/sysexits_.h: Renamed from lib/sysexit_.h.
56191         * modules/sysexits (Files, Makefile.am): Update.
56192
56193         * lib/sys_socket_.h: Renamed from lib/socket_.h.
56194         * modules/sys_socket (Files, Makefile.am): Update.
56195
56196         * lib/sys_stat_.h: Renamed from lib/stat_.h.
56197         * modules/sys_stat (Files, Makefile.am): Update.
56198
56199 2007-04-27  Eric Blake  <ebb9@byu.net>
56200
56201         * lib/freading.h: Improve comments.
56202         * lib/fwriting.h: Likewise.
56203         * lib/fflush.c: Likewise.
56204
56205         Fix closein for mingw.
56206         * modules/closein-tests: Add tests for closein.
56207         * tests/test-closein.c: New file.
56208         * tests/test-closein.sh: Likewise.
56209         * lib/unistd_.h [!SEEK_CUR]: Mingw also needs stdlib.h for _exit.
56210         * lib/closein.c (close_stdin): Don't fflush non-seekable streams.
56211
56212 2007-04-27  Bruno Haible  <bruno@clisp.org>
56213
56214         * lib/inttypes_.h [_DECC]: Don't use #include_next if the compiler
56215         version is < 6.
56216         * lib/math_.h [__DECC]: Likewise.
56217         * lib/stdio_.h [__DECC]: Likewise.
56218         * lib/stdlib_.h [__DECC]: Likewise.
56219         * lib/string_.h [__DECC]: Likewise.
56220         * lib/time_.h [__DECC]: Likewise.
56221         * lib/wchar_.h [__DECC]: Likewise.
56222         * lib/wctype_.h [__DECC]: Likewise.
56223
56224 2007-04-27  Bruno Haible  <bruno@clisp.org>
56225
56226         * tests/test-fbufmode.c (main): Relax test, to avoid failure on mingw.
56227
56228 2007-04-27  Bruno Haible  <bruno@clisp.org>
56229
56230         * lib/fflush.c: Add comments.
56231         * modules/fpurge-tests (Depends-on): Add fflush.
56232         * modules/freadable-tests (Depends-on): Likewise.
56233         * modules/fwritable-tests (Depends-on): Likewise.
56234
56235 2007-04-27  Charles Wilson  <libtool@cwilson.fastmail.fm>
56236
56237         * m4/argz.m4 (gl_FUNC_ARGZ): Use !HAVE_WORKING_ARGZ instead of
56238         SYSTEM_ARGZ_IS_BROKEN.  Also, minor stylistic improvements.
56239         Report by Bruno Haible <bruno@clisp.org>.
56240
56241 2007-04-26  Eric Blake  <ebb9@byu.net>
56242
56243         Fix fflush on mingw.
56244         * modules/fflush (Depends-on): Add freading.
56245         * lib/fflush.c (rpl_fflush): Use freading to avoid losing buffered
56246         but unread data.
56247
56248 2007-04-26  Eric Blake  <ebb9@byu.net>
56249         and Bruno Haible  <bruno@clisp.org>
56250
56251         Implement freading and fwriting.
56252         * lib/freading.c: New file.
56253         * lib/freading.h: Likewise.
56254         * m4/freading.m4: Likewise.
56255         * modules/freading: Likewise.
56256         * modules/freading-tests: Likewise.
56257         * tests/test-freading.c: Likewise.
56258         * lib/fwriting.c: New file.
56259         * lib/fwriting.h: Likewise.
56260         * m4/fwriting.m4: Likewise.
56261         * modules/fwriting: Likewise.
56262         * modules/fwriting-tests: Likewise.
56263         * tests/test-fwriting.c: Likewise.
56264         * MODULES.html.sh (File stream based Input/Output): Mention them.
56265
56266 2007-04-26  Bruno Haible  <bruno@clisp.org>
56267
56268         * lib/stdio_.h (fseeko, ftello): Check that off_t has the same size as
56269         'long' when we assume it.
56270         Suggested by Eric Blake.
56271
56272 2007-04-26  Bruno Haible  <bruno@clisp.org>
56273
56274         Ensure fseeko, ftello are declared on glibc systems.
56275         * modules/fflush (configure.ac-early): Require AC_FUNC_FSEEKO.
56276         * modules/fseeko (configure.ac-early): Likewise.
56277         * modules/ftello (configure.ac-early): Likewise.
56278         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't define HAVE_FSEEKO, rely on
56279         AC_FUNC_FSEEKO for this.
56280         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Inline gl_CHECK_FSEEKO.
56281         (gl_CHECK_FSEEKO): Remove macro.
56282
56283 2007-04-26  Bruno Haible  <bruno@clisp.org>
56284
56285         * tests/test-fflush.c (main): Also check the ftell result after
56286         fflush and fseek/fseeko.
56287         * lib/fflush.c (rpl_fflush): For BSD implementations, update the
56288         file descriptor position cache in the stream.
56289         * lib/fseeko.c (rpl_fseeko): Likewise.
56290
56291 2007-04-26  Bruno Haible  <bruno@clisp.org>
56292
56293         * modules/fflush-tests (Depends-on): Add fseeko.
56294
56295 2007-04-25  Charles Wilson  <libtool@cwilson.fastmail.fm>
56296             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56297
56298         * lib/argz_.h: ensure error_t definition is obtained in same
56299         mechanism system argz.h would have.
56300         * m4/argz.m4 (gl_FUNC_ARGZ): add new test to check if $host's
56301         argz facilities are known bad.  Err on the side of caution if
56302         cross-compiling.
56303
56304 2007-04-25  Eric Blake  <ebb9@byu.net>
56305
56306         * lib/fpurge.c (includes): Use stdlib.h for free.
56307         * tests/test-fflush.c (main): Also test fflush-fseeko.
56308
56309 2007-04-25  Bruno Haible  <bruno@clisp.org>
56310
56311         Make fflush+fseek POSIX-compliant on FreeBSD and MacOS X.
56312         * lib/fseeko.c: New file.
56313         * lib/stdio_.h: Include <sys/types.h> when off_t is needed.
56314         (fseeko, fseek): Define to replacements if REPLACE_FFLUSH.
56315         * m4/fseeko.m4 (gl_CHECK_FSEEKO): New macro, extracted from
56316         gl_FUNC_FSEEKO.
56317         (gl_FUNC_FSEEKO): Invoke it.
56318         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Arrange to compile fseeko.c. Invoke
56319         gl_CHECK_FSEEKO. Define HAVE_FSEEKO.
56320         * modules/fflush (Files): Add lib/fseeko.c, m4/fseeko.m4.
56321
56322 2007-04-25  Bruno Haible  <bruno@clisp.org>
56323
56324         * modules/fflush (Depends-on): Add ftello.
56325
56326 2007-04-25  Bruno Haible  <bruno@clisp.org>
56327
56328         * modules/ftello-tests: New file.
56329         * tests/test-ftello.c: New file.
56330
56331         * modules/ftello: New file.
56332         * m4/ftello.m4: New file.
56333         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELLO,
56334         HAVE_FTELLO.
56335         * lib/stdio_.h (ftello): New declaration.
56336         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELLO,
56337         HAVE_FTELLO.
56338
56339 2007-04-25  Bruno Haible  <bruno@clisp.org>
56340
56341         * modules/fseeko-tests: New file.
56342         * tests/test-fseeko.c: New file.
56343
56344         * modules/fseeko: New file.
56345         * m4/fseeko.m4: New file.
56346         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEKO,
56347         HAVE_FSEEKO.
56348         * lib/stdio_.h (fseeko): New declaration.
56349         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEKO,
56350         HAVE_FSEEKO.
56351
56352 2007-04-25  Bruno Haible  <bruno@clisp.org>
56353
56354         * lib/stdio_.h (fflush): Add support for GNULIB_POSIXCHECK.
56355
56356 2007-04-25  Bruno Haible  <bruno@clisp.org>
56357
56358         * lib/unistd_.h: Include <stdio.h> if needed to get the SEEK_* macros.
56359         * tests/test-stdio.c: Check that the various SEEK_* macros are defined.
56360         * tests/test-unistd.c: Likewise.
56361         * tests/test-fcntl.c: Likewise.
56362
56363 2007-04-23  Eric Blake  <ebb9@byu.net>
56364
56365         * lib/fflush.c: Fix missing include.
56366         Reported by Bruno Haible.
56367
56368 2007-04-23  Bruno Haible  <bruno@clisp.org>
56369
56370         * lib/fpurge.c (fpurge) [glibc, BSD]: Free a malloc()ed ungetc buffer.
56371         Reported by Eric Blake.
56372
56373 2007-04-23  Bruno Haible  <bruno@clisp.org>
56374
56375         * lib/fbufmode.c (fbufmode): Port to Solaris/SPARC64.
56376
56377 2007-04-23  Bruno Haible  <bruno@clisp.org>
56378
56379         * lib/fseterr.c (fseterr): Don't hardcode the value of _IOERR.
56380
56381 2007-04-23  Bruno Haible  <bruno@clisp.org>
56382
56383         * tests/test-fbufmode.c (main): Be prepared to a failure of setvbuf.
56384         Needed on HP-UX 11.
56385
56386 2007-04-16  Eric Blake  <ebb9@byu.net>
56387
56388         Make fflush rely on fpurge.
56389         * lib/fflush.c (rpl_fflush): Rely on fpurge module, rather than
56390         open coding all variants.
56391         * modules/fflush (Depends-on): Add fpurge and unistd.
56392         * modules/fflush-tests (Depends-on): Unistd is no longer extra.
56393         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Simplify.
56394
56395         Fix --with-tests compilation on cygwin.
56396         * modules/argmatch-tests (Makefile.am): List gnulib library first
56397         in LDADD.
56398         * modules/argp-tests (Makefile.am): Likewise.
56399         * modules/array-list-tests (Makefile.am): Likewise.
56400         * modules/array-oset-tests (Makefile.am): Likewise.
56401         * modules/avltree-list-tests (Makefile.am): Likewise.
56402         * modules/avltree-oset-tests (Makefile.am): Likewise.
56403         * modules/avltreehash-list-tests (Makefile.am): Likewise.
56404         * modules/carray-list-tests (Makefile.am): Likewise.
56405         * modules/dirname-tests (Makefile.am): Likewise.
56406         * modules/frexp-tests (Makefile.am): Likewise.
56407         * modules/isnanl-tests (Makefile.am): Likewise.
56408         * modules/linked-list-tests (Makefile.am): Likewise.
56409         * modules/linkedhash-list-tests (Makefile.am): Likewise.
56410         * modules/lock-tests (Makefile.am): Likewise.
56411         * modules/rbtree-list-tests (Makefile.am): Likewise.
56412         * modules/rbtree-oset-tests (Makefile.am): Likewise.
56413         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
56414         * modules/tls-tests (Makefile.am): Likewise.
56415         * modules/tsearch-tests (Makefile.am): Likewise.
56416         * modules/xvasprintf-tests (Makefile.am): Likewise.
56417
56418         Fix fpurge for cygwin.
56419         * lib/fpurge.c (fpurge): Fix order of operation flub, and return a
56420         value.
56421         * modules/fpurge-tests (Depends-on): Clean up trash.
56422
56423 2007-04-16  Simon Josefsson  <simon@josefsson.org>
56424
56425         * lib/gc-libgcrypt.c (gc_hash_open): Shut up compiler warnings.
56426
56427         * m4/autobuild.m4: Re-indent.
56428
56429 2007-04-13  Bruno Haible  <bruno@clisp.org>
56430
56431         * modules/fpurge-tests: New file.
56432         * tests/test-fpurge.c: New file.
56433
56434         * modules/fpurge: New file.
56435         * lib/fpurge.h: New file.
56436         * lib/fpurge.c: New file.
56437         * m4/fpurge.m4: New file.
56438
56439 2007-04-13  Bruno Haible  <bruno@clisp.org>
56440
56441         * modules/fbufmode-tests: New file.
56442         * tests/test-fbufmode.c: New file.
56443
56444         * modules/fbufmode: New file.
56445         * lib/fbufmode.h: New file.
56446         * lib/fbufmode.c: New file.
56447         * m4/fbufmode.m4: New file.
56448
56449 2007-04-13  Bruno Haible  <bruno@clisp.org>
56450
56451         * modules/fwritable-tests: New file.
56452         * tests/test-fwritable.c: New file.
56453
56454         * modules/fwritable: New file.
56455         * lib/fwritable.h: New file.
56456         * lib/fwritable.c: New file.
56457         * m4/fwritable.m4: New file.
56458
56459 2007-04-13  Bruno Haible  <bruno@clisp.org>
56460
56461         * modules/freadable-tests: New file.
56462         * tests/test-freadable.c: New file.
56463
56464         * modules/freadable: New file.
56465         * lib/freadable.h: New file.
56466         * lib/freadable.c: New file.
56467         * m4/freadable.m4: New file.
56468
56469 2007-04-13  Bruno Haible  <bruno@clisp.org>
56470
56471         * modules/fflush-tests (Makefile.am): Remove EXTRA_DIST. Augment
56472         MOSTLYCLEANFILES.
56473
56474 2007-04-13  Paul Eggert  <eggert@cs.ucla.edu>
56475
56476         * build-aux/bootstrap (gnulib_tool_option_extras): New var, used by
56477         gzip bootstrap.conf to avoid dragging in i18n machinery.
56478         (gnulib_tool_option): Use it.
56479
56480 2007-04-13  Bruno Haible  <bruno@clisp.org>
56481
56482         * tests/test-vasnprintf-posix.c (test_function): Add tests for %f and
56483         %F directives.
56484         * tests/test-vasprintf-posix.c (test_function): Likewise.
56485         * tests/test-snprintf-posix.h (test_function): Likewise.
56486         * tests/test-sprintf-posix.h (test_function): Likewise.
56487         * tests/test-fprintf-posix.h (test_function): Likewise.
56488         * tests/test-printf-posix.h (test_function): Likewise.
56489         * tests/test-fprintf-posix.out: Likewise.
56490
56491 2007-04-13  Bruno Haible  <bruno@clisp.org>
56492
56493         * modules/lock-tests (configure.ac): For LIBSCHED, try also -lposix4.
56494         * modules/tls-tests (configure.ac): Likewise.
56495         Reported by Arto C. Nirkko <anirkko@insel.ch>.
56496
56497 2007-04-13  Bruno Haible  <bruno@clisp.org>
56498
56499         * lib/tls.c (glthread_tls_get): Fix return type.
56500         Patch by Arto C. Nirkko <anirkko@insel.ch>.
56501
56502 2007-04-12  Eric Blake  <ebb9@byu.net>
56503
56504         * modules/gettime (Depends-on): Remove gettime.
56505         Reported by Dmitry V. Levin.
56506
56507 2007-04-12  Bruno Haible  <bruno@clisp.org>
56508
56509         * modules/fflush (Include): Mention <stdio.h>.
56510         * modules/strtoimax (Include): Mention <inttypes.h>.
56511         * modules/strtoumax (Include): Likewise.
56512
56513 2007-04-12  Eric Blake  <ebb9@byu.net>
56514
56515         * .cvsignore: New file.
56516         * .gitignore: Likewise.
56517
56518 2007-04-12  Bruno Haible  <bruno@clisp.org>
56519
56520         * modules/iconv-tests (test_iconv_LDADD): Mention -liconv after LDADD,
56521         not before, since $(LDADD) often contains libgnu.a.
56522         * modules/striconv-tests (test_striconv_LDADD): Likewise.
56523         * modules/striconveh-tests (test_striconveh_LDADD): Likewise.
56524         * modules/striconveha-tests (test_striconveha_LDADD): Likewise.
56525         Needed on Cygwin.
56526
56527 2007-04-12  Eric Blake  <ebb9@byu.net>
56528
56529         Work around glibc's failure to flush stdin on fclose.
56530         * lib/closein.c (close_stdin): Flush stdin before closing.
56531
56532         Work around glibc's failure to reset seekable stdin on exit.
56533         * modules/closein: New module.
56534         * lib/closein.c: New file.
56535         * lib/closein.h: Likewise.
56536         * m4/closein.m4: Likewise.
56537         * MODULES.html.sh (File stream based Input/Output): Document it.
56538
56539 2007-04-12  Simon Josefsson  <simon@josefsson.org>
56540
56541         * gnulib-tool: Rename generated 'autobuild' script to
56542         'do-autobuild' in --create-megatestdir output.
56543
56544         * doc/gnulib.texi (Build robot for gnulib): Fix.
56545
56546 2007-04-12  Simon Josefsson  <simon@josefsson.org>
56547
56548         * modules/sysexits (Depends-on): Add absolute-header.
56549
56550 2007-04-12  Eric Blake  <ebb9@byu.net>
56551
56552         No need to preserve errno on success.
56553         * lib/fflush.c (rpl_fflush): Simplify errno tracking.
56554         Reported by Bruno Haible.
56555
56556 2007-04-12  Simon Josefsson  <simon@josefsson.org>
56557
56558         * MODULES.html.sh (Support for maintaining and releasing
56559         projects): Add autobuild.  Suggested by Eric Blake <ebb9@byu.net>.
56560
56561 2007-04-12  Simon Josefsson  <simon@josefsson.org>
56562
56563         * gnulib-tool (func_modules_add_dummy): Respect --avoid=dummy.
56564
56565 2007-04-12  Simon Josefsson  <simon@josefsson.org>
56566
56567         * modules/autobuild: New module.
56568
56569         * m4/autobuild.m4: New file.
56570
56571 2007-04-11  Bruno Haible  <bruno@clisp.org>
56572
56573         * lib/vasnprintf.c (VASNPRINTF): Implement the %F directive using the
56574         %f directive, if NEED_PRINTF_DIRECTIVE_F is defined.
56575         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): New macro.
56576         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_F): New macro.
56577         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
56578         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
56579         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
56580         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
56581         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
56582         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
56583         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Invoke
56584         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
56585         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
56586         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Invoke
56587         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
56588         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
56589         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Invoke
56590         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
56591         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
56592         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Invoke
56593         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
56594         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
56595         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Invoke
56596         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
56597         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
56598         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Invoke
56599         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
56600         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
56601         Reported by Eric Blake.
56602
56603 2007-04-11  Bruno Haible  <bruno@clisp.org>
56604
56605         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Fix test. It always failed.
56606
56607 2007-04-10  Bruno Haible  <bruno@clisp.org>
56608
56609         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct result
56610         for NaN and Infinity. Needed on FreeBSD 6.1.
56611         * tests/test-vasnprintf-posix.c (test_function): Undo last change
56612         regarding results for "%010a" of Infinity and NaN.
56613         * tests/test-vasprintf-posix.c (test_function): Likewise.
56614         * tests/test-snprintf-posix.h (test_function): Likewise.
56615         * tests/test-sprintf-posix.h (test_function): Likewise.
56616         * tests/test-fprintf-posix.h (test_function): Likewise.
56617         * tests/test-printf-posix.h (test_function): Likewise.
56618         * tests/test-fprintf-posix.out: Likewise.
56619
56620 2007-04-10  Bruno Haible  <bruno@clisp.org>
56621
56622         * modules/locale-tests: New file.
56623         * tests/test-locale.c: New file.
56624
56625         * modules/locale: New file.
56626         * lib/locale_.h: New file.
56627         * m4/locale_h.m4: New file.
56628
56629 2007-04-10  Paul Eggert  <eggert@cs.ucla.edu>
56630             Bruno Haible  <bruno@clisp.org>
56631
56632         * m4/signbit.m4 (gl_SIGNBIT): When the sign bit position could not
56633         be determined, test for availability of the copysignf, copysign,
56634         copysignl functions.
56635         * lib/signbitf.c (gl_signbitf): Use copysignf if available in libc.
56636         * lib/signbitd.c (gl_signbitd): Use copysign if available in libc.
56637         * lib/signbitl.c (gl_signbitl): Use copysignl if available in libc.
56638
56639 2007-04-09  Eric Blake  <ebb9@byu.net>
56640
56641         * lib/stdio_.h [REPLACE_FFLUSH]: Declare rpl_fflush.
56642         * modules/stdio (Makefile.am): Support fflush.
56643         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
56644         * modules/fflush: New file.
56645         * lib/fflush.c: Likewise.
56646         * m4/fflush.m4: Likewise.
56647         * modules/fflush-tests: New test.
56648         * tests/test-fflush.c: Likewise.
56649         * MODULES.html.sh (Input/output <stdio.h>): Document new module.
56650
56651 2007-04-06  Bruno Haible  <bruno@clisp.org>
56652
56653         * lib/vasnprintf.c: Include <math.h>. Don't include float+.h.
56654         (VASNPRINTF): Use signbit for faster determination whether to print a
56655         minus sign.
56656         * modules/vasnprintf (Files): Remove lib/float+.h.
56657         * modules/fprintf-posix (Depends-on): Add signbit.
56658         * modules/snprintf-posix (Depends-on): Likewise.
56659         * modules/sprintf-posix (Depends-on): Likewise.
56660         * modules/vasnprintf-posix (Depends-on): Likewise.
56661         * modules/vasprintf-posix (Depends-on): Likewise.
56662         * modules/vfprintf-posix (Depends-on): Likewise.
56663         * modules/vsnprintf-posix (Depends-on): Likewise.
56664         * modules/vsprintf-posix (Depends-on): Likewise.
56665
56666 2007-04-06  Bruno Haible  <bruno@clisp.org>
56667
56668         * tests/test-frexp.c (main): Test also the sign bit of zero results.
56669         * tests/test-frexpl.c (main): Likewise.
56670         * tests/test-ldexpl.c (main): Likewise.
56671         * modules/frexp-tests (Depends-on): Add signbit.
56672         * modules/frexpl-tests (Depdends-on): Likewise.
56673         * modules/ldexpl-tests (Depdends-on): Likewise.
56674
56675 2007-04-06  Bruno Haible  <bruno@clisp.org>
56676
56677         * modules/signbit-tests: New file.
56678         * tests/test-signbit.c: New file.
56679
56680         * modules/signbit: New file.
56681         * lib/signbitf.c: New file.
56682         * lib/signbitd.c: New file.
56683         * lib/signbitl.c: New file.
56684         * m4/signbit.m4: New file.
56685         * lib/math_.h (gl_signbitf, gl_signbitd, gl_signbitl): New declarations.
56686         (signbit): New macro.
56687         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_SIGNBIT and
56688         REPLACE_SIGNBIT.
56689         * modules/math (Makefile.am): Substibute also GNULIB_SIGNBIT and
56690         REPLACE_FREXPL into math.h.
56691
56692 2007-04-06  Bruno Haible  <bruno@clisp.org>
56693
56694         * modules/isnanf-nolibm-tests: New file.
56695         * tests/test-isnanf.c: New file.
56696
56697         * modules/isnanf-nolibm: New file.
56698         * lib/isnanf.h: New file.
56699         * lib/isnanf.c: New file.
56700         * lib/isnan.c: Consider the USE_FLOAT macro.
56701         * m4/isnanf.m4: New file.
56702
56703 2007-04-06  Bruno Haible  <bruno@clisp.org>
56704
56705         * modules/gettext-h (configure.ac): AC_SUBST LIBINTL and LTLIBINTL.
56706         (Link): New section.
56707
56708         * modules/canonicalize-lgpl-tests (Makefile.am): Undo last change.
56709
56710 2007-04-06  Bruno Haible  <bruno@clisp.org>
56711
56712         Assume the 'long double' type.
56713         * m4/longdouble.m4: Remove file.
56714         * config/srclist.txt: Don't mention longdouble.m4.
56715         * lib/allocsa.h: Assume HAVE_LONG_DOUBLE to be true.
56716         * lib/float+.h: Likewise.
56717         * lib/frexp.c: Likewise.
56718         * lib/printf-args.h: Likewise.
56719         * lib/printf-args.c: Likewise.
56720         * lib/printf-frexp.c: Likewise.
56721         * lib/printf-parse.c: Likewise.
56722         * lib/vasnprintf.c: Likewise.
56723         * m4/allocsa.m4: Remove gt_TYPE_LONGDOUBLE invocation.
56724         * m4/intl.m4: Likewise.
56725         * m4/isnanl.m4: Likewise.
56726         * m4/printf.m4: Likewise.
56727         * m4/printf-frexpl.m4: Likewise.
56728         * m4/vasnprintf.m4: Likewise.
56729         * modules/allocsa (Files): Remove m4/longdouble.m4.
56730         * modules/gettext (Files): Likewise.
56731         * modules/relocatable-prog-wrapper (Files): Likewise.
56732         * modules/vasnprintf (Files): Likewise.
56733         * modules/isnanl (Files): Likewise.
56734         (Include): Simplify.
56735         * modules/isnanl-nolibm (Files): Remove m4/longdouble.m4.
56736         (Include): Simplify.
56737         * modules/printf-frexpl (Files): Remove m4/longdouble.m4.
56738         (Include): Simplify.
56739         * modules/snprintf-posix-tests (Files): Remove m4/longdouble.m4.
56740         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
56741         * modules/sprintf-posix-tests (Files): Remove m4/longdouble.m4.
56742         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
56743         * modules/vasnprintf-posix-tests (Files): Remove m4/longdouble.m4.
56744         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
56745         * modules/vasprintf-posix-tests (Files): Remove m4/longdouble.m4.
56746         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
56747         * modules/vsnprintf-posix-tests (Files): Remove m4/longdouble.m4.
56748         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
56749         * modules/vsprintf-posix-tests (Files): Remove m4/longdouble.m4.
56750         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
56751         * tests/test-isnanl-nolibm.c: Assume HAVE_LONG_DOUBLE to be true.
56752         * tests/test-isnanl.c: Likewise.
56753         * tests/test-snprintf-posix.h: Likewise.
56754         * tests/test-sprintf-posix.h: Likewise.
56755         * tests/test-vasnprintf-posix.c: Likewise.
56756         * tests/test-vasnprintf-posix2.c: Likewise.
56757         * tests/test-vasprintf-posix.c: Likewise.
56758
56759 2007-04-06  Bruno Haible  <bruno@clisp.org>
56760
56761         Fix problem with Compaq (ex-DEC) Desktop C compiler on Tru64.
56762         * lib/math_.h [__DECC]: Include the overridden include file through
56763         #include_next, outside the double-inclusion guard.
56764         * lib/stdio_.h [__DECC]: Likewise.
56765         * lib/stdlib_.h [__DECC]: Likewise.
56766         * lib/string_.h [__DECC]: Likewise.
56767         * lib/time_.h [__DECC]: Likewise.
56768         * lib/wchar_.h [__DECC]: Likewise.
56769         * lib/wctype_.h [__DECC]: Likewise.
56770         * lib/inttypes_.h [__DECC]: Likewise.
56771         Reported by Albert Chin <china@thewrittenword.com> in
56772         <http://lists.gnu.org/archive/html/bug-gnulib/2007-04/msg00088.html>.
56773
56774 2007-04-04  Eric Blake  <ebb9@byu.net>
56775
56776         * m4/stdint.m4 (gl_STDINT_H): Detect WINT_MAX bug in cygwin
56777         1.5.x.
56778
56779 2007-04-04  Bruno Haible  <bruno@clisp.org>
56780
56781         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct
56782         rounding. Don't assume that FreeBSD 6 and NetBSD 4 pass this test.
56783
56784 2007-04-04  Bruno Haible  <bruno@clisp.org>
56785
56786         * tests/test-vasnprintf-posix.c (test_function): Allow two possible
56787         results for "%010a" of Infinity and NaN.
56788         * tests/test-vasprintf-posix.c (test_function): Likewise.
56789         * tests/test-snprintf-posix.h (test_function): Likewise.
56790         * tests/test-sprintf-posix.h (test_function): Likewise.
56791         * tests/test-fprintf-posix.h (test_function): Remove these tests.
56792         * tests/test-printf-posix.h (test_function): Likewise.
56793         * tests/test-fprintf-posix.out: Update.
56794         Needed for FreeBSD 6.1.
56795
56796 2007-04-04  Bruno Haible  <bruno@clisp.org>
56797
56798         * DEPENDENCIES: Remove mentions of tar and gzip, since they are not
56799         directly used by the gnulib modules nor by gnulib-tool.
56800
56801 2007-04-04  Paul Eggert  <eggert@cs.ucla.edu>
56802
56803         * DEPENDENCIES: Give overall description of version dependency
56804         desirability.  Use more-typical names for apps.
56805         Add shell, coreutils, diffutils, grep, tar, gzip.
56806
56807 2007-04-04  Simon Josefsson  <simon@josefsson.org>
56808
56809         * MODULES.html.sh: Rename crypto modules.  Remove iconvme.
56810
56811 2007-04-04  Karl Berry  <karl@gnu.org>
56812
56813         * MODULES.html.sh (func_module): missing '.
56814
56815 2007-04-03  Bruno Haible  <bruno@clisp.org>
56816
56817         * modules/argmatch-tests (Makefile.am): New variable
56818         test_argmatch_LDADD.
56819         * modules/argp-tests (Makefile.am): New variable test_argp_LDADD.
56820         * modules/array-list-tests (Makefile.am): New variable
56821         test_array_list_LDADD.
56822         * modules/array-oset-tests (Makefile.am): New variable
56823         test_array_oset_LDADD.
56824         * modules/avltree-list-tests (Makefile.am): New variable
56825         test_avltree_list_LDADD.
56826         * modules/avltree-oset-tests (Makefile.am): New variable
56827         test_avltree_oset_LDADD.
56828         * modules/avltreehash-list-tests (Makefile.am): New variable
56829         test_avltreehash_list_LDADD.
56830         * modules/canonicalize-lgpl-tests (Makefile.am): New variable
56831         test_canonicalize_lgpl_LDADD.
56832         * modules/carray-list-tests (Makefile.am): New variable
56833         test_carray_list_LDADD.
56834         * modules/dirname-tests (Makefile.am): New variable
56835         test_dirname_LDADD.
56836         * modules/linked-list-tests (Makefile.am): New variable
56837         test_linked_list_LDADD.
56838         * modules/linkedhash-list-tests (Makefile.am): New variable
56839         test_linkedhash_list_LDADD.
56840         * modules/rbtree-list-tests (Makefile.am): New variable
56841         test_rbtree_list_LDADD.
56842         * modules/rbtree-oset-tests (Makefile.am): New variable
56843         test_rbtree_oset_LDADD.
56844         * modules/rbtreehash-list-tests (Makefile.am): New variable
56845         test_rbtreehash_list_LDADD.
56846         * modules/xvasprintf-tests (Makefile.am): New variable
56847         test_xvasprintf_LDADD.
56848         Reported by Eric Blake.
56849
56850 2007-04-03  Eric Blake  <ebb9@byu.net>
56851
56852         * DEPENDENCIES: Weaken m4 requirements.
56853
56854 2007-04-03  Bruno Haible  <bruno@clisp.org>
56855
56856         * modules/frexp-tests (configure.ac): Remove AC_SUBST.
56857         * modules/isnanl-tests (configure.ac): Likewise.
56858
56859 2007-04-03  Ben Pfaff  <blp@gnu.org>
56860
56861         * modules/iconv_open: Add $(srcdir)/ to source directory
56862         references in Makefile fragments that call gperf, to fix VPATH
56863         builds.
56864
56865 2007-04-03  Bruno Haible  <bruno@clisp.org>
56866
56867         * modules/ldexpl (Depends-on): Add isnanl, remove isnanl-nolibm.
56868         * lib/ldexpl.c: Undo last change.
56869
56870 2007-04-03  Bruno Haible  <bruno@clisp.org>
56871
56872         * modules/printf-frexpl (Depends-on): Undo last change.
56873         (Files): Add m4/ldexpl.m4.
56874
56875 2007-04-03  Bruno Haible  <bruno@clisp.org>
56876
56877         * m4/isnanl.m4 (gl_FUNC_ISNANL): Substitute ISNANL_LIBM.
56878         * modules/isnanl (Link): New section.
56879
56880         * m4/frexp.m4 (gl_FUNC_FREXP): Substitute FREXP_LIBM.
56881         * modules/frexp (Link): New section.
56882
56883         * m4/frexpl.m4 (gl_FUNC_FREXPL): Substitute FREXPL_LIBM.
56884         * modules/frexpl (Link): New section.
56885
56886         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Substitute LDEXPL_LIBM.
56887         * modules/ldexpl (Link): New section.
56888
56889 2007-04-03  Bruno Haible  <bruno@clisp.org>
56890
56891         * modules/TEMPLATE-EXTENDED: New file.
56892         * gnulib-tool (func_all_modules, func_verify_module): Exclude it.
56893
56894 2007-04-03  Bruno Haible  <bruno@clisp.org>
56895
56896         * DEPENDENCIES: New file.
56897         Suggested by Simon Josefsson.
56898
56899 2007-04-03  Bruno Haible  <bruno@clisp.org>
56900
56901         * doc/gnulib.texi: Escape @.
56902
56903 2007-04-03  James Youngman  <jay@gnu.org>
56904         and Paul Eggert  <eggert@cs.ucla.edu>
56905
56906         * lib/stat-time.h (get_stat_birthtime): Check for zero-valued
56907         birthtime on all systems that have birthtime, not just those which
56908         use st_birthtimensec rather than st_birthtim.  Putting zero in
56909         st_birthtim.tv_sec is how (for example) FreeBSD/x86 6.1 indicates
56910         that the birth time is not available for files on an NFS mount.
56911
56912 2007-04-03  Simon Josefsson  <simon@josefsson.org>
56913
56914         * modules/memxor: Move back from crypto/, suggested by Bruno.
56915         * modules/crypto/hmac-sha1: Fix memxor dependency.
56916
56917         * modules/crypto/gc: Moved from ../.
56918
56919 2007-04-02  Eric Blake  <ebb9@byu.net>
56920
56921         * lib/ldexpl.c (includes): Avoid libm.
56922
56923         * modules/printf-frexpl (Depends-on): Depend on ldexpl.
56924
56925 2007-04-02  Bruno Haible  <bruno@clisp.org>
56926
56927         * lib/sysexit_.h (EX_OK): Disable the EX_OK definition from <unistd.h>
56928         on IRIX.
56929
56930 2007-04-02  Bruno Haible  <bruno@clisp.org>
56931
56932         * m4/intdiv0.m4 (gt_INTDIV0): Avoid performing the test for real on
56933         x86 or x86_64 platforms running MacOS X.
56934         Reported by Ryan Schmidt <@ryandesign.com>.
56935
56936 2007-04-02  Bruno Haible  <bruno@clisp.org>
56937
56938         * m4/intdiv0.m4 (gt_INTDIV0): When cross-compiling, treat x86_64 like
56939         i386.
56940
56941 2007-04-01  Simon Josefsson  <simon@josefsson.org>
56942
56943         * modules/crypto/arcfour: Moved from ../.
56944         * modules/crypto/arcfour-tests: Moved from ../.
56945         * modules/crypto/arctwo: Moved from ../.
56946         * modules/crypto/arctwo-tests: Moved from ../.
56947         * modules/crypto/des: Moved from ../.
56948         * modules/crypto/des-tests: Moved from ../.
56949         * modules/crypto/gc-arcfour: Moved from ../.
56950         * modules/crypto/gc-arcfour-tests: Moved from ../.
56951         * modules/crypto/gc-arctwo: Moved from ../.
56952         * modules/crypto/gc-arctwo-tests: Moved from ../.
56953         * modules/crypto/gc-des: Moved from ../.
56954         * modules/crypto/gc-des-tests: Moved from ../.
56955         * modules/crypto/gc-hmac-md5: Moved from ../.
56956         * modules/crypto/gc-hmac-md5-tests: Moved from ../.
56957         * modules/crypto/gc-hmac-sha1: Moved from ../.
56958         * modules/crypto/gc-hmac-sha1-tests: Moved from ../.
56959         * modules/crypto/gc-md2: Moved from ../.
56960         * modules/crypto/gc-md2-tests: Moved from ../.
56961         * modules/crypto/gc-md4: Moved from ../.
56962         * modules/crypto/gc-md4-tests: Moved from ../.
56963         * modules/crypto/gc-md5: Moved from ../.
56964         * modules/crypto/gc-md5-tests: Moved from ../.
56965         * modules/crypto/gc-pbkdf2-sha1: Moved from ../.
56966         * modules/crypto/gc-pbkdf2-sha1-tests: Moved from ../.
56967         * modules/crypto/gc-random: Moved from ../.
56968         * modules/crypto/gc-rijndael: Moved from ../.
56969         * modules/crypto/gc-rijndael-tests: Moved from ../.
56970         * modules/crypto/gc-sha1: Moved from ../.
56971         * modules/crypto/gc-sha1-tests: Moved from ../.
56972         * modules/crypto/gc-tests: Moved from ../.
56973         * modules/crypto/hmac-md5: Moved from ../.
56974         * modules/crypto/hmac-md5-tests: Moved from ../.
56975         * modules/crypto/hmac-sha1: Moved from ../.
56976         * modules/crypto/hmac-sha1-tests: Moved from ../.
56977         * modules/crypto/md2: Moved from ../.
56978         * modules/crypto/md2-tests: Moved from ../.
56979         * modules/crypto/md4: Moved from ../.
56980         * modules/crypto/md4-tests: Moved from ../.
56981         * modules/crypto/md5: Moved from ../.
56982         * modules/crypto/md5-tests: Moved from ../.
56983         * modules/crypto/memxor: Moved from ../.
56984         * modules/crypto/rijndael: Moved from ../.
56985         * modules/crypto/rijndael-tests: Moved from ../.
56986         * modules/crypto/sha1: Moved from ../.
56987
56988 2007-03-30  James Youngman  <jay@gnu.org>
56989
56990         * tests/test-stat-time.c (prepare_test): use chmod() rather than
56991         rename() to change the ctime of a file (because ctime is unaffected
56992         by rename on jfs2 on AIX 5.1).
56993         (main): Start by doing cleanup, in case a previous run failed leaving
56994         test files behind.
56995
56996 2007-03-31  Bruno Haible  <bruno@clisp.org>
56997
56998         Support old proprietary implementations of iconv.
56999         * modules/iconv_open: New file.
57000         * lib/iconv_.h: New file.
57001         * m4/iconv_h.m4: New file.
57002         * lib/iconv_open.c: New file.
57003         * lib/iconv_open-aix.gperf: New file.
57004         * lib/iconv_open-hpux.gperf: New file.
57005         * lib/iconv_open-irix.gperf: New file.
57006         * lib/iconv_open-osf.gperf: New file.
57007         * m4/iconv_open.m4: New file.
57008         * modules/linebreak (Depends-on): Add iconv_open.
57009         * modules/striconv (Depends-on): Likewise.
57010         * modules/striconveh (Depends-on): Likewise.
57011         * modules/unicodeio (Depends-on): Likewise.
57012         * lib/striconveh.h (mem_cd_iconveh, str_cd_iconveh): Allow cd to be
57013         (iconv_t)(-1).
57014         * lib/striconveh.c (mem_cd_iconveh_internal): Use an indirect
57015         conversion if cd is (iconv_t)(-1).
57016         (mem_iconveh, str_iconveh): Don't fail just because a direct conversion
57017         is not possible.
57018
57019 2007-03-31  Bruno Haible  <bruno@clisp.org>
57020
57021         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
57022         work on Solaris either. Protect also second use of "autodetect_jp".
57023
57024 2007-03-31  Bruno Haible  <bruno@clisp.org>
57025
57026         * m4/frexpl.m4 (gl_FUNC_FREXPL): Set HAVE_DECL_FREXPL to 0 when
57027         the function is not present.
57028
57029 2007-03-31  Bruno Haible  <bruno@clisp.org>
57030
57031         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Set HAVE_DECL_LDEXPL to 0 when
57032         the function is not present.
57033
57034 2007-03-31  Bruno Haible  <bruno@clisp.org>
57035
57036         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-29 patch. Test also against
57037         a bug in HP-UX iconv_open().
57038
57039 2007-03-31  Bruno Haible  <bruno@clisp.org>
57040
57041         * MODULES.html.sh (func_module): Don't show gnulib-common.m4.
57042         (Mathematics <math.h>): New section, add fpieee.
57043         (Input/output <stdio.h>): Add fseterr.
57044         (Mathematics <math.h>): New section, add printf-frexp.
57045         (Container data structures): Add sublist.
57046         (Core language properties): Add fpucw, inline.
57047         (Functions for greatest-width integer types <inttypes.h>): Add
57048         imaxabs, imaxdiv, inttypes.
57049         (Mathematics <math.h>): Add frexp, frexpl, isnan-nolibm, isnanl,
57050         isnanl-nolibm, ldexp.
57051         (Mathematics <math.h>): New section, add printf-frexpl.
57052         (Support for systems lacking POSIX:2001): Add fprintf-posix,
57053         printf-posix, snprintf-posix, sprintf-posix, string, search, socklen,
57054         sys_select, sys_socket, vasnprintf-posix, vasprintf-posix,
57055         vfprintf-posix, vprintf-posix, vsnprintf-posix, vsprintf-posix.
57056         (Unicode string functions): Add unistr/u*-mbtoucr.
57057         (Java): Add javacomp-script, javaexec-script.
57058         (C#): Add csharpcomp-script, csharpexec-script.
57059         (Support for building libraries and executables): Add havelib,
57060         relocatable-*.
57061         (Support for maintaining and releasing projects): Renamed from
57062         'Support for maintaining and release projects'. Add announce-gen.
57063
57064 2007-03-31  Bruno Haible  <bruno@clisp.org>
57065
57066         * README: Talk primarily about git.
57067         (git and CVS): Renamed from CVS.
57068         * doc/gnulib.texi (Introduction, Build robot for gnulib): Mention that
57069         gnulib is available through git.
57070         * doc/gnulib-tool.texi (CVS Issues): Mention git and svn as well.
57071
57072 2007-03-30  Bruno Haible  <bruno@clisp.org>
57073
57074         * lib/alloca_.h: Change prefix of double-inclusion guard macro to _GL_.
57075         * lib/poll_.h: Likewise.
57076         * lib/stat_.h: Likewise.
57077         * lib/sys_time_.h: Likewise.
57078         * lib/sysexit_.h: Likewise.
57079         * lib/glob_.h: Prefix double-inclusion guard macro with _GL_.
57080         * lib/stdbool_.h: Likewise.
57081         * lib/byteswap_.h: Add double-inclusion guard.
57082
57083 2007-03-30  Sergey Poznyakoff  <gray@mirddin.farlep.net>
57084
57085         * lib/sysexit_.h: Prefix double-inclusion guard macro with _GNULIB.
57086
57087 2007-03-30  Karl Berry  <karl@gnu.org>
57088
57089         * config/srclist-update: double space after USA in the license
57090         substitution, since that's how it's usually (?) written.
57091
57092 2007-03-30  Paul Eggert  <eggert@cs.ucla.edu>
57093
57094         * lib/write-any-file.c (can_write_any_file): Fix else-else bug
57095         reported by Bruno Haible.
57096
57097 2007-03-29  Bruno Haible  <bruno@clisp.org>
57098
57099         * m4/iconv.m4 (AM_ICONV_LINK): Require AC_CANONICAL_HOST. Test against
57100         a bug in AIX iconv().
57101
57102 2007-03-29  Bruno Haible  <bruno@clisp.org>
57103
57104         * modules/ldexpl-tests: New file.
57105         * tests/test-ldexpl.c: New file.
57106
57107 2007-03-29  Bruno Haible  <bruno@clisp.org>
57108
57109         * lib/ldexpl.c: Include fpucw.h.
57110         (ldexpl): Use BEGIN/END_LONG_DOUBLE_ROUNDING. Skip the last unneeded
57111         multiplication.
57112         * modules/ldexpl (Depends-on): Add fpucw.
57113
57114 2007-03-29  Bruno Haible  <bruno@clisp.org>
57115
57116         * modules/ldexpl: New file.
57117         * m4/ldexpl.m4: New file.
57118         * lib/math_.h (ldexpl): Define to a replacement if REPLACE_LDEXPL is
57119         set.
57120         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize also GNULIB_LDEXPL,
57121         REPLACE_LDEXPL.
57122         * modules/math (Makefile.am): Substitute also GNULIB_LDEXPL,
57123         REPLACE_LDEXPL.
57124         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
57125         gl_FUNC_LDEXPL_WORKS.
57126         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Remove test for ldexpl.
57127         * modules/mathl (Files): Remove lib/ldexpl.c.
57128         (Depends-on): Add ldexpl.
57129
57130 2007-03-29  Bruno Haible  <bruno@clisp.org>
57131
57132         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Declare frexpl.
57133
57134 2007-03-29  Bruno Haible  <bruno@clisp.org>
57135
57136         * tests/test-striconveh.c (main): Don't assume that a direct conversion
57137         between ISO-8859-1 and ISO-8859-2 is possible. Needed for OSF/1, IRIX
57138         and possibly also HP-UX.
57139         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
57140         work on AIX, IRIX, HP-UX, OSF/1.
57141         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
57142         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
57143         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
57144         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
57145         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
57146         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
57147
57148 2007-03-29  Bruno Haible  <bruno@clisp.org>
57149
57150         * tests/test-stat-time.c: Include <fcntl.h>, not <sys/fcntl.h>.
57151
57152 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
57153
57154         * lib/acl-internal.h (acl_get_fd, acl_set_fd): undef before defining,
57155         to work around a problem on OSF/1 5.1 reported by Bruno Haible.
57156
57157 2007-03-29  Eric Blake  <ebb9@byu.net>
57158
57159         * lib/acl-internal.h: Remove redundant include.
57160         (ACL_NOT_WELL_SUPPORTED): Also filter on EBUSY, returned by
57161         Cygwin when a file is locked.
57162
57163 2007-03-29  Bruno Haible  <bruno@clisp.org>
57164
57165         * lib/vasprintf.c [IN_LIBASPRINTF]: Include different specification
57166         file.
57167         * lib/asprintf.c [IN_LIBASPRINTF]: Likewise.
57168
57169 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
57170
57171         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Don't bother to
57172         try to remove a parent directory if the child couldn't be removed
57173         (except for the first rmdir, which could fail because the child
57174         doesn't exist).  Problem reported by Jeff Blaine in
57175         <http://lists.gnu.org/archive/html/bug-tar/2007-03/msg00014.html>.
57176
57177 2007-03-28  Bruno Haible  <bruno@clisp.org>
57178
57179         * lib/striconveh.c (utf8conv_carefully): New function.
57180         (mem_cd_iconveh_internal): Invoke it.
57181
57182 2007-03-28  Bruno Haible  <bruno@clisp.org>
57183
57184         * lib/striconveh.c (mem_cd_iconveh_internal): Use u8_mbtoucr instead
57185         of u8_mbtouc in order to distinguish invalid and incomplete UTF-8
57186         input.
57187         * modules/striconveh (Depends-on): Add unistr/u8-mbtoucr. Replace
57188         utf8-ucs4 with unistr/u8-mbtouc. Replace ucs4-utf8 with
57189         unistr/u8-uctomb.
57190
57191 2007-03-28  Bruno Haible  <bruno@clisp.org>
57192
57193         * modules/unistr/u8-mbtoucr: New file.
57194         * lib/unistr/u8-mbtoucr.c: New file.
57195         * modules/unistr/u16-mbtoucr: New file.
57196         * lib/unistr/u16-mbtoucr.c: New file.
57197         * modules/unistr/u16-mbtoucr: New file.
57198         * lib/unistr/u16-mbtoucr.c: New file.
57199         * lib/unistr.h (u8_mbtoucr, u16_mbtoucr, u32_mbtoucr): New declarations.
57200
57201 2007-03-27  Simon Josefsson  <simon@josefsson.org>
57202             Bruno Haible  <bruno@clisp.org>
57203
57204         * m4/vasprintf.m4: Convert AC_SUBST into shell variable for
57205         REPLACE_VASPRINTF.  Set HAVE_VASPRINTF.  Add
57206         AC_REQUIRE([gl_STDIO_H_DEFAULTS]).
57207
57208         * m4/stdio_h.m4: Add stubs for vasprintf too.
57209
57210         * modules/stdio: Support vasprintf in sed command.
57211
57212         * modules/vasprintf: Depend on stdio for prototypes.  Remove
57213         vasprintf.h.  Add stdio module indicator.
57214
57215         * lib/stdio_.h: Declare asprintf and vasprintf, based on
57216         vasprintf.h.
57217
57218         * lib/vasprintf.h: File removed.
57219
57220         * lib/asprintf.c: Use stdio.h instead of vasprintf.h.
57221         * lib/vasprintf.c: Ditto.
57222         * lib/xvasprintf.c: Ditto.
57223         * tests/test-vasprintf-posix.c: Ditto.
57224         * tests/test-vasprintf.c: Ditto.
57225
57226 2007-03-27  Bruno Haible  <bruno@clisp.org>
57227
57228         Make vasnprintf multithread-safe.
57229         * lib/vasnprintf.c (decimal_point_char): New function.
57230         (VASNPRINTF): Use it.
57231         Suggested by Simon Josefsson.
57232
57233 2007-03-27  Eric Blake  <ebb9@byu.net>
57234
57235         Support sub-second birthtime on cygwin.
57236         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Also check for st_birthtim.
57237         * lib/stat-time.h (STAT_TIMESPEC): Adjust comments.
57238         (get_stat_birthtime): Also work with st_birthtim.
57239
57240 2007-03-27  Paul Eggert  <eggert@cs.ucla.edu>
57241
57242         * lib/stat-time.h (USE_BIRTHTIME): Remove.
57243         (get_stat_atime_ns, get_stat_ctime_ns, get_stat_mtime_ns):
57244         (get_stat_birthtime_ns): Do not try to use "spare" fields.
57245         (get_stat_birthtime_ns): Simplify compile-time tests.
57246         (get_stat_birthtime): Change the API to look like
57247         get_stat_mtime etc., except return a negative tv_nsec on error.
57248         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
57249         Don't check for "spare" fields.
57250         (gl_STAT_BIRTHTIME): Don't check for struct stat.st_birthtimespec.tv_sec
57251         or for struct stat.st_birthtime, as these tests aren't used.
57252         * tests/test-stat-time.c (test_birthtime): Adjust to new API.
57253
57254 2007-03-27  Bruno Haible  <bruno@clisp.org>
57255
57256         * lib/stat-time.h: Include <sys/stat.h>.
57257
57258 2007-03-27  James Youngman  <jay@gnu.org>
57259
57260         * lib/stat-time.h (get_stat_birthtime): New function for
57261           retrieving st_birthtime as provided by UFS2 (hence *BSD).
57262         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Probe for st_birthtime
57263           and its variants.
57264         * modules/stat-time (configure.ac): call gl_STAT_BIRTHTIME.
57265         * modules/stat-time-test: New file.
57266         * tests/test-stat-time.c: New test, devised by Bruno Haible.
57267
57268 2007-03-26  Bruno Haible  <bruno@clisp.org>
57269
57270         Better support of signalling NaNs.
57271         * lib/atanl.c: Include isnanl.h.
57272         (atanl): Perform test for NaN at the beginning of the function and
57273         through a call to isnanl.
57274         * lib/cosl.c: Include isnanl.h.
57275         (cosl): Perform test for NaN at the beginning of the function and
57276         through a call to isnanl.
57277         * lib/ldexpl.c: Include isnanl.h.
57278         (ldexpl): Perform test for NaN through a call to isnanl.
57279         * lib/logl.c: Include isnanl.h.
57280         (logl): Perform test for NaN at the beginning of the function and
57281         through a call to isnanl.
57282         * lib/sinl.c: Include isnanl.h.
57283         (sinl): Perform test for NaN at the beginning of the function and
57284         through a call to isnanl.
57285         * lib/sqrtl.c: Include isnanl.h.
57286         (sqrtl): Perform test for NaN at the beginning of the function and
57287         through a call to isnanl.
57288         * lib/tanl.c: Include isnanl.h.
57289         (tanl): Perform test for NaN at the beginning of the function and
57290         through a call to isnanl.
57291         * lib/trigl.c (ieee754_rem_pio2l): Remove test for NaN.
57292         * modules/mathl (Depends-on): Add isnanl.
57293
57294 2007-03-26  Eric Blake  <ebb9@byu.net>
57295
57296         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Fix
57297         regression in logic sense of previous patch.
57298
57299 2007-03-26  Bruno Haible  <bruno@clisp.org>
57300
57301         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Don't use
57302         unportable shell command "if ! ...".
57303         Reported by Ralf Wildenhues.
57304
57305 2007-03-25  Bruno Haible  <bruno@clisp.org>
57306
57307         * lib/sysexit_,h: If HAVE_SYSEXITS_H is defined, include the original
57308         <sysexits.h> file, and only add EX_CONFIG.
57309         * m4/sysexits.m4 (gl_SYSEXITS): If <sysexits.h> exists, check its
57310         absolute file name and whether it is sufficient. Substitute also
57311         HAVE_SYSEXITS_H and ABSOLUTE_SYSEXITS_H.
57312         * modules/sysexits (Makefile.am): Substitute HAVE_SYSEXITS_H and
57313         ABSOLUTE_SYSEXITS_H into sysexits.h.
57314
57315 2007-03-25  Bruno Haible  <bruno@clisp.org>
57316
57317         * lib/getaddrinfo.c (getaddrinfo): Don't access hints->ai_flags when
57318         hints is NULL.
57319
57320 2007-03-25  Bruno Haible  <bruno@clisp.org>
57321
57322         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Add a cast.
57323         * lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise.
57324
57325 2007-03-25  Bruno Haible  <bruno@clisp.org>
57326
57327         * lib/vasnprintf.c: Include langinfo.h.
57328         (VASNPRINTF): Prefer nl_langinfo over localeconv, since it's more
57329         multithread-safe.
57330         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): New macro.
57331         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke it.
57332         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
57333         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
57334         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
57335         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
57336         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
57337         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX: Likewise.
57338         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
57339         Reported by Simon Josefsson.
57340
57341 2007-03-25  Bruno Haible  <bruno@clisp.org>
57342
57343         * lib/printf-parse.c [!IN_LIBINTL]: Include <stdint.h>, for intmax_t.
57344         (PRINTF_PARSE): Make the support for size specifier 'j' unconditional.
57345         * modules/vasnprintf (Depends-on): Add stdint.
57346
57347 2007-03-25  Bruno Haible  <bruno@clisp.org>
57348
57349         * modules/fpieee: New file.
57350         * m4/fpieee.m4: New file.
57351         * modules/isnan-nolibm (Depends-on): Add fpieee.
57352         * modules/isnanl-nolibm (Depends-on): Add fpieee.
57353         * modules/isnanl (Depends-on): Add fpieee.
57354
57355 2007-03-25  Bruno Haible  <bruno@clisp.org>
57356
57357         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Test also finite numbers.
57358
57359 2007-03-25  Bruno Haible  <bruno@clisp.org>
57360
57361         Avoid test failures on IRIX 6.5.
57362         * tests/test-frexpl.c (MIN_NORMAL_EXP): New macro.
57363         (main): Use it.
57364         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP): New
57365         macros.
57366         (main): Use them.
57367
57368 2007-03-25  Bruno Haible  <bruno@clisp.org>
57369
57370         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): New macro.
57371         (gl_FUNC_FREXPL): Invoke it. Set REPLACE_FREXPL to 1 if it frexpl
57372         exists but doesn't work.
57373         * lib/math_.h (frexpl): Define as a replacement macro if REPLACE_FREXPL
57374         is set. Don't provide a prototype if REPLACE_FREXPL is not set.
57375         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPL.
57376         * modules/math (Makefile.am): Substibute also REPLACE_FREXPL into
57377         math.h.
57378
57379 2007-03-25  Bruno Haible  <bruno@clisp.org>
57380
57381         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Add check whether frexp(inf)
57382         returns inf. Needed on IRIX 6.5.
57383
57384 2007-03-25  Bruno Haible  <bruno@clisp.org>
57385
57386         * tests/test-frexpl.c: Include isnanl-nolibm.h.
57387         (main): Use isnanl instead of x != x idiom.
57388         * modules/frexpl-tests (Depends-on): Add isnanl-nolibm.
57389
57390         * tests/test-frexp.c: Include isnan.h.
57391         (main): Use isnan instead of x != x idiom.
57392         * modules/frexp-tests (Depends-on): Add isnan-nolibm.
57393
57394 2007-03-25  Bruno Haible  <bruno@clisp.org>
57395
57396         * tests/test-frexp.c (NaN): New function/macro.
57397         (main): Use it instead of 0.0 / 0.0.
57398         * tests/test-isnan.c (NaN): New function/macro.
57399         (main): Use it instead of 0.0 / 0.0.
57400         * tests/test-vasnprintf-posix.c (NaN): New function/macro.
57401         (test_function): Use it instead of 0.0 / 0.0.
57402         * tests/test-vasprintf-posix.c (NaN): New function/macro.
57403         (test_function): Use it instead of 0.0 / 0.0.
57404         * tests/test-snprintf-posix.h (NaN): New function/macro.
57405         (test_function): Use it instead of 0.0 / 0.0.
57406         * tests/test-sprintf-posix.h (NaN): New function/macro.
57407         (test_function): Use it instead of 0.0 / 0.0.
57408         * tests/test-fprintf-posix.h (NaN): New function/macro.
57409         (test_function): Use it instead of 0.0 / 0.0.
57410         * tests/test-printf-posix.h (NaN): New function/macro.
57411         (test_function): Use it instead of 0.0 / 0.0.
57412
57413         * lib/isnan.c (FUNC): Work around a DEC C compiler bug.
57414
57415 2007-03-25  Bruno Haible  <bruno@clisp.org>
57416
57417         * lib/glob_.h: Include <sys/stat.h>. Avoids warnings on AIX 5.1.
57418
57419 2007-03-25  Bruno Haible  <bruno@clisp.org>
57420
57421         * lib/regexec.c (merge_state_with_log): Make static.
57422
57423 2007-03-25  Bruno Haible  <bruno@clisp.org>
57424
57425         * lib/trigl.c (kernel_rem_pio2): Make static.
57426
57427 2007-03-25  Bruno Haible  <bruno@clisp.org>
57428
57429         * lib/sincosl.c (sincosl_table): Make static.
57430
57431 2007-03-25  Bruno Haible  <bruno@clisp.org>
57432
57433         * lib/argp.h (__restrict): Define to empty, rather than to 'restrict',
57434         if the compiler does not support C99.
57435
57436 2007-03-25  Bruno Haible  <bruno@clisp.org>
57437
57438         * modules/time (Makefile.am): Ensure all rule action lines start with a
57439         tab.
57440
57441 2007-03-24  Bruno Haible  <bruno@clisp.org>
57442
57443         * modules/tsearch-tests: New file.
57444         * tests/test-tsearch.sh: New file.
57445         * tests/test-tsearch.c: New file, mostly copied from glibc.
57446
57447         * modules/search-tests: New file.
57448         * tests/test-search.c: New file.
57449
57450         * modules/search: New file.
57451         * lib/search_.h: New file, incorporating lib/tsearch.h.
57452         * m4/search_h.m4: New file.
57453         * lib/tsearch.h: Remove file.
57454         * lib/tsearch.c: Include search.h instead of tsearch.h.
57455         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Require gl_SEARCH_H_DEFAULTS. Set
57456         HAVE_TSEARCH.
57457         * modules/tsearch (Files): Remove lib/tsearch.h.
57458         (Depends-on): Add search.
57459         (configure.ac): Invoke gl_SEARCH_MODULE_INDICATOR.
57460         (Include): Change tsearch.h into search.h.
57461
57462 2007-03-24  Bruno Haible  <bruno@clisp.org>
57463
57464         * modules/fpucw: New file.
57465         * lib/fpucw.h: New file.
57466         * lib/frexp.c: Include fpucw.h.
57467         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
57468         (FUNC): Use them.
57469         * lib/printf-frexp.c: Include fpucw.h.
57470         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
57471         (FUNC): Use them.
57472         * lib/vasnprintf.c: Include fpucw.h.
57473         (VASNPRINTF): Invoke BEGIN/END_LONG_DOUBLE_ROUNDING around the
57474         'long double' calculations.
57475         * tests/test-frexpl.c: Include fpucw.h.
57476         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
57477         * tests/test-printf-frexpl.c: Include fpucw.h.
57478         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
57479         * modules/frexpl (Depends-on): Add fpucw.
57480         * modules/printf-frexpl (Depends-on): Likewise.
57481         * modules/fprintf-posix (Depends-on): Likewise.
57482         * modules/snprintf-posix (Depends-on): Likewise.
57483         * modules/sprintf-posix (Depends-on): Likewise.
57484         * modules/vasnprintf-posix (Depends-on): Likewise.
57485         * modules/vasprintf-posix (Depends-on): Likewise.
57486         * modules/vfprintf-posix (Depends-on): Likewise.
57487         * modules/vsnprintf-posix (Depends-on): Likewise.
57488         * modules/vsprintf-posix (Depends-on): Likewise.
57489         * modules/frexpl-tests (Depends-on): Likewise.
57490         * modules/printf-frexpl-tests (Depends-on): Likewise.
57491
57492 2007-03-24  Bruno Haible  <bruno@clisp.org>
57493
57494         * lib/float+.h: New file.
57495         * lib/isnan.c: Include float+.h.
57496         (SIZE): New macro.
57497         (FUNC): Compare only SIZE bytes of the value.
57498         * lib/vasnprintf.c: Include float+.h.
57499         (VASNPRINTF): When comparing agains +0.0L or +0.0, compare only
57500         SIZEOF_LDBL or SIZEOF_DBL bytes.
57501         * modules/isnan-nolibm (Files): Add lib/float+.h.
57502         * modules/isnanl-nolibm (Files): Add lib/float+.h.
57503         * modules/isnanl (Files): Add lib/float+.h.
57504         * modules/vasnprintf (Files): Add lib/float+.h.
57505
57506 2007-03-24  Bruno Haible  <bruno@clisp.org>
57507
57508         * lib/vasnprintf.c [!HAVE_LONG_DOUBLE]: Include printf-frexp.h. Don't
57509         include isnanl-nolibm.h.
57510
57511 2007-03-24  Bruno Haible  <bruno@clisp.org>
57512
57513         * tests/test-read-file.c (main): Don't produce spurious output for
57514         expected situations. Make the test fail if it encountered unexpected
57515         results.
57516
57517 2007-03-24  Bruno Haible  <bruno@clisp.org>
57518
57519         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove the special-casing of NetBSD,
57520         since its fr_FR.ISO8859-1 locale wouldn't pass the tests.
57521
57522 2007-03-24  Bruno Haible  <bruno@clisp.org>
57523
57524         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Fix last change.
57525
57526 2007-03-24  Bruno Haible  <bruno@clisp.org>
57527
57528         * modules/unistr/base (Depends-on): Remove utf8-ucs4-unsafe,
57529         utf16-ucs4-unsafe, utf8-ucs4, utf16-ucs4, ucs4-utf8, ucs4-utf16.
57530
57531         * modules/unistr/u8-mbtouc: Add source files from module utf8-ucs4.
57532         * modules/utf8-ucs4: Turn into a symbolic link to module
57533         unistr/u8-mbtouc.
57534
57535         * modules/unistr/u8-mbtouc-unsafe: Add source files from module
57536         utf8-ucs4-unsafe.
57537         * modules/utf8-ucs4-unsafe: Turn into a symbolic link to module
57538         unistr/u8-mbtouc-unsafe.
57539
57540         * modules/unistr/u16-mbtouc: Add source files from module utf16-ucs4.
57541         * modules/utf16-ucs4: Turn into a symbolic link to module
57542         unistr/u16-mbtouc.
57543
57544         * modules/unistr/u16-mbtouc-unsafe: Add source files from module
57545         utf16-ucs4-unsafe.
57546         * modules/utf16-ucs4-unsafe: Turn into a symbolic link to module
57547         unistr/u16-mbtouc-unsafe.
57548
57549         * modules/unistr/u8-uctomb: Add source files from module utf4-utf8.
57550         * modules/ucs4-utf8: Turn into a symbolic link to module
57551         unistr/u8-ubtomb.
57552
57553         * modules/unistr/u16-uctomb: Add source files from module utf4-utf16.
57554         * modules/ucs4-utf16: Turn into a symbolic link to module
57555         unistr/u16-ubtomb.
57556
57557 2007-03-24  Bruno Haible  <bruno@clisp.org>
57558
57559         * lib/unistr/u8-mbtouc-aux.c: Renamed from lib/unistr/utf8-ucs4.c.
57560         Enable the function only if HAVE_INLINE.
57561         * lib/unistr/u8-mbtouc-unsafe-aux.c: Renamed from
57562         lib/unistr/utf8-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
57563         * lib/unistr/u16-mbtouc-aux.c: Renamed from lib/unistr/utf16-ucs4.c.
57564         Enable the function only if HAVE_INLINE.
57565         * lib/unistr/u16-mbtouc-unsafe-aux.c: Renamed from
57566         lib/unistr/utf16-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
57567         * lib/unistr/u8-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf8.c.
57568         Enable the function only if HAVE_INLINE.
57569         * lib/unistr/u16-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf16.c.
57570         Enable the function only if HAVE_INLINE.
57571         * modules/utf8-ucs4: Update.
57572         * modules/utf8-ucs4-unsafe: Update.
57573         * modules/utf16-ucs4: Update.
57574         * modules/utf16-ucs4-unsafe: Update.
57575         * modules/ucs4-utf8: Update.
57576         * modules/ucs4-utf16: Update.
57577
57578 2007-03-24  Bruno Haible  <bruno@clisp.org>
57579
57580         * lib/utf8-ucs4.h: Remove file.
57581         * lib/utf8-ucs4-unsafe.h: Remove file.
57582         * lib/utf16-ucs4.h: Remove file.
57583         * lib/utf16-ucs4-unsafe.h: Remove file.
57584         * lib/ucs4-utf8.h: Remove file.
57585         * lib/ucs4-utf16.h: Remove file.
57586         * lib/unistr.h: Include their previous contents.
57587         * m4/utf-ucs4.m4: Remove file.
57588         * m4/ucs4-utf.m4: Remove file.
57589         * modules/utf8-ucs4 (Files): Remove lib/utf8-ucs4.h.
57590         (Depends-on): Add unistr/base.
57591         (configure.ac): Remove gl_UTF_UCS4.
57592         (Makefile.am): Update.
57593         (Include): Change to unistr.h.
57594         * modules/utf8-ucs4-unsafe (Files): Remove lib/utf8-ucs4-unsafe.h.
57595         (Depends-on): Add unistr/base.
57596         (configure.ac): Remove gl_UTF_UCS4.
57597         (Makefile.am): Update.
57598         (Include): Change to unistr.h.
57599         * modules/utf16-ucs4 (Files): Remove lib/utf16-ucs4.h.
57600         (Depends-on): Add unistr/base.
57601         (configure.ac): Remove gl_UTF_UCS4.
57602         (Makefile.am): Update.
57603         (Include): Change to unistr.h.
57604         * modules/utf16-ucs4-unsafe (Files): Remove lib/utf16-ucs4-unsafe.h.
57605         (Depends-on): Add unistr/base.
57606         (configure.ac): Remove gl_UTF_UCS4.
57607         (Makefile.am): Update.
57608         (Include): Change to unistr.h.
57609         * modules/ucs4-utf8 (Files): Remove lib/ucs4-utf8.h.
57610         (Depends-on): Add unistr/base.
57611         (configure.ac): Remove gl_UCS4_UTF.
57612         (Makefile.am): Update.
57613         (Include): Change to unistr.h.
57614         * modules/ucs4-utf16 (Files): Remove lib/ucs4-utf16.h.
57615         (Depends-on): Add unistr/base.
57616         (configure.ac): Remove gl_UCS4_UTF.
57617         (Makefile.am): Update.
57618         (Include): Change to unistr.h.
57619         * lib/unistr/utf8-ucs4.c: Include unistr.h instead of utf8-ucs4.h.
57620         * lib/unistr/utf8-ucs4-unsafe.c: Include unistr.h instead of
57621         utf8-ucs4-unsafe.h.
57622         * lib/unistr/utf16-ucs4.c: Include unistr.h instead of utf16-ucs4.h.
57623         * lib/unistr/utf16-ucs4-unsafe.c: Include unistr.h instead of
57624         utf16-ucs4-unsafe.h.
57625         * lib/unistr/ucs4-utf8.c: Include unistr.h instead of ucs4-utf8.h.
57626         * lib/unistr/ucs4-utf16.c: Include unistr.h instead of ucs4-utf16.h.
57627         * lib/unistr/u8-chr.c: Don't include ucs4-utf8.h.
57628         * lib/unistr/u8-strchr.c: Likewise.
57629         * lib/unistr/u8-strrchr.c: Likewise.
57630         * lib/unistr/u16-chr.c: Don't include ucs4-utf16.h.
57631         * lib/unistr/u16-strchr.c: Likewise.
57632         * lib/unistr/u16-strrchr.c: Likewise.
57633         * lib/striconveh.c: Update.
57634         * lib/linebreak.c: Update.
57635
57636 2007-03-24  Bruno Haible  <bruno@clisp.org>
57637
57638         * lib/argp-help.c (fill_in_uparams, canon_doc_option): Cast the
57639         arguments of isspace, isalpha, isalnum, isdigit to 'unsigned char'.
57640
57641 2007-03-22  Bruno Haible  <bruno@clisp.org>
57642
57643         * lib/strptime.c (__strptime_internal): Use ANSI C syntax.
57644
57645 2007-03-23  Paul Eggert  <eggert@cs.ucla.edu>
57646
57647         * MODULES.html.sh (File system functions): New module write-any-file.
57648         * modules/write-any-file, lib/write-any-file.c, lib/write-any-file.h:
57649         * m4/write-any-file.m4: New files.
57650
57651 2007-03-23  Eric Blake  <ebb9@byu.net>
57652
57653         * gnulib-tool: Rearrange space-tab sequences, since some editors
57654         like to eat them.
57655
57656 2007-03-23  Eric Blake  <ebb9@byu.net>
57657
57658         * lib/version-etc.c (version_etc_va): Update license wording to
57659         be more concise.  Recommended by Richard Stallman.
57660
57661 2007-03-22  Bruno Haible  <bruno@clisp.org>
57662
57663         * lib/poll.c (MSG_PEEK): New fallback definition.
57664
57665 2007-03-22  Bruno Haible  <bruno@clisp.org>
57666
57667         * modules/sys_socket-tests (configure.ac): Check for shutdown function.
57668         * tests/test-sys_socket.c (a): Test only if shutdown() exists.
57669         (main): Update.
57670         Fixes a compilation error on BeOS.
57671
57672 2007-03-22  Bruno Haible  <bruno@clisp.org>
57673
57674         * modules/frexpl-tests: New file.
57675         * tests/test-frexpl.c: New file.
57676
57677         * modules/frexpl: New file.
57678         * m4/frexpl.m4: New file.
57679         * modules/math (Makefile.am): Also substitute GNULIB_FREXPL into math.h.
57680         * lib/math_.h (frexpl): Test GNULIB_FREXPL instead of GNULIB_MATHL.
57681         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPL.
57682         * modules/mathl (Files): Remove lib/frexpl.c, lib/frexp.c.
57683         (Depends-on): Add frexpl. Remove isnanl-nolibm.
57684         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Don't test for frexpl.
57685
57686 2007-03-22  Bruno Haible  <bruno@clisp.org>
57687
57688         * lib/frexpl.c: Share code with lib/frexp.c.
57689         * modules/mathl (Files): Add lib/frexp.c.
57690         (Depends-on): Add isnanl-nolibm.
57691
57692 2007-03-22  Bruno Haible  <bruno@clisp.org>
57693
57694         * modules/printf-frexp (Files): Add m4/frexp.m4.
57695         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Define HAVE_FREXP_IN_LIBC
57696         only if the found frexp function actually works.
57697
57698 2007-03-22  Bruno Haible  <bruno@clisp.org>
57699
57700         * lib/frexp.c: Remove older implementation that uses divisions.
57701
57702 2007-03-21  Bruno Haible  <bruno@clisp.org>
57703
57704         * modules/frexp-tests: New file.
57705         * tests/test-frexp.c: New file.
57706
57707         * modules/frexp: New file.
57708         * lib/frexp.c: New file.
57709         * m4/frexp.m4: New file.
57710         * lib/math_.h (frexp): New declaration.
57711         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Also initialize GNULIB_FREXP and
57712         REPLACE_FREXP.
57713         * modules/math (math.h): Also substitute GNULIB_FREXP, REPLACE_FREXP.
57714
57715 2007-03-21  Bruno Haible  <bruno@clisp.org>
57716
57717         * modules/isnanl-tests: New file.
57718         * tests/test-isnanl.c: New file.
57719
57720         * modules/isnanl: New file.
57721         * lib/isnanl.h: New file.
57722         * m4/isnanl.m4 (gl_FUNC_ISNANL): New macro.
57723         (gl_FUNC_ISNANL_NO_LIBM): Invoke gl_HAVE_ISNANL_NO_LIBM,
57724         gl_FUNC_ISNANL_WORKS.
57725         (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM, gl_FUNC_ISNANL_WORKS):
57726         New macros.
57727
57728 2007-03-21  Bruno Haible  <bruno@clisp.org>
57729
57730         * modules/isnanl-nolibm (Files): Add lib/isnanl-nolibm.h, remove
57731         lib/isnanl.h.
57732         (Include): Update.
57733         * lib/isnanl-nolibm.h: Renamed from lib/isnanl.h.
57734         * lib/vasnprintf.c: Update.
57735         * modules/isnanl-nolibm-tests (Files): Add tests/test-isnanl-nolibm.c,
57736         tests/test-isnanl.h, remove tests/test-isnanl.c.
57737         (Makefile.am): Update.
57738         * tests/test-isnanl-nolibm.c: New file.
57739         * tests/test-isnanl.h: New file.
57740         * tests/test-isnanl.c: Remove file.
57741
57742 2007-03-21  Jim Meyering  <jim@meyering.net>
57743
57744         When trying to open ".", treat ESTALE like EACCES.
57745         * lib/savewd.c (savewd_save): Resort to forking not just upon
57746         failure with EACCES, but also when errno is ESTALE.
57747
57748 2007-03-20  Bruno Haible  <bruno@clisp.org>
57749
57750         * lib/string_.h (strndup): Enable declaration also if HAVE_STRNDUP.
57751         Needed on AIX 5.1. Reported by Matthew Woehlke.
57752
57753 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
57754
57755         Suggestions by Bruno Haible:
57756         * lib/acl-internal.h: Include "gettext.h" rather than rolling
57757         our own.
57758         (ACL_NOT_WELL_SUPPORTED): Parenthesize arg when used.
57759         * modules/acl (Depends-on): Add gettext.
57760
57761 2007-03-19  Bruno Haible  <bruno@clisp.org>
57762
57763         * modules/iconvme: Remove file.
57764         * lib/iconvme.h: Remove file.
57765         * lib/iconvme.c: Remove file.
57766         * m4/iconvme.m4: Remove file.
57767
57768 2007-03-19  Bruno Haible  <bruno@clisp.org>
57769
57770         * doc/relocatable-maint.texi: Break long shell script line.
57771         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
57772
57773 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
57774
57775         Add limited support for Solaris 10 ZFS-style ACLs: just enough to
57776         handle file_has_acl.
57777         * lib/acl-internal.h, lib/acl_entries.c, lib/file-has-acl.c: New files.
57778         * lib/acl.c: Move header inclusions and related macro defns into
57779         lib/acl-internal.h.
57780         (S_ISLNK): Remove defn, since that's now done for us.
57781         (file_has_acl): Move to lib/file-has-acl.c.
57782         Call acl_trivial if available.  This is the crucial part of the fix.
57783         (acl_entries): Move to lib/acl_entries.c.  Now extern, since it's
57784         shared within the library.  Rewrite a bit, partly to make it compatible
57785         with the GNU coding style.
57786         * m4/acl.m4 (AC_FUNC_ACL): Add AC_LIBOBJ([file-has-acl]).
57787         Remove unnecessary double-quotes.
57788         Don't test for acl_to_text; the build will catch that.
57789         Replace acl_entries if it doesn't exist and it is needed.
57790         Check for -lsec and acl_trivial (as used on Solaris 10).
57791         * modules/acl (Files): Add lib/acl-internal.h, lib/acl_entries.c,
57792         lib/file-has-acl.c.
57793         (Depends-on): Add sys_stat, for S_ISLNK.
57794
57795 2007-03-19  Ben Pfaff  <blp@gnu.org>
57796
57797         * doc/gnulib.texi: Fix typos.
57798         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
57799
57800 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
57801
57802         * lib/getcwd.c (__getcwd): Remove redundant comparison of buf to NULL.
57803         If size is zero here, buf must be zero.
57804
57805 2007-03-19  Simon Josefsson  <simon@josefsson.org>
57806
57807         * des.c: Remove weak_keys_chksum.  Reported by Bruno Haible
57808         <bruno@clisp.org>.
57809
57810 2007-03-18  Bruno Haible  <bruno@clisp.org>
57811
57812         * lib/vasnprintf.c (VASNPRINTF): Undo first part of last patch.
57813         Suggested by Eric Blake.
57814
57815 2007-03-18  Ben Pfaff  <blp@gnu.org>
57816
57817         * doc/relocatable.texi: Recommend using as prefix a directory
57818         that does not exist and will never be created.  Based on
57819         discussion with Bruno Haible, Ralf Wildenhues, Matthew Woehlke,
57820         and others.
57821
57822 2007-03-17  Bruno Haible  <bruno@clisp.org>
57823
57824         * lib/fchownat.c: Include lchown.h.
57825
57826 2007-03-17  Bruno Haible  <bruno@clisp.org>
57827
57828         Fix endless loop when the given allocated size was > INT_MAX.
57829         * lib/vasnprintf.c (EOVERFLOW): New fallback definition.
57830         (VASNPRINTF): Fail with EOVERFLOW when the given allocated size is
57831         larger than INT_MAX, or when it grow to a value larger than INT_MAX.
57832         * lib/vsprintf.c (vsprintf): Don't pass a size > INT_MAX to vasnprintf.
57833         * lib/sprintf.c (sprintf): Likewise.
57834
57835 2007-03-17  Bruno Haible  <bruno@clisp.org>
57836
57837         * tests/test-argp-2.sh (func_compare): Output a context diff.
57838
57839 2007-03-17  Bruno Haible  <bruno@clisp.org>
57840
57841         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check also the
57842         locale's decimal-point character.
57843
57844 2007-03-17  Bruno Haible  <bruno@clisp.org>
57845
57846         * lib/vasnprintf.c (VASNPRINTF): Clear out the memory used for arg_mem
57847         before comparing it. Needed because on some platforms (e.g. x86) a
57848         'long double' occupies less bytes than sizeof (long double).
57849
57850 2007-03-17  Bruno Haible  <bruno@clisp.org>
57851
57852         * tests/test-crc.c (main): Make printf statements 64-bit clean.
57853         * tests/test-gc-pbkdf2-sha1.c (main): Likewise.
57854         * tests/test-getaddrinfo.c (simple): Likewise.
57855         * tests/test-read-file.c (main): Likewise.
57856
57857 2007-03-17  Bruno Haible  <bruno@clisp.org>
57858
57859         * tests/test-dirname.c (main): Make printf statements 64-bit clean.
57860
57861 2007-03-17  Bruno Haible  <bruno@clisp.org>
57862
57863         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Remove
57864         unused variable.
57865
57866 2007-03-17  Bruno Haible  <bruno@clisp.org>
57867
57868         * tests/test-c-strcasecmp.c: Include c-strcase.h.
57869         * tests/test-c-strncasecmp.c: Likewise.
57870
57871 2007-03-17  Bruno Haible  <bruno@clisp.org>
57872
57873         * modules/stdlib (Depends-on): Add unistd.
57874         * lib/stdlib_.h: Include <unistd.h> if mkstemp is desired.
57875         Needed for MacOS X 10.3.
57876
57877 2007-03-17  Bruno Haible  <bruno@clisp.org>
57878
57879         * lib/unistr/u-strdup.h: Include <stdlib.h>.
57880
57881 2007-03-17  Bruno Haible  <bruno@clisp.org>
57882
57883         * lib/unistr/u-cpy-alloc.h: Include <stdlib.h>.
57884
57885 2007-03-17  Bruno Haible  <bruno@clisp.org>
57886
57887         * gnulib-tool (func_import): Update .cvsignore and .gitignore files
57888         to reflect files copied from gnulib (with or without modifications).
57889         Suggested by Jim Meyering.
57890
57891 2007-03-17  Eric Blake  <ebb9@byu.net>
57892
57893         * NEWS: Document stdlib change from 2007-02-18.
57894
57895 2007-03-17  Jim Meyering  <jim@meyering.net>
57896
57897         Detect use of AC_CONFIG_AUX_DIR also when its argument is quoted.
57898         * build-aux/bootstrap: Put ""s around use of $build_aux, in case
57899         someone uses a name containing shell meta-characters.
57900         Reported by Alfred M. Szmidt.
57901
57902         * build-aux/bootstrap: Don't use \> in grep regexp.  For HP-UX.
57903
57904 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
57905
57906         * build-aux/bootstrap (with_gettext): New variable.  Run autopoint
57907         and copy gettext configuration files only if configure.ac contains
57908         a use of AM_GNU_GETTEXT_VERSION.
57909
57910 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
57911
57912         * build-aux/bootstrap (gnulib_name): New variable.
57913         (gnulib_tool_options): Use it.
57914
57915 2007-03-13  Simon Josefsson  <simon@josefsson.org>
57916
57917         * tests/test-des.c: Use new namespace.
57918
57919 2007-03-15  Bruno Haible  <bruno@clisp.org>
57920
57921         * lib/dummy.c (gl_dummy_symbol): Renamed from 'dummy'.
57922         Reported by James Youngman <jay@gnu.org>.
57923
57924 2007-03-15  Bruno Haible  <bruno@clisp.org>
57925
57926         * lib/glob.c (glob): Add 'restrict' so that prototype matches the
57927         declared prototype. Needed with cc on OSF/1 5.1.
57928
57929 2007-03-15  Bruno Haible  <bruno@clisp.org>
57930
57931         * lib/gl_list.h (gl_listelement_dispose_fn): New type.
57932         (gl_list_create_empty, gl_list_create): Add dispose_fn argument.
57933         (struct gl_list_implementation): Add dispose_fn argument to the
57934         'create_empty', 'create' methods.
57935         (struct gl_list_impl_base): Add field 'dispose_fn'.
57936         * lib/gl_list.c (gl_list_create_empty, gl_list_create): Add dispose_fn
57937         argument.
57938         * lib/gl_array_list.c (gl_array_create_empty, gl_array_create): Add
57939         dispose_fn argument.
57940         (gl_array_remove_node, gl_array_remove_at, gl_array_list_free): Call
57941         dispose_fn on the dropped values.
57942         * lib/gl_carray_list.c (gl_carray_create_empty, gl_carray_create): Add
57943         dispose_fn argument.
57944         (gl_carray_remove_at, gl_carray_list_free): Call dispose_fn on the
57945         dropped values.
57946         * lib/gl_anyavltree_list2.h (gl_tree_create): Add dispose_fn argument.
57947         (gl_tree_remove_node): Call dispose_fn on the dropped value.
57948         * lib/gl_anyrbtree_list2.h (gl_tree_create): Add dispose_fn argument.
57949         (gl_tree_remove_node): Call dispose_fn on the dropped value.
57950         * lib/gl_anytree_list2.h (gl_tree_create_empty): Add dispose_fn
57951         argument.
57952         (gl_tree_list_free): Call dispose_fn on the dropped values.
57953         * lib/gl_anytreehash_list2.h (gl_tree_list_free): Call dispose_fn on
57954         the dropped values.
57955         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
57956         Add dispose_fn argument.
57957         (gl_linked_remove_node, gl_linked_remove_at, gl_linked_list_free):
57958         Call dispose_fn on the dropped values.
57959         * lib/gl_sublist.c (gl_sublist_create_empty, gl_sublist_create_fill):
57960         Add dispose_fn argument.
57961         (gl_sublist_create): Initialize the 'dispose_fn' field.
57962         * lib/clean-temp.c (create_temp_dir, register_fd): Update.
57963         * tests/test-array_list.c (main): Update.
57964         * tests/test-carray_list.c (main): Update.
57965         * tests/test-avltree_list.c (main): Update.
57966         * tests/test-rbtree_list.c (main): Update.
57967         * tests/test-avltreehash_list.c (main): Update.
57968         * tests/test-rbtreehash_list.c (main): Update.
57969         * tests/test-linked_list.c (main): Update.
57970         * tests/test-linkedhash_list.c (main): Update.
57971         * tests/test-array_oset.c (main): Update.
57972
57973 2007-03-15  Bruno Haible  <bruno@clisp.org>
57974
57975         * lib/gl_oset.h (gl_setelement_dispose_fn): New type.
57976         (gl_oset_create_empty): Add dispose_fn argument.
57977         (struct gl_oset_implementation): Add dispose_fn argument to
57978         'create_empty' method.
57979         (struct gl_oset_impl_base): Add dispose_fn field.
57980         * lib/gl_oset.c (gl_oset_create_empty): Add dispose_fn argument.
57981         * lib/gl_array_oset.c (gl_array_create_empty): Add dispose_fn argument.
57982         (gl_array_remove_at, gl_array_free): Call dispose_fn on the dropped
57983         values.
57984         * lib/gl_anytree_oset.h (gl_tree_create_empty): Add dispose_fn argument.
57985         (gl_tree_oset_free): Call dispose_fn on the dropped values.
57986         * lib/gl_avltree_oset.c (gl_tree_remove_node): Call dispose_fn on the
57987         dropped value.
57988         * lib/gl_rbtree_oset.c (gl_tree_remove_node): Call dispose_fn on the
57989         dropped value.
57990         * tests/test-array_oset.c (main): Update.
57991         * tests/test-avltree_oset.c (main): Update.
57992         * tests/test-rbtree_oset.c (main): Update.
57993         * lib/gl_anytreehash_list1.h (add_to_bucket): Update.
57994
57995 2007-03-13  Bruno Haible  <bruno@clisp.org>
57996
57997         * tests/test-stdbool.c (i): Update after last patch.
57998
57999 2007-03-12  Bruno Haible  <bruno@clisp.org>
58000
58001         * lib/quotearg.c: Include <wctype.h> early, before the definition of
58002         the iswprint macro. Needed on Solaris 2.5.1.
58003
58004 2007-03-12  Bruno Haible  <bruno@clisp.org>
58005
58006         * tests/test-printf-frexp.c (main): Declare x as volatile.
58007
58008 2007-03-12  Simon Josefsson  <simon@josefsson.org>
58009
58010         * doc/gnulib.texi (Build robot for gnulib): New section.
58011
58012 2007-03-12  Jim Meyering  <jim@meyering.net>
58013
58014         * build-aux/bootstrap: New file.
58015         * build-aux/bootstrap.conf: New file, from coreutils.
58016
58017 2007-03-11  Bruno Haible  <bruno@clisp.org>
58018
58019         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Require AC_C_INLINE.
58020
58021 2007-03-12  Simon Josefsson  <simon@josefsson.org>
58022
58023         * lib/des.h, lib/des.c, lib/gc-gnulib.c: Use gl_ namespace, to
58024         avoid collisions with 'des_setkey'.  Reported by Bruno Haible
58025         <bruno@clisp.org>.  Also change 'tripledes_' to '3des_'.
58026
58027 2007-03-11  Bruno Haible  <bruno@clisp.org>
58028
58029         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): If the test program fails to
58030         compile, set LOCALE_TR_UTF8 to 'none' instead of empty.
58031
58032 2007-03-11  Bruno Haible  <bruno@clisp.org>
58033
58034         * lib/stdint_.h (INT64_MIN, INTMAX_MIN): Avoid using the ~INT..._MAX
58035         formula. Needed for SunPRO C 5.0.
58036
58037 2007-03-11  Bruno Haible  <bruno@clisp.org>
58038
58039         * modules/long-options (Depends-on): Add getopt.
58040
58041 2007-03-11  Bruno Haible  <bruno@clisp.org>
58042
58043         * modules/modechange (Depends-on): Add stdbool.
58044
58045 2007-03-11  Bruno Haible  <bruno@clisp.org>
58046
58047         * modules/i-ring (Depends-on): Add stdbool.
58048
58049 2007-03-11  Bruno Haible  <bruno@clisp.org>
58050
58051         * modules/gc-des (Depends-on): Add stdbool.
58052
58053 2007-03-11  Bruno Haible  <bruno@clisp.org>
58054
58055         * m4/mktime.m4 (gl_PREREQ_MKTIME): Require AC_C_INLINE.
58056
58057 2007-03-11  Bruno Haible  <bruno@clisp.org>
58058
58059         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Require AC_C_RESTRICT.
58060
58061 2007-03-11  Bruno Haible  <bruno@clisp.org>
58062
58063         * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Fix syntax error.
58064
58065 2007-03-11  Bruno Haible  <bruno@clisp.org>
58066
58067         * lib/vasnprintf.c (sprintf): Undefine.
58068
58069 2007-03-11  Bruno Haible  <bruno@clisp.org>
58070
58071         * lib/isnan.c (rpl_isnan, rpl_isnanl): Work around bug regarding
58072         initializers in SunPRO C and Compaq C compilers.
58073
58074 2007-03-11  Bruno Haible  <bruno@clisp.org>
58075
58076         * lib/gl_array_oset.c (gl_array_iterator_next): Make pointer
58077         decrementing code ANSI C compliant.
58078
58079 2007-03-11  Bruno Haible  <bruno@clisp.org>
58080
58081         * lib/dummy.c [__sun]: Define a dummy variable, not just a typedef.
58082         Needed for Solaris 2.5.1 ranlib and SunPRO C 5.0.
58083
58084 2007-03-11  Bruno Haible  <bruno@clisp.org>
58085
58086         * tests/test-stdbool.c (s, d, e, xlcbug): Disable checks that gnulib's
58087         <stdbool.h> substitute doesn't pass.
58088
58089 2007-03-11  Bruno Haible  <bruno@clisp.org>
58090
58091         * lib/vasnprintf.c (snprintf): Undefine. Avoids an endless recursion.
58092
58093 2007-03-11  Bruno Haible  <bruno@clisp.org>
58094
58095         * gnulib-tool (func_create_megatestdir): Create also an autobuild
58096         script, for submission to autobuild.josefsson.org.
58097
58098 2007-03-10  Bruno Haible  <bruno@clisp.org>
58099
58100         * modules/canonicalize-lgpl-tests: New file.
58101         * tests/test-canonicalize-lgpl.sh: New file.
58102         * tests/test-canonicalize-lgpl.c: New file.
58103
58104         * modules/c-strcase-tests: New file.
58105         * tests/test-c-strcase.sh: New file.
58106         * tests/test-c-strcasecmp.c: New file.
58107         * tests/test-c-strncasecmp.c: New file.
58108
58109         * modules/atexit-tests: New file.
58110         * tests/test-atexit.sh: New file.
58111         * tests/test-atexit.c: New file.
58112
58113 2007-03-10  Bruno Haible  <bruno@clisp.org>
58114
58115         * tests/test-binary-io.sh: Use temporary filenames that are not so
58116         likely to clash with those of other tests (in a parallel make).
58117         * tests/test-binary-io.c: Likewise.
58118
58119 2007-03-10  Bruno Haible  <bruno@clisp.org>
58120
58121         * lib/fseterr.c (fseterr): Port to Solaris/SPARC64. Deactivate the
58122         fallback; use #error instead.
58123         Suggested by Simon Josefsson.
58124
58125 2007-03-10  Bruno Haible  <bruno@clisp.org>
58126
58127         * gnulib-tool (func_create_testdir): Treat MOSTLYCLEANFILES like
58128         CLEANFILES. Put spaces in each line of $cleaned_files, not only the
58129         first and the last.
58130
58131 2007-03-10  Bruno Haible  <bruno@clisp.org>
58132
58133         * lib/stdint_.h (uint_least64_t): Fix typo in last patch.
58134
58135 2007-03-10  Bruno Haible  <bruno@clisp.org>
58136
58137         * modules/snprintf-posix-tests (EXTRA_DIST): New variable. Needed for
58138         "make distcheck".
58139         * modules/sprintf-posix-tests (EXTRA_DIST): Likewise.
58140         * modules/vsnprintf-posix-tests (EXTRA_DIST): Likewise.
58141         * modules/vsprintf-posix-tests (EXTRA_DIST): Likewise.
58142
58143 2007-03-10  Bruno Haible  <bruno@clisp.org>
58144
58145         * modules/allocsa-tests (test_allocsa_SOURCES): Remove redundant
58146         variable.
58147         * modules/dirname-tests (test_dirname_SOURCES): Remove redundant
58148         variable.
58149
58150 2007-03-09  Eric Blake  <ebb9@byu.net>
58151         and Matthew Woehlke  <mw_triad@users.sourceforge.net>  (tiny change)
58152
58153         * lib/stdint_.h (int64_t, uint64_t): Don't undefine if 64-bit
58154         types are not being provided by gnulib.
58155         (GL_INT64_T, GL_UINT64_T): New witnesses of whether gnulib 64-bit
58156         types are supported.
58157
58158 2007-03-10  Bruno Haible  <bruno@clisp.org>
58159
58160         * lib/stdio_.h (__attribute__): New macro.
58161         (fprintf, vfprintf, printf, vprintf, snprintf, vsnprintf, sprintf,
58162         vsprintf): Specify __attribute__ __format__ for GCC.
58163         Suggested by Eric Blake.
58164
58165 2007-03-09  Bruno Haible  <bruno@clisp.org>
58166
58167         * modules/printf-posix-tests: New file.
58168         * tests/test-printf-posix.sh: New file.
58169         * tests/test-printf-posix.c: New file.
58170
58171         * modules/printf-posix: New file.
58172         * lib/printf.c: New file.
58173         * m4/printf-posix-rpl.m4: New file.
58174         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_PRINTF_POSIX,
58175         REPLACE_PRINTF.
58176         * lib/stdio_.h (printf): New declaration.
58177         (format, __format__, ____printf____, ____scanf____, ____strftime____,
58178         ____strfmon____): New macros.
58179         * modules/stdio (Makefile.am): Substitute also GNULIB_PRINTF_POSIX,
58180         REPLACE_PRINTF.
58181
58182 2007-03-09  Bruno Haible  <bruno@clisp.org>
58183
58184         * tests/test-vasnprintf-posix2.sh: New file.
58185         * tests/test-vasnprintf-posix2.c: New file.
58186         * modules/vasnprintf-posix-tests (Files): Add them and m4/locale-fr.m4.
58187         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
58188         (Makefile.am): Activate test-vasnprintf-posix2.sh.
58189
58190         * lib/vasnprintf.c (VASNPRINTF): For the 'a' and 'A' directives, use
58191         a locale dependent decimal point, rather than always '.'.
58192
58193 2007-03-09  Eric Blake  <ebb9@byu.net>
58194
58195         * lib/stdlib_.h (EXIT_FAILURE): GNU code expects this to be 1, in
58196         spite of platforms like Tandem/NSK that define it to -1.
58197
58198 2007-03-08  Bruno Haible  <bruno@clisp.org>
58199
58200         * modules/vprintf-posix-tests: New file.
58201         * tests/test-vprintf-posix.sh: New file.
58202         * tests/test-vprintf-posix.c: New file.
58203         * tests/test-printf-posix.h: New file.
58204
58205         * modules/vprintf-posix: New file.
58206         * lib/vprintf.c: New file.
58207         * m4/vprintf-posix.m4: New file.
58208         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VPRINTF_POSIX,
58209         REPLACE_VPRINTF.
58210         * lib/stdio_.h (vprintf): New declaration.
58211         * modules/stdio (Makefile.am): Substitute also GNULIB_VPRINTF_POSIX,
58212         REPLACE_VPRINTF.
58213
58214 2007-03-08  Bruno Haible  <bruno@clisp.org>
58215
58216         * modules/fprintf-posix-tests: New file.
58217         * tests/test-fprintf-posix.sh: New file.
58218         * tests/test-fprintf-posix.c: New file.
58219
58220         * modules/fprintf-posix: New file.
58221         * lib/fprintf.c: New file.
58222         * m4/fprintf-posix.m4: New file.
58223         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FPRINTF_POSIX,
58224         REPLACE_FPRINTF.
58225         * lib/stdio_.h (fprintf): New declaration.
58226         * modules/stdio (Makefile.am): Substitute also GNULIB_FPRINTF_POSIX,
58227         REPLACE_FPRINTF.
58228
58229 2007-03-08  Bruno Haible  <bruno@clisp.org>
58230
58231         * modules/vfprintf-posix-tests: New file.
58232         * tests/test-vfprintf-posix.sh: New file.
58233         * tests/test-vfprintf-posix.c: New file.
58234         * tests/test-fprintf-posix.h: New file.
58235         * tests/test-fprintf-posix.out: New file.
58236
58237         * modules/vfprintf-posix: New file.
58238         * lib/vfprintf.c: New file.
58239         * m4/vfprintf-posix.m4: New file.
58240         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VFPRINTF_POSIX,
58241         REPLACE_VFPRINTF.
58242         * lib/stdio_.h (vfprintf): New declaration.
58243         * modules/stdio (Makefile.am): Substitute also GNULIB_VFPRINTF_POSIX,
58244         REPLACE_VFPRINTF.
58245
58246 2007-03-08  Bruno Haible  <bruno@clisp.org>
58247
58248         * lib/stdio_.h: Treat __need___FILE like __need_FILE.
58249
58250 2007-03-08  Bruno Haible  <bruno@clisp.org>
58251
58252         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Use 'case' statements
58253         instead of 'expr' invocations.
58254         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
58255         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
58256         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
58257         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
58258         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
58259         Suggested by Paul Eggert.
58260
58261 2007-03-08  Bruno Haible  <bruno@clisp.org>
58262
58263         * modules/fseterr-tests: New file.
58264         * tests/test-fseterr.c: New file.
58265
58266         * modules/fseterr: New file.
58267         * lib/fseterr.h: New file.
58268         * lib/fseterr.c: New file.
58269
58270 2007-03-08  Bruno Haible  <bruno@clisp.org>
58271
58272         * lib/fnmatch_.h: Convert tabs in the middle of lines to spaces.
58273         * lib/getopt_.h: Likewise.
58274         * lib/mbswidth.h: Likewise.
58275         * lib/setenv.h: Likewise.
58276         * lib/vasnprintf.h: Likewise.
58277         * lib/vasprintf.h: Likewise.
58278         * lib/verror.h: Likewise.
58279         * lib/xsetenv.h: Likewise.
58280         * lib/xvasprintf.h: Likewise.
58281
58282 2007-03-08  Jim Meyering  <jim@meyering.net>
58283
58284         * users.txt: Add parted.
58285
58286         * ChangeLog: Restore 1500 lines mistakenly removed from the end.
58287
58288 2007-03-07  Bruno Haible  <bruno@clisp.org>
58289
58290         * m4/printf.m4: Make the shell script snippets copy&pastable.
58291
58292 2007-03-02  Bruno Haible  <bruno@clisp.org>
58293
58294         * lib/netinet_in_.h: New file.
58295         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Test whether netinet/in.h
58296         is self-contained. Set ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H.
58297         * modules/netinet_in (Files): Add lib/netinet_in_.h.
58298         (Depends-on): Add absolute-header.
58299         (Makefile.am): Substitute ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H
58300         into netinet/in.h.
58301
58302 2007-03-03  Bruno Haible  <bruno@clisp.org>
58303
58304         * lib/sys_select_.h: New file.
58305         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SELECT): Test whether sys/select.h
58306         is self-contained. Set ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H.
58307         * modules/sys_select (Files): Add lib/sys_select_.h.
58308         (Depends-on): Add absolute-header.
58309         (Makefile.am): Substitute ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H
58310         into sys/select.h.
58311
58312 2007-03-02  Bruno Haible  <bruno@clisp.org>
58313
58314         * lib/socket_.h: If sys/socket.h exists, include that and <sys/types.h>
58315         before it. Turn HAVE_WINSOCK2_H and HAVE_WS2TCPIP_H into configute-time
58316         values.
58317         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Test also whether
58318         <sys/socket.h> is self-contained. Set ABSOLUTE_SYS_SOCKET_H,
58319         HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H.
58320         * modules/sys_socket (Depends-on): Add absolute-header.
58321         (Makefile.am): Substitute ABSOLUTE_SYS_SOCKET_H, HAVE_SYS_SOCKET_H,
58322         HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H into sys/socket.h.
58323         (Include): Remove requirement of inclusion of <sys/types.h>.
58324
58325 2007-03-02  Bruno Haible  <bruno@clisp.org>
58326
58327         * lib/byteswap_.h (bswap_32): Fix formula.
58328
58329 2007-03-06  Bruno Haible  <bruno@clisp.org>
58330
58331         * modules/sprintf-posix-tests: New file.
58332         * tests/test-sprintf-posix.c: New file.
58333
58334         * modules/sprintf-posix: New file.
58335         * lib/sprintf.c: New file.
58336         * m4/sprintf-posix.m4: New file.
58337         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_SPRINTF_POSIX,
58338         REPLACE_SPRINTF.
58339         * lib/stdio_.h (sprintf): New declaration.
58340         * modules/stdio (Makefile.am): Substitute also GNULIB_SPRINTF_POSIX,
58341         REPLACE_SPRINTF.
58342
58343 2007-03-06  Bruno Haible  <bruno@clisp.org>
58344
58345         * modules/vsprintf-posix-tests: New file.
58346         * tests/test-vsprintf-posix.c: New file.
58347         * tests/test-sprintf-posix.h: New file.
58348
58349         * modules/vsprintf-posix: New file.
58350         * lib/vsprintf.c: New file.
58351         * m4/vsprintf-posix.m4: New file.
58352         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VSPRINTF_POSIX,
58353         REPLACE_VSPRINTF.
58354         * lib/stdio_.h (vsprintf): New declaration.
58355         * modules/stdio (Makefile.am): Substitute also GNULIB_VSPRINTF_POSIX,
58356         REPLACE_VSPRINTF.
58357
58358 2007-03-06  Bruno Haible  <bruno@clisp.org>
58359
58360         * modules/vsnprintf (Depend-on): Remove minmax.
58361
58362 2007-03-06  Bruno Haible  <bruno@clisp.org>
58363
58364         * modules/snprintf-posix-tests: New file.
58365         * tests/test-snprintf-posix.c: New file.
58366
58367         * modules/snprintf-posix: New file.
58368         * m4/snprintf-posix.m4: New file.
58369         * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): New macro, extracted from
58370         gl_FUNC_SNPRINTF.
58371         (gl_FUNC_SNPRINTF): Invoke it.
58372         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_SNPRINTF.
58373         * lib/stdio_.h (snprintf): Define as a replacement if REPLACE_SNPRINTF
58374         is set.
58375         * modules/stdio (Makefile.am): Substitute also REPLACE_SNPRINTF.
58376
58377 2007-03-06  Bruno Haible  <bruno@clisp.org>
58378
58379         * modules/vsnprintf-posix-tests: New file.
58380         * tests/test-vsnprintf-posix.c: New file.
58381         * tests/test-snprintf-posix.h: New file.
58382
58383         * modules/vsnprintf-posix: New file.
58384         * m4/vsnprintf-posix.m4: New file.
58385         * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): New macro, extracted from
58386         gl_FUNC_VSNPRINTF.
58387         (gl_FUNC_VSNPRINTF): Invoke it.
58388         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_VSNPRINTF.
58389         * lib/stdio_.h (vsnprintf): Define as a replacement if
58390         REPLACE_VSNPRINTF is set.
58391         * modules/stdio (Makefile.am): Substitute also REPLACE_VSNPRINTF.
58392
58393 2007-03-06  Bruno Haible  <bruno@clisp.org>
58394
58395         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Test for vasnprintf here.
58396         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): ... not here.
58397
58398 2007-03-06  Bruno Haible  <bruno@clisp.org>
58399
58400         * lib/math_.h (acosl): Declare also if HAVE_DECL_ACOSL is set.
58401         (asinl): Declare also if HAVE_DECL_ASINL is set.
58402         (atanl): Declare also if HAVE_DECL_ATANL is set.
58403         (ceill): Declare also if HAVE_DECL_CEILL is set.
58404         (cosl): Declare also if HAVE_DECL_COSL is set.
58405         (expl): Declare also if HAVE_DECL_EXPL is set.
58406         (floorl): Declare also if HAVE_DECL_FLOORL is set.
58407         (frexpl): Declare also if HAVE_DECL_FREXPL is set.
58408         (ldexpl): Declare also if HAVE_DECL_LDEXPL is set.
58409         (logl): Declare also if HAVE_DECL_LOGL is set.
58410         (sinl): Declare also if HAVE_DECL_SINL is set.
58411         (sqrtl): Declare also if HAVE_DECL_SQRTL is set.
58412         (tanl): Declare also if HAVE_DECL_TANL is set.
58413         * modules/math (Makefile.am): Substitute the values of HAVE_DECL_*.
58414         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Set HAVE_DECL_* to 1.
58415         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Fix tests for the
58416         declaration of frexpl, ldexpl.
58417         * modules/printf-frexpl (Depends-on): Add math.
58418         * lib/printf-frexp.c (frexpl, ldexpl): Undo last change.
58419
58420 2007-03-05  Bruno Haible  <bruno@clisp.org>
58421
58422         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Also test whether
58423         frexpl and ldexpl are declared.
58424         * lib/printf-frexp.c (frexpl, ldexpl): Provide fallback declarations.
58425
58426 2007-03-05  Bruno Haible  <bruno@clisp.org>
58427
58428         * gnulib-tool (func_get_automake_snippet): Don't synthesize an
58429         EXTRA_lib_SOURCES augmentation for the relocatable-prog-wrapper module.
58430
58431 2007-03-05  Bruno Haible  <bruno@clisp.org>
58432
58433         * lib/stdio_.h: Include <stddef.h>.
58434
58435 2007-03-05  Bruno Haible  <bruno@clisp.org>
58436
58437         * m4/printf.m4 (gl_SNPRINTF_DIRECTIVE_N): New macro.
58438
58439 2007-03-05  Bruno Haible  <bruno@clisp.org>
58440
58441         * m4/printf.m4: Update with info about OpenBSD 3.9, HP-UX 10.20,
58442         NetBSD 4, from Ralf Wildenhues.
58443
58444 2007-03-04  Bruno Haible  <bruno@clisp.org>
58445
58446         * lib/vasprintf.h: Update #if logic for the case when the functions
58447         exist but are overridden.
58448
58449 2007-03-04  Bruno Haible  <bruno@clisp.org>
58450
58451         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Exclude two buggy
58452         implementations: glibc-2.4 and MacOS X 10.3.
58453         * tests/test-vasnprintf-posix.c (test_function): Test also the case
58454         that exhibits the bugs in glibc-2.4 and MacOS X 10.3.
58455         * tests/test-vasprintf-posix.c (test_function): Likewise.
58456
58457 2007-03-04  Bruno Haible  <bruno@clisp.org>
58458
58459         * modules/vasprintf-posix-tests: New file.
58460         * tests/test-vasprintf-posix.c: New file.
58461
58462         * modules/vasprintf-posix: New file.
58463         * lib/vasprintf.h (asprintf, vasprintf): Rename if REPLACE_VASPRINTF is
58464         defined.
58465         * m4/vasprintf-posix.m4: New file.
58466         * m4/vasprintf.m4 (gl_REPLACE_VASPRINTF): New macro, extracted from
58467         gl_FUNC_VASPRINTF.
58468         (gl_FUNC_VASPRINTF): Invoke it.
58469         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Define REPLACE_VASNPRINTF
58470         here.
58471         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Not here.
58472
58473 2007-03-04  Bruno Haible  <bruno@clisp.org>
58474
58475         * lib/sys_time_.h: Rename GETTIMEOFDAY_REPLACEMENT to
58476         REPLACE_GETTIMEOFDAY.
58477         * modules/sys_time (Makefile.am): Likewise.
58478         * m4/sys_time_h.m4: Likewise.
58479         * m4/gettimeofday.m4: Likewise.
58480
58481 2007-03-04  Bruno Haible  <bruno@clisp.org>
58482
58483         * modules/vasnprintf-posix-tests: New file.
58484         * tests/test-vasnprintf-posix.c: New file.
58485
58486         * modules/vasnprintf-posix: New file.
58487         * lib/vasnprintf.c: Include isnan.h, isnanl.h, printf-frexp.h,
58488         printf-frexpl.h.
58489         (VASNPRINTF): Handle the 'a' and 'A' directives here, if needed.
58490         * lib/vasnprintf.h (asnprintf, vasnprintf): Rename if
58491         REPLACE_VASNPRINTF is defined.
58492         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): New macro, extracted from
58493         gl_FUNC_VASNPRINTF.
58494         (gl_FUNC_VASNPRINTF): Invoke it.
58495         * m4/vasnprintf-posix.m4: New file.
58496         * m4/printf.m4: New file.
58497
58498 2007-03-04  Bruno Haible  <bruno@clisp.org>
58499
58500         Compile progreloc.c only if --enable-relocatable is specified.
58501         * m4/relocatable.m4 (gl_RELOCATABLE): Arrange to compile progreloc.c
58502         if --enable-relocatable was specified.
58503         * modules/relocatable-prog (Makefile.am): Remove progreloc.c from
58504         lib_SOURCES.
58505
58506 2007-03-04  Jim Meyering  <jim@meyering.net>
58507
58508         * lib/acl.c (ACL_NOT_WELL_SUPPORTED): New macro.
58509         Use it consistently, rather than enumerating errno constants.
58510
58511 2007-03-04  Bruno Haible  <bruno@clisp.org>
58512
58513         * modules/xvasprintf-tests: New file.
58514         * tests/test-xvasprintf.c: New file.
58515
58516         * modules/vasprintf-tests: New file.
58517         * tests/test-vasprintf.c: New file.
58518
58519         * modules/vasnprintf-tests: New file.
58520         * tests/test-vasnprintf.c: New file.
58521
58522         * modules/vsnprintf-tests: New file.
58523         * tests/test-vsnprintf.c: New file.
58524
58525         * modules/snprintf-tests: New file.
58526         * tests/test-snprintf.c: New file.
58527
58528 2007-03-04  Bruno Haible  <bruno@clisp.org>
58529
58530         Compile relocatable.c only if --enable-relocatable is specified.
58531         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_BODY): Renamed from
58532         gl_RELOCATABLE_LIBRARY.
58533         (gl_RELOCATABLE_LIBRARY, gl_RELOCATABLE_LIBRARY_SEPARATE): New macros.
58534         * m4/relocatable.m4 (gl_RELOCATABLE): Invoke gl_RELOCATABLE_LIBRARY.
58535         (gl_RELOCATABLE_BODY): Require gl_RELOCATABLE_LIBRARY_BODY instead of
58536         gl_RELOCATABLE_LIBRARY.
58537         * modules/relocatable-lib (configure.ac): Invoke gl_RELOCATABLE_LIBRARY.
58538         (Makefile.am): Remove lib_SOURCES.
58539         * modules/relocatable-lib-lgpl (configure.ac): Invoke
58540         gl_RELOCATABLE_LIBRARY.
58541         (Makefile.am): Remove lib_SOURCES.
58542         * modules/relocatable-prog (Makefile.am): Don't compile relocatable.c
58543         always.
58544         * modules/relocatable-prog-wrapper (configure.ac): Invoke
58545         gl_RELOCATABLE_LIBRARY_SEPARATE instead of gl_RELOCATABLE_LIBRARY.
58546
58547 2007-03-04  Bruno Haible  <bruno@clisp.org>
58548
58549         * modules/argmatch-tests: New file.
58550         * tests/test-argmatch.c: New file.
58551
58552         * tests/test-allocsa.c (main): Halve the number of loop runs.
58553
58554         * modules/alloca-opt-tests: New file.
58555         * tests/test-alloca-opt.c: New file.
58556
58557 2007-03-04  Jim Meyering  <jim@meyering.net>
58558
58559         Work around difference between Linux ACLs and Solaris 10 ZFS.
58560         * lib/acl.c (set_acl): Revert to using chmod_or_fchmod also
58561         for EINVAL.
58562
58563 2007-03-03  Bruno Haible  <bruno@clisp.org>
58564
58565         * modules/relocatable-prog (Depends-on): Add back progreloc's
58566         dependencies: canonicalize-lgpl, xalloc, xreadlink, stdbool, unistd.
58567
58568 2007-03-03  Bruno Haible  <bruno@clisp.org>
58569
58570         * modules/relocatable-lib-lgpl: Renamed from modules/relocatable-lib.
58571         * modules/relocatable-lib: New file.
58572
58573 2007-03-03  Bruno Haible  <bruno@clisp.org>
58574
58575         * modules/relocatable-prog: Renamed from modules/relocatable.
58576         * doc/relocatable-maint.texi: Talk about module 'relocatable-prog'.
58577
58578 2007-03-03  Bruno Haible  <bruno@clisp.org>
58579
58580         * modules/relocatable-script (Files): Add doc/relocatable.texi,
58581         m4/relocatable-lib.m4.
58582         (Depends-on): Remove 'relocatable'.
58583         (configure.ac): Add gl_RELOCATABLE_NOP.
58584
58585 2007-03-03  Bruno Haible  <bruno@clisp.org>
58586
58587         * modules/relocatable-prog-wrapper: New file.
58588         * modules/relocatable (Depends-on): Add it. Remove all other
58589         dependencies except progname.
58590         (Files): Remove build-aux/install-reloc, lib/relocwrapper.c.
58591
58592         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): New macro.
58593         (gl_FUNC_STRERROR): Nop.
58594         * lib/strerror.c: Compile the file only if !HAVE_STRERROR.
58595
58596         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): New macro.
58597         * lib/setenv.c: Compile the file only if _LIBC || !HAVE_SETENV.
58598
58599         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): New macro.
58600         (gl_FUNC_READLINK): Update.
58601
58602         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL_SEPARATE): New macro.
58603
58604 2007-03-03  Bruno Haible  <bruno@clisp.org>
58605
58606         * lib/xreadlink.c: Include <unistd.h> unconditionally.
58607         * modules/xreadlink (Depends-on): Add unistd.
58608         * modules/xreadlink-with-size (Depends-on): Likewise.
58609
58610 2007-03-03  Bruno Haible  <bruno@clisp.org>
58611
58612         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_UNSETENV): New macros,
58613         extracted from gt_FUNC_SETENV.
58614         (gt_FUNC_SETENV): Remove macro.
58615         * modules/setenv (configure.ac): Add gl_FUNC_SETENV, gl_FUNC_UNSETENV,
58616         remove gt_FUNC_SETENV.
58617
58618 2007-03-03  Bruno Haible  <bruno@clisp.org>
58619
58620         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY): Define
58621         ENABLE_RELOCATABLE here.
58622         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Don't define it here.
58623
58624 2007-03-03  Bruno Haible  <bruno@clisp.org>
58625
58626         * modules/rbtreehash-list-tests (Depends-on): Add progname.
58627         * tests/test-rbtreehash_list.c: Include progname.h.
58628         (main): Call set_program_name.
58629
58630         * modules/rbtree-oset-tests (Depends-on): Add progname.
58631         * tests/test-rbtree_oset.c: Include progname.h.
58632         (main): Call set_program_name.
58633
58634         * modules/rbtree-list-tests (Depends-on): Add progname.
58635         * tests/test-rbtree_list.c: Include progname.h.
58636         (main): Call set_program_name.
58637
58638         * modules/linked-list-tests (Depends-on): Add progname.
58639         * tests/test-linked_list.c: Include progname.h.
58640         (main): Call set_program_name.
58641
58642 2007-03-03  Bruno Haible  <bruno@clisp.org>
58643
58644         * lib/glob-libc.h (_Restrict_): New macro, copied from lib/regex.h.
58645         All uses of __restrict changed to _Restrict_.
58646         * lib/glob_.h (__restrict): Remove macro.
58647
58648 2007-03-02  Bruno Haible  <bruno@clisp.org>
58649
58650         * modules/gettext (configure.ac): Require gettext infrastructure
58651         from version 0.16.1.
58652
58653 2007-03-02  Bruno Haible  <bruno@clisp.org>
58654
58655         * modules/linkedhash-list-tests (Depends-on): Add progname.
58656         * tests/test-linkedhash_list.c: Include progname.h.
58657         (main): Call set_program_name.
58658
58659         * modules/carray-list-tests (Depends-on): Add progname.
58660         * tests/test-carray_list.c: Include progname.h.
58661         (main): Call set_program_name.
58662
58663         * modules/avltreehash-list-tests (Depends-on): Add progname.
58664         * tests/test-avltreehash_list.c: Include progname.h.
58665         (main): Call set_program_name.
58666
58667         * modules/avltree-oset-tests (Depends-on): Add progname.
58668         * tests/test-avltree_oset.c: Include progname.h.
58669         (main): Call set_program_name.
58670
58671         * modules/avltree-list-tests (Depends-on): Add progname.
58672         * tests/test-avltree_list.c: Include progname.h.
58673         (main): Call set_program_name.
58674
58675         * modules/array-oset-tests (Depends-on): Add progname.
58676         * tests/test-array_oset.c: Include progname.h.
58677         (main): Call set_program_name.
58678
58679         * modules/array-list-tests (Depends-on): Add progname.
58680         * tests/test-array_list.c: Include progname.h.
58681         (main): Call set_program_name.
58682
58683         * modules/argp-tests (Depends-on): Add progname.
58684         * tests/test-argp.c: Include argp.h first. Include progname.h.
58685         (main): Call set_program_name.
58686
58687 2007-03-02  Paul Eggert  <eggert@cs.ucla.edu>
58688
58689         * doc/gnulib-tool.texi (Initial import): Reword description of
58690         _FILE_OFFSET_BITS and _GNU_SOURCE, since they sometimes have a
58691         limited effect even if defined after the first system include.
58692
58693 2007-03-01  Bruno Haible  <bruno@clisp.org>
58694
58695         * build-aux/config.libpath: Update to libtool-1.5.22.
58696         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
58697
58698 2007-03-01  Bruno Haible  <bruno@clisp.org>
58699
58700         * doc/relocatable-maint.texi: Recommend to set foo_CPPFLAGS, not
58701         foo_CFLAGS.
58702         Reported by Ralf Wildenhues.
58703
58704 2007-03-01  Bruno Haible  <bruno@clisp.org>
58705
58706         * build-aux/install-reloc: Remove object files left over by some
58707         compilers.
58708         Reported by Ralf Wildenhues.
58709
58710 2007-03-01  Bruno Haible  <bruno@clisp.org>
58711
58712         * build-aux/install-reloc: Break long lines.
58713
58714 2007-03-01  Bruno Haible  <bruno@clisp.org>
58715
58716         * doc/relocatable.texi: Document that it may not work on OpenBSD.
58717         Reported by Ralf Wildenhues.
58718
58719 2007-03-01  Bruno Haible  <bruno@clisp.org>
58720
58721         * doc/gnulib-tool.texi (Initial import): Remove paragraph about
58722         include ordering constraints.
58723
58724 2007-03-01  Paul Eggert  <eggert@cs.ucla.edu>
58725
58726         Followup to the 2007-02-12 patch, using suggestions from Bruno Haible in
58727         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00136.html>.
58728         * doc/gnulib-tool.texi (Initial import): Mention _FILE_OFFSET_BITS
58729         as another example.
58730         * lib/time_.h: Fix misspelling.
58731         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
58732         Require gl_HEADER_TIME_H_DEFAULTS.
58733         * m4/strptime.m4 (gl_FUNC_STRPTIME): Likewise.
58734         * m4/time_r.m4 (gl_TIME_R): Likewise.
58735         * m4/timegm.m4 (gl_FUNC_TIMEGM): Likewise.
58736
58737 2007-03-01  Bruno Haible  <bruno@clisp.org>
58738
58739         * m4/utimecmp.m4 (gl_UTIMECMP): Don't require gl_TIMESPEC.
58740         * m4/utimens.m4 (gl_UTIMENS): Likewise.
58741
58742 2007-03-01  Jim Meyering  <jim@meyering.net>
58743
58744         * modules/xreadlink (Maintainer): Add my name.
58745         * modules/xreadlink-with-size (Depends-on): Alphabetize.
58746
58747 2007-02-26  Ben Pfaff  <blp@cs.stanford.edu>
58748             Bruno Haible  <bruno@clisp.org>
58749
58750         * build-aux/install-reloc: Compile also c-ctype.c.
58751         * build-aux/relocatable.sh.in: New file.
58752         * doc/relocatable.texi: New file.
58753         * doc/relocatable-maint.texi: New file.
58754         * doc/gnulib.texi: Include relocatable-maint.texi.
58755         * lib/progreloc.c: Include unistd.h unconditionally.
58756         * lib/relocwrapper.c: Include unistd.h unconditionally.
58757         Include c-ctype.h.
58758         (add_dotbin): Use c_tolower.
58759         * m4/relocatable-lib.m4: New file, extracted from m4/relocatable.m4.
58760         (gl_RELOCATABLE_LIBRARY): Renamed from AC_RELOCATABLE_LIBRARY.
58761         (gl_RELOCATABLE_NOP): Renamed from AC_RELOCATABLE_NOP.
58762         * m4/relocatable.m4 (AC_RELOCATABLE_LIBRARY, AC_RELOCATABLE_NOP): Move
58763         to m4/relocatable-lib.m4.
58764         (gl_RELOCATABLE): Renamed from AC_RELOCATABLE. Set also
58765         RELOCATABLE_CONFIG_H_DIR, RELOCATABLE_SRC_DIR, RELOCATABLE_BUILD_DIR.
58766         (gl_RELOCATABLE_BODY): Renamed from AC_RELOCATABLE_BODY. Don't
58767         require obsolete macro AC_EXEEXT. Don't check for unistd.h. Don't set
58768         SET_RELOCATABLE. Instead set RELOCATABLE_LDFLAGS, INSTALL_PROGRAM_ENV.
58769         * modules/relocatable: New file.
58770         * modules/relocatable-lib: New file.
58771         * modules/relocatable-script: New file.
58772
58773 2007-02-28  Bruno Haible  <bruno@clisp.org>
58774
58775         Import --enable-relocatable infrastructure.
58776         * build-aux/config.libpath: New file, from GNU gettext.
58777         * build-aux/install-reloc: New file, from GNU gettext.
58778         * build-aux/reloc-ldflags: New file, from GNU gettext.
58779         * lib/relocatable.h: New file, from GNU gettext.
58780         * lib/relocatable.c: New file, from GNU gettext.
58781         * lib/relocwrapper.c: New file, from GNU gettext.
58782         * m4/relocatable.m4: New file, from GNU gettext.
58783
58784 2007-02-28  Bruno Haible  <bruno@clisp.org>
58785
58786         * MODULES.html.sh (File system functions): Add xreadlink-with-size.
58787
58788         * modules/xreadlink: New file, from GNU gettext with modifications.
58789         * lib/xreadlink.c: New file, from GNU gettext.
58790         * lib/xreadlink.h: Add comments.
58791         (xreadlink): New declaration.
58792
58793         * modules/xreadlink-with-size: Renamed from modules/xreadlink.
58794         (Files): Remove m4/xreadlink.m4. Replace lib/xreadlink.c with
58795         lib/xreadlink-with-size.c.
58796         (configure.ac): Remove gl_XREADLINK invocation.
58797         (Makefile.am): Augment lib_SOURCES.
58798         * m4/xreadlink.m4: Remove file.
58799         * lib/xreadlink-with-size.c: Renamed from lib/xreadlink.c.
58800         (xreadlink_with_size): Renamed from xreadink.
58801         * lib/xreadlink.h (xreadlink_with_size): Renamed from xreadink.
58802         * modules/canonicalize (Depends-on): Replace xreadlink with
58803         xreadlink-with-size.
58804         * lib/canonicalize.c (canonicalize_filename_mode): Update.
58805
58806 2007-02-25  Jim Meyering  <jim@meyering.net>
58807
58808         * build-aux/announce-gen: When complaining about excess arguments,
58809         list them.
58810
58811 2007-02-25  Paul Eggert  <eggert@cs.ucla.edu>
58812
58813         * README: Document signed integer overflow situation more
58814         accurately.
58815
58816 2007-02-25  Bruno Haible  <bruno@clisp.org>
58817
58818         * lib/vasnprintf.c (VASNPRINTF): Fix estimate of size needed for a
58819         'a' or 'A' conversion.
58820
58821 2007-02-25  Bruno Haible  <bruno@clisp.org>
58822
58823         * modules/filename: Renamed from modules/pathname.
58824         (Files): Replace lib/pathname.h with lib/filename.h. Replace
58825         lib/concatpath.c with lib/concat-filename.c.
58826         (Makefile.am): Update.
58827         (Include): Replace pathname.h with filename.h.
58828         * lib/filename.h: Renamed from lib/pathname.h.
58829         (concatenated_filename): Renamed from concatenated_pathname.
58830         * lib/concat-filename.c: Renamed from lib/concatpath.c.
58831         (concatenated_filename): Renamed from concatenated_pathname.
58832         * lib/findprog.c: Include filename.h instead of pathname.h.
58833         (find_in_path): Update.
58834         * lib/javacomp.c: Include filename.h instead of pathname.h.
58835         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
58836         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
58837         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
58838         is_oldgcj_14_13_usable, is_javac_usable): Update.
58839         * lib/javaexec.c: Include filename.h instead of pathname.h.
58840         (execute_java_class): Update.
58841         * modules/findprog: Update.
58842         * modules/javacomp: Update.
58843         * modules/javaexec: Update.
58844         * MODULES.html.sh (File system functions): Add 'filename', remove
58845         'pathname'.
58846
58847 2007-02-25  Bruno Haible  <bruno@clisp.org>
58848
58849         * modules/printf-frexpl-tests: New file.
58850         * tests/test-printf-frexpl.c: New file.
58851
58852         * modules/printf-frexpl: New file.
58853         * lib/printf-frexpl.h: New file.
58854         * lib/printf-frexpl.c: New file.
58855         * m4/printf-frexpl.m4: New file.
58856
58857 2007-02-25  Bruno Haible  <bruno@clisp.org>
58858
58859         * modules/printf-frexp-tests: New file.
58860         * tests/test-printf-frexp.c: New file.
58861
58862         * modules/printf-frexp: New file.
58863         * lib/printf-frexp.h: New file.
58864         * lib/printf-frexp.c: New file.
58865         * m4/printf-frexp.m4: New file.
58866
58867 2007-02-25  Bruno Haible  <bruno@clisp.org>
58868
58869         Assume automake >= 1.10 for the tests.
58870         * modules/arcfour-tests (TESTS): Remove $(EXEEXT) suffix.
58871         * modules/arctwo-tests: Likewise.
58872         * modules/argp-tests: Likewise.
58873         * modules/avltree-list-tests: Likewise.
58874         * modules/avltree-oset-tests: Likewise.
58875         * modules/avltreehash-list-tests: Likewise.
58876         * modules/carray-list-tests: Likewise.
58877         * modules/crc-tests: Likewise.
58878         * modules/des-tests: Likewise.
58879         * modules/gc-arcfour-tests: Likewise.
58880         * modules/gc-arctwo-tests: Likewise.
58881         * modules/gc-des-tests: Likewise.
58882         * modules/gc-hmac-md5-tests: Likewise.
58883         * modules/gc-hmac-sha1-tests: Likewise.
58884         * modules/gc-md2-tests: Likewise.
58885         * modules/gc-md4-tests: Likewise.
58886         * modules/gc-md5-tests: Likewise.
58887         * modules/gc-pbkdf2-sha1-tests: Likewise.
58888         * modules/gc-rijndael-tests: Likewise.
58889         * modules/gc-sha1-tests: Likewise.
58890         * modules/gc-tests: Likewise.
58891         * modules/getaddrinfo-tests: Likewise.
58892         * modules/hmac-md5-tests: Likewise.
58893         * modules/hmac-sha1-tests: Likewise.
58894         * modules/linked-list-tests: Likewise.
58895         * modules/linkedhash-list-tests: Likewise.
58896         * modules/lock-tests: Likewise.
58897         * modules/md2-tests: Likewise.
58898         * modules/md4-tests: Likewise.
58899         * modules/md5-tests: Likewise.
58900         * modules/rbtree-list-tests: Likewise.
58901         * modules/rbtree-oset-tests: Likewise.
58902         * modules/rbtreehash-list-tests: Likewise.
58903         * modules/read-file-tests: Likewise.
58904         * modules/rijndael-tests: Likewise.
58905         * modules/stdint-tests: Likewise.
58906         * modules/tls-tests: Likewise.
58907
58908 2007-02-24  Bruno Haible  <bruno@clisp.org>
58909
58910         * lib/isnanl.h (isnanl): Define through isnan if isnan is a macro.
58911         * m4/isnan.m4 (gl_FUNC_ISNAN_NO_LIBM): Don't check for isnan as a
58912         function; instead check whether isnan with a double argument links.
58913         * m4/isnanl.m4 (gl_FUNC_ISNANL_NO_LIBM): Don't check for isnanl as a
58914         function; instead check whether isnan with a 'long double' argument
58915         links.
58916         Reported by Eric Blake <ebb9@byu.net>.
58917
58918 2007-02-24  Bruno Haible  <bruno@clisp.org>
58919
58920         * lib/isnan.c: Support the 'long double' case if USE_LONG_DOUBLE is
58921         defined.
58922         * lib/isnanl.c: Remove all code. Just include isnan.c.
58923         * modules/isnanl-nolibm (Files): Add lib/isnan.c.
58924
58925 2007-02-25  Jim Meyering  <jim@meyering.net>
58926
58927         Avoid conflicting types for 'unsetenv' on FreeBSD.
58928         * lib/putenv.c (_unsetenv): Rename from "unsetenv", to avoid
58929         conflicting with FreeBSD's (5.0 and 6.1) function declaration
58930         in stdlib.h.
58931
58932 2007-02-24  Bruno Haible  <bruno@clisp.org>
58933
58934         * modules/isnanl-nolibm-tests: New file.
58935         * tests/test-isnanl.c: New file.
58936
58937         * modules/isnanl-nolibm: New file.
58938         * lib/isnanl.h: New file.
58939         * lib/isnanl.c: New file.
58940         * m4/isnanl.m4: New file.
58941
58942 2007-02-24  Bruno Haible  <bruno@clisp.org>
58943
58944         * modules/isnan-nolibm-tests: New file.
58945         * tests/test-isnan.c: New file.
58946
58947         * modules/isnan-nolibm: New file.
58948         * lib/isnan.h: New file.
58949         * lib/isnan.c: New file.
58950         * m4/isnan.m4: New file.
58951
58952 2007-02-24  Bruno Haible  <bruno@clisp.org>
58953
58954         * lib/frexpl.c (frexpl): Correct return values for x = 1.0L. Don't
58955         assume that an exponent fits in 20 bits.
58956
58957 2007-02-24  Jim Meyering  <jim@meyering.net>
58958
58959         * m4/regex.m4: Update the description of the configure-time option,
58960         --without-included-regex, to state accurately what the defaults are,
58961         and perhaps to give people an idea why using this option is risky.
58962
58963 2007-02-24  Paul Eggert  <eggert@cs.ucla.edu>
58964
58965         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check for a nanosleep that
58966         loops on small arguments.  This attempts to avoid the problem
58967         Bruno Haible reported for AIX 4.3.2 in
58968         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00309.html>.
58969
58970 2007-02-23  Bruno Haible  <bruno@clisp.org>
58971
58972         * m4/perl.m4 (gl_PERL): Require version 5.005, not 5.003.
58973         Needed for help2man.
58974
58975 2007-02-23  Karl Berry  <karl@gnu.org>
58976
58977         * doc/gnulib-tool.texi (CVS Issues): mention that when foo_.h
58978         exists, foo.h should be cvs-ignored, not committed.
58979
58980 2007-02-23  Eric Blake  <ebb9@byu.net>
58981
58982         * lib/getdate.h (includes):  Include <time.h>, not "timespec.h".
58983         * lib/stat-time.h (includes): Likewise.
58984         * lib/utimecmp.c (includes): Likewise.
58985         * lib/utimens.h (includes): Likewise.
58986         * lib/getdate.y (includes): Also include "timespec.h" for use
58987         internal to the module.
58988         * modules/utimens (Depends-on): Revert yesterday's patch.
58989         * modules/nanosleep (Depends-on): Add missing dependency.
58990
58991 2007-02-22  Bruno Haible  <bruno@clisp.org>
58992
58993         * lib/glob.c: Don't include getlogin_r.h.
58994
58995 2007-02-22  Jim Meyering  <jim@meyering.net>
58996
58997         * modules/utimens (Depends-on): Add timespec, required for
58998         utimens.h's inclusion of timespec.h.
58999
59000 2007-02-21  Paul Eggert  <eggert@cs.ucla.edu>
59001
59002         * lib/getcwd.c (__getcwd): Undo previous change; it mishandled
59003         long unreadable paths in GNU/Linux.  Problem reported by Andreas
59004         Schwab in
59005         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00261.html>.
59006         I'll try to think of a better way to fix the Solaris problem.
59007
59008         * lib/getcwd.c (__getcwd): Don't assume getcwd (NULL, 0) works
59009         like glibc; on Solaris 10, it fails with errno == EINVAL.
59010         POSIX says the behavior is unspecified if the first argument is NULL,
59011         so play it safe and never pass NULL to the system getcwd.
59012
59013 2007-02-21  Jim Meyering  <jim@meyering.net>
59014
59015         * lib/gettimeofday.c (rpl_gettimeofday): Remove declaration
59016         of gettimeofday.  It would conflict with the one now always
59017         provided via sys_time_.h.  Reported by Matthew Woehlke, as
59018         an IRIX 6.5 build failure.
59019
59020 2007-02-20  Paul Eggert  <eggert@cs.ucla.edu>
59021
59022         Minor fixups to port to Solaris 10 with Sun C 5.8.
59023         * lib/getcwd.c [!_LIBC]: Include dirfd.h, since we use dirfd.
59024         * modules/getcwd (Depends-on): Add dirfd.
59025         * lib/putenv.c (putenv): #undef it.
59026         (rpl_putenv): New decl.
59027         (malloc, free): Include <stdlib.h> rather than prototyping separately.
59028
59029 2007-02-20  Bruno Haible  <bruno@clisp.org>
59030
59031         * modules/stdio-tests: New file.
59032         * tests/test-stdio.c: New file.
59033
59034         * modules/vsnprintf (Files): Remove lib/vsnprintf.h.
59035         (Depends-on): Add stdio.
59036         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
59037         (Include): Use <stdio.h> instead of vsnprintf.h.
59038         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
59039         HAVE_DECL_VSNPRINTF.
59040         * lib/vsnprintf.c: Include <stdio.h> instead of vsnprintf.h.
59041
59042         * modules/snprintf (Files): Remove lib/snprintf.h.
59043         (Depends-on): Add stdio.
59044         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
59045         (Include): Use <stdio.h> instead of snprintf.h.
59046         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
59047         HAVE_DECL_SNPRINTF.
59048         * lib/snprintf.c: Include <stdio.h> instead of snprintf.h.
59049         * lib/getaddrinfo.c: Likewise.
59050
59051         * modules/stdio: New file.
59052         * lib/stdio_.h: New file, incorporating snprintf.h and vsnprintf.h.
59053         * lib/snprintf.h: Remove file.
59054         * lib/vsnprintf.h: Remove file.
59055         * lib/.cppi-disable: Remove snprintf.h.
59056         * m4/stdio_h.m4: New file.
59057         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdio.
59058
59059 2007-02-20  Jim Meyering  <jim@meyering.net>
59060
59061         * lib/ftruncate.c [HAVE_CHSIZE]: Document that this code is
59062         used by e.g., mingw.  From Bruno Haible.
59063
59064 2007-02-19  Bruno Haible  <bruno@clisp.org>
59065
59066         * lib/string_.h: Use "#pragma GCC system_header" to suppress some gcc
59067         warnings.
59068         Reported by Ben Pfaff <blp@cs.stanford.edu>.
59069
59070 2007-02-19  Bruno Haible  <bruno@clisp.org>
59071
59072         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Don't request a complaint mail
59073         from mingw users.
59074
59075 2007-02-19  Bruno Haible  <bruno@clisp.org>
59076
59077         * lib/stdlib_.h: Use "#pragma GCC system_header" to suppress some gcc
59078         warnings.
59079         Reported by Joel E. Denny <jdenny@ces.clemson.edu> via Paul Eggert.
59080
59081 2007-02-19  Jim Meyering  <jim@meyering.net>
59082
59083         Don't use FD after a successful "fdopendir (fd)".
59084         * lib/getcwd.c (__getcwd) [AT_FDCWD]: fdopendir (fd) usually closes fd.
59085         Reset it by calling dirfd on the just-obtained DIR*.
59086
59087         * m4/ftruncate.m4: Adjust comment to give this module a 3-year reprieve.
59088         Prompted by a report from Bruno Haible that mingw lacks ftruncate.
59089
59090 2007-02-18  Bruno Haible  <bruno@clisp.org>
59091
59092         * lib/readlink.c: Include <unistd.h>.
59093         * m4/readlink.m4 (gl_FUNC_READLINK): Require gl_UNISTD_H_DEFAULTS. Set
59094         HAVE_READLINK.
59095         * modules/readlink (Depends-on): Add unistd.
59096         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
59097         (Include): Add <unistd.h>.
59098
59099         * lib/getlogin_r.h: Remove file.
59100         * lib/getlogin_r.c: Include <unistd.h> instead of getlogin_r.h.
59101         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE): Remove macro.
59102         (gl_GETLOGIN_R): Inline it here. Require gl_UNISTD_H_DEFAULTS. Set
59103         HAVE_DECL_GETLOGIN_R.
59104         * modules/getlogin_r (Files): Remove lib/getlogin_r.h.
59105         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
59106         (Include): Use <unistd.h> instead of getlogin_r.h.
59107
59108         * lib/getcwd.h: Remove file.
59109         * lib/getcwd.c: Include <unistd.h> instead of getcwd.h.
59110         * lib/xgetcwd.c: Likewise.
59111         * m4/getcwd.m4 (gl_FUNC_GETCWD): Require gl_UNISTD_H_DEFAULTS. Set
59112         REPLACE_GETCWD. Don't define __GETCWD_PREFIX.
59113         * modules/getcwd (Files): Remove lib/getcwd.h.
59114         (Depends-on): Add unistd.
59115         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
59116         (Include): Use <unistd.h> instad of getcwd.h.
59117
59118         * lib/ftruncate.c: Include <unistd.h> first.
59119         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Require gl_UNISTD_H_DEFAULTS.
59120         Set HAVE_FTRUNCATE.
59121         * modules/ftruncate (Depends-on): Add unistd.
59122         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
59123
59124         * lib/fchdir.c: Include <unistd.h> first.
59125         * lib/dirent_.h: Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT.
59126         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_UNISTD_H_DEFAULTS instead
59127         of gl_HEADER_UNISTD_DEFAULTS. Set REPLACE_FCHDIR. Don't set UNISTD_H.
59128         * modules/fchdir (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
59129         (Makefile.am): Substitute also REPLACE_FCHDIR into dirent.h.
59130
59131         * lib/dup2.c: Include <unistd.h> first.
59132         * m4/dup2.m4 (gl_FUNC_DUP2): Require gl_UNISTD_H_DEFAULTS. Set
59133         HAVE_DUP2.
59134         * modules/dup2 (Depends-on): Add unistd.
59135         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
59136
59137         * lib/chown.c: Include <unistd.h> first. Undefine chown later.
59138         * m4/chown.m4 (gl_FUNC_CHOWN): Require gl_UNISTD_H_DEFAULTS. Set
59139         REPLACE_CHOWN. Don't define chown as a macro here.
59140         * modules/chown (Depends-on): Add unistd.
59141         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
59142
59143         * lib/unistd_.h: Test HAVE_UNISTD_H determined at configure time.
59144         Add definition for GL_LINK_WARNING.
59145         (chown, dup2): New declarations.
59146         (fchdir): Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT. Provide optional
59147         link warning.
59148         (ftruncate): New declaration.
59149         (getcwd): New declaration, taken from old getcwd.h.
59150         (getlogin_r): New declaration, taken from old getlogin_r.h.
59151         (readlink): New declaration.
59152         * m4/unistd_h.m4 (gl_UNISTD_H): Renamed from gl_HEADER_UNISTD. Don't
59153         set UNISTD_H. Inline gl_PREREQ_UNISTD. Set HAVE_UNISTD_H.
59154         (gl_PREREQ_UNISTD): Remove macro.
59155         (gl_UNISTD_MODULE_INDICATOR): New macro.
59156         (gl_UNISTD_H_DEFAULTS): Renamed from gl_HEADER_UNISTD_DEFAULTS. Set
59157         many new variables. Don't set UNISTD_H.
59158         * modules/unistd (Description): Change.
59159         (Depends-on): Add link-warning.
59160         (configure.ac): Update.
59161         (Makefile.am): Create unistd.h always. Substitute many new variables
59162         into it.
59163
59164 2007-02-18  Bruno Haible  <bruno@clisp.org>
59165
59166         * lib/stdlib_.h (getsubopt): New declaration, copied from getsubopt.h.
59167         * modules/stdlib (stdlib.h): Also substitute GNULIB_GETSUBOPT and
59168         HAVE_GETSUBOPT.
59169         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Also initialize
59170         GNULIB_GETSUBOPT and HAVE_GETSUBOPT.
59171         * lib/getsubopt.h: Remove file.
59172         * modules/getsubopt (Files): Remove lib/getsubopt.h.
59173         (Depends-on): Add stdlib.
59174         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
59175         (Includes): Use <stdlib.h> instead of getsubopt.h.
59176         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Require gl_STDLIB_H_DEFAULTS.
59177         Set HAVE_GETSUBOPT.
59178         * lib/getsubopt.c: Don't include getsubopt.h.
59179
59180 2007-02-18  Bruno Haible  <bruno@clisp.org>
59181
59182         * modules/fchdir (Depends-on): Add dup2.
59183
59184 2007-02-18  Bruno Haible  <bruno@clisp.org>
59185
59186         * lib/stdlib_.h: Handle glibc's special invocation convention
59187         specially.
59188
59189 2007-02-18  Bruno Haible  <bruno@clisp.org>
59190
59191         * modules/stdlib-tests: New file.
59192         * tests/test-stdlib.c: New file.
59193
59194         * modules/mkstemp (Files): Remove lib/mkstemp.h.
59195         (Depends-on): Add stdlib.
59196         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
59197         (Includes): Use <stdlib.h> instead of mkstemp.h.
59198         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require gl_STDLIB_H_DEFAULTS. Set
59199         REPLACE_MKSTEMP. Remove definition of __MKSTEMP_PREFIX.
59200         * lib/mkstemp.c: Don't include mkstemp.h.
59201         * lib/mkstemp-safer.c: Include <stdlib.h> instead of mkstemp.h.
59202         * lib/stdlib--.h: Don't include mkstemp.h.
59203
59204         * modules/mkdtemp (Files): Remove lib/mkdtemp.h.
59205         (Depends-on): Add stdlib.
59206         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
59207         (Includes): Use <stdlib.h> instead of mkdtemp.h.
59208         * m4/mkdtemp.m4 (gt_FUNC_MKDTEMP): Require gl_STDLIB_H_DEFAULTS. Set
59209         HAVE_MKDTEMP.
59210         * lib/mkdtemp.c: Don't include mkdtemp.h.
59211         * lib/clean-temp.c: Don't include mkdtemp.h.
59212
59213         * modules/exit (Files): Remove lib/exit.h.
59214         (Depends-on): Add stdlib.
59215         (Makefile.am): Remove lib_SOURCES.
59216         (Include): Use <stdlib.h> instead of exit.h.
59217         * lib/argmatch.c: Don't include exit.h.
59218         * lib/execute.c: Likewise.
59219         * lib/pagealign_alloc.c: Likewise.
59220         * lib/pipe.c: Likewise.
59221         * lib/wait-process.c: Likewise.
59222         * lib/copy-file.c: Include <stdlib.h> instead of exit.h.
59223         * lib/exitfail.c: Likewise.
59224         * lib/savewd.c: Likewise.
59225         * lib/xsetenv.c: Likewise.
59226
59227         * modules/stdlib: New file.
59228         * lib/stdlib_.h: New file, incorporating exit.h, mkdtemp.h, mkstemp.h
59229         and extra comments about mkstemp().
59230         * lib/exit.h: Remove file.
59231         * lib/mkdtemp.h: Remove file.
59232         * lib/mkstemp.h: Remove file.
59233         * m4/stdlib_h.m4: New file.
59234         * MODULES.html.sh (Support for systems lacking ANSI C 89): Add stdlib.
59235
59236 2007-02-18  Bruno Haible  <bruno@clisp.org>
59237
59238         * modules/math-tests: New file.
59239         * tests/test-math.c: New file.
59240
59241         * modules/math: New file.
59242         * modules/mathl (Files): Remove lib/mathl.h.
59243         (Depends-on): Add math.
59244         (Makefile.am): Don't mention mathl.h.
59245         (Include): Use <math.h> instead of mathl.h.
59246         * lib/math_.h: New file.
59247         * lib/mathl.h: Remove file.
59248         * lib/acosl.c: Include <config.h> and <math.h> first. Don't include
59249         mathl.h.
59250         * lib/asinl.c: Likewise.
59251         * lib/atanl.c: Likewise.
59252         * lib/ceill.c: Likewise.
59253         * lib/cosl.c: Likewise.
59254         * lib/expl.c: Likewise.
59255         * lib/floorl.c: Likewise.
59256         * lib/frexpl.c: Likewise.
59257         * lib/ldexpl.c: Likewise.
59258         * lib/logl.c: Likewise.
59259         * lib/sincosl.c: Likewise.
59260         * lib/sinl.c: Likewise.
59261         * lib/sqrtl.c: Likewise.
59262         * lib/tanl.c: Likewise.
59263         * lib/trigl.c: Likewise.
59264         * m4/math_h.m4: New file.
59265         * MODULES.html.sh (Mathematics): Add math.
59266
59267 2007-02-17  Bruno Haible  <bruno@clisp.org>
59268
59269         * modules/wctype-tests: New file.
59270         * tests/test-wctype.c: New file.
59271
59272         * modules/wchar-tests: New file.
59273         * tests/test-wchar.c: New file.
59274
59275         * modules/unistd-tests: New file.
59276         * tests/test-unistd.c: New file.
59277
59278         * modules/time-tests: New file.
59279         * tests/test-time.c: New file.
59280
59281         * modules/sysexits-tests: New file.
59282         * tests/test-sysexits.c: New file.
59283
59284         * modules/sys_time-tests: New file.
59285         * tests/test-sys_time.c: New file.
59286
59287         * modules/sys_stat-tests: New file.
59288         * tests/test-sys_stat.c: New file.
59289
59290         * modules/sys_socket-tests: New file.
59291         * tests/test-sys_socket.c: New file.
59292
59293         * modules/sys_select-tests: New file.
59294         * tests/test-sys_select.c: New file.
59295
59296         * modules/string-tests: New file.
59297         * tests/test-string.c: New file.
59298
59299         * modules/stdbool-tests: New file.
59300         * tests/test-stdbool.c: New file.
59301
59302         * modules/netinet_in-tests: New file.
59303         * tests/test-netinet_in.c: New file.
59304
59305         * modules/inttypes-tests: New file.
59306         * tests/test-inttypes.c: New file.
59307
59308         * modules/fcntl-tests: New file.
59309         * tests/test-fcntl.c: New file.
59310
59311         * modules/byteswap-tests: New file.
59312         * tests/test-byteswap.c: New file.
59313
59314         * modules/arpa_inet-tests: New file.
59315         * tests/test-arpa_inet.c: New file.
59316
59317 2007-02-17  Bruno Haible  <bruno@clisp.org>
59318
59319         * lib/inttypes_.h: Add definition for GL_LINK_WARNING.
59320         (imaxabs, imaxdiv, strtoimax, strtoumax): Don't declare the function
59321         if the corresponding module is not enabled. Emit link warnings if
59322         the function is used nevertheless.
59323         * m4/inttypes.m4 (gl_INTTYPES_H): Never use the existing <inttypes.h>.
59324         Don't AC_SUBST HAVE_DECL_IMAXABS, HAVE_DECL_IMAXDIV,
59325         HAVE_DECL_STRTOIMAX, HAVE_DECL_STRTOUMAX.
59326         (gl_INTTYPES_MODULE_INDICATOR, gl_INTTYPES_H_DEFAULTS): New macros.
59327         * modules/inttypes (Depends-on): Add link-warning.
59328         (Makefile.am): Copy the contents of build-aux/link-warning.h into
59329         inttypes.h. Substitute also GNULIB_IMAXABS, GNULIB_IMAXDIV,
59330         GNULIB_STRTOIMAX, GNULIB_STRTOUMAX.
59331         * modules/imaxabs (configure.ac): Invoke gl_INTTYPES_MODULE_INDICATOR.
59332         * modules/imaxdiv (configure.ac): Likewise.
59333         * modules/strtoimax (configure.ac): Likewise.
59334         * modules/strtoumax (configure.ac): Likewise.
59335
59336 2007-02-17  Bruno Haible  <bruno@clisp.org>
59337
59338         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Include the contents of
59339         gl_STRING_MODULE_INDICATOR_DEFAULTS.
59340         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Remove macro.
59341         (gl_HEADER_STRING_H_BODY, gl_STRING_MODULE_INDICATOR): Update.
59342
59343 2007-02-17  Bruno Haible  <bruno@clisp.org>
59344
59345         * modules/link-warning: New file.
59346         * build-aux/link-warning.h: New file, extracted from lib/string_.h.
59347         * lib/string_.h (GL_LINK_WARNING): Remove definition.
59348         * modules/string (Depends-on): Add link-warning.
59349         (Makefile.am): Copy the contents of build-aux/link-warning.h into
59350         string.h.
59351         * MODULES.html.sh (Support for building libraries and executables): Add
59352         link-warning.
59353
59354 2007-02-17  Bruno Haible  <bruno@clisp.org>
59355
59356         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strcasecmp,
59357         strncasecmp, strchr, strchrnul, strdup, strndup, strnlen, strcspn,
59358         strpbrk, strspn, strrchr, strsep, strstr, strcasestr, strtok_r): Break
59359         long lines.
59360
59361 2007-02-17  Ben Pfaff  <blp@cs.stanford.edu>
59362             Bruno Haible  <bruno@clisp.org>
59363
59364         * modules/tmpfile: New file.
59365         * lib/tmpfile.c: New file.
59366         * m4/tmpfile.m4: New file.
59367         * MODULES.html.sh (func_all_modules): New section "Input/output".
59368
59369 2007-02-15  Bruno Haible  <bruno@clisp.org>
59370
59371         * lib/clean-temp.c [WIN32 && !CYGWIN]: Include <windows.h>.
59372         (supports_delete_on_close): New function.
59373         (open_temp, fopen_temp): Use _O_TEMPORARY when supported.
59374
59375 2007-02-14  Bruno Haible  <bruno@clisp.org>
59376
59377         * modules/mbspcasecmp-tests: New file.
59378         * tests/test-mbspcasecmp.sh: New file.
59379         * tests/test-mbspcasecmp.c: New file.
59380
59381         New module mbspcasecmp.
59382         * modules/mbspcasecmp: New file.
59383         * lib/mbspcasecmp.c: New file.
59384         * lib/string_.h (strncasecmp): Change warning message.
59385         (mbspcasecmp): New declaration.
59386         * m4/mbspcasecmp.m4: New file.
59387         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
59388         GNULIB_MBSPCASECMP.
59389         * modules/string (string.h): Also substitute GNULIB_MBSPCASECMP.
59390         * MODULES.html.sh (Internationalization functions): Add mbspcasecmp.
59391
59392 2007-02-14  Bruno Haible  <bruno@clisp.org>
59393
59394         * modules/mbsncasecmp-tests: New file.
59395         * tests/test-mbsncasecmp.sh: New file.
59396         * tests/test-mbsncasecmp.c: New file.
59397
59398         New module mbsncasecmp.
59399         * modules/mbsncasecmp: New file.
59400         * lib/mbsncasecmp.c: New file.
59401         * lib/string_.h (mbsncasecmp): New declaration.
59402         * m4/mbsncasecmp.m4: New file.
59403         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
59404         GNULIB_MBSNCASECMP.
59405         * modules/string (string.h): Also substitute GNULIB_MBSNCASECMP.
59406         * MODULES.html.sh (Internationalization functions): Add mbsncasecmp.
59407
59408 2007-02-14  Paul Eggert  <eggert@cs.ucla.edu>
59409
59410         * lib/exclude.c (FNM_EXTMATCH): Define if system does not.
59411         Verify that it doesn't overlap with our flags.
59412         (fnmatch_no_wildcards): Don't use strcasecmp or strncasecmp, which
59413         do not have the desired effect in multibyte locales; instead, use
59414         mbscasecmp.
59415         * modules/exclude (Depends-on): Depend on mbscasecmp, not strcase.
59416         Add dependency on xalloc.  Depend on fnmatch, not fnmatch-gnu, since
59417         we don't require GNU fnmatch ourselves (if our users require it, they
59418         should do so explicitly).
59419
59420         Fix regex code so it doesn't rely on strcasecmp.
59421         * lib/regex_internal.h: Include <langinfo.h> only if _LIBC is defined.
59422         Otherwise, include gnulib's langinfo.h.
59423         * lib/regcomp.c (init_dfa): Don't use strcasecmp, as it can have
59424         undesirable behavior in non-C locales.  Instead, rely on localecharset.
59425         * m4/regex.m4 (gl_PREREQ_REGEX): Don't require AM_LANGINFO_CODESET.
59426         * modules/regex (FILES): Remove m4/codeset.m4.
59427         (Depends-on): Add localcharset.  Remove strcase.
59428
59429 2007-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59430
59431         * m4/unlinkdir.m4 (gl_UNLINKDIR): Fix m4 quoting bug.
59432         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
59433
59434 2007-02-13  Bruno Haible  <bruno@clisp.org>
59435
59436         * m4/intdiv0.m4 (gt_INTDIV0): Assume ANSI C. Fix underquoting bug.
59437         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
59438
59439 2007-02-12  Bruno Haible  <bruno@clisp.org>
59440
59441         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
59442         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): If
59443         GNULIB_POSIXCHECK and the gnulib module not enabled, provoke a link-
59444         time warning rather than a link error.
59445
59446 2007-02-12  Bruno Haible  <bruno@clisp.org>
59447
59448         * m4/locale-fr.m4 (gt_LOCALE_FR): Fix m4 quoting bug.
59449         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
59450         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
59451
59452 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
59453
59454         * lib/string_.h (strncasecmp): Fix typo: this macro takes 3
59455         args, not 2.
59456
59457 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
59458
59459         New module 'time', so that apps can include <time.h> as per
59460         POSIX and GNU instead of separate include files like time_r.h
59461         and timegm.h.  This implementation tries out a simpler approach
59462         for replacing decls in standard include files (as compared to
59463         the string module), somewhat as an experiment.
59464
59465         * config/srclist.txt: Comment out mktime.c for now.
59466         * doc/gnulib-tool.texi (Initial import): Don't use time_r as an example
59467         since it doesn't apply any more.  Use generic wording instead.
59468         * MODULES.html.sh (Support for systems lacking POSIX:2001): New module
59469         'time'.
59470         * lib/time_.h, m4/time_h.m4, modules/time: New files.
59471         * lib/strptime.h, lib/time_r.h, lib/timegm.h: Remove.
59472         * lib/mktime.c: Include config.h depending on _LIBC, not HAVE_CONFIG_H.
59473         Don't include <sys/types.h>; no longer needed since we assume C89.
59474         * lib/mktime.c: Don't include "time_r.h"; no longer needed.
59475         * lib/strftime.c: Likewise.
59476         * lib/time_r.c: Likewise.
59477         * lib/nanosleep.c (nanosleep): #undef after include files, not before.
59478         * lib/nanosleep.c: Include <time.h> first, to check interface.
59479         * lib/strptime.c: Likewise.
59480         * lib/time_r.c: Likewise.
59481         * lib/timegm.c: Likewise.
59482         * lib/strptime.c: Don't include strptime.h or time_r.h; no longer
59483         needed.
59484         * lib/timegm.c: Don't include timegm.h; no longer needed.
59485         * lib/timespec.h: Don't include <sys/time.h> before <time.h>;
59486         time.h now handles any problems in that area.
59487         (struct timespec, nanosleep): Remove; time.h now arranges for these.
59488         * lib/xnanosleep.c: Don't include timespec.h; no longer needed now
59489         that time.h defines struct timespec.
59490         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check that nanosleep is declared.
59491         Set REPLACE_NANOSLEEP.  Don't AC_DEFINE nanosleep; the time module now
59492         handles that.
59493         * m4/strptime.m4 (gl_FUNC_STPRTIME): Set REPLACE_STRPTIME.
59494         * m4/time_r.m4 (gl_TIME_R): Don't define HAVE_TIME_R_POSIX; no longer
59495         needed.  Set REPLACE_LOCALTIME.
59496         * m4/timegm.m4 (gl_FUNC_TIMEGM): Set REPLACE_TIMEGM.
59497         * m4/timespec.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Move to time_h.m4.
59498         (gl_TIMESPEC): Don't check for sys/time.h or struct timespec or
59499         nanosleep; time_h.m4 now does that.  Don't require
59500         gl_USE_SYSTEM_EXTENSIONS; no longer needed directly, and the time
59501         module handles this now.
59502         * modules/getdate (Depends-on): Remove timespec.  Add time.
59503         * modules/nanosleep (Depends-on): Likewise.
59504         * modules/stat-time (Depends-on): Likewise.
59505         * modules/nanosleep (Include): Include time.h, not timespec.h.
59506         * modules/strptime (Files): Remove lib/strptime.h.
59507         (Depends-on): Add extensions, time.
59508         (Include): Include time.h, not strptime.h.
59509         * modules/time_r (Files): Remove lib/time_r.h.
59510         (Depends-on): Add time.
59511         (Include): Include time.h, not time_r.h.
59512         * modules/timegm: Likewise.
59513         * modules/timespec (Description): Now does timespec-related decls
59514         of our own, instead of struct timespec itself.
59515         (Depends-on): Add time; remove extensions.
59516         (Maintainer): Add self.
59517         * modules/utimecmp (Depends-on): Add time; remove timespec.
59518         * modules/utimens (Depends-on): Likewise.
59519         * modules/xnanosleep (Depends-on): Likewise.
59520
59521 2007-02-11  Bruno Haible  <bruno@clisp.org>
59522
59523         * lib/c-strstr.c: Include allocsa.h.
59524         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
59525         * lib/c-strcasestr.c: Include allocsa.h.
59526         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
59527         * lib/strcasestr.c: Include allocsa.h.
59528         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
59529         * lib/mbsstr.c: Include allocsa.h.
59530         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
59531         allocsa/freesa instead of malloc/free.
59532         * lib/mbscasestr.c: Include allocsa.h.
59533         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
59534         allocsa/freesa instead of malloc/free.
59535         * modules/c-strstr (Depends-on): Add allocsa.
59536         * modules/c-strcasestr (Depends-on): Likewise.
59537         * modules/strcasestr (Depends-on): Likewise.
59538         * modules/mbsstr (Depends-on): Likewise.
59539         * modules/mbscasestr (Depends-on): Likewise.
59540
59541 2007-02-11  Bruno Haible  <bruno@clisp.org>
59542
59543         * lib/mbsspn.c (mbsspn): Fix bug. Remove unnecessary strlen call.
59544
59545         * modules/mbsspn-tests: New file.
59546         * tests/test-mbsspn.sh: New file.
59547         * tests/test-mbsspn.c: New file.
59548
59549 2007-02-11  Bruno Haible  <bruno@clisp.org>
59550
59551         * lib/mbspbrk.c (mbspbrk): Remove unneeded cast.
59552
59553         * modules/mbspbrk-tests: New file.
59554         * tests/test-mbspbrk.sh: New file.
59555         * tests/test-mbspbrk.c: New file.
59556
59557 2007-02-11  Bruno Haible  <bruno@clisp.org>
59558
59559         * lib/mbscspn.c (mbscspn): Remove unnecessary strlen call and
59560         unneeded cast.
59561
59562         * modules/mbscspn-tests: New file.
59563         * tests/test-mbscspn.sh: New file.
59564         * tests/test-mbscspn.c: New file.
59565
59566 2007-02-11  Bruno Haible  <bruno@clisp.org>
59567
59568         * modules/mbscasecmp-tests: New file.
59569         * tests/test-mbscasecmp.sh: New file.
59570         * tests/test-mbscasecmp.c: New file.
59571
59572 2007-02-11  Bruno Haible  <bruno@clisp.org>
59573
59574         Ensure O(n) worst-case complexity of mbscasestr.
59575         * lib/mbscasestr.c: Include stdbool.h.
59576         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
59577         functions.
59578         (mbscasestr): Add some bookkeeping. Invoke knuth_morris_pratt_* when
59579         the bookkeeping indicates that it's worth it.
59580         * modules/mbscasestr (Depends-on): Add stdbool, mbslen, strnlen.
59581
59582         * modules/mbscasestr-tests: New file.
59583         * tests/test-mbscasestr1.c: New file.
59584         * tests/test-mbscasestr2.sh: New file.
59585         * tests/test-mbscasestr2.c: New file.
59586         * tests/test-mbscasestr3.sh: New file.
59587         * tests/test-mbscasestr3.c: New file.
59588         * tests/test-mbscasestr4.sh: New file.
59589         * tests/test-mbscasestr4.c: New file.
59590         * m4/locale-tr.m4: New file.
59591
59592 2007-02-11  Bruno Haible  <bruno@clisp.org>
59593
59594         Ensure O(n) worst-case complexity of mbsstr.
59595         * lib/mbsstr.c: Include stdbool.h.
59596         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
59597         functions.
59598         (mbsstr): Add some bookkeeping. Invoke knuth_morris_pratt_* when the
59599         bookkeeping indicates that it's worth it.
59600         * modules/mbsstr (Depends-on): Add stdbool, mbslen, strnlen.
59601
59602         * modules/mbsstr-tests: New file.
59603         * tests/test-mbsstr1.c: New file.
59604         * tests/test-mbsstr2.sh: New file.
59605         * tests/test-mbsstr2.c: New file.
59606         * tests/test-mbsstr3.sh: New file.
59607         * tests/test-mbsstr3.c: New file.
59608         * m4/locale-fr.m4: New file.
59609
59610 2007-02-11  Bruno Haible  <bruno@clisp.org>
59611
59612         * lib/mbsrchr.c (mbsrchr): Fix bug.
59613
59614         * modules/mbsrchr-tests: New file.
59615         * tests/test-mbsrchr.sh: New file.
59616         * tests/test-mbsrchr.c: New file.
59617
59618 2007-02-11  Bruno Haible  <bruno@clisp.org>
59619
59620         * lib/mbschr.c (mbschr): Fix bug.
59621
59622         * modules/mbschr-tests: New file.
59623         * tests/test-mbschr.sh: New file.
59624         * tests/test-mbschr.c: New file.
59625         * m4/locale-zh.m4: New file.
59626
59627 2007-02-11  Bruno Haible  <bruno@clisp.org>
59628
59629         Support for copying multibyte string iterators.
59630         * lib/mbiter.h: Include <string.h>.
59631         (mbiter_multi_copy): New function.
59632         (mbi_copy): New macro.
59633         * lib/mbuiter.h: Include <string.h>.
59634         (mbuiter_multi_copy): New function.
59635         (mbui_copy): New macro.
59636
59637 2007-02-11  Bruno Haible  <bruno@clisp.org>
59638
59639         New module mbslen.
59640         * modules/mbslen: New file.
59641         * lib/mbslen.c: New file.
59642         * lib/string_.h (mbslen): New declaration.
59643         * m4/mbslen.m4: New file.
59644         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
59645         GNULIB_MBSLEN.
59646         * modules/string (string.h): Also substitute GNULIB_MBSLEN.
59647         * MODULES.html.sh (Internationalization functions): Add mbslen.
59648
59649 2007-02-11  Bruno Haible  <bruno@clisp.org>
59650
59651         Ensure O(n) worst-case complexity of strcasestr substitute.
59652         * lib/strcasestr.c: Include stdbool.h.
59653         (knuth_morris_pratt): New function.
59654         (strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when the
59655         bookkeeping indicates that it's worth it.
59656         * modules/strcasestr (Depends-on): Add stdbool, strnlen.
59657
59658         * modules/strcasestr-tests: New file.
59659         * tests/test-strcasestr.c: New file.
59660
59661 2007-02-11  Bruno Haible  <bruno@clisp.org>
59662
59663         Ensure O(n) worst-case complexity of c_strcasestr.
59664         * lib/c-strcasestr.c: Include stdbool.h, string.h.
59665         (knuth_morris_pratt): New function.
59666         (c_strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when
59667         the bookkeeping indicates that it's worth it.
59668         * modules/c-strcasestr (Depends-on): Add stdbool, strnlen.
59669
59670         * modules/c-strcasestr-tests: New file.
59671         * tests/test-c-strcasestr.c: New file.
59672
59673 2007-02-11  Bruno Haible  <bruno@clisp.org>
59674
59675         Ensure O(n) worst-case complexity of c_strstr.
59676         * lib/c-strstr.c: Include stdbool.h, string.h.
59677         (knuth_morris_pratt): New function.
59678         (c_strstr): Add some bookkeeping. Invoke knuth_morris_pratt when the
59679         bookkeeping indicates that it's worth it.
59680         * modules/c-strstr (Depends-on): Add stdbool, strnlen.
59681
59682         * lib/c-strstr.c: Complete rewrite for maintainability.
59683
59684         * modules/c-strstr-tests: New file.
59685         * tests/test-c-strstr.c: New file.
59686
59687 2007-02-11  Bruno Haible  <bruno@clisp.org>
59688
59689         * m4/javacomp.m4 (gt_JAVACOMP): Work around a 'tr' bug in coreutils
59690         5.2.1 and earlier, whereby \055 was treated just like the range
59691         delimiter '-'.
59692         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
59693
59694 2007-02-08  Bruno Haible  <bruno@clisp.org>
59695
59696         * modules/regex (Depends-on): Add stdbool.
59697         Reported by Dalibor Topic <robilad@kaffe.org>.
59698
59699 2007-02-05  Paul Eggert  <eggert@cs.ucla.edu>
59700
59701         * m4/regex.m4 (gl_REGEX): Check for glibc bug #3957.
59702         Prefer returning from main to exiting from it.
59703         Remove unnecessary parens after sizeof.
59704
59705 2007-02-05  Bruno Haible  <bruno@clisp.org>
59706
59707         New module mbssep.
59708         * modules/mbssep: New file.
59709         * lib/mbssep.c: New file.
59710         * lib/string_.h (strsep): Add a conditional link warning.
59711         (mbssep): New declaration.
59712         * m4/mbssep.m4: New file.
59713         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
59714         GNULIB_MBSSEP.
59715         * modules/string (string.h): Also substitute GNULIB_MBSSEP.
59716         * MODULES.html.sh (Internationalization functions): Add mbssep.
59717
59718 2007-02-05  Bruno Haible  <bruno@clisp.org>
59719
59720         * lib/strsep.c (strsep): Fix actions in case of no delimiters.
59721         Optimize search in case of 1 delimiter.
59722
59723 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
59724
59725         * lib/acl.h: Include sys/types.h before sys/acl.h.
59726
59727 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
59728
59729         Merge upstream fix for glibc bugzilla #3957:
59730
59731         2007-02-05  Jakub Jelinek  <jakub@redhat.com>
59732
59733         * lib/regcomp.c (parse_bracket_exp): Set '\n' bit rather than '\0'
59734         bit for RE_HAT_LISTS_NOT_NEWLINE.
59735         (build_charclass_op): Remove bogus comment.
59736
59737 2007-02-05  Simon Josefsson  <simon@josefsson.org>
59738
59739         * lib/gc.h, lib/gc-libgcrypt.c: Support SHA-256/384/512.
59740
59741 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
59742
59743         * lib/getsubopt.c [!_LIBC]: Include config.h and getsubopt.h.
59744         * lib/memmem.c [!defined _LIBC]: Include config.h.
59745
59746 2007-02-04  Bruno Haible  <bruno@clisp.org>
59747
59748         * lib/string_.h (GL_LINK_WARNING2): Put the word "warning:" into the
59749         warning message.
59750
59751 2007-02-04  Bruno Haible  <bruno@clisp.org>
59752
59753         New module mbstok_r.
59754         * modules/mbstok_r: New file.
59755         * lib/mbstok_r.c: New file.
59756         * lib/string_.h (strtok_r): Change argument names to match the
59757         comments. Add a conditional link warning.
59758         (mbstok_r): New declaration.
59759         * m4/mbstok_r.m4: New file.
59760         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
59761         GNULIB_MBSTOK_R.
59762         * modules/string (string.h): Also substitute GNULIB_MBSTOK_R.
59763         * MODULES.html.sh (Internationalization functions): Add mbstok_r.
59764
59765 2007-02-04  Bruno Haible  <bruno@clisp.org>
59766
59767         New module mbsspn.
59768         * modules/mbsspn: New file.
59769         * lib/mbsspn.c: New file.
59770         * lib/string_.h (strspn): Add a conditional link warning.
59771         (mbsspn): New declaration.
59772         * m4/mbsspn.m4: New file.
59773         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
59774         GNULIB_MBSSPN.
59775         * modules/string (string.h): Also substitute GNULIB_MBSSPN.
59776         * MODULES.html.sh (Internationalization functions): Add mbsspn.
59777
59778 2007-02-04  Bruno Haible  <bruno@clisp.org>
59779
59780         New module mbspbrk.
59781         * modules/mbspbrk: New file.
59782         * lib/mbspbrk.c: New file.
59783         * lib/string_.h (strpbrk): Add a conditional link warning.
59784         (mbspbrk): New declaration.
59785         * m4/mbspbrk.m4: New file.
59786         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
59787         GNULIB_MBSPBRK.
59788         * modules/string (string.h): Also substitute GNULIB_MBSPBRK.
59789         * MODULES.html.sh (Internationalization functions): Add mbspbrk.
59790
59791 2007-02-04  Bruno Haible  <bruno@clisp.org>
59792
59793         New module mbscspn.
59794         * modules/mbscspn: New file.
59795         * lib/mbscspn.c: New file.
59796         * lib/string_.h (strcspn): Add a conditional link warning.
59797         (mbscspn): New declaration.
59798         * m4/mbscspn.m4: New file.
59799         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
59800         GNULIB_MBSCSPN.
59801         * modules/string (string.h): Also substitute GNULIB_MBSCSPN.
59802         * MODULES.html.sh (Internationalization functions): Add mbscspn.
59803
59804 2007-02-04  Bruno Haible  <bruno@clisp.org>
59805
59806         New module mbscasestr, reduced goal of strcasestr.
59807         * modules/mbscasestr: New file.
59808         * lib/mbscasestr.c: New file, copied from lib/strcasestr.c.
59809         (mbscasestr): Renamed from strcasestr.
59810         * lib/strcasestr.c: Don't include mbuiter.h.
59811         (strcasestr): Remove support for multibyte locales.
59812         * lib/string_.h (strcasestr): Don`t rename. Declare only if missing.
59813         Change the conditional link warning.
59814         (mbscasestr): New declaration.
59815         * m4/mbscasestr.m4: New file.
59816         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Enable the replacement only if
59817         the system does not have strcasestr. Set HAVE_STRCASESTR instead of
59818         REPLACE_STRCASESTR.
59819         (gl_PREREQ_STRCASESTR): Don't require gl_FUNC_MBRTOWC.
59820         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
59821         HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
59822         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSCASESTR.
59823         * modules/string (string.h): Also substitute GNULIB_MBSCASESTR.
59824         Substitute HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
59825         * modules/strcasestr (Files): Remove m4/mbrtowc.m4.
59826         (Depends-on): Remove mbuiter.
59827         * MODULES.html.sh (Internationalization functions): Add mbscasestr.
59828
59829 2007-02-04  Bruno Haible  <bruno@clisp.org>
59830
59831         Simplify handling of strncasecmp.
59832         * lib/string_.h (strncasecmp): Remove test for GNULIB_STRCASE. Change
59833         the conditional link warning.
59834         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
59835         HAVE_STRCASECMP, not REPLACE_STRCASECMP.
59836         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Don't initialize GNULIB_STRCASE.
59837         * modules/strcase (configure.ac): Don't invoke
59838         gl_STRING_MODULE_INDICATOR.
59839         * modules/string (string.h): Don't substitute GNULIB_STRCASE.
59840
59841 2007-02-04  Bruno Haible  <bruno@clisp.org>
59842
59843         New module mbscasecmp, reduced goal of strcasecmp.
59844         * modules/mbscasecmp: New file.
59845         * lib/mbscasecmp.c: New file, copied from lib/strcasecmp.c.
59846         (mbscasecmp): Renamed from strcasecmp.
59847         * lib/strcasecmp.c: Don't include mbuiter.h.
59848         (strcasecmp): Remove support for multibyte locales.
59849         * lib/string_.h (strcasecmp): Don`t rename. Declare only if missing.
59850         Change the conditional link warning.
59851         (mbscasecmp): New declaration.
59852         * m4/mbscasecmp.m4: New file.
59853         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Enable the replacement only if
59854         the system lacks strcasecmp. Set HAVE_STRCASECMP instead of
59855         REPLACE_STRCASECMP.
59856         (gl_PREREQ_STRCASECMP): Don't require gl_FUNC_MBRTOWC.
59857         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
59858         GNULIB_MBSCASECMP.
59859         * modules/string (string.h): Also substitute GNULIB_MBSCASECMP.
59860         Substitute HAVE_STRCASECMP instead of REPLACE_STRCASECMP.
59861         * modules/strcase (Files): Remove m4/mbrtowc.m4.
59862         (Depends-on): Remove mbuiter.
59863         * MODULES.html.sh (Internationalization functions): Add mbscasecmp.
59864
59865 2007-02-04  Bruno Haible  <bruno@clisp.org>
59866
59867         New module mbsstr. Remove module strstr.
59868         * modules/mbsstr: New file.
59869         * modules/strstr: Remove file.
59870         * lib/mbsstr.c: Renamed from lib/strstr.c.
59871         (mbsstr): Renamed from strstr.
59872         * lib/string_.h (strstr): Remove declaration. Change the conditional
59873         link warning.
59874         (mbsstr): New declaration.
59875         * m4/mbsstr.m4: New file.
59876         * m4/strstr.m4: Remove file.
59877         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
59878         REPLACE_STRSTR.
59879         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSSTR.
59880         Don't initialize GNULIB_STRSTR.
59881         * modules/string (string.h): Also substitute GNULIB_MBSSTR. Don't
59882         substitute GNULIB_STRSTR and REPLACE_STRSTR.
59883         * MODULES.html.sh (Internationalization functions): Add mbsstr.
59884         (Support for systems lacking ANSI C 89): Remove strstr.
59885
59886 2007-02-04  Bruno Haible  <bruno@clisp.org>
59887
59888         New module mbsrchr.
59889         * modules/mbsrchr: New file.
59890         * lib/mbsrchr.c: New file.
59891         * lib/string_.h (strrchr): Add a conditional link warning.
59892         (mbsrchr): New declaration.
59893         * m4/mbsrchr.m4: New file.
59894         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
59895         GNULIB_MBSRCHR.
59896         * modules/string (string.h): Also substitute GNULIB_MBSRCHR.
59897         * MODULES.html.sh (Internationalization functions): Add mbsrchr.
59898
59899 2007-02-04  Bruno Haible  <bruno@clisp.org>
59900
59901         New module mbschr.
59902         * modules/mbschr: New file.
59903         * lib/mbschr.c: New file.
59904         * lib/string_.h (strchr): Add a conditional link warning.
59905         (mbschr): New declaration.
59906         * m4/mbschr.m4: New file.
59907         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
59908         GNULIB_MBSCHR.
59909         * modules/string (string.h): Also substitute GNULIB_MBSCHR.
59910         * MODULES.html.sh (Internationalization functions): Add mbschr.
59911
59912 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
59913
59914         * lib/stdbool_.h: Mention that bool bit-fields aren't supported.
59915
59916         * modules/stdarg (configure.ac-early): Require AC_PROG_CC_STDC.
59917
59918 2007-02-04  Bruno Haible  <bruno@clisp.org>
59919
59920         New module description section 'configure.ac-early'.
59921         * gnulib-tool (sed_extract_prog): Recognize configure.ac-early.
59922         (func_get_autoconf_early_snippet): New function.
59923         (func_import, func_create_testdir): Use it. Remove special cases for
59924         modules 'extensions' and 'lock'.
59925         * modules/extensions (configure.ac-early): Require
59926         gl_USE_SYSTEM_EXTENSIONS.
59927         * modules/lock (configure.ac-early): Require gl_LOCK_EARLY.
59928
59929 2007-02-04  Bruno Haible  <bruno@clisp.org>
59930
59931         Make use of gcj-4.3's -fsource and -ftarget option.
59932         * m4/javacomp.m4 (gt_JAVACOMP): Test whether gcj is in version >= 4.3,
59933         and if so try the options -fsource and -ftarget.
59934         * lib/javacomp.c (compile_using_gcj): Add fsource_option,
59935         source_version, ftarget_option, target_version arguments.
59936         (is_envjavac_gcj43, is_envjavac_gcj43_usable): New functions.
59937         (is_envjavac_oldgcj_14_14_usable): Renamed from
59938         is_envjavac_gcj_14_14_usable.
59939         (is_envjavac_oldgcj_14_13_usable): Renamed from
59940         is_envjavac_gcj_14_13_usable.
59941         (is_gcj_present): Update.
59942         (is_gcj_43, is_gcj43_usable): New functions.
59943         (is_oldgcj_14_14_usable): Renamed from is_gcj_14_14_usable. Update.
59944         (is_oldgcj_14_13_usable): Renamed from is_gcj_14_13_usable. Update.
59945         (compile_java_class): Test whether gcj is in version >= 4.3, and if so
59946         try the options -fsource and -ftarget.
59947
59948 2007-02-03  Paul Eggert  <eggert@cs.ucla.edu>
59949
59950         * lib/xalloc.h (x2nrealloc): Fix an unlikely bug in the overflow
59951         checking code.  Set N = ceil (1.5 * N) rather than to a slightly
59952         larger value.
59953
59954 2007-02-03  Jim Meyering  <jim@meyering.net>
59955
59956         Give tools a better chance to allocate space for very large buffers.
59957         * lib/xalloc.h (x2nrealloc): Use 3/2, not 2, as buffer size factor.
59958
59959         Make pwd and readlink work also when run with an unreadable parent dir
59960         on systems with openat support.
59961         * lib/getcwd.c (__getcwd) [HAVE_PARTLY_WORKING_GETCWD]: Use the system
59962         provided getcwd function, even when we have openat support.
59963         Reported by Dmitry V. Levin in <http://bugzilla.redhat.com/227168>.
59964
59965 2007-02-02  Bruno Haible  <bruno@clisp.org>
59966
59967         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
59968         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): Provoke a link
59969         error only if GNULIB_POSIXCHECK is defined. Needed to avoid artificial
59970         portability problems if one of these functions is only used on specific
59971         platforms.
59972         Reported by Paul Eggert.
59973
59974 2007-02-02  Paul Eggert  <eggert@cs.ucla.edu>
59975
59976         Avoid mempcpy in the regex code, as the string.h mempcpy stuff
59977         is causing more trouble than it's curing.
59978         * lib/regex_internal.h (__mempcpy): Remove.
59979         * lib/regcomp.c (regerror): Rewrite to avoid the need for mempcpy
59980         (and make the code a tad smaller to boot).
59981         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for mempcpy.
59982
59983 2007-02-02  Jim Meyering  <jim@meyering.net>
59984
59985         * modules/arpa_inet: Put AC_PROG_MKDIR_P in the configure.ac:
59986         section, not in the Makefile.am: one.
59987
59988 2007-02-02  Eric Blake  <ebb9@byu.net>
59989
59990         * lib/strchrnul.c: Always include config.h first.
59991
59992         * modules/mountlist (Depends-on): Revert 2007-01-31 change,
59993         gnulib strstr is not necessary here.
59994
59995 2007-02-02  Simon Josefsson  <simon@josefsson.org>
59996
59997         * m4/socklen.m4: Fix typo.
59998
59999 2007-02-02  Eric Blake  <ebb9@byu.net>
60000
60001         * modules/arpa_inet (Makefile.am): Use MKDIR_P to avoid races.
60002         * modules/netinet_in (Makefile.am): Likewise.
60003
60004 2007-02-01  Bruno Haible  <bruno@clisp.org>
60005
60006         * lib/string_.h (GL_LINK_WARNING): New macro.
60007         (strcasecmp, strstr, strcasestr): If provided by the system,
60008         conditionally define as a macro that leads to a warning instead of to
60009         an error.
60010         (strncasecmp): Conditionally define as a macro that leads to a warning.
60011
60012 2007-02-01  Karl Berry  <karl@gnu.org>
60013
60014         * config/srclist.txt (strtok_r.c): lose sync, no more strtok_r.h.
60015
60016 2007-02-01  Bruno Haible  <bruno@clisp.org>
60017
60018         * MODULES.html.sh (Unicode string functions): Update after 2007-01-27
60019         renamings.
60020
60021 2007-02-01  Eric Blake  <ebb9@byu.net>
60022
60023         * modules/regex (Depends-on): Revert dependence on mempcpy.
60024         * lib/regex_internal.h [! _LIBC && !__mempcpy]: Undo string
60025         module's definition of mempcpy.
60026         Reported by Paul Eggert.
60027
60028 2007-02-01  Paul Eggert  <eggert@cs.ucla.edu>
60029
60030         * lib/string_.h: If the gnulib module XYZ is not present, undefine
60031         the symbol XYZ before redefining it.  This fixes a problem with
60032         programs that don't use XYZ, when compiled on systems that define
60033         XYZ to something else.
60034
60035 2007-01-31  Paul Eggert  <eggert@cs.ucla.edu>
60036
60037         * lib/mkdir-p.c (make_dir_parents): Close a race condition that
60038         occurs when "mkdir -m foo" creates a setgid directory that is (1)
60039         writeable to group or other and (2) is intended to have a special
60040         mode bit that is set or cleared.  In such a case, the directory
60041         should be neither group- nor other-writeable until the special
60042         mode bits are right.
60043
60044 2007-01-31  Eric Blake  <ebb9@byu.net>
60045
60046         * modules/mountlist (Depends-on): Add strstr.
60047
60048         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Correct m4 usage
60049         bug.
60050         * modules/string (Makefile.am): Remove redundant replacement.
60051         * modules/regex (Depends-on): Add mempcpy.
60052
60053 2007-01-31  Bruno Haible  <bruno@clisp.org>
60054
60055         New module description field 'Link'.
60056         * gnulib-tool (func_usage): Document --extract-link-directive.
60057         (sed_extract_prog): Recognize 'Link' directive.
60058         (func_get_link_directive): New function.
60059         (func_import): Show summary of link directives.
60060         Handle --extract-link-directive option.
60061         * modules/acl (Link): New section.
60062         * modules/clock-time (Link): New section.
60063         * modules/euidaccess (Link): New section.
60064         * modules/gettext (Link): New section.
60065         * modules/iconv (Link): New section.
60066         * modules/lock (Link): New section.
60067         * modules/nanosleep (Link): New section.
60068         * modules/readline (Link): New section.
60069
60070 2007-01-27  Bruno Haible  <bruno@clisp.org>
60071
60072         Enforce the use of gnulib modules for unportable <string.h> functions.
60073         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): New macro.
60074         (gl_STRING_MODULE_INDICATOR_DEFAULTS): New macro.
60075         (gl_HEADER_STRING_H_BODY): Require it.
60076         * lib/string_.h: If the gnulib module XYZ is not present, redefine
60077         the symbol XYZ to one that gives a link error.
60078         * modules/string (Makefile.am): Also substitute the GNULIB_* variables.
60079         * modules/memmem (configure.ac): Invoke gl_STRING_MODULE_INDICATOR.
60080         * modules/mempcpy (configure.ac): Likewise.
60081         * modules/memrchr (configure.ac): Likewise.
60082         * modules/stpcpy (configure.ac): Likewise.
60083         * modules/stpncpy (configure.ac): Likewise.
60084         * modules/strcase (configure.ac): Likewise.
60085         * modules/strcasestr (configure.ac): Likewise.
60086         * modules/strchrnul (configure.ac): Likewise.
60087         * modules/strdup (configure.ac): Likewise.
60088         * modules/strndup (configure.ac): Likewise.
60089         * modules/strnlen (configure.ac): Likewise.
60090         * modules/strpbrk (configure.ac): Likewise.
60091         * modules/strsep (configure.ac): Likewise.
60092         * modules/strstr (configure.ac): Likewise.
60093         * modules/strtok_r (configure.ac): Likewise.
60094
60095 2007-01-31  Jean-Louis Martineau  <martineau@zmanda.com>  (tiny change)
60096
60097         * lib/gai_strerror.c (values): Add EAI_OVERFLOW.
60098
60099 2007-01-30  Jim Meyering  <jim@meyering.net>
60100
60101         * lib/mpsort.c (mpsort): Remove spurious "return" in void function.
60102
60103 2007-01-29  Bruno Haible  <bruno@clisp.org>
60104
60105         * lib/allocsa.h: Use '#if HAVE_*' instead of '#ifdef HAVE_*'.
60106         * lib/execute.c: Likewise.
60107         * lib/pipe.c: Likewise.
60108         * lib/printf-args.h: Likewise.
60109         * lib/printf-args.c: Likewise.
60110         * lib/printf-parse.c: Likewise.
60111         * lib/vasnprintf.c: Likewise.
60112
60113 2007-01-29  Eric Blake  <ebb9@byu.net>
60114
60115         * lib/memrchr.c: Assume <string.h> unconditionally, to pull in
60116         declaration.
60117
60118 2007-01-29  Paul Eggert  <eggert@cs.ucla.edu>
60119
60120         * lib/strptime.h (strptime): Use 'restrict' for args where
60121         POSIX requires this.
60122         * lib/strptime.c (strptime): Likewise.
60123         Change license notice from LGPL to GPL, since gnulib-tool will
60124         change this as needed.
60125         Include <config.h> if _LIBC is not defined, not if HAVE_CONFIG_H is
60126         defined.
60127         Include "strptime.h" first, to check interface.
60128         Do not #undef _LIBC and _NL_CURRENT.
60129         Do not include <stdlib.h>; no longer needed.
60130         Include "time_r.h" and declare ptime_locale_status
60131         only if _LIBC is not defined.
60132         (__P): Remove unused macro.
60133         (match_string): Bring back glibc version, but use it only if _LIBC
60134         is defined.
60135         (__strptime_internal): Compile tm_gmtoff code if _LIBC is defined, too.
60136         Remove unnecessary assertion and abort() call.
60137         Use #ifdef _NL_CURRENT rather than #if 0, for benefit of glibc.
60138         * m4/strptime.m4: Fix serial number comment.
60139         (gl_FUNC_STRPTIME): Require AC_C_RESTRICT, gl_TM_GMTOFF.
60140         * modules/strptime (Files): Add m4/tm_gmtoff.m4.
60141         (Depends-on): Add time_r.
60142
60143 2007-01-29  Bruno Haible  <bruno@clisp.org>
60144
60145         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
60146         strptime.
60147         * modules/strptime (Depends-on): Add stdbool.
60148         * lib/strptime.h: Include <time.h> always. Add comments.
60149
60150 2007-01-29  Yoann Vandoorselaere  <yoann@prelude-ids.org>
60151
60152         * modules/strptime: New file.
60153         * lib/strptime.h: New file.
60154         * lib/strptime.c: New file.
60155         * m4/strptime.m4: New file.
60156
60157 2007-01-28  Paul Eggert  <eggert@cs.ucla.edu>
60158
60159         * MODULES.html.sh: New module mpsort.
60160         * lib/mpsort.c, lib/mpsort.h, m4/mpsort.m4, modules/mpsort: New files.
60161
60162         * lib/regex.h (_Restrict_): Renamed from __restrict, to avoid
60163         a circularity problem with HP-UX ia64 reported by Bob Proulx in
60164         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00394.html>.
60165         All uses changed.
60166         (_Restrict_arr_): Renamed from __restrict_arr, for similar reasons.
60167         All uses changed.
60168         * lib/regcomp.c, lib/regexec.c: Change all uses from __restrict
60169         to _Restrict_.
60170         * lib/regexec.c (regexec): Declare pmatch with _Restrict_arr_, so that
60171         the parameter matches the prototype.
60172
60173 2007-01-28  Jim Meyering  <jim@meyering.net>
60174
60175         * modules/sys_time (Makefile.am) [MOSTLYCLEANFILES]: Do use
60176         sys/time.h here, reverting that part of the previous patch:
60177         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/8959>.
60178
60179 2007-01-28  Bruno Haible  <bruno@clisp.org>
60180
60181         * modules/sys_time (Makefile.am): Build sys/time.h only when it's the
60182         value of $(SYS_TIME_H).
60183         [MOSTLYCLEANFILES]: Now that sys/time.h is created only when needed,
60184         remove it conditionally, too. [added by Jim Meyering]
60185         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Set SYS_TIME_H.
60186         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
60187         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Set SYS_TIME_H when setting
60188         GETTIMEOFDAY_REPLACEMENT to 1.
60189
60190 2007-01-28  Bruno Haible  <bruno@clisp.org>
60191
60192         * m4/unistd_h.m4 (gl_HEADER_UNISTD_DEFAULTS): New macro.
60193         (gl_HEADER_UNISTD): Require it. Don't set UNISTD_H to empty here.
60194         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_HEADER_UNISTD_DEFAULTS.
60195         Set UNISTD_H instead of UNISTD_H2.
60196         * modules/fchdir (BUILT_SOURCES): Drop $(UNISTD_H2).
60197
60198 2007-01-28  Bruno Haible  <bruno@clisp.org>
60199
60200         * modules/mbchar (Makefile.am): Add mbchar.c to lib_SOURCES.
60201         * m4/mbchar.m4 (gl_MBCHAR): Remove AC_LIBOBJ invocation.
60202
60203 2007-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60204
60205         * gnulib-tool (func_emit_lib_Makefile_am, func_add_or_update)
60206         (func_create_testdir): Ensure C locale for `grep' and `tr'
60207         character ranges.
60208         (func_create_megatestdir): Avoid one `grep'.  Fix bug in
60209         ACLOCAL_AMFLAGS parsing state machine.
60210
60211 2007-01-27  Bruno Haible  <bruno@clisp.org>
60212
60213         * modules/unistr/base: Update.
60214
60215 2007-01-27  Bruno Haible  <bruno@clisp.org>
60216
60217         Rename u32-mbtouc -> u32-mbtouc-unsafe, u32-mbtouc-safe -> u32-mbtouc,
60218         u32_mbtouc -> u32_mbtouc_unsafe, u32_mbtouc_safe -> u32_mbtouc.
60219         * modules/unistr/u32-mbtouc-unsafe: Renamed from
60220         modules/unistr/u32-mbtouc.
60221         * lib/unistr/u32-mbtouc-unsafe.c: Renamed from lib/unistr/u32-mbtouc.c.
60222         * lib/unistr.h: Update.
60223         * lib/linebreak.c: Update.
60224         * modules/unistr/u32-mbtouc: Renamed from
60225         modules/unistr/u32-mbtouc-safe.
60226         * lib/unistr/u32-mbtouc.c: Renamed from lib/unistr/u32-mbtouc-safe.c.
60227         * lib/unistr.h: Update.
60228         * lib/unistr/u32-to-u8.c: Update.
60229         * lib/unistr/u32-to-u16.c: Update.
60230
60231 2007-01-27  Bruno Haible  <bruno@clisp.org>
60232
60233         Rename utf16-ucs4 -> utf16-ucs4-unsafe, utf16-ucs4-safe -> utf16-ucs4,
60234         u16_mbtouc -> u16_mbtouc_unsafe, u16_mbtouc_safe -> u16_mbtouc.
60235         * modules/utf16-ucs4-unsafe: Renamed from modules/utf16-ucs4.
60236         * lib/utf16-ucs4-unsafe.h: Renamed from lib/utf16-ucs4.h.
60237         * lib/unistr/utf16-ucs4-unsafe.c: Renamed from lib/unistr/utf16-ucs4.c.
60238         * modules/unistr/u16-mbtouc-unsafe: Renamed from
60239         modules/unistr/u16-mbtouc.
60240         * lib/unistr/u16-mbtouc-unsafe.c: Renamed from lib/unistr/u16-mbtouc.c.
60241         * lib/unistr.h: Update.
60242         * lib/linebreak.c: Update.
60243         * modules/linebreak: Update.
60244         * modules/utf16-ucs4: Renamed from modules/utf16-ucs4-safe.
60245         * lib/utf16-ucs4.h: Renamed from lib/utf16-ucs4-safe.h.
60246         * lib/unistr/utf16-ucs4.c: Renamed from lib/unistr/utf16-ucs4-safe.c.
60247         * modules/unistr/u16-mbtouc: Renamed from
60248         modules/unistr/u16-mbtouc-safe.
60249         * lib/unistr/u16-mbtouc.c: Renamed from lib/unistr/u16-mbtouc-safe.c.
60250         * lib/unistr.h: Update.
60251         * lib/unistr/u16-to-u8.c: Update.
60252         * modules/unistr/u16-to-u8: Update.
60253         * lib/unistr/u16-to-u32.c: Update.
60254         * modules/unistr/u16-to-u32: Update.
60255
60256 2007-01-27  Bruno Haible  <bruno@clisp.org>
60257
60258         Rename utf8-ucs4 -> utf8-ucs4-unsafe, utf8-ucs4-safe -> utf8-ucs4,
60259         u8_mbtouc -> u8_mbtouc_unsafe, u8_mbtouc_safe -> u8_mbtouc.
60260         * modules/utf8-ucs4-unsafe: Renamed from modules/utf8-ucs4.
60261         * lib/utf8-ucs4-unsafe.h: Renamed from lib/utf8-ucs4.h.
60262         * lib/unistr/utf8-ucs4-unsafe.c: Renamed from lib/unistr/utf8-ucs4.c.
60263         * modules/unistr/u8-mbtouc-unsafe: Renamed from
60264         modules/unistr/u8-mbtouc.
60265         * lib/unistr/u8-mbtouc-unsafe.c: Renamed from lib/unistr/u8-mbtouc.c.
60266         * lib/unistr.h: Update.
60267         * lib/striconveh.c: Update.
60268         * modules/striconveh: Update.
60269         * lib/linebreak.c: Update.
60270         * modules/linebreak: Update.
60271         * modules/utf8-ucs4: Renamed from modules/utf8-ucs4-safe.
60272         * lib/utf8-ucs4.h: Renamed from lib/utf8-ucs4-safe.h.
60273         * lib/unistr/utf8-ucs4.c: Renamed from lib/unistr/utf8-ucs4-safe.c.
60274         * modules/unistr/u8-mbtouc: Renamed from modules/unistr/u8-mbtouc-safe.
60275         * lib/unistr/u8-mbtouc.c: Renamed from lib/unistr/u8-mbtouc-safe.c.
60276         * lib/unistr.h: Update.
60277         * lib/striconveh.c: Update.
60278         * modules/striconveh: Update.
60279         * lib/unistr/u8-to-u16.c: Update.
60280         * modules/unistr/u8-to-u16: Update.
60281         * lib/unistr/u8-to-u32.c: Update.
60282         * modules/unistr/u8-to-u32: Update.
60283
60284 2007-01-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60285
60286         Sync from Libtool.
60287         * lib/argz.c: Do not include strings.h nor memory.h, include
60288         string.h unconditionally.  Patch by Simon Josefsson.
60289
60290 2007-01-27  Bruno Haible  <bruno@clisp.org>
60291
60292         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New macro, extracted
60293         from gl_HEADER_STRING_H_BODY.
60294         (gl_HEADER_STRING_H_BODY): Require it.
60295         * m4/memmem.m4 (gl_FUNC_MEMMEM): Require gl_HEADER_STRING_H_DEFAULTS.
60296         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
60297         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
60298         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
60299         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
60300         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Likewise.
60301         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
60302         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
60303         * m4/strdup.m4 (gl_FUNC_STRDUP): Likewise.
60304         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
60305         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
60306         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Likewise.
60307         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
60308         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
60309         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
60310
60311 2007-01-27  Bruno Haible  <bruno@clisp.org>
60312
60313         * gnulib-tool (func_emit_lib_Makefile_am): If $for_test is true, turn
60314         check_PROGRAMS into noinst_PROGRAMS.
60315         (func_emit_tests_Makefile_am): Likewise. Also don't initialize
60316         check_PROGRAMS in this case.
60317         (func_import): Set for_test to false.
60318         (func_create_testdir): Set for_test to true.
60319
60320 2007-01-27  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
60321             Bruno Haible  <bruno@clisp.org>
60322
60323         * modules/strcasestr (Files): Remove lib/strcasestr.h.
60324         (Depends-on): Add string.
60325         (Includes): Use <string.h> instead of strcasestr.h.
60326         * modules/string (Makefile.am): Also substitute the value of
60327         REPLACE_STRCASESTR.
60328         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Don't define strcasestr here;
60329         assume strcasestr is declared in <string.h> not <strings.h>. Also
60330         set REPLACE_STRCASESTR.
60331         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Provide a default value for
60332         REPLACE_STRCASESTR.
60333         * lib/strcasestr.h: Remove file.
60334         * lib/strcasestr.c: Include <string.h> instead of strcasestr.h.
60335         * lib/string_.h (strcasestr): New declaration.
60336
60337 2007-01-27  Bruno Haible  <bruno@clisp.org>
60338
60339         * lib/string_.h: Use 'extern'.
60340
60341 2007-01-27  Jim Meyering  <jim@meyering.net>
60342
60343         * lib/regex_internal.c (re_string_reconstruct): Remove declaration
60344         of set-but-not-used local, "q".
60345
60346         * lib/mempcpy.c: Include <config.h> before <string.h>.
60347         This fixes a compilation error on HP-UX, due to the system's
60348         "restrict"-using mempcpy prototype.
60349
60350 2007-01-26  Bruno Haible  <bruno@clisp.org>
60351
60352         Small optimization.
60353         * lib/javacomp.c: Include c-strstr.h.
60354          (is_envjavac_gcj): Use c_strstr instead of strstr.
60355         * modules/javacomp (Depends-on): Add c-strstr, remove strstr.
60356
60357 2007-01-26  Bruno Haible  <bruno@clisp.org>
60358
60359         * MODULES.html.sh (Unicode string functions): Add the new modules.
60360
60361         * modules/uniconv/u32-strconv-to-locale: New file.
60362         * lib/uniconv/u32-strconv-to-locale.c: New file.
60363
60364         * modules/uniconv/u16-strconv-to-locale: New file.
60365         * lib/uniconv/u16-strconv-to-locale.c: New file.
60366
60367         * modules/uniconv/u8-strconv-to-locale: New file.
60368         * lib/uniconv/u8-strconv-to-locale.c: New file.
60369
60370         * modules/uniconv/u32-strconv-from-locale: New file.
60371         * lib/uniconv/u32-strconv-from-locale.c: New file.
60372
60373         * modules/uniconv/u16-strconv-from-locale: New file.
60374         * lib/uniconv/u16-strconv-from-locale.c: New file.
60375
60376         * modules/uniconv/u8-strconv-from-locale: New file.
60377         * lib/uniconv/u8-strconv-from-locale.c: New file.
60378
60379         * modules/uniconv/u32-strconv-to-enc: New file.
60380         * lib/uniconv/u32-strconv-to-enc.c: New file.
60381         * modules/uniconv/u32-strconv-to-enc-tests: New file.
60382         * tests/uniconv/test-u32-strconv-to-enc.c: New file.
60383
60384         * modules/uniconv/u16-strconv-to-enc: New file.
60385         * lib/uniconv/u16-strconv-to-enc.c: New file.
60386         * lib/uniconv/u-strconv-to-enc.h: New file.
60387         * modules/uniconv/u16-strconv-to-enc-tests: New file.
60388         * tests/uniconv/test-u16-strconv-to-enc.c: New file.
60389
60390         * modules/uniconv/u8-strconv-to-enc: New file.
60391         * lib/uniconv/u8-strconv-to-enc.c: New file.
60392         * modules/uniconv/u8-strconv-to-enc-tests: New file.
60393         * tests/uniconv/test-u8-strconv-to-enc.c: New file.
60394
60395         * modules/uniconv/u32-strconv-from-enc: New file.
60396         * lib/uniconv/u32-strconv-from-enc.c: New file.
60397         * modules/uniconv/u32-strconv-from-enc-tests: New file.
60398         * tests/uniconv/test-u32-strconv-from-enc.c: New file.
60399
60400         * modules/uniconv/u16-strconv-from-enc: New file.
60401         * lib/uniconv/u16-strconv-from-enc.c: New file.
60402         * modules/uniconv/u16-strconv-from-enc-tests: New file.
60403         * tests/uniconv/test-u16-strconv-from-enc.c: New file.
60404
60405         * modules/uniconv/u8-strconv-from-enc: New file.
60406         * lib/uniconv/u8-strconv-from-enc.c: New file.
60407         * lib/uniconv/u-strconv-from-enc.h: New file.
60408         * modules/uniconv/u8-strconv-from-enc-tests: New file.
60409         * tests/uniconv/test-u8-strconv-from-enc.c: New file.
60410
60411         * modules/uniconv/u32-conv-from-enc: New file.
60412         * lib/uniconv/u32-conv-from-enc.c: New file.
60413         * modules/uniconv/u32-conv-from-enc-tests: New file.
60414         * tests/uniconv/test-u32-conv-from-enc.c: New file.
60415
60416         * modules/uniconv/u16-conv-from-enc: New file.
60417         * lib/uniconv/u16-conv-from-enc.c: New file.
60418         * lib/uniconv/u-conv-from-enc.h: New file.
60419         * modules/uniconv/u16-conv-from-enc-tests: New file.
60420         * tests/uniconv/test-u16-conv-from-enc.c: New file.
60421
60422         * modules/uniconv/u8-conv-from-enc: New file.
60423         * lib/uniconv/u8-conv-from-enc.c: New file.
60424         * modules/uniconv/u8-conv-from-enc-tests: New file.
60425         * tests/uniconv/test-u8-conv-from-enc.c: New file.
60426
60427         * modules/uniconv/base: New file.
60428         * lib/uniconv.h: New file.
60429
60430 2007-01-26  Paul Eggert  <eggert@cs.ucla.edu>
60431
60432         * doc/gnulib-tool.texi (Initial import): Update to match current
60433         behavior with strdup module.
60434         * lib/.cppi-disable: Remove strcase.h, strdup.h, strndup.h, strnlen.h.
60435         * lib/memmem.h: Remove; all uses removed.  This is now done
60436         by <string.h>.
60437         * lib/mempcpy.h: Likewise.
60438         * lib/memrchr.h: Likewise.
60439         * lib/stpcpy.h: Likewise.
60440         * lib/stpncpy.h: Likewise.
60441         * lib/strcase.h: Likewise.
60442         * lib/strchrnul.h: Likewise.
60443         * lib/strdup.h: Likewise.
60444         * lib/strndup.h: Likewise.
60445         * lib/strnlen.h: Likewise.
60446         * lib/strpbrk.h: Likewise.
60447         * lib/strsep.h: Likewise.
60448         * lib/strstr.h: Likewise.
60449         * lib/strtok_r.h: Likewise.
60450         * lib/string_.h: New file.
60451         * lib/argp-namefrob.h: Don't include no-longer-existent include files.
60452         Rely on <string.h> instead.
60453         * lib/canon-host.c: Likewise.
60454         * lib/chdir-long.c: Likewise.
60455         * lib/concatpath.c: Likewise.
60456         * lib/exclude.c: Likewise.
60457         * lib/fchdir.c: Likewise.
60458         * lib/getaddrinfo.c: Likewise.
60459         * lib/getcwd.c: Likewise.
60460         * lib/getsubopt.c: Likewise.
60461         * lib/glob.c: Likewise.
60462         * lib/hard-locale.c: Likewise.
60463         * lib/iconvme.c: Likewise.
60464         * lib/javacomp.c: Likewise.
60465         * lib/mempcpy.c: Likewise.
60466         * lib/memrchr.c: Likewise.
60467         * lib/regex_internal.h: Likewise.
60468         * lib/stpncpy.c: Likewise.
60469         * lib/strcasecmp.c: Likewise.
60470         * lib/strchrnul.c: Likewise.
60471         * lib/strdup.c: Likewise.
60472         * lib/striconv.c: Likewise.
60473         * lib/striconveh.c: Likewise.
60474         * lib/striconveha.c: Likewise.
60475         * lib/strncasecmp.c: Likewise.
60476         * lib/strndup.c: Likewise.
60477         * lib/strnlen.c: Likewise.
60478         * lib/strsep.c: Likewise.
60479         * lib/strstr.c: Likewise.
60480         * lib/strtok_r.c: Likewise.
60481         * lib/userspec.c: Likewise.
60482         * lib/w32spawn.h: Likewise.
60483         * lib/xstrndup.c: Likewise.
60484         * lib/mountlist.c (strstr): Remove decl.
60485         * m4/string_h.m4: New file.
60486         * m4/memmem.m4 (gl_FUNC_MEMMEM): Set HAVE_DECL_MEMMEM if necessary.
60487         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Set HAVE_MEMPCPY if necessary.
60488         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Set HAVE_MEMRCHR
60489         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Set HAVE_STPCPY if necessary.
60490         * m4/stpncpy.m4 (gl_PREREQ_STPNCPY): Set HAVE_STPNCPY if necessary.
60491         * m4/strcase.m4 (gl_FUNC_STRCASECMP):
60492         Set REPLACE_STRCASECMP if necessary.
60493         (gl_FUNC_STRNCASECMP): Set HAVE_DECL_STRNCASECMP if necessary.
60494         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Set HAVE_STRCHRNUL if necessary.
60495         * m4/strdup.m4 (gl_FUNC_STRDUP): Set HAVE_DECL_STRDUP if necessary.
60496         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_DECL_STRNLEN and
60497         HAVE_DECL_STRDUP if necessary.
60498         (gl_PREREQ_STRNLEN): Don't bother to check for strnlen decl,
60499         since gl_FUNC_STRNDUP does that now.
60500         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set HAVE_DECL_STRNLEN if necessary.
60501         Check for decl here...
60502         (gl_PREREQ_STRNLEN): ... not here.
60503         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Set HAVE_STRPBRK if necessary.
60504         * m4/strsep.m4 (gl_FUNC_STRSEP): Set HAVE_STRSEP if necessary.
60505         * m4/strstr.m4 (gl_FUNC_STRSTR): Set REPLACE_STRSTR if necessary.
60506         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_DECL_STRTOK_R if
60507         necessary.
60508         * modules/string: New file.
60509         * modules/memmem (Files): Remove special-purpose include file.
60510         (Depends-on): Add string.
60511         (Include): Include <string.h>, not the removed file.
60512         * modules/mempcpy: Likewise.
60513         * modules/memrchr: Likewise.
60514         * modules/stpcpy: Likewise.
60515         * modules/stpncpy: Likewise.
60516         * modules/strcase: Likewise.
60517         * modules/strchrnul: Likewise.
60518         * modules/strdup: Likewise.
60519         * modules/strndup: Likewise.
60520         * modules/strnlen: Likewise.
60521         * modules/strpbrk: Likewise.
60522         * modules/strsep: Likewise.
60523         * modules/strstr: Likewise.
60524         * modules/strtok_r: Likewise.
60525         * tests/test-dirname.c: Don't include "strdup.h", since
60526         <string.h> now suffices.
60527         * tests/test-memmem.c: Don't include "memmem.h", since
60528         <string.h> now suffices.
60529
60530 2007-01-25  Bruno Haible  <bruno@clisp.org>
60531
60532         * lib/striconveh.c (mem_cd_iconveh_internal): Ignore *lengthp if
60533         *resultp is 0.
60534
60535         * lib/unistr/u16-to-u8.c (u16_to_u8): Fix u8_uctomb invocation.
60536         * lib/unistr/u32-to-u8.c (u32_to_u8): Likewise.
60537         * lib/unistr/u8-to-u16.c (u8_to_u16): Fix u16_uctomb invocation.
60538         * lib/unistr/u32-to-u16.c (u32_to_u16): Likewise.
60539
60540         * modules/unistr/u8-to-u16 (Depends-on): Add missing modules.
60541         * modules/unistr/u8-to-u32 (Depends-on): Add missing modules.
60542         * modules/unistr/u16-to-u8 (Depends-on): Add missing modules.
60543         * modules/unistr/u16-to-u32 (Depends-on): Add missing modules.
60544         * modules/unistr/u32-to-u8 (Depends-on): Add missing modules.
60545         * modules/unistr/u32-to-u16 (Depends-on): Add missing modules.
60546
60547 2007-01-24  Bruno Haible  <bruno@clisp.org>
60548
60549         Don't AC_REQUIRE autoconf macros that invoke AC_LIBOBJ. See
60550         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00279.html>.
60551         * m4/argp.m4 (gl_ARGP): Invoke, don't require, gl_GETOPT_SUBSTITUTE.
60552         * m4/fts.m4 (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): Invoke, don't require,
60553         gl_FUNC_FTS_CORE.
60554         (gl_FUNC_FTS_CORE): Invoke, don't require, gl_FUNC_OPENAT.
60555         * m4/lstat.m4 (gl_FUNC_LSTAT): Invoke, don't require,
60556         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
60557         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Invoke, don't require, AC_FUNC_MEMCMP.
60558         * m4/mktime.m4 (gl_FUNC_MKTIME): Invoke, don't require, AC_FUNC_MKTIME.
60559         * m4/openat.m4 (gl_FUNC_OPENAT): Invoke, don't require,
60560         gl_FUNC_FCHOWNAT.
60561         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Invoke, don't require,
60562         gl_FUNC_STRFTIME.
60563         * m4/strtod.m4 (gl_FUNC_STRTOD): Invoke, don't require, AC_FUNC_STRTOD.
60564         Reported by Ralf Wildenhues.
60565
60566 2007-01-24  Bruno Haible  <bruno@clisp.org>
60567
60568         Drop AC_REQUIRE calls that are redundant with the module dependencies.
60569         * m4/canon-host.m4 (gl_PREREQ_CANON_HOST): Don't require
60570         gl_GETADDRINFO.
60571         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Don't require AM_STDBOOL_H,
60572         gl_FUNC_MEMPCPY, gl_FUNC_OPENAT, gl_FUNC_MEMRCHR.
60573         * m4/openat.m4 (gl_PREREQ_OPENAT): Don't require gl_SAVE_CWD.
60574
60575 2007-01-24  Paul Eggert  <eggert@cs.ucla.edu>
60576
60577         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Add test for glibc bug 361.
60578         Don't use 'exit'; just return from 'main'.
60579         (_AC_LIBOBJ_FNMATCH): Check for headers and functions just once.
60580
60581         * lib/fnmatch_.h: Readjust white space and comments to match
60582         glibc, to avoid spurious diffs.
60583
60584 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
60585
60586         * lib/fnmatch_loop.c (internal_fnmatch) [!_LIBC]: #if-out the
60587         2004-12-01 change by Jakub Jelinek, since this code won't compile
60588         if !LIBC.  Problem reported by Bob Proulx.
60589
60590 2007-01-23  Bruno Haible  <bruno@clisp.org>
60591
60592         * lib/striconveh.c: Include c-strcaseeq.h.
60593         (mem_iconveh, str_iconveh): Use STRCASEEQ instead of c_strcasecmp.
60594         * modules/striconveh (Depends-on): Add c-strcaseeq.
60595
60596 2007-01-23  Bruno Haible  <bruno@clisp.org>
60597
60598         * MODULES.html.sh (String handling): Add streq, c-strcaseeq.
60599
60600         * modules/c-strcaseeq: New file.
60601         * lib/c-strcaseeq.h: New file.
60602
60603         * modules/streq: New file.
60604         * lib/streq.h: New file.
60605
60606 2007-01-23  Bruno Haible  <bruno@clisp.org>
60607
60608         * modules/striconveha-tests: New file.
60609         * tests/test-striconveha.c: New file.
60610
60611         * lib/striconveha.h: Include <stdbool.h>.
60612         (mem_iconveha, str_iconveha): Add 'transliterate' argument.
60613         * lib/striconveha.c: Include allocsa.h, strdup.h, c-strcase.h.
60614         (mem_iconveha_notranslit): Renamed from mem_iconveha.
60615         (mem_iconveha): New function.
60616         (str_iconveha_notranslit): Renamed from str_iconveha.
60617         (str_iconveha): New function.
60618         * modules/striconveha (Depends-on): Add stdbool, allocsa, strdup,
60619         c-strcase.
60620
60621 2007-01-23  Bruno Haible  <bruno@clisp.org>
60622
60623         * lib/striconveha.c (mem_iconveha): Fix endless recursion. Try all
60624         encodings without forgiving before trying any encoding with handler.
60625         (str_iconveha): Try all encodings without forgiving before trying any
60626         encoding with handler.
60627
60628 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
60629
60630         Import the following changes from libc.
60631
60632         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
60633
60634         * lib/fnmatch_loop.c: Adjust for changed secondary hash function.
60635
60636         2004-12-01  Jakub Jelinek  <jakub@redhat.com>
60637
60638         * lib/fnmatch_loop.c (internal_fnmatch): Clear is_seqval after
60639         normal_bracket label.
60640
60641         2004-09-01  Jakub Jelinek  <jakub@redhat.com>
60642
60643         [BZ #361]
60644         * lib/fnmatch_loop.c (FCT): For backslash between brackets, branch
60645         to normal_bracket after fetching the next character.
60646
60647 2007-01-22  Bruno Haible  <bruno@clisp.org>
60648
60649         * lib/striconveh.h (mem_cd_iconveh, mem_iconveh): Add 'offsets'
60650         argument.
60651         * lib/striconveh.c (iconv_carefully_1): New function.
60652         (mem_cd_iconveh_internal, mem_cd_iconveh, mem_iconveh): Add 'offsets'
60653         argument.
60654         (str_cd_iconveh): Update.
60655         * lib/striconveha.h (mem_iconveha): Add 'offsets' argument.
60656         * lib/striconveha.c (mem_iconveha): Add 'offsets' argument.
60657         * tests/test-striconveh.c (MAGIC): New macro.
60658         (new_offsets): New function.
60659         (main): Test call with and without offsets.
60660
60661 2007-01-22  Bruno Haible  <bruno@clisp.org>
60662
60663         * modules/sys_stat (Makefile.am): Use @MKDIR_P@ instead of $(MKDIR_P).
60664         * modules/sys_select (Makefile.am): Likewise.
60665         * modules/sys_socket (Makefile.am): Likewise.
60666         * modules/sys_time (Makefile.am): Likewise.
60667
60668 2007-01-22  Paul Eggert  <eggert@cs.ucla.edu>
60669
60670         * modules/gettimeofday (License): Change from GPL to LGPL, since
60671         gettimeofday is a library function.
60672
60673 2007-01-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
60674
60675         * lib/poll.c (rpl_poll): Don't check against FD_SETSIZE under Win32.
60676
60677 2007-01-21  Bruno Haible  <bruno@clisp.org>
60678
60679         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): New macro.
60680
60681 2007-01-21  Bruno Haible  <bruno@clisp.org>
60682
60683         * modules/striconveha: New file.
60684         * lib/striconveha.h: New file.
60685         * lib/striconveha.c: New file.
60686         * MODULES.html.sh (Internationalization functions): Add striconveha.
60687         * lib/striconv.c (str_iconv): Optimize the case of an empty input
60688         string.
60689         * lib/striconveh.c (mem_iconveh, str_iconveh): Likewise.
60690
60691 2007-01-21  Bruno Haible  <bruno@clisp.org>
60692
60693         * lib/striconv.c (str_iconv): Guarantee errno is set when strdup fails.
60694         * lib/striconveh.c (str_iconveh): Likewise.
60695
60696 2007-01-21  Bruno Haible  <bruno@clisp.org>
60697
60698         * lib/striconveh.h (mem_iconveh): New declaration.
60699         * lib/striconveh.c (mem_iconveh): New function.
60700         * tests/test-striconveh.c (main): Add tests for mem_iconveh.
60701
60702 2007-01-21  Bruno Haible  <bruno@clisp.org>
60703
60704         * lib/xstriconv.h (xmem_cd_iconv): Change specification.
60705
60706         * lib/striconveh.h (mem_cd_iconveh): Change specification.
60707         * lib/striconveh.c (mem_cd_iconveh): Don't free the user-supplied
60708         original result buffer.
60709         (str_cd_iconveh): Update.
60710         * tests/test-striconveh.c (main): Update.
60711
60712         * lib/striconv.h (mem_cd_iconv): Change specification.
60713         * lib/striconv.c (mem_cd_iconv): Don't free the user-supplied original
60714         result buffer.
60715         (str_cd_iconv): Update.
60716         * tests/test-striconv.c (main): Update.
60717
60718 2007-01-21  Bruno Haible  <bruno@clisp.org>
60719
60720         * gnulib-tool: Fix test whether sed is GNU sed supporting --posix.
60721
60722 2007-01-20  Jim Meyering  <jim@meyering.net>
60723
60724         * lib/userspec.c (parse_with_separator): If a user or group string
60725         starts with "+", skip the corresponding name-to-ID look-up, since
60726         such a look-up must fail: user and group names may not include "+".
60727
60728 2007-01-19  Paul Eggert  <eggert@cs.ucla.edu>
60729
60730         * lib/poll.c: Include sys/time.h and time.h unconditionally,
60731         since we now assume the sys_time module.
60732         * m4/poll.m4 (gl_PREREQ_POLL): Don't require AC_HEADER_TIME or
60733         check for sys/time.h; no longer needed.
60734         * modules/poll (Depends-on): Depend on sys_time.
60735
60736 2007-01-18  Bruno Haible  <bruno@clisp.org>
60737
60738         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove test for <sys/time.h>.
60739         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
60740
60741         * m4/tempname.m4 (gl_PREREQ_TEMPNAME): Remove tests for sys/time.h and
60742         gettimeofday.
60743
60744         * tests/test-gettimeofday.c: Include <time.h>.
60745         (dummy): Remove variable.
60746
60747         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Renamed from
60748         gl_HEADER_SYS_TIME_H.
60749         (gl_HEADER_SYS_TIME_H): New macro.
60750
60751         * lib/sys_time_.h: Test GETTIMEOFDAY_REPLACEMENT instead of
60752         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
60753         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
60754         gl_FUNC_GETTIMEOFDAY_CLOBBER): Set GETTIMEOFDAY_REPLACEMENT instead of
60755         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
60756         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H): Initialize
60757         GETTIMEOFDAY_REPLACEMENT instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE
60758         and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
60759         * modules/sys_time (sys/time.h): Substitute GETTIMEOFDAY_REPLACEMENT
60760         instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and
60761         GETTIMEOFDAY_CLOBBERS_LOCALTIME.
60762
60763         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Undo the
60764         last change; it caused a compilation error when cross-compiling to
60765         Cygwin.
60766
60767 2007-01-18  Jim Meyering  <jim@meyering.net>
60768
60769         Use "$(MKDIR_P) sys", not race-prone "test -d sys || mkdir sys".
60770         * modules/sys_stat (Makefile.am): Use "$(MKDIR_P) sys", rather
60771         than the race-prone "test -d sys || mkdir sys".
60772         (configure.ac): Use AC_PROG_MKDIR_P.
60773         * modules/sys_select: Likewise.
60774         * modules/sys_socket: Likewise.
60775         * modules/sys_time: Likewise.
60776
60777 2007-01-18  Eric Blake  <ebb9@byu.net>
60778
60779         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Also
60780         replace gettimeofday.
60781         * lib/gettimeofday.c (rpl_gettimeofday): Declare with replacement
60782         name, to avoid infinite recursion.
60783
60784 2007-01-17  Paul Eggert  <eggert@cs.ucla.edu>
60785
60786         * MODULES.html.sh (Support for systems lacking POSIX:2001): New
60787         module sys_time.
60788         * lib/gethrxtime.c: Include <sys/time.h>, since we can no longer
60789         assume timespec.h defines struct timeval.
60790         * lib/settime.c: Likewise.
60791         * lib/utimens.c: Likewise.
60792         * lib/gettime.c (gettime): Remove test against HAVE_GETTIMEOFDAY,
60793         since we now assume the gettimeofday module.
60794         * lib/tempname.c (__gen_tempname): Likewise.
60795         * lib/gettimeofday.h: Remove.
60796         * lib/gettimeofday.c: Include <sys/time.h> instead of "gettimeofday.h".
60797         Don't include <sys/types.h> and <stdlib.h>; shouldn't be needed.
60798         Include <time.h>, for 'time()'.
60799         (localtime_buffer_addr): Also use this workaround if
60800         TZSET_CLOBBERS_LOCALTIME.  Set to a dummy static variable by default,
60801         to simplify the uses.  All uses changed.
60802         (localtime, gmtime, tzset, gettimeofday): Reformat slightly so
60803         that #undef is inside {}, and 'const' follows type name consistently.
60804         (tzset): Define replacement only if TZSET_CLOBBERS_LOCALTIME.
60805         (gettimeofday): Do not use the maximum possible value for
60806         tv->tv_usec, since that might break usages other than ls.c.
60807         Instead, we'll leave ls.c alone.  This undoes today's patch
60808         by Bruno.  Add a compile-time warning for 1s-clock resolution;
60809         we've never observed the problem but might as well keep the
60810         canary.
60811         * lib/nanosleep.c: Include timespec.h first, for interface check.
60812         * lib/nanosleep.c: Include <sys/time.h> unconditionally, since we
60813         now assume the sys_time module.
60814         * lib/tempname.c: Likewise.
60815         * lib/timespec.h: Likewise.
60816         * lib/nanosleep.c: Don't worry about TIME_WITH_SYS_TIME; no longer
60817         needed.
60818         * lib/strftime.c: Likewise.
60819         * lib/timespec.h: Likewise.
60820         * lib/posixtm.c: Include posixtm.h first, for interface check.
60821         Don't worry about TM_IN_SYS_TIME; that's wayyy obsolete.
60822         * lib/posixtm.h: Include stdbool.h and time.h, for proper interface.
60823         * lib/strftime.c: Don't include <sys/types.h>; shouldn't be needed.
60824         * lib/sys_time_.h: New file.
60825         * lib/timespec.h (struct timespec): Use long int, not long.
60826         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
60827         (gl_FUNC_GETTIMEOFDAY_CLOBBER, gl_PREREQ_GETTIMEOFDAY):
60828         Remove obsolescent call to AC_HEADER_TIME.
60829         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
60830         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
60831         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
60832         * m4/timespec.m4 (gl_TIMESPEC, gl_CHECK_TYPE_STRUCT_TIMESPEC):
60833         Likewise.
60834         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
60835         * m4/utimbuf.m4 (gl_CHECK_TYPE_STRUCT_UTIMBUF): Likewise.
60836         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Move sys/time.h tests
60837         into the sys_time module.  Check for gettimeofday just once.
60838         Prefix our variables with gl_, not with ac_ or jm_.  Tighten test
60839         for gettimeofday signature to just check the signature.  Merely
60840         compile it, since linking doesn't test signature.  Improve test for
60841         whether gettimeofday.o is actually needed.
60842         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Renamed from
60843         AC_FUNC_GETTIMEOFDAY_CLOBBER.  All uses changed.  Use
60844         AC_RUN_IFELSE rather than AC_TRY_RUN.  If clobbering, set
60845         and define GETTIMEOFDAY_CLOBBERS_LOCALTIME.
60846         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Don't define
60847         GETTIMEOFDAY_CLOBBERS_LOCALTIME; that's gl_FUNC_GETTIMEOFDAY_CLOBBER's
60848         job.  Don't define tzset; that's gl_FUNC_TZSET_CLOBBER's job.
60849         * m4/mktime.m4 (AC_FUNC_MKTIME): Just include <time.h> rather
60850         than worrying about sys/time.h.
60851         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
60852         Don't bother worrying about TIME_WITH_SYS_TIME.
60853         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
60854         * m4/posixtm.m4 (gl_POSIXTM): Remove obsolescent call to AC_STRUCT_TM.
60855         * m4/sys_time_h.m4: New file.
60856         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require gl_HEADER_SYS_TIME_H.
60857         Don't include sys/time.h.  Return from main rather than exiting.
60858         Define TZSET_CLOBBERS_LOCALTIME, for consistency with other names;
60859         all uses changed.
60860         * modules/gethrxtime (Depends-on): Add sys_time.
60861         * modules/gettime (Depends-on): Likewise.
60862         * modules/gettimeofday (Depends-on): Likewise.
60863         * modules/nanosleep (Depends-on): Likewise.
60864         * modules/settime (Depends-on): Likewise.
60865         * modules/tempname (Depends-on): Likewise.
60866         * modules/utimens (Depends-on): Likewise.
60867         * modules/gettimeofday (Files): Remove lib/gettimeofday.h.
60868         (Include): Change back to <sys/time.h>.
60869         (Maintainer): Add self.
60870         * modules/sys_time: New file.
60871         * modules/tempname (Depends-on): Add gettimeofday.
60872         * tests/test-gettimeofday.c: Include <sys/time.h>
60873         rather than gettimeofday.h.
60874
60875 2007-01-17  Bruno Haible  <bruno@clisp.org>
60876
60877         * gnulib-tool (func_get_license): Revert last patch. Instead, let
60878         the license default to GPL.
60879         (func_create_testdir): Don't complain if a module is LGPL and its
60880         tests module depends on GPLed modules.
60881
60882 2007-01-17  Bruno Haible  <bruno@clisp.org>
60883
60884         * lib/gettimeofday.c (gettimeofday): Add code for the case
60885         HAVE_GETTIMEOFDAY && !GETTIMEOFDAY_CLOBBERS_LOCALTIME. Use the
60886         maximum possible value for tv->tv_usec, rather than the minimum one.
60887
60888 2005-10-08  Martin Lambers  <marlam@marlam.de>
60889 2005-10-08  Paul Eggert  <eggert@cs.ucla.edu>
60890 2007-01-16  Bruno Haible  <bruno@clisp.org>
60891
60892         * modules/gettimeofday (Files): Add lib/gettimeofday.h.
60893         (configure.ac): Remove AC_FUNC_GETTIMEOFDAY_CLOBBER. Add
60894         gl_FUNC_GETTIMEOFDAY.
60895         (Include): Add gettimeofday.h.
60896         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): New macro.
60897         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't invoke gl_PREREQ_GETTIMEOFDAY.
60898         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Define
60899         GETTIMEOFDAY_CLOBBERS_LOCALTIME. Invoke gl_PREREQ_GETTIMEOFDAY here.
60900         (gl_PREREQ_GETTIMEOFDAY): Check for <sys/timeb.h> and _ftime.
60901         * lib/gettimeofday.h: New file.
60902         * lib/gettimeofday.c: Include <sys/timeb.h>.
60903         (localtime_buffer_addr, rpl_localtime, rpl_gmtime, rpl_tzset): Define
60904         only if GETTIMEOFDAY_CLOBBERS_LOCALTIME.
60905         (rpl_gettimeofday) [!HAVE_GETTIMEOFDAY]: Use _ftime() when available;
60906         fall back on time().
60907
60908         * tests/test-gettimeofday.c: New file.
60909         * modules/gettimeofday-tests: New file.
60910
60911 2007-01-16  Eric Blake  <ebb9@byu.net>
60912
60913         * modules/fnmatch (Depends-on): Depend on wchar.
60914         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Assume <wchar.h>.
60915         * m4/fnmatch.m4: Likewise.
60916         * modules/mbchar (Makefile.am): Assume <wchar.h>.
60917         * m4/mbchar.m4: Likewise.
60918         * modules/mbswidth (Depends-on): Depend on wchar.
60919         * lib/mbswidth.c: Assume <wchar.h>.
60920         * m4/mbswidth.m4: Likewise.
60921         * modules/quotearg (Depends-on): Depend on wchar.
60922         * lib/quotearg.c: Assume <wchar.h>.
60923         * m4/quotearg.m4: Likewise.
60924         * modules/regex (Depends-on): Depend on wchar.
60925         * lib/regex_internal.h: Assume <wchar.h>.
60926         * m4/regex.m4: Likewise.
60927         * modules/stdint (Depends-on): Depend on wchar.
60928         * lib/stdint_.h [!defined WCHAR_MIN]: Assume <wchar.h>.
60929         * m4/stdint.m4: Likewise.
60930         * tests/test-stdint.c [HAVE_WINT_T]: Likewise.
60931         * modules/strftime (Depends-on): Depend on wchar.
60932         * lib/strftime.c (DO_MULTIBYTE): Assume <wchar.h>.
60933         * modules/strtol (Depends-on): Depend on wchar.
60934         * lib/strtol.c: Assume <wchar.h>.
60935         * modules/wcwidth (Depends-on): Depend on wchar.
60936         * lib/wcwidth.h: Assume <wchar.h>.
60937         * m4/wcwidth.m4: Likewise.
60938
60939 2007-01-16  Bruno Haible  <bruno@clisp.org>
60940
60941         * modules/csharpexec-script: New, created from...
60942         * modules/csharpexec: ... this.
60943
60944 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
60945
60946         * modules/javaexec-script: New, created from...
60947         * modules/javaexec: ... this.
60948
60949 2007-01-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
60950
60951         * modules/poll (Dependencies): Add sys_select.
60952
60953 2007-01-15  Jim Meyering  <jim@meyering.net>
60954
60955         * m4/readutmp.m4 (gl_READUTMP): Work around AIX 4.3 struct-
60956         redefinition bug when using both <utmp.h> and <utmpx.h> headers.
60957         * lib/readutmp.h: Likewise.  Reported by Daniel Richard G. in
60958         <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/9415>.
60959
60960 2007-01-15  Bruno Haible  <bruno@clisp.org>
60961
60962         * modules/striconveh: New file.
60963         * lib/striconveh.h: New file.
60964         * lib/striconveh.c: New file.
60965         * MODULES.html.sh (Internationalization functions): Add striconveh.
60966
60967         * modules/striconveh-tests: New file.
60968         * tests/test-striconveh.c: New file.
60969
60970 2007-01-15  Bruno Haible  <bruno@clisp.org>
60971
60972         * lib/striconv.c (str_cd_iconv): Use the first algorithm if iconv is
60973         not from GNU libiconv or GNU libc.
60974
60975 2007-01-15  Bruno Haible  <bruno@clisp.org>
60976
60977         * doc/gnulib-intro.texi (Copyright): Explain the different license
60978         terms for module descriptions, autoconf macros, tests, documentation.
60979
60980 2007-01-14  Bruno Haible  <bruno@clisp.org>
60981
60982         * modules/striconv-tests: New file.
60983         * tests/test-striconv.c: New file.
60984
60985 2007-01-14  Bruno Haible  <bruno@clisp.org>
60986
60987         * modules/iconv-tests: New file.
60988         * tests/test-iconv.c: New file.
60989
60990 2007-01-14  Bruno Haible  <bruno@clisp.org>
60991
60992         * gnulib-tool (func_get_license): For test modules, use the license of
60993         the main module.
60994
60995 2007-01-14  Bruno Haible  <bruno@clisp.org>
60996
60997         * modules/iconv (Include): Clarify that <iconv.h> can only be included
60998         if iconv is found to exist.
60999
61000 2007-01-14  Bruno Haible  <bruno@clisp.org>
61001
61002         * modules/c-ctype-tests: New file.
61003         * tests/test-c-ctype.c: New file.
61004
61005 2007-01-14  Bruno Haible  <bruno@clisp.org>
61006
61007         * modules/binary-io-tests: New file.
61008         * tests/test-binary-io.sh: New file.
61009         * tests/test-binary-io.c: New file.
61010
61011 2007-01-14  Bruno Haible  <bruno@clisp.org>
61012
61013         * modules/array-oset-tests: New file.
61014         * tests/test-array_oset.c: New file.
61015
61016 2007-01-14  Bruno Haible  <bruno@clisp.org>
61017
61018         * modules/array-list-tests: New file.
61019         * tests/test-array_list.c: New file.
61020
61021 2007-01-14  Bruno Haible  <bruno@clisp.org>
61022
61023         * gnulib-tool (func_create_testdir): Don't unnecessarily run configure
61024         and make.
61025         Reported by Simon Josefsson in
61026         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00139.html>
61027
61028 2007-01-14  Bruno Haible  <bruno@clisp.org>
61029
61030         * modules/allocsa-tests: New file.
61031         * tests/test-allocsa.c: New file.
61032
61033 2007-01-14  Bruno Haible  <bruno@clisp.org>
61034
61035         * modules/fchdir (Depends-on): Add absolute-header.
61036         * modules/unistd (Depends-on): Likewise.
61037
61038 2006-12-30  Bruno Haible  <bruno@clisp.org>
61039
61040         * modules/fchdir: New file.
61041         * modules/unistd (Files): Add lib/unistd_.h.
61042         (Makefile.am): Generate unistd.h from unistd_.h.
61043         * lib/fchdir.c: New file.
61044         * lib/dirent_.h: New file.
61045         * lib/unistd_.h: New file.
61046         * lib/fcntl_.h (open) [FCHDIR_REPLACEMENT]: New replacement.
61047         * m4/fchdir.m4: New file.
61048         * m4/unistd_h.m4 (gl_PREREQ_UNISTD): New macro.
61049         (gl_HEADER_UNISTD): Invoke it.
61050         * lib/dup-safer.c (dup_safer) [FCHDIR_REPLACEMENT]: Use the dup
61051         function.
61052         * lib/backupfile.c (opendir, closedir): Undefine.
61053         * lib/chown.c (open, close): Undefine.
61054         * lib/clean-temp.c (open, close): Undefine.
61055         * lib/copy-file.c (open, close): Undefine.
61056         * lib/execute.c (open, close): Undefine.
61057         * lib/fsusage.c (open, close): Undefine.
61058         * lib/gc-gnulib.c (open, close): Undefine.
61059         * lib/getcwd.c (opendir, closedir): Undefine.
61060         * lib/glob.c (opendir, closedir): Undefine.
61061         * lib/javacomp.c (open, close): Undefine.
61062         * lib/mountlist.c (open, close, opendir, closedir): Undefine.
61063         * lib/openat-proc.c (open, close): Undefine.
61064         * lib/pagealign_alloc.c (open, close): Undefine.
61065         * lib/pipe.c (open, close): Undefine.
61066         * lib/progreloc.c (open, close): Undefine.
61067         * lib/savedir.c (opendir, closedir): Undefine.
61068         * lib/utime.c (open, close): Undefine.
61069         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add fchdir.
61070
61071 2007-01-10  Bruno Haible  <bruno@clisp.org>
61072
61073         * lib/striconv.c (mem_cd_iconv): Align the temporary buffer.
61074
61075 2007-01-12  Eric Blake  <ebb9@byu.net>
61076
61077         Provide a robust <wchar.h>.  Further simplifications are now
61078         possible in other modules, but not included here.
61079         * modules/wchar: New module.
61080         * m4/wchar.m4: New file.
61081         * lib/wchar_.h: Likewise.
61082         * modules/mbchar (Depends-on): Depend on wchar, as the first use
61083         of the new module.
61084         * MODULES.html.sh (Extended multibyte and wide character utilities):
61085         New section.
61086
61087 2007-01-12  Paul Eggert  <eggert@cs.ucla.edu>
61088
61089         * lib/xreadlink.c (SYMLINK_MAX) [!defined SYMLINK_MAX]: Define
61090         to a reasonable default for memory allocation.
61091         (xreadlink): Don't allocate a huge buffer, to work around a buggy
61092         file system that reports garbage st_size values for symlinks.
61093         Problem reported by Liyang Hu.
61094
61095 2007-01-11  Simon Josefsson  <simon@josefsson.org>
61096
61097         * gnulib-tool (func_all_modules): Exclude all .* files (e.g.,
61098         Emacs .#* auto-save files).
61099
61100 2007-01-11  Bruno Haible  <bruno@clisp.org>
61101
61102         * gnulib-tool (func_all_modules): Exclude all files inside the CVS
61103         directory.
61104
61105 2007-01-10  Paul Eggert  <eggert@cs.ucla.edu>
61106
61107         Use @...@ consistently in lib/wctype_.h.
61108         * lib/wctype_.h [HAVE_WINT_T]: Go back to using @...@, but rely
61109         on it being set to 1 or 0.
61110         * m4/wctype.m4 (gl_WCTYPE_H): Set HAVE_WINT_T to 1 or 0, and
61111         go back to AC_SUBSTing it.
61112         * modules/wctype (Makefile.am): Undo previous change.
61113
61114 2007-01-10  Eric Blake  <ebb9@byu.net>
61115
61116         * lib/wctype_.h [HAVE_WINT_T]: Rely on AC_DEFINE.
61117         * m4/wctype.m4 (gl_WCTYPE_H): No need to AC_SUBST(HAVE_WINT_T).
61118         * modules/wctype (Makefile.am): Likewise.
61119         Reported by Chris McGuire.
61120
61121 2007-01-10  Jim Meyering  <jim@meyering.net>
61122
61123         fts.c: a small readability/maintainability improvement
61124         * lib/fts.c (fts_read): Make this code slightly more readable and
61125         maintainable by hoisting the "sp->fts_cur = p" assignments to
61126         immediately follow the statements that set P.  Derived from
61127         the patch by Miloslav Trmac in http://bugzilla.redhat.com/222089.
61128
61129 2007-01-10  Eric Blake  <ebb9@byu.net>
61130
61131         * lib/wctype_.h [HAVE_WINT_T]: Include <stddef.h> before
61132         <wchar.h>, to work around BSDI bug in BSD/OS 4.0.1.
61133         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
61134         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
61135         Reported by Chris McGuire.
61136
61137 2007-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61138
61139         * gnulib-tool (func_all_modules): Use POSIX conforming escaping
61140         in sed script.
61141
61142 2007-01-09  Bruno Haible  <bruno@clisp.org>
61143
61144         * MODULES.html.sh: Accept options --cvs-urls, --git-urls.
61145         (repo_url_prefix, repo_url_suffix, repo_url_suffix_repl): New
61146         variables.
61147         (func_module): Use them.
61148
61149 2007-01-09  Bruno Haible  <bruno@clisp.org>
61150
61151         * modules/unistr/base: New file.
61152         * lib/unistr.h: New file.
61153
61154         * modules/unistr/u8-to-u16: New file.
61155         * lib/unistr/u8-to-u16.c: New file.
61156
61157         * modules/unistr/u8-to-u32: New file.
61158         * lib/unistr/u8-to-u32.c: New file.
61159
61160         * modules/unistr/u16-to-u8: New file.
61161         * lib/unistr/u16-to-u8.c: New file.
61162
61163         * modules/unistr/u16-to-u32: New file.
61164         * lib/unistr/u16-to-u32.c: New file.
61165
61166         * modules/unistr/u32-to-u8: New file.
61167         * lib/unistr/u32-to-u8.c: New file.
61168
61169         * modules/unistr/u32-to-u16: New file.
61170         * lib/unistr/u32-to-u16.c: New file.
61171
61172         * modules/unistr/u8-check: New file.
61173         * modules/unistr/u16-check: New file.
61174         * modules/unistr/u32-check: New file.
61175         * lib/unistr/u8-check.c: New file.
61176         * lib/unistr/u16-check.c: New file.
61177         * lib/unistr/u32-check.c: New file.
61178
61179         * modules/unistr/u8-chr: New file.
61180         * modules/unistr/u16-chr: New file.
61181         * modules/unistr/u32-chr: New file.
61182         * lib/unistr/u8-chr.c: New file.
61183         * lib/unistr/u16-chr.c: New file.
61184         * lib/unistr/u32-chr.c: New file.
61185
61186         * modules/unistr/u8-cmp: New file.
61187         * modules/unistr/u16-cmp: New file.
61188         * modules/unistr/u32-cmp: New file.
61189         * lib/unistr/u8-cmp.c: New file.
61190         * lib/unistr/u16-cmp.c: New file.
61191         * lib/unistr/u32-cmp.c: New file.
61192
61193         * modules/unistr/u8-cpy: New file.
61194         * modules/unistr/u16-cpy: New file.
61195         * modules/unistr/u32-cpy: New file.
61196         * lib/unistr/u8-cpy.c: New file.
61197         * lib/unistr/u16-cpy.c: New file.
61198         * lib/unistr/u32-cpy.c: New file.
61199         * lib/unistr/u-cpy.h: New file.
61200
61201         * modules/unistr/u8-cpy-alloc: New file.
61202         * modules/unistr/u16-cpy-alloc: New file.
61203         * modules/unistr/u32-cpy-alloc: New file.
61204         * lib/unistr/u8-cpy-alloc.c: New file.
61205         * lib/unistr/u16-cpy-alloc.c: New file.
61206         * lib/unistr/u32-cpy-alloc.c: New file.
61207         * lib/unistr/u-cpy-alloc.h: New file.
61208
61209         * modules/unistr/u8-endswith: New file.
61210         * modules/unistr/u16-endswith: New file.
61211         * modules/unistr/u32-endswith: New file.
61212         * lib/unistr/u8-endswith.c: New file.
61213         * lib/unistr/u16-endswith.c: New file.
61214         * lib/unistr/u32-endswith.c: New file.
61215         * lib/unistr/u-endswith.h: New file.
61216
61217         * modules/unistr/u8-mblen: New file.
61218         * modules/unistr/u16-mblen: New file.
61219         * modules/unistr/u32-mblen: New file.
61220         * lib/unistr/u8-mblen.c: New file.
61221         * lib/unistr/u16-mblen.c: New file.
61222         * lib/unistr/u32-mblen.c: New file.
61223
61224         * modules/unistr/u8-mbtouc: New file.
61225         * modules/unistr/u16-mbtouc: New file.
61226         * modules/unistr/u32-mbtouc: New file.
61227         * lib/unistr/u8-mbtouc.c: New file.
61228         * lib/unistr/u16-mbtouc.c: New file.
61229         * lib/unistr/u32-mbtouc.c: New file.
61230
61231         * modules/unistr/u8-mbtouc-safe: New file.
61232         * modules/unistr/u16-mbtouc-safe: New file.
61233         * modules/unistr/u32-mbtouc-safe: New file.
61234         * lib/unistr/u8-mbtouc-safe.c: New file.
61235         * lib/unistr/u16-mbtouc-safe.c: New file.
61236         * lib/unistr/u32-mbtouc-safe.c: New file.
61237
61238         * modules/unistr/u8-move: New file.
61239         * modules/unistr/u16-move: New file.
61240         * modules/unistr/u32-move: New file.
61241         * lib/unistr/u8-move.c: New file.
61242         * lib/unistr/u16-move.c: New file.
61243         * lib/unistr/u32-move.c: New file.
61244         * lib/unistr/u-move.h: New file.
61245
61246         * modules/unistr/u8-next: New file.
61247         * modules/unistr/u16-next: New file.
61248         * modules/unistr/u32-next: New file.
61249         * lib/unistr/u8-next.c: New file.
61250         * lib/unistr/u16-next.c: New file.
61251         * lib/unistr/u32-next.c: New file.
61252
61253         * modules/unistr/u8-prev: New file.
61254         * modules/unistr/u16-prev: New file.
61255         * modules/unistr/u32-prev: New file.
61256         * lib/unistr/u8-prev.c: New file.
61257         * lib/unistr/u16-prev.c: New file.
61258         * lib/unistr/u32-prev.c: New file.
61259
61260         * modules/unistr/u8-set: New file.
61261         * modules/unistr/u16-set: New file.
61262         * modules/unistr/u32-set: New file.
61263         * lib/unistr/u8-set.c: New file.
61264         * lib/unistr/u16-set.c: New file.
61265         * lib/unistr/u32-set.c: New file.
61266         * lib/unistr/u-set.h: New file.
61267
61268         * modules/unistr/u8-startswith: New file.
61269         * modules/unistr/u16-startswith: New file.
61270         * modules/unistr/u32-startswith: New file.
61271         * lib/unistr/u8-startswith.c: New file.
61272         * lib/unistr/u16-startswith.c: New file.
61273         * lib/unistr/u32-startswith.c: New file.
61274         * lib/unistr/u-startswith.h: New file.
61275
61276         * modules/unistr/u8-stpcpy: New file.
61277         * modules/unistr/u16-stpcpy: New file.
61278         * modules/unistr/u32-stpcpy: New file.
61279         * lib/unistr/u8-stpcpy.c: New file.
61280         * lib/unistr/u16-stpcpy.c: New file.
61281         * lib/unistr/u32-stpcpy.c: New file.
61282         * lib/unistr/u-stpcpy.h: New file.
61283
61284         * modules/unistr/u8-stpncpy: New file.
61285         * modules/unistr/u16-stpncpy: New file.
61286         * modules/unistr/u32-stpncpy: New file.
61287         * lib/unistr/u8-stpncpy.c: New file.
61288         * lib/unistr/u16-stpncpy.c: New file.
61289         * lib/unistr/u32-stpncpy.c: New file.
61290         * lib/unistr/u-stpncpy.h: New file.
61291
61292         * modules/unistr/u8-strcat: New file.
61293         * modules/unistr/u16-strcat: New file.
61294         * modules/unistr/u32-strcat: New file.
61295         * lib/unistr/u8-strcat.c: New file.
61296         * lib/unistr/u16-strcat.c: New file.
61297         * lib/unistr/u32-strcat.c: New file.
61298         * lib/unistr/u-strcat.h: New file.
61299
61300         * modules/unistr/u8-strchr: New file.
61301         * modules/unistr/u16-strchr: New file.
61302         * modules/unistr/u32-strchr: New file.
61303         * lib/unistr/u8-strchr.c: New file.
61304         * lib/unistr/u16-strchr.c: New file.
61305         * lib/unistr/u32-strchr.c: New file.
61306
61307         * modules/unistr/u8-strcmp: New file.
61308         * modules/unistr/u16-strcmp: New file.
61309         * modules/unistr/u32-strcmp: New file.
61310         * lib/unistr/u8-strcmp.c: New file.
61311         * lib/unistr/u16-strcmp.c: New file.
61312         * lib/unistr/u32-strcmp.c: New file.
61313
61314         * modules/unistr/u8-strcpy: New file.
61315         * modules/unistr/u16-strcpy: New file.
61316         * modules/unistr/u32-strcpy: New file.
61317         * lib/unistr/u8-strcpy.c: New file.
61318         * lib/unistr/u16-strcpy.c: New file.
61319         * lib/unistr/u32-strcpy.c: New file.
61320         * lib/unistr/u-strcpy.h: New file.
61321
61322         * modules/unistr/u8-strcspn: New file.
61323         * modules/unistr/u16-strcspn: New file.
61324         * modules/unistr/u32-strcspn: New file.
61325         * lib/unistr/u8-strcspn.c: New file.
61326         * lib/unistr/u16-strcspn.c: New file.
61327         * lib/unistr/u32-strcspn.c: New file.
61328         * lib/unistr/u-strcspn.h: New file.
61329
61330         * modules/unistr/u8-strdup: New file.
61331         * modules/unistr/u16-strdup: New file.
61332         * modules/unistr/u32-strdup: New file.
61333         * lib/unistr/u8-strdup.c: New file.
61334         * lib/unistr/u16-strdup.c: New file.
61335         * lib/unistr/u32-strdup.c: New file.
61336         * lib/unistr/u-strdup.h: New file.
61337
61338         * modules/unistr/u8-strlen: New file.
61339         * modules/unistr/u16-strlen: New file.
61340         * modules/unistr/u32-strlen: New file.
61341         * lib/unistr/u8-strlen.c: New file.
61342         * lib/unistr/u16-strlen.c: New file.
61343         * lib/unistr/u32-strlen.c: New file.
61344         * lib/unistr/u-strlen.h: New file.
61345
61346         * modules/unistr/u8-strmblen: New file.
61347         * modules/unistr/u16-strmblen: New file.
61348         * modules/unistr/u32-strmblen: New file.
61349         * lib/unistr/u8-strmblen.c: New file.
61350         * lib/unistr/u16-strmblen.c: New file.
61351         * lib/unistr/u32-strmblen.c: New file.
61352
61353         * modules/unistr/u8-strmbtouc: New file.
61354         * modules/unistr/u16-strmbtouc: New file.
61355         * modules/unistr/u32-strmbtouc: New file.
61356         * lib/unistr/u8-strmbtouc.c: New file.
61357         * lib/unistr/u16-strmbtouc.c: New file.
61358         * lib/unistr/u32-strmbtouc.c: New file.
61359
61360         * modules/unistr/u8-strncat: New file.
61361         * modules/unistr/u16-strncat: New file.
61362         * modules/unistr/u32-strncat: New file.
61363         * lib/unistr/u8-strncat.c: New file.
61364         * lib/unistr/u16-strncat.c: New file.
61365         * lib/unistr/u32-strncat.c: New file.
61366         * lib/unistr/u-strncat.h: New file.
61367
61368         * modules/unistr/u8-strncmp: New file.
61369         * modules/unistr/u16-strncmp: New file.
61370         * modules/unistr/u32-strncmp: New file.
61371         * lib/unistr/u8-strncmp.c: New file.
61372         * lib/unistr/u16-strncmp.c: New file.
61373         * lib/unistr/u32-strncmp.c: New file.
61374
61375         * modules/unistr/u8-strncpy: New file.
61376         * modules/unistr/u16-strncpy: New file.
61377         * modules/unistr/u32-strncpy: New file.
61378         * lib/unistr/u8-strncpy.c: New file.
61379         * lib/unistr/u16-strncpy.c: New file.
61380         * lib/unistr/u32-strncpy.c: New file.
61381         * lib/unistr/u-strncpy.h: New file.
61382
61383         * modules/unistr/u8-strnlen: New file.
61384         * modules/unistr/u16-strnlen: New file.
61385         * modules/unistr/u32-strnlen: New file.
61386         * lib/unistr/u8-strnlen.c: New file.
61387         * lib/unistr/u16-strnlen.c: New file.
61388         * lib/unistr/u32-strnlen.c: New file.
61389         * lib/unistr/u-strnlen.h: New file.
61390
61391         * modules/unistr/u8-strpbrk: New file.
61392         * modules/unistr/u16-strpbrk: New file.
61393         * modules/unistr/u32-strpbrk: New file.
61394         * lib/unistr/u8-strpbrk.c: New file.
61395         * lib/unistr/u16-strpbrk.c: New file.
61396         * lib/unistr/u32-strpbrk.c: New file.
61397         * lib/unistr/u-strpbrk.h: New file.
61398
61399         * modules/unistr/u8-strrchr: New file.
61400         * modules/unistr/u16-strrchr: New file.
61401         * modules/unistr/u32-strrchr: New file.
61402         * lib/unistr/u8-strrchr.c: New file.
61403         * lib/unistr/u16-strrchr.c: New file.
61404         * lib/unistr/u32-strrchr.c: New file.
61405
61406         * modules/unistr/u8-strspn: New file.
61407         * modules/unistr/u16-strspn: New file.
61408         * modules/unistr/u32-strspn: New file.
61409         * lib/unistr/u8-strspn.c: New file.
61410         * lib/unistr/u16-strspn.c: New file.
61411         * lib/unistr/u32-strspn.c: New file.
61412         * lib/unistr/u-strspn.h: New file.
61413
61414         * modules/unistr/u8-strstr: New file.
61415         * modules/unistr/u16-strstr: New file.
61416         * modules/unistr/u32-strstr: New file.
61417         * lib/unistr/u8-strstr.c: New file.
61418         * lib/unistr/u16-strstr.c: New file.
61419         * lib/unistr/u32-strstr.c: New file.
61420         * lib/unistr/u-strstr.h: New file.
61421
61422         * modules/unistr/u8-strtok: New file.
61423         * modules/unistr/u16-strtok: New file.
61424         * modules/unistr/u32-strtok: New file.
61425         * lib/unistr/u8-strtok.c: New file.
61426         * lib/unistr/u16-strtok.c: New file.
61427         * lib/unistr/u32-strtok.c: New file.
61428         * lib/unistr/u-strtok.h: New file.
61429
61430         * modules/unistr/u8-uctomb: New file.
61431         * modules/unistr/u16-uctomb: New file.
61432         * modules/unistr/u32-uctomb: New file.
61433         * lib/unistr/u8-uctomb.c: New file.
61434         * lib/unistr/u16-uctomb.c: New file.
61435         * lib/unistr/u32-uctomb.c: New file.
61436
61437         * MODULES.html.sh (Unicode string functions): Add the new modules.
61438
61439 2007-01-08  Bruno Haible  <bruno@clisp.org>
61440
61441         * gnulib-tool (func_all_modules): Use find, not ls, to traverse the
61442         modules directory. Filter out CVS, ChangeLog, COPYING, README also from
61443         subdirectories.
61444
61445 2007-01-08  Karl Berry  <karl@gnu.org>
61446
61447         * doc/error.texi: mention that main() fns must set program_name
61448         when progname is used.
61449
61450 2007-01-08  Paul Eggert  <eggert@cs.ucla.edu>
61451
61452         * m4/wctype.m4 (gl_WCTYPE_H): Compute ABSOLUTE_WCTYPE_H even if
61453         WCTYPE_H is empty, for the benefit of builds from non-distclean
61454         directories.  Problem reported by Eric Blake in
61455         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00157.html>.
61456
61457 2007-01-08  Bruno Haible  <bruno@clisp.org>
61458
61459         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Remove
61460         PROVIDE_CANONICALIZE_FILENAME_MODE macro definition.
61461         * lib/canonicalize.h: Test GNULIB_CANONICALIZE instead of
61462         PROVIDE_CANONICALIZE_FILENAME_MODE.
61463         * modules/canonicalize (configure.ac): Use gl_MODULE_INDICATOR.
61464
61465 2007-01-08  Bruno Haible  <bruno@clisp.org>
61466
61467         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove _LGPL_PACKAGE macro definition.
61468         * lib/fts_.h (_LGPL_PACKAGE): Remove macro.
61469         Use !GNULIB_FTS instead of _LGPL_PACKAGE.
61470         * lib/fts.c: Likewise.
61471         * modules/fts (configure.ac): Use gl_MODULE_INDICATOR.
61472
61473 2006-12-25  Bruno Haible  <bruno@clisp.org>
61474
61475         * modules/utf8-ucs4-safe: New file.
61476         * lib/utf8-ucs4-safe.h: New file.
61477         * lib/unistr/utf8-ucs4-safe.c: New file.
61478
61479         * modules/utf16-ucs4-safe: New file.
61480         * lib/utf16-ucs4-safe.h: New file.
61481         * lib/unistr/utf16-ucs4-safe.c: New file.
61482
61483         * MODULES.html.sh (Unicode string functions): Add the new modules.
61484
61485 2007-01-08  Bruno Haible  <bruno@clisp.org>
61486
61487         * modules/utf8-ucs4 (Files, lib_SOURCES): Add unistr/utf8-ucs4.c.
61488         (Depends-on): Add unitypes.
61489         * lib/utf8-ucs4.h: Add double-inclusion guard. Include unitypes.h.
61490         (u8_mbtouc_aux): Move out to separate file.
61491         (u8_mbtouc): Use ucs4_t, uint8_t types.
61492         * lib/unistr/utf8-ucs4.c: New file.
61493
61494         * modules/utf16-ucs4 (Files, lib_SOURCES): Add unistr/utf16-ucs4.c.
61495         (Depends-on): Add unitypes.
61496         * lib/utf16-ucs4.h: Add double-inclusion guard. Include unitypes.h.
61497         (u16_mbtouc_aux): Move out to separate file.
61498         (u16_mbtouc): Use ucs4_t, uint16_t types.
61499         * lib/unistr/utf16-ucs4.c: New file.
61500
61501         * modules/ucs4-utf8 (Files, lib_SOURCES): Add unistr/ucs4-utf8.c.
61502         (Depends-on): Add unitypes.
61503         * lib/ucs4-utf8.h: Add double-inclusion guard. Include unitypes.h.
61504         (u8_uctomb_aux): Move out to separate file.
61505         (u8_uctomb): Use ucs4_t, uint8_t types.
61506         * lib/unistr/ucs4-utf8.c: New file.
61507
61508         * modules/ucs4-utf16 (Files, lib_SOURCES): Add unistr/ucs4-utf16.c.
61509         (Depends-on): Add unitypes.
61510         * lib/ucs4-utf16.h: Add double-inclusion guard. Include unitypes.h.
61511         (u16_uctomb_aux): Move out to separate file.
61512         (u16_uctomb): Use ucs4_t, uint16_t types.
61513         * lib/unistr/ucs4-utf16.c: New file.
61514
61515 2006-12-25  Bruno Haible  <bruno@clisp.org>
61516
61517         * modules/unitypes: New file.
61518         * lib/unitypes.h: New file.
61519         * MODULES.html.sh (func_all_modules): New section "Unicode string
61520         functions". Move ucs4-utf8, ucs4-utf16, utf8-ucs4, utf16-ucs4 to
61521         this section. Add unitypes.
61522
61523 2007-01-08  Bruno Haible  <bruno@clisp.org>
61524
61525         Avoid variable names that conflict with those from libtool.
61526         * m4/lib-link.m4 (AC_LIB_RPATH, AC_LIB_LINKFLAGS_BODY,
61527         AC_LIB_LINKFLAGS_FROM_LIBS): Rename libext to acl_libext,
61528         shlibext to acl_shlibext, libname_spec to acl_libname_spec,
61529         library_names_spec to acl_library_names_spec, hardcode_* to
61530         acl_hardcode_*.
61531         Reported by Ralf Wildenhues.
61532
61533 2007-01-08  Bruno Haible  <bruno@clisp.org>
61534
61535         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Remove GC_USE_ARCFOUR macro
61536         definition.
61537         * m4/gc-arctwo.m4 (gl_GC_ARCTWO): Remove GC_USE_ARCTWO macro
61538         definition.
61539         * m4/gc-des.m4 (gl_GC_DES): Remove GC_USE_DES macro definition.
61540         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Remove GC_USE_HMAC_MD5 macro
61541         definition.
61542         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Remove GC_USE_HMAC_SHA1 macro
61543         definition.
61544         * m4/gc-md2.m4 (gl_GC_MD2): Remove GC_USE_MD2 macro definition.
61545         * m4/gc-md4.m4 (gl_GC_MD4): Remove GC_USE_MD4 macro definition.
61546         * m4/gc-md5.m4 (gl_GC_MD5): Remove GC_USE_MD5 macro definition.
61547         * m4/gc-random.m4 (gl_GC_RANDOM): Remove GC_USE_RANDOM macro
61548         definition.
61549         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Remove GC_USE_RIJNDAEL macro
61550         definition.
61551         * m4/gc-sha1.m4 (gl_GC_SHA1): Remove GC_USE_SHA1 macro definition.
61552         * lib/gc-gnulib.c: Use GNULIB_GC_<algorithm> instead of
61553         GC_USE_<algorithm>.
61554         * lib/gc-libgcrypt.c: Likewise.
61555         * modules/gc-arcfour (configure.ac): Use gl_MODULE_INDICATOR.
61556         * modules/gc-arctwo (configure.ac): Likewise.
61557         * modules/gc-des (configure.ac): Likewise.
61558         * modules/gc-hmac-md5 (configure.ac): Likewise.
61559         * modules/gc-hmac-sha1 (configure.ac): Likewise.
61560         * modules/gc-md2 (configure.ac): Likewise.
61561         * modules/gc-md4 (configure.ac): Likewise.
61562         * modules/gc-md5 (configure.ac): Likewise.
61563         * modules/gc-random (configure.ac): Likewise.
61564         * modules/gc-rijndael (configure.ac): Likewise.
61565         * modules/gc-sha1 (configure.ac): Likewise.
61566
61567 2007-01-08  Bruno Haible  <bruno@clisp.org>
61568
61569         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove GNULIB_CLOSE_STREAM
61570         macro definition.
61571         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove GNULIB_FCNTL_SAFER macro
61572         definition.
61573         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove GNULIB_FOPEN_SAFER macro
61574         definition.
61575         * modules/close-stream (configure.ac): Invoke gl_MODULE_INDICATOR.
61576         * modules/fcntl-safer (configure.ac): Likewise.
61577         * modules/fopen-safer (configure.ac): Likewise.
61578         * modules/fwriteerror (configure.ac): Likewise. Remove explicit
61579         GNULIB_FWRITEERROR macro definition.
61580
61581 2007-01-08  Bruno Haible  <bruno@clisp.org>
61582
61583         * m4/gnulib-common.m4: New file.
61584         * gnulib-tool (func_get_autoconf_snippet): Undo last change.
61585         (func_get_filelist): Add m4/gnulib-common.m4.
61586
61587 2007-01-08  Bruno Haible  <bruno@clisp.org>
61588
61589         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Simplify the sorting
61590         command.
61591
61592 2007-01-08  Jim Meyering  <jim@meyering.net>
61593
61594         Use a more robust test for a "can't happen" condition.
61595         * lib/fts.c (fts_read): Revert the change of 2006-11-22, since it
61596         narrowed the st_size value.  Presuming the "can't happen" condition
61597         is true, that narrowing could conceivably convert an invalid st_size
61598         value into a valid one.  Instead, use a change based on Matthew
61599         Woehlke's original patch.
61600
61601         Slight readability improvement: use an assert-like macro
61602         in place of literal "abort ()" uses.
61603         * lib/fts.c (fts_assert): Define.
61604         (fts_set_stat_required, cwd_advance_fd, fts_read, fd_ring_check):
61605         Use this macro instead of a bare 'abort'.
61606
61607 2007-01-05  Paul Eggert  <eggert@cs.ucla.edu>
61608
61609         Don't worry about using IRIX 5.3's wctype.h broken definitions;
61610         simply work around them.
61611         * lib/wctype_.h: Remove test for HAVE_WCTYPE_CTMP_BUG.
61612         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower):
61613         (iswprint, iswpunct, iswspace, iswupper, iswxdigit): Undef before
61614         declaring.
61615         Don't bother to define as macros, since the standard doesn't require it.
61616         * m4/wctype.m4 (WCTYPE_H, ABSOLUTE_WCTYPE_H): Simplify, since we no
61617         longer worry about IRIX 5.3.
61618         (HAVE_WCTYPE_CTMP_BUG): Remove.
61619
61620 2007-01-04  Paul Eggert  <eggert@cs.ucla.edu>
61621
61622         * lib/wctype_.h (_ctmp_) [HAVE_WCTYPE_CTMP_BUG]: Now of type wchar_t,
61623         not wint_t.  Also, include <ctype.h>, to fix another IRIX bug.
61624         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
61625         Problems reported by Georg Schwarz for IRIX 5.3.
61626
61627         * gnulib-tool (autoconf_minversion): Take the maximum version number
61628         found, not the minimum.  Problem reported by James Youngman.
61629
61630 2007-01-03  Karl Berry  <karl@gnu.org>
61631
61632         * doc/error.texi: new file, explaining interaction with progname.
61633         * doc/gnulib.texi: include it.  Update copyright.
61634
61635 2007-01-03  Simon Josefsson  <simon@josefsson.org>
61636
61637         * gnulib-tool (func_create_testdir): Run AC_CANONICAL_BUILD and
61638         AC_CANONICAL_HOST, to improve autobuild outputs.
61639
61640 2007-01-03  Paolo Bonzini  <bonzini@gnu.org>
61641             Yoann Vandoorselaere <yoann.v@prelude-ids.com>
61642
61643         * lib/poll.c (poll): Use recv on Mac OS X to distinguish connected
61644         sockets, server sockets, and other file descriptors.  Count errors
61645         to compute the return value.  Reorder the code a bit to be easier
61646         to follow.  Don't set event bits that were not requested (except
61647         POLLERR and POLLHUP).
61648
61649 2007-01-01  Bruno Haible  <bruno@clisp.org>
61650
61651         * modules/lchmod (Include): Require lchmod.h, not lchown.h.
61652
61653 2007-01-03  Jim Meyering  <jim@meyering.net>
61654
61655         * modules/fts-lgpl (Depends-on): Add i-ring.  Reported by Bruno Haible.
61656
61657 2007-01-02  Bruno Haible  <bruno@clisp.org>
61658
61659         * modules/settime (Include): Require timespec.h.
61660         * modules/nanosleep (Include): Likewise.
61661
61662 2007-01-01  Bruno Haible  <bruno@clisp.org>
61663
61664         * gnulib-tool (func_emit_copyright_notice): Bump year.
61665         (func_get_autoconf_snippet): Emit a GNULIB_<modulename> macro.
61666
61667 2007-01-01  Bruno Haible  <bruno@clisp.org>
61668
61669         Improve support for OpenBSD.
61670         * build-aux/config.rpath (libname_spec): Export.
61671         (library_names_spec): New variable. Export.
61672         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Extract libname_spec and
61673         library_names_spec from the config.rpath output. Locate shared library
61674         through the name pattern in library_names_spec.
61675
61676 2007-01-01  Eric Blake  <ebb9@byu.net>
61677
61678         * lib/version-etc.c (COPYRIGHT_YEAR): Bump for new year.
61679
61680 2006-12-30  Paul Eggert  <eggert@cs.ucla.edu>
61681
61682         * gnulib-tool (SORT): Remove, since we no longer assume GNU sort.
61683         Rewrite so as not to assume GNU sort or "tail -1".  Also, don't
61684         assume the C locale, and avoid an "eval" that could cause trouble.
61685         Problem with SORT reported by Bob Proulx.
61686
61687         * lib/getpagesize.h (getpagesize) [defined __amigaos4__]:
61688         Define.  Trivial patch from Henning Nielsen Lund, originally
61689         sent to bug-grep@gnu.org today.
61690
61691 2006-12-29  Paul Eggert  <eggert@cs.ucla.edu>
61692
61693         * lib/acl.h: Include sys/types.h and sys/stat.h, for mode_t and
61694         struct stat.  Problem reported by Henning Nielsen Lund.
61695         * lib/acl.c: Include acl.h first, to check interface.  Don't
61696         bother to include sys/types.h and sys/stat.h again.
61697
61698 2006-12-28  Paul Eggert  <eggert@cs.ucla.edu>
61699
61700         Import the following change from libc; problem reported by
61701         Sven Verdoolaege.
61702
61703         2005-10-13  Ulrich Drepper  <drepper@redhat.com>
61704
61705         [BZ #1373]
61706         * lib/argp.h: Remove __NTH for __argp_usage inline function.
61707
61708 2006-12-28  Jim Meyering  <jim@meyering.net>
61709
61710         * build-aux/announce-gen: Do not assume that the package
61711         builds any of tar.gz, tar.bz2, and .xdelta files.
61712         Suggestion from Simon Josefsson.
61713
61714 2006-12-28  Simon Josefsson  <simon@josefsson.org>
61715
61716         * modules/announce-gen: New file.
61717
61718 2006-12-27  Paul Eggert  <eggert@cs.ucla.edu>
61719
61720         * lib/mbchar.h: Just include <wctype.h>; the wctype module
61721         handles its gotchas now.
61722         * lib/mbswidth.c: Likewise.
61723         * lib/wcwidth.h: Likewise.
61724         * m4/mbchar.m4 (gl_MBCHAR): Don't bother checking for wctype.h
61725         and iswcntrl; the wctype module does this stuff now.
61726         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
61727         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
61728         * modules/mbchar (Depends-on): Add wctype.
61729         * modules/mbswidth (Depends-on): Likewise.
61730         * modules/wcwidth (Depends-on): Likewise.
61731
61732 2006-12-27  Eric Blake  <ebb9@byu.net>
61733
61734         * lib/fnmatch.c: Reinstate inclusion of <wchar.h>, since this
61735         module uses more than what <wctype.h> is required to provide.
61736
61737 2006-12-26  Eric Blake  <ebb9@byu.net>
61738
61739         * gnulib-tool (sed_extract_prog): Avoid space-tab.
61740
61741 2006-12-26  Eric Blake  <ebb9@byu.net>
61742
61743         * modules/absolute-header: New module.
61744         * modules/fcntl (Depends-on): Depend on it.
61745         * modules/inttypes (Depends-on): Likewise.
61746         * modules/stdint (Depends-on): Likewise.
61747         * modules/sys_stat (Depends-on): Likewise.
61748         * modules/wctype (Depends-on): Likewise.
61749         * MODULES.html.sh (Support for building libraries and
61750         executables): Document it.
61751
61752 2006-12-25  Paul Eggert  <eggert@cs.ucla.edu>
61753
61754         * gnulib-tool (SED): Remove, undoing previous change.
61755         The problem was that it broke coreutils on Solaris, because
61756         "sed --posix" leaked into a makefile.
61757         (sed): New alias, if 'alias' and GNU sed.
61758
61759 2006-12-24  Jim Meyering  <jim@meyering.net>
61760
61761         Work around an fchownat bug in glibc-2.4:
61762         http://lists.ubuntu.com/archives/ubuntu-users/2006-September/093218.html
61763         This bug would cause "chown -RP ... DIR" to follow symlinks in DIR,
61764         in spite of the -P option.
61765         * m4/openat.m4 (gl_FUNC_FCHOWNAT, gl_FUNC_FCHOWNAT_DEREF_BUG):
61766         New macros.
61767         (gl_PREREQ_OPENAT): Require gl_FUNC_FCHOWNAT.
61768         * modules/openat (Files): Add lib/fchownat.c.
61769         * lib/openat.c (fchownat): Don't define here.  Move to...
61770         * lib/fchownat.c: ...this new file.
61771
61772 2006-12-23  Paul Eggert  <eggert@cs.ucla.edu>
61773
61774         Fix bug reported by Bruno Haible in
61775         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00228.html>
61776         where quotearg.c didn't compile on Mac OS X 10.2 because it
61777         lacks <wchar.h> and wint_t.
61778         * lib/wctype_.h (__wctype_wint_t): New type.
61779         Include <stdio.h>, <time.h>, <wchar.h> only if HAVE_WINT_T.
61780         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph):
61781         (iswlower, iswprint, iswpunct, iswspace, iswupper, ixwxdigit):
61782         Arg is now of type __wctype_wint_t, not wint_t.
61783         * m4/wctype.m4 (gl_WCTYPE_H): Require gt_TYPE_WINT_T, and
61784         substitute HAVE_WINT_T.
61785         * modules/wctype (Files): Add m4/wint_t.m4.
61786         (wctype.h): Substitute HAVE_WINT_T.
61787
61788 2006-12-23  Bruno Haible  <bruno@clisp.org>
61789
61790         * lib/safe-read.h [C++]: Wrap declarations in extern "C".
61791
61792 2006-12-23  Bruno Haible  <bruno@clisp.org>
61793
61794         * lib/canonicalize-lgpl.c (__realpath): Test HAVE_READLINK instead of
61795         S_ISLNK.
61796         Needed because gnulib's sys/stat.h replacement defines S_ISLNK on
61797         mingw.
61798
61799 2006-12-22  Bruno Haible  <bruno@clisp.org>
61800
61801         * lib/copy-file.c: Include acl.h.
61802         (copy_file_preserving) [USE_ACL]: Use copy_acl instead of chmod.
61803         Close the file descriptors only after being done with copy_acl.
61804         * modules/copy-file (Depends-on): Add acl.
61805
61806 2006-12-22  Bruno Haible  <bruno@clisp.org>
61807
61808         * gnulib-tool (SED): New variable.
61809         Use $SED instead of sed everywhere.
61810
61811 2006-12-22  Bruno Haible  <bruno@clisp.org>
61812
61813         * modules/no-c++: New file.
61814         * m4/no-c++.m4: New file.
61815         * MODULES.html.sh (Support for building libraries and executables):
61816         Add no-c++.
61817
61818 2006-12-22  Paul Eggert  <eggert@cs.ucla.edu>
61819
61820         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
61821         Include <limits.h>, and use its INT_MAX to rewrite the
61822         j loop so that it does not overflow 'int'.  Problem reported by
61823         Ralf Wildenhues in
61824         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00084.html>.
61825         Play it safe by shifting left by 1 rather than multiplying by 2,
61826         as GCC is less likely to optimize this away when the value
61827         is signed (when it assumes overflow leads to undefined behavior).
61828         Also, don't assume time_t uses two's complement.
61829
61830 2006-12-21  Paul Eggert  <eggert@cs.ucla.edu>
61831
61832         * MODULES.html.sh: New module wctype.
61833         * lib/wctype_.h, m4/wctype.m4, modules/wctype: New files.
61834         * lib/fnmatch.c: Don't bother to include <wchar.h> before
61835         <wctype.h>, since the new wctype module should fix this.
61836         * lib/quotearg.c: Include <wctype.h> unconditionally, since
61837         the wctype module should arrange for it.
61838         * lib/regex_internal.h: Likewise.
61839         * m4/quotearg.m4 (gl_QUOTEARG): Don't check for wctype.h or iswprint,
61840         since the wctype module should handle this now.
61841         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wctype.h.
61842         * modules/fnmatch (Depends-on): Add wctype.
61843         * modules/quotearg (Depends-on): Likewise.
61844         * modules/regex (Depends-on): Likewise.
61845
61846 2006-12-19  Bruno Haible  <bruno@clisp.org>
61847
61848         * lib/strdup.h [C++]: Wrap definitions in extern "C".
61849         Suggested by Lorenzo Bettini <bettini@dsi.unifi.it>.
61850
61851 2006-12-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61852
61853         * modules/savewd (Depends-on): Fix dependency on fcntl.
61854
61855 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
61856
61857         * m4/stdint.m4 (gl_STDINT_H): Set STDINT_H to empty if stdint.h
61858         conforms to C99, rather than relying on the user's environment
61859         setting of STDINT_H.
61860
61861 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
61862         and Eric Blake  <ebb9@byu.net>
61863
61864         * lib/dirname.h (DOUBLE_SLASH_IS_DISTINCT_ROOT): Default to 0, not 1.
61865         This is more consistent with the other defines here.
61866         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT):
61867         Port to z/OS.  Problem reported by Paul Gilmartin.
61868         Change local vars to use gl_ prefix rather than ac_.
61869         Don't define DOUBLE_SLASH_IS_DISTINCT_ROOT to 0, for consistency
61870         with other defines.
61871         * modules/double-slash-root: New module.
61872         * modules/dirname (Files): Remove m4/double-slash-root.m4.
61873         (Depends-on): Add double-slash-root.
61874         * MODULES.html.sh (File system functions): Mention new module.
61875
61876 2006-12-14  Paul Eggert  <eggert@cs.ucla.edu>
61877
61878         * lib/yesno.c [!ENABLE_NLS]: Don't include getline.h.
61879         (yesno) [!ENABLE_NLS]: Don't invoke getline or rpmatch.
61880         This is for the benefit of gzip, which doesn't do i18n.
61881
61882 2006-12-12  Jim Meyering  <jim@meyering.net>
61883
61884         * m4/acl.m4 (gl_ACL_GET_FILE): Fix logic error.
61885         Reported by Andreas Schwab <schwab@suse.de>.
61886
61887 2006-12-12  Bruno Haible  <bruno@clisp.org>
61888
61889         Merge these changes.
61890         2006-09-05  Bruno Haible  <bruno@clisp.org>
61891         * lib/iconvme.c (iconv_string): No need to save and restore errno when
61892         iconv_alloc succeeded.
61893         (iconv_alloc): Don't assume that malloc() or realloc(), when failing,
61894         sets errno to ENOMEM. (malloc on GNU/kFreeBSD doesn't.) No need to
61895         test for " && dest " at the end - dest is always != NULL there. Call
61896         iconv with 4xNULL arguments initially, to reset the state. Call iconv
61897         with 2xNULL arguments, also to flush the state storage. Handle the
61898         IRIX iconv behaviour. Realloc the final result, to throw away unused
61899         memory.
61900
61901 2006-12-11  Paul Eggert  <eggert@cs.ucla.edu>
61902
61903         * m4/openat.m4 (gl_FUNC_OPENAT): Don't compile mkdirat
61904         and fchmodat unconditionally, since glibc 2.4 has them.
61905         Problem reported by Arkadiusz Miskiewicz.
61906
61907 2006-12-10  Bruno Haible  <bruno@clisp.org>
61908
61909         * gnulib-tool (func_import): Show the include files only for those
61910         modules that are copied and specified.
61911         Reported by Karl Berry.
61912
61913 2006-12-08  Jim Meyering  <jim@meyering.net>
61914
61915         * build-aux/announce-gen ($VERSION): Don't use of $Revision...$.
61916         Instead, use Emacs' time-stamp write hook.  Note that the time is UTC.
61917
61918         * build-aux/announce-gen: Add two new options, both optional:
61919         --bootstrap-tools=TOOL_LIST
61920               a comma-separated list of tools, e.g.,
61921               autoconf,automake,bison,gnulib
61922         --gnulib-snapshot-date=DATE
61923               if gnulib is in the bootstrap tool list,
61924               then report this as the snapshot date.
61925               If not specified, use the current date/time.
61926               If you specify a date here, be sure it's UTC.
61927
61928 2006-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61929
61930         * tests/test-argp-2.sh: Fix test to match actual output.
61931         (func_compare): Fix sed script to be portable.
61932
61933 2006-12-05  Paul Eggert  <eggert@cs.ucla.edu>
61934
61935         * lib/utimens.c (futimens) [HAVE_BUGGY_NFS_TIME_STAMPS]: Add a
61936         workaround for this case.  It is not autoconfigured now; offhand
61937         it's hard to see how to autoconfigure it.
61938
61939 2006-12-03  Paul Eggert  <eggert@cs.ucla.edu>
61940
61941         * lib/mkdir-p.c (make_dir_parents): Fix race condition when making
61942         a directory that is about to be chowned.  Such a directory's
61943         initial file permissions should permit the owner only and this
61944         should not be changed until after the chown, since the group and
61945         other bits would be incorrect if they granted permission before
61946         the chown.
61947
61948         Fix porting problem for iswctype reported by Georg Schwarz in:
61949         http://lists.gnu.org/archive/html/bug-coreutils/2006-12/msg00017.html
61950         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Require HAVE_ISWCTYPE, too.
61951         * lib/regex_internal.h (RE_ENABLE_I18N): Likewise.
61952         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for iswctype, too.
61953         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
61954
61955 2006-12-03  Jim Meyering  <jim@meyering.net>
61956
61957         * lib/fts.c (fts_load): Don't set sp->fts_dev here, since
61958         p->fts_statp may not yet be defined.
61959         (fts_read): Instead, set it in the caller, once p->fts_statp is
61960         sure to be defined, and corresponds to a top-level directory.
61961         This bug made du -x fail.  Here's the coreutils test case:
61962         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commit;h=ba45154d8e9f
61963         Reported by Mike Frysinger.
61964
61965 2006-12-01  Jim Meyering  <jim@meyering.net>
61966
61967         * modules/savewd (Depends-on): Add fcntl_h to avoid self-test
61968         build failure due to missing definition of HAVE_WORKING_O_NOFOLLOW.
61969         Reported by Simon Josefsson.
61970
61971 2006-11-30  Jim Meyering  <jim@meyering.net>
61972
61973         * m4/warning.m4: Use the all-permissive copyright notice
61974         recommended by RMS (rather than LGPL).
61975         * m4/vararrays.m4: Likewise.
61976         * m4/flexmember.m4: Likewise.
61977
61978 2006-11-29  Bruno Haible  <bruno@clisp.org>
61979
61980         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
61981         noinst_LIBRARIES. Augment noinst_LIBRARIES and noinst_LTLIBRARIES
61982         using +=.
61983         Reported by Simon Josefsson <simon@josefsson.org>.
61984
61985 2006-11-28  James Youngman <jay@gnu.org>
61986
61987         * README: Advise users that they might find the bug-gnulib@gnu.org
61988         and autotools-announce@gnu.org mailing lists useful.
61989
61990 2006-11-28  Bruno Haible  <bruno@clisp.org>
61991
61992         * m4/ptrdiff_max.m4: Remove file.
61993
61994 2006-11-21  Bruno Haible  <bruno@clisp.org>
61995
61996         * m4/eoverflow.m4 (gl_EOVERFLOW): Use AC_COMPUTE_INT instead of
61997         _AC_COMPUTE_INT.
61998         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
61999         * m4/ptrdiff_max.m4 (gl_PTRDIFF_MAX): Use AC_COMPUTE_INT instead of
62000         _AC_COMPUTE_INT.
62001         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
62002         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_COMPUTE_INT instead of
62003         _AC_COMPUTE_INT.
62004         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
62005
62006 2006-11-28  Jim Meyering  <jim@meyering.net>
62007
62008         * lib/regcomp.c (parse_branch): Rename local, exp->expr, to avoid
62009         warning from "gcc -Wshadow" about shadowing the builtin.
62010
62011 2006-11-27  Bruno Haible  <bruno@clisp.org>
62012
62013         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): Use AC_COMPUTE_INT instead of
62014         _AC_COMPUTE_INT.
62015         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
62016
62017 2006-11-27  Bruno Haible  <bruno@clisp.org>
62018             Paul Eggert  <eggert@cs.ucla.edu>
62019
62020         * lib/regex.h (__restrict_arr): Redo logic of #if, for clarity.
62021
62022 2006-11-26  Bruno Haible  <bruno@clisp.org>
62023
62024         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
62025         noinst_LTLIBRARIES.
62026
62027 2006-11-27  Paul Eggert  <eggert@cs.ucla.edu>
62028             Bruno Haible  <bruno@clisp.org>
62029
62030         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to 0
62031         if compiling with "gcc -ansi".
62032
62033 2006-11-26  Paul Eggert  <eggert@cs.ucla.edu>
62034
62035         Fix some incompatibilities with gcc -ansi -pedantic.
62036         * lib/regex.h (__restrict_arr): Don't use the [restrict] syntax
62037         if compiling pedantically with GCC, unless it's C99 or later.
62038         Don't trust sys/cdefs.h's definition of __restrict_arr, either, as
62039         it mishandles gcc -ansi -pedantic as well.
62040         * lib/regex_internal.h (re_token_t): Don't use enum bitfields
62041         if gcc -pedantic.
62042         * lib/regexec.c (check_node_accept_bytes): Don't use auto
62043         initializers for struct if -pedantic, unless it's C99 or later.
62044
62045 2006-11-25  Nix  <nix@esperi.org.uk>  (tiny change)
62046
62047         * m4/fcntl_h.m4 (gl_FCNTL_H): Test the atime, not the mtime.
62048         Don't close an fd more than once. Identical atimes indicate
62049         success, not failure.
62050
62051 2006-11-22  Robinson Mittmann <bob@hoplon.com>  (tiny change)
62052
62053         * lib/sincosl.c (kernel_sinl): Fix typo in threshold.
62054
62055 2006-11-23  Jim Meyering  <jim@meyering.net>
62056
62057         * build-aux/announce-gen: New file.  From coreutils.
62058
62059 2006-11-22  Jim Meyering  <jim@meyering.net>
62060
62061         Work around a compile-time error from the HP-UX 11.00 /bin/cc.
62062         * lib/fts.c (enum Fts_stat): Give this previously-anon enum a name.
62063         (fts_read): Use a temporary to narrow the overused st_size member
62064         before using it in a switch statement.  Reported by Matthew Woehlke.
62065
62066         * m4/clock_time.m4 (gl_CLOCK_TIME): Quote AC_SUBST argument.
62067         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
62068
62069 2006-11-20  Bruno Haible  <bruno@clisp.org>
62070
62071         * gettext.m4 (AM_GNU_GETTEXT): Revert 2005-07-28 patch: Use
62072         changequote instead of pairs of brackets.
62073         Reported by Andreas Schwab <schwab@suse.de>.
62074
62075 2006-11-21  Jim Meyering  <jim@meyering.net>
62076
62077         * lib/fts.c (fts_safe_changedir): Move a declaration "up",
62078         so as to remain compatible with older compilers.
62079         Patch from Michael Deutschmann.
62080
62081 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
62082
62083         * MODULES.html.sh (File system functions): Add openat.
62084
62085         * lib/openat.h (rpl_fstatat): New macro, if
62086         [HAVE_OPENAT && ! LSTAT_FOLLOWS_SLASHED_SYMLINK.
62087         (fstatat): Define to rpl_fstatat under the same conditions,
62088         unless COMPILING_FSTATAT.
62089         * m4/openat.m4 (gl_FUNC_OPENAT): Compile fstatat.c too, if fstatat
62090         seems to have the bug.
62091         * lib/fstatat.c: New file.
62092         * modules/openat (Files): Add it.
62093
62094 2006-11-20  Bruno Haible  <bruno@clisp.org>
62095
62096         * Makefile: New file.
62097
62098 2006-11-20  Jim Meyering  <jim@meyering.net>
62099
62100         The beginnings of syntax-related checks for gnulib.
62101         * lib/Makefile: New file.
62102         * lib/t-idcache: New script.  Ensure that the two halves of
62103         idcache.c stay in sync.
62104
62105         * lib/idcache.c: Adjust comments in user- and group- portions to
62106         be more accurate, and to be consistent with one another.
62107
62108 2006-11-20  Jim Meyering  <jim@meyering.net>
62109
62110         * lib/idcache.c: Restore most of the 2006-11-06 patch, so as to
62111         continue using the flexible array member (thus, this module performs
62112         half as many malloc calls), with the addition that...
62113         (getgroup, getuser): Consistently record a non-match via an empty
62114         "name" string, and map an empty string match to a NULL return value.
62115         * modules/idcache (Depends-on): Re-add flexmember.
62116
62117         * lib/idcache.c (getuser): Remove all uses of the register keyword.
62118         (getuidbyname, getgroup, getgidbyname): Likewise.
62119
62120         Use cleaner syntax: NULL rather than 0.
62121         * lib/idcache.c (getuidbyname, getgidbyname): Return NULL, not 0.
62122
62123 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
62124
62125         * lib/idcache.c: Undo most recent patch, dated 2006-11-06.
62126         It mishandled the case where the group was missing.
62127         Problem reported by Greg Schafer.
62128         * modules/idcache: Likewise.
62129
62130 2006-11-18  Jim Meyering  <jim@meyering.net>
62131
62132         * check-module (%exempt_header): Add exception for some
62133         conditionally-included headers.
62134
62135         * modules/i-ring (Depends-on): Add verify.
62136         (License): Change to LGPL.
62137
62138 2006-11-16  Paul Eggert  <eggert@cs.ucla.edu>
62139
62140         * modules/getaddinfo (Depends-on): Remove inttostr; add snprintf.
62141         * lib/getaddrinfo.c: Include snprintf.h rather than intprops.h
62142         and inttostr.h.  Use snprintf rather than uinttostr, so that
62143         LGPLed code doesn't depend on GPLed.
62144
62145 2006-11-17  Paul Eggert  <eggert@cs.ucla.edu>
62146
62147         * modules/inline (License): Change from GPL to LGPL.
62148
62149 2006-11-17  Jim Meyering  <jim@meyering.net>
62150
62151         * modules/d-type (License): Switch to LGPL.
62152
62153 2006-11-15  Bruno Haible  <bruno@clisp.org>
62154
62155         * m4/alloca.m4 (gl_FUNC_ALLOCA): Fix the AC_CACHE_CHECK message.
62156
62157 2006-11-15  Eric Blake  <ebb9@byu.net>
62158
62159         * m4/allocsa.m4 (gl_ALLOCSA): Don't invoke macro already picked up by
62160         the module dependency.
62161
62162 2006-11-15  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
62163             Bruno Haible  <bruno@clisp.org>
62164
62165         * gnulib-tool (func_create_testdir): Add license consistency check.
62166
62167 2006-11-15  Eric Blake  <ebb9@byu.net>
62168
62169         * m4/alloca.m4 (gl_FUNC_ALLOCA): Use AC_CACHE_CHECK to avoid a
62170         random "(cached)" in configure output.
62171
62172 2006-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62173
62174         * m4/inttypes.m4 (gl_INTTYPES_H): Use AC_CACHE_CHECK so that the
62175         test for conforming inttypes.h is both announced and cached.
62176
62177         * MODULES.html.sh (seen_modules, seen_files): New variables.
62178         (func_module): Rewrite to use a few less gnulib-tool and sed
62179         invocations.  Avoid a couple of quadratic algorithms for ...
62180         (missed_modules, missed_files): ... these, with ...
62181         (func_append, func_tmpdir): ... these new functions, from
62182         gnulib-tool.  Analogously, install traps for cleanup.
62183
62184         * tests/test-gc.c (main): Remove unused variables.
62185         * tests/test-read-file.c: Include stdlib.h, for 'free'.
62186
62187 2006-11-14  Paul Eggert  <eggert@cs.ucla.edu>
62188
62189         * modules/inttostr (License): Change to LGPL.
62190
62191 2006-11-14  Eric Blake  <ebb9@byu.net>
62192
62193         * modules/tempname (License): Change to LGPL.
62194
62195 2006-11-14  Eric Blake  <ebb9@byu.net>
62196
62197         * doc/functions.texi (Function Portability): *printf functions on
62198         Cygwin now understand all POSIX size specifiers.
62199
62200 2006-11-14  Bruno Haible  <bruno@clisp.org>
62201
62202         * modules/c-ctype (License): Change to LGPL.
62203
62204 2006-11-12  Bruno Haible  <bruno@clisp.org>
62205
62206         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
62207         AC_LIB_LINKFLAGS_BODY): Also set a LIB${NAME}_PREFIX variable. Needed
62208         for GNOME libraries, for which the include files are installed in
62209         subdirectories of $prefix/include.
62210
62211 2006-11-12  Bruno Haible  <bruno@clisp.org>
62212
62213         * m4/lib-link.m4: Require at least autoconf-2.54.
62214         (AC_LIB_LINKFLAGS_BODY) [autoconf < 2.61]: Turn dots into the library
62215         name to underscores for the --with option.
62216
62217 2006-11-13  Bruno Haible  <bruno@clisp.org>
62218
62219         * gnulib-tool (func_create_testdir): Set gl_source_base correctly in
62220         the tests directory.
62221         Reported by Ralf Wildenhues.
62222
62223 2006-11-13  Bruno Haible  <bruno@clisp.org>
62224
62225         * gnulib-tool (func_emit_initmacro_start): Also override AC_LIBSOURCES.
62226         (func_emit_initmacro_end): Undo the override here.
62227         (func_emit_initmacro_done): Emit a definition for gl_LIBSOURCES.
62228         Works around the famous automake error in coreutils.
62229
62230 2006-11-13  Eric Blake  <ebb9@byu.net>
62231
62232         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Return the
62233         element, not its node.
62234
62235 2006-11-12  Bruno Haible  <bruno@clisp.org>
62236
62237         * gnulib-tool (func_emit_lib_Makefile_am): Replace occurrences of
62238         '$(top_srcdir)/build-aux/', taking into account the real auxdir.
62239
62240 2006-11-12  Bruno Haible  <bruno@clisp.org>
62241
62242         * gnulib-tool: New option --local-symlink.
62243         (func_usage): Document it.
62244         (lsymbolic): New variable.
62245         (func_import, func_create_testdir): If --symlink was not specified,
62246         test whether --local-symlink was specified and the file comes from
62247         the local_gnulib_dir.
62248
62249 2006-11-12  Bruno Haible  <bruno@clisp.org>
62250
62251         * gnulib-tool (func_ln): New function.
62252         (func_ln_if_changed, func_create_testdir): Use it instead of "ln -s".
62253
62254 2006-11-12  Bruno Haible  <bruno@clisp.org>
62255
62256         Finish support for source files in subdirectories.
62257         * gnulib-tool (func_emit_lib_Makefile_am): If some of the source files
62258         are in subdirectories, set uses_subdirs and add 'subdir-objects' to
62259         AUTOMAKE_OPTIONS.
62260         (func_import, func_create_testdir): Invoke AM_PROG_CC_C_O in this case.
62261
62262 2006-11-12  Bruno Haible  <bruno@clisp.org>
62263
62264         * gnulib-tool (func_get_automake_snippet): Synthesize also an
62265         EXTRA_lib_SOURCES augmentation.
62266         (func_emit_lib_Makefile_am): Initialize EXTRA_lib..._SOURCES to empty.
62267
62268 2006-11-12  Jim Meyering  <jim@meyering.net>
62269
62270         Make fts (in FTS_CWDFD mode) more efficient by caching a few open
62271         file descriptors.  This also averts a failure on systems with
62272         native openat support when a traversed directory lacks "x" access.
62273         * lib/fts_.h: Include "i-ring.h"
62274         (struct FTS) [fts_fd_ring]: New member.
62275         * lib/fts.c (RESTORE_INITIAL_CWD): Also call fd_ring_clear.
62276         (FCHDIR): Add parentheses.
62277         (fd_ring_check, fd_ring_print) [!FTS_DEBUG]: Define away.
62278         (cwd_advance_fd): Add a 3rd parameter.  Adjust all callers.
62279         When descending, rather than simply closing the previous
62280         fts_cwd_fd value, push that file descriptor onto the ring.
62281         (same_fd, fd_ring_print, fd_ring_check) [FTS_DEBUG]: New functions.
62282         (fts_open): Initialize the new fd_ring member.
62283         (fts_close): Clear the ring.
62284         (fts_safe_changedir): When possible, use our new fd_ring to skip
62285         the diropen and fstat and dev/ino comparison that would normally
62286         accompany a virtual `chdir ("..")'.
62287
62288         * modules/fts (Depends-on): Add i-ring.
62289         * modules/i-ring: New module.
62290         * lib/i-ring.c, lib/i-ring.h, lib/i-ring-test.c: New files.
62291         * m4/i-ring.m4: New file.
62292
62293 2006-11-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62294
62295         * gnulib-tool (func_create_testdir): Fix replacement of
62296         `build-aux' in configure.ac.  Run autotools in gltests
62297         subdirectory.
62298         (func_create_testdir, func_create_megatestdir, test): There is
62299         no need for '--force' in most autotool invocations in a new
62300         tree.  Actually fail the whole test if any of the tools, or the
62301         configure or make stages fail.
62302
62303         Sync from Automake.
62304         * build-aux/gnupload: Revert last change.  Add pointer to upload
62305         instructions of the GNU Maintenance Instructions.
62306         Suggestion by Karl Berry.
62307
62308 2006-11-10  Jim Meyering  <jim@meyering.net>
62309
62310         * lib/fts.c [FTS_DEBUG]: Don't try to print a pointer via %s.
62311
62312 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
62313
62314         * lib/gettext.h (dgettext, dcgettext, ngettext) [! ENABLE_NLS]:
62315         (dngettext, dcngettext, bindtextdomain) [! ENABLE_NLS]:
62316         (bind_textdomain_codeset) [! ENABLE_NLS]:
62317         Evaluate all the arguments.  That way, callers get compatible behavior
62318         if the arguments have side effects.  Also, it avoids some GCC
62319         diagnostics in some cases; Joel E. Denny reported problems when Bison
62320         was configured with --enable-gcc-warnigs.
62321
62322 2006-11-10  Jim Meyering  <jim@meyering.net>
62323
62324         * m4/inline.m4 (gl_INLINE): Check with the compiler, not cpp, so that
62325         relevant options in CFLAGS (like -O, -fno-inline) are taken into
62326         account.
62327
62328 2006-11-10  Jim Meyering  <jim@meyering.net>
62329
62330         * modules/inline: New file/module.
62331         * modules/xalloc (Files): Remove m4/inline.m4.
62332         (Depends-on): Add inline, instead.
62333         * modules/oset: Likewise.
62334         * modules/list: Likewise.
62335
62336 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
62337
62338         * lib/stdint_.h (uintmax_t): Fix typo: int64_t -> uint64_t.
62339         Problem reported by Matthew Woehlke.
62340
62341 2006-11-09  Bruno Haible  <bruno@clisp.org>
62342
62343         * lib/tempname.c (gen_tempname): Remove variant that invokes
62344         __gen_tempname.
62345         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Don't test for
62346         __gen_tempname.
62347
62348 2006-11-08  Bruno Haible  <bruno@clisp.org>
62349
62350         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Set ac_cv_type_long_long_int
62351         to 'yes' instead of 'cross-compiling'.
62352
62353 2006-11-08  Paul Eggert  <eggert@cs.ucla.edu>
62354
62355         * lib/quotearg.h (quotearg_free): New decl.
62356         * lib/quotearg.c (quotearg_free): New function.
62357         (slot0, nslots, slotvec0, slotvec):
62358         Now file-scope so that quotearg_free can get at them.
62359
62360 2006-11-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62361
62362         Sync from Automake.
62363         * build-aux/gnupload: Add missing 'gnu' to example URL.
62364         Report by Karl Berry.
62365
62366 2006-11-08  Bruno Haible  <bruno@clisp.org>
62367
62368         * m4/inline.m4 (gl_INLINE): Also test __NO_INLINE__.
62369         Suggested by Paul Eggert.
62370
62371 2006-11-08  Jim Meyering  <jim@meyering.net>
62372
62373         * lib/fts.c [!_LGPL_PACKAGE]: Don't include fcntl--.h twice.
62374         It's already included if !_LIBC.
62375         (fts_safe_changedir): Add a comment.
62376
62377 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
62378
62379         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Detect bug in
62380         Tandem NonStop Kernel (OSS) cc -O circa 2004, reported by
62381         Matthew Woehlke.
62382
62383         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Move
62384         definitions up, to avoid colliding with change below.
62385         (static_inline) [HAVE_INLINE]: New macro.
62386         (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
62387         Provide extern decls when !HAVE_INLINE.  Do not define unless
62388         static_inline is defined, either by us or by xmalloc.c.  Use
62389         static_inline rather than static inline.
62390         (XCALLOC): Optimize sizeof(T) = 1 case.
62391         * lib/xmalloc.c (static_inline) [!HAVE_INLINE]: New macro.
62392
62393 2006-11-07  Bruno Haible  <bruno@clisp.org>
62394
62395         * lib/xalloc.h (XNMALLOC): Restore optimization of sizeof(T) = 1 case.
62396         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require gl_INLINE instead of
62397         AC_C_INLINE.
62398         * modules/xalloc (Files): Add m4/inline.m4.
62399
62400 2006-11-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62401
62402         * README: Fix typo.
62403         * doc/gnulib.texi (Miscellaneous Notes): Likewise, rename...
62404         (Miscellanous Notes): ...from this.
62405
62406 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
62407
62408         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
62409         Mention that offsetof should be used instead of sizeof.
62410         From Bruno Haible.
62411
62412 2006-11-07  Bruno Haible  <bruno@clisp.org>
62413
62414         * lib/w32spawn.h (prepare_spawn): Use XNMALLOC instead of xmalloc.
62415
62416 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
62417
62418         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
62419         * lib/gl_anyavltree_list2.h (create_subtree_with_contents):
62420         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
62421         (gl_tree_add_before, gl_tree_add_after):
62422         Use XMALLOC instead of xmalloc, and XCALLOC instead of xzalloc.
62423         * lib/gl_anyhash_list2.h (hash_resize): Likewise.
62424         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
62425         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before):
62426         (gl_linked_add_after, gl_linked_add_at): Likewise.
62427         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents):
62428         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
62429         (gl_tree_add_before, gl_tree_add_after): Likewise.
62430         * lib/gl_anytree_list2.h (gl_tree_create_empty): Likewise.
62431         * lib/gl_anytree_oset.h (gl_tree_create_empty): Likewise.
62432         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
62433
62434 2006-11-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62435
62436         * lib/gl_oset.h: Use C comment style, not C++ comment style.
62437
62438 2006-11-06  Bruno Haible  <bruno@clisp.org>
62439
62440         * m4/inline.m4: New file.
62441         * m4/gl_list.m4 (gl_LIST): Require gl_INLINE.
62442         * modules/list (Files): Add m4/inline.m4.
62443         * modules/oset (Files): Likewise.
62444
62445 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
62446
62447         * lib/idcache.c: Include <stddef.h>, for offsetof.
62448         (struct userid.name): Change from char * to a flexible array member.
62449         All uses changed.
62450         * modules/idcache (Depends-on): Add flexmember.
62451
62452         * MODULES.html.sh (Core language properties): New module flexmember.
62453         * modules/flexmember, m4/flexmember.m4: New files.
62454
62455         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc): Now static
62456         inline functions that are identical with the old xnmalloc_inline,
62457         xnrealloc_inline, x2nrealloc_inline of lib/xmalloc.c.  This is so
62458         that we can avoid some unnecessary integer multiplications and
62459         divisions in the common case where the element size is known at
62460         compile time.
62461         (XNMALLOC) [HAVE_INLINE]: Remove special case, which is no longer
62462         needed.
62463         (xnboundedmalloc): Remove.
62464         (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Use lower-case letters for
62465         arguments, for consistency with rest of this header.
62466         (xcharalloc): Rewrite using XNMALLOC.
62467         * lib/xmalloc.c (xnmalloc_inline, xnmalloc, xnrealloc_inline):
62468         (xnrealloc, x2nrealloc_inline, x2nrealloc): Remove.  The *_inline
62469         versions have been moved to lib/xalloc.h and renamed to be the
62470         non-*_inline versions.
62471         (xmalloc, xrealloc): Implement without reference to the xnmalloc
62472         and xnrealloc functions, since those functions are now inline and
62473         now call us.
62474         (x2realloc): Invoke x2realloc, not x2realloc_inline, to accommodate
62475         renaming described above.
62476         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Remove AC_C_INLINE since
62477         xmalloc.c no longer uses inline directly.  gl_PREREQ_XALLOC now
62478         captures the dependency in AC_C_INLINE.
62479
62480         New module canonicalize-lgpl, proposed by Charles Wilson in
62481         <http://lists.gnu.org/archive/html/bug-gnulib/2006-11/msg00020.html>
62482         with a few small changes afterwards.
62483         * MODULES.html.sh (File system functions): New module
62484         canonicalize-lgpl.
62485         * lib/canonicalize.h: Add comments for canonicalize_filename_mode
62486         and canonicalize_file_name.
62487         * lib/canonicalize-lgpl.c, m4/canonicalize-lgpl.m4:
62488         * modules/canonicalize-lgpl: New files.
62489
62490 2006-11-05  Bruno Haible  <bruno@clisp.org>
62491
62492         * gnulib-tool (func_import, func_create_testdir): Create directories
62493         also for files in subdirectories of lib/.
62494
62495 2006-11-05  Bruno Haible  <bruno@clisp.org>
62496
62497         * lib/gl_array_list.c (gl_array_iterator_next): Make pointer decrement
62498         ANSI C compliant.
62499
62500 2006-11-03  Bruno Haible  <bruno@clisp.org>
62501
62502         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
62503         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require AC_C_INLINE.
62504         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): New macros.
62505         (xnboundedmalloc): New inline function.
62506         * lib/classpath.c (new_classpath): Use XNMALLOC instead of xmalloc.
62507         * lib/clean-temp.c (create_temp_dir): Use XNMALLOC, XMALLOC instead of
62508         xmalloc.
62509         * lib/concatpath.c (concatenated_pathname): Use XNMALLOC instead of
62510         xmalloc.
62511         * lib/fatal-signal.c (at_fatal_signal): Use XNMALLOC instead of xmalloc.
62512         * lib/findprog.c (find_in_path): Use XNMALLOC instead of xmalloc.
62513         * lib/gl_array_list.c (gl_array_create_empty): Use XMALLOC instead of
62514         xmalloc.
62515         (gl_array_create): Use XNMALLOC, XMALLOC instead of xmalloc.
62516         * lib/gl_array_oset.c (gl_array_create_empty): Use XNMALLOC instead of
62517         xmalloc.
62518         * lib/gl_avltree_oset.c (gl_tree_add_first, gl_tree_add_before,
62519         gl_tree_add_after): Use XMALLOC instead of xmalloc.
62520         * lib/gl_carray_list.c (gl_carray_create_empty): Use XMALLOC instead of
62521         xmalloc.
62522         (gl_carray_create): Use XNMALLOC, XMALLOC instead of xmalloc.
62523         * lib/gl_rbtree_oset.c (gl_tree_add_first, gl_tree_add_before,
62524         gl_tree_add_after): Use XMALLOC instead of xmalloc.
62525         * lib/gl_sublist.c (gl_sublist_create): Use XMALLOC instead of xmalloc.
62526         * lib/pagealign_alloc.c (new_memnode): Use XMALLOC instead of xmalloc.
62527         * lib/sh-quote.c (shell_quote_argv): Use XNMALLOC instead of xmalloc.
62528         * lib/xvasprintf.c (xstrcat): Use XNMALLOC instead of xmalloc.
62529
62530 2006-11-03  Bruno Haible  <bruno@clisp.org>
62531
62532         * lib/c-ctype.h [C++]: Define functions without name mangling.
62533         * lib/fwriteerror.h [C++]: Likewise.
62534         * lib/gcd.h [C++]: Likewise.
62535         * lib/linebreak.h [C++]: Likewise.
62536
62537 2006-11-03  Paul Eggert  <eggert@cs.ucla.edu>
62538
62539         * lib/canonicalize.h: (canonicalize_mode_t, CAN_EXISTING):
62540         (CAN_ALL_BUT_LAST, CAN_MISSING, canonicalize_filename_mode):
62541         Define only if PROVIDE_CANONICALIZE_FILENAME_MODE is defined.
62542         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
62543         Check for functions and headers just once.
62544         Check for declaration of canonicalize_file_name.
62545         Define PROVIDE_CANONICALIZE_FILENAME_MODE.
62546
62547 2006-11-02  Charles Wilson  <cygwin@cwilson.fastmail.fm>
62548
62549         * gnulib-tool (func_import): Fix typo in actioncmd.
62550
62551 2006-11-02  Bruno Haible  <bruno@clisp.org>
62552
62553         * gnulib-tool (func_get_automake_snippet): Interpret a backslash-
62554         newline sequence in the Makefile.am snippet as a space, like "make"
62555         does.
62556         Reported by Roger Persson <perrog@gmail.com>.
62557
62558 2006-11-01  Bruno Haible  <bruno@clisp.org>
62559
62560         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Check whether strncasecmp is
62561         already declared in <string.h>.
62562         * lib/strcase.h (strncasecmp): Don't declare it if yes.
62563
62564 2006-11-01  Bruno Haible  <bruno@clisp.org>
62565
62566         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Don't define strcasecmp here.
62567         * lib/strcase.h: Include <string.h>.
62568         (strcasecmp): Define to rpl_strcasecmp here.
62569
62570 2006-11-01  Bruno Haible  <bruno@clisp.org>
62571
62572         * lib/printf-parse.c (PRINTF_PARSE): Cast malloc/realloc results.
62573
62574 2006-11-01  Eric Blake  <ebb9@byu.net>
62575
62576         * lib/mkstemp-safer.c (mkstemp_safer): Allow C++ compilation.
62577
62578         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Allow C++ configuration.
62579
62580 2006-10-29  Bruno Haible  <bruno@clisp.org>
62581
62582         Make it compile in C++ mode.
62583         * lib/full-write.c (full_rw): Add a cast.
62584
62585 2006-11-01  Bruno Haible  <bruno@clisp.org>
62586
62587         * gnulib-tool (func_get_automake_snippet): Change sed_combine_lines to
62588         be POSIX compliant.
62589         Reported by Roger Persson <perrog@gmail.com>.
62590
62591 2006-11-01  Eric Blake  <ebb9@byu.net>
62592
62593         * lib/getopt_.h: Fix comments.
62594
62595 2006-10-31  Eric Blake  <ebb9@byu.net>
62596
62597         * modules/tmpdir (Depends-on): Add sys_stat.
62598         * modules/mkdtemp (Depends-on): Add tempname, drop unistd.
62599         * lib/mkdtemp.c (gen_tempname): Remove; tempname covers this.
62600         * lib/tmpdir.c (S_ISDIR): Simplify, thanks to sys_stat.
62601         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Simplify, thanks to
62602         tempname.
62603
62604 2006-10-31  Paul Eggert  <eggert@cs.ucla.edu>
62605
62606         Avoid some C++ diagnostics reported by Bruno Haible.
62607         * lib/quotearg.c (clone_quoting_options): Use xmemdup rather than
62608         xmalloc.
62609         (quotearg_alloc): Use xcharalloc rather than xmalloc.
62610         (struct slotvec): Move to top level.
62611         (quotearg_n_options): Rewrite to avoid xmalloc.
62612         * lib/xalloc.h (xcharalloc): New function.
62613         * (xrealloc, xnrealloc, x2realloc, x2nrealloc, xmemdup):
62614         [defined __cplusplus]: Add function template that provides result
62615         type propagation.  This part of the change is from Bruno Haible.
62616
62617 2006-10-29  Bruno Haible  <bruno@clisp.org>
62618
62619         Make it compile in C++ mode.
62620         * lib/striconv.c (mem_cd_iconv): Cast malloc/realloc result.
62621         * lib/strnlen1.c (strnlen1): Cast memchr result.
62622         * lib/mbchar.h (mb_copy): Rename arguments to 'new_mbc', 'old_mbc'.
62623         * lib/clean-temp.c (string_equals, string_hash): Add casts.
62624         (create_temp_dir): Rename local variable 'template'.
62625         (compile_csharp_using_sscli): Add cast.
62626         * lib/fatal-signal.c (at_fatal_signal): Cast xmalloc result.
62627         * lib/findprog.c (find_in_path): Likewise.
62628         * lib/linebreak.c (mbs_width_linebreaks): Cast malloc result.
62629         * lib/wait-process.c (register_slave_subprocess): Likewise.
62630
62631 2006-10-22  Bruno Haible  <bruno@clisp.org>
62632
62633         * modules/tsearch: New file.
62634         * lib/tsearch.h: New file.
62635         * lib/tsearch.c: New file, from glibc-2.5 with small modifications.
62636         * m4/tsearch.m4: New file.
62637         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add tsearch.
62638
62639 2006-10-29  Eric Blake  <ebb9@byu.net>
62640
62641         * lib/arcfour.c: Assume config.h.
62642         * lib/arctwo.c: Likewise.
62643         * lib/base64.c: Likewise.
62644         * lib/check-version.c: Likewise.
62645         * lib/crc.c: Likewise.
62646         * lib/des.c: Likewise.
62647         * lib/gc-gnulib.c: Likewise.
62648         * lib/gc-libgcrypt.c: Likewise.
62649         * lib/gc-pbkdf2-sha1.c: Likewise.
62650         * lib/getaddrinfo.c: Likewise.
62651         * lib/getdelim.c: Likewise.
62652         * lib/getline.c: Likewise.
62653         * lib/hmac-md5.c: Likewise.
62654         * lib/hmac-sha1.c: Likewise.
62655         * lib/iconvme.c: Likewise.
62656         * lib/md2.c: Likewise.
62657         * lib/md4.c: Likewise.
62658         * lib/memxor.c: Likewise.
62659         * lib/read-file.c: Likewise.
62660         * lib/readline.c: Likewise.
62661         * lib/rijndael-alg-fst.c: Likewise.
62662         * lib/rijndael-api-fst.c: Likewise.
62663         * lib/xgetdomainname.c: Likewise.
62664
62665 2006-10-28  Eric Blake  <ebb9@byu.net>
62666
62667         * lib/xstrndup.c: Assume config.h.
62668
62669 2006-10-27  Paul Eggert  <eggert@cs.ucla.edu>
62670
62671         Move stat.h-substitute stuff from lib/stat-macros.h to lib/stat_.h.
62672         stat-macros.h is now for our own macros, whereas stat_h is for
62673         macros in the <sys/stat.h> name space.
62674         * lib/stat-macros.h: Remove copyright notice, as this file is now tiny.
62675         (STAT_MACROS_H): Remove.
62676         (S_IFMT, S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISLNK, S_ISNAM):
62677         (S_ISMPB, S_ISMPC, S_ISNWK, S_ISREG, S_ISSOCK, S_ISDOOR, S_ISPORT):
62678         (S_TYPEISMQ, S_TYPEISTMO, S_TYPEISSEM, S_TYPEISSHM, S_ISCTG, S_ISOFD):
62679         (S_ISOFL, S_ISWHT, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRGRP):
62680         (S_IROTH, S_IWUSR, S_IWGRP, S_IWOTH, S_IXUSR, S_IXGRP, S_IXOTH):
62681         (S_IRWXU, S_IRWXG, S_IRWXO, S_IXUGO, S_IRWXUGO):
62682         Move these macros to ...
62683         * lib/stat_.h: here.  Don't include stat-macros.h.
62684         * lib/canonicalize.c: Don't include stat-macros.h.
62685         * lib/chown.c: Likewise.
62686         * lib/euidaccess.c: Likewise.
62687         * lib/file-type.c: Likewise.
62688         * lib/filemode.c: Likewise.
62689         * lib/glob.c: Likewise.
62690         * lib/isapipe.c: Likewise.
62691         * lib/lchown.c: Likewise.
62692         * lib/lstat.c: Likewise.
62693         * lib/mkdir-p.c: Likewise.
62694         * lib/rmdir.c: Likewise.
62695         * m4/lchown.m4 (gl_FUNC_LCHOWN): Don't require gl_STAT_MACROS.
62696         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Don't check for io.h
62697         unless mkdir isn't declared, to speed up 'configure'.
62698         Always create sys/stat.h, since it's unlikely any real sys/stat.h
62699         would define all the S_* symbols.
62700         * modules/canonicalize (Depends-on):
62701         Depend on sys_stat, not stat-macros.
62702         * modules/chown: Likewise.
62703         * modules/euidaccess: Likewise.
62704         * modules/filemode: Likewise.
62705         * modules/file-type: Likewise.
62706         * modules/glob: Likewise.
62707         * modules/isapipe: Likewise.
62708         * modules/lchown: Likewise.
62709         * modules/lstat: Likewise.
62710         * modules/mkancesdirs: Likewise.
62711         * modules/rmdir: Likewise.
62712         * modules/mkdir-p (Depends-on): Also depend on sys_stat.
62713         * modules/modechange: Likewise.
62714         * modules/stat-macros (Files): Remove m4/stat-macros.m4.
62715         (configure.ac): Remove gl_STAT_MACROS.
62716         * modules/sys_stat (Depends-on): Remove stat-macros.
62717
62718 2006-10-27  Bruno Haible  <bruno@clisp.org>
62719
62720         * m4/signed.m4: Remove file.
62721         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS_: Remove bh_C_SIGNED
62722         invocation.
62723         * modules/vasnprintf (Files): Remove m4/signed.m4.
62724
62725 2006-10-27  Bruno Haible  <bruno@clisp.org>
62726
62727         Update to GNU gettext 0.16.
62728         * modules/gettext (Files): Add m4/intl.m4, m4/intldir.m4. Remove
62729         m4/inttypes-h.m4, m4/signed.m4.
62730         * m4/gettext.m4: Update to GNU gettext 0.16.
62731         * m4/intl.m4: New file, from GNU gettext.
62732         * m4/intldir.m4: New file, from GNU gettext.
62733         * config/srclist.txt: Update
62734
62735 2006-10-27  Eric Blake  <ebb9@byu.net>
62736
62737         * MODULES.html.sh: Document tempname.
62738         * modules/mkstemp (Depends-on): Add tempname, and drop transitive
62739         dependencies.
62740         (Files): Move lib/tempname.c...
62741         * modules/tempname: ...to this new module.
62742         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Remove tempname checks.
62743         (gl_PREREQ_TEMPNAME): Move...
62744         * m4/tempname.m4: ...to this new file.
62745         * lib/mkstemp.c (includes) [!_LIBC]: Use tempname.h.
62746         * modules/sys_stat (Depends-on): Add stat-macros.
62747         * lib/stat_.h (includes): Pick up stat macros.
62748         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Replace <sys/stat.h>
62749         if stat macros are broken.
62750         * lib/tempname.c (includes): No need to include "stat-macros.h".
62751         (__gen_tempname) [!_LIBC]: Expose as gen_tempname.
62752         (direxists, __path_search) [!_LIBC]: Don't compile these in
62753         gnulib; the tmpdir module covers that.
62754         * lib/tempname.h: New file.
62755
62756 2006-10-26  Paul Eggert  <eggert@cs.ucla.edu>
62757
62758         * COPYING: Explain how gnulib-tool converts licence headers.
62759         Almost all wording by Eric Blake.
62760
62761 2006-10-25  Paul Eggert  <eggert@cs.ucla.edu>
62762
62763         * lib/mbchar.h (is_basic_table): Make read-only.
62764         * lib/mbchar.c (is_basic_table): Likewise.
62765         Reported by John Darrington.
62766
62767 2006-10-25  Bruno Haible  <bruno@clisp.org>
62768
62769         * lib/progname.h (set_program_name): Undefine before defining.
62770
62771 2006-10-25  Bruno Haible  <bruno@clisp.org>
62772
62773         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to
62774         false for non-gcc C++ compilers.
62775         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
62776
62777 2006-10-24  Bruno Haible  <bruno@clisp.org>
62778
62779         * lib/striconv.c (mem_cd_iconv, str_cd_iconv): Treat all non-GNU
62780         iconv implementations like Irix iconv.
62781
62782 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
62783
62784         * modules/vararrays: New file.
62785         * m4/vararrays.m4: New file, taken from diffutils.
62786         * MODULES.html.sh: New module vararrays.
62787
62788 2006-10-24  Karl Berry  <karl@gnu.org>
62789
62790         * doc/gnulib-intro.texi: --- instead of --; non-naive naive.
62791         Don't call GNU Unix.
62792
62793 2006-10-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62794
62795         * users.txt: Add Libtool.
62796
62797         Sync from Libtool:
62798
62799         2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
62800
62801         * lib/argz.c: Remove check for HAVE_CONFIG_H, to conform
62802         to gnulib's policy of including config.h unconditionally.
62803
62804 2006-10-24  Bruno Haible  <bruno@clisp.org>
62805
62806         * modules/wcwidth (Files): Add m4/wint_t.m4.
62807         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gt_TYPE_WINT_T.
62808         * lib/wcwidth.h (iswprint): Use 'int' if 'wint_t' is not defined.
62809
62810 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
62811
62812         * lib/getdate.y (yyerror): Make the arguments pointer-to-const,
62813         to pacify GCC with some -W flags enabled.  Problem reported by
62814         Bruno Haible.
62815
62816 2006-10-24  Jim Meyering  <jim@meyering.net>
62817
62818         * MODULES.html.sh: Remove uinttostr.  It's not a module.
62819         Reported by Karl Berry.
62820
62821 2006-10-23  Bruno Haible  <bruno@clisp.org>
62822
62823         * lib/fts.c (fts_build): Move variable declaration, for C89 compliance.
62824
62825 2006-10-24  Bruno Haible  <bruno@clisp.org>
62826
62827         * lib/gl_list.h: Use C comment style, not C++ comment style.
62828
62829 2006-10-23  Eric Blake  <ebb9@byu.net>
62830
62831         * lib/getaddrinfo.c (includes): Add missing include.
62832
62833 2006-10-23  Bruno Haible  <bruno@clisp.org>
62834             Paul Eggert  <eggert@cs.ucla.edu>
62835
62836         Ability to rename obstack_free.
62837         * lib/obstack.h (__obstack_free): New macro. Declare instead of
62838         obstack_free.
62839         (obstack_free): Invoke the __obstack_free macro.
62840         * lib/obstack.c (obstack_free): Use __obstack_free macro.
62841
62842 2006-10-23  Bruno Haible  <bruno@clisp.org>
62843             Paul Eggert  <eggert@cs.ucla.edu>
62844
62845         * lib/argp.h (argp_parse, __argp_parse): Comment out the identifiers
62846         __argc, __argv from the declaration. (They are defined as macros on
62847         mingw.)
62848
62849 2006-10-22  Bruno Haible  <bruno@clisp.org>
62850
62851         * doc/gnulib-intro.texi: New file.
62852         * doc/gnulib.texi: Include it.
62853
62854 2006-10-21  Bruno Haible  <bruno@clisp.org>
62855
62856         * doc/gnulib.texi: Split the chapter "Gnulib" into 3 chapters
62857         "Introduction", "Miscellanous Notes", "Particular Modules".
62858
62859 2006-10-21  Bruno Haible  <bruno@clisp.org>
62860
62861         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
62862         Change mostlyclean-local rule to avoid sh syntax error from bash
62863         versions 2.00..2.05 when $(MOSTLYCLEANDIRS) is empty.
62864
62865 2006-10-23  Jim Meyering  <jim@meyering.net>
62866
62867         * lib/getaddrinfo.c (getnameinfo): Use new lightweight uinttostr,
62868         in place of snprintf.
62869
62870         * modules/inttostr (Files): Add lib/uinttostr.c.
62871         * lib/uinttostr.c (inttostr): New file/function.
62872         * lib/inttostr.h (uinttostr): Declare.
62873         * m4/inttostr.m4: Add AC_LIBOBJ([uinttostr]).
62874         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
62875         Add uinttostr.
62876         * modules/getaddrinfo (Depends-on): Remove snprintf.  Add inttostr.
62877
62878 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
62879
62880         * lib/canonicalize.c (ELOOP): Define if not already defined.
62881         Problem reported by Bruno Haible in
62882         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00282.html>.
62883
62884 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
62885
62886         * lib/stdint_.h [defined _AIX]: Don't include <sys/types.h>.
62887         Problem reported by Perry Smith and Ville Laurikari.
62888
62889         * lib/getndelim2.c (SSIZE_MAX): Use same defn that getdelim.c
62890         uses.
62891
62892 2006-10-19  Bruno Haible  <bruno@clisp.org>
62893
62894         * lib/getndelim2.c (SSIZE_MAX): Provide fallback definition. Needed
62895         for mingw.
62896
62897 2006-10-19  Bruno Haible  <bruno@clisp.org>
62898
62899         * lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
62900         Needed for mingw.
62901
62902 2006-10-19  Bruno Haible  <bruno@clisp.org>
62903
62904         * m4/size_max.m4 (gl_SIZE_MAX): Cache the result.
62905
62906 2006-10-19  Bruno Haible  <bruno@clisp.org>
62907
62908         * m4/allocsa.m4 (gl_ALLOCSA): Invoke gl_FUNC_ALLOCA, don't AC_REQUIRE
62909         it.
62910
62911 2006-10-19  Bruno Haible  <bruno@clisp.org>
62912
62913         * m4/alloca.m4 (gl_FUNC_ALLOCA): Cache the result of the AC_EGREP_CPP
62914         invocation.
62915
62916 2006-10-19  Bruno Haible  <bruno@clisp.org>
62917
62918         * gnulib-tool (func_create_testdir): Don't include ftruncate and
62919         mountlist by default.
62920
62921 2006-10-16  Bruno Haible  <bruno@clisp.org>
62922
62923         * lib/c-strstr.c: Include c-strstr.h.
62924
62925 2006-10-18  Charles Wilson  <cygwin@cwilson.fastmail.fm>
62926
62927         * gnulib-tool: Don't clobber $sourcebase when $local_gnulib_dir ends
62928         in a slash.
62929
62930 2006-10-18  Bruno Haible  <bruno@clisp.org>
62931
62932         * lib/lock.h [C++]: Wrap definitions in extern "C".
62933
62934 2006-10-18  Bruno Haible  <bruno@clisp.org>
62935
62936         * gnulib-tool (func_emit_initmacro_end): Remove duplicates from the
62937         gl_LIBOBJS list.
62938
62939 2006-10-18  Bruno Haible  <bruno@clisp.org>
62940
62941         * lib/findprog.c (find_in_path): Avoid "gcc -Wwrite-strings" warning.
62942
62943 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>
62944
62945         * lib/xstrtol.h: Include gettext.h.
62946         (_STRTOL_ERROR): Wrap English-language formats inside gettext.
62947         Problem reported by Eric Blake.
62948         * modules/xstrtol (Depends-on): Add gettext-h.
62949
62950 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)
62951
62952         * lib/strftime.c (advance): New macro.
62953         (add): Use it to avoid adding 0 to a FILE *.  FILE can be an
62954         incomplete type, so you can't add 0 to it.  Problem and patch
62955         reported by Eelco Dolstra for dietlibc.
62956
62957 2006-10-18  Jim Meyering  <jim@meyering.net>
62958
62959         * lib/readutmp.c (desirable_utmp_entry): Use "bool" as the
62960         type for a local, and rename it: s/up/user_proc/.
62961
62962 2006-10-18  Sergey Poznyakoff  <gray@gnu.org.ua>
62963
62964         * lib/readutmp.c (desirable_utmp_entry): Implement new flag:
62965         READ_UTMP_USER_PROCESS.
62966         * lib/readutmp.h (READ_UTMP_USER_PROCESS): New flag
62967
62968 2006-10-17  Paul Eggert  <eggert@cs.ucla.edu>
62969
62970         * lib/localcharset.c: Do not check HAVE_SETLOCALE.
62971         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't check for setlocale.
62972
62973 2006-10-17  Eric Blake  <ebb9@byu.net>
62974
62975         * lib/sigprocmask.c (sigprocmask): Fix typo.
62976
62977         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Fix typo.
62978
62979         * modules/clean-temp (Makefile.am): Don't add to make output...
62980         (configure.ac): ...instead define SIGNAL_SAFE_LIST inside
62981         config.h.
62982
62983 2006-10-17  Bruno Haible  <bruno@clisp.org>
62984
62985         * lib/gettext.h (gettext, ngettext, pgettext, npgettext): Define
62986         differently if DEFAULT_TEXT_DOMAIN is set.
62987
62988 2006-10-16  Bruno Haible  <bruno@clisp.org>
62989
62990         * lib/clean-temp.c: Include fwriteerror.h.
62991
62992 2006-10-16  Bruno Haible  <bruno@clisp.org>
62993
62994         * getndelim2.m4 (gl_GETNDELIM2): Remove 2003-10-23 hack.
62995
62996 2006-10-16  Bruno Haible  <bruno@clisp.org>
62997
62998         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Also test for sigset_t.
62999         * lib/sigprocmask.h: Include <sys/types.h>.
63000         (sigset_t): Use the system's definition if present.
63001
63002 2006-10-17  Eric Blake  <ebb9@byu.net>
63003
63004         * lib/xvasprintf.c (includes): Assume config.h.
63005         * lib/xasprintf.c (includes): Likewise.
63006
63007 2006-10-16  Paul Eggert  <eggert@cs.ucla.edu>
63008
63009         * lib/fsusage.c (PROPAGATE_ALL_ONES): Don't assume uintmax_t is
63010         at least as wide as intmax_t.
63011
63012 2006-10-16  Alexandre Duret-Lutz  <adl@gnu.org>
63013
63014         (Imported from Automake.)
63015         * build-aux/gnupload: Update to version 1.1 of directive file.
63016
63017 2006-10-16  Eric Blake  <ebb9@byu.net>
63018
63019         * modules/configmake (Makefile.am): Add pkglibexecdir support, to
63020         match Automake 1.10a.
63021
63022 2006-10-14  Bruno Haible  <bruno@clisp.org>
63023
63024         * modules/sigprocmask: New file.
63025         * lib/sigprocmask.h: New file.
63026         * lib/sigprocmask.c: New file.
63027         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Renamed from
63028         gt_SIGNALBLOCKING. When not defining HAVE_POSIX_SIGNALBLOCKING,
63029         request sigprocmask.o.
63030         (gl_PREREQ_SIGPROCMASK): New macro.
63031         * modules/fatal-signal (Files): Remove m4/signalblocking.m4.
63032         (Depends-on): Add sigprocmask.
63033         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Don't require
63034         gt_SIGNALBLOCKING. Test for 'raise' only once.
63035         * lib/fatal-signal.c: Include sigprocmask.h.
63036         (fatal_signal_set, init_fatal_signal_set, block_fatal_signals,
63037         unblock_fatal_signals): Define always.
63038         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
63039         sigprocmask.
63040
63041 2006-10-14  Paul Eggert  <eggert@cs.ucla.edu>
63042
63043         Sync from Automake.
63044         * build-aux/install-sh (posix_mkdir): Reject FreeBSD 6.1 mkdir -p -m,
63045         which incorrectly sets the mode of an existing destination
63046         directory.  In some cases the unpatched install-sh could do the
63047         equivalent of "chmod 777 /" or "chmod 0 /" on a buggy FreeBSD
63048         system.  We hope this is rare in practice, but it's clearly worth
63049         fixing.  Problem reported by Alex Unleashed in
63050         <http://lists.gnu.org/archive/html/bug-autoconf/2006-10/msg00012.html>.
63051         Also, don't bother to check for -m bugs unless we're using -m;
63052         suggested by Stepan Kasal.
63053
63054 2006-10-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63055
63056         Sync from Automake.
63057         * build-aux/depcomp (gcc3): Put dependency extraction flags before the
63058         `-c' flag, so they appear at the same position as in %FASTDEP%
63059         mode in depend2.am.  Fixes build failure for FreeBSD's c89,
63060         which ignores unknown options only after the first non-option.
63061         Bug report against M4 by Nelson H. F. Beebe.
63062
63063 2006-10-13  Jim Meyering  <jim@meyering.net>
63064
63065         Fix a bug in yesterday's change.
63066         * lib/fts.c (fts_open): When using FTS_XDEV|FTS_NOSTAT,
63067         p->fts_statp->st_dev would be used uninitialized.
63068         Ensures that we always call fts_stat on the very first entry.
63069         Miklos Szeredi reported that find -xdev stopped working.
63070
63071 2006-10-12  Bruno Haible  <bruno@clisp.org>
63072
63073         * gnulib-tool (func_get_automake_snippet): Append an automatically
63074         computed EXTRA_DIST augmentation.
63075         * modules/acl (Makefile.am): Remove EXTRA_DIST augmentation.
63076         * modules/alloca-opt (Makefile.am): Likewise.
63077         * modules/allocsa (Makefile.am): Likewise.
63078         * modules/arcfour (Makefile.am): Likewise.
63079         * modules/arctwo (Makefile.am): Likewise.
63080         * modules/argmatch (Makefile.am): Likewise.
63081         * modules/argz (Makefile.am): Likewise.
63082         * modules/atexit (Makefile.am): Likewise.
63083         * modules/backupfile (Makefile.am): Likewise.
63084         * modules/byteswap (Makefile.am): Likewise.
63085         * modules/c-strtod (Makefile.am): Likewise.
63086         * modules/c-strtold (Makefile.am): Likewise.
63087         * modules/calloc (Makefile.am): Likewise.
63088         * modules/canon-host (Makefile.am): Likewise.
63089         * modules/canonicalize (Makefile.am): Likewise.
63090         * modules/chdir-long (Makefile.am): Likewise.
63091         * modules/chdir-safer (Makefile.am): Likewise.
63092         * modules/check-version (Makefile.am): Likewise.
63093         * modules/chown (Makefile.am): Likewise.
63094         * modules/cloexec (Makefile.am): Likewise.
63095         * modules/close-stream (Makefile.am): Likewise.
63096         * modules/closeout (Makefile.am): Likewise.
63097         * modules/crc (Makefile.am): Likewise.
63098         * modules/csharpexec (Makefile.am): Likewise.
63099         * modules/cycle-check (Makefile.am): Likewise.
63100         * modules/des (Makefile.am): Likewise.
63101         * modules/dev-ino (Makefile.am): Likewise.
63102         * modules/dirfd (Makefile.am): Likewise.
63103         * modules/dirname (Makefile.am): Likewise.
63104         * modules/dup2 (Makefile.am): Likewise.
63105         * modules/eealloc (Makefile.am): Likewise.
63106         * modules/error (Makefile.am): Likewise.
63107         * modules/euidaccess (Makefile.am): Likewise.
63108         * modules/exclude (Makefile.am): Likewise.
63109         * modules/exitfail (Makefile.am): Likewise.
63110         * modules/fcntl-safer (Makefile.am): Likewise.
63111         * modules/fcntl (Makefile.am): Likewise.
63112         * modules/file-type (Makefile.am): Likewise.
63113         * modules/fileblocks (Makefile.am): Likewise.
63114         * modules/filemode (Makefile.am): Likewise.
63115         * modules/filenamecat (Makefile.am): Likewise.
63116         * modules/fnmatch (Makefile.am): Likewise.
63117         * modules/fopen-safer (Makefile.am): Likewise.
63118         * modules/fpending (Makefile.am): Likewise.
63119         * modules/fprintftime (Makefile.am): Likewise.
63120         * modules/free (Makefile.am): Likewise.
63121         * modules/fsusage (Makefile.am): Likewise.
63122         * modules/ftruncate (Makefile.am): Likewise.
63123         * modules/fts (Makefile.am): Likewise.
63124         * modules/gc-arcfour (Makefile.am): Likewise.
63125         * modules/gc-des (Makefile.am): Likewise.
63126         * modules/gc-hmac-md5 (Makefile.am): Likewise.
63127         * modules/gc-hmac-sha1 (Makefile.am): Likewise.
63128         * modules/gc-md4 (Makefile.am): Likewise.
63129         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
63130         * modules/gc-sha1 (Makefile.am): Likewise.
63131         * modules/gc (Makefile.am): Likewise.
63132         * modules/getaddrinfo (Makefile.am): Likewise.
63133         * modules/getcwd (Makefile.am): Likewise.
63134         * modules/getdelim (Makefile.am): Likewise.
63135         * modules/getdomainname (Makefile.am): Likewise.
63136         * modules/getgroups (Makefile.am): Likewise.
63137         * modules/gethostname (Makefile.am): Likewise.
63138         * modules/gethrxtime (Makefile.am): Likewise.
63139         * modules/getline (Makefile.am): Likewise.
63140         * modules/getloadavg (Makefile.am): Likewise.
63141         * modules/getlogin_r (Makefile.am): Likewise.
63142         * modules/getndelim2 (Makefile.am): Likewise.
63143         * modules/getopt (Makefile.am): Likewise.
63144         * modules/getpagesize (Makefile.am): Likewise.
63145         * modules/getpass-gnu (Makefile.am): Likewise.
63146         * modules/getpass (Makefile.am): Likewise.
63147         * modules/getsubopt (Makefile.am): Likewise.
63148         * modules/gettime (Makefile.am): Likewise.
63149         * modules/gettimeofday (Makefile.am): Likewise.
63150         * modules/getugroups (Makefile.am): Likewise.
63151         * modules/getusershell (Makefile.am): Likewise.
63152         * modules/glob (Makefile.am): Likewise.
63153         * modules/group-member (Makefile.am): Likewise.
63154         * modules/hard-locale (Makefile.am): Likewise.
63155         * modules/hash (Makefile.am): Likewise.
63156         * modules/hmac-md5 (Makefile.am): Likewise.
63157         * modules/hmac-sha1 (Makefile.am): Likewise.
63158         * modules/human (Makefile.am): Likewise.
63159         * modules/idcache (Makefile.am): Likewise.
63160         * modules/imaxabs (Makefile.am): Likewise.
63161         * modules/imaxdiv (Makefile.am): Likewise.
63162         * modules/inet_ntop (Makefile.am): Likewise.
63163         * modules/inet_pton (Makefile.am): Likewise.
63164         * modules/intprops (Makefile.am): Likewise.
63165         * modules/inttostr (Makefile.am): Likewise.
63166         * modules/inttypes (Makefile.am): Likewise.
63167         * modules/isapipe (Makefile.am): Likewise.
63168         * modules/javaversion (Makefile.am): Likewise.
63169         * modules/lchmod (Makefile.am): Likewise.
63170         * modules/lchown (Makefile.am): Likewise.
63171         * modules/localcharset (Makefile.am): Likewise.
63172         * modules/long-options (Makefile.am): Likewise.
63173         * modules/lstat (Makefile.am): Likewise.
63174         * modules/malloc (Makefile.am): Likewise.
63175         * modules/mathl (Makefile.am): Likewise.
63176         * modules/mbchar (Makefile.am): Likewise.
63177         * modules/md2 (Makefile.am): Likewise.
63178         * modules/md4 (Makefile.am): Likewise.
63179         * modules/md5 (Makefile.am): Likewise.
63180         * modules/memcasecmp (Makefile.am): Likewise.
63181         * modules/memchr (Makefile.am): Likewise.
63182         * modules/memcmp (Makefile.am): Likewise.
63183         * modules/memcoll (Makefile.am): Likewise.
63184         * modules/memcpy (Makefile.am): Likewise.
63185         * modules/memmem (Makefile.am): Likewise.
63186         * modules/memmove (Makefile.am): Likewise.
63187         * modules/mempcpy (Makefile.am): Likewise.
63188         * modules/memrchr (Makefile.am): Likewise.
63189         * modules/memset (Makefile.am): Likewise.
63190         * modules/memxor (Makefile.am): Likewise.
63191         * modules/mkancesdirs (Makefile.am): Likewise.
63192         * modules/mkdir-p (Makefile.am): Likewise.
63193         * modules/mkdir (Makefile.am): Likewise.
63194         * modules/mkdtemp (Makefile.am): Likewise.
63195         * modules/mkstemp (Makefile.am): Likewise.
63196         * modules/mktime (Makefile.am): Likewise.
63197         * modules/modechange (Makefile.am): Likewise.
63198         * modules/mountlist (Makefile.am): Likewise.
63199         * modules/nanosleep (Makefile.am): Likewise.
63200         * modules/obstack (Makefile.am): Likewise.
63201         * modules/openat (Makefile.am): Likewise.
63202         * modules/pagealign_alloc (Makefile.am): Likewise.
63203         * modules/pathmax (Makefile.am): Likewise.
63204         * modules/physmem (Makefile.am): Likewise.
63205         * modules/poll (Makefile.am): Likewise.
63206         * modules/posixtm (Makefile.am): Likewise.
63207         * modules/posixver (Makefile.am): Likewise.
63208         * modules/putenv (Makefile.am): Likewise.
63209         * modules/quote (Makefile.am): Likewise.
63210         * modules/quotearg (Makefile.am): Likewise.
63211         * modules/raise (Makefile.am): Likewise.
63212         * modules/read-file (Makefile.am): Likewise.
63213         * modules/readline (Makefile.am): Likewise.
63214         * modules/readlink (Makefile.am): Likewise.
63215         * modules/readtokens (Makefile.am): Likewise.
63216         * modules/readutmp (Makefile.am): Likewise.
63217         * modules/realloc (Makefile.am): Likewise.
63218         * modules/regex (Makefile.am): Likewise.
63219         * modules/rename-dest-slash (Makefile.am): Likewise.
63220         * modules/rename (Makefile.am): Likewise.
63221         * modules/rijndael (Makefile.am): Likewise.
63222         * modules/rmdir (Makefile.am): Likewise.
63223         * modules/rpmatch (Makefile.am): Likewise.
63224         * modules/safe-read (Makefile.am): Likewise.
63225         * modules/safe-write (Makefile.am): Likewise.
63226         * modules/same-inode (Makefile.am): Likewise.
63227         * modules/same (Makefile.am): Likewise.
63228         * modules/save-cwd (Makefile.am): Likewise.
63229         * modules/savedir (Makefile.am): Likewise.
63230         * modules/setenv (Makefile.am): Likewise.
63231         * modules/settime (Makefile.am): Likewise.
63232         * modules/sha1 (Makefile.am): Likewise.
63233         * modules/sig2str (Makefile.am): Likewise.
63234         * modules/snprintf (Makefile.am): Likewise.
63235         * modules/stat-macros (Makefile.am): Likewise.
63236         * modules/stat-time (Makefile.am): Likewise.
63237         * modules/stdbool (Makefile.am): Likewise.
63238         * modules/stdint (Makefile.am): Likewise.
63239         * modules/stdlib-safer (Makefile.am): Likewise.
63240         * modules/stpcpy (Makefile.am): Likewise.
63241         * modules/stpncpy (Makefile.am): Likewise.
63242         * modules/strcase (Makefile.am): Likewise.
63243         * modules/strcasestr (Makefile.am): Likewise.
63244         * modules/strchrnul (Makefile.am): Likewise.
63245         * modules/strcspn (Makefile.am): Likewise.
63246         * modules/strdup (Makefile.am): Likewise.
63247         * modules/strerror (Makefile.am): Likewise.
63248         * modules/strftime (Makefile.am): Likewise.
63249         * modules/strndup (Makefile.am): Likewise.
63250         * modules/strnlen (Makefile.am): Likewise.
63251         * modules/strpbrk (Makefile.am): Likewise.
63252         * modules/strsep (Makefile.am): Likewise.
63253         * modules/strstr (Makefile.am): Likewise.
63254         * modules/strtod (Makefile.am): Likewise.
63255         * modules/strtoimax (Makefile.am): Likewise.
63256         * modules/strtok_r (Makefile.am): Likewise.
63257         * modules/strtol (Makefile.am): Likewise.
63258         * modules/strtoll (Makefile.am): Likewise.
63259         * modules/strtoul (Makefile.am): Likewise.
63260         * modules/strtoull (Makefile.am): Likewise.
63261         * modules/strtoumax (Makefile.am): Likewise.
63262         * modules/strverscmp (Makefile.am): Likewise.
63263         * modules/sys_socket (Makefile.am): Likewise.
63264         * modules/sys_stat (Makefile.am): Likewise.
63265         * modules/sysexits (Makefile.am): Likewise.
63266         * modules/time_r (Makefile.am): Likewise.
63267         * modules/timegm (Makefile.am): Likewise.
63268         * modules/timespec (Makefile.am): Likewise.
63269         * modules/tmpfile-safer (Makefile.am): Likewise.
63270         * modules/trim (Makefile.am): Likewise.
63271         * modules/unistd-safer (Makefile.am): Likewise.
63272         * modules/unlinkdir (Makefile.am): Likewise.
63273         * modules/unlocked-io (Makefile.am): Likewise.
63274         * modules/userspec (Makefile.am): Likewise.
63275         * modules/utime (Makefile.am): Likewise.
63276         * modules/utimecmp (Makefile.am): Likewise.
63277         * modules/utimens (Makefile.am): Likewise.
63278         * modules/vasnprintf (Makefile.am): Likewise.
63279         * modules/vasprintf (Makefile.am): Likewise.
63280         * modules/vsnprintf (Makefile.am): Likewise.
63281         * modules/xalloc (Makefile.am): Likewise.
63282         * modules/xgetcwd (Makefile.am): Likewise.
63283         * modules/xnanosleep (Makefile.am): Likewise.
63284         * modules/xreadlink (Makefile.am): Likewise.
63285         * modules/xstrtod (Makefile.am): Likewise.
63286         * modules/xstrtol (Makefile.am): Likewise.
63287         * modules/xstrtold (Makefile.am): Likewise.
63288         * modules/yesno (Makefile.am): Likewise.
63289         * modules/getdate (Makefile.am): Don't add getdate.h to EXTRA_DIST.
63290
63291 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
63292
63293         * modules/error (Makefile.am): Distribute files through
63294         EXTRA_DIST, not lib_SOURCES.
63295
63296 2006-10-12  Eric Blake  <ebb9@byu.net>
63297
63298         * modules/error (Makefile.am): Distribute files in /lib.
63299         * modules/obstack (Makefile.am): Likewise.
63300
63301 2006-10-12  Bruno Haible  <bruno@clisp.org>
63302
63303         * modules/acl (Makefile.am): Distribute all files in lib/ through
63304         EXTRA_DIST.
63305         * modules/arcfour (Makefile.am): Likewise.
63306         * modules/arctwo (Makefile.am): Likewise.
63307         * modules/argmatch (Makefile.am): Likewise.
63308         * modules/argz (Makefile.am): Likewise.
63309         * modules/atexit (Makefile.am): Likewise.
63310         * modules/backupfile (Makefile.am): Likewise.
63311         * modules/c-strtod (Makefile.am): Likewise.
63312         * modules/c-strtold (Makefile.am): Likewise.
63313         * modules/calloc (Makefile.am): Likewise.
63314         * modules/canon-host (Makefile.am): Likewise.
63315         * modules/canonicalize (Makefile.am): Likewise.
63316         * modules/chdir-long (Makefile.am): Likewise.
63317         * modules/chdir-safer (Makefile.am): Likewise.
63318         * modules/check-version (Makefile.am): Likewise.
63319         * modules/chown (Makefile.am): Likewise.
63320         * modules/cloexec (Makefile.am): Likewise.
63321         * modules/close-stream (Makefile.am): Likewise.
63322         * modules/closeout (Makefile.am): Likewise.
63323         * modules/crc (Makefile.am): Likewise.
63324         * modules/cycle-check (Makefile.am): Likewise.
63325         * modules/des (Makefile.am): Likewise.
63326         * modules/dirfd (Makefile.am): Likewise.
63327         * modules/dirname (Makefile.am): Likewise.
63328         * modules/dup2 (Makefile.am): Likewise.
63329         * modules/euidaccess (Makefile.am): Likewise.
63330         * modules/exclude (Makefile.am): Likewise.
63331         * modules/exitfail (Makefile.am): Likewise.
63332         * modules/fcntl-safer (Makefile.am): Likewise.
63333         * modules/file-type (Makefile.am): Likewise.
63334         * modules/fileblocks (Makefile.am): Likewise.
63335         * modules/filemode (Makefile.am): Likewise.
63336         * modules/filenamecat (Makefile.am): Likewise.
63337         * modules/fnmatch (Makefile.am): Likewise.
63338         * modules/fopen-safer (Makefile.am): Likewise.
63339         * modules/fpending (Makefile.am): Likewise.
63340         * modules/fprintftime (Makefile.am): Likewise.
63341         * modules/free (Makefile.am): Likewise.
63342         * modules/fsusage (Makefile.am): Likewise.
63343         * modules/ftruncate (Makefile.am): Likewise.
63344         * modules/fts (Makefile.am): Likewise.
63345         * modules/gc (Makefile.am): Likewise.
63346         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
63347         * modules/getaddrinfo (Makefile.am): Likewise.
63348         * modules/getcwd (Makefile.am): Likewise.
63349         * modules/getdelim (Makefile.am): Likewise.
63350         * modules/getdomainname (Makefile.am): Likewise.
63351         * modules/getgroups (Makefile.am): Likewise.
63352         * modules/gethostname (Makefile.am): Likewise.
63353         * modules/gethrxtime (Makefile.am): Likewise.
63354         * modules/getline (Makefile.am): Likewise.
63355         * modules/getloadavg (Makefile.am): Likewise.
63356         * modules/getlogin_r (Makefile.am): Likewise.
63357         * modules/getopt (Makefile.am): Likewise.
63358         * modules/getpass (Makefile.am): Likewise.
63359         * modules/getpass-gnu (Makefile.am): Likewise.
63360         * modules/getsubopt (Makefile.am): Likewise.
63361         * modules/gettime (Makefile.am): Likewise.
63362         * modules/gettimeofday (Makefile.am): Likewise.
63363         * modules/getugroups (Makefile.am): Likewise.
63364         * modules/getusershell (Makefile.am): Likewise.
63365         * modules/glob (Makefile.am): Likewise.
63366         * modules/group-member (Makefile.am): Likewise.
63367         * modules/hard-locale (Makefile.am): Likewise.
63368         * modules/hash (Makefile.am): Likewise.
63369         * modules/hmac-md5 (Makefile.am): Likewise.
63370         * modules/hmac-sha1 (Makefile.am): Likewise.
63371         * modules/human (Makefile.am): Likewise.
63372         * modules/idcache (Makefile.am): Likewise.
63373         * modules/imaxabs (Makefile.am): Likewise.
63374         * modules/imaxdiv (Makefile.am): Likewise.
63375         * modules/inet_ntop (Makefile.am): Likewise.
63376         * modules/inet_pton (Makefile.am): Likewise.
63377         * modules/inttostr (Makefile.am): Likewise.
63378         * modules/isapipe (Makefile.am): Likewise.
63379         * modules/lchown (Makefile.am): Likewise.
63380         * modules/long-options (Makefile.am): Likewise.
63381         * modules/lstat (Makefile.am): Likewise.
63382         * modules/malloc (Makefile.am): Likewise.
63383         * modules/mathl (Makefile.am): Likewise.
63384         * modules/mbchar (Makefile.am): Likewise.
63385         * modules/md2 (Makefile.am): Likewise.
63386         * modules/md4 (Makefile.am): Likewise.
63387         * modules/md5 (Makefile.am): Likewise.
63388         * modules/memcasecmp (Makefile.am): Likewise.
63389         * modules/memchr (Makefile.am): Likewise.
63390         * modules/memcmp (Makefile.am): Likewise.
63391         * modules/memcoll (Makefile.am): Likewise.
63392         * modules/memcpy (Makefile.am): Likewise.
63393         * modules/memmem (Makefile.am): Likewise.
63394         * modules/memmove (Makefile.am): Likewise.
63395         * modules/mempcpy (Makefile.am): Likewise.
63396         * modules/memrchr (Makefile.am): Likewise.
63397         * modules/memset (Makefile.am): Likewise.
63398         * modules/memxor (Makefile.am): Likewise.
63399         * modules/mkancesdirs (Makefile.am): Likewise.
63400         * modules/mkdir (Makefile.am): Likewise.
63401         * modules/mkdir-p (Makefile.am): Likewise.
63402         * modules/mkdtemp (Makefile.am): Likewise.
63403         * modules/mkstemp (Makefile.am): Likewise.
63404         * modules/mktime (Makefile.am): Likewise.
63405         * modules/modechange (Makefile.am): Likewise.
63406         * modules/mountlist (Makefile.am): Likewise.
63407         * modules/nanosleep (Makefile.am): Likewise.
63408         * modules/openat (Makefile.am): Likewise.
63409         * modules/pagealign_alloc (Makefile.am): Likewise.
63410         * modules/physmem (Makefile.am): Likewise.
63411         * modules/poll (Makefile.am): Likewise.
63412         * modules/posixtm (Makefile.am): Likewise.
63413         * modules/posixver (Makefile.am): Likewise.
63414         * modules/putenv (Makefile.am): Likewise.
63415         * modules/quote (Makefile.am): Likewise.
63416         * modules/quotearg (Makefile.am): Likewise.
63417         * modules/raise (Makefile.am): Likewise.
63418         * modules/read-file (Makefile.am): Likewise.
63419         * modules/readline (Makefile.am): Likewise.
63420         * modules/readlink (Makefile.am): Likewise.
63421         * modules/readtokens (Makefile.am): Likewise.
63422         * modules/readutmp (Makefile.am): Likewise.
63423         * modules/realloc (Makefile.am): Likewise.
63424         * modules/regex (Makefile.am): Likewise.
63425         * modules/rename (Makefile.am): Likewise.
63426         * modules/rename-dest-slash (Makefile.am): Likewise.
63427         * modules/rijndael (Makefile.am): Likewise.
63428         * modules/rmdir (Makefile.am): Likewise.
63429         * modules/rpmatch (Makefile.am): Likewise.
63430         * modules/safe-read (Makefile.am): Likewise.
63431         * modules/safe-write (Makefile.am): Likewise.
63432         * modules/same (Makefile.am): Likewise.
63433         * modules/save-cwd (Makefile.am): Likewise.
63434         * modules/savedir (Makefile.am): Likewise.
63435         * modules/setenv (Makefile.am): Likewise.
63436         * modules/settime (Makefile.am): Likewise.
63437         * modules/sha1 (Makefile.am): Likewise.
63438         * modules/sig2str (Makefile.am): Likewise.
63439         * modules/snprintf (Makefile.am): Likewise.
63440         * modules/stdlib-safer (Makefile.am): Likewise.
63441         * modules/stpcpy (Makefile.am): Likewise.
63442         * modules/stpncpy (Makefile.am): Likewise.
63443         * modules/strcase (Makefile.am): Likewise.
63444         * modules/strcasestr (Makefile.am): Likewise.
63445         * modules/strchrnul (Makefile.am): Likewise.
63446         * modules/strcspn (Makefile.am): Likewise.
63447         * modules/strdup (Makefile.am): Likewise.
63448         * modules/strerror (Makefile.am): Likewise.
63449         * modules/strftime (Makefile.am): Likewise.
63450         * modules/strndup (Makefile.am): Likewise.
63451         * modules/strnlen (Makefile.am): Likewise.
63452         * modules/strpbrk (Makefile.am): Likewise.
63453         * modules/strsep (Makefile.am): Likewise.
63454         * modules/strstr (Makefile.am): Likewise.
63455         * modules/strtod (Makefile.am): Likewise.
63456         * modules/strtoimax (Makefile.am): Likewise.
63457         * modules/strtok_r (Makefile.am): Likewise.
63458         * modules/strtol (Makefile.am): Likewise.
63459         * modules/strtoll (Makefile.am): Likewise.
63460         * modules/strtoul (Makefile.am): Likewise.
63461         * modules/strtoull (Makefile.am): Likewise.
63462         * modules/strtoumax (Makefile.am): Likewise.
63463         * modules/strverscmp (Makefile.am): Likewise.
63464         * modules/time_r (Makefile.am): Likewise.
63465         * modules/timegm (Makefile.am): Likewise.
63466         * modules/tmpfile-safer (Makefile.am): Likewise.
63467         * modules/unistd-safer (Makefile.am): Likewise.
63468         * modules/unlinkdir (Makefile.am): Likewise.
63469         * modules/userspec (Makefile.am): Likewise.
63470         * modules/utime (Makefile.am): Likewise.
63471         * modules/utimecmp (Makefile.am): Likewise.
63472         * modules/utimens (Makefile.am): Likewise.
63473         * modules/vasnprintf (Makefile.am): Likewise.
63474         * modules/vasprintf (Makefile.am): Likewise.
63475         * modules/vsnprintf (Makefile.am): Likewise.
63476         * modules/xalloc (Makefile.am): Likewise.
63477         * modules/xgetcwd (Makefile.am): Likewise.
63478         * modules/xnanosleep (Makefile.am): Likewise.
63479         * modules/xreadlink (Makefile.am): Likewise.
63480         * modules/xstrtod (Makefile.am): Likewise.
63481         * modules/xstrtol (Makefile.am): Likewise.
63482         * modules/xstrtold (Makefile.am): Likewise.
63483         * modules/yesno (Makefile.am): Likewise.
63484
63485 2006-10-12  Jim Meyering  <jim@meyering.net>
63486
63487         * m4/getloadavg.m4: Revert the change below.
63488
63489         * m4/getloadavg.m4 (gl_GETLOADAVG): Test for the existence of
63490         lib/getloadavg.c using "ls -L", not "test -f".  The latter would
63491         fail with a symlink, which is what coreutils' ./bootstrap now
63492         creates by default.
63493
63494 2006-10-12  Bruno Haible  <bruno@clisp.org>
63495
63496         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): Don't define for MSVC or
63497         mingw.
63498         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): Handle
63499         MSVC and mingw explicitly.
63500
63501 2006-10-11  Simon Josefsson  <jas@extundo.com>
63502             Bruno Haible  <bruno@clisp.org>
63503
63504         Add support for multiple gnulib-tool invocations in the scope of a
63505         single configure.ac file.
63506         * gnulib-tool (func_emit_lib_Makefile_am): In the _LIBADD variable,
63507         use a private [LT]LIBOBJS variant. Define a _DEPENDENCIES variable
63508         with the same contents as the _LIBADD variable.
63509         (func_emit_initmacro_start, func_emit_initmacro_end,
63510         func_emit_initmacro_done): New functions.
63511         (func_import, func_create_testdir): Invoke them. Allow the identifiers
63512         gl_LIBOBJS and gl_LTLIBOBJS.
63513
63514 2006-10-11  Bruno Haible  <bruno@clisp.org>
63515
63516         * gnulib-tool (GETTEXTPATH, AUTOHEADER, AUTOPOINT): New variables.
63517         (func_create_testdir): Don't create po/Makefile.am, don't invoke
63518         autoreconf. Instead, invoke autopoint explicitly but move back the
63519         *.m4 files from gnulib.
63520
63521 2006-10-11  Bruno Haible  <bruno@clisp.org>
63522
63523         * gnulib-tool (func_usage): Make module names after --create-testdir
63524         optional.
63525         (func_create_testdir): If no module was specified, use nearly all
63526         modules.
63527
63528 2006-10-12  Jim Meyering  <jim@meyering.net>
63529
63530         Big performance improvement for fts-based tools that use FTS_NOSTAT.
63531         Avoid spurious inode-mismatch problems on non-POSIX file systems.
63532         Details: http://article.gmane.org/gmane.comp.lib.gnulib.bugs/7416
63533         * lib/fts_.h (FTS_DEFER_STAT): Define new flag.
63534         (FTS_OPTIONMASK): Extend the mask to reflect this addition.
63535         * lib/fts.c (DT_IS_KNOWN, DT_MUST_BE): Define.
63536         (FTS_NO_STAT_REQUIRED, FTS_STAT_REQUIRED): Define.
63537         (fts_set_stat_required): New function.
63538         (fts_open): Defer the calls to fts_stat, if possible or requested.
63539         Move the code that maps a command-line fts_info value FTS_DOT to FTS_D
63540         into fts_stat itself.
63541         (fts_read): Perform any required (deferred) fts_stat call.
63542         (fts_build): Likewise, for the directory we're about to open and read.
63543         In the readdir loop, carefully decide whether each entry will require
63544         an eventual call to fts_stat, using dirent.d_type info if available.
63545         (fts_stat): Move the test for whether to honor FTS_COMFOLLOW on
63546         a command line argument into this function.  Update all callers.
63547         Map a return value of FTS_DOT to FTS_D for a command line argument.
63548         * modules/fts (Depends-on): Add d-type.  Alphabetize.
63549         Thanks to Miklos Szeredi for his tenacity and for the initial
63550         bug report about "find" failing on a FUSE-based file system.
63551
63552         * lib/fts.c (fts_open): Use consistent indentation.
63553
63554 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
63555
63556         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Renamed from
63557         gl_USE_SYSTEM_EXTENSIONS, to fix a coreutils bootstrap failure
63558         reported by Jim Meyering.  All uses of cache variables renamed
63559         to match Autoconf's.
63560         (gl_USE_SYSTEM_EXTENSIONS): New macro, which simply requires
63561         the other one.
63562
63563         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
63564         Fix misspelling in diagnostic.
63565
63566 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
63567
63568         * lib/mkdir-p.c (HAVE_FCHMOD): Define to false if not already
63569         defined.  Problem reported by Matthew Woehlke.
63570
63571         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): New macro.
63572         Add support for Tandem NonStop R series.
63573         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX):
63574         Use new macro.
63575
63576         * lib/rename-dest-slash.c: Include stdbool.h but not string.h.
63577         (has_trailing_slash): Omit size arg; all callers changed.
63578         Omit 'inline', since it doesn't help performance and we'd
63579         need to configure it.
63580         Don't count //, ///, etc. as having a trailing slash.
63581         As a side effect, this removes a C99ism reported by Matthew Woehlke.
63582         (rpl_rename_dest_slash): On failure, use rename's errno rather
63583         than (in some cases) an incorrect or junk errno.
63584         Simplify code by removing need to compute length; this does
63585         cause it to make two passes instead of one over the file name,
63586         but it's worth it.
63587
63588         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Undo previous
63589         change, since Autoconf's version may no longer be appropriate now
63590         that we are using CVS Autoconf's version.  Add support for Tandem.
63591
63592 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
63593             Bruno Haible  <bruno@clisp.org>
63594
63595         * lib/allocsa.h (sa_alignment_longlong, sa_alignment_max): Test
63596         HAVE_LONG_LONG_INT instead of HAVE_LONG_LONG.
63597         * m4/allocsa.m4 (gl_ALLOCSA): Invoke AC_TYPE_LONG_LONG_INT instead of
63598         gl_AC_TYPE_LONG_LONG.
63599
63600         * lib/printf-args.h (arg_type, argument): Test HAVE_LONG_LONG_INT
63601         instead of HAVE_LONG_LONG.
63602         * lib/printf-args.c (printf_fetchargs): Likewise.
63603         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
63604         * lib/vasnprintf.c (VASNPRINTF): Likewise.
63605         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
63606         gl_PREREQ_VASNPRINTF): Invoke AC_TYPE_LONG_LONG_INT instead of
63607         gl_AC_TYPE_LONG_LONG.
63608
63609 2006-10-11  Bruno Haible  <bruno@clisp.org>
63610
63611         * m4/longlong.m4: Add comments.
63612         * m4/ulonglong.m4: Likewise.
63613
63614 2006-10-10  Bruno Haible  <bruno@clisp.org>
63615
63616         Make it possible to #define stpcpy, strdup to aliases.
63617         * lib/stpcpy.c (stpcpy) [!_LIBC]: Don't undefine.
63618         * lib/strdup.c (strdup) [!_LIBC]: Don't undefine.
63619
63620 2006-10-10  Bruno Haible  <bruno@clisp.org>
63621
63622         Make it possible to #define gcd to an alias.
63623         * lib/gcd.c: Include config.h.
63624
63625 2006-10-10  Bruno Haible  <bruno@clisp.org>
63626
63627         Make it possible to #define c_isascii to an alias.
63628         * lib/c-ctype.h: Don't define the macros if NO_C_CTYPE_MACROS is
63629         defined. Undefine the macros before defining them, to avoid gcc
63630         warnings.
63631         * lib/c-ctype.c: Include config.h. Don't undefine the macros; instead,
63632         define NO_C_CTYPE_MACROS early.
63633
63634 2006-10-10  Bruno Haible  <bruno@clisp.org>
63635
63636         Make it possible to #define set_program_name to an alias.
63637         * lib/progname.c: Don't undefine set_program_name; instead, undefine
63638         ENABLE_RELOCATABLE early.
63639
63640 2006-10-10  Paul Eggert  <eggert@cs.ucla.edu>
63641
63642         Port to Tandem NSK OSS, which has 64-bit signed int but at most
63643         32-bit unsigned int.  Problem reported by Matthew Woehlke in:
63644         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00062.html
63645         More generally, don't assume that 64-bit signed int is available
63646         if unsigned int is, and vice versa.
63647         * lib/inttypes_.h (_PRIu64_PREFIX, _SCNu64_PREFIX): Depend on
63648         unsigned symbols, not on their signed counterparts.
63649         * lib/stdint_.h (uint64_t, uint_least64_t, uint_fast64_t, uintmax_t):
63650         (UINT64_MAX, UINT_LEAST64_MAX, UINT_FAST64_MAX, UINTMAX_MAX):
63651         (UINT64_C, UINTMAX_C):
63652         Likewise.
63653         * lib/strtoimax.c (strtoll): Depend on signed symbols, not their
63654         unsigned counterparts.
63655         (Have_long_long, Unsigned): New macros.
63656         (Int): Renamed from INT.
63657         (strtoimax): Use the new macros.
63658         * m4/stdint.m4 (gl_STDINT_H): Require AC_TYPE_UNSIGNED_LONG_LONG_INT
63659         and substitute HAVE_UNSIGNED_LONG_LONG_INT.
63660         * modules/inttypes (inttypes.h): Substitute
63661         HAVE_UNSIGNED_LONG_LONG_INT.
63662         * modules/stdint (stdint.h): Likewise.
63663         (Files): Add m4/ulonglong.m4.
63664
63665 2006-10-10  Bruno Haible  <bruno@clisp.org>
63666
63667         Fix a gcc -Wshadow warning.
63668         * lib/gl_anyhash_list2.h (hash_resize): Rename local variable 'index'
63669         to 'bucket'.
63670         * lib/gl_anylinked_list2.h (gl_linked_search_from_to,
63671         gl_linked_indexof_from_to): Likewise.
63672         * lib/gl_linkedhash_list.c (add_to_bucket, remove_from_bucket):
63673         Likewise.
63674         * lib/gl_anytreehash_list1.h (add_to_bucket, remove_from_bucket):
63675         Likewise.
63676         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Likewise.
63677         Reported by Eric Blake.
63678
63679 2006-10-09  Paul Eggert  <eggert@cs.ucla.edu>
63680
63681         * lib/filemode.h [HAVE_DECL_STRMODE]: Include unistd.h too,
63682         for NetBSD.  Problem reported by Bruno Haible.
63683
63684 2006-10-09  Jim Meyering  <jim@meyering.net>
63685
63686         * lib/lchown.c: Include <sys/stat.h> before "stat-macros.h".
63687         Patch from Bruno Haible.
63688
63689 2006-10-09  Jim Meyering  <jim@meyering.net>
63690
63691         * lib/fts-cycle.c (leave_dir): When "leaving" a top level directory due
63692         to FTS_SKIP, don't copy the parent's uninitialized dev/ino values.
63693         Trigger with e.g., mkdir d && valgrind ./chmod u+rwx d d
63694
63695 2006-10-08  Paul Eggert  <eggert@cs.ucla.edu>
63696
63697         Don't include <config.h> twice; this doesn't work in some cases,
63698         e.g., when config.h has "#define intmax_t long long int" and
63699         we include <config.h>, <inttypes.h>, <config.h> in that order.
63700         Problem reported by Matthew Woehlke in:
63701         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00073.html
63702         * lib/fprintftime.c: Don't include config.h or fprintftime.h.
63703         * lib/fts-cycle.c: Don't include config.h.
63704         * lib/strftime.c: Include fprintftime.h if FPRINTFTIME is defined.
63705         * lib/xstrtoimax.c: Remove copyright notice since it's short tnow.
63706         Don't include config.h or xstrtol.h.  Define STRTOL_T_MINIMUM
63707         and STRTOL_T_MAXIMUM unconditionally, since we now assume gnulib
63708         inttypes.h.
63709         * lib/xstrtoumax.c: Likewise.
63710         * lib/xstrtol.c: Include config.h and xstrtol.h after defining
63711         __strtol and the like, so that this module is more like its siblings.
63712         (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [! defined STRTOL_T_MINIMUM]:
63713         Remove; no longer needed now that we assume gnulib inttypes.h.
63714
63715 2006-10-08  Bruno Haible  <bruno@clisp.org>
63716
63717         * doc/gnulib-tool.texi: Emphasize the drawbacks of the --symlink
63718         option.
63719
63720 2006-10-07  Jim Meyering  <jim@meyering.net>
63721
63722         * modules/inttypes (inttypes.h): Revert what seems to have been
63723         an inadvertent part of today's change: use "|", not "/" in the
63724         substitution for the "/"-containing string, $(ABSOLUTE_INTTYPES_H).
63725
63726 2006-10-07  Bruno Haible  <bruno@clisp.org>
63727
63728         * modules/sublist: New file.
63729
63730 2006-10-07  Bruno Haible  <bruno@clisp.org>
63731
63732         * modules/alloca-opt (alloca.h): Add a "DO NOT EDIT" comment.
63733         * modules/argz (argz.h): Likewise.
63734         * modules/arpa_inet (arpa/inet.h): Likewise.
63735         * modules/byteswap (byteswap.h): Likewise.
63736         * modules/configmake (configmake.h): Likewise.
63737         * modules/fcntl (fcntl.h): Likewise.
63738         * modules/fnmatch (fnmatch.h): Likewise.
63739         * modules/getopt (getopt.h): Likewise.
63740         * modules/glob (glob.h): Likewise.
63741         * modules/inttypes (inttypes.h): Likewise.
63742         * modules/netinet_in (netinet/in.h): Likewise.
63743         * modules/poll (poll.h): Likewise.
63744         * modules/stdbool (stdbool.h): Likewise.
63745         * modules/stdint (stdint.h): Likewise.
63746         * modules/sys_select (sys/select.h): Likewise.
63747         * modules/sys_socket (sys/socket.h): Likewise.
63748         * modules/sys_stat (sys/stat.h): Likewise.
63749         * modules/sysexits (sysexits.h): Likewise.
63750         * modules/unistd (unistd.h): Likewise.
63751         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
63752         Add a "DO NOT EDIT" comment to the generated file.
63753         (func_import): Likewise for gnulib-comp.m4.
63754
63755 2006-10-07  Bruno Haible  <bruno@clisp.org>
63756
63757         * lib/gl_sublist.h: New file.
63758         * lib/gl_sublist.c: New file.
63759
63760 2006-10-06  Paul Eggert  <eggert@cs.ucla.edu>
63761
63762         * lib/mkancesdirs.c (mkancesdirs): Pass to MAKE_DIR both the full file
63763         name (relative to the original working directory) and the file
63764         name component (relative to the temporary working directory).  All
63765         callers changed.
63766         * lib/mkancesdirs.h (mkancesdirs): Adjust prototype to match.
63767         * lib/mkdir-p.c (make_dir_parents): Likewise.
63768         * lib/mkdir-p.h (make_dir_parents): Likewise.
63769
63770 2006-10-06  Eric Blake  <ebb9@byu.net>
63771
63772         Define several macros for use by the clean-temp module.
63773         * m4/close-stream.m4 (gl_CLOSE_STREAM): Define GNULIB_CLOSE_STREAM.
63774         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Define GNULIB_FCNTL_SAFER.
63775         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Define GNULIB_FOPEN_SAFER.
63776
63777         * lib/clean-temp.h (close_stream_temp): New declaration.
63778         * lib/clean-temp.c (includes): Pull in headers according to what
63779         other modules are in use.
63780         (close_stream_temp) [GNULIB_CLOSE_STREAM]: New function.
63781
63782 2006-10-06  Bruno Haible  <bruno@clisp.org>
63783
63784         * lib/javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp
63785         instead of fopen, fwriteerror.
63786
63787 2006-10-06  Bruno Haible  <bruno@clisp.org>
63788
63789         * lib/clean-temp.h (cleanup_temp_file, cleanup_temp_subdir,
63790         cleanup_temp_dir_contents, cleanup_temp_dir): Change return type to
63791         int.
63792         * lib/clean-temp.c (do_unlink, do_rmdir, cleanup_temp_file,
63793         cleanup_temp_subdir, cleanup_temp_dir_contents, cleanup_temp_dir):
63794         Return an error indicator.
63795         Suggested by Eric Blake.
63796
63797 2006-10-06  Bruno Haible  <bruno@clisp.org>
63798
63799         * lib/clean-temp.c (PATH_MAX): Provide a fallback for GNU Hurd.
63800         Reported by Eric Blake.
63801
63802 2006-10-06  Bruno Haible  <bruno@clisp.org>
63803
63804         * modules/closeout (Description): Mention stderr too.
63805
63806 2006-10-06  Bruno Haible  <bruno@clisp.org>
63807         and Paul Eggert  <eggert@cs.ucla.edu>
63808
63809         * lib/closeout.c (close_stdout): Also close stderr.
63810         * lib/closeout.h: Update comment.
63811
63812 2006-10-05  Paul Eggert  <eggert@cs.ucla.edu>
63813
63814         Fix some Darwin-7.9.0 porting problems reported by Bruno Haible in
63815         <http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00063.html>.
63816         * lib/dirchownmod.c: Include lchown.h.
63817         * lib/lchown.c: Don't include files that lchown.h now includes.
63818         Don't declare chown, since lchown.h now does that.
63819         * lib/lchown.h: Include errno.h, sys/types.h, unistd.h.
63820         (lchown): Define to rpl_chown if lchown is declared but
63821         does not exist.  Declare using a prototype if lchown is not
63822         declared.  Add a copyright notice.
63823         * lib/mkstemp.h: Include <unistd.h>.
63824         * lib/openat.c: Include lchown.h.
63825
63826         * lib/fcntl_.h (O_NOFOLLOW): Don't depend on O_NOFOLLOW_IS_INEFFECTIVE;
63827         we now test for that separately.
63828         * lib/fts.c (fts_safe_changedir): Inspect HAVE_WORKING_O_NOFOLLOW
63829         rather than O_NOFOLLOW, when testing whether it's possible to
63830         avoid a race condition reliably.
63831         * lib/savewd.c (savewd_chdir): Likewise.
63832
63833         Remove macros that are no longer needed now that stdint.h is
63834         reliable.
63835         * lib/fsusage.c (UINTMAX_MAX): Remove.
63836         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Remove.
63837         * lib/utimecmp.c (SIZE_MAX): Remove.
63838
63839         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check whether lchown is declared.
63840
63841         * m4/fcntl_h.m4 (gl_FCNTL_H): Define HAVE_WORKING_O_NOFOLLOW instead
63842         of O_NOFOLLOW_IS_INEFFECTIVE.  Define HAVE_WORKING_O_NOATIME if
63843         O_NOATIME works.
63844
63845 2006-10-05  Bruno Haible  <bruno@clisp.org>
63846
63847         * lib/gl_list.h (gl_sortedlist_search_from_to,
63848         gl_sortedlist_indexof_from_to): New declarations.
63849         (gl_list_implementation): New fields sortedlist_search_from_to,
63850         sortedlist_indexof_from_to.
63851         (gl_sortedlist_search_from_to, gl_sortedlist_indexof_from_to): New
63852         inline functions.
63853         * lib/gl_list.c (gl_sortedlist_search_from_to,
63854         gl_sortedlist_indexof_from_to): New functions.
63855         * lib/gl_array_list.c (gl_array_sortedlist_indexof_from_to): New
63856         function.
63857         (gl_array_sortedlist_indexof, gl_array_sortedlist_search): Use it.
63858         (gl_array_sortedlist_search_from_to): New function.
63859         (gl_array_list_implementation): Update.
63860         * lib/gl_carray_list.c (gl_carray_sortedlist_indexof_from_to): New
63861         function.
63862         (gl_carray_sortedlist_indexof, gl_carray_sortedlist_search): Use it.
63863         (gl_carray_sortedlist_search_from_to): New function.
63864         (gl_carray_list_implementation): Update.
63865         * lib/gl_anylinked_list2.h (gl_linked_sortedlist_search_from_to,
63866         gl_linked_sortedlist_indexof_from_to): New functions.
63867         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
63868         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
63869         * lib/gl_anytree_list2.h (gl_tree_sortedlist_search_from_to,
63870         gl_tree_sortedlist_indexof_from_to): New functions.
63871         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
63872         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
63873         Update.
63874         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
63875         * lib/gl_rbtreehash_list.c (gl_avltreehash_list_implementation):
63876         Update.
63877
63878 2006-10-05  Bruno Haible  <bruno@clisp.org>
63879
63880         * lib/gl_list.h (gl_list_search_from, gl_list_search_from_to,
63881         gl_list_indexof_from, gl_list_indexof_from_to): New declarations.
63882         (struct gl_list_implementation): Add fields search_from_to,
63883         indexof_from_to. Remove fields search, indexof.
63884         (gl_list_search): Use the search_from_to method.
63885         (gl_list_search_from, gl_list_search_from_to): New functions.
63886         (gl_list_indexof): Use the indexof_from_to method.
63887         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
63888         * lib/gl_list.c (gl_list_search): Use the search_from_to method.
63889         (gl_list_search_from, gl_list_search_from_to): New functions.
63890         (gl_list_indexof): Use the indexof_from_to method.
63891         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
63892         * lib/gl_array_list.c (gl_array_indexof_from_to): Renamed from
63893         gl_array_indexof. Add start_index, end_index arguments.
63894         (gl_array_search_from_to): Renamed from gl_array_search. Add
63895         start_index, end_index arguments.
63896         (gl_array_remove, gl_array_list_implementation): Update.
63897         * lib/gl_carray_list.c (gl_carray_indexof_from_to): Renamed from
63898         gl_carray_indexof. Add start_index, end_index arguments.
63899         (gl_carray_search_from_to): Renamed from gl_carray_search. Add
63900         start_index, end_index arguments.
63901         (gl_carray_remove, gl_carray_list_implementation): Update.
63902         * lib/gl_anylinked_list2.h (gl_linked_search_from_to): Renamed from
63903         gl_linked_search. Add start_index, end_index arguments.
63904         (gl_linked_indexof_from_to): Renamed from gl_linked_indexof. Add
63905         start_index, end_index arguments.
63906         (gl_linked_remove): Update.
63907         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
63908         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
63909         * lib/gl_anytree_list1.h (iterstack_item_t): Change type of 'rightp'
63910         field to 'size_t'.
63911         * lib/gl_anytree_list2.h (gl_tree_search_from_to): Renamed from
63912         gl_tree_search. Add start_index, end_index arguments.
63913         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
63914         start_index, end_index arguments.
63915         (gl_tree_remove): Update.
63916         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
63917         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
63918         * lib/gl_anytreehash_list1.h (compare_position_threshold): New
63919         function.
63920         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Renamed from
63921         gl_tree_search. Add start_index, end_index arguments.
63922         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
63923         start_index, end_index arguments.
63924         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
63925         Update.
63926         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
63927
63928 2006-10-05  Bruno Haible  <bruno@clisp.org>
63929
63930         * modules/fwriteerror (configure.ac): Define GNULIB_FWRITEERROR.
63931
63932         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
63933         fwriteerror_temp): New declarations.
63934         * lib/clean-temp.c (uintptr_t): Provide fallback definition.
63935         (descriptors): New variable.
63936         (cleanup): First, close the descriptors.
63937         (register_fd, unregister_fd, open_temp, fopen_temp, close_temp,
63938         fclose_temp, fwriteerror_temp): New functions.
63939
63940 2006-10-04  Jim Meyering  <jim@meyering.net>
63941
63942         * lib/fts.c (fts_open): Tiny comment change.
63943
63944 2006-10-04  Bruno Haible  <bruno@clisp.org>
63945
63946         Make it possible to invoke AC_GNU_SOURCE after gl_LOCK_EARLY.
63947         * m4/lock.m4 (gl_LOCK_EARLY_BODY): New macro, extracted code from
63948         gl_LOCK_BODY.
63949         (gl_LOCK_EARLY): Require gl_LOCK_EARLY_BODY, not gl_LOCK_BODY.
63950         (gl_LOCK_BODY): Remove settings of CPPFLAGS, now done in
63951         gl_LOCK_EARLY_BODY.
63952         (gl_LOCK): Require gl_LOCK_BODY.
63953
63954 2006-10-04  Bruno Haible  <bruno@clisp.org>
63955
63956         * lib/gl_oset.h (gl_setelement_threshold_fn): New type.
63957         (gl_oset_search_atleast): New declaration.
63958         (struct gl_oset_implementation): Add field 'search_atleast'.
63959         (gl_oset_search_atleast): New inline function.
63960         * lib/gl_oset.c (gl_oset_search_atleast): New function.
63961         * lib/gl_array_oset.c (gl_array_search_atleast): New function.
63962         (gl_array_oset_implementation): Update.
63963         * lib/gl_anytree_oset.h (gl_tree_search_atleast): New function.
63964         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Update.
63965         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Update.
63966
63967 2006-10-04  Bruno Haible  <bruno@clisp.org>
63968
63969         * lib/fatal-signal.c (fatal_signals) [WOE32]: Add the SIGBREAK signal.
63970
63971 2006-10-03  Bruno Haible  <bruno@clisp.org>
63972
63973         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Renamed
63974         from gl_avltreehash_list_implementation.
63975
63976 2006-10-03  Bruno Haible  <bruno@clisp.org>
63977
63978         * lib/gl_oset.c (gl_oset_add): Fix return type.
63979
63980 2006-10-02  Paolo Bonzini  <bonzini@gnu.org>  (tiny change)
63981
63982         * lib/quotearg.c (mbstate_t) [!HAVE_MBRTOWC]: #define to int.
63983
63984 2006-10-02  Eric Blake  <ebb9@byu.net>
63985
63986         * modules/strnlen (Depends-on): Add extensions.
63987
63988 2006-10-02  Eric Blake  <ebb9@byu.net>
63989
63990         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use autoconf's
63991         definition in 2.60+.
63992
63993 2006-10-02  Dmitry V. Levin  <ldv@altlinux.org>
63994
63995         * lib/fts.c (fts_close, fts_build, fts_palloc): Remove redundant
63996         checks.
63997
63998 2006-10-02  Bruno Haible  <bruno@clisp.org>
63999
64000         * gnulib-tool (func_emit_lib_Makefile_am): Don't add no-dependencies
64001         to the AUTOMAKE_OPTIONS.
64002         Reported by Jim Meyering.
64003
64004 2006-09-29  Paul Eggert  <eggert@cs.ucla.edu>
64005
64006         Work around bug in Solaris 10 /proc file system:
64007         /proc/self/fd/NNN/.. isn't the parent directory of
64008         the directory whose file descriptor is NNN.  This needs to
64009         be worked around at run time, not compile time, since a
64010         program might be built on Solaris 8, where things work, and
64011         run on Solaris 10.
64012         * lib/openat-priv.h (BUILD_PROC_NAME): Remove.  All callers changed
64013         to use the following interface instead:
64014         (OPENAT_BUFFER_SIZE): New macro.
64015         (openat_proc_name): New function.
64016         * lib/at-func.c (AT_FUNC_NAME): Adjust to above changes.
64017         * lib/openat.c (openat_permissive, openat_needs_fchdir, fdopendir):
64018         Likewise.
64019         * lib/openat-proc.c: New file.
64020         * modules/openat (Files): Add lib/openat-proc.c.
64021         (Depends-on): Add same-inode, stdbool.
64022         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBOBJ(openat-proc).
64023
64024 2006-09-29  Bruno Haible  <bruno@clisp.org>
64025
64026         * lib/fwriteerror.h (fwriteerror_no_ebadf): New declaration.
64027         * lib/(do_fwriteerror): Renamed from fwriteerror. Add ignore_ebadf
64028         argument. Set stdout_closed before testing for ferror, not after.
64029         (fwriteerror, fwriteerror_no_ebadf): New functions.
64030
64031 2006-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64032
64033         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Avoid unused variables warning.
64034
64035 2006-09-28  Paolo Bonzini  <bonzini@gnu.org>
64036
64037         * lib/poll.c (rpl_poll) [__APPLE__]: Use FIONREAD instead of MSG_PEEK.
64038         * m4/poll.m4: Look for sys/ioctl.h and sys/filio.h.
64039
64040 2006-09-28  Jim Meyering  <jim@meyering.net>
64041
64042         * lib/mkdir-p.c: Include "dirchownmod.h", not "dirchownmod.c".
64043         Include <unistd.h>.
64044
64045 2006-09-28  Bruno Haible  <bruno@clisp.org>
64046
64047         * modules/avltreehash-list (Depends-on): Add stdint, remove size_max.
64048         * modules/linkedhash-list (Depends-on): Likewise.
64049         * modules/rbtreehash-list (Depends-on): Likewise.
64050
64051 2006-09-28  Bruno Haible  <bruno@clisp.org>
64052
64053         * lib/strndup.h: Simplify the redefinition of strndup.
64054         (_GL_CONCAT, _GL_XCONCAT, __STRNDUP_ID): Remove macros.
64055         * m4/strndup.m4 (gl_FUNC_STRNDUP): Don't define __STRNDUP_PREFIX.
64056
64057 2006-09-28  Bruno Haible  <bruno@clisp.org>
64058
64059         * lib/gl_avltreehash_list.c: Include <stdint.h> instead of size_max.h.
64060         * lib/gl_linkedhash_list.c: Likewise.
64061         * lib/gl_rbtreehash_list.c: Likewise.
64062
64063 2006-09-27  Paul Eggert  <eggert@cs.ucla.edu>
64064
64065         * lib/canon-host.c (canon_host_r): Work around bug in Darwin 7.9.0
64066         getaddrinfo.
64067
64068         * lib/__fpending.h: Don't include <stdio_ext.h> unless
64069         HAVE_DECL___FPENDING.  This avoids a bug with lsbcc, where
64070         it causes <stdio_ext.h> to cause a compile-time error.
64071         Problem reported by Nelson H. F. Beebe.
64072         * lib/getpass.c: Likewise, except for HAVE_DECL___FSETLOCKING instead
64073         of HAVE_DECL___PENDING.
64074
64075         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for stdio_ext at most once.
64076         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for __fsetlocking's
64077         declaration.
64078
64079 2006-09-27  Jim Meyering  <jim@meyering.net>
64080
64081         This file could end up with a definition for a function
64082         named __strndup, rather than rpl_strndup on a system with
64083         incomplete weak_alias support.
64084         * lib/strndup.c (strndup): Rename from __strndup.
64085         Remove #defines that used to map __strndup to strndup.
64086         Don't use K&R prototypes.
64087         Remove LIBC-related code, since this file is not sync'd with glibc.
64088         * lib/strndup.h: Revamp, accordingly.
64089         * m4/strndup.m4: Modernize.
64090
64091 2006-09-26  Paul Eggert  <eggert@cs.ucla.edu>
64092
64093         * modules/savewd (Depends-on): Add 'raise'.
64094         * lib/savewd.c: Include <signal.h>, for 'raise'.
64095
64096 2006-09-26  Jim Meyering  <jim@meyering.net>
64097
64098         * m4/acl.m4 (AC_FUNC_ACL): Disable ACL support altogether
64099         when we detect Darwin 8.7.0's acl_get_file bug.
64100         Rearrange to perform the new (below) run-test while $LIBS
64101         contains any acl-related library.  Set USE_ACL at the end.
64102         (gl_ACL_GET_FILE): New function.
64103
64104 2006-09-26  Eric Blake  <ebb9@byu.net>
64105
64106         * lib/verror.c: Include <config.h> unconditionally.
64107
64108 2006-09-25  Paul Eggert  <eggert@cs.ucla.edu>
64109
64110         * modules/clock-time (Maintainer): Add self.
64111         * modules/getlogin_r (Depends-on): Add extensions.
64112
64113 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64114
64115         * modules/clock-time: New module.
64116         * modules/nanosleep (Depends-on): Add clock-time.
64117         * modules/gethrxtime (Depends-on): Likewise.
64118         * modules/gettime (Depends-on): Likewise.
64119         * modules/settime (Depends-on): Likewise.
64120
64121         * modules/fts-lgpl: Depend on openat.
64122         * modules/mkancesdirs: Depend on savewd.
64123         * modules/mkdir-p: Likewise.
64124
64125 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64126
64127         * m4/host-os.m4 (gl_HOST_OS): Require AC_CANONICAL_HOST.
64128
64129         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Rename cache variable from
64130         `gl_have_arbitrary_file_name_length_limit' to
64131         `gl_cv_have_arbitrary_file_name_length_limit', so that caching
64132         actually works between configure runs.
64133
64134 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64135             Bruno Haible  <bruno@clisp.org>
64136
64137         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Include <string.h>.
64138
64139 2006-09-25  Jim Meyering  <jim@meyering.net>
64140
64141         * m4/fcntl_h.m4 (gl_FCNTL_H): Fix typo in test for failed open.
64142         This typo caused coreutils/tests/dd/misc to fail on Darwin 8.7.0.
64143
64144 2006-09-25  Eric Blake  <ebb9@byu.net>
64145
64146         * gnulib-tool (func_import, func_create_testdir): Fix typos in
64147         exec's in 2006-09-18 patch when shuffling fds.
64148
64149 2006-09-25  Bruno Haible  <bruno@clisp.org>
64150
64151         * m4/getloadavg.m4 (gl_GETLOADAVG): Fix directory in error message.
64152         Reported by Jim Meyering.
64153
64154 2006-09-24  Jim Meyering  <jim@meyering.net>
64155
64156         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use '>' to
64157         compare a pointer against a literal "0".  That caused failures with
64158         at least HP-UX's hpcc.
64159
64160 2006-09-22  Simon Josefsson  <jas@extundo.com>
64161
64162         * modules/gc-sha1:
64163         * modules/gc-md4:
64164         * modules/gc-hmac-sha1:
64165         * modules/gc-hmac-md5:
64166         * modules/gc-des:
64167         * modules/gc-arcfour: Distribute more files.
64168
64169 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64170
64171         * lib/gl_anylinked_list2.h [lint] (gl_linked_iterator)
64172         (gl_linked_iterator_from_to): Initialize struct completely.
64173         * lib/gl_anytree_list2.h [lint] (gl_tree_iterator): Likewise.
64174         (gl_tree_iterator_from_to): Likewise
64175         * lib/gl_anytree_oset.h [lint] (gl_tree_iterator): Likewise.
64176         * lib/gl_array_list.c [lint] (gl_array_iterator)
64177         (gl_array_iterator_from_to): Likewise.
64178         * lib/gl_array_oset.c [lint] (gl_array_iterator): Likewise.
64179         * lib/gl_carray_list.c [lint] (gl_carray_iterator)
64180         (gl_carray_iterator_from_to): Likewise.
64181
64182         * lib/gc-gnulib.c [GC_USE_HMAC_SHA1]: include hmac.h for hmac_sha1.
64183         * lib/md4.c (md4_process_block): Remove unused variable.
64184         * lib/rijndael-api-fst.c (rijndaelBlockDecrypt): GCC suggests
64185         parentheses for clarity.
64186
64187 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64188
64189         * modules/bison-i18n (Depends-on): Add gettext.
64190
64191 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64192
64193         * m4/fsusage.m4 (gl_STATFS_TRUNCATES): Avoid unused variable.
64194         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
64195         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Likewise;
64196         also add missing comma that caused broken test.
64197         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Include
64198         stdlib.h, for `abort'.
64199         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Avoid unused
64200         variables.
64201         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Check for and
64202         include unistd.h if present, for `rmdir'.
64203         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Avoid unused
64204         variables.
64205         * m4/putenv.m4 (gl_FUNC_PUTENV): Rewrite using AC_RUN_IFELSE, and
64206         in the process include standard headers for prototypes.
64207         * m4/readutmp.m4 (gl_READUTMP): Require AC_GNU_SOURCE, so utmpxname
64208         gets declared on GNU/Linux.
64209         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Check for and include
64210         unistd.h, for `rmdir'.
64211         * m4/time_r.m4 (gl_TIME_R): Avoid unused variables.
64212
64213         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Avoid expression that is
64214         always true.
64215         * m4/strndup.m4 (gl_FUNC_STRNDUP): include stdlib.h, for `free'.
64216
64217         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Avoid gcc -Wall warnings.
64218
64219 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64220
64221         * gnulib-tool (func_version): Create output all at once.  This
64222         may help avoid triggering unnecessary SIGPIPEs, and at any
64223         rate it doesn't hurt.
64224
64225 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64226             Bruno Haible  <bruno@clisp.org>
64227
64228         * m4/lock.m4 (gl_LOCK_BODY): Avoid unused variables warning.
64229         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
64230         * m4/signed.m4 (bh_C_SIGNED): Likewise.
64231
64232         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): New macro.
64233         (gl_FUNC_VASPRINTF): Invoke it.
64234
64235 2006-09-22  Bruno Haible  <bruno@clisp.org>
64236
64237         * m4/getloadavg.m4 (gl_GETLOADAVG): Expect the directory of
64238         getloadavg.c as first argument.
64239
64240 2006-09-22  Bruno Haible  <bruno@clisp.org>
64241
64242         * gnulib-tool (func_import, func_create_testdir): Set gl_source_base
64243         at the beginning of the gl_INIT macro.
64244         * modules/getloadavg (configure.ac): Pass $gl_source_base to
64245         gl_GETLOADAVG.
64246
64247 2006-09-22  Bruno Haible  <bruno@clisp.org>
64248
64249         * gnulib-tool (func_create_megatestdir): Don't include the config-h
64250         module.
64251         Suggested by Ralf Wildenhues.
64252
64253 2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
64254
64255         Import this patch from libc:
64256
64257         2006-09-06  Jakub Jelinek  <jakub@redhat.com>
64258
64259         * lib/regex_internal.c (re_string_reconstruct): Handle
64260         offset < pstr->valid_raw_len && pstr->offsets_needed case.
64261         Ensure no bytes read before raw_mbs array.  Pass a saved copy of
64262         pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
64263         re_string_context_at.
64264
64265         * m4/regex.m4 (gl_REGEX): Check for locale.h, since the test
64266         now requires it.
64267         (gl_PREREQ_REGEX): Don't check for locale.h any more, since
64268         gl_REGEX now does it for us.
64269         (gl_REGEX): Add test taken from
64270         http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html.
64271
64272         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_SYS_LARGEFILE.
64273         Check that large offsets work.  Modernize Autoconf usages.
64274         Prefer "yes" to mean a good thing rather than a bad.
64275         Don't put "#define mkstemp" in config.h, as this might interfere
64276         with standard system headers that "#define mkstemp mkstemp64".
64277
64278         * modules/mkstemp (Depends-on): Add extensions, so that
64279         mkstemp is visible on some platforms.
64280         (Makefile.am): Add mkstemp.h to EXTRA_DIST.
64281         (Include): Change to "mkstemp.h" from <stdlib.h>.
64282         (Files): Add mkstemp.h.
64283
64284         * lib/mkstemp.h: New file, since some standard headers
64285         #define mkstemp.
64286         * lib/mkstemp.c: Revamp to put the !_LIBC code together.
64287         Include "mkstemp.h".
64288         Make the _LIBC code resemble glibc original more,
64289         e.g., use K&R style.
64290         * lib/mkstemp-safer.c: Include "mkstemp.h" instead of <stdlib.h>.
64291         (mkstemp): Remove, since mkstemp.h does this for us.
64292         * lib/stdlib--.h: Include mkstemp.h.
64293
64294         Import this patch from libc:
64295
64296         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
64297
64298         * lib/tempname.c (__gen_tempname): Change attempts_min
64299         into a macro.  Use preprocessor to decide how to initialize
64300         attempts [Coverity CID 67].
64301
64302 2006-09-20  Bruno Haible  <bruno@clisp.org>
64303
64304         * lib/mkdtemp.c: Import from libc.
64305         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
64306                 * sysdeps/posix/tempname.c (__gen_tempname): Change
64307                 attempts_min into a macro.  Use preprocessor to decide how to
64308                 initialize attempts [Coverity CID 67].
64309         2001-11-27  Paul Eggert  <eggert@twinsun.com>
64310                 * sysdeps/posix/tempname.c (__gen_tempname): Try at least
64311                 ATTEMPTS_MIN or TMP_MAX times, whichever is greater.
64312
64313 2006-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64314
64315         * gnulib-tool (func_exit): New function, to allow to pass the
64316         exit status portably through the trap.  Use everywhere.
64317         (--help, --version): Signal a write error.
64318         (trap): catch SIGPIPE, for write errors.
64319         Exit at the end of the trap, with the correct exit status.
64320
64321 2006-09-19  Karl Berry  <karl@gnu.org>
64322
64323         * doc/gnulib.texi: note about the license texinfo files.
64324
64325 2006-09-19  Eric Blake  <ebb9@byu.net>
64326
64327         * gnulib-tool: Avoid space-tab.
64328
64329 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
64330
64331         * lib/getaddrinfo.c (getaddrinfo) [defined HAVE_IPV6]: Fix typo
64332         that prevented coreutils 6.1 from building.  Problem reported
64333         by Petter Reinholdtsen.
64334
64335 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
64336
64337         * gnulib-tool (avoidlist): Fix typo that broke options like
64338         --avoid=lock that are used by coreutils bootstrap.
64339
64340 2006-09-18  Mark D. Baushke  <mdb@gnu.org>
64341
64342         * m4/inttypes.m4 (gl_INTTYPES_H): Quote "test" args
64343         more systematically.
64344
64345 2006-09-18  Jim Meyering  <jim@meyering.net>
64346
64347         * lib/savewd.c (savewd_restore): Don't shadow: s/status/child_status/.
64348
64349 2006-09-18  Bruno Haible  <bruno@clisp.org>
64350
64351         * modules/inttypes (Files): Remove m4/inttypes-h.m4.
64352
64353 2006-09-18  Bruno Haible  <bruno@clisp.org>
64354
64355         * m4/inttypes-h.m4 (gl_HEADER_INTTYPES_H): Remove macro.
64356         * m4/inttypes-pri.m4: Require autoconf >= 2.52.
64357         (gt_INTTYPES_PRI): Invoke AC_CHECK_HEADERS on inttypes.h. Test
64358         ac_cv_header_inttypes_h instead of gl_cv_header_inttypes_h.
64359         * m4/gettext.m4: Require autoconf >= 2.52.
64360         (gt_INTL_SUBDIR_CORE): Invoke AC_CHECK_HEADERS on inttypes.h.
64361         * m4/inttypes.m4 (gl_INTTYPES_H): Test ac_cv_header_inttypes_h instead
64362         of gl_cv_header_inttypes_h.
64363
64364 2006-09-18  Bruno Haible  <bruno@clisp.org>
64365
64366         * lib/javaversion.c: Include configmake.h.
64367
64368 2006-09-18  Bruno Haible  <bruno@clisp.org>
64369
64370         * gnulib-tool (func_import, func_create_testdir): Use exec tricks to
64371         avoid that the while loops be executed in a subshell.
64372
64373 2006-09-18  Bruno Haible  <bruno@clisp.org>
64374
64375         * MODULES.html.sh (func_module): Break long lines.
64376         Suggested by Bruce Korb <bkorb@gnu.org>.
64377
64378 2006-09-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64379
64380         Speed up by a factor of 1.12.
64381         * gnulib-tool (nl): New variable.
64382         (func_import): Rewrite include directive extraction to only read each
64383         directive once.
64384
64385 2006-09-17  Bruno Haible  <bruno@clisp.org>
64386
64387         * modules/javaversion (Makefile.am): Remove DEFS setting.
64388         (Depends-on): Add configmake, for PKGDATADIR definition.
64389
64390 2006-09-17  Bruno Haible  <bruno@clisp.org>
64391
64392         * gnulib-tool (func_create_testdir): Rewrite all files at once.
64393
64394 2006-09-17  Bruno Haible  <bruno@clisp.org>
64395
64396         * gnulib-tool (func_append): New function, stolen from libtool.m4.
64397         (func_modules_transitive_closure, func_modules_add_dummy,
64398         func_modules_to_filelist, func_import, func_create_testdir,
64399         func_create_megatestdir, ...): Use it wherever possible.
64400         Suggested by Ralf Wildenhues.
64401
64402 2006-09-16  Karl Berry  <karl@gnu.org>
64403
64404         * doc/fdl.texi (ADDENDUM): switch to @heading from @appendixsubsec,
64405         to avoid sectioning errors.
64406         * doc/lgpl.texi, gpl.texi (Copying): downcase @unnumbered title.
64407         [ifinfo]: blank line after @center-ed titles.
64408         * doc/lgpl.texi (Library Copying): Rename main node to GNU LGPL.
64409         Spell FSF address consistently with others.
64410         (These changes approved by rms.)
64411
64412 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64413
64414         Speed up by a factor of 1.61.
64415         * gnulib-tool (func_modules_transitive_closure): Rewrite to not check
64416         already checked module names again.
64417
64418 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64419
64420         Speed up by a factor of 1.13.
64421         * gnulib-tool (func_import): Rewrite all old_files at once; likewise
64422         for new_files, and the input to func_add_or_update.
64423
64424 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64425
64426         * gnulib-tool (func_all_modules, func_modules_to_filelist, func_import,
64427         func_create_testdir, ...): Change 'sort | uniq' to 'sort -u'.
64428
64429 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
64430
64431         * modules/mkancesdirs (Depends-on): Add fcntl.
64432         * modules/savewd: New file.
64433         * MODULES.html.sh (File system functions): Add savewd.
64434
64435         * modules/configmake (Makefile.am): Add support for the
64436         Automake-supplied PKGLIBDIR, PKGINCLUDEDIR, PKGDATADIR.
64437
64438 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
64439
64440         * m4/savewd.m4: New file.
64441
64442 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
64443
64444         * lib/dirchownmod.c: Don't include fcntl.h; no longer needed.
64445         (dirchownmod): New arg FD.  All callers changed.
64446         Use FD rather than opening the directory ourself, as opening is
64447         now the caller's responsibility.
64448         * lib/dirchownmod.h: Likewise.
64449         * lib/mkancesdirs.c: Include <sys/types.h>, for portability to older
64450         hosts that require <sys/types.h> before <sys/stat.h>.  Include
64451         fcntl.h, savewd.h, and unistd.h, not dirname.h and stat-macros.h.
64452         (test_dir): Remove.
64453         (mkancesdirs): Return length of prefix of FILE that has already
64454         been made, or -2 if there is a child doing the work.  Redo
64455         algorithm so that it is O(N) rather than O(N**2).  Optimize away
64456         ".", and treat ".." specially since it might stray back into
64457         already-created areas.  Use a subprocess if necessary.  New arg
64458         WD; all users changed.  MAKE_DIR function should now return 1
64459         if it creates a directory that is not readable.  Return -2 if
64460         a child process is spun off.
64461         * lib/mkancesdirs.h: Include <stddef.h>, for ptrdiff_t.
64462         Adjust signature to match code.
64463         * lib/mkdir-p.c: Include dirname.h, for IS_ABSOLUTE_FILE_NAME.
64464         (make_dir_parents): Use a subprocess if necessary.  New arg WD;
64465         all users changed.
64466         * lib/savewd.c, lib/savewd.h: New files.
64467
64468 2006-09-15  Jim Meyering  <jim@meyering.net>
64469
64470         * modules/rename-dest-slash: New module.
64471         * MODULES.html.sh (posix_compat): Add it here.
64472
64473         * modules/rename: Reflect vb_FUNC_RENAME -> gl_FUNC_RENAME change.
64474
64475 2006-09-15  Jim Meyering  <jim@meyering.net>
64476
64477         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): New
64478         file.
64479
64480         * m4/rename.m4 (gl_FUNC_RENAME): Rename from vb_FUNC_RENAME.
64481
64482 2006-09-15  Jim Meyering  <jim@meyering.net>
64483
64484         * lib/rename-dest-slash.c (has_trailing_slash): Use
64485         FILE_SYSTEM_PREFIX_LEN, for non-POSIX systems.
64486         (rpl_rename_dest_slash): Perform the cheaper trailing slash
64487         test before testing whether SRC is a directory.
64488         Suggestions from Bruno Haible.
64489
64490         Avoid a warning about an unused variable.
64491         * lib/regex_internal.c (re_dfa_add_node): Move declaration of "type"
64492         into the #ifdef block where it's used.
64493
64494         * lib/rename-dest-slash.c: New file.
64495
64496 2006-09-14  Bruno Haible  <bruno@clisp.org>
64497
64498         * lib/allocsa.c: Include <config.h> unconditionally.
64499         * lib/asnprintf.c: Likewise.
64500         * lib/asprintf.c: Likewise.
64501         * lib/c-strcasecmp.c: Likewise.
64502         * lib/c-strcasestr.c: Likewise.
64503         * lib/c-strncasecmp.c: Likewise.
64504         * lib/c-strstr.c: Likewise.
64505         * lib/classpath.c: Likewise.
64506         * lib/clean-temp.c: Likewise.
64507         * lib/concatpath.c: Likewise.
64508         * lib/copy-file.c: Likewise.
64509         * lib/csharpcomp.c: Likewise.
64510         * lib/csharpexec.c: Likewise.
64511         * lib/execute.c: Likewise.
64512         * lib/fatal-signal.c: Likewise.
64513         * lib/findprog.c: Likewise.
64514         * lib/fwriteerror.c: Likewise.
64515         * lib/gl_array_list.c: Likewise.
64516         * lib/gl_array_oset.c: Likewise.
64517         * lib/gl_avltree_list.c: Likewise.
64518         * lib/gl_avltree_oset.c: Likewise.
64519         * lib/gl_avltreehash_list.c: Likewise.
64520         * lib/gl_carray_list.c: Likewise.
64521         * lib/gl_linked_list.c: Likewise.
64522         * lib/gl_linkedhash_list.c: Likewise.
64523         * lib/gl_list.c: Likewise.
64524         * lib/gl_oset.c: Likewise.
64525         * lib/gl_rbtree_list.c: Likewise.
64526         * lib/gl_rbtree_oset.c: Likewise.
64527         * lib/gl_rbtreehash_list.c: Likewise.
64528         * lib/imaxabs.c: Likewise.
64529         * lib/imaxdiv.c: Likewise.
64530         * lib/javacomp.c: Likewise.
64531         * lib/javaexec.c: Likewise.
64532         * lib/javaversion.c: Likewise.
64533         * lib/linebreak.c: Likewise.
64534         * lib/localcharset.c: Likewise.
64535         * lib/lock.c: Likewise.
64536         * lib/mbchar.c: Likewise.
64537         * lib/mbswidth.c: Likewise.
64538         * lib/mkdtemp.c: Likewise.
64539         * lib/pipe.c: Likewise.
64540         * lib/printf-args.c: Likewise.
64541         * lib/printf-parse.c: Likewise.
64542         * lib/progname.c: Likewise.
64543         * lib/progreloc.c: Likewise.
64544         * lib/readlink.c: Likewise.
64545         * lib/sh-quote.c: Likewise.
64546         * lib/stpcpy.c: Likewise.
64547         * lib/stpncpy.c: Likewise.
64548         * lib/strcasecmp.c: Likewise.
64549         * lib/strcasestr.c: Likewise.
64550         * lib/strcspn.c: Likewise.
64551         * lib/striconv.c: Likewise.
64552         * lib/strncasecmp.c: Likewise.
64553         * lib/strnlen1.c: Likewise.
64554         * lib/strstr.c: Likewise.
64555         * lib/strtok_r.c: Likewise.
64556         * lib/tls.c: Likewise.
64557         * lib/tmpdir.c: Likewise.
64558         * lib/unicodeio.c: Likewise.
64559         * lib/unsetenv.c: Likewise.
64560         * lib/vasnprintf.c: Likewise.
64561         * lib/vasprintf.c: Likewise.
64562         * lib/wait-process.c: Likewise.
64563         * lib/xallocsa.c: Likewise.
64564         * lib/xsetenv.c: Likewise.
64565         * lib/xstriconv.c: Likewise.
64566
64567 2006-09-13  Simon Josefsson  <jas@extundo.com>
64568
64569         * m4/getdate.m4: Don't AC_LIBOBJ([getdate]), automake takes care of
64570         that internally, suggested by Ralf Wildenhues
64571         <Ralf.Wildenhues@gmx.de>.
64572
64573 2006-09-13  Simon Josefsson  <jas@extundo.com>
64574
64575         * gnulib-tool (func_emit_lib_Makefile_am): Use $(LIBOBJS), not
64576         @LIBOBJS@.
64577         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
64578
64579 2006-09-13  Paul Eggert  <eggert@cs.ucla.edu>
64580
64581         * lib/_fpending.c: Include <config.h> unconditionally, since we no
64582         longer worry about uses that don't define HAVE_CONFIG_H.
64583         * lib/acl.c, lib/alloca.c, lib/argmatch.c, lib/atexit.c:
64584         * lib/backupfile.c, lib/basename.c, lib/c-stack.c, lib/c-strtod.c:
64585         * lib/calloc.c,lib/ canon-host.c, lib/canonicalize.c, lib/chdir-long.c:
64586         * lib/chdir-safer.c, lib/chown.c, lib/cloexec.c, lib/close-stream.c:
64587         * lib/closeout.c, lib/creat-safer.c, lib/cycle-check.c, lib/diacrit.c:
64588         * lib/dirchownmod.c, lib/dirfd.c, lib/dirname.c, lib/dup-safer.c:
64589         * lib/dup2.c, lib/error.c, lib/euidaccess.c, lib/exclude.c:
64590         * lib/exitfail.c, lib/fchmodat.c, lib/fchown-stub.c, lib/fd-safer.c:
64591         * lib/file-type.c, lib/fileblocks.c, lib/filemode.c, lib/filenamecat.c:
64592         * lib/fnmatch.c, lib/fopen-safer.c, lib/fprintftime.c, lib/free.c:
64593         * lib/fsusage.c, lib/ftruncate.c, lib/fts-cycle.c, lib/fts.c:
64594         * lib/full-write.c, lib/gai_strerror.c, lib/getcwd.c, lib/getdate.y:
64595         * lib/getdomainname.c, lib/getgroups.c, lib/gethostname.c:
64596         * lib/gethrxtime.c, lib/getloadavg.c, lib/getlogin_r.c:
64597         * lib/getndelim2.c, lib/getnline.c, lib/getopt.c, lib/getopt1.c:
64598         * lib/getpass.c, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c:
64599         * lib/getusershell.c, lib/glob.c, lib/group-member.c:
64600         * lib/hard-locale.c, lib/hash-pjw.c, lib/hash.c, lib/human.c:
64601         * lib/idcache.c, lib/inet_ntop.c, lib/inet_pton.c, lib/inttostr.c:
64602         * lib/isdir.c, lib/lchown.c, lib/linebuffer.c, lib/long-options.c:
64603         * lib/lstat.c, lib/malloc.c, lib/md5.c, lib/memcasecmp.c, lib/memchr.c:
64604         * lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, lib/memmove.c:
64605         * lib/memrchr.c, lib/mkancesdirs.c, lib/mkdir-p.c, lib/mkdir.c:
64606         * lib/mkdirat.c, lib/mkstemp-safer.c, lib/mkstemp.c, lib/modechange.c:
64607         * lib/mountlist.c, lib/nanosleep.c, lib/obstack.c, lib/open-safer.c:
64608         * lib/openat-die.c, lib/openat.c, lib/pagealign_alloc.c, lib/physmem.c:
64609         * lib/pipe-safer.c, lib/posixtm.c, lib/posixver.c, lib/putenv.c:
64610         * lib/quote.c, lib/quotearg.c, lib/raise.c, lib/readtokens.c:
64611         * lib/readtokens0.c, lib/readutmp.c, lib/realloc.c, lib/regex.c:
64612         * lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c:
64613         * lib/same.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c:
64614         * lib/settime.c, lib/sha1.c, lib/sig2str.c, lib/snprintf.c:
64615         * lib/strdup.c, lib/strerror.c, lib/strftime.c, lib/stripslash.c:
64616         * lib/strndup.c, lib/strnlen.c, lib/strpbrk.c, lib/strtod.c:
64617         * lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c:
64618         * lib/time_r.c, lib/timegm.c, lib/tmpfile-safer.c, lib/unlinkdir.c:
64619         * lib/userspec.c, lib/utime.c, lib/utimecmp.c, lib/utimens.c:
64620         * lib/version-etc-fsf.c, lib/version-etc.c, lib/xalloc-die.c:
64621         * lib/xgetcwd.c, lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c:
64622         * lib/xnanosleep.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtoimax.c:
64623         * lib/xstrtol.c, lib/xstrtoumax.c, lib/yesno.c:
64624         Likewise.
64625
64626 2006-09-13  Eric Blake  <ebb9@byu.net>
64627
64628         * lib/getopt.c: Fix typo in last commit.
64629
64630 2006-09-12  Sergey Poznyakoff  <gray@gnu.org.ua>
64631
64632         * lib/argp-help.c (argp_doc): Make sure NULL is not passed to
64633         dgettext.
64634
64635 2006-09-12  Jim Meyering  <jim@meyering.net>
64636
64637         * lib/nanosleep.c: Include <sys/types.h> before sys/select.h, to avoid
64638         compilation failure (due to use of pid_t in latter) on NetBSD 1.6.
64639         Reported by Nelson H. F. Beebe.
64640
64641 2006-09-10  Sergey Poznyakoff  <gray@gnu.org.ua>
64642
64643         * lib/argp-parse.c (__argp_parse) [!_LIBC]: Make sure
64644         program_invocation_name and program_invocation_short_name are
64645         initialized.
64646         * lib/argp-namefrob.h: Move declarations of program_invocation_name
64647         and program_invocation_short_name to argp.h, so they are visible
64648         to user programs.
64649         * lib/argp.h: Likewise
64650
64651 2006-09-10  Bruno Haible  <bruno@clisp.org>
64652
64653         * modules/mkdtemp (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
64654         m4/inttypes_h.m4, m4/uintmax_t.m4.
64655
64656 2006-09-10  Bruno Haible  <bruno@clisp.org>
64657
64658         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Don't require
64659         gl_AC_TYPE_UINTMAX_T.
64660
64661 2006-09-10  Bruno Haible  <bruno@clisp.org>
64662
64663         * lib/mkdtemp.c: Include <stdint.h> always. Don't include <inttypes.h>.
64664
64665 2006-09-09  Sergey Poznyakoff  <gray@gnu.org.ua>
64666
64667         * lib/argp.h (struct argp): Document the N_("..") "\v" N_("..")
64668         convention.  Text proposed by Bruno Haible.
64669         (struct argp_option): Document the use of N_() wrappers.
64670
64671         * lib/argp-help.c (argp_doc): Split the untranslated doc string on
64672         '\v', and translate the two parts separately, instead of feeding
64673         the whole string to gettext.  This allows to exclude
64674         '\v' from the strings visible to the translator by writing doc
64675         strings as N_("..") "\v" N_("..").
64676
64677 2006-09-09  Paul Eggert  <eggert@cs.ucla.edu>
64678
64679         * config/srclist.txt: Undo latest change; the bug was fixed.
64680
64681 2006-09-09  Bruno Haible  <bruno@clisp.org>
64682
64683         * gnulib-tool (func_emit_lib_Makefile_am): Eliminate lib_LDFLAGS
64684         assignments if building a library without libtool.
64685         (func_emit_tests_Makefile_am): Likewise. Handle lib_* variables as
64686         in func_emit_lib_Makefile_am.
64687         (func_import): When building a static library libfoo.a, arrange to
64688         define variables LIBFOO_LIBDEPS and LIBFOO_LTLIBDEPS.
64689         (func_create_testdir): Likewise.
64690         * modules/gc (configure.ac, Makefile.am): If building statically,
64691         augment gl_libdeps and gl_ltlibdeps instead of lib_LDFLAGS.
64692         * modules/iconvme (configure.ac, Makefile.am): Likewise.
64693         * modules/striconv (configure.ac, Makefile.am): Likewise.
64694         Based on a suggestion by Ralf Wildenhues.
64695
64696 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
64697
64698         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
64699         Check for unistd.h too, since Autoconf doesn't assume POSIX.
64700         Also:
64701
64702         2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
64703         Add year_2050_test to catch glibc bug 2821
64704         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
64705
64706         2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
64707         Prefer #ifdef to #if.
64708
64709         2006-04-02  Paul Eggert  <eggert@cs.ucla.edu>
64710         Return from 'main' instead of calling 'exit'.
64711
64712 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
64713
64714         * lib/mktime.c (guess_time_tm): Fix bug where mktime
64715         returned the maximum time_t value rather than (time_t) -1.
64716         Problem originally reported by William Bardwell
64717         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
64718
64719         * lib/isapipe.h (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
64720         Moved to here ...
64721         * lib/isapipe.c (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
64722         ... from here.
64723
64724 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
64725
64726         * config/srclist.txt: Temporarily comment out mktime.c until glibc bug
64727         2821 is fixed.
64728
64729 2006-09-08  Jim Meyering  <jim@meyering.net>
64730
64731         Don't make generated files read-only.  That would bother too many
64732         people.  However, do retain the ability to work when targets are
64733         read-only: remove the destination and temporary files before writing
64734         them (when generated via sed or echo), or by using the -f option for
64735         both cp and mv commands.  Suggestion to use -f from Paul Eggert.
64736         * modules/alloca-opt, modules/argz, modules/arpa_inet:
64737         * modules/byteswap, modules/configmake, modules/fcntl:
64738         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
64739         * modules/localcharset, modules/netinet_in, modules/poll:
64740         * modules/stdbool, modules/stdint, modules/sys_select:
64741         * modules/sys_socket, modules/sys_stat, modules/sysexits:
64742
64743 2006-09-08  Jim Meyering  <jim@meyering.net>
64744
64745         Avoid new build failure on FreeBSD 6.0.
64746         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Include
64747         <sys/param.h> when testing whether getmntinfo uses statvfs.  Patch by
64748         Pavel Tsekov, in <http://savannah.gnu.org/bugs/?17643>.
64749
64750 2006-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64751
64752         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't use plain echo.
64753
64754 2006-09-07  Jim Meyering  <jim@meyering.net>
64755
64756         Fix global typo in last change: use chmod u-w, not chmod u-x.
64757         Spotted by Paul Eggert and Bruce Korb.
64758         * modules/alloca-opt, modules/argz, modules/arpa_inet:
64759         * modules/byteswap, modules/configmake, modules/fcntl:
64760         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
64761         * modules/localcharset, modules/netinet_in, modules/poll:
64762         * modules/stdbool, modules/stdint, modules/sys_select:
64763         * modules/sys_socket, modules/sys_stat, modules/sysexits:
64764
64765 2006-09-06  Jim Meyering  <jim@meyering.net>
64766
64767         Make generated files be read-only.
64768         * modules/alloca-opt (Makefile.am): Work also when $@ is read-only.
64769         Ensure that each generated file is now read-only.
64770         * modules/argz: Likewise.
64771         * modules/arpa_inet: Likewise.
64772         * modules/byteswap: Likewise.
64773         * modules/configmake: Likewise.
64774         * modules/fcntl: Likewise.
64775         * modules/fnmatch: Likewise.
64776         * modules/getopt: Likewise.
64777         * modules/glob: Likewise.
64778         * modules/inttypes: Likewise.
64779         * modules/netinet_in: Likewise.
64780         * modules/poll: Likewise.
64781         * modules/stdbool: Likewise.
64782         * modules/stdint: Likewise.
64783         * modules/sys_select: Likewise.
64784         * modules/sys_socket: Likewise.
64785         * modules/sys_stat: Likewise.
64786         * modules/sysexits: Likewise.
64787         * modules/localcharset: Same as above, but continue using temporary
64788         file named "t-$@" (why different?) rather than the "$@-t" used
64789         everywhere else.
64790
64791         * modules/sysexits (Makefile.am): Replace literal occurrences
64792         of "sysexit.h" more readable, and more consistent, "$@".
64793
64794 2006-09-06  Bruno Haible  <bruno@clisp.org>
64795
64796         * modules/striconv: New file.
64797         * modules/xstriconv: New file.
64798         * MODULES.html.sh (Internationalization functions): Add striconv,
64799         xstriconv.
64800
64801 2006-09-06  Bruno Haible  <bruno@clisp.org>
64802
64803         * modules/gc (Makefile.am): Augment lib_LDFLAGS, not lib_LIBADD.
64804         * modules/iconvme (Makefile.am): Likewise. Also handle the case of
64805         not using libtool correctly.
64806
64807 2006-09-06  Bruno Haible  <bruno@clisp.org>
64808
64809         * lib/striconv.h: New file.
64810         * lib/striconv.c: New file, merging iconvme.c with GNU gettext's
64811         iconvstring.c.
64812         * lib/xstriconv.h: New file.
64813         * lib/xstriconv.c: New file.
64814
64815 2006-09-06  Bruno Haible  <bruno@clisp.org>
64816
64817         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
64818         lib_..._LDFLAGS.
64819
64820 2006-09-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64821
64822         * lib/argz_.h: Sync from Libtool.
64823
64824         2006-09-04  George Bosilca <bosilca@cs.utk.edu>
64825                 and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
64826
64827         * lib/libltdl/argz_.h: It's __cplusplus, not _cplusplus.
64828
64829 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
64830
64831         * modules/trim: New file.
64832
64833 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
64834
64835         * lib/trim.h: New file.
64836         * lib/trim.c: New file.
64837
64838 2006-09-05  Bruno Haible  <bruno@clisp.org>
64839
64840         * MODULES.html.sh (String handling): Add trim.
64841
64842 2006-09-04  Karl Berry  <karl@gnu.org>
64843
64844         * config/srclist.txt (signed.m4, gettext.m4): changes not propagated
64845         until next release.
64846
64847 2006-09-03  Bruno Haible  <bruno@clisp.org>
64848
64849         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Locate mingw shared libraries
64850         correctly.
64851
64852 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
64853
64854         * m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG,
64855         not gl_GETLOADAVG.  Omit unneeded semicolons.
64856         Problems reported by Ralf Wildenhues in
64857         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
64858         (gl_PREREQ_GETLOADAVG): Use AC_DEFUN, not m4_define.  Put
64859         at the end, which is the usual gnulib style.
64860
64861         * m4/fstypename.m4 (gl_FSTYPENAME): Use AC_CHECK_MEMBERS instead
64862         of doing all the work ourselves.
64863         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for
64864         sys/statvfs.h since the code doesn't use HAVE_SYS_STATVFS_H.
64865
64866 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
64867
64868         * lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG.
64869         Problem reported by Ralf Wildenhues in
64870         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
64871
64872         * lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by
64873         HAVE_STRUCT_STATFS_F_FSTYPENAME.
64874
64875 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
64876
64877         * gnulib-tool (func_emit_lib_Makefile_am): Fix typos in
64878         yesterday's patch by changing test -n to test -z.
64879
64880 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
64881
64882         * modules/getloadavg (Files): Add m4/getloadavg.m4.
64883         (configure.ac): AC_FUNC_GETLOADAVG -> gl_GETLOADAVG, as
64884         the former is now obsolescent.
64885
64886         * modules/chdir-long (Depends-on): Add fcntl.
64887
64888 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
64889
64890         * m4/fnmatch.m4: Add comment that Autoconf AC_FUNC_FNMATCH is
64891         obsolescent, and programs should use gnulib instead.
64892         * m4/getloadavg.m4: New file, with contents taken from Autoconf
64893         but with prefixes changed.
64894
64895 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
64896
64897         * lib/getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h
64898         or stdbool.h, because they might not exist while configuring.
64899
64900         * lib/chdir-long.c: Include <fcntl.h>, for O_DIRECTORY.
64901         Don't include unistd.h or limits.h; not needed, since chdir-long.h
64902         does that for us.
64903         (O_DIRECTORY): Remove.
64904
64905 2006-08-31  Eric Blake  <ebb9@byu.net>
64906
64907         * gnulib-tool: Don't let emacs change spaces to TAB.
64908
64909 2006-08-31  Bruno Haible  <bruno@clisp.org>
64910
64911         * gnulib-tool: When calling func_import more than once, do it in a
64912         subshell.
64913         Reported by Eric Blake <ebb9@byu.net>.
64914
64915 2006-08-31  Bruno Haible  <bruno@clisp.org>
64916
64917         * gnulib-tool (nl): Remove variable.
64918         (sed_transform_lib_file): Use more robust test for config-h module.
64919         (func_import): Fix typo in 2006-08-25 patch.
64920
64921 2006-08-31  Bruno Haible  <bruno@clisp.org>
64922
64923         * gnulib-tool (func_emit_lib_Makefile_am): When --makefile-name was
64924         specified, augment Makefile.am variables instead of assigning them.
64925
64926 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
64927
64928         Work around a bug in both the Linux and SunOS 64-bit kernels:
64929         nanosleep mishandles sleeps for longer than 2**31 seconds.
64930         Problem reported by Frank v Waveren in
64931         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
64932         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_CLOCK_TIME.
64933         Check for nanosleep bug.
64934         (LIB_NANOSLEEP): Append clock_gettime library if needed.
64935
64936 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
64937
64938         Work around a bug in both the Linux and SunOS 64-bit kernels:
64939         nanosleep mishandles sleeps for longer than 2**31 seconds.
64940         Problem reported by Frank v Waveren in
64941         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
64942         * lib/nanosleep.c (BILLION): New constant.
64943         (getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions.
64944         (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new
64945         implementation.
64946
64947 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
64948
64949         * modules/nanosleep (Depends-on): Add gettime.
64950
64951 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
64952         and Simon Josefsson  <jas@extundo.com>
64953         and Oskar Liljeblad  <oskar@osk.mine.nu>
64954
64955         * MODULES.html.sh (Support for building documentation): Add gpl, lgpl.
64956         * gnulib-tool (func_import): New license type 'unmodifiable license
64957         text'.
64958         * modules/fdl: Use it.  Longer description.
64959         * module/gpl, module/lgpl: New files.
64960
64961 2006-08-30  Jim Meyering  <jim@meyering.net>
64962
64963         * lib/isapipe.c (isapipe): Rename local s/fd/fd_pair/ to avoid
64964         shadowing the parameter.
64965
64966 2006-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64967
64968         Sync from Libtool:
64969
64970         2006-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64971
64972         * lib/libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code
64973         sharing with gnulib.  Report by Eric Blake.
64974
64975 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
64976
64977         * modules/isapipe: New file.
64978         * MODULES.html.sh (File descriptor based Input/Output): Add isapipe.
64979
64980 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
64981
64982         * modules/configmake (Makefile.am): Add a comment, and omit
64983         the CONFIGMAKE_ prefix from generated macro names.  Suggested
64984         by Bruno Haible.
64985
64986 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
64987
64988         * m4/isapipe.m4: New file.
64989
64990 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
64991
64992         * lib/isapipe.c, lib/isapipe.h: New files.
64993
64994 2006-08-29  Jim Meyering  <jim@meyering.net>
64995
64996         * modules/configmake (Makefile.am): Make configmake.h depend on
64997         Makefile.  Otherwise, a stale configmake.h could hang around.
64998
64999 2006-08-29  Eric Blake  <ebb9@byu.net>
65000
65001         * lib/error.c (error_at_line, print_errno_message): Match libc, after
65002         resolution of upstream bug 3044.
65003
65004 2006-08-29  Bruno Haible  <bruno@clisp.org>
65005
65006         * modules/localcharset (Depends-on): Add configmake.
65007         (Makefile.am): Remove setting of LIBDIR through DEFS.
65008
65009 2006-08-29  Bruno Haible  <bruno@clisp.org>
65010
65011         * lib/localcharset.c: Include configmake.h in order to get LIBDIR
65012         defined.
65013
65014 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
65015
65016         * modules/fcntl: New file.
65017         * modules/chdir-safer (Depends-on): Add fcntl.
65018         * modules/fts: Likewise.
65019         * modules/mkdir-p: Likewise.
65020
65021         * modules/stdint (Makefile.am): Do not substitute ABSOLUTE_INTTYPES_H.
65022         This undoes the most recent change, since we're now addressing the
65023         problem in a different way.
65024
65025         * gnulib-tool (emit_lib_Makefile_am): Don't put $makefile_name
65026         into output, since the output might be called Makefile.am even
65027         if $makefile_name is something different.
65028         (func_import): Use $makefile_am rather than
65029         ${makefile_name-Makefile.am}, to fix a bug where makefile_name was
65030         empty.
65031
65032         * modules/inttypes (Files): Add m4/inttypes-h.m4.
65033
65034 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
65035
65036         * m4/inttypes.m4 (gl_INTTYPES_H): Move ABSOLUTE_INTTYPES_H code here...
65037         * m4/stdint.m4 (gl_STDINT_H): ... from here.  This undoes the most
65038         recent change to stdint.m4, since we're now addressing the problem in a
65039         different way.
65040
65041 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
65042
65043         * m4/fcntl_h.m4: New file.
65044
65045 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
65046
65047         * lib/fcntl_.h: New file.
65048         * lib/chdir-safer.c (O_DIRECTORY, O_NOFOLLOW): Remove, now that we have
65049         the fcntl module.
65050         * lib/dirchownmod.c: Likewise.
65051         * lib/fts.c: Likewise.
65052
65053         * lib/inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]:
65054         Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else.
65055         * lib/stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define
65056         just before including <inttypes.h>, to avoid circular inclusion.
65057
65058 2006-08-28  Jim Meyering  <jim@meyering.net>
65059
65060         * doc/visibility.texi: Actually read and correct the grammar of the
65061         sentence affected by yesterday's change.
65062
65063 2006-08-28  Eric Blake  <ebb9@byu.net>
65064
65065         * modules/inttypes (Makefile.am): Fix sed error when inttypes.h
65066         needs wrapper.
65067
65068 2006-08-28  Eric Blake  <ebb9@byu.net>
65069
65070         * m4/inttypes.m4 (gl_INTTYPES_H): Fix missing #endif.
65071
65072 2006-08-28  Eric Blake  <ebb9@byu.net>
65073
65074         * m4/codeset.m4 (AM_LANGINFO_CODESET): Avoid compiler warning.
65075
65076 2006-08-28  Bruno Haible  <bruno@clisp.org>
65077
65078         * modules/c-strstr: New file, from GNU gettext.
65079         * MODULES.html.sh (String handling): Add c-strstr.
65080
65081 2006-08-28  Bruno Haible  <bruno@clisp.org>
65082
65083         * m4/inttypes.m4 (gl_INTTYPES_H): Don't test for the existence of SCNX*
65084         macros.
65085         Reported by Eric Blake.
65086
65087 2006-08-28  Bruno Haible  <bruno@clisp.org>
65088
65089         * lib/vasnprintf.c (EOVERFLOW): Remove definition.
65090         (VASNPRINTF): Return a string of length > INT_MAX without failing.
65091         * lib/vasprintf.c: Include errno.h, limits.h.
65092         (EOVERFLOW): New fallback definition.
65093         (vasprintf): Test here whether the string length is > INT_MAX.
65094         * lib/vsnprintf.c: Include errno.h, limits.h.
65095         (EOVERFLOW): New fallback definition.
65096         (vsnprintf): Fix bug when generated string was too long for the buffer.
65097         Test here whether the string length is > INT_MAX.
65098
65099 2006-08-28  Bruno Haible  <bruno@clisp.org>
65100
65101         * lib/inttypes_.h (SCNX*): Remove definitions.
65102         Reported by Eric Blake.
65103
65104 2006-08-28  Bruno Haible  <bruno@clisp.org>
65105
65106         * lib/c-strstr.h: New file, from GNU gettext.
65107         * lib/c-strstr.c: New file, from GNU gettext.
65108
65109 2006-08-28  Bruno Haible  <bruno@clisp.org>
65110
65111         * gnulib-tool: Reorder some statements.
65112
65113 2006-08-28  Bruno Haible  <bruno@clisp.org>
65114
65115         * gnulib-tool: New option --makefile-name.
65116         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use
65117         $makefile_name.
65118         (func_import): Write $makefile_name to the cache file, and read it from
65119         there unless explicitly specified. Use $makefile_name as file name
65120         instead of Makefile.am. Adjust the recommendations accordingly.
65121
65122 2006-08-28  Bruno Haible  <bruno@clisp.org>
65123
65124         * gnulib-tool (func_verify_module): Check against misapplying patch.
65125
65126 2006-08-28  Bruno Haible  <bruno@clisp.org>
65127
65128         * gnulib-tool (func_relativize, func_relconcat): New functions.
65129         Give an error if --local-dir is given with --update.
65130         Remove trailing slashes from $local_gnulib_dir.
65131         (func_import): Store the relativized $local_gnulib_dir in
65132         gnulib-cache.m4, and read it from there if not specified explicitly.
65133
65134 2006-08-28  Bruno Haible  <bruno@clisp.org>
65135
65136         * gnulib-tool (func_get_tests_module): Don't assume that $gnulib_dir
65137         is the current directory. Respect also $local_gnulib_dir.
65138
65139 2006-08-28  Bruno Haible  <bruno@clisp.org>
65140             Simon Josefsson  <jas@extundo.com>
65141
65142         BeOS portability.
65143         * lib/getaddrinfo.c (PF_INET, PF_UNSPEC): New macros.
65144
65145 2006-08-27  Jim Meyering  <jim@meyering.net>
65146
65147         * doc/visibility.texi: Remove duplicate word: "pointer".
65148
65149 2006-08-26  Bruno Haible  <bruno@clisp.org>
65150
65151         * modules/inttypes (Files): Add lib/inttypes_.h, remove lib/inttypes.h.
65152         Add m4/inttypes.m4, remove m4/_inttypes_h.m4 and m4/include_next.m4.
65153         (Makefile.am): Create inttypes.h from inttypes_.h.
65154         * modules/stdint (Makefile.am): Substitute also ABSOLUTE_INTTYPES_H.
65155
65156         * modules/imaxabs: New file.
65157
65158         * modules/imaxdiv: New file.
65159
65160 2006-08-26  Bruno Haible  <bruno@clisp.org>
65161
65162         * m4/inttypes.m4: New file.
65163         * m4/_inttypes_h.m4: Remove file.
65164         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Also AC_SUBST
65165         PRI_MACROS_BROKEN.
65166         * m4/stdint.m4 (gl_STDINT_H): Define also ABSOLUTE_INTTYPES_H.
65167
65168         * m4/imaxabs.m4: New file.
65169
65170         * m4/imaxdiv.m4: New file.
65171
65172 2006-08-26  Bruno Haible  <bruno@clisp.org>
65173
65174         * lib/inttypes_.h: New file.
65175         * lib/inttypes.h: Remove file.
65176         * lib/stdint_.h: Include <inttypes.h> through its absolute filename.
65177
65178         * lib/imaxabs.c: New file.
65179
65180         * lib/imaxdiv.c: New file.
65181
65182 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
65183
65184         New config-h module, so that "make" output needn't be cluttered
65185         by -DHAVE_CONFIG_H.
65186         * MODULES.html.sh (Support for building libraries and executables):
65187         Add config-h.
65188         * modules/config-h: New file.
65189         * gnulib-tool (nl, sed_transform_lib_file): New vars.
65190         (func_import): Turn "#ifdef HAVE_CONFIG_H" to "#if 1" if
65191         the config-h module is used.
65192
65193         New configmake module, so that "make" output needn't be cluttered
65194         by fluff like '-DLIBDIR=\"/usr/local/lib\"'.
65195         * MODULES.html.sh (Support for building libraries and executables):
65196         Add configmake.
65197         * modules/configmake: New file.
65198
65199 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
65200
65201         * m4/config-h.m4: New file.
65202
65203 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
65204
65205         * config/srclist.txt: Add elisp-comp.
65206
65207 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
65208
65209         * MODULES.html.sh (Support for building libraries and executables):
65210         Add elisp-comp.
65211         * build-aux/elisp-comp: New file.
65212         * modules/elisp-comp: New file.
65213
65214 2006-08-24  Bruno Haible  <bruno@clisp.org>
65215
65216         * gnulib-tool (func_create_testdir): Use non-default values of
65217         sourcebase and m4base.
65218
65219 2006-08-24  Bruno Haible  <bruno@clisp.org>
65220
65221         * MODULES.html.sh (Compatibility checks for POSIX:2001 functions: Fix
65222         HTML structure.
65223
65224 2006-08-23  Paul Eggert  <eggert@cs.ucla.edu>
65225
65226         * modules/openat (Depends-on): Add lchown.
65227
65228 2006-08-23  Bruno Haible  <bruno@clisp.org>
65229
65230         * gnulib-tool (func_import, func_create_testdir): Emit an invocation
65231         of gl_LOCK_EARLY instead of gl_LOCK.
65232
65233 2006-08-23  Bruno Haible  <bruno@clisp.org>
65234
65235         * m4/lock.m4 (gl_LOCK_BODY): Change the default value of gl_use_threads
65236         on OSF/1 to no.
65237         Reported by Stephen Cartwright <sgcartwr@ucalgary.ca>.
65238
65239 2006-08-23  Bruno Haible  <bruno@clisp.org>
65240
65241         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't consider BeOS statvfs
65242         as unusable.
65243
65244         * m4/lock.m4 (gl_LOCK_EARLY): Renamed from gl_LOCK.
65245         (gl_LOCK_BODY): Remove gl_PREREQ_LOCK invocation.
65246         (gl_LOCK): New macro.
65247
65248 2006-08-22  Simon Josefsson  <jas@extundo.com>
65249
65250         * modules/gc-md5 (Makefile.am): Need to add md5.h, after changes
65251         to md5 module.
65252
65253 2006-08-22  Simon Josefsson  <jas@extundo.com>
65254
65255         * MODULES.html.sh: Add "Support for maintaining and release
65256         projects".
65257
65258         * build-aux/gnupload: New file, from coreutils.
65259
65260 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
65261
65262         Avoid the need for AC_LIBSOURCES in m4 macros.
65263         * modules/arcfour (EXTRA_DIST): Add arcfour.h.
65264         * modules/arctwo (EXTRA_DIST): Add arctwo.h.
65265         * modules/check-version (EXTRA_DIST): Add check-version.h.
65266         * modules/crc (EXTRA_DIST): Add crc.h.
65267         * modules/des (EXTRA_DIST): Add des.h.
65268         * modules/gc (EXTRA_DIST): Add gc.h.
65269         * modules/getdelim (EXTRA_DIST): Add getdelim.h.
65270         * modules/getline (EXTRA_DIST): Add getline.h.
65271         * modules/getlogin_r (EXTRA_DIST): Add getlogin_r.h.
65272         * modules/hmac-md5 (EXTRA_DIST): Add hmac.h.
65273         * modules/hmac-sha1 (EXTRA_DIST): Add hmac.h.
65274         * modules/md2 (EXTRA_DIST): Add md2.h.
65275         * modules/md4 (EXTRA_DIST): Add md4.h.
65276         * modules/pagealign_alloc (EXTRA_DIST): Add pagealign_alloc.h.
65277         * modules/read-file (EXTRA_DIST): Add read-file.h.
65278         * modules/readline (EXTRA_DIST): Add readline.h.
65279         * modules/rijndael (EXTRA_DIST): Add rijndael-alg-fst.h,
65280         rijndael-api-fst.h.
65281
65282 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
65283
65284         * m4/rijndael.m4 (gl_ARCFOUR):
65285         * m4/arctwo.m4 (gl_ARCTWO):
65286         * m4/check-version.m4 (gl_CHECK_VERSION):
65287         * m4/crc.m4 (gl_CRC):
65288         * m4/des.m4 (gl_DES):
65289         * m4/gc-pbkdf2-sha1.m4 (gl_GC_PBKDF2_SHA1):
65290         * m4/gc.m4 (gl_GC):
65291         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
65292         * m4/getline.m4 (gl_FUNC_GETLINE):
65293         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE):
65294         * m4/hmac-md5.m4 (gl_HMAC_MD5):
65295         * m4/hmac-sha1.m4 (gl_HMAC_SHA1):
65296         * m4/md2.m4 (gl_MD2):
65297         * m4/md4.m4 (gl_MD4):
65298         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC):
65299         * m4/read-file.m4 (gl_FUNC_READ_FILE):
65300         * m4/readline.m4 (gl_FUNC_READLINE):
65301         * m4/rijndael.m4 (gl_RIJNDAEL):
65302         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
65303         to get the necessary .h files and whatnot.
65304
65305 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
65306
65307         * config/srclist.txt: Remove gnupload, since coreutils now syncs from
65308         gnulib rather than the other way around.
65309         * config/srclistvars.sh (COREUTILS): Remove.
65310
65311 2006-08-22  Jim Meyering  <jim@meyering.net>
65312
65313         * modules/mkdir-p (Makefile.am): Fix typo: s/lib+SOURCES/lib_SOURCES/.
65314
65315         * modules/getpass-gnu (Makefile.am): Add getpass.h to EXTRA_DIST.
65316
65317 2006-08-22  Eric Blake  <ebb9@byu.net>
65318
65319         * modules/regexprops-generic: New file.
65320         * MODULES.html.sh (Support for building documentation): List it.
65321
65322 2006-08-22  Eric Blake  <ebb9@byu.net>
65323
65324         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Avoid compiler warning.
65325         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
65326         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
65327         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
65328
65329 2006-08-22  Bruno Haible  <bruno@clisp.org>
65330
65331         * gnulib-tool (func_emit_lib_Makefile_am): Don't treat lib_LIBRARIES
65332         and lib_LTLIBRARIES like the other lib_* variables.
65333
65334 2006-08-22  Bruno Haible  <bruno@clisp.org>
65335
65336         * build-aux/x-to-1.in: New file, from GNU gettext.
65337
65338 2006-08-22  Bruno Haible  <bruno@clisp.org>
65339
65340         * m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if <utmp.h> or
65341         <utmpx.h> exists.
65342
65343 2006-08-22  Bruno Haible  <bruno@clisp.org>
65344
65345         * lib/readutmp.h: Skip most definitions if neither <utmp.h> nor
65346         <utmpx.h> exists.
65347
65348 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
65349
65350         BeOS portability.
65351         * lib/dirchownmod.c (dirchownmod): Don't use fchmod if it doesn't
65352         exist.
65353         Problem reported by Bruno Haible.
65354
65355 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
65356
65357         Avoid the need for AC_LIBSOURCES in m4 macros.
65358         * modules/acl (EXTRA_DIST): Add acl.h.
65359         * modules/argmatch (Files): Add m4/argmatch.m4.
65360         (configure.ac): Add gl_ARGMATCH.
65361         (EXTRA_DIST): Renamed from lib_SOURCES, for
65362         consistency with the other modules.  Remove argmatch.c.
65363         * modules/backupfile (EXTRA_DIST): Add backupfile.h.
65364         * modules/c-strtod (EXTRA_DIST): Add c-strtod.h.
65365         * modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h.
65366         * modules/canonhost (EXTRA_DIST): Add c-canonhost.h.
65367         * modules/canonicalize (EXTRA_DIST): Add canonicalize.h.
65368         * modules/chdir-long (EXTRA_DIST): Add chdir-long.h.
65369         * modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h.
65370         * modules/cloexec (EXTRA_DIST): Add cloexec.h.
65371         * modules/close-stream (EXTRA_DIST): Add close-stream.h.
65372         * modules/closeout (EXTRA_DIST): Add closeout.h.
65373         * modules/cycle-check (EXTRA_DIST): Add cycle-check.h.
65374         * modules/dev-ino (EXTRA_DIST): Add dev-ino.h.
65375         * modules/dirfd (EXTRA_DIST): Add dirfd.h.
65376         * modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES.  Add
65377         dirname.h; remove basename.c and stripslash.c.
65378         * modules/exclude (EXTRA_DIST): Add exclude.h.
65379         * modules/exitfail (EXTRA_DIST): Add exitfail.h.
65380         * modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h.
65381         * modules/file-type (EXTRA_DIST): Add file-type.h.
65382         * modules/filemode (EXTRA_DIST): Add filemode.h.
65383         * modules/filenamecat (EXTRA_DIST): Add filenamecat.h.
65384         * modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
65385         * modules/fpending (EXTRA_DIST): Add __fpending.h.
65386         * modules/fprintftime (EXTRA_DIST): Add fprintftime.h.
65387         * modules/fsusage (EXTRA_DIST): Add fsusage.h.
65388         * modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c.
65389         * modules/getcwd (EXTRA_DIST): Add getcwd.h.
65390         * modules/getdate (EXTRA_DIST): Add getdate.c.
65391         * modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h.
65392         * modules/getpagesize (EXTRA_DIST): Add getpagesize.h.
65393         * modules/getpass (EXTRA_DIST): Add getpass.h.
65394         * modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h.
65395         * modules/group-member (EXTRA_DIST): Add group-member.h.
65396         * modules/hard-locale (EXTRA_DIST): Add hard-locale.h.
65397         * modules/hash (EXTRA_DIST): Add hash.h.
65398         * modules/human (EXTRA_DIST): Add human.h.
65399         * modules/inttypes (EXTRA_DIST): Add inttypes.h.
65400         * modules/lchmod (EXTRA_DIST): Add lchmod.h.
65401         * modules/lchown (EXTRA_DIST): Add lchown.h.
65402         * modules/long-options (EXTRA_DIST): Add long-options.h.
65403         * modules/lstat (EXTRA_DIST): Add lstat.h.
65404         * modules/md5 (EXTRA_DIST): Add memcasecmp.h.
65405         * modules/memcoll (EXTRA_DIST): Add memcoll.h.
65406         * modules/mempcpy (EXTRA_DIST): Add mempcpy.h.
65407         * modules/memrchr (EXTRA_DIST): Add memrchr.h.
65408         * modules/memxor (EXTRA_DIST): Add memxor.h.
65409         * modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h.
65410         * modules/mkdir-p (EXTRA_DIST): Add modechange.h.
65411         * modules/mountlist (EXTRA_DIST): Add mountlist.h.
65412         * modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h.
65413         * modules/pathmax (EXTRA_DIST): Add pathmax.h.
65414         * modules/physmem (EXTRA_DIST): Add physmem.h.
65415         * modules/posixtm (EXTRA_DIST): Add posixtm.h.
65416         * modules/posixver (EXTRA_DIST): Add posixver.h.
65417         * modules/quote (EXTRA_DIST): Add quote.h.
65418         * modules/quotearg (EXTRA_DIST): Add quotearg.h.
65419         * modules/readtokens (EXTRA_DIST): Add readtokens.h.
65420         * modules/readutmp (EXTRA_DIST): Add readutmp.h.
65421         * modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c
65422         regex_internal.h regexec.c.
65423         * modules/safe-read (EXTRA_DIST): Add safe-read.h.
65424         * modules/safe-write (EXTRA_DIST): Add safe-write.h.
65425         * modules/same (EXTRA_DIST): Add same.h.
65426         * modules/same-inode (EXTRA_DIST): Add same-inode.h.
65427         * modules/save-cwd (EXTRA_DIST): Add save-cwd.h.
65428         * modules/savedir (EXTRA_DIST): Add savedir.h.
65429         * modules/sha1 (EXTRA_DIST): Add sha1.h.
65430         * modules/sig2str (EXTRA_DIST): Add sig2str.h.
65431         * modules/stat-macros (EXTRA_DIST): Add stat-macros.h.
65432         * modules/stat-time (EXTRA_DIST): Add stat-time.h.
65433         * modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h.
65434         * modules/strdup (EXTRA_DIST): Add strdup.h.
65435         * modules/strftime (EXTRA_DIST): Add strftime.h.
65436         * modules/strndup (EXTRA_DIST): Add strndup.h.
65437         * modules/strnlen (EXTRA_DIST): Add strnlen.h.
65438         * modules/strverscmp (EXTRA_DIST): Add strverscmp.h.
65439         * modules/time_r (EXTRA_DIST): Add time_r.h.
65440         * modules/timespec (EXTRA_DIST): Add timespec.h.
65441         * modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
65442         * modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h.
65443         * modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h.
65444         * modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h.
65445         * modules/userspec (EXTRA_DIST): Add userspec.h.
65446         * modules/utimecmp (EXTRA_DIST): Add utimecmp.h.
65447         * modules/utimens (EXTRA_DIST): Add utimens.h.
65448         * modules/xalloc (EXTRA_DIST): Add xalloc.h.
65449         * modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h.
65450         * modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h.
65451         * modules/xreadlink (EXTRA_DIST): Add xreadlink.h.
65452         * modules/xstrtod (EXTRA_DIST): Add xstrtod.h.
65453         * modules/xstrtol (EXTRA_DIST): Add xstrtol.h.
65454         * modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h.
65455         * modules/yesno (EXTRA_DIST): Add yesno.h.
65456
65457 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
65458
65459         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Check for fchmod.
65460
65461         * m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed.
65462         * m4/dev-ino.m4, same-inode.m4: Remove.
65463
65464         * m4/_inttypes_h.m4 (gl_INTTYPES_H):
65465         * m4/acl.m4 (AC_FUNC_ACL):
65466         * m4/backupfile.m4 (gl_BACKUPFILE):
65467         * m4/c-strtod.m4 (gl_C99_STRTOLD):
65468         * m4/canon-host.m4 (gl_CANON_HOST):
65469         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
65470         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG):
65471         * m4/chdir-safer.m4 (gl_CHDIR_SAFER):
65472         * m4/cloexec.m4 (gl_CLOEXEC):
65473         * m4/close-stream.m4 (gl_CLOSE_STREAM):
65474         * m4/closeout.m4 (gl_CLOSEOUT):
65475         * m4/dirfd.m4 (gl_FUNC_DIRFD):
65476         * m4/dirname.m4 (gl_DIRNAME):
65477         * m4/exclude.m4 (gl_EXCLUDE):
65478         * m4/exitfail.m4 (gl_EXITFAIL):
65479         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER):
65480         * m4/file-type.m4 (gl_FILE_TYPE):
65481         * m4/filemode.m4 (gl_FILEMODE):
65482         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT):
65483         * m4/fpending.m4 (gl_FUNC_FPENDING):
65484         * m4/fprintftime.m4 (gl_FPRINTFTIME):
65485         * m4/fts.m4 (gl_FUNC_FTS):
65486         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
65487         * m4/getdate.m4 (gl_GETDATE):
65488         * m4/gethrxtime.m4 (gl_GETHRXTIME):
65489         * m4/getpagesize.m4 (gl_GETPAGESIZE):
65490         * m4/getpass.m4 (gl_FUNC_GETPASS):
65491         * m4/gettime.m4 (gl_GETTIME):
65492         * m4/getugroups.m4 (gl_GETUGROUPS):
65493         * m4/glob.m4 (gl_GLOB_SUBSTITUTE):
65494         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER):
65495         * m4/hard-locale.m4 (gl_HARD_LOCALE):
65496         * m4/hash.m4 (gl_HASH):
65497         * m4/idcache.m4 (gl_IDCACHE):
65498         * m4/lchmod.m4 (gl_FUNC_LCHMOD):
65499         * m4/lchown.m4 (gl_FUNC_LCHOWN):
65500         * m4/long-options.m4 (gl_LONG_OPTIONS):
65501         * m4/lstat.m4 (gl_FUNC_LSTAT):
65502         * m4/md5.m4 (gl_MD5):
65503         * m4/memcasecmp.m4 (gl_MEMCASECMP):
65504         * m4/memcoll.m4 (gl_MEMCOLL):
65505         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY):
65506         * m4/memrchr.m4 (gl_FUNC_MEMRCHR):
65507         * m4/memxor.m4 (gl_MEMXOR):
65508         * m4/mkancesdirs.m4 (gl_MKANCESDIRS):
65509         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS):
65510         * m4/modechange.m4 (gl_MODECHANGE):
65511         * m4/mountlist.m4 (gl_MOUNTLIST):
65512         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
65513         * m4/openat.m4 (gl_FUNC_OPENAT):
65514         * m4/pathmax.m4 (gl_PATHMAX):
65515         * m4/physmem.m4 (gl_PHYSMEM):
65516         * m4/posixtm.m4 (gl_POSIXTM):
65517         * m4/posixver.m4 (gl_POSIXVER):
65518         * m4/quote.m4 (gl_QUOTE):
65519         * m4/quotearg.m4 (gl_QUOTEARG):
65520         * m4/readtokens.m4 (gl_READTOKENS):
65521         * m4/readutmp.m4 (gl_READUTMP):
65522         * m4/regex.m4 (gl_REGEX):
65523         * m4/safe-read.m4 (gl_SAFE_READ):
65524         * m4/safe-write.m4 (gl_SAFE_WRITE):
65525         * m4/same.m4 (gl_SAME):
65526         * m4/save-cwd.m4 (gl_SAVE_CWD):
65527         * m4/savedir.m4 (gl_SAVEDIR):
65528         * m4/settime.m4 (gl_SETTIME):
65529         * m4/sha1.m4 (gl_SHA1):
65530         * m4/sig2str.m4 (gl_FUNC_SIG2STR):
65531         * m4/stat-macros.m4 (gl_STAT_MACROS):
65532         * m4/stat-time.m4 (gl_STAT_TIME):
65533         * m4/stdio-safer.m4 (gl_FOPEN_SAFER):
65534         * m4/stdlib-safer.m4 (gl_STDLIB_SAFER):
65535         * m4/strdup.m4 (gl_FUNC_STRDUP):
65536         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME):
65537         * m4/strndup.m4 (gl_FUNC_STRNDUP):
65538         * m4/strnlen.m4 (gl_FUNC_STRNLEN):
65539         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP):
65540         * m4/time_r.m4 (gl_TIME_R):
65541         * m4/timespec.m4 (gl_TIMESPEC):
65542         * m4/unistd-safer.m4 (gl_UNISTD_SAFER):
65543         * m4/unlinkdir.m4 (gl_UNLINKDIR):
65544         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO):
65545         * m4/userspec.m4 (gl_USERSPEC):
65546         * m4/utimecmp.m4 (gl_UTIMECMP):
65547         * m4/utimens.m4 (gl_UTIMENS):
65548         * m4/xalloc.m4 (gl_XALLOC):
65549         * m4/xgetcwd.m4 (gl_XGETCWD):
65550         * m4/xnanosleep.m4 (gl_XNANOSLEEP):
65551         * m4/xreadlink.m4 (gl_XREADLINK):
65552         * m4/xstrtod.m4 (gl_XSTRTOD):
65553         * m4/yesno.m4 (gl_YESNO):
65554         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
65555         to get the necessary .h files and whatnot.
65556
65557 2006-08-21  Mark D. Baushke  <mdb@gnu.org>
65558             Bruno Haible  <bruno@clisp.org>
65559
65560         * gnulib-tool (func_verify_module): Work around Sun's non-POSIX 1003.2
65561         /bin/sh understanding of '!' conditional negation.
65562
65563 2006-08-21  Jim Meyering  <jim@meyering.net>
65564
65565         * modules/openat (Depends-on): Really alphabetize.
65566
65567         * modules/acl (Depends-on): Add error and quote.
65568
65569         * check-module (find_included_lib_files): Add at-func.c to the
65570         ok-to-include-more-than-once white list.
65571
65572         * modules/openat (Depends-on): Add lstat.  Alphabetize.
65573
65574 2006-08-21  Bruno Haible  <bruno@clisp.org>
65575
65576         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
65577         Emit a pkgdata_DATA variable only if some snippets add contents to it.
65578         Reported by Martin Lambers <marlam@marlam.de>.
65579
65580 2006-08-21  Bruno Haible  <bruno@clisp.org>
65581
65582         * gnulib-tool (func_emit_lib_Makefile_am): If the snippets already
65583         specify an installation location, don't emit a noinst_LIBRARIES or
65584         noinst_LTLIBRARIES assignment.
65585
65586 2006-08-21  Bruno Haible  <bruno@clisp.org>
65587
65588         BeOS portability.
65589         * modules/mbchar (Include): Don't test HAVE_WCTYPE_H any more, since
65590         BeOS has mbrtowc() but no <wctype.h>.
65591
65592 2006-08-21  Bruno Haible  <bruno@clisp.org>
65593
65594         BeOS portability.
65595         * m4/mbchar.m4 (gl_MBCHAR): Compile mbchar.c also if <wctype.h> doesn't
65596         exist.
65597
65598 2006-08-21  Bruno Haible  <bruno@clisp.org>
65599
65600         BeOS portability.
65601         * lib/mbchar.h: Include <wctype.h> only if it exists.
65602
65603 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
65604
65605         Remove files that are no longer needed by their respective modules.
65606         * m4/obstack.m4: Remove.
65607         * m4/strerror_r.m4: Remove.
65608         * m4/uint32_t.m4: Remove.
65609         * m4/uintptr_t.m4: Remove.
65610         * m4/ullong_max.m4: Remove.
65611         * m4/xstrtoimax.m4: Remove.
65612         * m4/xstrtoumax.m4: Remove.
65613
65614         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Do not require
65615         gl_AC_TYPE_UINTMAX_T, gl_STRUCT_DEV_INO, or gl_SAME_INODE, since gnulib
65616         dependencies now capture this.
65617
65618         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
65619         Do not use AC_LIBSOURCES, since gnulib modules now do this.
65620         * m4/fsusage.m4 (gl_FSUSAGE): Likewise.
65621         * m4/human.m4 (gl_HUMAN): Likewise.
65622         * m4/inttostr.m4 (gl_INTTOSTR): Likewise.
65623         * m4/xstrtol.m4 (gl_XSTRTOL): Likewise.
65624
65625         * m4/filemode.m4 (gl_FILEMODE): Require AC_STRUCT_ST_DM_MODE.
65626
65627         * m4/filemode.m4 (gl_PREREQ_FSUSAGE_EXTRA): Do not require
65628         gl_AC_TYPE_INTMAX_T or gl_AC_TYPE_UINTMAX_T, since we now require
65629         stdint.
65630         * m4/human.m4 (gl_HUMAN): Likewise.
65631         * m4/inttostr.m4 (gl_PREREQ_INTTOSTR): Likewise.
65632         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Likewise.
65633         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
65634         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
65635         * m4/xstrtol (gl_XSTRTOL): Likewise.
65636
65637         * m4/gethrxtime.m4 (gl_XTIME): gl_AC_TYPE_LONG_LONG ->
65638         AC_TYPE_LONG_LONG_INT.
65639         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
65640         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Likewise.
65641         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Likewise, for unsigned long.
65642         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
65643
65644         * m4/human.m4 (gl_HUMAN): Do not require AM_STDBOOL_H since we depend
65645         on stdbool.
65646
65647         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL_H, gl_PREREQ_XSTRTOL): Remove.
65648         (gl_PREREQ_XSTRTOUL): Remove.
65649
65650         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for hasmntopt.
65651
65652         * m4/posixver.m4: Fix comment since head -1 now works even in POSIX
65653         mode.
65654
65655 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
65656
65657         Add and change modules to make it easier for coreutils to use
65658         gnulib-tool.
65659         * modules/backupfile (Files): Remove m4/d-ino.m4.
65660         (Depends-on): Add d-ino.
65661         * modules/cycle-check (Depends-on): Add stdint.
65662         (lib_SOURCES): Add cycle-check.h.
65663         * modules/d-ino: New module.
65664         * modules/d-type: New module.
65665         * modules/error (Files): Remove m4/strerror_r.m4.
65666         * modules/filemode (Files): Add m4/st_dm_mode.m4.
65667         * modules/fsuage (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
65668         m4/inttypes_h.m4, m4/uintmax_t.m4.
65669         (Depends-on): Add stdint.
65670         (lib_SOURCES): Add fsusage.h.
65671         * modules/getcwd (Files): Remove d-ino.m4.
65672         (Depends-on): Add d-ino.
65673         * modules/getndelim2 (Depends-on): Add stdint.
65674         * modules/glob (Files): Remove m4/d-type.m4.
65675         (Depends-on): Add d-type.
65676         * modules/host-os: New module.
65677         * modules/human (Files):  Remove m4/ulonglong.m4, m4/stdint_h.m4,
65678         m4/inttypes_h.m4, m4/uintmax_t.m4.
65679         * Depends-on: Add stdint.
65680         (lib_SOURCES): Add human.h.
65681         * modules/inttostr (Files): Remove m4/intmax_t.m4,
65682         m4/inttostr.m4, m4/inttypes_h.m4, m4/longlong.m4, m4/stdint_h.m4,
65683         m4/uintmax_t.m4, m4/ulonglong.m4.
65684         (Depends-on): Add stdint.
65685         (EXTRA_DIST): Add inttostr.h.
65686         * modules/lchmod: New module.
65687         * modules/link-follow: New module.
65688         * modules/mkdir-p (Files): Remove lib/lchmod.h, m4/lchmod.m4.
65689         (Depends-on): Add lchmod.
65690         * modules/mkstemp (Files): Remove m4/ulonglong.m4,
65691         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4.
65692         (Depends-on): Add stdint.
65693         * modules/obstack (Files): Remove m4/inttypes_h.m4, m4/obstack.m4,
65694         m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4.
65695         (Depends-on): Add stdint.
65696         (configure.ac): Change gl_OBSTACK to AC_FUNC_OBSTACK.
65697         * modules/perl: New module.
65698         * modules/regex (Depends-on): Add stdint.
65699         * modules/rmdir-errno: New module.
65700         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
65701         m4/intmax_t.m4.
65702         (Depends-on): Add stdint.
65703         * modules/strtoumax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
65704         m4/uintmax_t.m4.
65705         (Depends-on): Add stdint.
65706         * modules/unlink-busy: New module.
65707         * modules/utimecmp (Depends-on): Add stdint.
65708         * modules/uptime: New module.
65709         * modules/winsz-ioctl: New module.
65710         * modules/winsz-termios: New module.
65711         * modules/xnanosleep (Depends-on): Add nanosleep.
65712         * modules/ullong_max: Remove.
65713         * modules/xstrtoimax (Files): Remove m4/xstrtoimax.m4.
65714         (configure.ac): Remove gl_XSTRTOIMAX; no action needed now.
65715         * modules/xstrtol (Files): Remove m4/ulonglong.m4, m4/longlong.m4,
65716         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/intmax_t.m4.
65717         (Depends-on): Add inttypes.
65718         (lib_SOURCES): Add xstrtol.h.
65719         * modules/xstrtoumax (Files): Remove m4/xstrtoumax.m4.
65720         (configure.ac): Remove gl_XSTRTOUMAX; no action needed now.
65721         * MODULES.html.sh: Move 'assert' into the assert section.
65722         Move 'dummy' into the linking section.
65723         Remove ullong_max.
65724         Add section for compatibility checks for POSIX:2001 functions,
65725         and put d-ino, d-type, link-follow, rmdir-errno, unlink-busy,
65726         winsz-ioctl, and winsz-termios into it.
65727         Add lchmod.
65728         Add top-level Misc section and put host-os, perl, and uptime
65729         into it.
65730
65731 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
65732
65733         * lib/cycle-check.h: Include <stdint.h> unconditionally, since we
65734         now assume the stdint module.  Do not include inttypes.h.
65735         * lib/fsusage.h: Likewise.
65736         * lib/getndelim2.c: Likewise.
65737         * lib/human.h: Likewise.
65738         * lib/inttostr.h: Likewise.
65739         * lib/obstack.c: Likewise.
65740         * lib/regex_internal.h: Likewise.
65741         * lib/tempname.c: Likewise.
65742         * lib/utimecmp.c: Likewise.
65743         * lib/xstrtol.h: Likewise.
65744
65745         * lib/stat_.h: Fix typo: HAVE_FUNC_LSTAT -> HAVE_LSTAT.
65746
65747         * lib/strtoimax.c: Adjust to macro name changes in Autoconf,
65748         e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT.
65749         * lib/xtime.h: Likewise.
65750
65751 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
65752
65753         * modules/openat (Files): Add lib/fchmodat.c.
65754         Fixes problem reported by Jay Youngman.
65755
65756 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
65757
65758         * lib/fchmodat.c: New file, from coreutils.  This was inadvertently
65759         omitted in the 2006-08-17 update.  Problem reported by Jay Youngman.
65760
65761 2006-08-18  Paul Eggert  <eggert@cs.ucla.edu>
65762             Bruno Haible  <bruno@clisp.org>
65763
65764         * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists
65765         and is a script that invokes bison. Tighten the code. Add comments.
65766
65767 2006-08-18  Jim Meyering  <jim@meyering.net>
65768
65769         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Also check for
65770         CLOCK_REALTIME, since gethrxtime may revert to using clock_gettime via
65771         gettime.c.  Gabor Z. Papp reported that gethrxtime-using programs
65772         failed to link due to unresolved clock_gettime on a linux-2.4.x system.
65773
65774 2006-08-18  Bruno Haible  <bruno@clisp.org>
65775
65776         * modules/bison-i18n: New file.
65777         * MODULES.html.sh (Internationalization functions): Add it.
65778
65779 2006-08-18  Bruno Haible  <bruno@clisp.org>
65780
65781         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for
65782         sys/statvfs.h. When getmntinfo was found, check its declaration and
65783         set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it.
65784
65785 2006-08-18  Bruno Haible  <bruno@clisp.org>
65786
65787         * m4/bison-i18n.m4: New file, from bison.
65788
65789 2006-08-18  Bruno Haible  <bruno@clisp.org>
65790
65791         * lib/mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h.
65792         (ME_DUMMY): Treat "kernfs" as a dummy.
65793         (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement.
65794
65795 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
65796
65797         Update from coreutils.
65798
65799         2006-08-15  Jim Meyering  <jim@meyering.net>
65800
65801         * m4/openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES.
65802
65803         2006-01-17  Jim Meyering  <jim@meyering.net>
65804
65805         * m4/fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT.
65806
65807         2006-01-11  Jim Meyering  <jim@meyering.net>
65808
65809         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c.
65810         Check for the lchmod function.
65811
65812 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
65813
65814         Update from coreutils.
65815
65816         * lib/__fpending.h: Add copyright notice.
65817         * lib/fprintftime.h: Likewise.
65818         * lib/savedir.c: Use (C) in copyright notice.
65819         * lib/savedir.h: Likewise.
65820
65821         2006-08-15  Jim Meyering  <jim@meyering.net>
65822
65823         * lib/at-func.c: New file, with the logic of all emulated at-functions.
65824         * lib/openat-priv.h: Include <errno.h> and define ENOSYS,
65825         in support of the EXPECTED_ERRNO macro.
65826         * lib/openat.c (fstatat, unlinkat, fchownat): Remove function
65827         definitions.  Instead, define the appropriate symbols and include
65828         "at-func.c".
65829         * lib/mkdirat.c (mkdirat): Likewise.
65830         * lib/fchmodat.c (fchmodat): Likewise.
65831         (ENOSYS): Remove definition.
65832         * lib/openat.c: Don't include <errno.h>, now that "openat-priv.h" does
65833         it.  Don't include "unistd--.h" -- it wasn't ever used.
65834
65835         2006-01-17  Jim Meyering  <jim@meyering.net>
65836
65837         Rewrite fts.c not to change the current working directory,
65838         by using openat, fstatat, fdopendir, etc..
65839
65840         * lib/fts.c [! _LIBC]: Include "openat.h" and "unistd--.h".
65841         (HAVE_OPENAT_SUPPORT): Define.
65842         [_LIBC] (fchdir): Don't undef or define; no longer used.
65843         (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir.
65844         Now, this `function' always succeeds, and consumes its file descriptor
65845         parameter -- so callers must not close such FDs.  Update callers.
65846         (diropen_fd, opendirat, cwd_advance_fd): New functions.
65847         (diropen): Add parameter, SP.  Adjust all callers.
65848         Implement using diropen_fd, rather than open.
65849         (fts_open): Initialize new member, fts_cwd_fd.
65850         Remove fts_rft-setting code.
65851         (fts_close): Close fts_cwd_fd, if necessary.
65852         (__opendir2): Define in terms of opendir or opendirat,
65853         depending on whether the FST_NOCHDIR flag is set.
65854         (fts_build): Since fts_safe_changedir consumes its FD, and since
65855         this code must do `closedir(dirp)', dup the dirfd(dirp) argument,
65856         and close the dup'd file descriptor upon failure.
65857         (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat.
65858         (fts_safe_changedir): Tweak semantics to reflect that this function
65859         now calls cwd_advance_fd and hence consumes its FD argument.
65860         * lib/fts_.h [struct FTS] (fts_cwd_fd): New member.
65861         [struct FTS] (fts_rft): Remove now-unused member.
65862         [struct FTS] (fts_cycle.state): Improve comment.
65863
65864         * lib/openat.c (openat_needs_fchdir): New function.
65865         * lib/openat.h (openat_needs_fchdir): Declare it.
65866
65867 2006-08-16  Paul Eggert  <eggert@cs.ucla.edu>
65868
65869         * lib/memcoll.c (memcoll): Set errno = 0 in the shortcut case, too.
65870         Problem and fix reported by Pádraig Brady in
65871         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00099.html>.
65872
65873 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
65874
65875         * modules/cycle-check (configure.ac): Add gl_CYCLE_CHECK.
65876
65877 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
65878
65879         * lib/memcoll.c (memcoll): Optimize for the common case where the
65880         arguments are bytewise equal.
65881
65882 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
65883
65884         * doc/regexprops-generic.texi: Add a copyright notice.
65885
65886 2006-08-15  Bruno Haible  <bruno@clisp.org>
65887
65888         * modules/tmpdir (License): Change to LGPL.
65889
65890 2006-08-15  Bruno Haible  <bruno@clisp.org>
65891
65892         * gnulib-tool (func_all_modules, func_verify_module): COPYING is not a
65893         module.
65894
65895 2006-08-14  Simon Josefsson  <jas@extundo.com>
65896
65897         * config/srclist.txt: Add gnupload.
65898
65899 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
65900
65901         Change copyright notice from LGPL 2 to GPL 2, since that's the
65902         standard form used in the gnulib repository.
65903         * tests/test-lock.c: Likewise.
65904         * tests/test-stdint.c: Likewise.
65905         * tests/test-tls.c: Likewise.
65906
65907         * users.txt: Add bison, diffutils, libprelude, prelude-lml,
65908         prelude-manager.  User shorter URLs for GNU projects, without '?'.
65909         Add copyright notice.
65910
65911         * check-module: Add copyright notice.  Output a copyright
65912         notice if "--version" is specified.
65913         * modules/COPYING: New file.
65914         * tests/test-getaddrinfo.c: Add copyright notice.
65915         * tests/test-verify.c: Likewise.
65916
65917 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
65918
65919         Change copyright notice from LGPL 2 to GPL 2, since that's the
65920         standard form used in the gnulib repository.
65921         * lib/lock.c: LGPL -> GPL.
65922         * lib/lock.h: Likewise.
65923         * lib/strnlen1.c: Likewise.
65924         * lib/strnlen1.h: Likewise.
65925         * lib/tls.c: Likewise.
65926         * lib/tls.h: Likewise.
65927         * lib/tmpdir.c: Likewise.
65928
65929         * lib/TODO: Remove; this belongs only in coreutils.
65930
65931 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
65932
65933         Add copyright notices to long-enough files that lack them, since
65934         otherwise the files aren't clearly free.  Use the same notice that
65935         getdate.texi already uses.
65936         * doc/alloca-opt.texi: Add copyright notice.
65937         * doc/alloca.texi: Likewise.
65938         * doc/ctime.texi: Likewise.
65939         * doc/functions.texi: Likewise.
65940         * doc/gcd.texi: Likewise.
65941         * doc/gnulib-tool.texi: Likewise.
65942         * doc/inet_ntoa.texi: Likewise.
65943         * doc/visibility.texi: Likewise.
65944
65945         * doc/getdate.texi: Update FDL version from 1.1 to 1.2.
65946         * doc/quote.texi: Add copyright notice.
65947
65948         * doc/solaris-versions: Add SunOS 5.10, SunOS 1.x, SunOS 4.0, SunOS
65949         4.0.x, SunOS 4.1.1.1, SunOS 4.1.1_U1, SunOS 4.1.3B.  SunOS 4.1.3
65950         was Solaris 1.1A.  Remove space before B in Solaris 1.1.1B.
65951         Mention SunOS 5.11.  Mention that everything before SunOS 5.7
65952         is now obsolete, and give a pointer to the Sun list.
65953         Add copyright notice.
65954
65955 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
65956
65957         * config/srclistvars.sh: Add copyright notice.
65958
65959 2006-08-14  Eric Blake  <ebb9@byu.net>
65960
65961         Import the following change from libc:
65962
65963         2006-08-12  Ulrich Drepper  <drepper@redhat.com>
65964
65965         Upstream bug 2997.
65966         * lib/misc/error.c: Add space between program name and message if file
65967         name is missing.
65968
65969 2006-08-12  Karl Berry  <karl@gnu.org>
65970
65971         * config/srclist.txt (ssize_t.m4, sig_atomic_t.m4, signalblocking.m4):
65972         remove, these originate in gnulib now.
65973
65974 2006-08-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65975
65976         * doc/Makefile (standards.info standards.html standards.dvi):
65977         Also depend on make-stds.texi.
65978
65979 2006-08-11  Paul Eggert  <eggert@cs.ucla.edu>
65980
65981         * lib/pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE ->
65982         HAVE_PIPE.  Fix a file descriptor leak when fd_safer fails.
65983
65984         * lib/regex_internal.c (re_string_skip_chars): Don't assume WEOF fits
65985         in wchar_t.  Problem reported by Eric Blake.
65986
65987         * lib/snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when
65988         LEN is smaller than SIZE.  Suggested by Bruno Haible.
65989         Also, help the compiler to keep LEN in a register.
65990
65991 2006-08-11  Eric Blake  <ebb9@byu.net>
65992
65993         * users.txt: Sort.  Add tar.
65994
65995 2006-08-11  Bruno Haible  <bruno@clisp.org>
65996
65997         * users.txt: New file.
65998
65999 2006-08-11  Bruno Haible  <bruno@clisp.org>
66000
66001         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Include <stdio.h> and <time.h>
66002         before <wchar.h>. Needed for OSF/1 and BSD/OS.
66003
66004 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
66005
66006         * modules/snprintf (Depends-on): Remove minmax.
66007         (Maintainer): Add self and Bruno.
66008
66009 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
66010
66011         * lib/.cppi-disable: Add snprintf.h, socket_.h.
66012         * lib/snprintf.c: Include <errno.h> and <limits.h>.
66013         (EOVERFLOW): Define if the system does not.
66014         Do not include "minmax.h"; it wasn't used.
66015         (snprintf): Don't assume size_t promotes to an unsigned type.
66016         Fix bug when generated string was too long for the buffer: the
66017         buffer's contents are supposed to be the initial prefix of the
66018         output.  Don't assume vasnprintf returns EOVERFLOW if the size
66019         exceeds INT_MAX; do the check ourselves.
66020
66021         Import the following changes from libc:
66022
66023         2006-06-02  Jakub Jelinek  <jakub@redhat.com>
66024
66025         * lib/posix/regex_internal.c (re_string_skip_chars): If no character
66026         has been converted at all, set *last_wc to WEOF.  If mbrtowc failed,
66027         set wc to the byte which couldn't be converted.
66028         (re_string_reconstruct): Don't clear valid_raw_len before calling
66029         re_string_skip_chars.  If wc is WEOF after re_string_skip_chars, set
66030         tip_context using re_string_context_at.
66031
66032         2006-05-02  Ulrich Drepper  <drepper@redhat.com>
66033
66034         * lib/posix/regex.h: g++ still cannot handled [restrict].
66035
66036         2006-04-21  Ulrich Drepper  <drepper@redhat.com>
66037
66038         * lib/posix/regex.h: Remove special handling for VMS.
66039
66040 2006-08-10  Jim Meyering  <jim@meyering.net>
66041
66042         * modules/same-inode: New module.
66043         * modules/dev-ino: New module.
66044         * modules/cycle-check: Depend on these modules, rather than simply
66045         including their .h files.
66046         (Makefile.am): Don't list cycle-check.[ch] here, now that they're
66047         required via m4/cycle-check.m4.
66048         * modules/same: Depend on new same-inode module, rather than
66049         including same-inode.h.
66050         * modules/chdir-safer: New file.
66051
66052         * modules/chown (Depends-on): Add stat-macros.
66053
66054 2006-08-10  Jim Meyering  <jim@meyering.net>
66055
66056         * m4/cycle-check.m4: New file.
66057         Require gl_STRUCT_DEV_INO and gl_SAME_INODE.
66058         * m4/dev-ino.m4, m4/same-inode.m4: New files.
66059
66060 2006-08-10  Eric Blake  <ebb9@byu.net>
66061
66062         * modules/verror (Depends-on): Remove bogus gl_VERROR that snuck
66063         in from original proposal.
66064
66065 2006-08-10  Eric Blake  <ebb9@byu.net>
66066         and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
66067
66068         * gnulib-tool (func_import): Detect unexpanded macros in gnulib
66069         namespace.
66070
66071 2006-08-10  Bruno Haible  <bruno@clisp.org>
66072
66073         * gnulib-tool (func_create_testdir): Detect unexpanded macros here
66074         as well.
66075
66076 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
66077
66078         Sync from coreutils.
66079
66080         2006-07-19  Mike Frysinger  <vapier@gentoo.org>
66081
66082         * lib/mountlist.c [ME_REMOTE]: Filter out cifs.
66083         Reported by Toralf Förster in <http://bugs.gentoo.org/141012>.
66084
66085 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
66086
66087         * modules/restrict: Remove; no longer needed now that we assume
66088         Autoconf 2.59 or later.
66089         * MODULES.html.sh: Remove 'restrict'.
66090         * modules/argp (Depends-on): Remove 'restrict'.
66091         * modules/base64 (Depends-on): Likewise.
66092         * modules/gc (Depends-on): Likewise.
66093         * modules/getaddrinfo (Depends-on): Likewise.
66094         * modules/glob (Depends-on): Likewise.
66095         * modules/inet_ntop (Depends-on): Likewise.
66096         * modules/inet_pton (Depends-on): Likewise.
66097         * modules/memxor (Depends-on): Likewise.
66098         * modules/regex (Depends-on): Likewise.
66099         * modules/strtok_r (Depends-on): Likewise.
66100         * modules/time_r (Depends-on): Likewise.
66101
66102 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
66103
66104         * m4/argp.m4 (gl_ARGP): Require AC_C_RESTRICT.
66105         * m4/gc.m4 (gl_PREREQ_GC): Likewise.
66106         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
66107         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Likewise.
66108         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
66109         * m4/memxor.m4 (gl_MEMXOR): Likewise.
66110         * m4/restrict.m4: Remove; no longer needed.  All remaining uses of
66111         gl_C_RESTRICT replaced by AC_C_RESTRICT.
66112
66113         Merge from coreutils.
66114         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_C_RESTRICT, not
66115         gl_C_RESTRICT, now that we assume Autoconf 2.59 or later.
66116         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
66117         * m4/time_r.m4 (gl_TIME_R): Likewise.
66118
66119 2006-08-09  Karl Berry  <karl@gnu.org>
66120
66121         * config/srclist.txt: no more gettext-tools, per Bruno.
66122
66123 2006-08-08  Eric Blake  <ebb9@byu.net>
66124
66125         * modules/verror: New module.
66126         * MODULES.html.sh: Document it.
66127
66128 2006-08-08  Eric Blake  <ebb9@byu.net>
66129
66130         * lib/verror.h, lib/verror.c: New files.
66131
66132 2006-08-08  Eric Blake  <ebb9@byu.net>
66133
66134         * lib/verror.c (verror_at_line): Work around glibc bug 2997, so that
66135         verror_at_line output complies with GNU Coding Standards even when
66136         file is NULL.
66137
66138 2006-08-07  Bruno Haible  <bruno@clisp.org>
66139
66140         * lib/allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer
66141         versions of AIX.
66142         Reported by Ralf Wildenhues.
66143
66144 2006-08-07  Bruno Haible  <bruno@clisp.org>
66145
66146         * gnulib-tool (func_create_testdir): Wrap the set of autoconf snippets
66147         in an AC_DEFUN. Needed so that the autoconf snippets can use
66148         AC_REQUIRE.
66149
66150 2006-08-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
66151
66152         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
66153         Initialize pkgdata_DATA.
66154         * modules/javaversion (Makefile.am): Add to pkgdata_DATA, rather than
66155         overriding it.
66156
66157 2006-08-06  Eric Blake  <ebb9@byu.net>
66158
66159         * lib/error.h: Fold in some upstream changes from glibc.
66160         * lib/error.c: Likewise.
66161
66162 2006-08-04  Bruno Haible  <bruno@clisp.org>
66163
66164         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
66165         Make the mostlyclean-local rule depend on mostlyclean-generic.
66166         Reported by Jim Meyering. Solution suggested by Ralf Wildenhues.
66167
66168 2006-07-31  Bruno Haible  <bruno@clisp.org>
66169
66170         * m4/localcharset.m4 (gl_LOCALCHARSET): Remove tests for <stddef.h>,
66171         <stdlib.h>, <string.h>.
66172
66173 2006-07-30  Bruno Haible  <bruno@clisp.org>
66174
66175         * modules/readlink (License): Change to LGPL.
66176
66177 2006-07-30  Bruno Haible  <bruno@clisp.org>
66178
66179         * modules/javaversion (Makefile.am): Distribute javaversion.java and
66180         javaversion.class. Also install javaversion.class in $(pkgdatadir) and
66181         set PKGDATADIR to point to it.
66182
66183 2006-07-30  Bruno Haible  <bruno@clisp.org>
66184
66185         * modules/csharpexec (configure.ac): Comment out macro invocation.
66186         * modules/javaexec (configure.ac): Likewise.
66187         * modules/javacomp-script (configure.ac): Likewise.
66188
66189         * modules/csharpcomp-script (configure.ac): Use AC_REQUIRE.
66190
66191 2006-07-30  Bruno Haible  <bruno@clisp.org>
66192
66193         * modules/clean-temp (Depends-on): Add linkedhash-list, remove
66194         linked-list.
66195
66196 2006-07-30  Bruno Haible  <bruno@clisp.org>
66197
66198         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Assume <string.h> exists.
66199
66200 2006-07-30  Bruno Haible  <bruno@clisp.org>
66201
66202         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
66203         Initialize MOSTLYCLEANFILES to core and *.stackdump, so that core dumps
66204         get removed.
66205
66206 2006-07-29  Bruno Haible  <bruno@clisp.org>
66207
66208         Make it possible for gnulib-tool to work with locally modified or
66209         augmented gnulib repositories.
66210         * gnulib-tool (func_usage): Document --local-dir option.
66211         (local_gnulib_dir): New variable.
66212         Handle --local-dir option.
66213         (func_lookup_file): New function.
66214         (func_all_modules, func_verify_module): Look also in $local_gnulib_dir.
66215         (func_get_description, func_get_filelist, func_get_description,
66216         func_get_filelist, func_get_dependencies, func_get_autoconf_snippet,
66217         func_get_automake_snippet, func_get_include_directive,
66218         func_get_license, func_get_maintainer): Use func_lookup_file.
66219         (func_import, func_create_testdir): Use func_lookup_file.
66220
66221 2006-07-29  Bruno Haible  <bruno@clisp.org>
66222
66223         * modules/setenv (Depends-on): Add unistd.
66224
66225 2006-07-29  Bruno Haible  <bruno@clisp.org>
66226
66227         * lib/setenv.c: Undo unintended modification done on 2006-02-27.
66228
66229 2006-07-29  Bruno Haible  <bruno@clisp.org>
66230
66231         * lib/localcharset.c: Assume <stddef.h>, <stdlib.h>, <string.h> exist.
66232
66233 2006-07-29  Bruno Haible  <bruno@clisp.org>
66234
66235         * gnulib-tool (import, update): If there is no Makefile.am, look at
66236         aclocal.m4, instead of bailing out.
66237
66238 2006-07-29  Bruno Haible  <bruno@clisp.org>
66239
66240         * gnulib-tool (func_usage): Revert most of the 2006-07-15 change.
66241         Categorize the options by when they are useful.
66242
66243 2006-07-29  Bruno Haible  <bruno@clisp.org>
66244
66245         * gnulib-tool (func_usage): Document option --no-libtool.
66246         Handle option --no-libtool.
66247         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Update
66248         for changed semantics of $libtool variable.
66249         (func_import): Likewise. If libtool is not used, show this through
66250         an option --no-libtool.
66251         (func_create_testdir): Update.
66252
66253 2006-07-29  Bruno Haible  <bruno@clisp.org>
66254
66255         * gnulib-tool (func_import): Extend error message about missing
66256         --doc-base.
66257
66258 2006-07-29  Bruno Haible  <bruno@clisp.org>
66259
66260         * gnulib-tool (func_import): Don't create the $docbase directory if
66261         there is no file to store there.
66262
66263 2006-07-29  Bruno Haible  <bruno@clisp.org>
66264
66265         * gnulib-tool (autoconf_minversion): If a --dir option is given and
66266         relevant, look for configure.ac there, not in the current directory.
66267         Also use a simple search for AC_PREREQ, not "autoconf --trace".
66268
66269 2006-07-29  Bruno Haible  <bruno@clisp.org>
66270
66271         * gnulib-tool (SORT): New variable.
66272         (func_usage): Undocument --assume-autoconf option.
66273         Remove --assume-autoconf option handling.
66274         (autoconf_minversion): Determine from the contents of configure.ac.
66275         (func_import): Remove autoconf_minversion handling.
66276         Suggested by Eric Blake.
66277
66278 2006-07-29  Bruno Haible  <bruno@clisp.org>
66279
66280         * doc/gnulib-tool.texi (gl_LIBTOOL): Mention --no-libtool option.
66281
66282 2006-07-29  Bruno Haible  <bruno@clisp.org>
66283
66284         * config/srclist.txt (*setenv.[ch]): Remove rules.
66285
66286 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
66287
66288         * m4/inet_pton.m4, inet_ntop.m4: Check for netinet/in.h too.
66289
66290 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
66291
66292         * lib/inet_ntop.h, inet_pton.h: Need to include netinet/in.h before
66293         arpa/inet.h.
66294
66295 2006-07-28  Simon Josefsson  <jas@extundo.com>
66296
66297         * modules/inet_ntop (Depends-on): Depend on arpa_inet.
66298         * modules/inet_pton (Depends-on): Likewise.
66299
66300 2006-07-28  Simon Josefsson  <jas@extundo.com>
66301
66302         * m4/netinet_in_h.m4: New file.
66303
66304 2006-07-28  Simon Josefsson  <jas@extundo.com>
66305
66306         * lib/inet_ntop.h, inet_pton.h: No need to guard netinet/in.h
66307         #include's.
66308
66309 2006-07-28  Simon Josefsson  <jas@extundo.com>
66310
66311         * lib/inet_ntop.h, inet_pton.h: No need to guard arpa/inet.h
66312         #include's.
66313
66314 2006-07-28  Paul Eggert  <eggert@cs.ucla.edu>
66315
66316         * lib/modechange.c (mode_compile): Numeric modes now affect setuid and
66317         setgid on directories only if they set these bits.
66318         * lib/modechange.h: Remove obsolete comment about masks.
66319
66320 2006-07-28  Eric Blake  <ebb9@byu.net>
66321
66322         * lib/regex_internal.h (struct re_dfa_t) [!_LIBC]: Avoid invalid C89
66323         macro expansion.
66324
66325 2006-07-28  Bruno Haible  <bruno@clisp.org>
66326
66327         * lib/inet_ntop.h, inet_pton.h: Use #if HAVE* instead of #ifdef HAVE*.
66328
66329 2006-07-28  Bruno Haible  <bruno@clisp.org>
66330
66331         * m4/mbchar.m4 (gl_MBCHAR): Also test for iswcntrl.
66332
66333 2006-07-28  Bruno Haible  <bruno@clisp.org>
66334
66335         * lib/mbchar.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
66336         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
66337         Define fallbacks.
66338         Avoids link error on FreeBSD 4.x.
66339         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
66340
66341         * lib/wcwidth.h (iswprint): Assume an ASCII compatible wide character
66342         encoding.
66343         * lib/mbswidth.c (iswcntrl): Likewise.
66344
66345 2006-07-27  Bruno Haible  <bruno@clisp.org>
66346
66347         * m4/stdint.m4 (gl_STDINT_H): Define __STDC_CONSTANT_MACROS during the
66348         test.
66349
66350 2006-07-27  Bruno Haible  <bruno@clisp.org>
66351
66352         * lib/stdint_.h (INT*_C, UINT*_C) [C++]: Define these if
66353         __STDC_CONSTANT_MACROS is defined, not if __STDC_LIMIT_MACROS is
66354         defined.
66355
66356 2006-07-26  Eric Blake  <ebb9@byu.net>
66357
66358         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Check for missing pipe.
66359
66360 2006-07-26  Eric Blake  <ebb9@byu.net>
66361
66362         * lib/mkstemp-safer.c [! HAVE_MKSTEMP]: Add prototype for platforms
66363         like mingw that lack mkstemp.
66364         * lib/pipe-safer.c (pipe_safer) [!HAVE_FUNC_PIPE]: Provide fallback to
66365         avoid compilation warning on mingw.
66366
66367 2006-07-26  Bruno Haible  <bruno@clisp.org>
66368
66369         * m4/stdint.m4 (gl_STDINT_H): Also verify the existence of the macros
66370         INT*_MIN, INT_LEAST*_MAX, INT_LEAST*_MIN, UINT_LEAST*_MAX,
66371         INT_FAST*_MIN, INTPTR_MIN.
66372
66373 2006-07-25  Bruno Haible  <bruno@clisp.org>
66374
66375         * modules/version-etc (Depends-on): Add stdarg.
66376
66377 2006-07-25  Bruno Haible  <bruno@clisp.org>
66378
66379         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Avoid 'eval' in front of
66380         complex commands.
66381
66382 2006-07-25  Bruno Haible  <bruno@clisp.org>
66383
66384         * lib/version-etc.c (version_etc_va): Use va_copy, assumed to be
66385         defined in <stdarg.h> or config.h.
66386
66387 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
66388
66389         * m4/stdio-safer.m4 (gl_FOPEN_SAFER, gl_TMPFILE_SAFER): New macros.
66390         (gl_STDIO_SAFER): Remove.
66391
66392 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
66393
66394         * MODULES.html.sh (File stream based Input/Output):
66395         Add fopen-safer, tmpfile-safer; remove stdio-safer.
66396         * modules/getusershell (Depends-on): Change stdio-safer to fopen-safer.
66397         * modules/fopen-safer, modules/tmpfile-safer: New files.
66398         * modules/stdio-safer: Remove.
66399
66400 2006-07-24  Bruno Haible  <bruno@clisp.org>
66401
66402         * modules/tmpdir: New file.
66403         * MODULES.html.sh (File system functions): Add it.
66404
66405 2006-07-24  Bruno Haible  <bruno@clisp.org>
66406
66407         * modules/javacomp (Depends-on): Add unistd, javaversion, binary-io,
66408         getline, pathname, fwriteerror, clean-temp, xvasprintf, strstr.
66409
66410 2006-07-24  Bruno Haible  <bruno@clisp.org>
66411
66412         * modules/clean-temp: New file.
66413
66414 2006-07-24  Bruno Haible  <bruno@clisp.org>
66415
66416         * m4/tmpdir.m4: New file, from GNU gettext.
66417
66418 2006-07-24  Bruno Haible  <bruno@clisp.org>
66419
66420         * lib/tmpdir.h: New file, from GNU gettext.
66421         * lib/tmpdir.c: New file, from GNU gettext.
66422
66423 2006-07-24  Bruno Haible  <bruno@clisp.org>
66424
66425         * lib/clean-temp.h: New file, from GNU gettext.
66426         * lib/clean-temp.c: New file, from GNU gettext.
66427
66428 2006-07-23  Eric Blake  <ebb9@byu.net>
66429
66430         * modules/stdio-safer (Files): Add tmpfile-safer.c.
66431         (Depends-on): Add binary-io.
66432
66433 2006-07-23  Eric Blake  <ebb9@byu.net>
66434
66435         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add tmpfile-safer.c.
66436
66437 2006-07-23  Eric Blake  <ebb9@byu.net>
66438
66439         * lib/tmpfile-safer.c: New file.
66440         * lib/stdio-safer.h (fopen_safer): Add prototype.
66441         * lib/stdio--.h (tmpfile): Make safer.
66442
66443 2006-07-23  Bruno Haible  <bruno@clisp.org>
66444
66445         * lib/gl_anylinked_list2.h (ASYNCSAFE): New macro.
66446         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before,
66447         gl_linked_add_after, gl_linked_add_at, gl_linked_remove_node,
66448         gl_linked_remove_at): Use it.
66449
66450 2006-07-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
66451         and Simon Josefsson <jas@extundo.com>
66452
66453         * lib/getaddrinfo.h (AI_PASSIVE): Make sure it is defined.
66454
66455         * lib/getaddrinfo.c (getaddrinfo): Support AI_PASSIVE.
66456
66457 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
66458
66459         * modules/close-stream: New file.
66460         * modules/closeout (Description): Make it clear that it exits
66461         with a diagnostic on error.
66462         (Depends-on): Add close-stream.  Remove fpending, stdbool.
66463         * MODULES.html.sh (File stream based Input/Output): Add close-stream.
66464
66465 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
66466
66467         * m4/close-stream.m4: New file.
66468
66469 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
66470
66471         * lib/close-stream.c, lib/close-stream.h: New files.
66472
66473 2006-07-22  Bruno Haible  <bruno@clisp.org>
66474
66475         Merge from GNU gettext 0.15.
66476
66477         2006-05-01  Bruno Haible  <bruno@clisp.org>
66478
66479                 * build-aux/javacomp.sh.in: Update for changed javacomp.m4.
66480
66481         2006-07-22  Bruno Haible  <bruno@clisp.org>
66482
66483                 * modules/javaversion: New file.
66484                 * MODULES.html.sh (Java): Add javaversion.
66485
66486         2006-03-12  Bruno Haible  <bruno@clisp.org>
66487
66488                 * build-aux/javaexec.sh.in: Update for changed javaexec.m4.
66489
66490         2005-12-04  Bruno Haible  <bruno@clisp.org>
66491
66492                 * build-aux/csharpexec.sh.in: Add support for 'clix' launcher
66493                 (untested).
66494
66495         2006-06-21  Bruno Haible  <bruno@clisp.org>
66496
66497                 Avoid warnings from recent versions of mcs.
66498                 * build-aux/csharpcomp.sh.in (options_mcs): Don't use options
66499                 -o, -L, -r any more. Use options documented since mcs-1.0
66500                 instead. Similarly for -g.
66501
66502         2005-12-04  Bruno Haible  <bruno@clisp.org>
66503
66504                 * build-aux/csharpcomp.sh.in: Suffix for resources is
66505                 .resources, not .resource.
66506
66507         2005-07-09  Bruno Haible  <bruno@clisp.org>
66508
66509                 * build-aux/csharpcomp.sh.in (options_csc): For -l option,
66510                 add a .dll suffix.
66511                 Reported by Mark Junker <mjscod@gmx.de>.
66512
66513         2006-07-22  Bruno Haible  <bruno@clisp.org>
66514
66515                 * modules/gettext: Upgrade to gettext-0.15.
66516                 (Files): Remove m4/isc-posix.m4. Add m4/lock.m4,
66517                 m4/visibility.m4.
66518                 Replace m4/inttypes.m4 with m4/inttypes-h.m4.
66519
66520 2006-07-22  Bruno Haible  <bruno@clisp.org>
66521
66522         Merge from GNU gettext 0.15.
66523
66524         2006-03-25  Bruno Haible  <bruno@clisp.org>
66525
66526                 * lib-link.m4 (AC_LIB_LINKFLAGS_FROM_LIBS): New macro.
66527
66528         2006-07-21  Bruno Haible  <bruno@clisp.org>
66529
66530                 * javacomp.m4 (gt_JAVACOMP): Convert target_version "null" to
66531                 "1.1".
66532
66533         2006-05-09  Bruno Haible  <bruno@clisp.org>
66534
66535                 * javacomp.m4 (gt_JAVACOMP): On Cygwin, set
66536                 CLASSPATH_SEPARATOR to a semicolon. Use CLASSPATH_SEPARATOR
66537                 for the conftestver execution.
66538
66539         2006-05-01  Bruno Haible  <bruno@clisp.org>
66540
66541                 * javacomp.m4 (gt_JAVACOMP): Accept a source-version and an
66542                 optional target-version argument. Verify that the compiler
66543                 groks source of the specified source-version, or add -source
66544                 option as necessary. Verify that the compiler produces
66545                 bytecode in the specified target-version, or add -target and
66546                 -source options as necessary. Make the result of the test
66547                 available as variable CONF_JAVAC. Also log error output in
66548                 config.log.
66549
66550         2006-03-11  Bruno Haible  <bruno@clisp.org>
66551
66552                 * javacomp.m4 (gt_JAVACOMP): Treat gcj-4.x like gcj-3.x.
66553
66554         2006-05-09  Bruno Haible  <bruno@clisp.org>
66555
66556                 * javaexec.m4 (gt_JAVAEXEC): On Cygwin, set
66557                 CLASSPATH_SEPARATOR to a semicolon.
66558
66559         2006-03-12  Bruno Haible  <bruno@clisp.org>
66560
66561                 * javaexec.m4 (gt_JAVAEXEC): Make the result of the test
66562                 available as variable CONF_JAVA, for subsequent autoconf
66563                 tests. Also log error output in config.log.
66564
66565         2006-07-19  Bruno Haible  <bruno@clisp.org>
66566
66567                 * getline.m4 (AM_FUNC_GETLINE): When cross-compiling, assume
66568                 that getline works on glibc2 systems. Needed to avoid trouble
66569                 in relocatable.c.
66570                 Reported by Nils Magnus Larsgard <nmlarsgaard@atmel.no>.
66571
66572         2005-12-04  Bruno Haible  <bruno@clisp.org>
66573
66574                 * csharpexec.m4 (gt_CSHARPEXEC): Add support for 'clix'
66575                 launcher (untested).
66576
66577         2005-12-04  Bruno Haible  <bruno@clisp.org>
66578
66579                 * csharpcomp.m4 (gt_CSHARPCOMP): Also set CSHARPCOMPFLAGS.
66580
66581         2006-07-22  Bruno Haible  <bruno@clisp.org>
66582
66583                 * gettext.m4: Update from GNU gettext-0.15.
66584                 * nls.m4: Likewise.
66585                 * po.m4: Likewise.
66586                 * inttypes-pri.m4: Likewise.
66587                 * inttypes-h.m4: Renamed from inttypes.m4.
66588                 (gl_HEADER_INTTYPES_H): Renamed from gt_HEADER_INTTYPES_H.
66589
66590 2006-07-22  Bruno Haible  <bruno@clisp.org>
66591
66592         Merge from GNU gettext 0.15.
66593
66594         2005-07-05  Bruno Haible  <bruno@clisp.org>
66595
66596                 * printf-args.c (printf_fetchargs): Work around broken
66597                 definition of wint_t on mingw.
66598
66599         2005-02-12  Bruno Haible  <bruno@clisp.org>
66600
66601                 * xallocsa.h: Add extern "C" for C++.
66602
66603         2006-05-17  Bruno Haible  <bruno@clisp.org>
66604
66605                 Cygwin portability.
66606                 * progreloc.c (WIN32_NATIVE): Renamed from WIN32.
66607
66608         2006-04-30  Bruno Haible  <bruno@clisp.org>
66609
66610                 * progreloc.c: Include <mach-o/dyld.h> if available.
66611                 (find_executable): Use _NSGetExecutablePath when possible.
66612
66613         2006-05-06  Charles Wilson  <cygwin@cwilson.fastmail.fm>
66614
66615                 * progreloc.c (maybe_executable) [CYGWIN]: Use the access()
66616                 function.
66617
66618         2005-12-29  Bruno Haible  <bruno@clisp.org>
66619
66620                 * progreloc.c (set_program_name_and_installdir): Fix
66621                 compilation error.
66622
66623         2005-12-04  Bruno Haible  <bruno@clisp.org>
66624
66625                 Cygwin portability.
66626                 * progreloc.c: Include <windows.h> also on Cygwin.
66627                 (find_executable): Add support for Cygwin.
66628                 (set_program_name_and_installdir): Handle also platforms with
66629                 nonempty EXEEXT.
66630
66631         2006-07-11  Bruno Haible  <bruno@clisp.org>
66632
66633                 * javacomp.c: Fix a comment.
66634                 Reported by Jim Meyering.
66635
66636         2006-04-30  Bruno Haible  <bruno@clisp.org>
66637
66638                 * javacomp.h (compile_java_class): Add source_version,
66639                 target_version arguments.
66640                 * javacomp.c: Rewritten to choose only a compiler that
66641                 respects the specified source_version and target_version.
66642
66643         2006-06-27  Bruno Haible  <bruno@clisp.org>
66644
66645                 Assume correct S_ISDIR macro.
66646                 * mkdtemp.c: Remove test of STAT_MACROS_BROKEN.
66647
66648         2006-07-22  Bruno Haible  <bruno@clisp.org>
66649
66650                 * javaversion.h: New file, from GNU gettext.
66651                 * javaversion.c: New file, from GNU gettext.
66652                 * javaversion.java: New file, from GNU gettext.
66653                 * javaversion.class: New file, from GNU gettext.
66654
66655         2006-05-17  Bruno Haible  <bruno@clisp.org>
66656
66657                 Cygwin portability.
66658                 * javaexec.c (execute_java_class): Test for jview program
66659                 also on Cygwin.
66660
66661         2006-04-09  Bruno Haible  <bruno@clisp.org>
66662
66663                 * fatal-signal.c: Don't include string.h.
66664                 (at_fatal_signal): Use a copying loop instead of memcpy.
66665
66666         2005-12-04  Bruno Haible  <bruno@clisp.org>
66667
66668                 * csharpexec.c: Add support for 'clix' launcher (untested).
66669                 (execute_csharp_using_sscli): New function.
66670                 (execute_csharp_program): Call it.
66671
66672         2006-06-21  Bruno Haible  <bruno@clisp.org>
66673
66674                 Avoid warnings from recent versions of mcs.
66675                 * csharpcomp.c (compile_csharp_using_mono): Don't use options
66676                 -o, -L, -r any more. Use options documented since mcs-1.0
66677                 instead. Similarly for -g.
66678
66679         2005-07-09  Bruno Haible  <bruno@clisp.org>
66680
66681                 * csharpcomp.c (compile_csharp_using_sscli): For -l option,
66682                 add a .dll suffix.
66683                 Reported by Mark Junker <mjscod@gmx.de>.
66684
66685         2006-06-17  Bruno Haible  <bruno@clisp.org>
66686
66687                 * config.charset: Update for NetBSD 3.0.
66688
66689         2006-05-17  Bruno Haible  <bruno@clisp.org>
66690
66691                 Cygwin portability.
66692                 * localcharset.c (WIN32_NATIVE): Renamed from WIN32.
66693
66694         2006-05-16  Bruno Haible  <bruno@clisp.org>
66695
66696                 * localcharset.c [CYGWIN]: Include <windows.h>.
66697                 (get_charset_aliases): For Cygwin, return the same CPxxx
66698                 aliases list as under WIN32.
66699                 (locale_charset) [CYGWIN]: Try to retrieve the encoding from
66700                 the environment variables. Fall back to GetACP().
66701
66702         2006-04-05  Bruno Haible  <bruno@clisp.org>
66703
66704                 * config.charset: Update Juan Manuel Guerrero's address.
66705
66706         2005-02-12  Bruno Haible  <bruno@clisp.org>
66707
66708                 * allocsa.h: Add extern "C" for C++.
66709
66710         2005-02-10  Bruno Haible  <bruno@clisp.org>
66711
66712                 * allocsa.h (sa_alignof): Define differently with AIX xlc, to
66713                 avoid a bug of this compiler on AIX 3.2.5 dealing with enums.
66714
66715         2006-07-22  Bruno Haible  <bruno@clisp.org>
66716
66717                 * gettext.h: Update to GNU gettext-0.15.
66718
66719 2006-07-22  Bruno Haible  <bruno@clisp.org>
66720
66721         * config/srclist.txt: Resync printf-args.c, vasnprintf.c,
66722         localcharset.c, mkdtemp.c, config.rpath, lib-ld.m4, lib-link.m4,
66723         lib-prefix.m4, longdouble.m4, ssize_t.m4.
66724
66725 2006-07-21  Eric Blake  <ebb9@byu.net>
66726
66727         * modules/stdlib-safer: New file.
66728         * MODULES.html.sh (File stream based Input/Output): Add
66729         stdlib-safer.
66730
66731 2006-07-21  Eric Blake  <ebb9@byu.net>
66732
66733         * lib/stdlib-safer.h: New file from coreutils, required by
66734         stdlib--.h.
66735
66736 2006-07-20  Paul Eggert  <eggert@cs.ucla.edu>
66737
66738         * gnulib-tool (func_usage): Document --assume-autoconf='latest-stable'.
66739
66740 2006-07-20  Bruno Haible  <bruno@clisp.org>
66741
66742         * gnulib-tool: Recognize new option --assume-autoconf.
66743         (autoconf_minversion): New variable.
66744         (func_get_filelist): Use it to decide whether to add onceonly_2_57.m4.
66745
66746 2006-07-20  Bruno Haible  <bruno@clisp.org>
66747
66748         * MODULES.html.sh (func_all_modules): Add a missing func_begin_table.
66749
66750 2006-07-19  Derek R. Price  <derek@ximbiot.com>
66751
66752         * lib/getaddrinfo.h: Don't define unimplemented AI_* flags.
66753         Reindent and repaginate.
66754
66755 2006-07-19  Derek Price  <derek@ximbiot.com>
66756
66757         * doc/gnulib.texi (Libtool and Windows):  Eliminate passive voice.
66758         Correct grammar.
66759
66760 2006-07-17  Bruno Haible  <bruno@clisp.org>
66761
66762         * modules/list: New file.
66763         * modules/array-list: New file.
66764         * modules/carray-list, modules/carray-list-tests: New files.
66765         * modules/linked-list, modules/linked-list-tests: New files.
66766         * modules/avltree-list, modules/avltree-list-tests: New files.
66767         * modules/rbtree-list, modules/rbtree-list-tests: New files.
66768         * modules/linkedhash-list, modules/linkedhash-list-tests: New files.
66769         * modules/avltreehash-list, modules/avltreehash-list-tests: New files.
66770         * modules/rbtreehash-list, modules/rbtreehash-list-tests: New files.
66771         * modules/oset: New file.
66772         * modules/array-oset: New file.
66773         * modules/avltree-oset, modules/avltree-oset-tests: New files.
66774         * modules/rbtree-oset, modules/rbtree-oset-tests: New files.
66775         * tests/test-carray_list.c: New file.
66776         * tests/test-linked_list.c: New file.
66777         * tests/test-avltree_list.c: New file.
66778         * tests/test-rbtree_list.c: New file.
66779         * tests/test-linkedhash_list.c: New file.
66780         * tests/test-avltreehash_list.c: New file.
66781         * tests/test-rbtreehash_list.c: New file.
66782         * tests/test-avltree_oset.c: New file.
66783         * tests/test-rbtree_oset.c: New file.
66784         * MODULES.html.sh (Container data structures): New section.
66785
66786 2006-07-17  Bruno Haible  <bruno@clisp.org>
66787
66788         * m4/gl_list.m4: New file.
66789
66790 2006-07-17  Bruno Haible  <bruno@clisp.org>
66791
66792         * lib/gl_list.h: New file.
66793         * lib/gl_list.c: New file.
66794         * lib/gl_array_list.h: New file.
66795         * lib/gl_array_list.c: New file.
66796         * lib/gl_carray_list.h: New file.
66797         * lib/gl_carray_list.c: New file.
66798         * lib/gl_linked_list.h: New file.
66799         * lib/gl_linked_list.c: New file.
66800         * lib/gl_anylinked_list1.h: New file.
66801         * lib/gl_anylinked_list2.h: New file.
66802         * lib/gl_avltree_list.h: New file.
66803         * lib/gl_avltree_list.c: New file.
66804         * lib/gl_anyavltree_list1.h: New file.
66805         * lib/gl_anyavltree_list2.h: New file.
66806         * lib/gl_rbtree_list.h: New file.
66807         * lib/gl_rbtree_list.c: New file.
66808         * lib/gl_anyrbtree_list1.h: New file.
66809         * lib/gl_anyrbtree_list2.h: New file.
66810         * lib/gl_anytree_list1.h: New file.
66811         * lib/gl_anytree_list2.h: New file.
66812         * lib/gl_linkedhash_list.h: New file.
66813         * lib/gl_linkedhash_list.c: New file.
66814         * lib/gl_anyhash_list1.h: New file.
66815         * lib/gl_anyhash_list2.h: New file.
66816         * lib/gl_avltreehash_list.h: New file.
66817         * lib/gl_avltreehash_list.c: New file.
66818         * lib/gl_rbtreehash_list.h: New file.
66819         * lib/gl_rbtreehash_list.c: New file.
66820         * lib/gl_anytreehash_list1.h: New file.
66821         * lib/gl_anytreehash_list2.h: New file.
66822
66823         * lib/gl_oset.h: New file.
66824         * lib/gl_oset.c: New file.
66825         * lib/gl_array_oset.h: New file.
66826         * lib/gl_array_oset.c: New file.
66827         * lib/gl_avltree_oset.h: New file.
66828         * lib/gl_avltree_oset.c: New file.
66829         * lib/gl_rbtree_oset.h: New file.
66830         * lib/gl_rbtree_oset.c: New file.
66831         * lib/gl_anytree_oset.h: New file.
66832
66833 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
66834
66835         * m4/mkancesdirs.m4: New file.
66836         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Mention dirchownmod.c,
66837         dirchownmod.h.  Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER;
66838         no longer needed.  Require gl_FUNC_LCHOWN, since dirchownmod.c needs
66839         it.
66840
66841 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
66842
66843         * lib/dirchownmod.c, lib/dirchownmod.h, lib/mkancesdirs.c:
66844         * lib/mkancesdirs.h: New files.
66845         * lib/mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h,
66846         unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h,
66847         save-cwd.h.  Instead, include dirchownmod.h and mkancesdirs.h.
66848         (make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE,
66849         MODE_BITS.  Remove options VERBOSE_FMT_STRING, CWD_ERRNO.  All
66850         callers changed.  Revamp internals significantly, by not
66851         attempting to create directories that are temporarily more
66852         permissive than the final results.  Do not attempt to use
66853         save_cwd/restore_cwd; it isn't worth it for mkdir and install.
66854         This removes some race conditions, fixes some bugs, and simplifies
66855         things.  Use new dirchownmod function to do owner and mode changes.
66856         * lib/mkdir-p.h: Likewise.
66857         * lib/modechange.c (octal_to_mode): New function.
66858         (struct mode_change): New member mentioned.
66859         (make_node_op_equals): New arg mentioned.  All callers changed.
66860         (mode_compile): Keep track of which mode bits the user has explicitly
66861         mentioned.
66862         (mode_adjust): New arg DIR, so that we implement the X op correctly.
66863         New arg PMODE_BITS, to keep track of which mode bits the user
66864         mentioned; it treats S_ISUID and S_ISGID speciall.
66865         All callers changed.
66866         * lib/modechange.h: Likewise.
66867
66868 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
66869
66870         * MODULES.html.sh: Add mkancestors.
66871         * modules/mkancesdirs: New module.
66872         * modules/mkdir-p (Files): Remove lib/chdir-safer.c, lib/chdir-safer.h,
66873         lib/same-inode.h, m4/afs.m4, m4/chdir-safer.m4.
66874         The chdir-safer and afs files are now orphans; I'll remove them
66875         unless someone speaks up.
66876         Add lib/dirchownmod.c, lib/dirchownmod.h.
66877         (Depends-on): Remove alloca, chown, save-cwd, dirname.
66878         Add lchown, mkancesdirs.
66879         (Maintainer): Add self.
66880
66881 2006-07-15  Karl Berry  <karl@gnu.org>
66882
66883         * gnulib-tool: help message wording/arrangement.
66884
66885 2006-07-14  Simon Josefsson  <jas@extundo.com>
66886
66887         * doc/gnulib.texi (Libtool and Windows): New section.
66888
66889 2006-07-12  Simon Josefsson  <jas@extundo.com>
66890
66891         * modules/gendocs (License): Fix license, approved by Karl.
66892
66893 2006-07-12  Eric Blake  <ebb9@byu.net>
66894
66895         * MODULES.html.sh: Add gendocs.
66896
66897 2006-07-11  Eric Blake  <ebb9@byu.net>
66898
66899         * modules/fdl: New module, to install doc/fdl.texi.
66900         * MODULES.html.sh: Add new section for documentation modules.
66901         * gnulib-tool: Avoid space-tab.
66902         (--doc-base): New option, to manage files from doc.
66903
66904 2006-07-11  Eric Blake  <ebb9@byu.net>
66905
66906         * m4/absolute-header.m4: Fix comments to match recent change.
66907
66908 2006-07-11  Eric Blake  <ebb9@byu.net>
66909
66910         * gnulib-tool: List --doc-base before --tests-base.
66911
66912 2006-07-11  Derek R. Price  <derek@ximbiot.com>
66913
66914         * lib/glob.c: s/NAMLEN/_D_EXACT_NAMLEN/.
66915
66916 2006-07-11  Bruno Haible  <bruno@clisp.org>
66917
66918         * README: Mention where to put documentation.
66919
66920 2006-07-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
66921
66922         * doc/functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos.
66923
66924 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
66925
66926         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Like today's change
66927         to stdint.m4.
66928
66929 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
66930
66931         * m4/stdint.m4 (gl_STDINT_H): Like yesterday's change to
66932         absolute-header.m4.  Also, set ABSOLUTE_STDINT_H to a string
66933         "no/such/file/stdint.h" when there is no such file, so that
66934         the resulting C code can be parsed by dodgy compilers.
66935         Problems reported by Bob Proulx.
66936
66937 2006-07-10  Derek R. Price  <derek@ximbiot.com>
66938
66939         * lib/backupfile.c, dirfd.h, fts.c, getcwd.c, glob.c, glob_.h:
66940         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
66941         macros into the GNU _D_EXACT_NAMLEN.
66942         * lib/savedir.c:  Likewise.
66943         (savedirstream): Use _D_EXACT_NAMLEN in preference to strlen.
66944
66945 2006-07-10  Derek R. Price  <derek@ximbiot.com>
66946         and Paul Eggert  <eggert@cs.ucla.edu>
66947
66948         * m4/backupfile.m4, d-ino.m4, d-type.m4, dirfd.m4, fts.m4, getcwd.m4:
66949         * m4/savedir.m4:
66950         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
66951         macros into the GNU _D_EXACT_NAMLEN.
66952
66953 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
66954
66955         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <>
66956         around the absolute name, to work around a problem with the HP-UX
66957         11.23 native C compiler, reported by Bob Proulx.
66958
66959 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
66960
66961         * doc/maintain.texi, make-stds.texi: Sync from
66962         <http://savannah.gnu.org/projects/gnustandards>.
66963
66964 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
66965
66966         * build-aux/depcomp, build-aux/install-sh: Sync from Automake.
66967
66968 2006-07-09  Jim Meyering  <jim@meyering.net>
66969
66970         * m4/glob.m4: Remove a doubled word in a comment.
66971
66972 2006-07-09  Jim Meyering  <jim@meyering.net>
66973
66974         * lib/argp-pv.c: Remove a doubled word in a comment.
66975         * lib/check-version.c (check_version): Likewise.
66976         * lib/javacomp.c (compile_java_class): Likewise.
66977
66978 2006-07-08  Paul Eggert  <eggert@cs.ucla.edu>
66979
66980         * gnulib-tool (func_get_filelist): Don't echo m4/onceonly_2_57.m4,
66981         for the benefit of people using Autoconf 2.60.  If you want to
66982         support older Autoconf versions you can copy m4/onceonly_2_57.m4
66983         (or m4/onceonly.m4, if pre-2.57) manually.
66984
66985 2006-07-08  Jim Meyering  <jim@meyering.net>
66986
66987         * m4/link-follow.m4: Remove one of two adjacent "whether"s in a
66988         comment.
66989         * m4/getopt.m4: Remove one of two adjacent "your"s in a comment.
66990         * m4/regex.m4 (gl_REGEX): Remove one of two adjacent "the"s in a
66991         comment.
66992
66993 2006-07-08  Jim Meyering  <jim@meyering.net>
66994
66995         * lib/getndelim2.h (getndelim2): Remove doubled "after" in comment.
66996
66997 2006-07-07  Simon Josefsson  <jas@extundo.com>
66998
66999         * tests/test-crc.c: Change expected crc value, the test vector
67000         were probably computed using the old broken crc.c?
67001
67002 2006-07-06  Simon Josefsson  <jas@extundo.com>
67003
67004         * modules/sys_socket (Files): Add m4/sockpfaf.m4 (this module is
67005         now the canonical place for the M4 file).
67006
67007         * modules/getaddrinfo (Files): Remove m4/sockpfaf.m4, we get it
67008         from the sys_socket dependency now.
67009
67010         * modules/inet_pton (Files): Ditto.
67011
67012         * modules/inet_ntop (Files): Ditto.
67013
67014 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
67015
67016         * modules/getusershell (configure.ac): Use gl_FUNC_GETUSERSHELL,
67017         not gl_PREREQ_GETUSERSHELL.
67018
67019 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67020
67021         * m4/_inttypes_h.m4 (gl_INTTYPES_H): Use AC_CHECK_DECLS_ONCE
67022         with only one argument, for Autoconf 2.60.
67023         * m4/fileblocks.m4 (gl_PREREQ_FILEBLOCKS): AC_CHECK_DECLS_ONCE may
67024         expand to nothing, so add a shell command to avoid syntax error.
67025         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
67026
67027 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67028
67029         * lib/strtod.c (strtod): cast the argument of tolower to unsigned char.
67030
67031 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
67032
67033         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl;
67034         no longer needed.  Check for isblank decl.
67035         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl.
67036         * m4/regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead
67037         of existence.
67038
67039 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
67040
67041         * lib/getloadavg.c: Use __VMS, not VMS.
67042         * lib/getopt.c: Likewise.
67043         * lib/getpagesize.h: Likewise.
67044         * lib/glob.c: Remove most VMS cruft; it hasn't been tested for a while
67045         and probably does not work.
67046
67047 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
67048
67049         * lib/.cppi-disable: Add wcwidth.
67050         * lib/fnmatch.c (ISBLANK): Remove.  All uses changed to isblank.
67051         (isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro.
67052         (ISGRAPH): Remove.  All uses changed to isgraph.
67053         (FOLD) [!defined _LIBC]: Remove special case.
67054         * lib/getdate.y (lookup_word): Remove no-longer-needed call to islower.
67055         * lib/regex_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not
67056         HAVE_ISBLANK.
67057         * lib/strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special
67058         case.
67059
67060 2006-07-06  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
67061
67062         * lib/getaddrinfo.c: Changes to compile under MSVC6: changed
67063         '#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside
67064         brackets.  Other minor changes to suppress some compiler
67065         warnings.
67066
67067 2006-07-06  Derek R. Price  <derek@ximbiot.com>
67068         and Paul Eggert  <eggert@cs.ucla.edu>
67069
67070         * m4/backupfile.m4 (gl_BACKUPFILE): Check for dirent.h, instead
67071         of invoking obsolescent AC_HEADER_DIRENT macro.
67072         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
67073         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
67074         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
67075         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
67076         * m4/getcwd.m4 (gl_PREREQ_GETCWD): Likewise.
67077         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
67078         * m4/savedir.m4 (gl_SAVEDIR): Likewise.
67079         * m4/readdir.m4: Remove; no longer needed.
67080
67081 2006-07-06  Derek R. Price  <derek@ximbiot.com>
67082         and Paul Eggert  <eggert@cs.ucla.edu>
67083
67084         * lib/backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]:
67085         Don't worry about this obsolete case any more.
67086         (HAVE_DIR): Remove.  All uses removed; we now assume you can read
67087         directories.
67088         * lib/dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't
67089         worry about this obsolete case any more.
67090         * lib/fts.c: Likewise.
67091         * lib/getcwd.c: Likewise.
67092         * lib/glob.h: Likewise.
67093         * lib/savedir.c: Likewise.
67094
67095 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
67096
67097         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE
67098         rather than AC_CHECK_DECLS for strtoimax and strtoumax.
67099         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer
67100         needed.
67101         All uses removed.
67102         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
67103         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
67104         * m4/exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer
67105         needed.
67106         * m4/getdate.m4 (gl_GETDATE): Likewise.
67107         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
67108         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
67109         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
67110         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
67111         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
67112         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
67113         * m4/exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer
67114         needed.
67115
67116 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
67117
67118         * lib/memcasecmp.c: Include <limits.h>.
67119         (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX.
67120         * lib/strtod.c (strtod): Don't assume isspace works on negative chars.
67121         Don't assume isdigit succeeds only on '0' through '9'.
67122
67123 2006-07-05  Eric Blake  <ebb9@byu.net>
67124
67125         * modules/getaddrinfo (Depends-on): Add snprintf.
67126
67127 2006-07-05  Eric Blake  <ebb9@byu.net>
67128
67129         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Use gl_HEADER_SYS_SOCKET
67130         to avoid 'header present but could not be compiled' on cygwin.
67131
67132 2006-07-05  Eric Blake  <ebb9@byu.net>
67133
67134         * lib/getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if
67135         missing from netdb.h.
67136         * lib/getaddrinfo.c (includes): Include inet_ntop and snprintf.
67137
67138 2006-07-05  Derek R. Price  <derek@ximbiot.com>
67139
67140         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC;
67141         no longer needed.
67142         * m4/exclude.m4 (gl_EXCLUDE): Likewise.
67143         * m4/getdate.m4 (gl_GETDATE): Likewise.
67144         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
67145         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
67146         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
67147         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
67148         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
67149
67150 2006-07-05  Derek R. Price  <derek@ximbiot.com>
67151
67152         * lib/exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed.
67153         All uses of is_space replaced by isspace.
67154         * lib/exit.h: Don't talk about STDC_HEADERS.
67155         * lib/fnmatch.c (ISASCII): Remove; no longer needed.  All uses removed.
67156         (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT):
67157         (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed.  All uses
67158         replaced by isprint etc.
67159         * lib/getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise.
67160         * lib/getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
67161         * lib/memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise.
67162         * lib/strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise.
67163         * lib/strtol.c (IN_CTYPE_DOMAIN): Likewise.
67164         * lib/xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
67165
67166 2006-07-05  Bruno Haible  <bruno@clisp.org>
67167
67168         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether
67169         the function exists, before testing against AIX.
67170         Reported by Martin Lambers <marlam@marlam.de>.
67171
67172 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
67173
67174         * modules/cycle-check (lib_SOURCES): Add same-inode.h.
67175         From Mark D. Baushke.
67176
67177 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
67178
67179         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Prepend three slashes
67180         to the absolute name, not just one, to bypass Sun C 5.8's
67181         "warning: #include of /usr/include/... may be non-portable".
67182
67183 2006-07-04  Eric Blake  <ebb9@byu.net>
67184
67185         * modules/dirname-tests: New test module.
67186         * tests/test-dirname.c: New file, replacing dirname.c
67187         TEST_DIRNAME section that was recently deleted.
67188
67189 2006-07-04  Bruno Haible  <bruno@clisp.org>
67190
67191         Assume ANSI C header files and <ctype.h> functions.
67192         * lib/mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros.
67193         (mbsnwidth): Use isprint, iscntrl instead.
67194
67195 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
67196
67197         Merge from coreutils.
67198         * MODULES.html.sh: Add xstrtold.
67199         * modules/xstrtold: New file.
67200         * modules/cycle-check (Files): Add lib/same-inode.h.
67201         * modules/dirname (Files): Add m4/double-slash-root.m4.
67202         * modules/getcwd (Files): Add m4/getcwd-abort-bug.m4.
67203         * modules/mkdir-p (Files): Add lib/same-inode.h.
67204         * modules/same (Files): Add lib/same-inode.h.
67205
67206 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
67207
67208         * m4/absolute-header.m4: Renamed from full-header-path.m4.
67209         This is to keep the terminology clean; POSIX talks about
67210         "absolute pathnames", not "full pathnames", but the GNU
67211         Coding Standards say to use "path" for something else;
67212         so use "absolute" to keep both sides happy.
67213         (gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH.
67214         Set gl_absolute_header, not gl_full_header_path.
67215         Set gl_cv_absolute_<header>, not gl_full_path_<header>.
67216         Define ABSOLUTE_<HEADER>, not FULL_PATH_<HEADER>.
67217         All uses changed.
67218
67219         Merge from coreutils.
67220
67221         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
67222
67223         * m4/c-strtod.m4 (gl_C_STRTOLD): Add c-strtod.c to LIBSOURCES.
67224         Require gl_USE_SYSTEM_EXTENSIONS, not gl_C_STRTOD, since we don't
67225         want to require the building of c-strtod.o.
67226         * m4/lib-check.m4 (cu_LIB_CHECK): Remove SEQ_LIBM, since seq no longer
67227         needs -lm directly.
67228         * m4/xstrtod.m4 (gl_XSTRTOLD): New macro.
67229
67230         2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
67231
67232         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's
67233         --as-needed option if available.  Problem reported by Albert Chin in
67234         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00114.html>.
67235         However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11
67236         cc merely issues a bunch of annoying warnings for --as-needed
67237         (this problem was reported by Bob Proulx).  Also, try linking with
67238         -lm to detect a bug in binutils 2.16 (this problem was reported
67239         by Ralf Wildenhues).
67240
67241         2006-06-18  Jim Meyering  <jim@meyering.net>
67242
67243         Test for a bug that causes glibc's getcwd to suffer a failed assertion.
67244         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): New file and
67245         macro.
67246         * m4/getcwd.m4 (gl_FUNC_GETCWD): If we detect support for getcwd_null,
67247         also check for glibc-2.4's abort-inducing bug.
67248
67249         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Fix typo.
67250         Low-probability clean-up should be to use rmdir to get rid of
67251         the just-created directory, not unlink.
67252
67253         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make
67254         configure fail, and request a bug report to inform us about it.
67255         Add a comment that, barring reports to the contrary, in 2007 we'll
67256         assume ftruncate is universally available.
67257
67258         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
67259
67260         * m4/filemode.m4 (gl_FILEMODE): Check for strmode declaration.
67261
67262         2006-03-12  Jim Meyering  <jim@meyering.net>
67263
67264         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Add same-inode.h to the list.
67265         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Likewise.
67266         * m4/same.m4 (gl_SAME): Likewise.
67267         * m4/root-dev-ino.m4 (gl_ROOT_DEV_INO): Likewise.
67268
67269         2006-03-11  Eric Blake  <ebb9@byu.net>
67270
67271         * m4/double-slash-root.m4: New file, provides gl_DOUBLE_SLASH_ROOT.
67272         * m4/dirname.m4 (gl_DIRNAME): Use gl_DOUBLE_SLASH_ROOT.
67273         * m4/dos.m4 (FILE_SYSTEM_PREFIX_LEN): Move from here to dirname.h.
67274         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New define.
67275
67276 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
67277
67278         * lib/stdint_.h: Include <sys/types.h> after @FULL_PATH_STDINT_H@, for
67279         MacOS X 10.4.6.  Don't mention <sys/int_types.h>.  Problems
67280         reported by Mark D. Baushke, one in
67281         <http://lists.gnu.org/archive/html/bug-gnulib/2006-07/msg00015.html>.
67282
67283         Merge from coreutils.
67284
67285         * lib/.cppi-disable: Add stdint_.h.
67286         * lib/.cvsignore: Add stdint.h.
67287
67288         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
67289
67290         * lib/xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support
67291         both double and long double versions.
67292         (XSTRTOD): Renamed from xstrtod.  Use DOUBLE internally.
67293         * lib/xstrtold.c: New file.
67294         * lib/xstrtod.h (xstrtold): New decl.
67295
67296         2006-05-22  Paul Eggert  <eggert@cs.ucla.edu>
67297
67298         * lib/filemode.c (setst): Remove.
67299         (strmode): Rewrite to avoid setst.  This makes the code shorter,
67300         (arguably) clearer, and the generated code is a bit smaller on my
67301         Debian GNU/Linux stable x86 host.
67302
67303         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
67304
67305         * lib/filemode.c: Include "filemode.h" first, to test the interface.
67306         Assume that filemode.h includes sys/types.h and sys/stat.h.
67307         (HAVE_ST_DM_MODE): New macro, moved here from ls.c.
67308         (ftypelet): Reorder to put common cases first, for efficiency.
67309         Add 'P', 'w'.  Remove 'M', since it's now the caller's responsibility
67310         to do 'M'.
67311         (strmode): Renamed from mode_string, and now stores 12 bytes instead
67312         of 10, for compatibility with FreeBSD.  All callers changed.
67313         (filemodestring): Now stores 12 bytes instead of 10, and sets file
67314         types that can't be deduced solely from st_mode.  First arg is now a
67315         const pointer.
67316         * lib/filemode.h (HAVE_DECL_STRMODE): Include <string.h> for strmode.
67317         (strmode): Renamed from mode_string.
67318         (filemodestring): New decl.
67319         * lib/stat-macros.h: Don't undef S_ISDOOR, since it's never buggy.
67320         (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never
67321         needed.
67322         (S_ISPORT, S_ISWHT): New macros, if not already defined.
67323
67324         2006-04-12  Paul Eggert  <eggert@cs.ucla.edu>
67325
67326         * lib/fsusage.c: Don't include <inttypes.h> or <stdint.h>, since
67327         fsusage.h now does that.  Include fsusage.h first, to test interface.
67328         Prefer statvfs if it works, since it's blessed by POSIX.  Attempt
67329         at most one method (the old code could have generated decls that
67330         didn't conform to C89, not that this was ever exercised).
67331         * lib/fsusage.h: Include <inttypes.h> and <stdint.h> if they exist.
67332
67333         2006-03-19  Jim Meyering  <jim@meyering.net>
67334
67335         Work even in a chroot where d_ino values for entries in "/"
67336         don't match the stat.st_ino values for the same names.
67337         * lib/getcwd.c (__getcwd): When no d_ino value matches the target inode
67338         number, iterate through all entries again, using lstat instead.
67339         Reported by Kenshi Muto in http://bugs.debian.org/355810, and by
67340         Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656.
67341
67342         * lib/getcwd.c (__getcwd): Clarify a comment.
67343         Use memcpy in place of a call to strcpy.
67344
67345         2006-03-12  Jim Meyering  <jim@meyering.net>
67346
67347         * lib/fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair
67348         matches that of the current directory (which we're about to chdir ".."
67349         out of), then save the dev-ino of the parent, instead.
67350
67351         * lib/same-inode.h (SAME_INODE): New file/macro.
67352         * lib/chdir-safer.c (SAME_INODE): Remove definition.
67353         Include "same-inode.h", instead.
67354         * lib/same.c: Likewise.
67355         * lib/cycle-check.h: Include "same-inode.h".
67356         (CYCLE_CHECK_REFLECT_CHDIR_UP): Define.
67357         * lib/cycle-check.c (SAME_INODE): Remove definition.
67358         * lib/root-dev-ino.h: Include "same-inode.h".
67359
67360         2006-03-11  Eric Blake  <ebb9@byu.net>
67361
67362         * lib/same.c (same_name): s/base_name/last_component/
67363         * lib/backupfile.c (check_extension, numbered_backup): Likewise.
67364         * lib/filenamecat.c (file_name_concat): Likewise.
67365
67366         2006-03-11  Eric Blake  <ebb9@byu.net>,
67367                     Paul Eggert  <eggert@cs.ucla.edu>
67368
67369         * lib/dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4.
67370         [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a
67371         drive prefix.
67372         (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on
67373         platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE.
67374         (last_component): New method.
67375         * lib/dirname.c (dir_len): Determine when drive letters need a
67376         subsequent slash.  Preserve // when it is special.
67377         (dir_name): Don't append dot when drive letter is absolute.
67378         [TEST_DIRNAME]: Move into a full-blown gnulib test.
67379         * lib/basename.c (base_name): New semantics - malloc the result.
67380         Preserve // when it is special.  Preserve relative files that look
67381         like drive letters.
67382         (base_len): Preserve // when it is special.
67383         (last_component): New method, similar to old base_name semantics.
67384         * lib/stripslash.c (strip_trailing_slashes): Use last_component, not
67385         base_name.  Strip redundant slashes from ///.
67386
67387 2006-07-03  Jim Meyering  <jim@meyering.net>
67388
67389         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this
67390         macro is used before the first cycle_check call.
67391
67392 2006-07-03  Eric Blake  <ebb9@byu.net>
67393
67394         * modules/dirname (Depends-on): Add xstrndup.
67395
67396 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
67397
67398         * m4/stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for
67399         test cases, so that config.log is a bit easier to follow.
67400
67401 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
67402
67403         * lib/stdint_.h (intmax_t, uintmax_t): Prefer long to long long if
67404         both are 64 bits, since this seems to be the tradition, and this
67405         prevents gcc -Wformat from warning about usages with PRIuMAX.  If
67406         we ever run into a host that prefers long long to long in this
67407         case, we'll need another configure-time test.  Problem reported by
67408         Jim Meyering.
67409
67410 2006-07-02  Eric Blake  <ebb9@byu.net>
67411
67412         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify by using AC_CHECK_DECLS.
67413
67414 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
67415
67416         * modules/inttypes (Depends-on): No longer depends on stdint.
67417         * modules/stdint (Description): Say more about assumptions.
67418         Say that the fast types might differ.  Say macros are used.
67419         (Files): Remove m4/size_max.m4, m4/wchar_t.m4.  Add m4/longlong.m4.
67420         (Makefile.am): Revise list of substituted symbols to match
67421         new stdint.m4.
67422         * modules/stdint-tests (Files): Add m4/wchar_t.m4, m4/wint_t.m4.
67423         (configure.ac): Add gt_TYPE_WCHAR_T, gt_TYPE_WINT_T.
67424         * tests/test-stdint.c (verify_same_types)
67425         [! (__GNUC__ >= 2 && DO_PEDANTIC)]: Put in a decl, so that
67426         the code conforms to C99/C89.
67427         Test for WCHAR_MIN and WCHAR_MAX only if HAVE_WCHAR_T.
67428         Test for WINT_MIN and WINT_MAX only if HAVE_WINT_T.
67429
67430 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
67431
67432         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Backport from Autoconf 2.60,
67433         but fix a bug, by requiring at least 64 bits.
67434         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
67435         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Now just call
67436         AC_TYPE_LONG_LONG_INT.  This macro is obsolete and will go soon.
67437         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
67438
67439         * m4/stdint.m4 (gl_STDINT_H): Rewrite to accommodate stdint_.h
67440         changes.  Make 2.59 a prerequisite.  Check and substitute for
67441         HAVE_LONG_LONG_INT.  Rely on Autoconf to check for stdint.h and
67442         inttypes.h.  Do not use special include files; just use the
67443         defaults.  Check for sys/inttypes.h and sys/bitypes.h in the usual
67444         way now.  Remove no-longer-needed tests for HAVE_LONG_64BIT,
67445         HAVE_LONG_LONG_64BIT, int8_t, int16_t, int32_t, int64_t, uint8_t,
67446         uint16_t, uint32_t uint64_t, int_least8_t, int_least16_t,
67447         int_least32_t, int_least64_t, uint_least8_t, uint_least16_t,
67448         uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t,
67449         int_fast32_t, int_fast64_t, uint_fast8_t uint_fast16_t,
67450         uint_fast32_t, uint_fast64_t, intptr_t, uintptr_t, intmax_t,
67451         uintmax_t, INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX,
67452         UINT16_MAX, INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN,
67453         INT64_MAX, UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX,
67454         UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX,
67455         UINT_LEAST16_MAX, INT_LEAST32_MIN, INT_LEAST32_MAX,
67456         UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX,
67457         UINT_LEAST64_MAX, INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX,
67458         INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX, INT_FAST32_MIN,
67459         INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX,
67460         UINT_FAST64_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN,
67461         INTMAX_MAX, UINTMAX_MAX, PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN,
67462         SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN,
67463         WINT_MAX.  Check for C99 conformance more strictly, by detecting
67464         bugs in glibc 2.4, Solaris 10, and OpenBSD 3.9.  On the other hand do
67465         not check for things that C99 does not require, e.g., int8_t.  If
67466         a test isn't needed unless <stdint.h> isn't working, and is
67467         unlikely to be needed for any other reason, then don't do it
67468         unless <stdint.h> isn't working.  Do not check for ptrdiff_t or
67469         size_t, since we assume C89 freestanding at least.  Do not check
67470         for sig_atomic_t, wchar_t, or wint_t, since the code now does
67471         the right thing even if the types are not defined.  Instead use:
67472         (gl_STDINT_TYPE_PROPERTIES): New macro.
67473         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H): Remove.  Don't bother
67474         testing whether <sys/types.h> clashes, as Autoconf does this for
67475         us now.  All uses removed.
67476         (gl_STDINT_CHECK_TYPES, gl_STDINT_MISSING_BOUND):
67477         (gl_STDINT_MISSING_BOUNDS, gl_STDINT_MISSING_BOUNDS2):
67478         (gl_CHECK_TYPE_SAME):
67479         Remove; no longer needed.
67480         (gl_STDINT_BITSIZEOF): Don't bother to check whether the type
67481         exists, since we'll return 0 anyway in that case.
67482         (gl_INTEGER_TYPE_SUFFIX, gl_STDINT_INCLUDES): New macros.
67483
67484 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
67485
67486         * lib/stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid
67487         possible collision with system files.
67488         (<stdio.h>, <time.h>, <wchar.h>) [defined __cplusplus && ! defined
67489         __STDC_CONSTANT_MACROS)]: Do not include, since we don't need
67490         WCHAR_MIN and WCHAR_MAX in this case.
67491         (<stddef.h>): Do not include; no longer needed.
67492         (<sys/types.h>): Include if @HAVE_SYS_TYPES_H@, not if
67493         (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)).
67494         (<sys/inttypes.h>): Include if @HAVE_SYS_INTTYPES_H@ &&
67495         !@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__)
67496         && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)).
67497         (__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined
67498         __c99]: Define, to work around IRIX <stdint.h> incompatibility.
67499         (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ &&
67500         !defined(__c99))]: Include in this case too, since it's harmless
67501         now.
67502         (<inttypes.h>) [@HAVE_INTTYPES_H@]: Include, since it's no longer
67503         dangerous to do so.
67504         (@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) &&
67505         @HAVE_INTTYPES_H@]: Do not include, since we now include <inttypes.h>.
67506         (_STDINT_MIN, _STDINT_MAX): New macros.
67507         (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t):
67508         (uint64_t, int_least8_t, uint_least8_t, int_least16_t):
67509         (uint_least16_t, int_least32_t, uint_least32_t, int_least64_t):
67510         (uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t):
67511         (uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t):
67512         (uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now
67513         macros, not typedefs; this simplifies things quite a bit.
67514         Use long int for all types narrower than int64_t.
67515         (intmax_t, uintmax_t, INTMAX_C, UINTMAX_C):
67516         Define in terms of long long int or int64_t or long int,
67517         not int64_t or int32_t.  This saves some compile-time testing.
67518         (INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX):
67519         (INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX):
67520         (UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX):
67521         (INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX):
67522         (INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX):
67523         (INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN):
67524         (INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX):
67525         (UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
67526         (INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN):
67527         (INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX):
67528         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
67529         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
67530         undef any previous version and define our own version, for
67531         simplicity and consistency with the new macros for types.
67532         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
67533         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
67534         Simplify definitions by using _STDINT_MIN and _STDINT_MAX
67535         where appropriate.  Rely on new symbols @PTRDIFF_T_SUFFIX@,
67536         @SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@,
67537         @WINT_T_SUFFIX@ to keep things simple here.
67538         (UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C):
67539         Simplify by assuming typical 8/16/32/64 host, since we're
67540         already doing that elsewhere anyway.
67541         Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@,
67542         and assume long long int is 64 bits if available.  This
67543         speeds up 'configure'.
67544
67545 2006-07-01  Eric Blake  <ebb9@byu.net>
67546
67547         * m4/stdarg.m4 (gl_STDARG_H): Use proper AH_VERBATIM.
67548         Reported by Andreas Buening.
67549
67550 2006-07-01  Eric Blake  <ebb9@byu.net>
67551
67552         * m4/stdarg.m4 (gl_STDARG_H): Properly parenthesize gl_va_copy.
67553
67554 2006-06-30  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
67555
67556         * lib/getaddrinfo.c: fixed typo
67557
67558 2006-06-29  Jim Meyering  <jim@meyering.net>
67559
67560         * modules/strftime (Maintainer): Add my name, since with the
67561         FPRINTFTIME changes strftime.c has forked from glibc.
67562
67563 2006-06-29  Eric Blake  <ebb9@byu.net>
67564
67565         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Use AC_C_INLINE.
67566
67567 2006-06-29  Eric Blake  <ebb9@byu.net>
67568
67569         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): New file.
67570
67571 2006-06-29  Eric Blake  <ebb9@byu.net>
67572
67573         * lib/stat_.h: New file.
67574
67575 2006-06-29  Eric Blake  <ebb9@byu.net>
67576
67577         * lib/stat_.h (rpl_mkdir): Declare inline, to avoid warnings about
67578         unused static function.
67579
67580 2006-06-29  Eric Blake  <ebb9@byu.net>
67581
67582         * doc/functions.texi (Function Portability): Document missing lstat
67583         on mingw.
67584
67585 2006-06-29  Eric Blake  <ebb9@byu.net>
67586
67587         * MODULES.html.sh: Add sys_stat.
67588         * modules/sys_stat: New module.
67589         * modules/mkstemp (Depends-on): Add sys_stat.
67590
67591 2006-06-29  Derek R. Price  <derek@ximbiot.com>
67592
67593         * m4/strftime.m4: Don't call AC_FUNC_STRFTIME.
67594
67595 2006-06-29  Derek R. Price  <derek@ximbiot.com>
67596
67597         * m4/c-bs-a.m4: Removed.
67598
67599 2006-06-29  Derek R. Price  <derek@ximbiot.com>
67600
67601         * lib/strftime.c: Assume strftime() exists.
67602
67603 2006-06-29  Derek Price  <derek@ximbiot.com>
67604
67605         * modules/c-bs-a: Removed - \a is C89.
67606         * MODULES.html.sh: Remove c-bs-a.
67607
67608 2006-06-29  Bruno Haible  <bruno@clisp.org>
67609
67610         * modules/wcwidth (License): Change to LGPL.
67611
67612 2006-06-28  Simon Josefsson  <jas@extundo.com>
67613
67614         * tests/test-getaddrinfo.c: Test getnameinfo too.  Call WSAStartup
67615         on _WIN32.
67616
67617         * modules/getaddrinfo (Depends-on): Add inet_ntop, needed by
67618         getnameinfo.
67619
67620 2006-06-28  Simon Josefsson  <jas@extundo.com>
67621
67622         * m4/getaddrinfo.m4: Look for getnameinfo prototypes too.
67623
67624 2006-06-28  Simon Josefsson  <jas@extundo.com>
67625
67626         * lib/getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the
67627         functions there.  It will succeed on Windows XP, but on Windows
67628         2000 and (presumably) earlier, it will fail, and use the internal
67629         re-implementation.
67630         (use_win32_p): New function.
67631         (getaddrinfo): Use strtoul on servname, to support numeric ports.
67632         Support AI_NUMERICSERV to disable getservbyname.
67633         (getnameinfo): New function, only supports
67634         NI_NUMERICHOST|NI_NUMERICSERV for now.
67635
67636         * lib/getaddrinfo.h: Test and check for AI_* flags separately, MinGW
67637         only have some of them.  Add AI_NUMERICSERV.  Add prototype for
67638         getnameinfo.
67639
67640 2006-06-28  Eric Blake  <ebb9@byu.net>
67641
67642         * modules/wcwidth: New file.
67643         * modules/mbchar (Depends-on): Add wcwidth.
67644         * modules/mbswidth (Depends-on): Add wcwidth.
67645         * MODULES.html.sh: Add wcwidth.
67646
67647 2006-06-28  Eric Blake  <ebb9@byu.net>
67648
67649         * m4/mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here...
67650         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file.
67651
67652 2006-06-28  Eric Blake  <ebb9@byu.net>
67653
67654         * lib/xvasprintf.h: Fix comments.
67655
67656 2006-06-28  Eric Blake  <ebb9@byu.net>
67657
67658         * lib/mbchar.h (wcwidth): Include wcwidth.h.
67659         * lib/mbswidth.c (wcwidth): Move from here...
67660         * lib/wcwidth.h: ...to this new file.
67661
67662 2006-06-28  Derek R. Price  <derek@ximbiot.com>
67663
67664         * m4/savedir.m4: Remove AC_FUNC_CLOSEDIR_VOID requirement.
67665
67666         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't require AC_C_CONST, since
67667         it's obsolete.
67668         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Likewise.
67669
67670 2006-06-28  Derek R. Price  <derek@ximbiot.com>
67671
67672         * lib/savedir.c (CLOSEDIR): Remove.  All uses changed to closedir.
67673         Autoconf 2.60 says this stuff was obsolete.
67674
67675 2006-06-28  Bruno Haible  <bruno@clisp.org>
67676
67677         * modules/wcwidth (Files): Add m4/wchar_t.m4.
67678
67679 2006-06-28  Bruno Haible  <bruno@clisp.org>
67680
67681         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Also require AC_C_INLINE and
67682         gt_TYPE_WCHAR_T.
67683
67684 2006-06-28  Bruno Haible  <bruno@clisp.org>
67685
67686         * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
67687         declaration for wcwidth.
67688         * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctypes.h>.
67689
67690 2006-06-28  Bruno Haible  <bruno@clisp.org>
67691
67692         * lib/mkdtemp.c [MINGW]: Include <io.h>.
67693         (mkdir): Define using _mkdir.
67694
67695 2006-06-28  Bruno Haible  <bruno@clisp.org>
67696
67697         * lib/getaddrinfo.h: Fix POSIX URL.
67698         * lib/getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of
67699         _WIN32.
67700         (use_win32_p): Make static.
67701         (getaddrinfo): Reject service name if it is empty or does not consist
67702         solely of decimal digits, or if its value is > 65535.
67703         (getnameinfo): Remove useless casts.
67704
67705 2006-06-27  Simon Josefsson  <jas@extundo.com>
67706
67707         * modules/sys_select: New file, suggested by Bruno Haible, Paul
67708         Eggert and Martin Lambers.
67709
67710 2006-06-27  Simon Josefsson  <jas@extundo.com>
67711
67712         * m4/sys_select_h.m4: New file, suggested by Bruno Haible, Paul
67713         Eggert and Martin Lambers.
67714
67715 2006-06-27  Bruno Haible  <bruno@clisp.org>
67716
67717         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): For nonexistent types, set the
67718         result to 0, not to empty.
67719         Reported by Martin Neitzel <neitzel@sco.gaertner.de>.
67720
67721 2006-06-27  Bruno Haible  <bruno@clisp.org>
67722
67723         * lib/stdint_.h (intmax_t, uintmax_t): Undefine before typedef.
67724
67725 2006-06-26  Simon Josefsson  <jas@extundo.com>
67726
67727         * m4/inet_ntop.m4: Don't check for sys/types.h, we assume it is
67728         present.
67729
67730 2006-06-26  Paul Eggert  <eggert@cs.ucla.edu>
67731
67732         * lib/base64.c (B64): Use _ as the formal parameter, not x, to avoid
67733         bug in IBM C V6 for AIX.  Problem reported by Larry Jones in
67734         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00181.html>.
67735
67736 2006-06-26  Mark D. Baushke  <mdb@gnu.org>
67737
67738         * m4/stdint.m4 (gl_STDINT_H): Treat BSD/OS like OpenBSD.
67739
67740 2006-06-26  Bruno Haible  <bruno@clisp.org>
67741
67742         * modules/stdint (Makefile.am): Also substitute HAVE_WCHAR_H.
67743
67744 2006-06-26  Bruno Haible  <bruno@clisp.org>
67745
67746         * m4/stdint.m4 (gl_STDINT_H): Test also for <wchar.h>.
67747
67748 2006-06-26  Bruno Haible  <bruno@clisp.org>
67749
67750         * m4/stdint.m4 (gl_STDINT_H): Don't include <stdint.h> when using the
67751         SGI C compiler in pre-C99 mode.
67752         Suggested by Mark D. Baushke and Larry Jones.
67753
67754 2006-06-26  Bruno Haible  <bruno@clisp.org>
67755
67756         * lib/stdint_.h: Include <wchar.h> if necessary for WCHAR_MIN or
67757         WCHAR_MAX.
67758         Reported by Mark D. Baushke and Larry Jones.
67759
67760 2006-06-26  Bruno Haible  <bruno@clisp.org>
67761
67762         * lib/stdint_.h: Don't include <stdint.h> when using the SGI C compiler
67763         in pre-C99 mode.
67764         Suggested by Mark D. Baushke and Larry Jones.
67765
67766 2006-06-23  Simon Josefsson  <jas@extundo.com>
67767             Bruno Haible  <bruno@clisp.org>
67768
67769         * gnulib-tool (func_emit_lib_Makefile_am): Define MOSTLYCLEANDIRS.
67770         Emit mostlyclean-local rule.
67771         (func_emit_tests_Makefile_am): Likewise.
67772         * modules/sys_socket (Makefile.am): Use MOSTLYCLEANDIRS.
67773
67774 2006-06-23  Mark D. Baushke  <mdb@gnu.org>
67775
67776         * lib/stdint_.h: Treat BSD/OS like OpenBSD.
67777
67778 2006-06-23  Bruno Haible  <bruno@clisp.org>
67779
67780         * tests/test-stdint.c: Update to match ISO C 99 Technical
67781         Corrigendum 1.
67782
67783 2006-06-23  Bruno Haible  <bruno@clisp.org>
67784
67785         * m4/stdint.m4 (gl_STDINT_H): Treat IRIX like OpenBSD.
67786
67787 2006-06-23  Bruno Haible  <bruno@clisp.org>
67788
67789         * lib/stdint_.h: Treat IRIX like OpenBSD.
67790
67791 2006-06-23  Bruno Haible  <bruno@clisp.org>
67792
67793         * lib/stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to
67794         ISO C 99 Technical Corrigendum 1.
67795
67796 2006-06-22  Simon Josefsson  <jas@extundo.com>
67797
67798         * m4/sockpfaf.m4: Include winsock2.h too, to make it work under
67799         MinGW.
67800
67801 2006-06-22  Paul Eggert  <eggert@cs.ucla.edu>
67802
67803         * lib/glob.c (collated_compare): Remove 'const' uses that weren't
67804         needed.  Some compiler complained about some of them.  Problem reported
67805         by Larry Jones in
67806         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00172.html>.
67807
67808 2006-06-21  Simon Josefsson  <jas@extundo.com>
67809
67810         * tests/test-getaddrinfo.c: New file.
67811
67812         * modules/getaddrinfo-tests: New file.
67813
67814         * MODULES.html.sh: Add inet_pton.
67815
67816         * modules/inet_pton: New file.
67817
67818 2006-06-21  Simon Josefsson  <jas@extundo.com>
67819
67820         * m4/getaddrinfo.m4: Don't define WINVER.  Look for gethostbyname in
67821         -lws2_32 too.  Fixes getaddrinfo on Windows 2000, with the price
67822         of using the (limited) gnulib implementation on Windows XP.
67823
67824         * m4/inet_pton.m4: New file.
67825
67826 2006-06-21  Simon Josefsson  <jas@extundo.com>
67827
67828         * lib/getaddrinfo.c (getaddrinfo): Set ai_family in the return
67829         variable.
67830
67831         * lib/socket_.h: Don't define WINVER.
67832
67833         * lib/inet_pton.h, inet_pton.c: New file, taken from glibc but
67834         slightly modified to work in gnulib.
67835
67836 2006-06-21  Simon Josefsson  <jas@extundo.com>
67837
67838         * doc/gnulib.texi (Windows sockets): Add.
67839
67840 2006-06-21  Paul Eggert  <eggert@cs.ucla.edu>
67841
67842         * lib/read-file.c (fread_file): Start with buffer allocation of
67843         0 bytes rather than 1 byte; this simplifies the code.
67844         Don't invoke feof; it's not needed.  Refactor to avoid duplicate
67845         code to free buffer and save/restore errno.
67846         (internal_read_file): Remove unused local.
67847
67848 2006-06-20  Paul Eggert  <eggert@cs.ucla.edu>
67849
67850         * lib/openat.c (openat): Use ?:, not if, to work around GCC bug 4210
67851         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210>.
67852         Problem reported by Denis Excoffier in
67853         <http://lists.gnu.org/archive/html/bug-tar/2006-06/msg00023.html>.
67854
67855 2006-06-19  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
67856
67857         * modules/sys_socket, modules/socklen: Include sys/types since
67858         FreeBSD 4.x's sys/socket.h needs it.
67859
67860 2006-06-19  Simon Josefsson  <jas@extundo.com>
67861
67862         * lib/inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it.
67863
67864 2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
67865
67866         * lib/alloca_.h (alloca) [defined alloca]: Don't define or declare.
67867
67868 2006-06-19  Bruno Haible  <bruno@clisp.org>
67869
67870         * m4/stdint.m4 (gl_STDINT_H): Enclose the values of FULL_PATH_STDINT_H
67871         and FULL_PATH_INTTYPES_H in angle brackets.
67872         Reported by Mark D. Baushke <mdb@gnu.org>.
67873
67874 2006-06-17  Eric Blake  <ebb9@byu.net>
67875
67876         * m4/rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares
67877         errno.
67878
67879 2006-06-17  Bruno Haible  <bruno@clisp.org>
67880
67881         * m4/stdint.m4 (gl_STDINT_H) [FreeBSD >= 5]: Don't include
67882         <sys/inttypes.h>.
67883
67884 2006-06-17  Bruno Haible  <bruno@clisp.org>
67885
67886         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test
67887         whether errno is declared. Assume <errno.h> declares errno.
67888
67889 2006-06-17  Bruno Haible  <bruno@clisp.org>
67890
67891         * lib/stdint_.h [FreeBSD >= 5]: Don't include <sys/inttypes.h>.
67892
67893 2006-06-17  Bruno Haible  <bruno@clisp.org>
67894
67895         * lib/stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a
67896         problem on Solaris 2.5.1.
67897
67898 2006-06-16  Eric Blake  <ebb9@byu.net>
67899
67900         * lib/unsetenv.c [!defined errno]: Assume errno.h declares errno.
67901         * lib/unicodeio.c [!defined errno]: Likewise.
67902         * lib/strtol.c [!defined errno]: Likewise.
67903         * lib/strtod.c [!defined errno]: Likewise.
67904
67905 2006-06-15  Eric Blake  <ebb9@byu.net>
67906
67907         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror.
67908
67909 2006-06-15  Eric Blake  <ebb9@byu.net>
67910
67911         * config/srclist.txt (ssize_t.m4): Lose sync.
67912
67913 2006-06-15  Bruno Haible  <bruno@clisp.org>
67914
67915         * modules/stdint (Files): Include m4/full-header-path.m4,
67916         m4/size_max.m4, m4/wchar_t.m4.
67917         (Makefile.am): Many more substitutions.
67918         * modules/stdint-tests: New file.
67919         * tests/test-stdint.c: New file.
67920
67921 2006-06-15  Bruno Haible  <bruno@clisp.org>
67922
67923         * m4/stdint.m4 (gl_STDINT_H): Rewritten to produce a complete stdint.h.
67924         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H, gl_STDINT_CHECK_TYPES,
67925         gl_STDINT_MISSING_BOUND, gl_STDINT_MISSING_BOUNDS,
67926         gl_STDINT_MISSING_BOUNDS2, gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED,
67927         gl_CHECK_TYPE_SAME): New macros.
67928
67929 2006-06-15  Bruno Haible  <bruno@clisp.org>
67930
67931         * m4/size_max.m4 (gl_SIZE_MAX): Make it work also when cross-compiling.
67932
67933 2006-06-15  Bruno Haible  <bruno@clisp.org>
67934
67935         * lib/stdint_.h: Rewritten to be fully auto-configured.
67936         Fixes bug on HP-UX/IA64.
67937
67938 2006-06-11  Paul Eggert  <eggert@cs.ucla.edu>
67939
67940         * lib/getdate.y (__attribute__): Don't define if already defined.
67941         Problem reported by Larry Jones.
67942         * lib/utimens.c (__attribute__): Likewise.
67943
67944 2006-06-04  Paul Eggert  <eggert@cs.ucla.edu>
67945
67946         * lib/regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun
67947         reported by Andreas Schwab.
67948
67949 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67950             Bruno Haible  <bruno@clisp.org>
67951
67952         * m4/strndup.m4 (gl_FUNC_STRNDUP): Replace the AC_REPLACE_FUNCS with a
67953         check for the declaration of strnlen and a run test that exposes the
67954         AIX 5.1 strnlen bug.  In the failure case, #define strndup to
67955         rpl_strndup.
67956
67957 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67958             Bruno Haible  <bruno@clisp.org>
67959
67960         * lib/strndup.c (strndup) [!_LIBC]: Don't undefine macro definition.
67961
67962 2006-05-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67963
67964         * m4/c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a
67965         compile test, for Tru64 4.0D.
67966
67967 2006-05-28  Karl Berry  <karl@gnu.org>
67968
67969         * config/srclist.txt (printf-args.c): lose sync.
67970
67971 2006-05-26  Martin Lambers  <marlam@marlam.de>
67972
67973         * lib/getpass.c: Updates the test for the native W32 API, and adds
67974         missing includes, thus fixing compilation warnings.
67975
67976 2006-05-25  Sergey Poznyakoff  <gray@gnu.org.ua>
67977
67978         * lib/exclude.c (exclude_fnmatch): New function.
67979         (excluded_file_name): Call exclude_fnmatch.
67980         * lib/exclude.h (excluded_file_name): New prototype
67981
67982 2006-05-25  Paul Eggert  <eggert@cs.ucla.edu>
67983
67984         * lib/tempname.c (small_open, large_open): New macros.
67985         (__open, __open64) [!_LIBC]: Remove.
67986         (__gen_tempname): Use small_open and large_open instead of __open
67987         and __open64.  This fixes a portability bug on HP-UX 11.11i
67988         reported by Simon Wing-Tang in
67989         <http://lists.gnu.org/archive/html/bug-coreutils/2006-05/msg00114.html>.
67990
67991 2006-05-24  Bruno Haible  <bruno@clisp.org>
67992
67993         * lib/printf-args.c (printf_fetchargs): Turn NULL pointers for
67994         TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement.
67995         Reported by Thorsten Maerz <torte@netztorte.de> via
67996         Aaron Stone <aaron@serendipity.cx>.
67997
67998 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
67999
68000         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Rename cache variables to use
68001         gl_ rather than jm_.  Link, don't run, so that cross-compiles are
68002         allowed.  Check that resulting type is arithmetic.  Move AC_REQUIRE
68003         and AC_CHECK_HEADERS_ONCE outside of AC_CACHE_CHECK, since they're
68004         not really conditional on the cache.
68005         (gl_PREREQ_NANOSLEEP): Check for sys/select.h.
68006
68007 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
68008
68009         * lib/nanosleep.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>.
68010         Use the usual Autoconf way to include <time.h> and/or sys/time.h.
68011         (my_usleep): Don't mishandle maximum value.
68012
68013 2006-05-19  Jim Meyering  <jim@meyering.net>
68014
68015         * lib/getugroups.c: Correct an outdated comment.  From Bruno Haible.
68016
68017 2006-05-17  Bruno Haible  <bruno@clisp.org>
68018
68019         Cygwin portability.
68020         * lib/classpath.c (PATH_SEPARATOR) [CYGWIN]: Define as ':'.
68021
68022 2006-05-17  Bruno Haible  <bruno@clisp.org>
68023
68024         * lib/stdint_.h: Fix recognition of Cygwin.
68025
68026 2006-05-15  Bruno Haible  <bruno@clisp.org>
68027
68028         * build-aux/config.rpath: Improve support for Sun C 5.9 on Linux, based
68029         on libtool patch by Ralf Wildenhues.
68030
68031 2006-05-14  Paul Eggert  <eggert@cs.ucla.edu>
68032
68033         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Fix overly-picky
68034         test for C99 conformance; (bool) 0.5 is an integer constant
68035         expression, but (bool) -0.5 is not.  Problem reported by Fedor
68036         Sergeev in <http://forum.sun.com/jive/thread.jspa?threadID=96202>.
68037
68038 2006-05-11  Simon Josefsson  <jas@extundo.com>
68039
68040         * m4/xvasprintf.m4: Fix obvious typo.
68041
68042 2006-05-11  Jim Meyering  <jim@meyering.net>
68043
68044         * lib/sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/.  From
68045         James Lemley.
68046
68047 2006-05-10  Simon Josefsson  <jas@extundo.com>
68048
68049         * lib/md4.c: Typo fix, update copyright years.
68050         (K1, K2): Don't use L because it turn computations into 64-bit on
68051         64-bit platforms.
68052
68053 2006-05-10  Paul Eggert  <eggert@cs.ucla.edu>
68054
68055         * lib/crc.c (crc32_update): Remove unnecessary L suffix.
68056         * lib/md4.c (rol): Cast right-shift arg to uint32_t to prevent
68057         unwanted sign propagation, e.g., on hosts with 64-bit int.
68058         There still are some problems with reeelly weird theoretical hosts
68059         (e.g., 33-bit int) but it's not worth worrying about now.
68060         * lib/sha1.c (rol): Likewise.
68061         (K1, K2, K3, K4): Remove unnecessary L suffix.
68062
68063 2006-05-10  Bruno Haible  <bruno@clisp.org>
68064
68065         * lib/des.c: Cast to avoid warnings.
68066
68067 2006-05-09  Bruno Haible  <bruno@clisp.org>
68068
68069         * modules/xvasprintf (Files): Add m4/xvasprintf.m4.
68070         (Depends-on): Depend also on xsize, stdarg.
68071         (configure.ac): Add gl_XVASPRINTF.
68072
68073 2006-05-09  Bruno Haible  <bruno@clisp.org>
68074
68075         * m4/xvasprintf.m4: New file.
68076
68077 2006-05-09  Bruno Haible  <bruno@clisp.org>
68078
68079         * lib/xvasprintf.c: Include limits.h, string.h, xsize.h.
68080         (EOVERFLOW): Define fallback value.
68081         (xstrcat): New function.
68082         (xvasprintf): Recognize the special case of a string concatenation.
68083
68084 2006-05-08  Eric Blake  <ebb9@byu.net>
68085
68086         * gnulib-tool (func_version): Base copyright year on CVS date.
68087         (func_emit_copyright_notice): New function.
68088         (func_emit_lib_Makefile_am): Use it.
68089         (func_emit_tests_Makefile_am): Likewise.
68090         (func_import): Likewise.
68091
68092 2006-05-08  Bruno Haible  <bruno@clisp.org>
68093
68094         * modules/stdarg: New file.
68095         * MODULES.html.sh (func_all_modules): Add section for <stdarg.h>.
68096
68097 2006-05-08  Bruno Haible  <bruno@clisp.org>
68098
68099         * m4/stdarg.m4: New file, from GNU gettext.
68100
68101 2006-05-08  Bruno Haible  <bruno@clisp.org>
68102
68103         * config/srclist.txt (build-aux/config.rpath): different from latest
68104         release.
68105
68106 2006-05-08  Bruno Haible  <bruno@clisp.org>
68107
68108         * build-aux/config.rpath: Add support for Sun C 5.9 on Linux.
68109
68110 2006-05-05  Jim Meyering  <jim@meyering.net>
68111
68112         * m4/warning.m4: New file, derived from bison's file by the same name.
68113
68114 2006-05-03  Bruno Haible  <bruno@clisp.org>
68115
68116         * lib/stdint_.h: Shorter URL.
68117         * lib/inttypes.h: Likewise.
68118
68119 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
68120
68121         * modules/inttypes (Maintainer): Change from Derek Price to 'all'.
68122
68123 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
68124
68125         * lib/verify.h: Document the internals better.  Most of this change
68126         was written by Bruno Haible.
68127
68128 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
68129
68130         * doc/verify.texi: New file, partly based on a proposal by
68131         Bruno Haible.
68132
68133 2006-05-02  Bruno Haible  <bruno@clisp.org>
68134
68135         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Move the include_next
68136         test from here...
68137         * m4/_inttypes_h.m4 (gl_INTTYPES_H): ... to here.
68138
68139 2006-04-29  Bruno Haible  <bruno@clisp.org>
68140
68141         * lib/gcd.c: Use WORD_T and GCD instead of unsigned long and gcd.
68142         Suggested by Oskar Liljeblad <oskar@osk.mine.nu>.
68143
68144 2006-04-29  Bruno Haible  <bruno@clisp.org>
68145
68146         * gnulib-tool: Make --update option actually work.
68147
68148 2006-04-29  Bruno Haible  <bruno@clisp.org>
68149
68150         * doc/gcd.texi: New file.
68151         * doc/gnulib.texi: Include it.
68152
68153 2006-04-25  Paul Eggert  <eggert@cs.ucla.edu>
68154
68155         * lib/getdate.y (get_date): When adding relative date, start with the
68156         initial time, not with the result of the first mktime call.
68157
68158 2006-04-25  Bruno Haible  <bruno@clisp.org>
68159
68160         * gnulib-tool (func_import): Output the include directives in three
68161         blocks, sorted separately.
68162         Reported by Ben Pfaff <blp@cs.stanford.edu>.
68163
68164 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
68165
68166         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use prototype
68167         to define main with arguments, for C++.  Reported by Eric Blake.
68168         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
68169         Prefer 'int main ()' to 'int main (void)', for C++.
68170         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
68171         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Specify a return type
68172         for 'main', for C99 and C++.
68173
68174 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
68175
68176         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit.
68177         Don't assume that exit status -1 is valid.
68178         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
68179         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
68180         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
68181         * m4/readdir.m4 (GL_FUNC_READDIR): Include <stdlib.h>.
68182         * m4/rename.m4 (vb_FUNC_RENAME): Likewise.
68183         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE,
68184         not AC_TRY_RUN.  Use return, not exit.  Don't assume that
68185         functions can be used without declaring them, or that you can
68186         exit with status -1.
68187         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
68188
68189 2006-04-24  Karl Berry  <karl@gnu.org>
68190
68191         * config/srclist.txt (longdouble.m4): sync lost.
68192
68193 2006-04-24  Eric Blake  <ebb9@byu.net>
68194
68195         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Avoid unused variable warning.
68196
68197 2006-04-24  Bruno Haible  <bruno@clisp.org>
68198
68199         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, reject also the
68200         poll() implementation in AIX.
68201         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
68202
68203 2006-04-24  Bruno Haible  <bruno@clisp.org>
68204
68205         * m4/poll.m4 (gl_FUNC_POLL): Rearrange code, so that POLL_H gets
68206         assigned exactly once.
68207
68208 2006-04-23  Claudio Fontana  <claudio@gnu.org>
68209             Bruno Haible  <bruno@clisp.org>
68210
68211         * modules/gettext (Makefile.am): Add a -I flag for <libintl.h>.
68212         * gnulib-tool (func_emit_lib_Makefile_am): Emit empty default value
68213         for AM_CPPFLAGS.
68214
68215 2006-04-23  Bruno Haible  <bruno@clisp.org>
68216
68217         * modules/copy-file: Depend on unistd.
68218         * modules/execute: Likewise.
68219         * modules/fatal-signal: Likewise.
68220         * modules/findprog: Likewise.
68221         * modules/mkdtemp : Likewise.
68222         * modules/pipe: Likewise.
68223         * modules/wait-process: Likewise.
68224
68225 2006-04-23  Bruno Haible  <bruno@clisp.org>
68226
68227         * lib/fwriteerror.c (fwriteerror): Call fclose also when an error
68228         condition was already detected.
68229         Reported by Ben Pfaff <blp@cs.stanford.edu>.
68230
68231 2006-04-23  Bruno Haible  <bruno@clisp.org>
68232
68233         * lib/copy-file.c: Include <unistd.h> unconditionally.
68234         * lib/execute.c: Likewise.
68235         * lib/fatal-signal.c: Likewise.
68236         * lib/findprog.c: Likewise.
68237         * lib/mkdtemp.c: Likewise.
68238         * lib/pipe.h: Likewise.
68239         * lib/pipe.c: Likewise.
68240         * lib/wait-process.h: Likewise.
68241
68242 2006-04-23  Bruno Haible  <bruno@clisp.org>
68243
68244         * gnulib-tool (func_usage): Fix --import description. Document
68245         --update.
68246         (func_import): Create temporary file in a temporary directory, if
68247         --dry-run is specified. Silence errors from 'grep' when there are no
68248         m4 files in $m4dir.
68249         (func_create_testdir): Silence errors from 'grep' when there are no
68250         m4 files in $m4dir.
68251         Reported by Karl Berry <karl@freefriends.org>.
68252
68253 2006-04-20  Bruno Haible  <bruno@clisp.org>
68254
68255         * m4/argp.m4 (gl_ARGP): Don't call AC_CHECK_DECLS_ONCE with more than
68256         one argument, so that the code will be portable to Autoconf 2.60.
68257         * m4/getlogin_r.m4 (gl_PREREQ_GETLOGIN_R): Likewise.
68258         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
68259         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Likewise.
68260
68261 2006-04-19  Derek Price  <derek@ximbiot.com>
68262             Eric Blake  <ebb9@byu.net>
68263
68264         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Use </full/path.h>
68265         rather than "/full/path.h".  Update comment to match.  Shorten &
68266         generalize m4_translit call via AS_TR_CPP.
68267
68268 2006-04-19  Derek Price  <derek@ximbiot.com>
68269             Eric Blake  <ebb9@byu.net>
68270
68271         * lib/inttypes.h: Correct grammar in comment.
68272
68273 2006-04-18  Derek Price  <derek@ximbiot.com>
68274             Paul Eggert  <eggert@cs.ucla.edu>
68275
68276         * modules/inttypes: New file.
68277         * modules/strtoimax, modules/strtoumax: Depend on inttypes.
68278
68279 2006-04-18  Derek Price  <derek@ximbiot.com>
68280             Paul Eggert  <eggert@cs.ucla.edu>
68281
68282         * m4/_inttypes_h.m4, m4/full-header-path.m4, m4/include_next.m4:
68283         New files.
68284
68285 2006-04-18  Derek Price  <derek@ximbiot.com>
68286             Paul Eggert  <eggert@cs.ucla.edu>
68287
68288         * lib/inttypes.h: New file.
68289         * lib/strtoimax.c: Assume <inttypes.h>.
68290
68291 2006-04-15  Paul Eggert  <eggert@cs.ucla.edu>
68292
68293         * lib/utimens.c (futimens): glibc futimesat messes up if /proc
68294         isn't mounted.  Problem reported by Kir Kolyshkin.
68295
68296 2006-04-13  Paul Eggert  <eggert@cs.ucla.edu>
68297
68298         * lib/regcomp.c (init_dfa): Don't use wchar_t or wctype_t if
68299         RE_ENABLE_I18N is not defined.  Problem reported by Mark D. Baushke via
68300         Derek R. Price.
68301         * lib/regex.h (RE_DUP_MAX): Update comment to match current
68302         implementation.
68303
68304 2006-04-12  Eric Blake  <ebb9@byu.net>
68305
68306         * modules/time_r (Makefile.am): Remove lib_SOURCES line, as this
68307         is now done automatically by the corresponding Autoconf macro.
68308
68309 2006-04-11  Paul Eggert  <eggert@cs.ucla.edu>
68310
68311         * m4/time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and
68312         time_r.h.
68313
68314 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
68315
68316         Merge regex changes from libc, removing some of our
68317         POSIX-conformance changes that were rejected and redoing them in a
68318         less-intrusive way.
68319
68320         * lib/regcomp.c (re_compile_internal, init_dfa):
68321         Length arg is now size_t, not Idx.  All uses changed.
68322         (peek_token): Forward decl now says internal_function.
68323         (__re_error_msgid, __re_error_msgid_idx):
68324         Now static rather than extern with attribute_hidden.
68325         (re_compile_pattern) [!defined _LIBC]: Use K&R-style defn.
68326         For some reason libc prefers K&R style defns for external functions.
68327         (regerror) [!defined _LIBC]: Likewise.
68328         (re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp):
68329         (seek_collating_symbol_entry, lookup_collation_sequence_value):
68330         (build_range_exp, build_collating_symbol):
68331         Use K&R-style defn.
68332         (re_compile_fastmap): Use '\0' to memset, not 0.
68333         (utf8_sb_map): Make the calculations more obvious.
68334         (init_dfa, parse_bracket_exp, build_charclass_op):
68335         Call calloc and cast result, as glibc does.
68336         (init_word_char, fetch_token, peek_token, peek_token_bracket):
68337         (build_range_exp, build_collating_symbol):
68338         Now internal functions.
68339
68340         * lib/regex.c [!defined _LIBC]: Allow compiling with C++ compilers.
68341
68342         * lib/regex.h (__USE_GNU_REGEX): New macro.  Don't depend on
68343         _REGEX_SOURCE any more; depend on _GNU_SOURCE instead.
68344         Don't depend on VMS; depend on __VMS instead, for POSIX
68345         namespace cleanness.
68346         (regoff_t): Define to ssize_t, not long int.
68347
68348         Remove the REG_ macros named below.  Instead, make the old names
68349         (e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if
68350         __USE_GNU_REGEX.
68351         (REG_BACKSLASH_ESCAPE_IN_LISTS):
68352         (REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS):
68353         (REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS):
68354         (REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE):
68355         (REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT):
68356         (REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS):
68357         (REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES):
68358         (REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING):
68359         (REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD):
68360         (REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE):
68361         (REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS):
68362         (REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK):
68363         (REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP):
68364         (REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON):
68365         (REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC):
68366         (REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED):
68367         (REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED):
68368         (REG_NREGS):
68369         Remove.  All uses replaced by the old RE_* names.
68370         (RE_BACKSLASH_ESCAPE_IN_LISTS):
68371         (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS):
68372         (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS):
68373         (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE):
68374         (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT):
68375         (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS):
68376         (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES):
68377         (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING):
68378         (RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD):
68379         (RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE):
68380         (RE_CONTEXT_INVALID_DUP, RE_NO_SUB):
68381         Don't bother having these macros be independent of each others'
68382         values, since they no longer exist in the POSIX name space.
68383
68384         Rename the following member names back to their old names,
68385         unless !__USE_GNU_REGEX.  All uses changed back.
68386         (buffer): Renamed from re_buffer.
68387         (allocated): Renamed from re_allocated.
68388         (used): Renamed from re_used.
68389         (syntax): Renamed from re_syntax.
68390         (fastmap): Renamed from re_fastmap.
68391         (translate): Renamed from re_translate.
68392         (can_be_null): Renamed from re_can_be_null.
68393         (regs_allocated): Renamed from re_regs_allocated.
68394         (fastmap_accurate): Renamed from re_fastmap_accurate.
68395         (no_sub): Renamed from re_no_sub.
68396         (not_bol): Renamed from re_not_bol.
68397         (not_eol): Renamed from re_not_eol.
68398         (newline_anchor): Renamed from re_newline_anchor.
68399         (num_regs): Renamed from rm_num_regs.
68400         (start): Renamed from rm_start.
68401         (end): Renamed from rm_end.
68402
68403         (free_state): Move up a bit.
68404
68405         * lib/regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]:
68406         #define to be empty.
68407         (ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2
68408         when that is what is intended.
68409         (SBC_MAX): Define to UCHAR_MAX + 1, not 256.
68410         (__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed.
68411         (MAX): New macro.
68412         (re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove.
68413         All uses changed back to re_malloc, etc.  It's now the caller's
68414         responsibility to check for overflow; all callers changed.
68415         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc):
68416         (re_x2nrealloc): Remove.
68417         (free_state): Remove decl.
68418
68419         * lib/regexc.c (regexec, re_match, re_search, re_match_2, re_search_2):
68420         (re_set_registers, re_exec):
68421         Use K&R-style defn.
68422
68423         2006-01-31  Roland McGrath  <roland@redhat.com>
68424
68425         * lib/regcomp.c (calc_eclosure_iter): Remove dead variables.
68426         Reported by Mike Frysinger <vapier@gentoo.org>.
68427
68428         2006-01-15  Andreas Jaeger  <aj@suse.de>
68429
68430         [BZ #1950]
68431         * lib/regex_internal.c (re_string_reconstruct): Adjust for
68432         build_wcs_upper_buffer change.
68433         (build_wcs_upper_buffer): Change return type.
68434
68435         2005-12-10  Ulrich Drepper  <drepper@redhat.com>
68436
68437         * lib/regex_internal.h: Include <stdint.h> if available.
68438
68439         2005-12-06  Paolo Bonzini  <bonzini@gnu.org>
68440
68441         * lib/regex_internal.h (SIZE_MAX): Provide a default definition.
68442
68443         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
68444
68445         * lib/regcomp.c: Adjust for changed secondary hash function.
68446
68447         2005-09-30  Ulrich Drepper  <drepper@redhat.com>
68448
68449         * lib/regex.h: Pretty printing.
68450         Clean up namespace a bit.
68451
68452         2005-09-30  Jakub Jelinek  <jakub@redhat.com>
68453
68454         * lib/regexec.c (update_cur_sifted_state, check_arrival,
68455         check_arrival_add_next_nodes): Avoid using uninitialized variable.
68456
68457         2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
68458                     Ulrich Drepper  <drepper@redhat.com>
68459
68460         [BZ #1302]
68461         * lib/regex_internal.h (bitset_t): Renamed from bitset.  All uses
68462         changed.
68463         (bitset_word_t): Renamed from bitset_word.  All uses changed.
68464
68465         2005-09-22  Ulrich Drepper  <drepper@redhat.com>
68466
68467         [BZ #281]
68468         * lib/regex.h: Define RE_TRANSLATE_TYPE as unsigned char *.
68469         * lib/regcomp.c: Remove unnecessary uses of
68470         unsigned RE_TRANSLATE_TYPE.
68471         * lib/regex_internal.h: Likewise.
68472         * lib/regex_internal.c: Likewise.
68473         * lib/regexec.c: Likewise.
68474         Based on a patch by Stepan Kasal <kasal@ucw.cz>.
68475
68476         2005-09-07  Ulrich Drepper  <drepper@redhat.com>
68477
68478         * lib/regexec.c (find_recover_state): Remove unnecessary
68479         initialization.
68480         (transit_state_bkref): Make DFA a const pointer.
68481         (get_subexp): Likewise.
68482         (check_arrival): Likewise.
68483         (update_cur_sifted_state): Likewise.
68484         (re_search_internal): Likewise.
68485         (prune_impossible_nodes): Likewise.
68486         (acquire_init_state_context): Likewise.
68487         (proceed_next_node): Likewise.
68488         (set_regs): Likewise.
68489         (free_fail_stack_return): Likewise.
68490         (check_arrival_expand_ecl): Mark DFA parameter as const.
68491         (check_arrival_expand_ecl_sub): Likewise.
68492         (check_subexp_limits): Likewise.
68493         (sub_epsilon_src_nodes):  Likewise.
68494         (add_epsilon_src_nodes):  Likewise.
68495         (merge_state_array): Likewise.
68496         (update_regs): Likewise.
68497         (build_trtable): Likewise.
68498         (sift_states_backward): Mark MCTX parameter as const.
68499         (build_sifted_states): Likewise.
68500         (update_cur_sifted_state): Likewise.
68501         (sift_states_mkref): Likewise.
68502         (check_arrival_expand_ecl): Mark eclosure as const.
68503         (check_dst_limits_calc_pos_1): Likewise.
68504         * lib/regex_internal.h (re_match_context_t): Make dfa a const
68505         pointer.
68506
68507         2005-09-06  Ulrich Drepper  <drepper@redhat.com>
68508
68509         * lib/regexec.c (merge_state_with_log): Define dfa as const pointer.
68510         (transit_state_sb): Likewise.
68511         (transit_state_mb): Likewise.
68512         (sift_states_iter_mb): Likewise.
68513         (check_arrival_add_next_nodes): Likewise.
68514         (check_node_accept_bytes): Change first parameter to pointer-to-const.
68515         [_LIBC] (re_search_2_stub): Use mempcpy.
68516
68517         * lib/regex_internal.c (re_string_reconstruct): Avoid calling
68518         mbrtowc for very simple UTF-8 case.
68519
68520         * lib/regex_internal.c (re_acquire_state): Make DFA pointer arg
68521         a pointer-to-const.
68522         (re_acquire_state_context): Likewise.
68523         * lib/regex_internal.h: Adjust prototypes.
68524
68525         * lib/regex.c: Prevent using C++ compilers.
68526
68527         * lib/regex_internal.c (re_acquire_state): Minor code rearrangement.
68528         (re_acquire_state_context): Likewise.
68529
68530 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
68531
68532         * modules/regex (Depends-on): Add ssize_t.
68533
68534 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
68535
68536         * m4/regex.m4 (gl_REGEX): Check for new glibc interface to
68537         translation table.
68538
68539 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
68540
68541         * doc/gnulib-tool.texi (Modified imports): pathname -> file name.
68542
68543 2006-03-29  Mark D. Baushke  <mdb@gnu.org>
68544             Bruno Haible  <bruno@clisp.org>
68545
68546         * lib/stdint_.h: On OpenBSD, don't redefine types already included in
68547         <sys/types.h> and <inttypes.h>.
68548
68549 2006-03-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68550
68551         * m4/argz.m4 (gl_FUNC_ARGZ): If we define `error_t', also define
68552         `__error_t_defined', so argp.h will not typedef the former.
68553
68554 2006-03-25  Paul Eggert  <eggert@cs.ucla.edu>
68555
68556         * m4/regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP,
68557         REG_SYNTAX_EMACS, and REG_IGNORE_CASE.  Settle for the traditional
68558         glibc names.  Even if glibc is changed to conform to POSIX, the
68559         traditional names will be available anyway, since regex depends on
68560         the extensions module.  Also, fix a longstanding typo in the
68561         implementation of Spencer ERE test #75 from grep 2.3.  Problems
68562         reported by Emanuele Giaquinta.  Also, change sense of cached
68563         variable, so that the message makes sense.
68564
68565 2006-03-24  Simon Josefsson  <jas@extundo.com>
68566
68567         * lib/base64.c: Fix problems reported by Eric Blake <ebb9@byu.net>,
68568         including some doc fixes.
68569         (base64_encode_alloc): Fix +1 bug on allocation failures.
68570
68571 2006-03-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68572
68573         * lib/base64.c (base64_encode): Do not read past end of array with
68574         unsanitized input on systems with CHAR_BIT > 8.
68575
68576 2006-03-24  Eric Blake  <ebb9@byu.net>
68577
68578         * lib/time_r.c (copy_string_result): Remove, as it is no longer used.
68579
68580 2006-03-22  Karl Berry  <karl@gnu.org>
68581
68582         * config/srclist.txt (*setenv.[ch]): get from coreutils.
68583         * config/srclistvars.sh (COREUTILS): new var.
68584
68585 2006-03-17  Jim Meyering  <jim@meyering.net>
68586
68587         * m4/regex.m4 (gl_REGEX): Fix typo in last change:
68588         s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/.
68589
68590 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
68591
68592         * m4/regex.m4 (gl_REGEX): Don't check for off_t, since the code
68593         no longer needs it.  Instead, check that regoff_t is as least
68594         as wide as ptrdiff_t.
68595
68596         Don't define _REGEX_WIDE_OFFSETS unless using the included regex,
68597         so that our regex.h stays compatible with the installed regex.
68598         This is helpful for installers who configure --without-included-regex.
68599         Problem reported by Emanuele Giaquinta.
68600
68601 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
68602
68603         * lib/regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]:
68604         Typedef to long int, not to off_, as POSIX will likely change
68605         in that direction.
68606
68607 2006-03-15  Eric Blake  <ebb9@byu.net>
68608
68609         * m4/dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT.
68610
68611 2006-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>
68612
68613         * lib/argp-help.c (validate_uparams): Fix typo
68614         * lib/argp-parse.c (argp_default_options): Consistently begin help
68615         messages with a lowercase letter.
68616
68617 2006-03-11  Paul Eggert  <eggert@cs.ucla.edu>
68618
68619         * lib/time_r.h (asctime_r, ctime_r): Remove.  These functions can
68620         overrun buffers and shouldn't be used (much as gets shouldn't be
68621         used).
68622         * lib/time_r.c (asctime_r, ctime_r): Likewise.
68623
68624 2006-03-08  Simon Josefsson  <jas@extundo.com>
68625
68626         * m4/gc-random.m4: Permit 'no' as variable values and fix warnings,
68627         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
68628
68629 2006-03-08  Simon Josefsson  <jas@extundo.com>
68630
68631         * m4/gc-random.m4: Call AC_CANONICAL_HOST and use $host_os instead of
68632         $target, suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
68633
68634 2006-03-08  Simon Josefsson  <jas@extundo.com>
68635
68636         * lib/gc-gnulib.c (randomize): Don't open files called 'no', they
68637         signal that configure disabled the device.
68638
68639 2006-03-08  Simon Josefsson  <jas@extundo.com>
68640
68641         * build-aux/maint.mk: Fix refresh-po, to handle no translated
68642         languages.
68643
68644 2006-03-07  Simon Josefsson  <jas@extundo.com>
68645
68646         * modules/getopt (Depends-on): Add unistd.
68647
68648         * modules/unistd: New file.
68649
68650 2006-03-07  Simon Josefsson  <jas@extundo.com>
68651
68652         * modules/gc-random: New file.
68653
68654 2006-03-07  Simon Josefsson  <jas@extundo.com>
68655
68656         * m4/unistd_h.m4: New file.
68657
68658 2006-03-07  Simon Josefsson  <jas@extundo.com>
68659
68660         * m4/readline.m4 (gl_FUNC_READLINE): Rewrite the cached part of the
68661         test to be side-effect free by storing the result in the cache
68662         variable gl_cv_lib_readline, and moving the assignment of
68663         LIBREADLINE and LTLIBREADLINE outside the COMMANDS-TO-SET-IT.
68664         From Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
68665
68666 2006-03-07  Simon Josefsson  <jas@extundo.com>
68667
68668         * m4/gc-random.m4: New file, mostly from gc.m4.  Warn instead of
68669         error on missing devices (the functions will return an error).
68670
68671         * m4/gc.m4: Move random stuff to gc-random.m4
68672
68673 2006-03-07  Simon Josefsson  <jas@extundo.com>
68674
68675         * lib/unistd_.h: New file.
68676
68677 2006-03-07  Simon Josefsson  <jas@extundo.com>
68678
68679         * lib/gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM.
68680
68681 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
68682
68683         * m4/unistd_h.m4 (gl_HEADER_UNISTD): Rename, to match modules file.
68684         Problem reported by Juan Manuel Guerrero.
68685
68686 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
68687
68688         * lib/c-stack.c: Include unistd.h unconditionally, since we now assume
68689         the unistd module.
68690         * lib/getlogin_r.c: Likewise.
68691         * lib/getlogin_r.h: Likewise.
68692         * lib/glob.c: Likewise.
68693         * lib/pagealign_alloc.c: Likewise.
68694         * lib/unistd_.h: Remove; no longer needed.
68695
68696 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
68697
68698         * MODULES.html.sh (Support for systems lacking POSIX:2001):
68699         Add unistd.
68700         * modules/c-stack (Depends-on): Add unistd.
68701         * modules/getlogin_r: Likewise.
68702         * modules/glob: Likewise.
68703         * modules/pagealign_alloc: Likewise.
68704         * modules/unistd (Files): Remove lib/unistd_.h.
68705         (EXTRA_DIST): Remove.
68706         (unistd.h): Create using 'echo' rather than 'cp', so that we don't
68707         need unistd_.h.
68708         (MOSTLYCLEANFILES): Remove unistd.h-t.
68709
68710 2006-03-03  Simon Josefsson  <jas@extundo.com>
68711
68712         * build-aux/maint.mk: Add several syntax checks from CoreUtils.
68713
68714 2006-03-03  Simon Josefsson  <jas@extundo.com>
68715
68716         * build-aux/maint.mk: Add refresh-po rule, based on ideas from
68717         libidn and bison.
68718
68719 2006-03-03  Simon Josefsson  <jas@extundo.com>
68720
68721         * build-aux/maint.mk: Add indent target.
68722
68723 2006-03-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de> (tiny change)
68724
68725         * m4/poll.m4 (gl_FUNC_POLL): If we deem poll(2) unacceptable, use
68726         our replacement poll.h in any case, to avoid a differing
68727         declaration from a system header.  Seen on AIX.
68728
68729 2006-03-01  Simon Josefsson  <jas@extundo.com>
68730
68731         * lib/readline.c: Fix typo, tiny patch from Stepan Kasal
68732         <kasal@ucw.cz>.
68733
68734 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
68735
68736         * modules/gettime (Depends-on): Add extensions module.
68737         * modules/nanosleep (Depends-on): Likewise.
68738         * modules/settime (Depends-on): Likewise.
68739
68740 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
68741
68742         * m4/clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS,
68743         not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled
68744         pedantically.
68745         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
68746         * m4/timespec.m4 (gl_TIMESPEC): Likewise.
68747
68748         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use "=" with "test",
68749         not "==".  Reported by Ralf Wildenhues.
68750
68751 2006-03-01  Karl Berry  <karl@gnu.org>
68752
68753         * doc/Copyright/request-*: new files, synced from gnuorg.
68754
68755 2006-03-01  Karl Berry  <karl@gnu.org>
68756
68757         * config/srclist.txt (Copyright/*): new entries.
68758
68759 2006-02-28  Simon Josefsson  <jas@extundo.com>
68760
68761         * lib/getopt.c: Protect #include of unistd.h, for MSVS.
68762
68763 2006-02-27  Simon Josefsson  <jas@extundo.com>
68764
68765         * lib/base64.h: Indent #define's.  From Jim Meyering
68766         <jim@meyering.net>.
68767
68768 2006-02-27  Jim Meyering  <jim@meyering.net>
68769
68770         Revert the change of 2006-02-24, so these files can continue
68771         to be sync'd from gettext.
68772         * lib/mkdtemp.c, setenv.c, unsetenv.c: *Un*-normalize inclusion
68773         of `config.h'.
68774
68775 2006-02-26  Paul Eggert  <eggert@cs.ucla.edu>
68776
68777         * modules/intprops: New file.
68778         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
68779         Add intprops.
68780         * modules/getloadavg (Files): Remove lib/intprops.h.
68781         (Depends-on): Add intprops.
68782         * modules/human: Likewise.
68783         * modules/inttostr: Likewise.
68784         * modules/openat: Likewise.
68785         * modules/sig2str: Likewise.
68786         * modules/userspec: Likewise.
68787         * modules/utimecmp: Likewise.
68788         * modules/xnanosleep: Likewise.
68789         * modules/xstrtol: Likewise.
68790
68791 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny changes)
68792
68793         * modules/xstrtod: Omit xstrtod.h, xstrtod.c; they're in LIB_SOURCES.
68794         * modules/lock-tests (TESTS): Use $(EXEEXT).
68795         * modules/tls-tests: Likewise.
68796         * modules/argp-tests: Likewise.
68797         (check_PROGRAMS): New var, replacing...
68798         (noinst_PROGRAMS, test_argp_SOURCES): Remove.
68799
68800 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68801
68802         * lib/mkdtemp.c, lib/setenv.c, lib/unsetenv.c: Normalize inclusion of
68803         `config.h'.
68804
68805 2006-02-24  Paul Eggert  <eggert@cs.ucla.edu>
68806
68807         * lib/glob.c: Say "invalid" rather than "illegal" in comments.
68808
68809 2006-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68810
68811         Sync from coreutils.
68812         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and
68813         gl_CHDIR_SAFER.
68814
68815 2006-02-22  Jim Meyering  <jim@meyering.net>
68816
68817         Sync from coreutils.
68818         * m4/chdir-safer.m4: New file.
68819
68820 2006-02-20  Paul Eggert  <eggert@cs.ucla.edu>
68821
68822         * lib/getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where
68823         AT_FDCWD exceeds INT_MAX.
68824         * lib/openat.h (AT_FDCWD): Likewise.
68825
68826 2006-02-17  Eric Blake  <address@hidden>
68827
68828         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error.
68829
68830 2006-02-16  Simon Josefsson  <jas@extundo.com>
68831
68832         * modules/getaddrinfo (Depends-on): Add sys_socket.
68833
68834 2006-02-15  Simon Josefsson  <jas@extundo.com>
68835
68836         * build-aux/maint.mk: Add dsyntax-check rule.
68837
68838 2006-02-15  Eric Blake  <ebb9@byu.net>
68839
68840         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Don't attempt using
68841         winsock2.h or ws2tcpip.h when sys/socket.h is present. Fixes
68842         'present but cannot compile' warnings on cygwin.
68843         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Use gl_HEADER_SYS_SOCKET.  Don't
68844         use ws2tcpip.h if sys/socket.h works.
68845         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_HEADER_SYS_SOCKET.
68846         (gl_GETADDRINFO): Don't use ws2tcpip.h when sys/socket.h is present.
68847
68848 2006-02-14  Simon Josefsson  <jas@extundo.com>
68849
68850         * modules/maintainer-makefile (Files): Rename.
68851
68852         * build-aux/GNUmakefile: Rename Makefile.maint to maint.mk
68853         and (the local) Makefile.cfg to maint-cfg.mk.
68854
68855         * build-aux/Makefile.maint, build-aux/maint.mk: Renamed the former
68856         to the latter.
68857
68858         * modules/maintainer-makefile: New module.
68859
68860         * build-aux/Makefile.maint: New file, from GNU CoreUtils, although
68861         severaly stripped to make it possible to build it up from scratch
68862         with reliable tests.
68863
68864         * build-aux/GNUmakefile: New file, from GNU CoreUtils with some
68865         fixes to permit overriding the default actions when configure and
68866         makefile are not available.
68867
68868 2006-02-14  Paul Eggert  <eggert@cs.ucla.edu>
68869
68870         Sync from coreutils.
68871         * modules/lstat (Depends-on): Don't depend on xalloc.
68872         (License): Change from GPL to LGPL, since this is now simply a
68873         replacement for a libc function.
68874
68875 2006-02-14  Jim Meyering  <jim@meyering.net>
68876
68877         Sync from coreutils.
68878
68879         Eliminate the unwelcome (albeit unlikely) possibility of xmalloc
68880         failure on deficient systems, and simplify gnulib lgpl dependencies.
68881         * lib/lstat.c (rpl_lstat): Rewrite to use stat() in place of the
68882         xmalloc/lstat combination.  Based on a patch from Bruno Haible.
68883
68884         * lib/xalloc-die.c: Remove unused definition of N_.
68885
68886 2006-02-14  Jim Meyering  <jim@meyering.net>
68887
68888         Sync from coreutils.
68889         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke
68890         AC_CHECK_FUNCS(getmntent) unconditionally so that tests of
68891         $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not
68892         double-quote uses of that variable, to accommodate the rare case in
68893         which getmntent is available in none of the libraries checked.  This
68894         happens at least on FreeBSD 5.0.
68895
68896 2006-02-13  Simon Josefsson  <jas@extundo.com>
68897
68898         * gnulib-tool (Usage): Fix --import, from
68899         karl@freefriends.org (Karl Berry).
68900
68901 2006-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>
68902
68903         * lib/argp-fmtstream.c: Restore another bugfix lost on 2005-12-12
68904
68905 2006-02-07  Sergey Poznyakoff  <gray@gnu.org.ua>
68906
68907         * lib/argp-namefrob.h: Restore changes accidentally lost during the
68908         "autoupdate" on 2005-12-12.
68909
68910 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
68911
68912         * modules/closeout (Depends-on): Remove atexit.
68913
68914 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
68915
68916         * lib/closeout.c (close_stdout): Don't assume 'bool' converts nonzero
68917         ints to 0 or 1, as this isn't true for the stdbool.h substitute.
68918
68919 2006-02-05  Paul Eggert  <eggert@cs.ucla.edu>
68920
68921         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define
68922         __EXTENSIONS__ if this causes compilation to fail.  Problem
68923         reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7
68924         c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED.
68925
68926 2006-01-27  Paul Eggert  <eggert@cs.ucla.edu>
68927
68928         * lib/fnmatch.c (L_): Renamed from L, to work around a bug in
68929         Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in
68930         <http://lists.gnu.org/archive/html/bug-gnulib/2006-01/msg00074.html>.
68931         All uses changed.
68932
68933 2006-01-26  Simon Josefsson  <jas@extundo.com>
68934
68935         * lib/socket_.h: Set WINVER to 0x0501, to make sure getaddrinfo
68936         prototype is visible on mingw32.
68937
68938         * lib/getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set,
68939         for mingw32.
68940
68941         * lib/gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for
68942         mingw32).
68943
68944 2006-01-26  Paul Eggert  <eggert@cs.ucla.edu>
68945
68946         * lib/fts.c (diropen): Open with O_NOCTTY | O_NONBLOCK too.  Don't
68947         attempt to open for write; this always fails, at least on POSIX
68948         hosts.  This reinstates the 2006-01-09 change, which was
68949         inadvertently removed.
68950
68951 2006-01-26  Bruno Haible  <bruno@clisp.org>
68952
68953         * gnulib-tool (func_import): Use "trap 'exit $?' instead of "trap :".
68954         Reported by Paul Eggert.
68955
68956 2006-01-26  Bruno Haible  <bruno@clisp.org>
68957             Paul Eggert  <eggert@cs.ucla.edu>
68958
68959         * lib/stdbool_.h (_Bool)
68960         [(! (defined __cplusplus || defined __BEOS__)
68961           && !defined __GNUC__
68962           && !(defined __HP_cc || defined __xlc__
68963                || (defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ == 1))
68964                || defined __sgi))]:
68965         #define to signed char in these cases too; this simplifies
68966         the code (so that we don't have to worry about HP-UX, AIX, SunPRO,
68967         etc., separately) and makes it more conservative.
68968
68969 2006-01-25  Simon Josefsson  <jas@extundo.com>
68970
68971         * m4/getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and
68972         -lws2_32.  Protect sys/socket.h and netdb.h #include's.  Include
68973         ws2tcpip.h with WINVER=0x0501.  All for mingw32.
68974
68975 2006-01-25  Sergey Poznyakoff  <gray@gnu.org.ua>
68976
68977         * lib/argp-namefrob.h: Bugfix. Remove stray #
68978
68979 2006-01-25  Paul Eggert  <eggert@cs.ucla.edu>
68980
68981         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for xlc bug if __GCC__ too,
68982         so that we test the test.
68983         Check for yet another HP-UX cc bug involving *bool |= bool.
68984
68985 2006-01-25  Karl Berry  <karl@gnu.org>
68986
68987         * config/srclist.txt (vasnprintf.c): sync lost.
68988
68989 2006-01-25  Jim Meyering  <jim@meyering.net>
68990
68991         Sync from the stable (b5) branch of coreutils:
68992
68993         * lib/fts.c (fts_children): Don't let close() clobber errno from
68994         failed fchdir().
68995
68996         * lib/fts.c (fts_stat): When following a symlink-to-directory,
68997         don't necessarily interpret stat-fails+lstat-succeeds as indicating
68998         a dangling symlink.  That can also happen at least for ELOOP.
68999         The fix: return FTS_SLNONE only when the stat errno is ENOENT.
69000         FYI, this bug predates the inclusion of fts.c in coreutils.
69001
69002         * lib/fts.c (fts_open): Put new maxarglen declaration and uses
69003         in their own block, so pre-c99 compilers don't object.
69004
69005         Avoid the double-free (first in fts_read, second in fts_close) that
69006         would occur when an `active' directory is made inaccessible (e.g.,
69007         via chmod a-x) during a traversal.
69008         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
69009         before returning.  Reproduce this failure by
69010         mkdir -p a/b; cd a; chmod a-x . b
69011         Reported by Stavros Passas.
69012
69013 2006-01-25  Jim Meyering  <jim@meyering.net>
69014
69015         * lib/fileblocks.c: Remove more useless parentheses.
69016         * lib/readutmp.h: Likewise.
69017
69018 2006-01-25  Bruno Haible  <bruno@clisp.org>
69019
69020         * lib/stdbool_.h (_Bool) [IRIX cc]: Define as 'signed char', to avoid
69021         warnings.
69022         Reported by Paul Eggert.
69023
69024 2006-01-25  Bruno Haible  <bruno@clisp.org>
69025
69026         * gnulib-tool (func_import): Use "trap :" instead of "trap -" to get
69027         rid of a trap command. For Solaris sh.
69028         Reported by Mark D. Baushke <mdb@gnu.org>.
69029
69030 2006-01-24  Simon Josefsson  <jas@extundo.com>
69031
69032         * lib/socket_.h (SHUT_WR, SHUT_RDWR): Don't hardcode, suggested by
69033         Bruno.
69034
69035 2006-01-24  Karl Berry  <karl@gnu.org>
69036
69037         * config/srclist.txt (argp-namefrob.h): sync lost.
69038
69039 2006-01-24  Jim Meyering  <jim@meyering.net>
69040
69041         * modules/openat (Files): Add lib/intprops.h.
69042         From Mark D. Baushke.
69043
69044 2006-01-24  Jim Meyering  <jim@meyering.net>
69045
69046         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]).
69047         Reported by Mark D. Baushke.
69048
69049 2006-01-24  Jim Meyering  <jim@meyering.net>
69050
69051         * lib/socket_.h: Remove useless parentheses in uses of cpp `defined'.
69052
69053 2006-01-24  Bruno Haible  <bruno@clisp.org>
69054
69055         * modules/strnlen (Maintainer): Change from glibc to all.
69056
69057 2006-01-24  Bruno Haible  <bruno@clisp.org>
69058
69059         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for IBM and HP-UX bugs.
69060         Patch by Paul Eggert.
69061
69062 2006-01-24  Bruno Haible  <bruno@clisp.org>
69063
69064         * lib/stdbool_.h (_Bool) [__cplusplus]: Don't define if the compiler
69065         already has it.
69066         Report and patch by Albert Chin-A-Young  <china@thewrittenword.com> on
69067         2005-11-26.
69068
69069         * lib/stdbool_.h (_Bool) [HP-UX cc, AIX cc,xlc]: Define as
69070         'signed char' to avoid problems with the built-in _Bool type.
69071         Reported by Paul Eggert on 2005-11-26.
69072
69073 2006-01-24  Bruno Haible  <bruno@clisp.org>
69074
69075         * gnulib-tool (func_import): Avoid constructing complicated sed
69076         expressions inside backquote.
69077         Report and solution by Mark D. Baushke <mdb@gnu.org>.
69078
69079 2006-01-23  Ulrich Drepper  <drepper@redhat.com>
69080
69081         These changes imported from libc.
69082         * lib/getopt.c: Use __fxprintf instead of inline stream orientation
69083         test and two separate function calls.
69084         * lib/strndup.c (__strndup): Add libc_hidden_def.
69085
69086 2006-01-23  Simon Josefsson  <jas@extundo.com>
69087
69088         * modules/lock-tests: Use check_PROGRAMS instead of noinst_PROGRAMS.
69089         Remove the test_*_SOURCES variable: automake infers it by default.
69090         * modules/tls-tests: Likewise.
69091
69092 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
69093
69094         Work around porting bugs reported by Dieter in
69095         <http://lists.gnu.org/archive/html/bug-bison/2006-01/msg00049.html>.
69096         * lib/getopt.c (_NOPROTO): Remove; no longer needed.
69097         Include <stdlib.h> and <unistd.h> in all environments; it's safe now.
69098         Include "getopt.h" first, to check interface.
69099         (getenv): Declare only if defined HAVE_DECL_GETENV &&
69100         !HAVE_DECL_GETENV.
69101         * lib/strndup.c [!_LIBC]: Include "strndup.h" to get prototype.
69102         (__strndup): Revert to K&R-style function dfns, the glibc style.
69103         * lib/strnlen.c: Don't claim it's taken from glibc; it's not.
69104         (strnlen, __strnlen): Remove #defines and #undefs; not needed.
69105         Include strnlen.h first, to get prototype properly.
69106         (strnlen): Renamed from __strnlen.
69107         Remove weak alias.
69108
69109 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
69110
69111         * m4/getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl.
69112
69113 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
69114
69115         * config/srclist.txt: Adjust to reflect glibc reorganization.
69116         This affects only comments.
69117
69118 2006-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
69119
69120          * gnulib-tool, build-aux/csharpcomp.sh.in: Do not pass `-q' to mktemp.
69121          Reported by Bruce Korb <bkorb@gnu.org>.
69122
69123 2006-01-22  Paul Eggert  <eggert@cs.ucla.edu>
69124
69125         * lib/quotearg.c (quotearg_buffer_restyled): Add "default: break;"
69126         to pacify gcc -Wswitch-default.
69127
69128 2006-01-22  Bruno Haible  <bruno@clisp.org>
69129
69130         * lib/vasnprintf.c (VASNPRINTF): In the computation of the size of the
69131         temporary buffer for sprintf, take into account the precision also
69132         for 'd', 'i', 'u', 'o', 'x', 'X'.
69133
69134 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
69135
69136         * modules/argp-tests: New module
69137         * tests/test-argp.c: New file
69138         * tests/test-argp-2.sh: New file
69139
69140 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
69141
69142         * lib/argp-help.c (usage_long_opt): Do not print DOC options.
69143         (__argp_base_name): Removed
69144         * lib/argp-namefrob.h (__argp_basename): Removed definition. Was a
69145         typo.
69146         (__argp_base_name): Provide macro definition or extern declaration
69147         depending on the configuration
69148
69149 2006-01-20  Simon Josefsson  <jas@extundo.com>
69150
69151         * modules/inet_ntop (Depends-on): Depend on sys_socket.
69152
69153 2006-01-20  Simon Josefsson  <jas@extundo.com>
69154
69155         * lib/inet_ntop.h: Unconditionally include sys/socket.h.
69156
69157 2006-01-20  Paul Eggert  <eggert@cs.ucla.edu>
69158
69159         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Use -Wl,-z,ignore
69160         rather than -Xlinker -z -Xlinker ignore, as it's more portable.
69161         Suggested by Bruno Haible.
69162
69163 2006-01-20  Karl Berry  <karl@gnu.org>
69164
69165         * config/srclist.txt (argp-fmtstream.h, localcharset.c): comment out
69166         until changes propagate, I guess.
69167
69168 2006-01-19  Simon Josefsson  <jas@extundo.com>
69169
69170         * m4/socklen.m4: Look in ws2tcpip.h too, for mingw32.
69171
69172 2006-01-19  Simon Josefsson  <jas@extundo.com>
69173
69174         * lib/socket_.h: Map SHUT_RD, SHUT_WR, SHUT_RDWR correctly.
69175
69176 2006-01-19  Simon Josefsson  <jas@extundo.com>
69177
69178         * gnulib-tool: Set check_PROGRAMS.
69179
69180         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
69181         modules/des-tests, modules/gc-arcfour-tests,
69182         modules/gc-arctwo-tests, modules/gc-des-tests,
69183         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
69184         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
69185         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
69186         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
69187         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
69188         modules/md5-tests, modules/readline, modules/rijndael-tests: Use
69189         check_PROGRAMS instead of noinst_PROGRAMS to be able to remove
69190         test_*_SOURCES.
69191
69192 2006-01-18  Simon Josefsson  <jas@extundo.com>
69193
69194         * modules/socklen (Depends-on): Depend on sys_socket.
69195
69196 2006-01-18  Simon Josefsson  <jas@extundo.com>
69197
69198         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
69199         modules/des-tests, modules/gc-arcfour-tests,
69200         modules/gc-arctwo-tests, modules/gc-des-tests,
69201         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
69202         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
69203         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
69204         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
69205         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
69206         modules/md5-tests, modules/readline, modules/rijndael-tests: Add
69207         $(EXEEXT) to automake TESTS variable, for mingw32.
69208
69209 2006-01-17  Simon Josefsson  <jas@extundo.com>
69210
69211         * modules/socklen (Include): Need sys/socket.h.
69212
69213 2006-01-17  Bruno Haible  <bruno@clisp.org>
69214
69215         * modules/ssize_t (Include): Add <sys/types.h>.
69216
69217 2006-01-16  Paul Eggert  <eggert@cs.ucla.edu>
69218
69219         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as
69220         it's not portable and it doesn't work with cross-compiles.
69221         Problem reported by Bruno Haible.  Fix missing-$ typo in
69222         'test "gl_cv_ignore_unused_libraries" ...' that prevented
69223         -zignore from being used with Sun's C compiler.
69224
69225 2006-01-12  Simon Josefsson  <jas@extundo.com>
69226
69227         * lib/base64.c: Fix warning, reported by Bruno Haible
69228         <bruno@clisp.org> and patch by Paul Eggert <eggert@CS.UCLA.EDU>.
69229
69230 2006-01-12  Bruno Haible  <bruno@clisp.org>
69231
69232         * modules/ldd: New file.
69233         * build-aux/ldd.sh.in: New file.
69234         * MODULES.html.sh (Support for building libraries and executables): Add
69235         ldd.
69236
69237 2006-01-12  Bruno Haible  <bruno@clisp.org>
69238
69239         * m4/ldd.m4: New file.
69240
69241 2006-01-12  Bruno Haible  <bruno@clisp.org>
69242
69243         * gnulib-tool (func_import, func_create_testdir): Don't go into an
69244         endless loop while replacing $auxdir with build-aux.
69245
69246 2006-01-11  Simon Josefsson  <jas@extundo.com>
69247
69248         * lib/stdint_.h (SIZE_MAX): Add missing (.
69249
69250 2006-01-11  Paul Eggert  <eggert@cs.ucla.edu>
69251
69252         Sync from coreutils.
69253         * lib/md5.c: Fix commentary typos.
69254         (alignof, UNALIGNED_P): No need for a GCC-specific version.
69255         * lib/md5.h (__attribute__): Remove; unused.
69256         * lib/sha1.c: Fix commentary to match md5 better.
69257         * lib/sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer,
69258         so that we don't need to worry about alignment.  All uses changed.
69259         This merges the 2005-10-28 md5 change into sha1.
69260
69261 2006-01-11  Jim Meyering  <jim@meyering.net>
69262
69263         Sync from coreutils.
69264         * lib/md5.c (OP): Fix spacing.
69265
69266 2006-01-11  Bruno Haible  <bruno@clisp.org>
69267
69268         Ensure automatic ordering between gl_LOCK and gl_ARGP.
69269         * m4/lock.m4 (gl_LOCK_BODY): Renamed from gl_LOCK.
69270         (gl_LOCK): New macro, requiring gl_LOCK_BODY.
69271
69272 2006-01-11  Bruno Haible  <bruno@clisp.org>
69273
69274         Ensure automatic ordering between gl_LOCK and gl_ARGP.
69275         * gnulib-tool (func_import, func_create_testdir): Put gl_LOCK into
69276         the "early" section as well.
69277
69278 2006-01-11  Bruno Haible  <bruno@clisp.org>
69279
69280         Avoid "ar: no archive members specified" error on MacOS X.
69281         * gnulib-tool (func_modules_add_dummy): New function.
69282         (func_import, func_create_testdir): Invoke it.
69283
69284 2006-01-11  Bruno Haible  <bruno@clisp.org>
69285
69286         * gnulib-tool (func_import, func_create_testdir): Replace build-aux
69287         with $auxdir in AC_CONFIG_FILES statements.
69288
69289 2006-01-11  Bruno Haible  <bruno@clisp.org>
69290
69291         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
69292         Initialize also noinst_HEADERS to empty.
69293
69294 2006-01-11  Bruno Haible  <bruno@clisp.org>
69295
69296         * gnulib-tool (AUTOMAKEPATH, AUTOCONF, ACLOCAL, AUTOMAKE): New
69297         variables.
69298         (func_create_megatestdir): Call aclocal, autoconf, automake here, not
69299         autoreconf.
69300
69301 2006-01-11  Bruno Haible  <bruno@clisp.org>
69302
69303         * gnulib-tool (AUTOCONF, ACLOCAL, AUTOMAKE, AUTORECONF): Make
69304         overridable by the user.
69305         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
69306
69307 2006-01-10  Simon Josefsson  <jas@extundo.com>
69308
69309         * modules/sys_socket: New file.
69310
69311 2006-01-10  Simon Josefsson  <jas@extundo.com>
69312
69313         * m4/sys_socket_h.m4: New file.
69314
69315 2006-01-10  Simon Josefsson  <jas@extundo.com>
69316
69317         * lib/socket_.h: New file.
69318
69319 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
69320
69321         * modules/readutmp (Maintainer): Add myself.
69322
69323 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
69324
69325         * m4/memcoll.m4 (gl_MEMCOLL): Don't require AC_FUNC_MEMCMP, undoing
69326         the 2002-12-31 change.  Problem and fix reported by Bruno Haible.
69327         People who are still concerned with buggy memcmp implementations
69328         can invoke gl_FUNC_MEMCMP themselves.
69329
69330 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
69331
69332         * lib/regex_internal.h (BITSET_WORD_BITS):
69333         Work around a bug in 64-bit PGC (before version 6.1-2), where the
69334         preprocessor mishandles large unsigned values as if they were signed.
69335         Problem reported by Claudio Fontana in
69336         <http://lists.gnu.org/archive/html/bug-gnulib/2005-12/msg00061.html>.
69337
69338 2006-01-10  Jim Meyering  <jim@meyering.net>
69339
69340         Avoid the double-free (first in fts_read, second in fts_close) that
69341         would occur when an `active' directory is made inaccessible (e.g.,
69342         via chmod a-x) during a traversal.
69343         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
69344         before returning.  Reproduce this failure by
69345         mkdir -p a/b; cd a; chmod a-x . b
69346         Reported by Stavros Passas.
69347
69348         Sync from coreutils.
69349         * lib/sha1.c: Tweak grammar in a comment.
69350
69351 2006-01-10  Jim Meyering  <jim@meyering.net>
69352
69353         * m4/fpending.m4: Also include <stdio.h>, for Dragonfly.
69354         Patch by Joerg Sonnenberger.
69355
69356 2006-01-10  Bruno Haible  <bruno@clisp.org>
69357
69358         * modules/readutmp: Depend on module free.
69359         * modules/strtok_r: Depend on module restrict.
69360
69361 2006-01-10  Bruno Haible  <bruno@clisp.org>
69362
69363         * modules/gettext (configure.ac): Add an invocation of
69364         AM_GNU_GETTEXT_VERSION. Needed since autoreconf is used by gnulib-tool.
69365
69366 2006-01-10  Bruno Haible  <bruno@clisp.org>
69367
69368         * m4/localcharset.m4 (gl_LOCALCHARSET): Also test for getc_unlocked.
69369         Reported by Werner Lemberg <wl@gnu.org>.
69370
69371 2006-01-10  Bruno Haible  <bruno@clisp.org>
69372
69373         * lib/localcharset.c: Update from GNU gettext.
69374
69375 2006-01-10  Bruno Haible  <bruno@clisp.org>
69376
69377         * lib/argp.h (__const): Remove macro. Use const instead.
69378         * lib/argp-fmtstream.h (__const): Likewise.
69379         * lib/glob_.h (__const): Remove macro.
69380         * lib/glob-libc.h: Use const instead of __const.
69381
69382 2006-01-10  Bruno Haible  <bruno@clisp.org>
69383
69384         * gnulib-tool (func_emit_tests_Makefile_am): Emit an empty SUBDIR
69385         variable.
69386         Needed to avoid an automake error regarding the 'gettext' module.
69387
69388 2006-01-09  Simon Josefsson  <jas@extundo.com>
69389
69390         * modules/inet_ntop (Depends-on): Add restrict.
69391
69392 2006-01-09  Simon Josefsson  <jas@extundo.com>
69393
69394         * modules/gc-rijndael-tests (License): Put under LGPL.
69395
69396         * modules/gc-des-tests (License): Likewise.
69397
69398         * modules/gc-arcfour-tests (License): Likewise.
69399
69400         * modules/gc-arctwo-tests (License): Likewise.
69401
69402         * modules/gc-pbkdf2-sha1-tests (License): Likewise.
69403
69404         * modules/gc-hmac-sha1-tests (Files): Likewise.
69405
69406         * modules/gc-hmac-md5-tests (License): Likewise.
69407
69408         * modules/gc-sha1-tests (License): Likewise.
69409
69410         * modules/gc-md5-tests (License): Likewise.
69411
69412         * modules/gc-md4-tests (License): Likewise.
69413
69414         * modules/gc-md2-tests (License): Likewise.
69415
69416         * modules/gc-tests (License): Likewise.
69417
69418         * modules/des-tests (License): Likewise.
69419
69420         * modules/md4-tests (License): Likewise.
69421
69422         * modules/md2-tests (License): Likewise.
69423
69424 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
69425
69426         Sync from coreutils:
69427
69428         * MODULES.html.sh (build_lib): New section, with new lib-ignore module.
69429         * modules/lib-ignore: New file.
69430         * modules/mkdir-p (Files): Add chdir-safer.c, chdir-safer.h, lchmod.h,
69431         chdir-safer.m4, lchmod.m4.
69432         * modules/openat: Add mkdirat.c, openat-priv.h.
69433
69434 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
69435
69436         Sync from coreutils.
69437         * m4/lib-ignore.m4: New file.
69438         * m4/lchmod.m4: New file.
69439
69440 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
69441
69442         Sync from coreutils.
69443         * lib/chdir-long.c (cdb_free): Don't bother trying to open directory
69444         for write access: POSIX says that must fail.
69445         * lib/fts.c (diropen): Likewise.
69446         * lib/save-cwd.c (save_cwd): Likewise.
69447         * lib/chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as
69448         well, for minor improvements on hosts that lack O_DIRECTORY.
69449         * lib/chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]:
69450         Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
69451         Fall back on chown if open failed with EACCES.
69452
69453         * lib/gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]:
69454         Report an error at compile-time if only a 1-second nominal clock
69455         resolution is found.
69456
69457         * lib/lchmod.h: New file.
69458         * lib/mkdir-p.c: Include lchmod.h, lchown.h.
69459         (make_dir_parents): Use lchown rather than chown, and
69460         lchmod rather than chmod.
69461
69462         * lib/mountlist.c (ME_DUMMY): "none" and "proc" file systems are
69463         dummies too.  Problem with "none" reported by Bob Proulx.  Problem with
69464         "proc" reported by n0dalus.
69465
69466         * lib/mountlist.c: Include <limits.h>.
69467         (dev_from_mount_options)
69468         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]:
69469         New function.  It no longer assumes "dev=" has the System V meaning
69470         on Linux (since it doesn't).  It also parses "dev=" more carefully.
69471         (read_file_system_list)
69472         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it.
69473         MOUNTED_GETMNTENT2 is new here; the code didn't used to look for
69474         dev= in that case.
69475
69476         * lib/posixtm.h (PDS_PRE_2000): New macro.
69477         * lib/posixtm.c (year): Arg is now syntax_bits rather than
69478         allow_century.  All usages changed.  Reject dates outside the range
69479         1969-1999 if PDS_PRE_2000 is used.
69480
69481 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
69482
69483         Sync from coreutils.
69484         * doc/getdate.texi (General date syntax): Invalid dates are rejected.
69485         (Time of day items): Mention the possibility of leap seconds.
69486         Problem reported by Dr. David Alan Gilbert.
69487
69488 2006-01-09  Jim Meyering  <jim@meyering.net>
69489
69490         Sync from coreutils.
69491
69492         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2006.
69493
69494         * lib/chdir-safer.h, lib/chdir-safer.c: New files.
69495
69496         * lib/modechange.c (mode_compile): Reject an invalid mode string
69497         that starts with an octal digit.  From Andreas Gruenbacher.
69498
69499         * lib/openat.c: Include "fcntl--.h" and "unistd--.h", to map open
69500         and dup to open_safer and dup_safer, respectively.
69501         (openat_permissive): Fix typo in comment.
69502
69503         * lib/openat.c: Don't include <stdlib.h>, <unistd.h>, <fcntl.h>,
69504         "gettext.h"; either no longer needed or are guaranteed by openat.h.
69505         (_): Remove; no longer needed.
69506         (openat): Renamed from rpl_openat; no need for rpl_openat
69507         since openat.h renames openat for us.
69508         Replace most of the body with a call to openat_permissive,
69509         to avoid duplicate code.
69510         Port to (probably hypothetical) environments were mode_t is
69511         wider than int.
69512         (openat_permissive): Require mode arg, so that we can check
69513         types better.  Put it just after flags.  Change cwd failure
69514         indicator from pointer-to-bool to pointer-to-errno-value.
69515         All callers changed.
69516         Invoke openat_save_fail and/or openat_restore_fail if
69517         cwd_errno is null, so that openat can call us.
69518         (openat_permissive, fdopendir, fstatat, unlinkat):
69519         Simplify errno handling to avoid some duplicate code,
69520         as it's OK to set errno on success.
69521         * lib/openat.h: Revamp code so that function macros depend on
69522         __OPENAT_PREFIX only, not also on AT_FDCWD.
69523         (openat_ro): Remove.  Caller changed to use openat_permissive.
69524         (openat_permissive): Now a macro, if not a function.
69525         (openat_restore_fail, openat_save_fail): Now always functions,
69526         since mkdirat needs them even if __OPENAT_PREFIX is defined.
69527
69528         * lib/openat-priv.h: New file, defining macros used by mkdirat.c
69529         and openat.c.
69530         * lib/mkdirat.c: Include openat-priv.h.
69531         Remove definitions of macros defined therein.
69532         * lib/openat.c: Likewise.
69533
69534         * lib/mkdirat.c (mkdirat): New file and function.
69535         * lib/openat.h (mkdirat): Declare.
69536
69537         * lib/openat.c (fdopendir): Don't change errno when returning non-NULL.
69538
69539         * lib/openat.h (openat_permissive): Declare.
69540         (openat_ro): Define.
69541
69542         * lib/openat.c (EXPECTED_ERRNO): New macro.
69543         (openat_permissive): New function -- used in remove.c rewrite.
69544         (all functions): Set errno just before returning, only if there
69545         was an actual failure.
69546         Use EXPECTED_ERRNO rather than comparing against only ENOTDIR.
69547
69548         Emulate openat-family functions using Linux's procfs, if possible.
69549         Idea and some code based on Ulrich Drepper's glibc changes.
69550
69551         * lib/openat.c: (BUILD_PROC_NAME): New macro.
69552         Include <stdio.h>, <string.h>, "alloca.h" and "intprops.h".
69553         (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s,
69554         before falling back on save_cwd and restore_cwd.
69555         (fdopendir, fstatat, unlinkat): Likewise.
69556
69557         * lib/openat.c (fstatat, unlinkat): Perform the syscall directly,
69558         skipping the save_cwd...restore_cwd overhead, if FILE is absolute.
69559
69560         * lib/openat.c (rpl_openat): Use the promoted type (int), not mode_t,
69561         as second argument to va_arg.  Otherwise, some versions of gcc
69562         warn that `if this code is reached, the program will abort'.
69563
69564 2006-01-09  Jim Meyering  <jim@meyering.net>
69565
69566         Sync from coreutils.
69567         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c.
69568         Require openat-priv.h.
69569
69570 2006-01-09  Bruno Haible  <bruno@clisp.org>
69571
69572         * modules/strnlen (Include): Use strnlen.h.
69573
69574 2006-01-09  Bruno Haible  <bruno@clisp.org>
69575
69576         * m4/stdint.m4 (gl_STDINT_H): Also test for <sys/bitypes.h>.
69577
69578 2006-01-09  Bruno Haible  <bruno@clisp.org>
69579
69580         * lib/sysexit_.h (EX_OK): New macro.
69581         Suggested by Martin Lambers <marlam@marlam.de>.
69582
69583 2006-01-09  Bruno Haible  <bruno@clisp.org>
69584
69585         * lib/stdint_.h: On Linux libc4 and libc5, include <sys/bitypes.h> and
69586         don't define _STDINT_H_NEED_SIGNED_INT_TYPES.
69587
69588 2006-01-09  Bruno Haible  <bruno@clisp.org>
69589
69590         * lib/stdint_.h (SIZE_MAX): Write the value without involving negative
69591         numbers.
69592
69593 2006-01-09  Bruno Haible  <bruno@clisp.org>
69594
69595         * lib/javacomp.sh.in: Move to ../build-aux/javacomp.sh.in.
69596         * lib/javaexec.sh.in: Move to ../build-aux/javaexec.sh.in.
69597         * lib/csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in.
69598         * lib/csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in.
69599
69600 2006-01-09  Bruno Haible  <bruno@clisp.org>
69601
69602         * build-aux/javacomp.sh.in: New file, moved from lib/.
69603         * modules/javacomp-script (Files): Update.
69604         (configure.ac): Add AC_CONFIG_FILES invocation.
69605         (EXTRA_DIST): Remove variable.
69606
69607         * build-aux/javaexec.sh.in: New file, moved from lib/.
69608         * modules/javaexec (Files): Update.
69609         (configure.ac): Add AC_CONFIG_FILES invocation.
69610         (EXTRA_DIST): Remove javaexec.sh.in.
69611
69612         * build-aux/csharpcomp.sh.in: New file, moved from lib/.
69613         * modules/csharpcomp-script (Files): Update.
69614         (configure.ac): Add AC_CONFIG_FILES invocation.
69615         (EXTRA_DIST): Remove variable.
69616
69617         * build-aux/csharpexec.sh.in: New file, moved from lib/.
69618         * modules/csharpexec (Files): Update.
69619         (configure.ac): Add AC_CONFIG_FILES invocation.
69620         (EXTRA_DIST): Remove csharpexec.sh.in.
69621
69622 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
69623
69624         Sync from coreutils.
69625
69626         Add POSIX ACL support
69627         * lib/acl.h (copy_acl, set_acl): Add declarations.
69628         * lib/acl.c (acl_entries): Add fallback implementation for POSIX ACL
69629         systems other than Linux.
69630         (chmod_or_fchmod): New function: use fchmod when possible,
69631         and chmod otherwise.
69632         (file_has_acl): Add a POSIX ACL implementation, with a
69633         Linux-specific subcase.
69634         (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and
69635         S_ISVTX from one file to another.  Fall back to fchmod/chmod when
69636         acls are unsupported.
69637         (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and
69638         S_ISVTX to a defined value.  Fall back to fchmod/chmod when acls
69639         are unsupported.
69640
69641 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
69642
69643         Sync from coreutils.
69644         * m4/acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests.
69645
69646 2006-01-07  Bruno Haible  <bruno@clisp.org>
69647
69648         * gnulib-tool (func_import): Add an AC_PROG_RANLIB dependency to
69649         gl_EARLY.
69650
69651 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
69652
69653         * lib/strftime.c (tzname): Don't declare if it is already #defined.
69654         Problem reported for Mingw by Mark Junker.
69655
69656 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
69657
69658         * README: Gnulib normally doesn't generate a tarball.
69659
69660 2006-01-03  Paul Eggert  <eggert@cs.ucla.edu>
69661
69662         * lib/xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use
69663         long int, not int, for nanosecond counts, so that people who are
69664         used to POSIX struct timespec won't be surprised.  Reported by Jim
69665         Meyering.
69666
69667 2005-12-28  Bruno Haible  <bruno@clisp.org>
69668
69669         * build-aux/config.rpath: Update from GNU gettext.
69670
69671 2005-12-16  Jim Meyering  <jim@meyering.net>
69672
69673         * modules/fprintftime: New module.
69674         * MODULES.html.sh (Date and time <time.h>): Add fprintftime.
69675
69676 2005-12-16  Jim Meyering  <jim@meyering.net>
69677
69678         * m4/fprintftime.m4: New file.
69679
69680 2005-12-16  Jim Meyering  <jim@meyering.net>
69681
69682         * lib/fprintftime.c, lib/fprintftime.h: New files.
69683
69684 2005-12-15  Simon Josefsson  <jas@extundo.com>
69685
69686         * modules/socklen (configure.ac): Fix M4 macro name, to align with
69687         new m4/socklen.m4.
69688
69689 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
69690
69691         * m4/argp.m4: Define HAVE_DECL_PROGRAM_INVOCATION_NAME and
69692         HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
69693
69694 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
69695
69696         * lib/argp-fmtstream.c (__argp_fmtstream_update): Fix coredump
69697         * lib/argp-help.c (fill_in_uparams): Check if the constructed
69698         struct uparams is valid. Fall back to the default values if it is
69699         not.
69700
69701 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
69702
69703         * modules/argp (Files): Add argp-pin.c
69704         (Depends-on): dirname
69705         (lib_SOURCES): Add argp-pin.c
69706
69707 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
69708
69709         * m4/argp.m4:  Check if program_invocation_name and
69710         program_invocation_short_name are declared and define appropriate
69711         macros if they are not.
69712
69713 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
69714
69715         * lib/argp-help.c (__argp_base_name): New function
69716         (__argp_short_program_name): Rewrite using __argp_base_name
69717         * lib/argp-namefrob.h: Define program_invocation_name and
69718         program_invocation_short_name if requested
69719         (__argp_base_name): Add prototype
69720         * lib/argp-parse.c (argp_def): Use gettext wrappers
69721         (argp_default_parser): Use __argp_base_name
69722         * lib/argp-pin.c: New file. Defines program_invocation_name and
69723         program_invocation_short_name on systems that lack them.
69724
69725 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
69726
69727         * m4/stat-time.m4 (gl_STAT_TIME): Add check for
69728         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
69729         porting problem reported by Georg Schwarz in
69730         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
69731
69732 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
69733
69734         * lib/stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
69735         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
69736         porting problem reported by Georg Schwarz in
69737         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
69738
69739 2005-12-05  Bruno Haible  <bruno@clisp.org>
69740
69741         * lib/csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix.
69742         * lib/csharpcomp.c (compile_csharp_using_sscli): Likewise.
69743         Reported by Mark Junker <mjscod@gmx.de>.
69744
69745 2005-12-02  Paul Eggert  <eggert@cs.ucla.edu>
69746
69747         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T.
69748         Use implementation from Albert Chin, with some
69749         comments/corrections by Stepan Kasal and myself.
69750
69751 2005-12-02  Bruno Haible  <bruno@clisp.org>
69752
69753         * gnulib-tool (func_import): Accept GPLed build tool modules when
69754         --lgpl is given.
69755         * modules/csharpcomp-script: New file.
69756         * modules/csharpcomp: Depend on it.
69757         * modules/javacomp-script: New file.
69758         * modules/javacomp: Depend on it.
69759         Suggested by Simon Josefsson.
69760
69761 2005-12-01  Paul Eggert  <eggert@cs.ucla.edu>
69762
69763         * m4/regex.m4 (gl_REGEX): Check whether off_t can be used in a switch
69764         statement, to work around an HP-UX 10.20 compiler bug reported by
69765         Peter O'Gorman.
69766
69767 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
69768
69769         * modules/savedir (Depends-on): Add openat.
69770
69771 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
69772
69773         * lib/stdint_.h (intmax_t) [defined intmax_t]: Do not declare.
69774         (uintmax_t) [defined uintmax_t]: Do not declare.
69775         (SIZE_MAX) [defined SIZE_MAX]: Do not define.
69776         This works around a problem if intmax_t.m4 and/or uintmax_t.m4
69777         and/or size_max.m4 are also used.  Problem reported by Mark D. Baushke.
69778         (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the
69779         sake of portability to weird hosts that C allows (though we don't
69780         know of any practical examples).
69781
69782         * lib/savedir.h (fdsavedir): New decl.
69783         * lib/savedir.c (fdsavedir, savedirstream): New functions; the latter
69784         contains most of the former guts of savedir.
69785         (savedir): Use savedirstream.
69786         Include "openat.h".
69787
69788 2005-11-25  Paul Eggert  <eggert@cs.ucla.edu>
69789
69790         * modules/obstack (Files): Add m4/ulonglong.m4.
69791         Problem reported by Davide Angelocola.
69792
69793 2005-11-15  Paul Eggert  <eggert@cs.ucla.edu>
69794
69795         * lib/xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as
69796         coreutils no longer futzes with rounding modes.
69797
69798 2005-11-14  Jim Meyering  <jim@meyering.net>
69799
69800         * lib/mkstemp-safer.c: Include <config.h>, required for possible
69801         replacement of mkstemp.
69802
69803 2005-11-10  Simon Josefsson  <jas@extundo.com>
69804
69805         * lib/readline.c: Remove EOL.
69806
69807 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
69808
69809         * modules/gethrxtime (Depends-on): Add gettime.
69810
69811 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
69812
69813         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME
69814         or gettimeofday; no longer needed.
69815
69816 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
69817
69818         * lib/gethrxtime.c: Include "timespec.h" rather than the sys/time /
69819         time business.
69820         (gethrxtime) [! (HAVE_NANOUPTIME
69821         || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME)
69822         || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling
69823         our own approximation.
69824
69825 2005-11-08  Eric Blake  <ebb9@byu.net>
69826
69827         * lib/inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
69828
69829 2005-11-08  Eric Blake  <ebb9@byu.net>
69830
69831         * lib/getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
69832
69833 2005-11-04  Bruno Haible  <bruno@clisp.org>
69834
69835         * gnulib-tool: Implement --update mode.
69836
69837 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
69838
69839         Fix porting problem reported by Theodoros V. Kalamatianos.
69840         * lib/utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]:
69841         Don't assume that futimes failing means we must fail.
69842
69843 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
69844
69845         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Revamp wording and local
69846         variables to suggest the intended function of the PATH_MAX check.
69847
69848 2005-10-30  Kean Johnston  <jkj@sco.com>
69849
69850         Trivial changes to support SCO systems.
69851         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Check for MAXPATHLEN as well
69852         as PATH_MAX.
69853         * m4/fpending.m4 (gl_FUNC_FPENDING): Correct check for SCO systems,
69854         where __ptr is null when no I/O is pending.
69855
69856 2005-10-29  Paul Eggert  <eggert@cs.ucla.edu>
69857
69858         * lib/getcwd.c (__getcwd): Don't assume that system calls after readdir
69859         leave errno alone.  Problem reported by Dmitry V. Levin.
69860
69861 2005-10-28  Simon Josefsson  <jas@extundo.com>
69862
69863         * tests/test-gc-md4.c, tests/test-gc-md5.c, tests/test-gc-sha1.c:
69864         Test more.
69865
69866         * tests/test-gc-md2.c, tests/test-md2.c: New files.
69867
69868         * modules/md2, modules/md2-tests: New files.
69869
69870 2005-10-28  Simon Josefsson  <jas@extundo.com>
69871
69872         * m4/inet_ntop.m4: More tests.
69873
69874         * m4/gc-md2.m4, md2.m4: New file.
69875
69876 2005-10-28  Simon Josefsson  <jas@extundo.com>
69877
69878         * lib/inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add
69879         "restrict" keywords, as per POSIX.  Protect the function
69880         declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP.
69881         Don't use K&R prototypes.  Check the sprintf return values.
69882         Re-define EAFNOSUPPORT if not present.  Indent.
69883
69884         * lib/md5.h, md5.c: Simplify buffer handling visavi alignment,
69885         suggested by Bruno Haible <bruno@clisp.org>.
69886
69887         * lib/gc-gnulib.c, gc-libgcrypt.c: Check calloc return value.
69888
69889         * lib/gc.h: Add MD2 and RMD160 length defines.  Add prototypes.
69890
69891         * lib/gc-libgcrypt.c: Add MD2 (which is not available through
69892         libgcrypt).
69893
69894         * lib/gc-gnulib.c: Add MD2.  Implement gc_hash_* API.
69895
69896         * lib/md2.h, lib/md2.c: New files.
69897
69898 2005-10-28  Paul Eggert  <eggert@cs.ucla.edu>
69899
69900         * lib/savedir.c (savedir): Don't assume that xrealloc etc. leave
69901         errno alone.  Problem reported by Frederic Jolliton.
69902
69903 2005-10-27  Paul Eggert  <eggert@cs.ucla.edu>
69904
69905         * modules/verify (License): Change from GPL to LGPL.  This is a
69906         tiny module and there are apparently near-equivalents that are
69907         under the BSD license.
69908
69909 2005-10-24  Simon Josefsson  <jas@extundo.com>
69910
69911         * modules/sha1: Relicense to LGPL.
69912
69913 2005-10-24  Simon Josefsson  <jas@extundo.com>
69914
69915         * lib/md4.h: Shrink buffer size, now that we changed the type.
69916
69917 2005-10-23  Simon Josefsson  <jas@extundo.com>
69918
69919         * gnulib-tool (func_import): Fix --tests-base.
69920
69921 2005-10-22  Simon Josefsson  <jas@extundo.com>
69922
69923         * modules/arcfour (Depends-on): Need stdint.
69924
69925 2005-10-22  Simon Josefsson  <jas@extundo.com>
69926
69927         * m4/gc.m4: Don't be fooled by --disable-*random-device parameters,
69928         suggested by Bruno Haible <bruno@clisp.org>.  Fix error messages.
69929
69930 2005-10-22  Simon Josefsson  <jas@extundo.com>
69931
69932         * lib/md4.h, md4.c: Simplify buffer handling visavi alignment,
69933         suggested by Bruno Haible <bruno@clisp.org>.
69934
69935 2005-10-22  Simon Josefsson  <jas@extundo.com>
69936
69937         * lib/crc.h: Include stddef.h, for size_t.
69938
69939 2005-10-22  Simon Josefsson  <jas@extundo.com>
69940
69941         * lib/arcfour.h, arcfour.c: Use fixed size indices in the
69942         arcfour_context struct (simplify test vector testing in GNU
69943         Shishi).
69944
69945 2005-10-21  Simon Josefsson  <jas@extundo.com>
69946
69947         * modules/des, modules/des-tests: New files.
69948
69949         * modules/gc-des, modules/gc-des-tests: New files.
69950
69951         * tests/test-des.c, tests/test-gc-des.c: New file.
69952
69953 2005-10-21  Simon Josefsson  <jas@extundo.com>
69954
69955         * modules/arctwo, modules/arctwo-tests: New files.
69956
69957         * tests/test-arctwo.c: New file.
69958
69959         * modules/gc-arctwo, modules/gc-arctwo-tests: New files.
69960
69961         * tests/test-gc-arctwo.c: New file.
69962
69963 2005-10-21  Simon Josefsson  <jas@extundo.com>
69964
69965         * m4/gc.m4: Don't use libgcrypt if gcrypt.h isn't found, suggested by
69966         Bruno Haible <bruno@clisp.org>.
69967
69968         * m4/gc-des.m4: New file.
69969
69970 2005-10-21  Simon Josefsson  <jas@extundo.com>
69971
69972         * m4/arctwo.m4: New file.
69973
69974         * m4/gc-arctwo.m4: New file.
69975
69976 2005-10-21  Simon Josefsson  <jas@extundo.com>
69977
69978         * lib/rijndael-api-fst.c: Fix bugs in CBC mode for more than one
69979         block.
69980
69981 2005-10-21  Simon Josefsson  <jas@extundo.com>
69982
69983         * lib/hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible
69984         <bruno@clisp.org>.
69985
69986         * lib/hmac-sha1.c (hmac_sha1): Likewise.
69987
69988         * lib/crc.c (crc32_update): Actually use crc parameter, suggested by
69989         Bruno Haible <bruno@clisp.org>.
69990
69991         * lib/crc.h: Include stdint.h directly, suggested by Bruno Haible
69992         <bruno@clisp.org>.
69993
69994 2005-10-21  Simon Josefsson  <jas@extundo.com>
69995
69996         * lib/gc-libgcrypt.c (gc_cipher_open): Handle ECB.
69997
69998 2005-10-21  Simon Josefsson  <jas@extundo.com>
69999
70000         * lib/gc-gnulib.c: Support ARCTWO in CBC mode.
70001
70002 2005-10-21  Simon Josefsson  <jas@extundo.com>
70003
70004         * lib/des.h, lib/des.c: New files.
70005
70006         * lib/gc-gnulib.c: Support DES.c
70007
70008 2005-10-21  Simon Josefsson  <jas@extundo.com>
70009
70010         * lib/arctwo.h, lib/arctwo.c: New files.
70011
70012         * lib/gc-gnulib.c: Support ARCTWO.
70013
70014 2005-10-21  Simon Josefsson  <jas@extundo.com>
70015
70016         * lib/arctwo.h (arctwo_setkey): Protect variable in CPP macro,
70017         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
70018
70019 2005-10-21  Simon Josefsson  <jas@extundo.com>
70020
70021         * gnulib-tool (func_import, func_create_testdir): Define automake
70022         conditional GL_COND_LIBTOOL if libtool is used (to be used by modules
70023         Makefile.am snippet),
70024         suggested by Bruno Haible <bruno@clisp.org>.
70025
70026         * modules/gc (Makefile.am): Use it.
70027
70028 2005-10-21  Bruno Haible  <bruno@clisp.org>
70029
70030         * gnulib-tool (func_import, func_create_testdir): Add quoting to last
70031         patch.
70032
70033 2005-10-19  Simon Josefsson  <jas@extundo.com>
70034
70035         * tests/test-gc-rijndael.c: New file.
70036
70037         * modules/gc-rijndael, modules/gc-rijndael-test: New files.
70038
70039 2005-10-19  Simon Josefsson  <jas@extundo.com>
70040
70041         * tests/test-gc-md4.c, tests/test-gc-md5.c: Test gc_hash_buffer
70042         interface too.
70043
70044 2005-10-19  Simon Josefsson  <jas@extundo.com>
70045
70046         * tests/test-gc-arcfour.c: New file.
70047
70048         * modules/gc-arcfour, modules/gc-arcfour-tests: New files.
70049
70050 2005-10-19  Simon Josefsson  <jas@extundo.com>
70051
70052         * modules/gc-md4, modules/gc-md4-tests: New file.
70053
70054         * tests/test-gc-md4.c: New file.
70055
70056 2005-10-19  Simon Josefsson  <jas@extundo.com>
70057
70058         * m4/gc-md4.m4: New file.
70059
70060 2005-10-19  Simon Josefsson  <jas@extundo.com>
70061
70062         * m4/gc-hmac-md5.m4, gc-hmac-sha1.m4, gc-md4.m4,
70063         gc-md5.m4, gc-sha1.m4: Fix typo, suggested by Stepan Kasal
70064         <kasal@ucw.cz>.
70065
70066 2005-10-19  Simon Josefsson  <jas@extundo.com>
70067
70068         * m4/gc-arcfour.m4: New file.
70069
70070         * m4/gc-rijndael.m4: New file.
70071
70072 2005-10-19  Simon Josefsson  <jas@extundo.com>
70073
70074         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4.
70075
70076 2005-10-19  Simon Josefsson  <jas@extundo.com>
70077
70078         * lib/gc-gnulib.c: Support ARCFOUR.
70079
70080 2005-10-19  Simon Josefsson  <jas@extundo.com>
70081
70082         * lib/gc-gnulib.c: Implement gc_cipher_* API, currently only with AES
70083         support.
70084
70085         * lib/gc.h: Add ECB enum type.
70086
70087         * lib/hmac-md5.c, hmac-sha1.c: Include memxor.h.
70088
70089 2005-10-18  Simon Josefsson  <jas@extundo.com>
70090
70091         * tests/test-md5.c: New file.
70092
70093         * modules/md5-tests: New file.
70094
70095 2005-10-18  Simon Josefsson  <jas@extundo.com>
70096
70097         * tests/test-md4.c: New file.
70098
70099         * modules/md4, modules/md4-tests: New files.
70100
70101 2005-10-18  Simon Josefsson  <jas@extundo.com>
70102
70103         * m4/md4.m4: New file.
70104
70105 2005-10-18  Simon Josefsson  <jas@extundo.com>
70106
70107         * lib/md4.h, lib/md4.c: New files, based on md5.?.
70108
70109 2005-10-17  Stepan Kasal  <kasal@ucw.cz>
70110
70111         * gnulib-tool (func_create_testdir): Omit the second check whether
70112         BUILT_SOURCES in nonempty.
70113
70114 2005-10-17  Simon Josefsson  <jas@extundo.com>
70115
70116         * tests/test-rijndael.c: New file.
70117
70118 2005-10-17  Simon Josefsson  <jas@extundo.com>
70119
70120         * modules/sha1: Depend on stdint instead of md5.
70121
70122         * modules/md5: Depend on stdint, remove uint32_t.
70123
70124 2005-10-17  Simon Josefsson  <jas@extundo.com>
70125
70126         * modules/gc-sha1-tests: New file.
70127
70128         * tests/test-gc-sha1.c: New file.
70129
70130 2005-10-17  Simon Josefsson  <jas@extundo.com>
70131
70132         * m4/md5.m4: Remove call to uint32_t.m4.
70133
70134 2005-10-17  Simon Josefsson  <jas@extundo.com>
70135
70136         * lib/sha1.c: Use uint32_t instead of md5_uint32.t
70137
70138         * lib/sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from
70139         md5.h.
70140
70141         * lib/md5.c: Use uin32_t.  Fix non-gcc UNALIGNED_P macro.
70142
70143         * lib/md5.h: Use stdint.h and uint32_t.  Doc fix.
70144
70145 2005-10-17  Simon Josefsson  <jas@extundo.com>
70146
70147         * lib/gc.h, gc-libgcrypt.c: Add more hash types/functions.
70148
70149 2005-10-17  Simon Josefsson  <jas@extundo.com>
70150
70151         * lib/gc.h, gc-libgcrypt.c: Add ciphers.
70152
70153 2005-10-17  Simon Josefsson  <jas@extundo.com>
70154
70155         * lib/gc-libgcrypt.c (gc_hmac_sha1): Fix assert.
70156
70157         * lib/gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes.
70158
70159 2005-10-17  Bruno Haible  <bruno@clisp.org>
70160
70161         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Change the return statement so
70162         that it can also be used in a test.
70163
70164 2005-10-16  Bruno Haible  <bruno@clisp.org>
70165
70166         * gnulib-tool (func_emit_tests_Makefile_am): Also define
70167         TESTS_ENVIRONMENT, so that individual tests can augment it.
70168
70169         * gnulib-tool (func_create_testdir): Use an intermediate target for
70170         building $(BUILT_SOURCES). Needed because BUILT_SOURCES can contain
70171         macros, like $(ALLOCA_H), which cannot be passed through the command
70172         line.
70173
70174 2005-10-15  Simon Josefsson  <jas@extundo.com>
70175
70176         * modules/rijndael-tests: New file.
70177
70178         * modules/rijndael: New file.
70179
70180 2005-10-15  Simon Josefsson  <jas@extundo.com>
70181
70182         * m4/rijndael.m4: New file.
70183
70184 2005-10-15  Simon Josefsson  <jas@extundo.com>
70185
70186         * lib/rijndael-api-fst.h, lib/rijndael-api-fst.c: New files.
70187
70188         * lib/rijndael-alg-fst.h, lib/rijndael-alg-fst.c: New files.
70189
70190 2005-10-14  Simon Josefsson  <jas@extundo.com>
70191
70192         * tests/test-arcfour.c: New file.
70193
70194         * modules/arcfour, modules/arcfour-tests: New files.
70195
70196 2005-10-14  Simon Josefsson  <jas@extundo.com>
70197
70198         * m4/arcfour.m4: New file.
70199
70200 2005-10-14  Simon Josefsson  <jas@extundo.com>
70201
70202         * lib/arcfour.h, lib/arcfour.c: New files.
70203
70204 2005-10-14  Roland McGrath  <roland@redhat.com>
70205
70206         Import from libc.  [BZ #1331]
70207         * lib/obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed
70208         macro argument.
70209         Reported by Matej Vela <vela@debian.org>.
70210
70211 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
70212
70213         * lib/obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't
70214         include <wchar.h>; no longer needed.
70215
70216 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
70217
70218         * config/srclist.txt: Add glibc bug 321 for obstack.c, obstack.h.
70219
70220 2005-10-14  Jakub Jelinek  <jakub@redhat.com>
70221         and  Ulrich Drepper  <drepper@redhat.com>
70222
70223         Import from libc.
70224         * lib/obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf
70225         instead of inline stream orientation test and two separate
70226         function calls.  Pay no attention to USE_IN_LIBIO.
70227
70228 2005-10-13  Simon Josefsson  <jas@extundo.com>
70229
70230         * modules/gc-hmac-md5-tests: New file.
70231
70232         * tests/test-gc-hmac-sha1.c: New file.
70233
70234         * tests/test-gc.c (main): Remove MD5 and HMAC-MD5 tests.
70235
70236         * modules/gc-hmac-md5-tests: New file.
70237
70238         * tests/test-gc-md5.c: New file.
70239
70240         * modules/gc-md5-tests: New file.
70241
70242 2005-10-13  Simon Josefsson  <jas@extundo.com>
70243
70244         * lib/gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation.
70245         Move memory allocation outside of loop.
70246
70247 2005-10-13  Paul Eggert  <eggert@cs.ucla.edu>
70248
70249         * lib/mkdir-p.c (make_dir_parents): Don't report an error if an
70250         intermediate directory is in a read-only file system.  Problem
70251         reported by Eric Blake.
70252
70253 2005-10-13  Oskar Liljeblad  <oskar@osk.mine.nu>
70254
70255         * modules/human (Depends-on): Depend on xstrtoumax, not xstrtol.
70256
70257 2005-10-12  Simon Josefsson  <jas@extundo.com>
70258
70259         * tests/test-hmac-sha1.c: New file.
70260
70261         * modules/hmac-sha1-tests: New file.
70262
70263         * modules/hmac-sha1: New file.
70264
70265 2005-10-12  Simon Josefsson  <jas@extundo.com>
70266
70267         * modules/gc-sha1: New file.
70268
70269 2005-10-12  Simon Josefsson  <jas@extundo.com>
70270
70271         * modules/gc-pbkdf2-sha1, modules/gc-pbkdf2-sha1-tests: New files.
70272
70273         * tests/test-gc-pbkdf2-sha1.c: New file.
70274
70275 2005-10-12  Simon Josefsson  <jas@extundo.com>
70276
70277         * modules/gc-md5, modules/gc-hmac-md5: New files.
70278
70279         * modules/gc (Files): Remove md5, memxor and hmac files.
70280
70281 2005-10-12  Simon Josefsson  <jas@extundo.com>
70282
70283         * m4/gc-pbkdf2-sha1.m4: New file.
70284
70285         * m4/gc-hmac-sha1.m4: New file.
70286
70287         * m4/gc-sha1: New file.
70288
70289         * m4/hmac-sha1.m4: New file.
70290
70291 2005-10-12  Simon Josefsson  <jas@extundo.com>
70292
70293         * m4/gc-md5.m4, m4/gc-hmac-md5.m4: New files.
70294
70295         * m4/gc.m4: Don't call gl_MD5, gl_MEMXOR or gl_HMAC_MD5.
70296
70297 2005-10-12  Simon Josefsson  <jas@extundo.com>
70298
70299         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types,
70300         suggested by Bruno Haible <bruno@clisp.org>.
70301
70302 2005-10-12  Simon Josefsson  <jas@extundo.com>
70303
70304         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1.
70305
70306 2005-10-12  Simon Josefsson  <jas@extundo.com>
70307
70308         * lib/gc-pbkdf2-sha1.c: New file.
70309
70310         * lib/gc.h: Add gc_pbkdf2_sha1 prototype.
70311
70312 2005-10-12  Simon Josefsson  <jas@extundo.com>
70313
70314         * lib/gc-libgcrypt.c (gc_hmac_sha1): New function.
70315
70316         * lib/gc-gnulib.c (gc_hmac_sha1): New function.
70317
70318 2005-10-12  Simon Josefsson  <jas@extundo.com>
70319
70320         * lib/gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and
70321         GC_USE_HMAC_MD5, respectively.
70322
70323         * lib/gc-libgcrypt.c (gc_md5): Fix assert call.
70324         (gc_md5): Fix typo.
70325
70326         * lib/gc.h (gc_hash_buffer): Use gc_hash in prototype.
70327
70328         * lib/gc-libgcrypt.c (gc_hash_buffer): Ditto.
70329
70330         * lib/gc-gnulib.c (gc_hash_buffer): Ditto.
70331
70332 2005-10-12  Bruno Haible  <bruno@clisp.org>
70333
70334         * m4/stdbool.m4 (gl_STDBOOL_H): Define as an alias of AM_STDBOOL_H.
70335         Reported by Stepan Kasal <kasal@ucw.cz>.
70336
70337 2005-10-11  Simon Josefsson  <jas@extundo.com>
70338
70339         * tests/test-crc.c: New file.
70340
70341         * modules/crc, modules/crc-tests: New files.
70342
70343 2005-10-11  Simon Josefsson  <jas@extundo.com>
70344
70345         * m4/crc.m4: New file.
70346
70347 2005-10-11  Simon Josefsson  <jas@extundo.com>
70348
70349         * lib/gc.h: Add gc_hash and gc_hash_buffer.
70350
70351         * lib/gc-gnulib.c (gc_hash_buffer): Add.  Reorder #include's.
70352
70353         * lib/gc-libgcrypt.c (gc_hash_buffer): Add.
70354
70355 2005-10-11  Simon Josefsson  <jas@extundo.com>
70356
70357         * lib/crc.h, lib/crc.c: New files.
70358
70359         * lib/gc.h (gc_hash_buffer): Add doc.
70360
70361 2005-10-11  Bruno Haible  <bruno@clisp.org>
70362
70363         * modules/c-strcasestr: New file.
70364         * MODULES.html.sh (String handling <string.h>): Add c-strcasestr.
70365
70366 2005-10-11  Bruno Haible  <bruno@clisp.org>
70367
70368         * modules/c-strcase: New file.
70369         * MODULES.html.sh (String handling <string.h>): Add c-strcase.
70370
70371 2005-10-11  Bruno Haible  <bruno@clisp.org>
70372
70373         * lib/strcasecmp.c: Include limits.h.
70374         (strcasecmp): Avoid integer overflow on exotic platforms.
70375         * lib/strncasecmp.c: Include limits.h.
70376         (strncasecmp): Avoid integer overflow on exotic platforms.
70377         Reported by Paul Eggert.
70378
70379 2005-10-11  Bruno Haible  <bruno@clisp.org>
70380
70381         * lib/c-strcasestr.h: New file, from GNU gettext.
70382         * lib/c-strcasestr.c: New file, from GNU gettext.
70383
70384 2005-10-11  Bruno Haible  <bruno@clisp.org>
70385
70386         * lib/c-strcase.h: New file, from GNU gettext.
70387         * lib/c-strcasecmp.c: New file, from GNU gettext.
70388         * lib/c-strncasecmp.c: New file, from GNU gettext.
70389
70390 2005-10-10  Paul Eggert  <eggert@cs.ucla.edu>
70391
70392         * modules/mempcpy (License): GPL -> LGPL.
70393         * modules/strchrnul (License): Likewise.
70394         * modules/sysexits (License): Likewise.
70395
70396 2005-10-08  Simon Josefsson  <jas@extundo.com>
70397
70398         * config/srclist.txt: Bug 1423 is closed, but 1439 remains.
70399
70400 2005-10-07  Simon Josefsson  <jas@extundo.com>
70401
70402         * m4/memxor.m4: Remove gl_C_RESTRICT call.
70403
70404 2005-10-06  Simon Josefsson  <jas@extundo.com>
70405
70406         * tests/test-hmac-md5.c: New file.
70407
70408         * modules/hmac-md5-tests: New file.
70409
70410         * modules/hmac-md5: New file.
70411
70412 2005-10-06  Simon Josefsson  <jas@extundo.com>
70413
70414         * m4/hmac-md5.m4: New file.
70415
70416         * m4/memxor.m4: Require gl_C_RESTRICT.
70417
70418 2005-10-06  Simon Josefsson  <jas@extundo.com>
70419
70420         * lib/memxor.c (memxor): Avoid casts and warnings.
70421
70422 2005-10-06  Simon Josefsson  <jas@extundo.com>
70423
70424         * lib/hmac-md5.c: New file.
70425
70426         * lib/hmac.h: New file.
70427
70428 2005-10-06  Paul Eggert  <eggert@cs.ucla.edu>
70429
70430         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check that bool
70431         promotes to int, not unsigned int, to catch the AIX 5.3
70432         compiler bug.
70433
70434 2005-10-05  Simon Josefsson  <jas@extundo.com>
70435
70436         * modules/memxor: New file.
70437
70438         * modules/iconv (Files): Move config.rpath to havelib, it is used
70439         there.
70440
70441         * modules/havelib (Files): Add config.rpath.
70442
70443 2005-10-05  Simon Josefsson  <jas@extundo.com>
70444
70445         * m4/memxor.m4: New file.
70446
70447 2005-10-05  Simon Josefsson  <jas@extundo.com>
70448
70449         * lib/memxor.c (memxor): Fix compiler error.
70450
70451         * lib/md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also
70452         <http://sourceware.org/bugzilla/show_bug.cgi?id=1423>.
70453
70454         * lib/memxor.h, lib/memxor.c: New files.
70455
70456         * lib/getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H,
70457         we assume all systems have it, suggested by Jim Meyering
70458         <jim@meyering.net>.  Remove HAVE_SYS_SOCKET_H test too, to see if
70459         any systems lack sys/socket.h; mingw32 is known to lack it, but we
70460         don't support it yet anyway.  Also remove HAVE_NETDB_H test, for
70461         same reasons.
70462
70463 2005-10-05  Simon Josefsson  <jas@extundo.com>
70464
70465         * config/srclist.txt: Add glibc bug 1423 for md5.h.
70466
70467 2005-10-05  Paul Eggert  <eggert@cs.ucla.edu>
70468
70469         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Don't check for
70470         sys/socket.h, netdb.h, sys/types.h; the checks areno longer
70471         needed, since the source code now assumes these .h files.
70472
70473 2005-10-05  Derek Price  <derek@ximbiot.com>
70474
70475         * lib/getdelim.c (SIZE_MAX): New macro, if not already defined.
70476
70477 2005-10-05  Bruno Haible  <bruno@clisp.org>
70478
70479         * modules/stdint (License): Change to LGPL.
70480
70481 2005-10-04  Simon Josefsson  <jas@extundo.com>
70482
70483         * lib/getaddrinfo.h: Move sys/types.h include first, reported by "Mark
70484         D. Baushke" <mdb@gnu.org>.
70485
70486 2005-10-04  Bruno Haible  <bruno@clisp.org>
70487
70488         * lib/verify.h (verify_true): Provide alternative definition for C++.
70489
70490 2005-10-03  Paul Eggert  <eggert@cs.ucla.edu>
70491
70492         * lib/getdelim.c: Include getdelim.h first.  Include <limits.h>.
70493         (SSIZE_MAX): New macro, if not already defined.
70494         (getdelim): Fix buffer overrun on 64-bit hosts with lines longer
70495         than 2 GiB.
70496
70497 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
70498
70499         Sync from coreutils.
70500         * m4/openat.m4 (gl_FUNC_OPENAT): Check for fdopendir.
70501         * m4/ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely
70502         defines ULONG_MAX_LT_ULLONG_MAX.  Thomas M.Ott reports that
70503         ULLONG_MAX doesn't work with 2.7.2.1.
70504
70505 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
70506
70507         * modules/xreadlink (Makefile.am): Remove lib_SOURCES.
70508         From Ben Pfaff.
70509
70510         * modules/exclude (Depends-on): Depend on verify.
70511         * modules/strtoimax (Depends-on): Likewise.
70512         * modules/utimecmp (Depends-on): Likewise.
70513
70514 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
70515
70516         * lib/exclude.c: Include verify.h.
70517         (verify): Remove.  All callers changed to use verify.h's version.
70518         * lib/strtoimax.c: Likewise.
70519         * lib/utimecmp.c: Likewis.e
70520
70521         Sync from coreutils.
70522         * lib/.cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h,
70523         getpass.c, mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h.
70524         * lib/.cvsignore: Add fts.h, search.h, t-fpending.
70525         * lib/settime.c (settime): Fix { typo in previous patch.  Also, don't
70526         bother returning ENOSYS if settimeofday or stime fails; just let
70527         them return whatever errno they want to return.
70528         * lib/utimens.c: Include unistd.h, for dup2.
70529         (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if.
70530         (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1.
70531
70532 2005-10-02  Jim Meyering  <jim@meyering.net>
70533
70534         Sync from coreutils.
70535         * m4/utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes
70536         from glibc-2.2.5 that fails for read-only files.
70537
70538 2005-10-02  Jim Meyering  <jim@meyering.net>
70539
70540         Sync from coreutils.
70541         * lib/fts-cycle.c [HAVE_CONFIG_H]: Include <config.h>.
70542         * lib/openat-die.c: Use `#ifdef HAVE_CONFIG_H', not
70543         `#if HAVE_CONFIG_H'.
70544         * lib/openat.c (fdopendir): Do not define if HAVE_FDOPENDIR.
70545         Remove AT_FDCWD test.
70546         Do not consume the fd unless successful.
70547         * lib/openat.h (fdopendir): Do not define if HAVE_FDOPENDIR.
70548         * lib/settime.c (settime): Move the HAVE_STIME block `up' into an #elif
70549         block, so that we don't even try to compile it if settimeofday is
70550         available.  This works around a compilation failure on OSF1 V5.1,
70551         due to stime requiring a `long int*' while tv_sec is `int'.
70552
70553 2005-10-02  Alfred M. Szmidt  <ams@gnu.org>
70554
70555         Sync from coreutils.
70556         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path...
70557         against `yes', rather than just testing for nonempty.
70558
70559 2005-10-01  Simon Josefsson  <jas@extundo.com>
70560
70561         * m4/getaddrinfo.m4: Include sys/types.h for sys/socket.h, on FreeBSD
70562         and Darwin.
70563
70564         * m4/getaddrinfo.m4: Use AC_GNU_SOURCE, GNU only declare getaddrinfo
70565         as an (POSIX) extension.  Check for sys/types.h, sys/socket.h, and
70566         netdb.h too, needed by getaddrinfo.h.  Check if getaddrinfo,
70567         freeaddrinfo and gai_strerror are declared by the POSIX headers.
70568         Check if struct addrinfo is declared.
70569
70570 2005-10-01  Simon Josefsson  <jas@extundo.com>
70571
70572         * lib/getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h.
70573         Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO.  Protect
70574         AI_* and EAI_* definitions.  Protect function declarations.
70575
70576 2005-10-01  Jim Meyering  <jim@meyering.net>
70577
70578         Sync from coreutils.
70579
70580         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Look for getservbyname in these
70581         libraries [inet nsl socket xnet].  Nelson Beebe reported that with
70582         native cc on Solaris 7, getaddrinfo.c requires -lsocket.
70583         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
70584         in the inet and nsl libraries.  Required on Solaris 5.7.
70585
70586 2005-10-01  Jim Meyering  <jim@meyering.net>
70587
70588         Sync from coreutils.
70589         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
70590         in the inet and nsl libraries.  Required on Solaris 5.7.
70591
70592 2005-10-01  Eric Blake  <ebb9@byu.net>  (tiny change)
70593
70594         * lib/getdelim.c (getdelim): Remove unused variables.
70595
70596 2005-09-29  Paul Eggert  <eggert@cs.ucla.edu>
70597
70598         * lib/xtime.h (XTIME_PRECISION): Now of type int, not long long int,
70599         so that the code works even with ancient cpp.  Portability problem
70600         with GCC 2.7.2.1 reported by Thomas M.Ott.
70601
70602 2005-09-27  Paul Eggert  <eggert@cs.ucla.edu>
70603
70604         * modules/regex (Depends-on): Add strcase.
70605
70606         * modules/gethostname (Licence): Change from GPL to LGPL, since
70607         gethostname.c is a trivial implementation of a standard library
70608         function.
70609         * modules/poll (License): Change from GPL to LGPL, since it's
70610         derived from LGPL code.
70611
70612 2005-09-27  Jim Meyering  <jim@meyering.net>
70613
70614         * lib/getcwd.c: Change #ifdef<TAB>HAVE_CONFIG_H to #ifdef
70615         HAVE_CONFIG_H.
70616
70617         * lib/intprops.h (signed_type_or_expr__): Define.
70618         (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound
70619         for unsigned types.
70620
70621 2005-09-26  Paul Eggert  <eggert@cs.ucla.edu>
70622
70623         * lib/verify.h (verify_expr): Remove, replacing with:
70624         (verify_true): New macro that returns true instead of void.
70625         (verify_type__): Remove.
70626         (verify): Use verify_true rather than verify_type__.
70627
70628 2005-09-26  Bruno Haible  <bruno@clisp.org>
70629
70630         * modules/mbchar (Include): Mention that HAVE_WCHAR_H && HAVE_WCTYPE_H
70631         is necessary.
70632         (lib_SOURCES): Remove mbchar.c.
70633         * modules/mbfile (Include): Mention that HAVE_MBRTOWC is necessary.
70634         (Files): Add m4/mbrtowc.m4.
70635         * modules/mbiter: Likewise.
70636         * modules/mbuiter: Likewise.
70637
70638 2005-09-26  Bruno Haible  <bruno@clisp.org>
70639
70640         * m4/mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't
70641         compile mbchar.c if they are not both present.
70642         * m4/mbfile.m4 (gl_MBFILE): Require gl_FUNC_MBRTOWC.
70643         * m4/mbiter.m4 (gl_MBITER): Likewise.
70644         * m4/strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE.
70645         * m4/strcasestr.m4 (gl_PREREQ_STRCASESTR): Likewise.
70646         * m4/strcase.m4 (gl_PREREQ_STRCASECMP): Likewise.
70647
70648 2005-09-25  Jim Meyering  <jim@meyering.net>
70649
70650         * modules/inet_ntop (Depends-on): Add socklen, since inet_ntop.c
70651         also uses socklen_t.
70652
70653 2005-09-24  Paul Eggert  <eggert@cs.ucla.edu>
70654
70655         * lib/utimens.c (ENOSYS): Define if not already defined.
70656         (futimens): Support having a null PATH if the file descriptor
70657         is nonnegative.
70658
70659         * lib/regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure):
70660         Remove.
70661         (__attribute): Define to empty unless GCC 3.1 or later.
70662         This works around a core dump on OpenBSD 3.4, which has GCC
70663         2.95.3, which dumps core when given __attribute__(()).  It also
70664         simplifies other tests, since we really don't want to bother with
70665         worrying about which ancient version of GCC supported what.
70666         Original problem reported by Yoann Vandoorselaere, with part of
70667         the fix suggested by Derek Price.
70668
70669 2005-09-24  Jim Meyering  <jim@meyering.net>
70670
70671         * lib/verify.h (verify_type__): Use `unsigned int' as the bitfield type
70672         so we can once again use a positive bitfield width of 1 -- now we
70673         don't have to explain why we were using a bitfield width of 2.
70674
70675 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
70676
70677         * m4/regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp,
70678         and similarly for the other external symbols.  Problem reported
70679         by James Gallager.
70680
70681         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux
70682         bug reported by Jim Meyering.
70683
70684         * m4/utimens.m4 (gl_UTIMENS): Check for futimesat.
70685         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Undo previous change;
70686         not needed, since socklen is a prerequisite module.
70687
70688 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
70689
70690         * lib/getaddrinfo.c [HAVE_NETINET_IN_H]: Include <netinet/in.h>.
70691         Problem reported by Eric Blake.
70692         (getaddrinfo): Initialize se so that it's not garbage.
70693         Redo internal storage allocation so that it doesn't make unportable
70694         assumptions about alignment.
70695         Fix a memory leak.
70696
70697         * lib/utimens.c (futimens): Use futimesat if available.
70698         Prefer it to futimes since it doesn't have the futimes bug.
70699
70700         * lib/verify.h (GL_CONCAT0, GL_CONCAT): Remove.
70701         (verify): Don't use the __LINE__ trick, as it doesn't work in general.
70702         Instead, declare a function that returns a pointer to an array,
70703         and use verify_type__ to declare the size of the array.
70704         Problem and germ of a solution reported by Bruno Haible.
70705         (verify_type__): Use 2, not 1, for bitfield size, to avoid
70706         a warning with Irix 6.5 cc.  Problem reported by Bruno Haible.
70707
70708 2005-09-23  Jim Meyering  <jim@meyering.net>
70709
70710         Sync from coreutils.
70711         Correct build failure (socklen_t not defined) on at least
70712         mips-sgi-irix6.5 and alphaev67-dec-osf5.1.
70713         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T.
70714
70715 2005-09-23  Jim Meyering  <jim@meyering.net>
70716
70717         * modules/getaddrinfo (Depends-on): Add socklen.
70718
70719 2005-09-23  Bruno Haible  <bruno@clisp.org>
70720
70721         * tests/test-verify.c: New file.
70722
70723 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
70724
70725         Sync from coreutils.
70726
70727         * modules/argmatch (Depends-on): Add verify.
70728         * modules/getloadavg (Depends-on): Depend on fcntl-safer, not
70729         unistd-safer.
70730         * modules/save-cwd (Depends-on): Likewise.
70731
70732         * modules/openat (Files): Add lib/openat-die.c.
70733         (Depends-on): Remove error, exitfail.
70734         Add dirname.
70735
70736         * modules/verify: New file.
70737         * MODULES.html.sh (Diagnostics <assert.h>): New section,
70738         with "verify" module.
70739
70740 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
70741
70742         Sync from coreutils.
70743
70744         * m4/backupfile.m4, calloc.m4, chown.m4, cloexec.m4, dup2.m4:
70745         * m4/fileblocks.m4, free.m4, ftruncate.m4, getcwd.m4, getpagesize.m4:
70746         * m4/getugroups.m4, group-member.m4, idcache.m4, link-follow.m4:
70747         * m4/mkstemp.m4, mktime.m4, mountlist.m4, nanosleep.m4, pathmax.m4:
70748         * m4/physmem.m4, posixver.m4, putenv.m4, safe-read.m4, same.m4:
70749         * m4/save-cwd.m4, stdio-safer.m4, unistd-safer.m4, unlinkdir.m4:
70750         * m4/userspec.m4, xgetcwd.m4, xreadlink.m4:
70751         Don't bother checking for string.h, stdlib.h, unistd.h.
70752         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't require
70753         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat
70754         module's job.
70755         * m4/jm-macros.m4 (gl_MACROS): Likewise.
70756         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_LSTAT.
70757
70758         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): New macro.
70759         (gl_GETDATE): Use it.
70760
70761         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't bother checking for unistd.h.
70762
70763 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
70764
70765         Sync from coreutils.
70766
70767         * lib/.cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h,
70768         stat-time.h.
70769         * lib/argmatch.h: Include verify.h
70770         (ARGMATCH_VERIFY): Use verify rather than rolling our own.
70771         (ARGMATCH_ASSERT): Remove; unused.
70772         * lib/canonicalize.c: Assume STDC_HEADERS.
70773         * lib/exclude.c: Include "strcase.h".
70774         * lib/regex_internal.h [!defined _LIBC]: Likewise.
70775         * lib/getusershell.c: Include stdio--.h rather than stdio.h
70776         and stdio-safer.h.
70777         (getusershell): Call fopen, not fopen_safer.
70778         * lib/save-cwd.c: Include fcntl--.h rather than fcntl.h.
70779         Do not include unistd-safer.h.
70780         (save_cwd): Don't call fd_safer; no longer needed
70781         now that we include fcntl--.h.
70782
70783         * lib/getdate.y (relative_time): New type.
70784         (RELATIVE_TIME_0): New constant.
70785         (parser_control): Use relative_time instead of doing it ourselves.
70786         (%union): Add new relative_time rel member.
70787         (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT):
70788         Now typeless.
70789         (relunit, relunit_snumber): Now of type rel.
70790         (zone, rel, relunit, get_date): Adjust to above changes.
70791
70792         * lib/getloadavg.c: Include fcntl--.h rather than fcntl.h.
70793         Do not include unistd-safer.h.
70794         (getloadavg): Don't call fd_safer; no longer needed
70795         now that we include fcntl--.h.
70796
70797         * lib/mkdir-p.c (ENOSYS): Define to EEXIST if not defined.
70798         (make_dir_parents): Treat ENOSYS like EEXIST.
70799
70800         Improve quality of diagnostics on restore_cwd failure.
70801         * lib/mkdir-p.h (make_dir): Remove.  All uses replaced by mkdir.
70802         (make_dir_parents): Last arg is now int * (for errno), not bool *.
70803         * lib/mkdir-p.c (make_dir, make_dir_parents): Likewise.
70804         Rewrite "mkdir -p" algorithm to avoid the need for "stat"
70805         each time through the loop.  Do not diagnose restore_cwd failure;
70806         that is the caller's job (and perhaps the caller does not care).
70807
70808         * lib/mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove.
70809         (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP.
70810         If the file already exists but is not a directory, don't bother
70811         to try to make its parents.
70812         Close potential file descriptor leak if we can't chdir("/") (!).
70813         Don't always return true if chdir($PWD) fails; return true only
70814         if the requested action was done successfully (except for the
70815         chdir($PWD)).
70816         Don't log final directory unless we actually made it.
70817         Refactor to avoid duplicate code to fix up permissions.
70818         Don't attempt to fix up parent permissions if chdir($PWD) fails.
70819
70820         * lib/strftime.c (my_strftime): Rewrite the previous change slightly,
70821         to make it a bit faster and (I hope) clearer.
70822         * lib/strftime.c (my_strftime): Add support for %:z, %::z, %:::z.
70823         Fix bug in formats like %2N.
70824
70825         * lib/verify.h: New file.
70826
70827 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
70828
70829         Sync from coreutils.
70830         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h.
70831
70832 2005-09-22  Jim Meyering  <jim@meyering.net>
70833
70834         Sync from coreutils.
70835
70836         * m4/lstat.m4 (gl_FUNC_LSTAT):
70837         Use AC_LIBSOURCES to require lstat.c and lstat.h.
70838         Remove obsolete comment.
70839         * m4/xreadlink.m4: Use AC_LIBSOURCES and AC_LIBOBJ.
70840         * m4/xstrtod.m4: Likewise.
70841
70842         * m4/openat.m4 (gl_FUNC_OPENAT): Add openat-die.c.
70843
70844 2005-09-22  Jim Meyering  <jim@meyering.net>
70845
70846         Sync from coreutils.
70847
70848         * lib/backupfile.c: Use ARGMATCH_VERIFY, just in case.
70849
70850         * lib/posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just
70851         the .tm_year member, since otherwise gcc-4.0 would now warn about
70852         tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday.
70853
70854         * lib/quotearg.c (quotearg_n_options): Change code to be suboptimal, in
70855         order to avoid an unsuppressible warning from gcc on 64-bit systems.
70856
70857         * lib/getdate.y (get_date): Undo part of the 2005-04-04 change, so that
70858         the command "date -d'2005-03-27 +1 day'" succeeds once again, even
70859         when run in a time zone for which daylight savings time is in effect
70860         for the starting date.
70861
70862         * lib/mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD)
70863         stop us from restricting permissions of just-created absolute-named
70864         directories.
70865         * lib/mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing
70866         to restore initial working directory.
70867         * lib/mkdir-p.c (make_dir_parents): New parameter:
70868         different_working_dir, to tell caller if/when we change the working
70869         directory and are unable to return to the initial one.
70870         * lib/mkdir-p.h (make_dir_parents): Update prototype.
70871         * lib/mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to
70872         `return false'.  This fixes a bug introduced on 2004-07-30.
70873
70874         * lib/openat.c (fdopendir): Be sure to close the supplied
70875         file descriptor before returning.  This makes our replacement
70876         implementation a little closer to Solaris's, where fdopendir
70877         ties the file descriptor to the returned DIR* pointer.
70878         * lib/openat.c (unlinkat): New function.
70879         * lib/openat.h (unlinkat): Add prototype.
70880         * lib/openat-die.c (openat_save_fail): Rename from openat_save_die.
70881         (openat_restore_fail): Rename from openat_restore_die.
70882         * lib/openat.c, openat.h: Reflect s/_die/_fail/ renaming.
70883
70884         Provide an alternative to exiting immediately upon save_cwd or
70885         restore_cwd failure.  Now, an application can arrange e.g.,
70886         to perform a longjump in that case.
70887         * lib/openat.c: Include dirname.h.
70888         Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash.
70889         (rpl_openat, fdopendir, fstatat): Call openat_save_die
70890         and openat_restore_die rather than calling error directly.
70891         Don't include "error.h" or "exitfail.h"; they're no longer needed.
70892
70893         * lib/openat-die.c (openat_save_die, openat_restore_die): New file.
70894         * lib/openat.h (openat_save_die, openat_restore_die): Declare and
70895         define.
70896
70897         * lib/strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface:
70898         size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
70899                             int utc, int nanoseconds);
70900         Background:
70901         date should not have to allocate a megabyte of virtual memory to
70902         handle a format argument like +%1048575T.  When implemented with
70903         strftime, it must allocate such a buffer, use strftime to fill it
70904         in, print it, then free it.
70905         With fprintftime, it simply prints everything and exits.
70906         With no need for memory allocation, that's one fewer way to fail.
70907         * lib/strftime.c (my_strftime): Parse the colons of %:::z *after* the
70908         optional field width, not before, so we accept %9:z, not %:9z.
70909         (my_strftime): Be sure to use L_('x') for literals.
70910
70911         * lib/backupfile.c, lib/canon-host.c, lib/canonicalize.c, lib/chown.c:
70912         * lib/cloexec.c, lib/dup-safer.c, lib/dup2.c, lib/euidaccess.c:
70913         * lib/fd-safer.c, lib/fileblocks.c, lib/fopen-safer.c, lib/fsusage.c:
70914         * lib/ftruncate.c, lib/getcwd.c, lib/getcwd.h, lib/getloadavg.c:
70915         * lib/getopt_.h, lib/getpagesize.h, lib/getugroups.c:
70916         * lib/group-member.c, lib/human.h, lib/idcache.c, lib/mkdir-p.c:
70917         * lib/mountlist.c, lib/nanosleep.c, lib/pathmax.h, lib/physmem.c:
70918         * lib/posixver.c, lib/putenv.c, lib/raise.c, lib/safe-read.c:
70919         * lib/same.c, lib/save-cwd.c, lib/setenv.c, lib/settime.c:
70920         * lib/tempname.c, lib/unlinkdir.c, lib/unsetenv.c, lib/userspec.c:
70921         * lib/xgethostname.c, lib/xreadlink.c:
70922         Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally.
70923
70924         * lib/chown.c, lib/cloexec.c, lib/dup-safer.c, lib/dup2.c:
70925         * lib/fsusage.c, lib/getcwd.c, lib/getloadavg.c, lib/mountlist.c:
70926         * lib/openat.h, lib/save-cwd.c, lib/tempname.c:
70927         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
70928         and don't include <sys/file.h>).
70929
70930 2005-09-22  Eric Blake  <ebb9@byu.net>  (tiny change)
70931
70932         Sync from coreutils.
70933
70934         * lib/getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin.
70935         [__linux__]: Allocate a big enough buffer for /proc/loadavg.
70936         [!LDAV_DONE]: Avoid unused variable warning.
70937
70938 2005-09-21  Bruno Haible  <bruno@clisp.org>
70939
70940         * lib/unicodeio.h (unicode_to_mb): New declaration.
70941
70942 2005-09-20  Derek Price  <derek@ximbiot.com>
70943
70944         * lib/getaddrinfo.c: Don't include <netdb.h> included from
70945         getaddrinfo.h.
70946
70947 2005-09-20  Bruno Haible  <bruno@clisp.org>
70948
70949         * gnulib-tool: Remove trailing slashes from the values specified for
70950         --source-base, --m4-base, --tests-base, --aux-dir.
70951         Suggested by Simon Josefsson <jas@extundo.com>.
70952
70953 2005-09-20  Bruno Haible  <bruno@clisp.org>
70954
70955         * gnulib-tool (func_all_modules, func_modules_transitive_closure,
70956         func_modules_to_filelist, func_import, func_create_testdir): Make all
70957         sorting results locale-independent, so that gnulib-cache.m4 doesn't
70958         change when gnulib-tool is invoked in a different locale.
70959
70960 2005-09-19  Simon Josefsson  <jas@extundo.com>
70961
70962         * m4/socklen.m4: Fix typo.
70963
70964 2005-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70965
70966         Use a consistent style for including <config.h>.
70967         * lib/__fpending.c, lib/acl.c, lib/argmatch.c, lib/argp-help.c,
70968         lib/argp-parse.c, lib/argp-pvh.c, lib/backupfile.c, lib/basename.c,
70969         lib/c-stack.c, lib/calloc.c, lib/check-version.c, lib/cloexec.c,
70970         lib/closeout.c, lib/copy-file.c, lib/creat-safer.c, lib/cycle-check.c,
70971         lib/dirfd.c, lib/dirname.c, lib/dup-safer.c, lib/dup2.c,
70972         lib/euidaccess.c, lib/exclude.c, lib/exitfail.c, lib/fatal-signal.c,
70973         lib/fd-safer.c, lib/file-type.c, lib/fileblocks.c, lib/filemode.c,
70974         lib/filenamecat.c, lib/findprog.c, lib/fnmatch.c, lib/fopen-safer.c,
70975         lib/free.c, lib/fsusage.c, lib/ftruncate.c, lib/full-write.c,
70976         lib/fwriteerror.c, lib/getaddrinfo.c, lib/getcwd.c, lib/getdelim.c,
70977         lib/getline.c, lib/getlogin_r.c, lib/getndelim2.c, lib/getnline.c,
70978         lib/getopt1.c, lib/getpass.c, lib/group-member.c, lib/hard-locale.c,
70979         lib/hash-pjw.c, lib/hash.c, lib/human.c, lib/idcache.c,
70980         lib/inet_ntop.c, lib/isdir.c, lib/long-options.c, lib/malloc.c,
70981         lib/memcasecmp.c, lib/memcmp.c, lib/memcoll.c, lib/memcpy.c,
70982         lib/memmove.c, lib/mkdir-p.c, lib/modechange.c, lib/mountlist.c,
70983         lib/open-safer.c, lib/physmem.c, lib/pipe-safer.c, lib/pipe.c,
70984         lib/poll.c, lib/posixver.c, lib/progname.c, lib/progreloc.c,
70985         lib/putenv.c, lib/quote.c, lib/quotearg.c, lib/readline.c,
70986         lib/readlink.c, lib/realloc.c, lib/regex.c, lib/rename.c, lib/rmdir.c,
70987         lib/rpmatch.c, lib/safe-read.c, lib/same.c, lib/save-cwd.c,
70988         lib/savedir.c, lib/sig2str.c, lib/strcspn.c, lib/strerror.c,
70989         lib/stripslash.c, lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c,
70990         lib/strnlen1.c, lib/strsep.c, lib/strstr.c, lib/strtod.c,
70991         lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c,
70992         lib/time_r.c, lib/userspec.c, lib/utimecmp.c, lib/version-etc-fsf.c,
70993         lib/version-etc.c, lib/wait-process.c, lib/xalloc-die.c, lib/xgetcwd.c,
70994         lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, lib/xreadlink.c,
70995         lib/xsetenv.c, lib/xstrndup.c, lib/xstrtoimax.c, lib/xstrtol.c,
70996         lib/xstrtoumax.c, lib/yesno.c:
70997         Standardize inclusion of config.h.
70998         * lib/__fpending.h, lib/dirfd.h, lib/getdate.h, lib/human.h,
70999         lib/inttostr.h:  Removed inclusion of config.h from header files.
71000         * lib/inttostr.c:  Adjusted in-tree users.
71001         * lib/timespec.h: Remove superfluous warning to include config.h.
71002         * lib/atexit.c, lib/chdir-long.c, lib/chown.c, lib/fchown-stub.c,
71003         lib/getgroups.c, lib/gettimeofday.c, lib/lchown.c, lib/lstat.c,
71004         lib/mkdir.c, lib/mkstemp.c, lib/nanosleep.c, lib/openat.c, lib/raise.c,
71005         lib/readtokens0.c, lib/readutmp.c, lib/unlinkdir.c: Guard inclusion of
71006         config.h with HAVE_CONFIG_H.
71007
71008 2005-09-19  Jim Meyering  <jim@meyering.net>
71009
71010         * modules/pathmax (License): Change to LGPL.
71011
71012 2005-09-19  Derek Price  <derek@ximbiot.com>
71013
71014         * config/srclist.txt: glibc's glob.h is now in lib/glob-libc.h.
71015
71016 2005-09-19  Bruno Haible  <bruno@clisp.org>
71017
71018         * gnulib-tool (import): Provide default for --tests-base.
71019
71020 2005-09-19  Bruno Haible  <bruno@clisp.org>
71021
71022         * doc/quote.texi: New file, extracted from gnulib.texi.
71023         * doc/ctime.texi: New file, extracted from gnulib.texi.
71024         * doc/inet_ntoa.texi: New file, extracted from gnulib.texi.
71025         * doc/gnulib-tool.texi: New file, extracted from gnulib.texi.
71026         * doc/gnulib.texi: Include them.
71027
71028 2005-09-18  Bruno Haible  <bruno@clisp.org>
71029
71030         Portability fix.
71031         * gnulib-tool (func_readlink): New function.
71032         (func_ln_if_changed): Use it.
71033
71034 2005-09-18  Bruno Haible  <bruno@clisp.org>
71035
71036         * gnulib-tool: Support --with-tests also with --import.
71037         (func_emit_tests_Makefile_am): Use variables $m4base and $testsbase.
71038         (func_import): Use variables $testsbase and $inctests. Emit a
71039         gl_TESTS_BASE form into gnulib-cache.m4. Create $testsbase/Makefile.am.
71040         Remind the user to add AC_CONFIG_FILES($testsdir/Makefile) and
71041         SUBDIRS += $testsdir.
71042         (func_create_testdir): Update.
71043
71044 2005-09-18  Bruno Haible  <bruno@clisp.org>
71045
71046         * gnulib-tool: Revise --dry-run implementation. Use variable $doit
71047         instead of $dry_run.
71048         (func_cp_if_changed, func_mv_if_changed): Remove functions.
71049         (func_ln_if_changed): Don't handle dry-run here.
71050         (func_import): In dry-run mode, detect more precisely which actions
71051         would be performed, and don't use "...ing" verbs.
71052
71053 2005-09-18  Bruno Haible  <bruno@clisp.org>
71054
71055         * gnulib-tool (func_tmpdir): New function, taken from GNU gettextize.
71056         (func_import): Use join on two temporary files instead of three nested
71057         loops, in order to determine which files are new or old.
71058
71059 2005-09-18  Bruno Haible  <bruno@clisp.org>
71060
71061         * gnulib-tool (func_import): Comment out code that spits out the
71062         new files with --dry-run.
71063
71064 2005-09-18  Bruno Haible  <bruno@clisp.org>
71065
71066         * doc/gnulib.texi (Invoking gnulib-tool): 50% rewritten.
71067
71068 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
71069
71070         * lib/stat-time.h: New file.
71071         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP):
71072         (MTIME_CMP, TIMESPEC_NS): Remove.  Now done by stat-time.h,
71073         in a different way.
71074         (timespec_cmp): New function.
71075         * lib/utimecmp.c: Include stat-time.h.
71076         (SYSCALL_RESOLUTION): Depend on whether various struct stat
71077         members exist, not on the obsolescent ST_MTIM_NSEC.
71078         (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS.
71079
71080 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
71081
71082         * config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c.
71083
71084 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
71085
71086         * MODULES.html.sh (File system functions): Add stat-time.
71087         * modules/stat-time: New file.
71088         * modules/timespec (Files): Remove m4/st_mtim.m4; this
71089         is now done in a different way, by the stat-time module.
71090         * modules/utimecmp (Depends-on): Add stat-time.
71091
71092 2005-09-15  Paul Eggert  <eggert@cs.ucla.edu>
71093
71094         * m4/st_mtim.m4: Remove.  Superseded by...
71095         * m4/stat-time.m4: New file.
71096         * m4/timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE.
71097         Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed.
71098
71099 2005-09-15  Derek Price  <derek@ximbiot.com>
71100
71101         * m4/strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here.
71102
71103 2005-09-15  Derek Price  <derek@ximbiot.com>
71104
71105         * lib/regex_internal.h: Blank `pure' for GNUC < 3.
71106         * lib/regex_internal.c: Ditto, using this...
71107         (__GNUC_PREREQ): ...new macro.
71108         * lib/regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1
71109         using...
71110         (__GNUC_PREREQ): ...this new macro.
71111
71112         * lib/strstr.h: Include string.h. Define strstr as a macro here.
71113
71114 2005-09-15  Derek Price  <derek@ximbiot.com>
71115             Paul Eggert  <eggert@cs.ucla.edu>
71116
71117         * lib/regcomp.c, regexec.c, regex_internal.c: Back out previous
71118         changes, consolidating in...
71119         * lib/regex_internal.h: ...this file.
71120
71121 2005-09-13  Jim Meyering  <jim@meyering.net>
71122
71123         * lib/canon-host.c: Filter through gnu indent and reword comments
71124         slightly.
71125         * lib/canon-host.h (ch_strerror_r): Tweak cpp indentation and spacing.
71126
71127 2005-09-13  Derek Price  <derek@ximbiot.com>
71128
71129         * lib/canon-host.c (canon_host_r): Set *cherror on memory allocation
71130         failure.
71131         Reported by Jim Meyering  <jim@meyering.net>.
71132
71133 2005-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
71134
71135         * lib/base64.c: Typo.
71136         (base64_encode): Put b64str in initialized data section.
71137
71138 2005-09-12  Paul Eggert  <eggert@cs.ucla.edu>
71139
71140         Merge glibc and coreutils changes into gnulib, plus a few
71141         extra fixes.
71142         * lib/md5.c: Use #error rather than a string.
71143         (CYCLIC): New macro, from glibc source.  Use it instead of rol.
71144         * lib/md5.h (__GNUC_PREREQ, __THROW): Define if not defined already.
71145         (__attribute__): Define to empty for non recent-GCC.
71146         (__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block):
71147         (__md5_process_bytes, __md5_read_ctx, __md5_stream):
71148         Renamed from their non-__ counterparts, with new macros replacing
71149         them if not _LIBC.  Add __THROW attribute.
71150         (rol): Remove.
71151         (struct md5_ctx): Align buffer if using GCC.
71152         * lib/sha1.h (struct sha1_ctx): Likewise.
71153         * lib/sha1.c (SWAP): Renamed from the NOTSWAP.  All uses changed.
71154         The old name was backwards.
71155         (NOTSWAP): Remove; not used.
71156         (rol): New macro, moved here from md5.h.
71157         (sha1_process_block): Remove a FIXME that doesn't make sense.
71158
71159 2005-09-12  Derek Price  <derek@ximbiot.com>
71160
71161         Return usable errors from canon-host.
71162         * lib/canon-host.h: New file.
71163         * lib/canon-host.c (canon_host): Wrap...
71164         (canon_host_r): ...this new function, which now relies exclusively on
71165         getaddrinfo.
71166         (ch_strerror): New function.
71167         (last_cherror): New global.
71168         * lib/getaddrinfo.c: Move include of getaddrinfo.h first to test
71169         interface.
71170         (getaddrinfo): Add AI_CANONNAME functionality.  Don't do arithmetic on
71171         void *.
71172         (freeaddrinfo): Free ai->ai_canonname when set.
71173
71174 2005-09-12  Derek Price  <derek@ximbiot.com>
71175
71176         Make canon-host require getaddrinfo.
71177         * m4/canon-host.m4 (gl_CANON_HOST): Remove most dependencies.
71178         AC_LIBSOURCE canon-host.h.  Call...
71179         (gl_PREREQ_CANON_HOST): ...this new function, which requires
71180         gl_GETADDRINFO.
71181         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Compile gai_strerror when needed.
71182
71183 2005-09-12  Derek Price  <derek@ximbiot.com>
71184
71185         * modules/canon-host: Add canon-host.h.  Depend on getaddrinfo.  Make
71186         LGPL.
71187         * modules/getaddrinfo: Add link to opengroup spec.  Depend on strdup.
71188
71189 2005-09-12  Derek Price  <derek@ximbiot.com>
71190
71191         * lib/gai_strerror.c: Include config.h when available.  Include
71192         getaddrinfo.h before other headers to test interface.
71193         Reported by Larry Jones <lawrence.jones@ugs.com>.
71194
71195 2005-09-12  Derek Price  <derek@ximbiot.com>
71196             Paul Eggert  <eggert@cs.ucla.edu>
71197
71198         * modules/glob (Files): Add glob-libc.h.
71199
71200 2005-09-12  Derek Price  <derek@ximbiot.com>
71201             Paul Eggert  <eggert@cs.ucla.edu>
71202
71203         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): AC_LIBSOURCES for glob.c,
71204         glob_.h, glob-libc.h.
71205         (gl_PREREQ_GLOB): Remove _SYS_CDEFS_H hack; no longer needed.
71206
71207 2005-09-12  Derek Price  <derek@ximbiot.com>
71208             Paul Eggert  <eggert@cs.ucla.edu>
71209
71210         * lib/glob-libc.h: Renamed from glob_.h.  The new version is
71211         taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB'
71212         protecting things that should be done only in gnulib contexts.
71213         * lib/glob_.h: New file, containing only the glob things needed for
71214         gnulib.
71215         (GLOB_PREFIX): Remove.  All uses changed to look for __GLOB_GNULIB.
71216         (__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed.
71217         (glob, globfree, glob_pattern_p): Now defined simply in terms of
71218         rpl_glob, rpl_globfree, rpl_glob_pattern_p.
71219         (__GLOB_GNULIB): New macro, to keep the glob.h changes clearer
71220         and to respect the namespace rules better.
71221
71222 2005-09-08  Simon Josefsson  <jas@extundo.com>
71223
71224         * modules/socklen: New file.
71225
71226 2005-09-08  Simon Josefsson  <jas@extundo.com>
71227
71228         * m4/socklen.m4: New file.
71229
71230 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
71231
71232         * modules/utimens (Files): Add m4/utimbuf.m4, since
71233         m4/utimens.m4 requires gl_CHECK_TYPE_STRUCT_UTIMBUF.
71234         Reported by Sergey Poznyakoff.
71235
71236 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
71237
71238         * lib/glob.c (glob, globfree, __glob_pattern_p): Use old-style function
71239         definitions, since that's the preferred style in glibc.
71240         Fix a minor spacing issue, and update copyright notice to match
71241         glibc's.
71242
71243 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
71244
71245         * config/srclist.txt: Remove glibc bug 1061; it's been fixed.
71246
71247 2005-09-06  Simon Josefsson  <jas@extundo.com>
71248
71249         * lib/getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not
71250         TCSETATTR.  Reported by Derek Price <derek@ximbiot.com>.
71251
71252 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
71253
71254         * lib/regex_internal.h (bitset_not): Add parens to avoid gcc -Wall
71255         warning.
71256
71257 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
71258
71259         * config/srclist.txt: Add glibc bug 1302.
71260
71261 2005-09-05  Paul Eggert  <eggert@cs.ucla.edu>
71262
71263         Change bitset word type from unsigned int to unsigned long int,
71264         as this has better performance on typical 64-bit hosts.
71265         Port bitset code to hosts with unusual word sizes.
71266         * lib/regcomp.c (build_equiv_class, build_charclass, build_range_exp):
71267         (build_collating_symbol):
71268         Prefer bitset to re_bitset_ptr_t in prototypes, when the actual
71269         argument is a bitset.  This is merely a style issue, but it makes
71270         it clearer that an entire array is expected.
71271         (re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps):
71272         * lib/regcomp.c (lower_subexp, parse_bracket_exp, built_charclass_op):
71273         Port to the case where bitset_word is not the same as unsigned int.
71274         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
71275         (bitset_not, bitset_merge, bitset_set_all, bitset_mask):
71276         Likewise.
71277         * lib/regexec.c (check_dst_limits_calc_pos_1,
71278         check_subexp_matching_top):
71279         (build_trtable, group_nodes_into_DFAstates):
71280         Likewise.
71281         * lib/regcomp.c (re_compile_fastmap_iter, utf8_sb_map, optimize_utf8):
71282         Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS.
71283         * lib/regex_internal.h (bitset_set_all, bitset_not): Likewise.
71284         * lib/regexec.c (group_nodes_into_DFAstates): Likewise.
71285         * lib/regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff.
71286         * lib/regcomp.c (optimize_subexps, lower_subexp):
71287         Work even if bitset_word has holes in its bitwise representation.
71288         * lib/regex_internal.h (BITSET_WORD_BITS): Likewise.
71289         * lib/regexec.c (check_dst_limits_calc_pos_1,
71290         check_subexp_matching_top):
71291         Likewise.
71292         * lib/regex_internal.c (re_string_reconstruct):
71293         Don't assume UCHAR_MAX == 255.
71294         * lib/regex_internal.h (bitset_set_all): Likewise.
71295         * lib/regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS.
71296         All uses changed.
71297         (BITSET_WORDS): Renamed from BITSET_UINTS.  All uses changed.
71298         (bitset_word): New type, replacing 'unsigned int' for bitset uses.
71299         All uses changed.
71300         (BITSET_WORD_MAX): New macro.
71301         (bitset_set, bitset_clear, bitset_contain, bitset_empty):
71302         (bitset_set_all, bitset_copy):  Now inline functions, not macros.
71303         (bitset_empty, bitset_copy):
71304         Prefer sizeof (bitset) to multiplying it out ourselves.
71305         (bitset_not_merge): Remove; unused.
71306         (bitset_contain): Return bool, not unsigned int with one bit on.
71307         All callers changed.
71308         * lib/regexec.c (build_trtable): Don't assume bitset has no stricter
71309         alignment than re_node_set; do this by defining a new internal
71310         type struct dests_alloc and using it to allocate memory.
71311
71312 2005-09-05  Bruno Haible  <bruno@clisp.org>
71313
71314         * gnulib-tool (func_import): Fix comparison in handling of symbolic
71315         links.
71316
71317 2005-09-04  Martin Lambers  <marlam@marlam.de>  (tiny change)
71318
71319         * modules/size_max (Makefile.am): Add size_max.h
71320
71321 2005-09-04  Derek Price  <derek@ximbiot.com>
71322
71323         * gnulib-tool (func_import): Fix reversed $symbolic logic.
71324
71325 2005-09-03  Simon Josefsson  <jas@extundo.com>
71326
71327         * gnulib-tool: Fix typo.
71328
71329 2005-09-03  Simon Josefsson  <jas@extundo.com>
71330
71331         * config/srclist.txt: Add glibc bug 1293.
71332
71333 2005-09-03  Derek Price  <derek@ximbiot.com>
71334
71335         * m4/getlogin_r (gl_GETLOGIN_R): Fix cut & paste error.
71336         From Larry Jones <lawrence.jones@ugs.com>.
71337
71338 2005-09-02  Simon Josefsson  <jas@extundo.com>
71339
71340         * modules/socklen: New file.
71341
71342 2005-09-02  Simon Josefsson  <jas@extundo.com>
71343
71344         * modules/havelib: New module.
71345
71346         * modules/gettext, modules/iconv, modules/lock, modules/readline:
71347         Use havelib.
71348
71349 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
71350
71351         Check for arithmetic overflow when calculating sizes, to prevent
71352         some buffer-overflow issues.  These patches are conservative, in the
71353         sense that when I couldn't determine whether an overflow was possible,
71354         I inserted a run-time check.
71355         * lib/regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New
71356         macros.
71357         (SIZE_MAX) [!defined SIZE_MAX]: New macro.
71358         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc):
71359         (re_xnrealloc, re_x2nrealloc): New inline functions.
71360         * lib/regcomp.c (init_dfa, analyze, build_range_exp,
71361         parse_bracket_exp):
71362         (build_equiv_class, build_charclass): Check for arithmetic overflow
71363         in size expression calculations.
71364         * lib/regex_internal.c (re_string_realloc_buffers):
71365         (build_wcs_upper_buffer, re_node_set_add_intersect):
71366         (re_node_set_init_union, re_node_set_insert, re_node_set_insert_last):
71367         (re_dfa_add_node, register_state): Likewise.
71368         * lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal):
71369         (prune_impossible_nodes, push_fail_stack, set_regs, check_arrival):
71370         (build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry):
71371         (match_ctx_add_subtop, match_ctx_add_sublast): Likewise.
71372
71373 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
71374
71375         * modules/inttostr (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
71376         m4/ulonglong.m4.  Problem reported by Martin Lambers.
71377
71378 2005-09-02  Bruno Haible  <bruno@clisp.org>
71379
71380         Support for lib vs. lib64 distinction on biarch platforms.
71381         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): New macro.
71382         (AC_LIB_PREFIX): Require it. Use $acl_libdirstem instead of 'lib'.
71383         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Likewise.
71384
71385 2005-09-02  Bruno Haible  <bruno@clisp.org>
71386
71387         * gnulib-tool (import): In the other first-use case, provide defaults
71388         as well.
71389
71390 2005-09-02  Bruno Haible  <bruno@clisp.org>
71391
71392         * config/srclist.txt: lib-link.m4 and lib-prefix.m4 currently have
71393         patches not yet found in the latest gettext release.
71394
71395 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
71396
71397         * lib/glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX,
71398         to avoid a collision with bits/local_lim.h in glibc.
71399         All uses changed.  Problem reported by Dmitry V. Levin in
71400         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=1060>.
71401
71402         * lib/regex_internal.c (build_wcs_upper_buffer): Fix portability
71403         bugs in int versus size_t comparisons.
71404         (re_string_context_at): Fix bug where the code assumed that
71405         Idx is signed.
71406
71407         Use bool where appropriate.
71408         * lib/regcomp.c (re_set_fastmap): ICASE arg is bool, not int.
71409         All callers changed.
71410         (calc_eclosure_iter): Likewise, for ROOT arg.
71411         (parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg.
71412         (build_charclass_op): Likewise, for NON_MATCH arg.
71413         * lib/regex_internal.c (re_string_allocate, re_string_construct):
71414         (re_string_construct_common): Likewise, for ICASE arg.
71415         * lib/regexec.c (re_search_2_stub, re_search_stub):
71416         Likewise, for RET_LEN arg.
71417         (check_matching): Likewise, for FL_LONGEST_MATCH arg.
71418         (set_regs): Likewise, for FL_BACKTRACK arg.
71419         * lib/regcomp.c (re_compile_fastmap_iter, optimize_utf8):
71420         (duplicate_node_closure, calc_inveclosure, calc_eclosure):
71421         (calc_eclosure_iter, parse_bracket_exp):
71422         Use bool for internal variables that are booleans.
71423         * lib/regexec.c (re_search_internal, check_matching,
71424         proceed_next_node):
71425         (set_regs, build_sifted_states, sift_states_bkref):
71426         (check_arrival_add_next_nodes, check_arrival_expand_ecl_sub):
71427         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
71428         (find_collation_sequence_value):
71429         Likewise.
71430         * lib/regex_internal.c (re_node_set_insert, re_node_set_insert_last):
71431         (re_node_set_compare):
71432         Return bool, not int. All callers changed.
71433         * lib/regexec.c (check_halt_node_context, check_dst_limits):
71434         (build_trtable, check_node_accept): Likewise.
71435         * lib/regex_internal.h: Include stdbool.h.
71436
71437         Fix bugs uncovered when converting to bool.
71438         * lib/regcomp.c (calc_eclosure_iter): Check for storage allocation
71439         failure instead of charging ahead blindly.
71440         * lib/regex_internal.c (register_state): Likewise.
71441         * lib/regexec.c (re_search_2_stub): Use simpler method than boolean
71442         for freeing internal storage.
71443         (group_nodes_into_DFA_states): Use unsigned int, not int, for
71444         bitset pieces used as boolean, to avoid undefined behavior
71445         on hosts that do int overflow checking.
71446
71447 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
71448
71449         * config/srclist.txt: Add glibc bugs 1285-1287.
71450
71451 2005-09-01  Jim Meyering  <jim@meyering.net>
71452
71453         * m4/lchown.m4: Require gl_FUNC_CHOWN, for the definition of
71454         CHOWN_MODIFIES_SYMLINK, which is used by lchown.c.
71455         Require gl_STAT_MACROS, too.
71456
71457 2005-09-01  Bruno Haible  <bruno@clisp.org>
71458
71459         * gnulib-tool (import): In the first-use case, provide defaults.
71460
71461 2005-09-01  Bruno Haible  <bruno@clisp.org>
71462
71463         * gnulib-tool (func_import): Remove the .tmp files.
71464
71465 2005-09-01  Bruno Haible  <bruno@clisp.org>
71466
71467         * gnulib-tool (func_import): Fix handling of symbolic links.
71468
71469 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
71470
71471         On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the
71472         old glibc regex code mishandles strings longer than 2**31 bytes.
71473         This patch fixes this when the regex code is used in gnulib
71474         (i.e., outside glibc).
71475
71476         This patch should not affect the use of the regex code inside
71477         glibc.  No doubt this problem also needs to be handled for glibc
71478         as well, but the result will be an incompatible change to the
71479         glibc ABI, and the old ABI will have to be supported too.  That
71480         can be the the subject for another patch.
71481
71482         * lib/regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro,
71483         governing whether the rest of this patch is active.  By default,
71484         the macro is disabled and the patch has no effect.
71485         (regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int.
71486         (__re_idx_t, __re_size_t, __re_long_size_t): New types.
71487         (struct re_pattern_buffer, re_search, re_search_2, re_match):
71488         (re_match_2, re_set_registers): Use the new types.
71489         * lib/regex_internal.h (Idx, re_hashval_t): New types.
71490         (REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX):
71491         New macros.
71492         (re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers):
71493         (re_string_context_at, bin_tree_t, re_dfastate_t):
71494         (struct re_state_table_entry, state_array_t, re_sub_match_last_t):
71495         (re_sub_match_top_t, re_match_context_t, re_sift_context_t):
71496         (struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t):
71497         (re_string_char_size_at, re_string_wchar_at):
71498         (re_string_elem_size_at):
71499         Use the new types and macros to port to 64-bit hosts.
71500         Use unsigned types for internal values, so that the code
71501         mostly works even for arrays larger than SSIZE_MAX.
71502         * lib/regcomp.c (re_compile_internal, init_dfa, duplicate_node):
71503         (search_duplicated_node, calc_eclosure_iter, fetch_number):
71504         (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
71505         (build_equiv_class, build_charclass, re_compile_fastmap_iter):
71506         (free_dfa_content, create_initial_state, optimize_utf8, analyze):
71507         (optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure):
71508         (calc_inveclosure, parse_dup_op, build_range_exp):
71509         (build_collating_symbol, parse_bracket_exp, build_charclass_op):
71510         (fetch_number, create_token_tree, mark_opt_subexp):
71511         Likewise.
71512         * lib/regex_internal.c (re_string_construct_common,
71513         create_ci_newstate):
71514         (create_cd_newstate, re_string_allocate, re_string_construct):
71515         (re_string_realloc_buffers, build_wcs_upper_buffer):
71516         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
71517         (re_string_reconstruct, re_string_peek_byte_case):
71518         (re_string_fetch_byte_case, re_string_context_at):
71519         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
71520         (re_node_set_init_copy, re_node_set_add_intersect):
71521         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
71522         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
71523         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
71524         (re_acquire_state, re_acquire_state_context, register_state):
71525         Likewise.
71526         * lib/regex.c (match_ctx_init, match_ctx_add_entry,
71527         search_cur_bkref_entry):
71528         (match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init):
71529         (re_search_internal, re_search_2_stub, re_search_stub)
71530         (re_copy_regs, check_matching, check_halt_state_context, update_regs):
71531         (push_fail_stack, sift_states_iter_mb, build_sifted_states):
71532         (update_cur_sifted_state, check_dst_limits):
71533         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
71534         (check_subexp_limits, sift_states_bkref, merge_state_array):
71535         (check_subexp_matching_top, get_subexp, get_subexp_sub):
71536         (find_subexp_node, check_arrival, check_arrival_add_next_nodes):
71537         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
71538         (expand_bkref_cache, check_node_accept_bytes):
71539         (group_nodes_into_DFAstates, check_node_accept, regexec, re_match):
71540         (re_search, re_match_2, re_search_2, prune_impossible_nodes):
71541         (acquire_init_state_context, check_halt_node_context):
71542         (proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return):
71543         (sift_states_backward, clean_state_log_if_needed):
71544         (sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log):
71545         (find_recover_state, transit_state_sb, transit_state_mb):
71546         (transit_state_bkref, build_trtable, match_ctx_clean):
71547         Likewise.
71548         * lib/regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned,
71549         to work around an assumption that REG_MISSING is negative.
71550
71551         * lib/regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]:
71552         (seek_collating_symbol_entry) [defined _LIBC]:
71553         (lookup_collation_sequence_value) [defined _LIBC]:
71554         (build_range_exp, build_collating_symbol) [defined _LIBC]:
71555         Use prototypes rather than old-style function definitions.
71556         * lib/regexec.c (re_exec) [defined _REGEX_RE_COMP || defined _LIBC]:
71557         (transit_state_sb) [0]:
71558         (find_collation_sequence_value) [defined _LIBC]: Likewise.
71559
71560         * lib/regexec.c (re_search_internal): Simplify update of rm_so and
71561         rm_eo.
71562
71563         * lib/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char):
71564         (optimize_subexps, lower_subexp):
71565         Don't assume 1<<31 has defined behavior on hosts with 32-bit int,
71566         since the signed shift might overflow.  Use 1u<<31 instead.
71567         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
71568         Likewise.
71569         * lib/regexec.c (check_dst_limits_calc_pos_1,
71570         check_subexp_matching_top): Likewise.
71571
71572         * lib/regcomp.c (optimize_subexps, lower_subexp):
71573         Use CHAR_BIT rather than 8, for clarity.
71574         * lib/regexec.c (check_dst_limits_calc_pos_1):
71575         (check_subexp_matching_top): Likewise.
71576         * lib/regcomp.c (init_dfa): Make table_size unsigned, so that we don't
71577         have to worry about portability issues when shifting it left.
71578         Remove no-longer-needed test for table_size > 0.
71579         * lib/regcomp.c (parse_sub_exp): Do not shift more bits than there are
71580         in a word, as the resulting behavior is undefined.
71581         * lib/regexec.c (check_dst_limits_calc_pos_1): Likewise;
71582         in one case, a <= should have been an <, and in another case the
71583         whole test was missing.
71584         * lib/regex_internal.h (BYTE_BITS): Remove.  All uses changed to
71585         the standard name CHAR_BIT.
71586         * lib/regexec.c (match_ctx_add_entry): Don't assume that ~0 == -1;
71587         this is not true on one's complement and signed-magnitude hosts.
71588
71589         * lib/regex_internal.h (re_sub_match_top_t): Remove unused member
71590         next_last_offset.
71591         (struct re_dfa_t): Remove unused member states_alloc.
71592         * lib/regcomp.c (init_dfa): Don't initialize unused members.
71593
71594 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
71595
71596         * m4/regex.m4 (gl_REGEX): Require AC_SYS_LARGEFILE, Define
71597         _REGEX_LARGE_OFFSETS).  Test for regoff_t/off_t bug in 64-bit
71598         and large-file glibc and in 32-bit large-file Solaris.
71599
71600 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
71601
71602         * lib/regex_internal.c (re_string_reconstruct): Don't assume buffer
71603         lengths fit in regoff_t; this isn't true if regoff_t is the same
71604         width as size_t.
71605         * lib/regex.c (re_search_internal): 5th arg is LAST_START
71606         (= START + RANGE) instead of RANGE.  This avoids overflow
71607         problems when regoff_t is the same width as size_t.
71608         All callers changed.
71609         (re_search_2_stub): Check for overflow when adding the
71610         sizes of the two strings.
71611         (re_search_stub): Check for overflow when adding START
71612         to RANGE; if it occurs, substitute the extreme value.
71613
71614 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
71615
71616         * config/srclist.txt: Add glibc bugs 1273, 1278-1282, 1284.
71617
71618 2005-08-31  Jim Meyering  <jim@meyering.net>
71619
71620         * lib/regcomp.c (search_duplicated_node): Make first pointer arg
71621         a pointer-to-const.
71622         * lib/regex_internal.c (create_ci_newstate, create_cd_newstate):
71623         (register_state): Likewise.
71624         * lib/regexec.c (search_cur_bkref_entry, check_dst_limits):
71625         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
71626         (group_nodes_into_DFAstates): Likewise.
71627
71628 2005-08-31  Jim Meyering  <jim@meyering.net>
71629
71630         * check-module: Add a FIXME comment.
71631
71632 2005-08-31  Eric Blake  <ebb9@byu.net>
71633
71634         * modules/unistd-safer (Files): Add unistd--.h.
71635         * modules/stdio-safer (Files): Add stdio--.h.
71636
71637 2005-08-31  Derek Price  <derek@ximbiot.com>
71638
71639         * lib/getdelim.c (getdelim): Return EOF on EOF.
71640         Reported by Larry Jones <lawrence.jones@ugs.com>.
71641
71642 2005-08-31  Bruno Haible  <bruno@clisp.org>
71643
71644         Avoid unnecessary diffs in the generated lib/Makefile.am.
71645         * gnulib-tool (func_emit_lib_Makefile_am): Don't write the cmd into
71646         the generated files.
71647         (func_import): Don't set cmd.
71648
71649 2005-08-31  Bruno Haible  <bruno@clisp.org>
71650
71651         * lib/strstr.c: Include <stddef.h>, for NULL.
71652         * lib/strcasestr.c: Likewise.
71653         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
71654
71655 2005-08-31  Bruno Haible  <bruno@clisp.org>
71656
71657         * gnulib-tool: New option --macro-prefix.
71658         (func_import): Use macro_prefix.
71659         (import): Handle option --macro-prefix.
71660
71661 2005-08-31  Bruno Haible  <bruno@clisp.org>
71662
71663         * gnulib-tool (import): Rename most ac_* variables to cached_*.
71664         Also use new variables cached_lgpl, cached_libtool.
71665
71666 2005-08-31  Bruno Haible  <bruno@clisp.org>
71667
71668         * gnulib-tool (func_import): Require AC_GNU_SOURCE etc. instead of
71669         always instantiating them.
71670
71671 2005-08-31  Bruno Haible  <bruno@clisp.org>
71672
71673         * gnulib-tool (func_import): Read the previous cached settings
71674         from gnulib-cache.m4 and gnulib-comp.m4. Remove files that were
71675         earlier added by gnulib but are now dropped. Warn when a gnulib file
71676         overwrites a non-gnulib file.
71677
71678 2005-08-31  Bruno Haible  <bruno@clisp.org>
71679
71680         * gnulib-tool (func_import): Generate two files gnulib-cache.m4 and
71681         gnulib-comp.m4 instead of a single gnulib.m4, to make it easy for
71682         projects that don't keep autogenerated files in CVS. Put into
71683         actioncmd only the specified modules, not the transitive closure.
71684
71685 2005-08-31  Bruno Haible  <bruno@clisp.org>
71686
71687         * gnulib-tool (func_import): Fix defaulting of $libname and $libtool.
71688         Create directories that shall be filled.
71689         (import): Don't look for gl_* macros in configure.ac. Recurse across
71690         all directories containing a gnulib-cache.m4 files, if meaningful.
71691
71692 2005-08-31  Bruno Haible  <bruno@clisp.org>
71693
71694         * gnulib-tool (func_import): Emit also a stub for gl_LIBTOOL.
71695         (import): Set seen_libtool when we see gl_LIBTOOL.
71696
71697 2005-08-31  Bruno Haible  <bruno@clisp.org>
71698
71699         * gnulib-tool (func_import): Also copy m4/gnulib-tool.m4. Omit
71700         declaration macro definitions from generated gnulib.m4.
71701
71702 2005-08-30  Oskar Liljeblad  <oskar@osk.mine.nu>
71703
71704         * lib/iconvme.h: Add prototype for iconv_alloc.
71705
71706 2005-08-29  Simon Josefsson  <jas@extundo.com>
71707
71708         * lib/iconvme.c: Fix errno.
71709
71710 2005-08-29  Bruno Haible  <bruno@clisp.org>
71711
71712         * gnulib-tool: Enclose all occurrences of $destdir in "...", so
71713         that it works when the directory contains spaces.
71714
71715 2005-08-29  Bruno Haible  <bruno@clisp.org>
71716
71717         * gnulib-tool (import): Avoid unnecessary spaces in $avoidlist.
71718
71719 2005-08-29  Bruno Haible  <bruno@clisp.org>
71720
71721         * gnulib-tool (func_import): Emit more comments into gnulib.m4.
71722         Emit more advice.
71723
71724 2005-08-29  Bruno Haible  <bruno@clisp.org>
71725         and Stepan Kasal  <kasal@ucw.cz>
71726
71727         * check-module: If more parameters are given, check each of them
71728         separately; add more exceptions, as noted by Jim Meyering.
71729         (check_module): New procedure.
71730         (%exempt_header): Now contains all exceptions.
71731
71732 2005-08-29  Ben Pfaff  <blp@cs.stanford.edu>
71733
71734         * modules/byteswap (Makefile.am): Fix rule to not assume GNU make.
71735
71736 2005-08-29  Oskar Liljeblad  <oskar@osk.mine.nu>
71737
71738         * lib/iconvme.c: Split iconv_string into iconv_alloc.
71739
71740 2005-08-28  Bruno Haible  <bruno@clisp.org>
71741
71742         * m4/gnulib-tool.m4: New file.
71743
71744 2005-08-27  Jim Meyering  <jim@meyering.net>
71745
71746         * modules/unistd-safer (Files): Add pipe-safer.c.
71747         * modules/fcntl-safer (Files): Add creat-safer.c.
71748
71749 2005-08-27  Jim Meyering  <jim@meyering.net>
71750
71751         * m4/stdlib-safer.m4: New file.  From coreutils.
71752         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add stdio--.h.
71753         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Add creat-safer.c to the
71754         AC_LIBSOURCES list and arrange to compile it via AC_LIBOBJ.
71755         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise, add pipe-safer.c.
71756         Add pipe-safer.c and unistd--.h to the AC_LIBSOURCES list.
71757
71758 2005-08-27  Jim Meyering  <jim@meyering.net>
71759
71760         * lib/fopen-safer.c: Merge minor changes from coreutils.
71761         * lib/dup-safer.c: Likewise.
71762         * lib/fd-safer.c: Likewise.
71763
71764         Merge from coreutils.
71765         * lib/stdio--.h: New file.
71766         * lib/stdlib--.h: New file.
71767         * lib/mkstemp-safer.c: New file.
71768
71769         GNU tar needs these.
71770         * lib/pipe-safer.c: New file.
71771         * lib/creat-safer.c: New file.
71772         * lib/fcntl--.h (creat): Define to creat_safer.
71773         * lib/fcntl-safer.h: Include <sys/types.h> and declare creat_safer.
71774         * lib/unistd--.h (pipe): Define to pipe_safer.
71775         * lib/unistd-safer.h: Declare pipe_safer.
71776
71777 2005-08-26  Simon Josefsson  <jas@extundo.com>
71778
71779         * lib/getpass.c: Use _WIN32 instead of WIN32, suggested by Bruno
71780         Haible <bruno@clisp.org>.
71781
71782 2005-08-26  Paul Eggert  <eggert@cs.ucla.edu>
71783
71784         * lib/regex_internal.h: Remove all references to
71785         RE_NO_INTERNAL_PROTOTYPES; no longer neeeded now that we assume C89
71786         or better.
71787         (bitset_not, bitset_merge, bitset_not_merge):
71788         (bitset_mask, re_string_allocate, re_string_construct):
71789         (re_string_reconstruct, re_string_destruct, re_string_elem_size_at):
71790         (re_string_char_size_at, re_string_wchar_at, re_string_peek_byte_case):
71791         (re_string_fetch_byte_case, re_node_set_alloc, re_node_set_init_1):
71792         (re_node_set_init_2, re_node_set_init_copy, re_node_set_add_intersect):
71793         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
71794         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
71795         (re_node_set_remove_at, re_dfa_add_node, re_acquire_state):
71796         (re_acquire_state_context):
71797         Remove unnecessary forward decls.
71798         (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at):
71799         Put __attribute at function definition,
71800         now that the function decl has been removed.
71801         * lib/regex_internal.c (re_string_peek_byte_case):
71802         (re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains):
71803         Likewise.
71804
71805 2005-08-25  Stepan Kasal  <kasal@ucw.cz>
71806
71807         * m4/regex.m4: Add AC_PREREQ(2.50).
71808         (gl_REGEX): If --with-included-regex was given, skip the autodetection.
71809
71810 2005-08-25  Simon Josefsson  <jas@extundo.com>
71811
71812         * m4/getpass.m4: Check for termios.h, tcgetattr, tcsetattr, and
71813         __fsetlocking.
71814
71815 2005-08-25  Simon Josefsson  <jas@extundo.com>
71816
71817         * lib/getpass.c: Add WIN32 implementation.  Conditionalize use of
71818         termios.h, tcgetattr, tcsetattr and __fsetlocking.  Remove some
71819         GLIBC specific code.
71820
71821 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
71822
71823         Make regex safe for g++.  This fixes one real bug (an "err"
71824         that should have been "*err").  g++ problem reported by
71825         Sam Steingold.
71826         * lib/regex_internal.h (re_calloc): New macro, consistent with
71827         re_malloc etc.  All callers of calloc changed to use re_calloc.
71828         * lib/regex_internal.c (build_wcs_upper_buffer): Return reg_errcode_t,
71829         not int.  All callers changed.
71830         * lib/regcomp.c (re_compile_fastmap_iter): Don't use
71831         alloca (mb_cur_max); just use an array of size MB_LEN_MAX.
71832         * lib/regexec.c (push_fail_stack): Use re_realloc, not realloc.
71833         (find_recover_state): Change "err" to "*err"; this fixes what
71834         appears to be a real bug.
71835         (check_arrival_expand_ecl_sub): Be consistent about reg_errcode_t
71836         versus int.
71837
71838 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
71839
71840         * modules/regex (Depends-on): Add malloc, since the code
71841         assumes that !malloc(0) means failure.
71842
71843 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
71844
71845         * lib/regexec.c (set_regs): Don't alloca with an unbounded size.
71846
71847         alloca modernization/simplification for regex.
71848         * lib/regex.c: Remove portability cruft for alloca.  This no longer
71849         needs to be at the start of the file, and can be moved into
71850         regex_internal.h and simplified.
71851         * lib/regex_internal.h: Include <alloca.h>.
71852         (__libc_use_alloca) [!defined _LIBC]: New macro.
71853         * lib/regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code
71854         now works outside glibc.
71855
71856 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
71857
71858         * config/srclist.txt: Add glibc bugs 1241, 1245.
71859
71860 2005-08-25  Jim Meyering  <jim@meyering.net>
71861
71862         * lib/open-safer.c: Include <config.h>.
71863         Otherwise, we'd lose LARGEFILE support in any file using
71864         e.g. "fcntl--.h"
71865
71866 2005-08-25  Bruno Haible  <bruno@clisp.org>
71867
71868         * m4/minmax.m4: Require autoconf 2.52.
71869         (gl_MINMAX_IN_HEADER): Add comments. Use m4_pushdef/m4_popdef instead
71870         of define/undefine. Use AS_TR_SH and AS_TR_CPP as more robust
71871         alternatives of translit over the alphabet.
71872         Based on a patch from Stepan Kasal <kasal@ucw.cz>.
71873
71874 2005-08-24  Simon Josefsson  <jas@extundo.com>
71875
71876         * tests/test-getpass.c: New file.
71877
71878 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
71879
71880         * m4/regex.m4 (gl_REGEX): Use POSIX-compliant spellings when testing
71881         for GNU regex features.
71882
71883 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
71884
71885         * lib/regcomp.c (regerror): 2nd arg is 'restrict', as per POSIX.
71886         * lib/regex.h (regerror): Likewise.
71887
71888         * lib/regex.c: Do not include <sys/types.h>, as POSIX no longer
71889         requires this.  (The code never needed it.)
71890
71891         * lib/regcomp.c, regex_internal.c, regex_internal.h, regexec.c:
71892         All uses of recently-renamed identifiers changed to use the new,
71893         POSIX-compliant names.  The code will build and run just fine
71894         without these changes, but it's better to eat our own dog food
71895         and use the standard-conforming names.
71896
71897         * lib/regex.h: Fix a multitude of POSIX name space violations.
71898         These changes have an effect only for programs that define
71899         _POSIX_C_SOURCE, _POSIX_SOURCE, or _XOPEN_SOURCE; they
71900         do not change anything for programs compiled in the normal way.
71901         Also, there is no effect on the ABI.
71902
71903         (_REGEX_SOURCE): New macro.
71904         Do not include <stddef.h> if _XOPEN_SOURCE and VMS are both
71905         defined and _GNU_SOURCE is not; this fixes a name space violation.
71906
71907         Rename the following macros to obey POSIX requirements.
71908         The old names are still visible as macros if _REGEX_SOURCE is defined.
71909         (REG_BACKSLASH_ESCAPE_IN_LISTS): renamed from
71910         RE_BACKSLASH_ESCAPE_IN_LISTS.
71911         (REG_BK_PLUS_QM): renamed from RE_BK_PLUS_QM.
71912         (REG_CHAR_CLASSES): renamed from RE_CHAR_CLASSES.
71913         (REG_CONTEXT_INDEP_ANCHORS): renamed from RE_CONTEXT_INDEP_ANCHORS.
71914         (REG_CONTEXT_INDEP_OPS): renamed from RE_CONTEXT_INDEP_OPS.
71915         (REG_CONTEXT_INVALID_OPS): renamed from RE_CONTEXT_INVALID_OPS.
71916         (REG_DOT_NEWLINE): renamed from RE_DOT_NEWLINE.
71917         (REG_DOT_NOT_NULL): renamed from RE_DOT_NOT_NULL.
71918         (REG_HAT_LISTS_NOT_NEWLINE): renamed from RE_HAT_LISTS_NOT_NEWLINE.
71919         (REG_INTERVALS): renamed from RE_INTERVALS.
71920         (REG_LIMITED_OPS): renamed from RE_LIMITED_OPS.
71921         (REG_NEWLINE_ALT): renamed from RE_NEWLINE_ALT.
71922         (REG_NO_BK_BRACES): renamed from RE_NO_BK_BRACES.
71923         (REG_NO_BK_PARENS): renamed from RE_NO_BK_PARENS.
71924         (REG_NO_BK_REFS): renamed from RE_NO_BK_REFS.
71925         (REG_NO_BK_VBAR): renamed from RE_NO_BK_VBAR.
71926         (REG_NO_EMPTY_RANGES): renamed from RE_NO_EMPTY_RANGES.
71927         (REG_UNMATCHED_RIGHT_PAREN_ORD): renamed from
71928         RE_UNMATCHED_RIGHT_PAREN_ORD.
71929         (REG_NO_POSIX_BACKTRACKING): renamed from RE_NO_POSIX_BACKTRACKING.
71930         (REG_NO_GNU_OPS): renamed from RE_NO_GNU_OPS.
71931         (REG_DEBUG): renamed from RE_DEBUG.
71932         (REG_INVALID_INTERVAL_ORD): renamed from RE_INVALID_INTERVAL_ORD.
71933         (REG_IGNORE_CASE): renamed from RE_ICASE.  This renaming is a bit
71934         unusual, since we can't clash with the POSIX REG_ICASE.
71935         (REG_CARET_ANCHORS_HERE): renamed from RE_CARET_ANCHORS_HERE.
71936         (REG_CONTEXT_INVALID_DUP): renamed from RE_CONTEXT_INVALID_DUP.
71937         (REG_NO_SUB): renamed from RE_NO_SUB.
71938         (REG_SYNTAX_EMACS): renamed from RE_SYNTAX_EMACS.
71939         (REG_SYNTAX_AWK): renamed from RE_SYNTAX_AWK.
71940         (REG_SYNTAX_GNU_AWK): renamed from RE_SYNTAX_GNU_AWK.
71941         (REG_SYNTAX_POSIX_AWK): renamed from RE_SYNTAX_POSIX_AWK.
71942         (REG_SYNTAX_GREP): renamed from RE_SYNTAX_GREP.
71943         (REG_SYNTAX_EGREP): renamed from RE_SYNTAX_EGREP.
71944         (REG_SYNTAX_POSIX_EGREP): renamed from RE_SYNTAX_POSIX_EGREP.
71945         (REG_SYNTAX_ED): renamed from RE_SYNTAX_ED.
71946         (REG_SYNTAX_SED): renamed from RE_SYNTAX_SED.
71947         (_REG_SYNTAX_POSIX_COMMON): renamed from _RE_SYNTAX_POSIX_COMMON.
71948         (REG_SYNTAX_POSIX_BASIC): renamed from RE_SYNTAX_POSIX_BASIC.
71949         (REG_SYNTAX_POSIX_MINIMAL_BASIC): renamed from
71950         RE_SYNTAX_POSIX_MINIMAL_BASIC.
71951         (REG_SYNTAX_POSIX_EXTENDED): renamed from RE_SYNTAX_POSIX_EXTENDED.
71952         (REG_SYNTAX_POSIX_MINIMAL_EXTENDED): renamed from
71953         RE_SYNTAX_POSIX_MINIMAL_EXTENDED.
71954         (REG_DUP_MAX): renamed from RE_DUP_MAX.  No need to undef it.
71955         (REG_UNALLOCATED): Renamed from REGS_UNALLOCATED.
71956         (REG_REALLOCATE): Renamed from REGS_REALLOCATE.
71957         (REG_FIXED): Renamed from REGS_FIXED.
71958         (REG_NREGS): Renamed from RE_NREGS.
71959
71960         (REG_ICASE, REG_NEWLINE, REG_NOSUB): Do not depend on the values
71961         of other REG_* macros, since POSIX says the user is allowed to
71962         #undef these macros selectively.
71963
71964         (reg_errcode_t): Update comment stating what other tables need
71965         to be consistent.
71966
71967         Rename the following enum values to obey POSIX requirements.
71968         The old names are still visible as macros.
71969         (_REG_ENOSYS): Renamed from REG_ENOSYS.  Define even if _XOPEN_SOURCE
71970         is not defined, since GNU is supposed to be a superset of POSIX as
71971         much as possible, and since we want reg_errcode_t to be a signed
71972         type for implementation consistency.
71973         (_REG_NOERROR): Renamed from REG_NOERROR.
71974         (_REG_NOMATCH): Renamed from REG_NOMATCH.
71975         (_REG_BADPAT): Renamed from REG_BADPAT.
71976         (_REG_ECOLLATE): Renamed from REG_ECOLLATE.
71977         (_REG_ECTYPE): Renamed from REG_ECTYPE.
71978         (_REG_EESCAPE): Renamed from REG_EESCAPE.
71979         (_REG_ESUBREG): Renamed from REG_ESUBREG.
71980         (_REG_EBRACK): Renamed from REG_EBRACK.
71981         (_REG_EPAREN): Renamed from REG_EPAREN.
71982         (_REG_EBRACE): Renamed from REG_EBRACE.
71983         (_REG_BADBR): Renamed from REG_BADBR.
71984         (_REG_ERANGE): Renamed from REG_ERANGE.
71985         (_REG_ESPACE): Renamed from REG_ESPACE.
71986         (_REG_BADRPT): Renamed from REG_BADRPT.
71987         (_REG_EEND): Renamed from REG_EEND.
71988         (_REG_ESIZE): Renamed from REG_ESIZE.
71989         (_REG_ERPAREN): Renamed from REG_ERPAREN.
71990         (REG_ENOSYS, REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE):
71991         (REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN):
71992         (REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT, REG_EEND):
71993         (REG_ESIZE, REG_ERPAREN): Now macros, not enum constants.
71994
71995         (_REG_RE_NAME, _REG_RM_NAME): New macros.
71996         (REG_TRANSLATE_TYPE): Renamed from RE_TRANSLATE_TYPE.  All uses
71997         changed.  But support the old name if the new one is not defined
71998         and if _REGEX_SOURCE.
71999
72000         Change the following member names in struct re_pattern_buffer.
72001         The old names are still supported if !_REGEX_SOURCE.
72002         The new names are always supported, regardless of _REGEX_SOURCE.
72003         (re_buffer): Renamed from buffer.
72004         (re_allocated): Renamed from allocated.
72005         (re_used): Renamed from used.
72006         (re_syntax): Renamed from syntax.
72007         (re_fastmap): Renamed from fastmap.
72008         (re_translate): Renamed from translate.
72009         (re_can_be_null): Renamed from can_be_null.
72010         (re_regs_allocated): Renamed from regs_allocated.
72011         (re_fastmap_accurate): Renamed from fastmap_accurate.
72012         (re_no_sub): Renamed from no_sub.
72013         (re_not_bol): Renamed from not_bol.
72014         (re_not_eol): Renamed from not_eol.
72015         (re_newline_anchor): Renamed from newline_anchor.
72016
72017         Change the following member names in struct re_registers.
72018         The old names are still supported if !_REGEX_SOURCE.
72019         The new names are always supported, regardless of _REGEX_SOURCE.
72020         (rm_num_regs): Renamed from num_regs.
72021         (rm_start): Renamed from start.
72022         (rm_end): Renamed from end.
72023
72024         (re_set_syntax, re_compile_pattern, re_compile_fastmap):
72025         (re_search, re_search_2, re_match, re_match_2, re_set_registers):
72026         Prepend __ to parameter names.
72027
72028         Undo yesterday's changes.
72029
72030 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
72031
72032         * config/srclist.txt: Remove glibc bug 1233 and add 1236, which
72033         supersedes it. Add glibc bugs 1237, 1238, 1240.  Comment out
72034         lib/regex.c.
72035
72036 2005-08-24  Jim Meyering  <jim@meyering.net>
72037
72038         Sync from coreutils.
72039         * m4/fcntl-safer.m4: New file.
72040
72041         * m4/xgetcwd.m4: Use AC_LIBSOURCES and AC_LIBOBJ to indicate source
72042         and object files for this module.
72043
72044 2005-08-24  Jim Meyering  <jim@meyering.net>
72045
72046         Sync from coreutils.
72047         * lib/fcntl--.h, lib/fcntl-safer.h, lib/open-safer.c: New files.
72048
72049 2005-08-24  Jim Meyering  <jim@meyering.net>
72050
72051         * modules/xgetcwd (Makefile.am): Remove `lib_SOURCES += ...' line,
72052         now that xgetcwd.m4 requires xgetcwd.c and xgetcwd.h.
72053
72054 2005-08-24  Jim Meyering  <jim@meyering.net>
72055
72056         * modules/fcntl-safer: New module.
72057         * modules/fts (Depends-on): Add fcntl-safer.
72058         * MODULES.html.sh (File descriptor based Input/Output):
72059         Add fcntl-safer.
72060
72061 2005-08-24  Bruno Haible  <bruno@clisp.org>
72062
72063         Support for unit test modules.
72064         * modules/README: Mention tests modules.
72065         * modules/TEMPLATE-TESTS: New file.
72066         * gnulib-tool: New options --extract-tests-module, --with-tests and
72067         --tests-base (unused for the moment).
72068         (testsbase, inctests): New variables.
72069         (func_all_modules): Exclude TEMPLATE-TESTS and *-tests.
72070         (func_verify_module): Exclude TEMPLATE-TESTS.
72071         (func_verify_nontests_module, func_verify_tests_module): New functions.
72072         (func_get_dependencies): Add implicit dependency for tests modules.
72073         (func_get_tests_module): New function.
72074         (func_modules_transitive_closure): When --with-tests was specified,
72075         include the unit tests as well, unless explicitly avoided.
72076         (func_emit_lib_Makefile_am): Ignore the tests modules here.
72077         (func_emit_tests_Makefile_am): New function.
72078         (func_create_testdir): When --with-tests was specified, emit a
72079         tests/ directory.
72080         * MODULES.html.sh (Future developments): Update.
72081
72082 2005-08-24  Bruno Haible  <bruno@clisp.org>
72083
72084         * modules/tls-tests: New file.
72085         * tests/test-tls.c: New file, from GNU gettext.
72086
72087 2005-08-24  Bruno Haible  <bruno@clisp.org>
72088
72089         * modules/lock-tests: New file.
72090         * tests/test-lock.c: New file, from GNU gettext.
72091
72092 2005-08-24  Bruno Haible  <bruno@clisp.org>
72093
72094         * lib/lock.h: Add multiple inclusion guard.
72095         * lib/tls.h: Add multiple inclusion guard.
72096
72097 2005-08-24  Bruno Haible  <bruno@clisp.org>
72098
72099         * gnulib-tool: Add support for the --aux-dir option to
72100         --create-testdir, --create-megatestdir, --test, --megatest.
72101         (func_create_testdir, func_create_megatestdir): Optionally emit a
72102         AC_CONFIG_AUX_DIR directive.
72103         (create-testdir, create-megatestdir, test, megatest): Provide a
72104         default value for $auxdir.
72105
72106 2005-08-24  Bruno Haible  <bruno@clisp.org>
72107
72108         * gnulib-tool (import): Use compound statement instead of subshell
72109         where possible.
72110
72111 2005-08-24  Bruno Haible  <bruno@clisp.org>
72112
72113         * gnulib-tool (import): Change --aux-dir default to "build-aux".
72114
72115 2005-08-24  Bruno Haible  <bruno@clisp.org>
72116
72117         * gnulib-tool (func_version): Update.
72118
72119 2005-08-24  Bruno Haible  <bruno@clisp.org>
72120
72121         * gnulib-tool (func_import, func_create_testdir,
72122         func_create_megatestdir): Quote all autoconf macro arguments.
72123
72124 2005-08-24  Bruno Haible  <bruno@clisp.org>
72125
72126         * gnulib-tool (func_create_megatestdir): Call autoreconf without the
72127         option --force, because --force causes the aclocal.m4 of each
72128         subdirectory to be newer than the corresponding config.h.in.
72129
72130 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
72131
72132         * m4/regex.m4 (gl_INCLUDED_REGEX): Remove; no longer used.
72133         All contents moved to gl_REGEX.
72134         (gl_REGEX): Don't bother checking whether lib/regex.c exists;
72135         assume that it does.
72136
72137 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
72138
72139         * lib/regex.h (REG_NOSYS)
72140         [!defined _XOPEN_SOURCE && 200112L <= _POSIX_C_SOURCE]:
72141         Define, since POSIX requires it as of 2001.
72142         (_REG_ENOSYS)
72143         [! (defined _XOPEN_SOURCE || 200112L <= _POSIX_C_SOURCE)]:
72144         New private symbol, used to keep the enum signed in all cases.
72145         * lib/regex.h (RE_NO_EMPTY_RANGES): Fix doc bug reported by James
72146         Youngman in
72147         <http://lists.gnu.org/archive/html/bug-gnulib/2005-07/msg00132.html>.
72148
72149         * lib/regex_internal.c (re_string_skip_chars, register_state):
72150         (calc_state_hash):
72151         Remove forward decls; no longer needed now that we use prototypes.
72152         * lib/regexec.c (acquire_init_state_context, check_halt_node_context):
72153         (proceed_next_node, pop_fail_stack, sub_epsilon_src_nodes):
72154         (clean_state_log_if_needed): Likewise.
72155
72156 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
72157
72158         * config/srclist.txt: Add glibc bugs 1231-1233.
72159
72160 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
72161
72162         Fix problems reported by Sam Steingold in
72163         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00007.html>.
72164         * lib/regexec.c (sift_states_bkref): Fix portability bug: the code
72165         assumed that reg_errcode_t is a signed type, which is not
72166         necessarily true if _XOPEN_SOURCE is not defined.
72167         * lib/regex_internal.c (calc_state_hash): Put 'inline' before type,
72168         since some compilers warn about it otherwise.
72169
72170 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
72171
72172         * lib/regcomp.c (create_initial_state): Remove duplicate decl.
72173         (init_word_char, create_initial_state, duplicate_node_closure):
72174         (fetch_token, peek_token_bracket, build_range_exp):
72175         (build_collating_symbol): Remove forward decls; no longer needed
72176         now that we use prototypes.
72177
72178         * lib/regcomp.c:
72179         (re_compile_pattern, re_set_syntax, re_compile_fastmap):
72180         (re_compile_fastmap_iter, regcomp, regerror, regfree):
72181         (re_compile_internal, init_dfa, init_word_char, free_workarea_compile):
72182         (create_initial_state, optimize_utf8, analyze, postorder, preorder):
72183         (optimize_subexps, lower_subexps, lower_subexp, calc_first, calc_next):
72184         (link_nfa_nodes, duplicate_node_closure, search_duplicated_node):
72185         (duplicate_node, calc_inveclosure, calc_eclosure, calc_eclosure_iter):
72186         (fetch_token, peek_token, peek_token_bracket, parse, parse_reg_exp):
72187         (parse_branch, parse_expression, parse_sub_exp, parse_dup_op):
72188         (build_range_exp, build_collating_symbol, parse_bracket_exp):
72189         (parse_bracket_element, parse_bracket_symbol, build_equiv_class):
72190         (build_charclass, build_charclass_op, fetch_number, create_tree):
72191         (create_token_tree, mark_opt_subexp, duplicate_tree):
72192         Use prototypes rather than old-style definitions.
72193
72194         * lib/regex_internal.c:
72195         (re_string_allocate, re_string_construct, re_string_realloc_buffers):
72196         (re_string_construct_common, build_wcs_buffer, build_wcs_upper_buffer):
72197         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
72198         (re_string_reconstruct, re_string_peek_byte_case):
72199         (re_string_fetch_byte_case, re_string_destruct, re_string_context_at):
72200         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
72201         (re_node_set_init_copy, re_node_set_add_intersect):
72202         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
72203         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
72204         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
72205         (re_acquire_state, re_acquire_state_context, register_state):
72206         (create_ci_newstate, create_cd_newstate, free_state):
72207         Likewise.
72208         * lib/regexec.c (regexec, re_match, re_search, re_match_2,
72209         re_search_2):
72210         (re_search_2_stub, re_search_stub, re_copy_regs, re_set_registers):
72211         (re_search_internal, prune_impossible_nodes):
72212         (acquire_init_state_context, check_matching, static):
72213         (check_halt_node_context, check_halt_state_context, proceed_next_node):
72214         (push_fail_stack, pop_fail_stack, set_regs, free_fail_stack_return):
72215         (update_regs, sift_states_backward, build_sifted_states):
72216         (clean_state_log_if_needed, merge_state_array):
72217         (update_cur_sifted_state, add_epsilon_src_nodes):
72218         (sub_epsilon_src_nodes, check_dst_limits, check_dst_limits_calc_pos_1):
72219         (check_dst_limits_calc_pos, check_subexp_limits, sift_states_bkref):
72220         (sift_states_iter_mb, transit_state, merge_state_with_log, static):
72221         (find_recover_state, check_subexp_matching_top, transit_state_mb):
72222         (transit_state_bkref, get_subexp, get_subexp_sub, find_subexp_node):
72223         (check_arrival, check_arrival_add_next_nodes):
72224         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
72225         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
72226         (check_node_accept_bytes, check_node_accept, extend_buffers):
72227         (match_ctx_init, match_ctx_clean, match_ctx_free, match_ctx_add_entry):
72228         (search_cur_bkref_entry, match_ctx_add_subtop, match_ctx_add_sublast):
72229         (sift_ctx_init):
72230         Likewise.
72231
72232         * lib/regex_internal.h:
72233         (re_string_allocate, re_string_construct, re_string_reconstruct):
72234         (re_string_realloc_buffers, build_wcs_buffer, build_wcs_upper_buffer):
72235         (build_upper_buffer, re_string_translate_buffer, re_string_destruct):
72236         (re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at):
72237         (re_string_context_at, re_string_peek_byte_case):
72238         (re_string_fetch_byte_case): Declare even if RE_NO_INTERNAL_PROTOTYPES
72239         is defined, since we now use prototypes always.
72240
72241         * lib/regex.h (_RE_ARGS): Remove.  No longer needed, since we assume
72242         C89 or better.  All uses removed.
72243
72244 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
72245
72246         * config/srclist.txt: Add glibc bugs 1220-1227.
72247
72248 2005-08-20  Jim Meyering  <jim@meyering.net>
72249
72250         * lib/regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration
72251         of unused local, dfa.
72252
72253 2005-08-20  Bruno Haible  <bruno@clisp.org>
72254
72255         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_GNU_SOURCE.
72256
72257 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
72258
72259         * lib/regex_internal.c (re_string_realloc_buffers, re_node_set_insert):
72260         (re_node_set_insert_last, re_dfa_add_node):
72261         Rename local variables to avoid GCC shadowing warnings.
72262
72263 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
72264
72265         * lib/regex_internal.c (re_acquire_state, re_acquire_state_context)
72266         [defined lint]: Suppress bogus uninitialized-variable warnings.
72267
72268         * lib/regcomp.c (duplicate_node): Return new index, not an error code,
72269         and let the caller return REG_ESPACE if out of space.  This
72270         removes an uninitialied-variable warning with GCC 4.0.1, and also
72271         avoids taking the address of a local variable.  All callers
72272         changed.
72273
72274 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
72275
72276         * config/srclist.txt: Comment out $LIBCSRC/posix/regex_internal.c,
72277         $LIBCSRC/posix/regexec.c.
72278         Add glibc bug 1217 for regcomp.c.
72279
72280 2005-08-19  Jim Meyering  <jim@meyering.net>
72281
72282         * lib/regexec.c (proceed_next_node): Redo local variables to
72283         avoid GCC shadowing warnings.
72284
72285 2005-08-18  Bruno Haible  <bruno@clisp.org>
72286
72287         * lib/strstr.c (strstr): Fix return value in multibyte case.
72288         * lib/strcasestr.c (strcasestr): Likewise.
72289
72290 2005-08-17  Paul Eggert  <eggert@cs.ucla.edu>
72291
72292         * lib/regex.h: Remove useless space-before-tab.  From coreutils.
72293
72294 2005-08-17  Jim Meyering  <jim@meyering.net>
72295
72296         Make the %s format (seconds since the epoch) work for a negative
72297         number and when used with a zero-padded field width, e.g. %015s.
72298
72299         * lib/strftime.c (my_strftime): Move the `do_number_sign_and_padding'
72300         label so that it precedes the code to set `digits'.  Otherwise,
72301         %0Ns wouldn't work.  Before this change, `date -d @-22 +%05s' would
72302         print `00-22'.  Now, it prints `-0022', as it should.
72303
72304 2005-08-17  Bruno Haible  <bruno@clisp.org>
72305
72306         * modules/strstr (Files): Add m4/mbrtowc.m4.
72307         (Depends-on): Add mbuiter.
72308
72309 2005-08-17  Bruno Haible  <bruno@clisp.org>
72310
72311         * modules/strcasestr: New file.
72312         * MODULES.html.sh (String handling, based on ANSI C 89): Add
72313         strcasestr.
72314
72315 2005-08-17  Bruno Haible  <bruno@clisp.org>
72316
72317         * modules/strcase (Depends-on): Add mbuiter. Remove strnlen1, mbchar.
72318
72319 2005-08-17  Bruno Haible  <bruno@clisp.org>
72320
72321         * modules/mbuiter: New file.
72322         * MODULES.html.sh (Extended multibyte and wide character utilities):
72323         Add mbuiter.
72324
72325 2005-08-17  Bruno Haible  <bruno@clisp.org>
72326
72327         * m4/strstr.m4 (gl_FUNC_STRSTR): Use the replacement function always.
72328         (gl_PREREQ_STRSTR): Use gl_FUNC_MBRTOWC.
72329
72330 2005-08-17  Bruno Haible  <bruno@clisp.org>
72331
72332         * m4/strcasestr.m4: New file.
72333
72334 2005-08-17  Bruno Haible  <bruno@clisp.org>
72335
72336         * lib/strstr.h: Ignore HAVE_STRSTR, always declare the gnulib function.
72337         * lib/strstr.c: Completely rewritten, with multibyte locale support.
72338
72339 2005-08-17  Bruno Haible  <bruno@clisp.org>
72340
72341         * lib/strcasestr.h: New file.
72342         * lib/strcasestr.c: New file.
72343
72344 2005-08-17  Bruno Haible  <bruno@clisp.org>
72345
72346         * lib/strcasecmp.c: Use mbuiter.h.
72347
72348 2005-08-17  Bruno Haible  <bruno@clisp.org>
72349
72350         * lib/mbuiter.h: New file.
72351
72352 2005-08-16  Paul Eggert  <eggert@cs.ucla.edu>
72353
72354         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not override the results
72355         of gl_GETOPT_SUBSTITUTE.  That way, if both gl_GETOPT_SUBSTITUTE
72356         and gl_GETOPT are both invoked via different paths (as happens
72357         with GNU tar CVS because it uses both argp and getopt), the former
72358         wins.
72359
72360 2005-08-16  Bruno Haible  <bruno@clisp.org>
72361
72362         * modules/tls: New file.
72363         * MODULES.html.sh (Multithreading): Add tls.
72364
72365 2005-08-16  Bruno Haible  <bruno@clisp.org>
72366
72367         * modules/strnlen1: New file.
72368         * MODULES.html.sh (String handling): Add strnlen1.
72369
72370 2005-08-16  Bruno Haible  <bruno@clisp.org>
72371
72372         * modules/strcase (Files): Add m4/mbrtowc.m4.
72373         (Depends-on): Add strnlen1, mbchar.
72374
72375 2005-08-16  Bruno Haible  <bruno@clisp.org>
72376
72377         * modules/mbiter: New file.
72378         * MODULES.html.sh (Extended multibyte and wide character utilities):
72379         Add mbiter.
72380
72381 2005-08-16  Bruno Haible  <bruno@clisp.org>
72382
72383         * modules/mbfile: New file.
72384         * MODULES.html.sh (Extended multibyte and wide character utilities):
72385         Add mbfile.
72386
72387 2005-08-16  Bruno Haible  <bruno@clisp.org>
72388
72389         * modules/mbchar: New file.
72390         * MODULES.html.sh (Extended multibyte and wide character utilities):
72391         New section.
72392
72393 2005-08-16  Bruno Haible  <bruno@clisp.org>
72394
72395         * m4/tls.m4: New file, from GNU gettext.
72396
72397 2005-08-16  Bruno Haible  <bruno@clisp.org>
72398
72399         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Use the replacement function
72400         always.
72401         (gl_PREREQ_STRCASECMP): Use gl_FUNC_MBRTOWC.
72402
72403 2005-08-16  Bruno Haible  <bruno@clisp.org>
72404
72405         * m4/mbiter.m4: New file.
72406
72407 2005-08-16  Bruno Haible  <bruno@clisp.org>
72408
72409         * m4/mbfile.m4: New file.
72410
72411 2005-08-16  Bruno Haible  <bruno@clisp.org>
72412
72413         * m4/mbchar.m4: New file.
72414
72415 2005-08-16  Bruno Haible  <bruno@clisp.org>
72416
72417         * lib/tls.h: New file, from GNU gettext.
72418         * lib/tls.c: New file, from GNU gettext.
72419
72420 2005-08-16  Bruno Haible  <bruno@clisp.org>
72421
72422         * lib/strnlen1.h: New file.
72423         * lib/strnlen1.c: New file.
72424
72425 2005-08-16  Bruno Haible  <bruno@clisp.org>
72426
72427         * lib/strcasecmp.c (struct mbiter_multi): Remove at_end field.
72428         (mbi_init): Update.
72429         (mbi_avail, mbi_advance): Let the iteration end before the terminating
72430         NUL byte, not after it.
72431
72432 2005-08-16  Bruno Haible  <bruno@clisp.org>
72433
72434         * lib/strcase.h (strcasecmp): Add note in comments.
72435         * lib/strncasecmp.c: Use code from strcasecmp.c.
72436         * lib/strcasecmp.c: Use mbchar module. Define private mbiter variant.
72437         (strcasecmp): Work correctly in multibyte locales.
72438
72439 2005-08-16  Bruno Haible  <bruno@clisp.org>
72440
72441         * lib/mbiter.h: New file.
72442
72443 2005-08-16  Bruno Haible  <bruno@clisp.org>
72444
72445         * lib/mbfile.h: New file.
72446
72447 2005-08-16  Bruno Haible  <bruno@clisp.org>
72448
72449         * lib/mbchar.h: New file.
72450         * lib/mbchar.c: New file.
72451
72452 2005-08-16  Bruno Haible  <bruno@clisp.org>
72453
72454         * lib/mbchar.h (mb_cmp, mb_casecmp): Order the invalid characters after
72455         the valid ones. Makes the comparison operations transitive:
72456         cmp (a, b) < 0 && cmp (b, c) < 0 ==> cmp (a, c) < 0.
72457         * lib/strcasecmp.c (strcasecmp): Use mb_casecmp.
72458
72459 2005-08-15  Simon Josefsson  <jas@extundo.com>
72460
72461         * modules/ssize_t (License): Change to 'unlimited'.
72462
72463         * gnulib-tool (sed_extract_prog): Recognize 'unlimited' license.
72464
72465 2005-08-15  Paul Eggert  <eggert@cs.ucla.edu>
72466
72467         * config/srclist.txt: Comment out $LIBCSRC/posix/regex.h.
72468         Add comments for each pending glibc patch.
72469
72470 2005-08-15  Bruno Haible  <bruno@clisp.org>
72471
72472         * lib/regex.h (__restrict_arr): Don't define to __restrict if
72473         __cplusplus is defined.
72474
72475 2005-08-14  Jim Meyering  <jim@meyering.net>
72476
72477         Sync from coreutils.
72478
72479         * lib/fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir):
72480         Use the hash-table-based cycle-detection code not just when
72481         FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL.
72482         Reported by James Youngman in
72483         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00011.html>.
72484         * lib/fts_.h: Mention that with FTS_LOGICAL, we use
72485         FTS_TIGHT_CYCLE_CHECK.
72486         * lib/fts.c (fts_cross_check) [FTS_DEBUG]:
72487         s/active_dir_ht/fts_cycle.ht/. This lets us compile with -DFTS_DEBUG,
72488         once again.
72489         * lib/fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own.
72490         * lib/fts.c (fd_safer): Remove decl.
72491         Include fcntl--.h rather than unistd-safer.h
72492         (fts_safe_changedir): Don't call fd_safer; no longer needed
72493         now that we include fcntl--.h.
72494
72495 2005-08-12  Simon Josefsson  <jas@extundo.com>
72496
72497         * modules/getndelim2: Use ssize_t module.
72498         * modules/getnline: Likewise.
72499         * modules/safe-read: Likewise.
72500         * modules/xreadlink: Likewise.
72501
72502         * modules/ssize_t: New file.
72503
72504 2005-08-12  Simon Josefsson  <jas@extundo.com>
72505
72506         * m4/readline.m4: Look for termcap, curses or ncurses if required.
72507
72508 2005-08-12  Simon Josefsson  <jas@extundo.com>
72509
72510         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
72511         ssize_t.
72512
72513 2005-08-12  Simon Josefsson  <jas@extundo.com>
72514
72515         * MODULES.html.sh (Extra functions based on ANSI C 89: Misc): Add
72516         readline, getdelim and check_version.
72517         (Support for systems lacking ISO C 99: Sizes of integer types):
72518         Add size_max.
72519
72520 2005-08-12  Bruno Haible  <bruno@clisp.org>
72521
72522         * m4/readline.m4 (gl_FUNC_READLINE): Look for ncurses first.
72523
72524 2005-08-11  Simon Josefsson  <jas@extundo.com>
72525
72526         * modules/readline: New file.
72527
72528         * modules/strnlen (Files): Add strnlen.h.
72529
72530 2005-08-11  Simon Josefsson  <jas@extundo.com>
72531
72532         * m4/readline.m4: New file.
72533
72534 2005-08-11  Simon Josefsson  <jas@extundo.com>
72535
72536         * lib/readline.h, readline.c: New file.
72537
72538 2005-08-11  Simon Josefsson  <jas@extundo.com>
72539
72540         * doc/gnulib.texi (Initial import, Finishing touches): Mention
72541         gl_AVOID.
72542
72543 2005-08-11  Bruno Haible  <bruno@clisp.org>
72544
72545         * lib/strnlen.h (strnlen): Change parameter name to match comment.
72546
72547 2005-08-10  Stepan Kasal  <kasal@ucw.cz>
72548
72549         * m4/onceonly_2_57.m4: Really require Autoconf 2.57.
72550
72551 2005-08-10  Simon Josefsson  <jas@extundo.com>
72552
72553         * tests/test-iconvme.c: New file.
72554
72555 2005-08-10  Simon Josefsson  <jas@extundo.com>
72556
72557         * m4/strnlen.m4: New file.
72558
72559         * m4/strndup.m4: Don't check for strnlen declaration, done in
72560         strnlen.m4.
72561
72562 2005-08-10  Simon Josefsson  <jas@extundo.com>
72563
72564         * lib/strndup.c: Use strnlen.h.
72565
72566         * lib/strnlen.h: New file.
72567
72568 2005-08-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
72569
72570         * README: Typos.
72571
72572 2005-08-02  Simon Josefsson  <jas@extundo.com>
72573
72574         * modules/readline: New file.
72575
72576 2005-08-02  Simon Josefsson  <jas@extundo.com>
72577
72578         * modules/getdelim: New file.
72579
72580         * modules/getline: Rewrite, don't use getndelim2.
72581
72582 2005-08-02  Simon Josefsson  <jas@extundo.com>
72583
72584         * m4/getline.m4: Separate out getdelim stuff into separate module.
72585
72586         * m4/getdelim.m4: New file.
72587
72588 2005-08-02  Simon Josefsson  <jas@extundo.com>
72589
72590         * lib/getline.h, getline.c: Rewrite.
72591
72592         * lib/getdelim.h, lib/getdelim.c: New files, ported from glibc.
72593
72594 2005-07-31  Bruno Haible  <bruno@clisp.org>
72595
72596         * lib/lock.h (gl_lock_initializer): New macro.
72597         (gl_lock_define_initialized): Use it.
72598         (gl_rwlock_initializer): New macro.
72599         (gl_rwlock_define_initialized): Use it.
72600         (gl_recursive_lock_initializer): New macro.
72601         (gl_recursive_lock_define_initialized): Use it.
72602
72603 2005-07-30  Karl Berry  <karl@gnu.org>
72604
72605         * doc/gnulib.texi (Initial import): mention -I$(top_builddir)/lib.
72606         Report from Ben Pfaff, regarding getopt.
72607
72608 2005-07-26  Paul Eggert  <eggert@cs.ucla.edu>
72609
72610         Add support to getopt for Emacs, which doesn't use LIBOBJS in the
72611         normal way.
72612         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): New macro.
72613         (gl_GETOPT_SUBSTITUTE): Use it.  Invoke gl_PREREQ_GETOPT.
72614         (gl_GETOPT_IFELSE, gl_GETOPT_CHECK_HEADERS): New macros.
72615         (gl_GETOPT): Use the new macros.  Most of the implementation
72616         is moved to the new macros.  This is for programs like Emacs
72617         that don't want all the functionality of gl_GETOPT.
72618
72619 2005-07-26  Bruno Haible  <bruno@clisp.org>
72620
72621         * m4/lock.m4: Update from GNU gettext.
72622
72623 2005-07-26  Bruno Haible  <bruno@clisp.org>
72624
72625         * lib/lock.h: Update from GNU gettext.
72626         * lib/lock.c: Update from GNU gettext.
72627
72628 2005-07-25  Paul Eggert  <eggert@cs.ucla.edu>
72629
72630         * m4/regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_IFELSE instead of the
72631         obsolescent AC_TRY_RUN.  Include the default includes files, for
72632         'exit'.
72633
72634 2005-07-24  Bruno Haible  <bruno@clisp.org>
72635
72636         * modules/visibility: New file.
72637         * MODULES.html.sh (Misc): Add visibility.
72638
72639 2005-07-24  Bruno Haible  <bruno@clisp.org>
72640
72641         * m4/visibility.m4: New file.
72642
72643 2005-07-24  Bruno Haible  <bruno@clisp.org>
72644
72645         * doc/visibility.texi: New file.
72646
72647 2005-07-22  Bruno Haible  <bruno@clisp.org>
72648
72649         * modules/alloca-opt (Makefile.am): Remove explicit dependency on
72650         $(ALLOCA_H), redundant through BUILT_SOURCES.
72651         * modules/argz (Makefile.am): Remove explicit dependency on $(ARGZ_H),
72652         redundant through BUILT_SOURCES.
72653         * modules/byteswap (Makefile.am): Remove explicit dependency on
72654         $(BYTESWAP_H), redundant through BUILT_SOURCES.
72655         * modules/fnmatch (Makefile.am): Remove explicit dependency on
72656         $(FNMATCH_H), redundant through BUILT_SOURCES.
72657         * modules/getopt (Makefile.am): Remove explicit dependency on
72658         $(GETOPT_H), redundant through BUILT_SOURCES.
72659         * modules/glob (Makefile.am): Remove explicit dependency on $(GLOB_H),
72660         redundant through BUILT_SOURCES.
72661         * modules/poll (Makefile.am): Remove explicit dependency on $(POLL_H),
72662         redundant through BUILT_SOURCES.
72663         * modules/stdbool (Makefile.am): Remove explicit dependency on
72664         $(STDBOOL_H), redundant through BUILT_SOURCES.
72665         * modules/stdint (Makefile.am): Remove explicit dependency on
72666         $(STDINT_H), redundant through BUILT_SOURCES.
72667         * modules/sysexits (Makefile.am): Add $(SYSEXITS_H) to BUILT_SOURCES.
72668         Remove explicit dependency on $(SYSEXITS_H).
72669         Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.
72670
72671 2005-07-18  Simon Josefsson  <jas@extundo.com>
72672
72673         * lib/check-version.c (check_version): Accept identical versions too.
72674
72675 2005-07-18  Bruno Haible  <bruno@clisp.org>
72676
72677         * modules/lock: New file.
72678         * MODULES.html.sh (Multithreading): New section.
72679
72680 2005-07-18  Bruno Haible  <bruno@clisp.org>
72681
72682         * m4/lock.m4: New file, from GNU gettext.
72683
72684 2005-07-18  Bruno Haible  <bruno@clisp.org>
72685
72686         * lib/lock.h: New file, from GNU gettext.
72687         * lib/lock.c: New file, from GNU gettext.
72688
72689 2005-07-18  Bruno Haible  <bruno@clisp.org>
72690
72691         * lib/lock.h (gl_once_t): New type.
72692         (gl_once_define, gl_once): New macros.
72693         * lib/lock.c (fresh_once): New variable.
72694         (glthread_once, glthread_once_call, glthread_once_singlethreaded): New
72695         functions.
72696
72697 2005-07-16  Simon Josefsson  <jas@extundo.com>
72698
72699         * doc/gnulib.texi (Library version handling): Add ELF symbol collision
72700         workaround, suggested by Bruno.
72701
72702 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
72703
72704         * modules/xalloc (Depends-on): Add xalloc-die.
72705         * modules/xvasprintf (Depends-on): Add xalloc-die.
72706
72707 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
72708
72709         * lib/quotearg.c: Add translator comment suggested by Bruno Haible,
72710         with a minor change.
72711
72712 2005-07-15  Bruno Haible  <bruno@clisp.org>
72713
72714         * m4/poll.m4 (gl_FUNC_POLL): Check against MacOS X 10.4 poll() bug.
72715         When using lib/poll.c, define poll as rpl_poll.
72716
72717 2005-07-14  Paul Eggert  <eggert@cs.ucla.edu>
72718
72719         * modules/argp (Depends-on): Remove unlocked-io.
72720
72721 2005-07-14  Derek Price  <derek@ximbiot.com>
72722
72723         * m4/glob.m4 (gl_GLOB): Cache glob interface check result.  Add check
72724         for glob symlink bug.
72725
72726 2005-07-14  Bruno Haible  <bruno@clisp.org>
72727
72728         * m4/argp.m4 (gl_ARGP): Remove invocation of gl_FUNC_GLIBC_UNLOCKED_IO.
72729         Instead, test for *_unlocked function declarations directly.
72730
72731 2005-07-11  Simon Josefsson  <jas@extundo.com>
72732
72733         * modules/size_max: New file.
72734
72735         * modules/xsize: Depend on size_max module for size_max.m4.
72736
72737 2005-07-11  Simon Josefsson  <jas@extundo.com>
72738
72739         * lib/size_max.h: New file.
72740
72741 2005-07-11  Paul Eggert  <eggert@cs.ucla.edu>
72742
72743         * lib/version-etc-fsf.c (version_etc_copyright): Parameterize the
72744         copyright symbol and the year.
72745         * lib/version-etc.c (COPYRIGHT_YEAR): New constant.
72746         (version_etc_va): Use parameterized copyright notice.
72747         Reword to conform to the current GNU coding standards.
72748
72749 2005-07-11  Karl Berry  <karl@gnu.org>
72750
72751         * doc/gnulib.texi (Quoting): new node.
72752         (Initial import): more info, from Patrice.
72753
72754 2005-07-11  Bruno Haible  <bruno@clisp.org>
72755
72756         * gnulib-tool (func_usage): Document option --avoid.
72757         (Command line options): Handle --avoid.
72758         (func_acceptable): New function.
72759         (func_modules_transitive_closure): Use it.
72760
72761 2005-07-11  Bruno Haible  <bruno@clisp.org>
72762
72763         * MODULES.html.sh: Use shortcut URLs to the www.opengroup.org site.
72764         Reported by Jim Meyering.
72765
72766 2005-07-10  Bruno Haible  <bruno@clisp.org>
72767
72768         * m4/size_max.m4 (gl_SIZE_MAX): Cast ~(size_t)0 back to size_t.
72769         Needed when size_t is smaller than 'unsigned int'.
72770         Reported by Paul Eggert.
72771
72772 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
72773
72774         * modules/argp (Depends-on): Add unlocked-io
72775
72776 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
72777
72778         * lib/argp-namefrob.h: Include unlocked-io.h. Removed unnecessary
72779         block of defines.
72780
72781 2005-07-08  Paul Eggert  <eggert@cs.ucla.edu>
72782
72783         * config/srclist.txt: Comment out regcomp.c, since we have a porting
72784         fix now.
72785
72786 2005-07-08  Eric Blake  <ebb9@byu.net>  (tiny change)
72787         and Paul Eggert  <eggert@cs.ucla.edu>
72788
72789         * lib/regcomp.c (init_dfa, build_range_exp): Store __btowc value
72790         in wint_t, not wchar_t.  Remove now-unnecessary cast.
72791
72792 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
72793
72794         * modules/regex (Files): Add lib/regex_internal.c,
72795         lib/regex_internal.h, lib/regexec.c, lib/regcomp.c, m4/codeset.m4.
72796         (Depends-on): Add extensions.
72797         (Makefile.am): Remove lib_SOURCES; now done by m4 code.
72798
72799 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
72800
72801         * m4/backupfile.m4 (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on
72802         pathconf.
72803         * m4/same.m4 (gl_SAME): Likewise.
72804         Require AC_SYS_LONG_FILE_NAMES; bug reported by Gerrit P. Haase.
72805
72806         * m4/regex.m4: Adjust to new libc regex implementation.
72807         (gl_INCLUDED_REGEX): Add AC_LIBSOURCES for
72808         all the .c and .h parts of (the new) regex.
72809         Quote the m4 stuff better.
72810         Check for RE_ICASE bug of old gnulib.
72811         Check for REG_STARTEND of recent libc.
72812         Rename local variables from jm_* to gl_*.
72813         Quote operand of "test -f".
72814         Say "recent enough" version of libc, not "version 2".
72815         (gl_PREREQ_REGEX): Remove AC_FUNC_ALLOCA, since alloca is a
72816         prerequisite module.  Remove AC_HEADER_STDC; no longer needed.
72817         Check for locale.h, isblank, mbrtowc, wcrtomb, wcscoll.
72818         Remove check for btowc, isascii.
72819         Require AM_LANGINFO_CODESET.
72820
72821 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
72822
72823         * lib/regex.c, regex.h: Sync from libc.
72824         * lib/regcomp.c, lib/regexec_internal.c, lib/regex_internal.h:
72825         * lib/regexec.c:
72826         New files, synced from libc, except that regex_internal.h
72827         currently has a small porting fix.
72828
72829 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
72830
72831         * config/srclist.txt: Add regcomp.c, regex.c, regex.h,
72832         regex_internal.c, regexec.c.
72833         Add regex_internal.h too, but as a comment, since the libc version
72834         is currently broken in gnulib mode.
72835
72836 2005-07-06  Paul Eggert  <eggert@cs.ucla.edu>
72837
72838         Support programs like Emacs that use gnulib but not gettext.
72839         * MODULES.html.sh (Internationalization functions): Add gettext-h.
72840         * modules/gettext-h: New file.
72841         * modules/gettext (Files): Remove lib/gettext.h.
72842         (Depends-on): Add gettext-h.
72843         (Makefile.am): Remove lib_SOURCES.
72844         * modules/argmatch, modules/c-stack, modules/closeout:
72845         * modules/copy-file, modules/csharpcomp, modules/csharpexec:
72846         * modules/execute, modules/file-type, modules/getaddrinfo:
72847         * modules/getopt, modules/human, modules/javacomp:
72848         * modules/javaexec, modules/mkdir-p, modules/obstack:
72849         * modules/openat, modules/pagealign_alloc, modules/pipe:
72850         * modules/quotearg, modules/regex, modules/rpmatch:
72851         * modules/unicodeio, modules/userspec, modules/version-etc:
72852         * modules/wait-process, modules/xalloc-die, modules/xmemcoll:
72853         * modules/xsetenv:
72854         Depend on gettext-h, not gettext.
72855
72856 2005-07-05  Paul Eggert  <eggert@cs.ucla.edu>
72857
72858         * gnulib-tool (func_import): Add support for 'public domain' license.
72859         * modules/alloca, modules/atexit, modules/memmove:
72860         Now public domain, not GPL.
72861         * modules/dup2, modules/getpagesize, modules/malloc, modules/memset:
72862         * modules/realloc, modules/strerror, modules/strtod:
72863         Now LGPL, not GPL.
72864
72865 2005-07-05  Bruno Haible  <bruno@clisp.org>
72866
72867         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Upgrade to version from current
72868         autoconf CVS. Needed for mingw.
72869
72870 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
72871
72872         Remove the dependency of the strftime module on the tzset module.
72873         * modules/strftime (Depends-on): Remove dependency on tzset.
72874
72875 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
72876
72877         Remove the dependency of the strftime module on the tzset module.
72878         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't require
72879         gl_FUNC_TZSET_CLOBBER.
72880
72881 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
72882
72883         Remove the dependency of the strftime module on the tzset module.
72884         * lib/strftime.c (my_strftime)
72885         [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
72886         Copy the input structure, to work around some of the bug with
72887         Solaris 2.5.1 and Solaris 2.6.  If you still care about these old
72888         Solaris releases, you should also use the tzset module, but we won't
72889         require it as a dependency any more since we don't want LGPLed code
72890         to depend on GPLed code.
72891
72892 2005-07-02  Jim Meyering  <jim@meyering.net>
72893
72894         * m4/chown.m4, cloexec.m4, dup2.m4, fsusage.m4:
72895         * m4/getcwd-path-max.m4, getcwd.m4, mkstemp.m4, mountlist.m4:
72896         * m4/pagealign_alloc.m4, save-cwd.m4, unistd-safer.m4:
72897         Don't check for fcntl.h, and don't test for HAVE_FCNTL_H.
72898
72899 2005-07-02  Jim Meyering  <jim@meyering.net>
72900
72901         * lib/backupfile.c (backup_args): Change a `0' to NULL.
72902
72903 2005-07-01  Paul Eggert  <eggert@cs.ucla.edu>
72904
72905         * lib/xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h>
72906         declares only 'struct timespec;' (!).
72907
72908 2005-07-01  Jim Meyering  <jim@meyering.net>
72909
72910         * lib/chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c:
72911         * lib/getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c:
72912         * lib/save-cwd.c, tempname.c:
72913         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
72914         and don't include <sys/file.h>).
72915
72916 2005-06-29  Jim Meyering  <jim@meyering.net>
72917
72918         * lib/mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded
72919         type name.  Use the variable name instead.
72920         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
72921         Likewise.
72922
72923 2005-06-28  Simon Josefsson  <jas@extundo.com>
72924
72925         * modules/check-version (Files): Add check-version.m4.
72926
72927 2005-06-28  Simon Josefsson  <jas@extundo.com>
72928
72929         * m4/check-version.m4: New file, suggested by Jim Meyering
72930         <jim@meyering.net>.
72931
72932 2005-06-28  Simon Josefsson  <jas@extundo.com>
72933
72934         * lib/check-version.h, lib/check-version.c: New files.
72935
72936 2005-06-28  Simon Josefsson  <jas@extundo.com>
72937
72938         * lib/base64.c (base64_encode): Indent.  Rename 'b64' to avoid
72939         collision with global variable.  Better indentation.  Don't
72940         increment buffer pointer beyond buffer end.  Based on comments
72941         from Paul Eggert <eggert@cs.ucla.edu>.
72942
72943         * lib/base64.h: Indent.
72944
72945 2005-06-28  Simon Josefsson  <jas@extundo.com>
72946
72947         * doc/gnulib.texi (Library version handling): New section.
72948
72949 2005-06-28  Jim Meyering  <jim@meyering.net>
72950
72951         * check-module (find_included_lib_files): Hard-code another
72952         pair of exceptions: fts.c includes fts-cycle.c and unistd-safer.h
72953         but modules/fts-lgpl (correctly) does not list those files.
72954
72955         * modules/canonicalize (Files): Add lib/pathmax.h.
72956
72957 2005-06-25  Simon Josefsson  <jas@extundo.com>
72958
72959         * modules/check-version: New file.
72960
72961 2005-06-24  Paul Eggert  <eggert@cs.ucla.edu>
72962
72963         * lib/canon-host.c (canon-host): Append trailing "," to 0 in
72964         initializer of struct addrinfo, as an indication that we don't
72965         care how many members the structure has.
72966
72967 2005-06-24  Derek Price  <derek@ximbiot.com>
72968         and Bruno Haible  <bruno@clisp.org>
72969
72970         Remove stat module & update lstat.
72971         * m4/lstat.m4 (gl_FUNC_LSTAT): Drop AC_FUNC_LSTAT in favor of
72972         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
72973         * m4/stat.m4: Remove this file.
72974
72975 2005-06-24  Derek Price  <derek@ximbiot.com>
72976         and Bruno Haible  <bruno@clisp.org>
72977
72978         Remove stat module & update lstat.
72979         * lib/stat.c: Remove this file...
72980         (slash_aware_lstat): ...moving this content and its support...
72981         * lib/lstat.c (rpl_lstat): ...into here.
72982         * lib/lstat.h: New file.
72983
72984 2005-06-24  Derek Price  <derek@ximbiot.com>
72985         and Bruno Haible  <bruno@clisp.org>
72986
72987         Remove stat module & update lstat.
72988         * config/srclist.txt (libc sources): Remove stat.
72989
72990 2005-06-24  Derek Price  <derek@ximbiot.com>
72991         and Bruno Haible  <bruno@clisp.org>
72992
72993         Remove stat module & update lstat.
72994         * MODULES.html.sh (stat): Remove.
72995         * MODULES.html: Regenerated.
72996         * modules/lstat (Description): Correct function name.
72997         (Files): Add "lstat.h".
72998         (Depends-on): Remove stat, add xalloc, stat-macros.
72999         * modules/stat: Remove this file.
73000         (Include): Add "lstat.h", remove <sys/stat.h>.
73001
73002 2005-06-23  Paul Eggert  <eggert@cs.ucla.edu>
73003
73004         * lib/mktime.c: Include <string.h> even if !DEBUG.  (From glibc.)
73005         (ranged_convert): Don't save conversion in a temporary struct.
73006         This causes a warning with GCC 4.0.0, and anyway in the typical
73007         case it's not worth the extra 100 bytes or so of code.
73008         (ranged_convert, __mktime_internal): When calling a function via a
73009         pointer P, use P () rather than (*P) (), as we now assume C89 or
73010         better.
73011
73012 2005-06-22  Paul Eggert  <eggert@cs.ucla.edu>
73013
73014         * lib/readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and
73015         "who -r" failed to give output.  Problem reported by Tim Waugh.
73016
73017         * lib/xmalloc.c (HAVE_GNU_CALLOC): New constant.
73018         (xcalloc): Use it to avoid needless tests.
73019         Problem reported by Jim Meyering.
73020
73021 2005-06-20  Derek Price  <derek@ximbiot.com>
73022
73023         * m4/bison.m4: Note that precious decls of YACC & YFLAGS will be
73024         unnecessary for Autoconfs > 2.59c.
73025
73026 2005-06-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
73027
73028         * lib/argp.h (__option_is_short): Check upper limit of
73029         __key. Isprint() requires its argument to have the value
73030         of an unsigned char or EOF.
73031
73032 2005-06-16  Jim Meyering  <jim@meyering.net>
73033
73034         * lib/calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1)
73035         when either N or S is zero.
73036
73037 2005-06-16  Derek Price  <derek@ximbiot.com>
73038
73039         * m4/bison.m4: Declare YACC & YFLAGS precious.
73040
73041 2005-06-10  Paul Eggert  <eggert@cs.ucla.edu>
73042
73043         * lib/fnmatch.c (fnmatch): If there is an encoding error in a
73044         multibyte string or pattern, fall back on unibyte matching.
73045         Problem reported by James Youngman.
73046
73047 2005-06-08  Bruno Haible  <bruno@clisp.org>
73048
73049         * modules/csharpcomp: New file.
73050         * MODULES.html.sh (C#): Add csharpcomp.
73051
73052 2005-06-08  Bruno Haible  <bruno@clisp.org>
73053
73054         * m4/csharpcomp.m4: New file, from GNU gettext.
73055
73056 2005-06-08  Bruno Haible  <bruno@clisp.org>
73057
73058         * lib/csharpcomp.h: New file, from GNU gettext.
73059         * lib/csharpcomp.c: New file, from GNU gettext.
73060         * lib/csharpcomp.sh.in: New file, from GNU gettext.
73061
73062 2005-06-08  Bruno Haible  <bruno@clisp.org>
73063
73064         * lib/binary-io.h (fileno): Undefine before defining it. Avoids a gcc
73065         warning on mingw.
73066
73067 2005-06-07  Derek Price  <derek@ximbiot.com>
73068
73069         Sync from CVS.
73070         * lib/glob_.h: Indent nested #ifdef.
73071
73072 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
73073
73074         Sync from coreutils.
73075         Use "file name" when talking about file names, instead of "filename"
73076         or "path", as per the GNU coding standards.
73077         * lib/mkdir-p.c: Renamed from makepath.c.
73078         (make_dir_parents): Renamed from make_path.  All callers changed.
73079         * lib/mkdir-p.h: Likewise.  All includers changed.
73080         * lib/filenamecat.c: Renamed from path-concat.c.
73081         (file_name_concat): Renamed from path_concat.  All callers changed.
73082         [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT.
73083         * lib/filenamecat.h: Likewise.  All includers changed.
73084         * lib/acl.c: Don't use "path" or "filename" to mean "file name"
73085         in comments or local variable names.
73086         * lib/basename.c: Likewise.
73087         * lib/canonicalize.c, canonicalize.h: Likewise.
73088         * lib/dirname.c, dirname.h: Likewise.
73089         * lib/euidaccess.c: Likewise.
73090         * lib/exclude.c: Likewise
73091         * lib/fnmatch_.h, fnmatch_loop.c: Likewise.
73092         * lib/fsusage.c, fsuage.h: Likewise.
73093         * lib/fts.c, fts_.h: Likewise.
73094         * lib/getcwd.c: Likewise.
73095         * lib/getloadavg.c: Likewise.
73096         * lib/mkstemp.c: Likewise.
73097         * lib/mountlist.c, mountlist.h: Likewise.
73098         * lib/openat.c, openat.h: Likewise.
73099         * lib/readlink-stub.c: Likewise.
73100         * lib/readutmp.c, readutmp.h: Likewise.
73101         * lib/rename.c: Likewise.
73102         * lib/rmdir.c: Likewise.
73103         * lib/same.c: Likewise.
73104         * lib/savedir.c: Likewise.
73105         * lib/stripslash.c: Likewise.
73106         * lib/tempname.c: Likewise.
73107         * lib/xreadlink.c: Likewise.
73108         * lib/exclude.c (excluded_file_name): Renamed from excluded_filename.
73109         All uses changed.
73110         * lib/exclude.h: Likewise.
73111
73112         * lib/euidaccess.c (getuid, getgid, getuid, getegid)
73113         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
73114         * lib/idcache.c (getpwuid, getpwnam, getgrgid, getgrnam)
73115         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
73116         * lib/pathmax.h: Include <limits.h> unconditionally, since other
73117         files have been getting away with it for years (MORE/BSD 4.3
73118         is extinct now).
73119         * lib/userspec.c (getpwnam, getgrnam, getgrgid)
73120         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
73121
73122         * lib/pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]:
73123         Define to 256, not 255, as per modern POSIX.
73124
73125 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
73126
73127         Sync from coreutils.
73128         Use "file name" when talking about file names, instead of "filename"
73129         or "path", as per the GNU coding standards.
73130         * MODULES.html.sh: mkdir-p renamed from makepath.
73131         filenamecat renamed from path-concat.
73132         * modules/filenamecat: Renamed from modules/path-concat.
73133         (Files): filenamecat.h and filenamecat.c renamed from
73134         path-concat.h and path-concat.c.
73135         (configure.ac): gl_FILE_NAME_CONCAT, not gl_PATH_CONCAT.
73136         (Include): filenamecat.h, not path-concat.h.
73137         * modules/mkdir-p: Renamed from modules/makepath.
73138         (Files): mkdir-p.h and mkdir-p.c renamed from makepath.h and
73139         makepath.c.
73140         (configure.ac): gl_MKDIR_PARENTS, not gl_MAKEPATH.
73141         (Include): mkdir-p.h, not makepath.h.
73142
73143 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
73144
73145         Sync from coreutils.
73146         * m4/mkdir-p.m4: Renamed from makepath.m4.
73147         (gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH.  All uses changed.
73148         Rename files from makepath.c to mkdir-p.c, and from
73149         makepath.h to mkdir-p.h.
73150         * m4/filenamecat.m4: Renamed from path-concat.m4.
73151         (gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT.  All uses changed.
73152         Rename files from path-concat.c to filenamecat.c,
73153         and from path-concat.h to filenamecat.h.
73154         * m4/getcwd-path-max.m4: Don't use "path" or "filename" to mean
73155         "file name" in local variables or comments.
73156         * m4/rename.m4: Likewise.
73157
73158 2005-06-01  Bruno Haible  <bruno@clisp.org>
73159
73160         * modules/csharpexec: New file.
73161         * MODULES.html.sh (C#): New section.
73162
73163 2005-06-01  Bruno Haible  <bruno@clisp.org>
73164
73165         * m4/csharp.m4: New file, from GNU gettext.
73166         * m4/csharpexec.m4: New file, from GNU gettext.
73167
73168 2005-06-01  Bruno Haible  <bruno@clisp.org>
73169
73170         * lib/csharpexec.h: New file, from GNU gettext.
73171         * lib/csharpexec.c: New file, from GNU gettext.
73172         * lib/csharpexec.sh.in: New file, from GNU gettext.
73173
73174 2005-05-31  Derek Price  <derek@ximbiot.com>
73175             Paul Eggert  <eggert@cs.ucla.edu>
73176
73177         Sync from cvs.
73178         * m4/glob.m4: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
73179
73180 2005-05-31  Derek Price  <derek@ximbiot.com>
73181             Paul Eggert  <eggert@cs.ucla.edu>
73182
73183         Sync from cvs.
73184         * lib/glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
73185
73186 2005-05-29  Derek Price  <derek@ximbiot.com>
73187
73188         * config/srclist.txt (glob_.h, glob.c): Add these files.
73189
73190 2005-05-29  Derek Price  <derek@ximbiot.com>
73191
73192         * MODULES.html.sh: Add glob to Enhanced POSIX.2001 section.
73193         * modules/glob: New file.
73194         * modules/getlogin_r: Add link to POSIX spec in description.
73195
73196 2005-05-29  Derek Price  <derek@ximbiot.com>
73197             Paul Eggert  <eggert@cs.ucla.edu>
73198
73199         * m4/glob.m4: New file.
73200
73201 2005-05-29  Derek Price  <derek@ximbiot.com>
73202             Paul Eggert  <eggert@cs.ucla.edu>
73203
73204         * lib/glob_.h, lib/glob.c: New files.
73205
73206 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
73207
73208         * modules/fts (Files): Remove m4/inttypes-pri.m4.
73209         * modules/fts-lgpl (Depends-on): Remove gettext.
73210
73211 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
73212
73213         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h,
73214         and don't require gt_INTTYPES_PRI.
73215
73216 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
73217
73218         * lib/getlogin_r.c (getlogin_r): Don't set errno to 0 on return.
73219
73220         * lib/fts.c: Don't worry about debugging on pre-C99-compatible hosts;
73221         the configuration hassle isn't worth it.
73222         Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
73223         (LONGEST_MODIFIER, PRIuMAX): Remove.
73224
73225 2005-05-27  Bruno Haible  <bruno@clisp.org>
73226
73227         * lib/getlogin_r.h: Remove second include of <stddef.h>.
73228
73229 2005-05-26  Paul Eggert  <eggert@cs.ucla.edu>
73230
73231         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Define
73232         _POSIX_PTHREAD_SEMANTICS for Solaris.
73233
73234 2005-05-25  Derek Price  <derek@ximbiot.com>
73235
73236         * MODULES.html.sh: Add getlogin_r to POSIX.2001 support section.
73237
73238 2005-05-25  Derek Price  <derek@ximbiot.com>
73239             Paul Eggert  <eggert@cs.ucla.edu>
73240
73241         * modules/getlogin_r, m4/getlogin_r.m4: New files.
73242         * lib/getlogin_r.c, getlogin_r.h: New files.
73243
73244 2005-05-25  Bruno Haible  <bruno@clisp.org>
73245             Derek Price  <derek@ximbiot.com>
73246
73247         * lib/getlogin_r.h: Simplify API documentation.
73248
73249 2005-05-23  Derek Price  <derek@ximbiot.com>
73250
73251         * modules/minmax (Files): Add m4/minmax.m4.
73252         (configure.ac): Add gl_MINMAX.
73253
73254 2005-05-22  Paul Eggert  <eggert@cs.ucla.edu>
73255
73256         * lib/fts.c (fd_safer) [_LGPL_PACKAGE]: New static function,
73257         so that unistd-safer.h (GPL'ed code) need not be included.
73258
73259 2005-05-22  Bruno Haible  <bruno@clisp.org>
73260
73261         * m4/minmax.m4: New file.
73262         Based on a patch by Derek Price <derek@ximbiot.com>.
73263
73264 2005-05-22  Bruno Haible  <bruno@clisp.org>
73265
73266         * lib/stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs.
73267         (INT64_MIN): Fix definition.
73268         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
73269
73270         * lib/stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from
73271         NEED_SIGNED_INT_TYPES.
73272
73273         * lib/stdint_.h (_STDINT_H_HAVE_SYSTEM_INTTYPES): Renamed from
73274         HAVE_SYSTEM_INTTYPES.
73275
73276 2005-05-22  Bruno Haible  <bruno@clisp.org>
73277
73278         * lib/minmax.h: Include <limits.h> only when it defines MIN, MAX.
73279         Also include <sys/param.h> if it defines MIN, MAX.
73280         Based on a patch by Derek Price <derek@ximbiot.com>.
73281
73282 2005-05-21  Jim Meyering  <jim@meyering.net>
73283
73284         * modules/fts (Files): Add m4/inttypes-pri.m4.
73285         (Depends-on): Add lstat and remove gettext.  Alphabetize.
73286
73287 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
73288
73289         New fts module.
73290         * lib/fts.c: Don't include "cycle-check.h" or "hash.h".
73291         (setup_dir, free_dir): New functions.
73292         (enter_dir, leave_dir): Define trivial
73293         alternatives of _LGPL_PACKAGE.  Move to fts-cycle.c if !_LGPL_PACKAGE.
73294         (HT_INITIAL_SIZE, ENTER_DIR): Remove.  All uses removed.
73295         (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir.
73296         (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir):
73297         Move to fts-cycle.c.
73298         (fts_open): Use setup_dir.
73299         (fts_close): Use free_dir.
73300         (fts_read): Have just one copy of the ENTER_DIR code rather than three.
73301         This adds a label and some gotos, but the alternatives were messier.
73302         Check for memory allocation failure when entering a dir.
73303         (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code.
73304         * lib/fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro.
73305         (FTS): New member fts_cycle, that is a union that contains the
73306         old active_dir_ht and cycle_state.  All uses changed to mention
73307         fts_cycle.ht and fts_cycle.state.
73308         * lib/fts-cycle.c: New file, containing GPL'ed code migrated out of
73309         fts.c, with the following changes:
73310         (setup_dir, free_dir): New functions.
73311         (enter_dir): Now returns bool.  Return true if successful, false
73312         if memory exhausted.  All callers changed.
73313         Do not bother partly cleaning up on
73314         memory allocation failure; that is free_dir's job.
73315         However, free ad if hash_insert fails, to avoid memory leak.
73316         (enter_dir, leave_dir): Accommodate change to FTS by inspecting
73317         fts->fts_options to see which union member to use.
73318
73319 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
73320
73321         * m4/fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS.
73322         (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros.
73323
73324 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
73325
73326         * MODULES.html.sh (File system functions): Add fts, fts-lgpl.
73327
73328 2005-05-20  Jim Meyering  <jim@meyering.net>
73329
73330         * lib/unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]:
73331         Now a macro, to pacify GCC.
73332
73333 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
73334
73335         * m4/chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs
73336         of -1.
73337
73338 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
73339
73340         * lib/chown.c (rpl_chown): Return -1 on failure.
73341
73342 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
73343
73344         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]):
73345         Don't check for stddef.h.
73346         * m4/fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we
73347         don't use its results.
73348         Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h,
73349         since we include them unconditionally.  Don't require
73350         AM_STDBOOL_H, since stdbool is a prerequisite.
73351         Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t
73352         since we assume C89 or better.
73353         Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT,
73354         as we don't use their results.
73355         Don't check for fchdir, memmove, memset, strrchr, as we use
73356         them unconditionally.
73357         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define
73358         GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it.
73359
73360 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
73361
73362         * lib/canonicalize.c: Include canonicalize.h first, to test interface.
73363         Include <stddef.h> unconditionally, since we assume C89 now.
73364         All uses of PTR_INT_TYPE replaced by ptrdiff_t.
73365         * lib/fts.c: Include fts_.h first, to check interface.
73366         Do not include intprops.h; no longer needed.
73367         Include cycle-check.h and hash.h, since fts_.h no longer does.
73368         Remove unnecessary casts of closedir to void.
73369         (fts_build): Use a simpler method (not involving TYPE_SIGNED) to
73370         decide whether to decrement nlinks.
73371         * lib/fts_.h: Do not include hash.h or cycle-check.h; no longer needed.
73372         (FTS): Use struct hash_table * instead of Hash_table, so that
73373         we no longer need to include hash.h here.
73374
73375 2005-05-18  Jim Meyering  <jim@meyering.net>
73376
73377         * modules/dirfd (License): Change to LGPL.  Most of the code
73378         is already in the public domain.
73379
73380 2005-05-18  Jim Meyering  <jim@meyering.net>
73381
73382         * m4/fts.m4 (AC_LIBSOURCES): Add intprops.h to the list.
73383         Reported by Yoann Vandoorselaere.
73384
73385 2005-05-17  Jim Meyering  <jim@meyering.net>
73386
73387         * m4/fts.m4: New file, from coreutils.
73388
73389 2005-05-17  Jim Meyering  <jim@meyering.net>
73390
73391         * lib/fts.c, lib/fts_.h: New files, from coreutils.
73392
73393 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
73394
73395         Sync from coreutils.
73396         * m4/unlinkdir.m4: New file.
73397
73398 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
73399
73400         Sync from coreutils.
73401         * lib/unlinkdir.c, lib/unlinkdir.h: New files.
73402         * lib/gethrxtime.c, lib/gethrxtime.h, lib/getpass.h, lib/mountlist.h,
73403         lib/path-concat.c, lib/regex.h, lib/unlocked-io.h, lib/xtime.h:
73404         White space changes only.
73405         * lib/makepath.c (make_path): Port to hosts where leading "//" is
73406         special.
73407         * lib/yesno.c: Include getline.h, not ctype.h.
73408         (yesno): Don't remove leading white space; POSIX doesn't allow it.
73409         Use getline to remove arbitrary restriction on response length.
73410
73411 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
73412
73413         * config/srclist-update: Spell out "Street" in FSF postal
73414         mail address; this is the style the FSF seems to prefer.
73415
73416         * build-aux/depcomp, build-aux/install-sh, build-aux/mdate-sh,
73417         build-aux/missing, build-aux/mkinstalldirs: Sync from Automake;
73418         this updates FSF postal mail address.
73419
73420         Sync from coreutils.
73421         * modules/unlinkdir: New file.
73422         * modules/yesno (Depends-on): Add getline.
73423         * MODULES.html.sh (File system functions): Add unlinkdir.
73424
73425 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
73426
73427         * lib/byteswap_.h, lib/getsubopt.h, lib/iconvme.h, lib/strsep.c,
73428         lib/strsep.h:
73429         Change the initial comment to refer to GPL, not LGPL.
73430         gnulib-tool will change it to LGPL as needed.
73431
73432         * lib/__fpending.c, lib/acl.c, lib/acl.h, lib/alloca_.h, lib/allocsa.c,
73433         lib/allocsa.h, lib/argmatch.c, lib/argmatch.h, lib/argp-ba.c,
73434         lib/argp-eexst.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h,
73435         lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h,
73436         lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c,
73437         lib/argp.h, lib/argz.c, lib/argz_.h, lib/asnprintf.c, lib/asprintf.c,
73438         lib/atanl.c, lib/backupfile.c, lib/backupfile.h, lib/base64.c,
73439         lib/base64.h, lib/basename.c, lib/binary-io.h, lib/byteswap_.h,
73440         lib/c-ctype.c, lib/c-ctype.h, lib/c-stack.c, lib/c-stack.h,
73441         lib/c-strtod.c, lib/calloc.c, lib/canon-host.c, lib/canonicalize.c,
73442         lib/canonicalize.h, lib/ceill.c, lib/chdir-long.c, lib/chdir-long.h,
73443         lib/chown.c, lib/classpath.c, lib/classpath.h, lib/cloexec.c,
73444         lib/closeout.c, lib/closeout.h, lib/concatpath.c, lib/config.charset,
73445         lib/copy-file.c, lib/copy-file.h, lib/cycle-check.c, lib/cycle-check.h,
73446         lib/diacrit.c, lib/diacrit.h, lib/dirfd.c, lib/dirfd.h, lib/dirname.c,
73447         lib/dirname.h, lib/dummy.c, lib/dup-safer.c, lib/dup2.c, lib/eealloc.h,
73448         lib/error.c, lib/error.h, lib/euidaccess.c, lib/exclude.c,
73449         lib/exclude.h, lib/execute.c, lib/execute.h, lib/exit.h,
73450         lib/exitfail.c, lib/exitfail.h, lib/expl.c, lib/fatal-signal.c,
73451         lib/fatal-signal.h, lib/fd-safer.c, lib/file-type.c, lib/file-type.h,
73452         lib/fileblocks.c, lib/filemode.c, lib/filemode.h, lib/findprog.c,
73453         lib/findprog.h, lib/floorl.c, lib/fnmatch.c, lib/fnmatch_.h,
73454         lib/fnmatch_loop.c, lib/fopen-safer.c, lib/free.c, lib/frexpl.c,
73455         lib/fsusage.c, lib/fsusage.h, lib/full-read.c, lib/full-read.h,
73456         lib/full-write.c, lib/full-write.h, lib/fwriteerror.c,
73457         lib/fwriteerror.h, lib/gai_strerror.c, lib/gcd.c, lib/gcd.h,
73458         lib/getaddrinfo.c, lib/getaddrinfo.h, lib/getcwd.c, lib/getcwd.h,
73459         lib/getdate.h, lib/getdate.y, lib/getdomainname.c, lib/getdomainname.h,
73460         lib/getgroups.c, lib/gethostname.c, lib/gethrxtime.c, lib/gethrxtime.h,
73461         lib/getline.c, lib/getline.h, lib/getloadavg.c, lib/getndelim2.c,
73462         lib/getndelim2.h, lib/getnline.c, lib/getnline.h, lib/getopt.c,
73463         lib/getopt1.c, lib/getopt_.h, lib/getopt_int.h, lib/getpagesize.h,
73464         lib/getpass.c, lib/getpass.h, lib/getsubopt.c, lib/getsubopt.h,
73465         lib/gettext.h, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c,
73466         lib/getusershell.c, lib/group-member.c, lib/group-member.h,
73467         lib/hard-locale.c, lib/hard-locale.h, lib/hash-pjw.c, lib/hash-pjw.h,
73468         lib/hash.c, lib/hash.h, lib/human.c, lib/human.h, lib/iconvme.c,
73469         lib/iconvme.h, lib/idcache.c, lib/inet_ntop.h, lib/intprops.h,
73470         lib/inttostr.c, lib/inttostr.h, lib/isdir.c, lib/javacomp.c,
73471         lib/javacomp.h, lib/javacomp.sh.in, lib/javaexec.c, lib/javaexec.h,
73472         lib/javaexec.sh.in, lib/lbrkprop.h, lib/lchown.c, lib/ldexpl.c,
73473         lib/linebreak.c, lib/linebreak.h, lib/linebuffer.c, lib/linebuffer.h,
73474         lib/localcharset.c, lib/localcharset.h, lib/logl.c, lib/long-options.c,
73475         lib/long-options.h, lib/lstat.c, lib/makepath.c, lib/makepath.h,
73476         lib/malloc.c, lib/mathl.h, lib/mbswidth.c, lib/mbswidth.h, lib/md5.c,
73477         lib/md5.h, lib/memcasecmp.c, lib/memcasecmp.h, lib/memchr.c,
73478         lib/memcmp.c, lib/memcoll.c, lib/memcoll.h, lib/memcpy.c, lib/memmem.c,
73479         lib/memmem.h, lib/mempcpy.c, lib/mempcpy.h, lib/memrchr.c,
73480         lib/memrchr.h, lib/memset.c, lib/minmax.h, lib/mkdir.c, lib/mkdtemp.c,
73481         lib/mkdtemp.h, lib/mkstemp.c, lib/mktime.c, lib/modechange.c,
73482         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
73483         lib/obstack.c, lib/obstack.h, lib/openat.c, lib/openat.h,
73484         lib/pagealign_alloc.c, lib/pagealign_alloc.h, lib/path-concat.c,
73485         lib/path-concat.h, lib/pathmax.h, lib/pathname.h, lib/physmem.c,
73486         lib/physmem.h, lib/pipe.c, lib/pipe.h, lib/poll.c, lib/poll_.h,
73487         lib/posixtm.c, lib/posixtm.h, lib/posixver.c, lib/printf-args.c,
73488         lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h,
73489         lib/progname.c, lib/progname.h, lib/progreloc.c, lib/putenv.c,
73490         lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h, lib/raise.c,
73491         lib/readlink.c, lib/readtokens.c, lib/readtokens.h, lib/readtokens0.c,
73492         lib/readtokens0.h, lib/readutmp.c, lib/readutmp.h, lib/realloc.c,
73493         lib/ref-add.sin, lib/ref-del.sin, lib/regex.c, lib/regex.h,
73494         lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c,
73495         lib/safe-read.h, lib/safe-write.c, lib/safe-write.h, lib/same.c,
73496         lib/same.h, lib/save-cwd.c, lib/save-cwd.h, lib/savedir.c,
73497         lib/savedir.h, lib/setenv.c, lib/setenv.h, lib/settime.c,
73498         lib/sh-quote.c, lib/sh-quote.h, lib/sha1.c, lib/sha1.h, lib/sig2str.c,
73499         lib/sig2str.h, lib/sincosl.c, lib/snprintf.c, lib/snprintf.h,
73500         lib/sqrtl.c, lib/stat-macros.h, lib/stat.c, lib/stdbool_.h,
73501         lib/stdint_.h, lib/stdio-safer.h, lib/stpcpy.c, lib/stpcpy.h,
73502         lib/stpncpy.c, lib/stpncpy.h, lib/strcase.h, lib/strcasecmp.c,
73503         lib/strchrnul.c, lib/strchrnul.h, lib/strcspn.c, lib/strdup.c,
73504         lib/strdup.h, lib/strerror.c, lib/strftime.c, lib/strftime.h,
73505         lib/stripslash.c, lib/strndup.c, lib/strndup.h, lib/strnlen.c,
73506         lib/strpbrk.c, lib/strpbrk.h, lib/strsep.c, lib/strsep.h, lib/strstr.c,
73507         lib/strstr.h, lib/strtod.c, lib/strtoimax.c, lib/strtok_r.c,
73508         lib/strtok_r.h, lib/strtol.c, lib/strtoll.c, lib/strtoul.c,
73509         lib/strtoull.c, lib/strverscmp.c, lib/strverscmp.h, lib/sysexit_.h,
73510         lib/tempname.c, lib/time_r.c, lib/time_r.h, lib/timegm.c, lib/timegm.h,
73511         lib/timespec.h, lib/trigl.c, lib/trigl.h, lib/ucs4-utf16.h,
73512         lib/ucs4-utf8.h, lib/unicodeio.c, lib/unicodeio.h, lib/unistd-safer.h,
73513         lib/unlocked-io.h, lib/unsetenv.c, lib/userspec.c, lib/utf16-ucs4.h,
73514         lib/utf8-ucs4.h, lib/utime.c, lib/utimecmp.c, lib/utimecmp.h,
73515         lib/utimens.c, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c,
73516         lib/vasprintf.h, lib/version-etc-fsf.c, lib/version-etc.c,
73517         lib/version-etc.h, lib/vsnprintf.c, lib/vsnprintf.h, lib/w32spawn.h,
73518         lib/wait-process.c, lib/wait-process.h, lib/xalloc-die.c, lib/xalloc.h,
73519         lib/xallocsa.c, lib/xallocsa.h, lib/xasprintf.c, lib/xgetcwd.c,
73520         lib/xgetcwd.h, lib/xgetdomainname.c, lib/xgetdomainname.h,
73521         lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c,
73522         lib/xreadlink.c, lib/xreadlink.h, lib/xsetenv.c, lib/xsetenv.h,
73523         lib/xsize.h, lib/xstrndup.c, lib/xstrndup.h, lib/xstrtod.c,
73524         lib/xstrtod.h, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h,
73525         lib/xstrtoumax.c, lib/xtime.h, lib/xvasprintf.c, lib/xvasprintf.h,
73526         lib/yesno.c, lib/yesno.h:
73527         Update FSF postal mail address.
73528
73529 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
73530
73531         * MODULES.html.sh, README, gnulib-tool, tests/test-base64.c,
73532         tests/test-memmem.c, tests/test-stpncpy.c:
73533         Update FSF postal mail address.
73534
73535 2005-05-13  Bruno Haible  <bruno@clisp.org>
73536
73537         * lib/stdint_.h (int64_t, uint64_t, int_least64_t, uint_least64_t,
73538         int_fast64_t, uint_fast64_t, intmax_t, uintmax_t, INT64_MIN, INT64_MAX,
73539         UINT64_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX,
73540         INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTMAX_MIN,
73541         INTMAX_MAX, UINTMAX_MAX, INT64_C, UINT64_C, INTMAX_C, UINTMAX_C):
73542         Add support for 64-bit integers in the MSVC compiler.
73543
73544 2005-05-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
73545
73546         * modules/getdate (Makefile.am): Add getdate.c to EXTRA_DIST
73547
73548 2005-05-12  Eric Blake  <ebb9@byu.net>  (tiny change)
73549
73550         * gnulib-tool (func_import): Sort and uniquify recommended includes.
73551
73552 2005-05-11  Paul Eggert  <eggert@cs.ucla.edu>
73553
73554         * doc/getdate.texi (General date syntax): Don't say that date
73555         date --iso-8601=ns generates acceptable dates; it doesn't yet.
73556         Problem reported by Nic Ferrier.
73557
73558 2005-05-10  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
73559
73560         * lib/getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are
73561         specified in ai_socktype. Fix invalid ai_protocol
73562         check. ai_protocol is usually set to 0 or depending on
73563         ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP.  Checking for
73564         SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid.  Set
73565         ai_socktype / ai_protocol in the returned addrinfo structure.
73566
73567 2005-05-10  Simon Josefsson  <jas@extundo.com>
73568
73569         * m4/getaddrinfo.m4: Look in libnsl/libsocket for getaddrinfo, from
73570         Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
73571
73572 2005-05-10  Karl Berry  <karl@gnu.org>
73573
73574         * doc/fdl.texi, gpl.texi, lgpl.texi, COPYING: update FSF address
73575         (from http://www.gnu.org/licenses).
73576         * doc/COPYING.LIB: also rename to COPYING.LESSER.
73577         * doc/COPYING.DOC: remove; per rms, only needed in doc files, so
73578         fdl.texi suffices.
73579
73580 2005-05-10  Karl Berry  <karl@gnu.org>
73581
73582         * config/srclist.txt (COPYING.LESSER): rename from COPYING.LIB.
73583         (COPYING.DOC): remove.
73584
73585         * config/srclist-update: new FSF address.
73586
73587 2005-05-10  Derek Price  <derek@ximbiot.com>
73588
73589         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when
73590         possible.
73591
73592 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
73593             Bruno Haible  <bruno@clisp.org>
73594
73595         * modules/inet_ntop: New file.
73596         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
73597         inet_ntop.
73598
73599 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
73600             Bruno Haible  <bruno@clisp.org>
73601
73602         * m4/inet_ntop.m4: New file.
73603
73604 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
73605             Bruno Haible  <bruno@clisp.org>
73606
73607         * lib/inet_ntop.h: New file.
73608         * lib/inet_ntop.c: New file, from glibc with modifications.
73609
73610 2005-05-09  Paul Eggert  <eggert@cs.ucla.edu>
73611
73612         * modules/time_r (License): Change to LGPL.
73613         * modules/extensions (License): Change to LGPL.  Actually,
73614         the license is more permissive than that, but currently gnulib-tool
73615         doesn't know how to handle more-permissive licenses.
73616
73617         * modules/stat-macros (Depends-on): Don't depend on stat-macros (!).
73618         Problem reported by Dave Love.
73619
73620 2005-05-08  Jim Meyering  <jim@meyering.net>
73621
73622         * lib/classpath.c (PATH_SEPARATOR): Remove insignificant trailing
73623         blank.
73624
73625 2005-05-06  Paul Eggert  <eggert@cs.ucla.edu>
73626
73627         * modules/argmatch (Depends-on): Add stdbool.
73628         * modules/backupfile (Depends-on): Likewise.
73629         * modules/chdir-long (Depends-on): Likewise.
73630         * modules/closeout (Depends-on): Likewise.
73631         * modules/cycle-check (Depends-on): Likewise.
73632         * modules/dirname (Depends-on): Likewise.
73633         * modules/fnmatch (Depends-on): Likewise.
73634         * modules/fsusage (Depends-on): Likewise.
73635         * modules/fwriteerror (Depends-on): Likewise.
73636         * modules/getcwd (Depends-on): Likewise.
73637         * modules/getloadavg (Depends-on): Likewise.
73638         * modules/hard-locale (Depends-on): Likewise.
73639         * modules/makepath (Depends-on): Likewise.
73640         * modules/mountlist (Depends-on): Likewise.
73641         * modules/nanosleep (Depends-on): Likewise.
73642         * modules/posixtm (Depends-on): Likewise.
73643         * modules/quotearg (Depends-on): Likewise.
73644         * modules/readtokens (Depends-on): Likewise.
73645         * modules/readtokens0 (Depends-on): Likewise.
73646         * modules/readutmp (Depends-on): Likewise.
73647         * modules/save-cwd (Depends-on): Likewise.
73648         * modules/strftime (Depends-on): Likewise.
73649         * modules/userspec (Depends-on): Likewise.
73650         * modules/utimecmp (Depends-on): Likewise.
73651         * modules/xgetcwd (Depends-on): Likewise.
73652         * modules/xnanosleep (Depends-on): Likewise.
73653         * modules/xstrtod (Depends-on): Likewise.
73654         * modules/yesno (Depends-on): Likewise.
73655
73656 2005-05-05  Paul Eggert  <eggert@cs.ucla.edu>
73657
73658         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid
73659         needless checks.
73660
73661 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
73662
73663         Merge from coreutils.  Among other things,
73664         add bulletproofing for cases where stdin, stdout, or stderr are closed.
73665         * lib/fd-safer.c: New file.
73666         * lib/fcntl-safer.h, open-safer.c: Remove.
73667         * lib/chdir-long.c: Fix comment "fetish" -> "coreutils".
73668         * lib/dup-safer.c: Include unistd-safer.h first.
73669         Don't include errno.h.
73670         (dup_safer) [!defined F_DUPFD]: Let fd_safer do the real work.
73671         * lib/file-type.h: Don't assume invoker included sys/stat.h first.
73672         * lib/file-type.c: Rely on file-type.h change.
73673         * lib/getloadavg.c: Include unistd-safer.h.
73674         (getloadavg): Use safer open.
73675         * lib/getusershell.c: Include "stdio-safer.h".
73676         (getusershell): Use safer fopen.
73677         * lib/long-options.c (long_options): Use NULL rather than 0.
73678         * lib/modechange.h (mode_free): Remove; all callers changed to invoke
73679         'free'.
73680         * lib/modechange.c: Likewise.
73681         xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed.
73682         (MODE_DONE): New constant.
73683         (struct mode_change): Remove 'next' member.
73684         (make_node_op_equals): New function; like the old one of the
73685         same name, except it allocates an array.
73686         (mode_compile, mode_create_from_ref): Use it.
73687         (mode_compile): Allocate result as an array, not a linked list.
73688         Parse octal string ourself, so that we catch mistakes like "+0".
73689         (mode_adjust): Arg is an array, not a linked list.
73690         * lib/modechange.c: Include stat-macros.h, xalloc.h.
73691         (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR):
73692         (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU):
73693         (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS):
73694         Remove.  This is now stat-macros.h's job.
73695         (talloc): Remove.  All callers replaced by xalloc, so that
73696         our invokers don't have to worry about reporting memory failures.
73697         (make_node_op_equals): Remove.
73698         (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
73699         New constants.
73700         (struct mode_change): Moved here from modechange.h.
73701         (mode_append_entry): Remove.
73702         (mode_compile): Remove MASKED_OPS arg, since it encouraged
73703         apps to have incorrect behavior.  Use simpler algorithm for head
73704         and tail.  Don't futz with umask; that's now the job of mode_adjust.
73705         Detect more invalid usages rather than having somewhat-random behavior.
73706         Don't insert an "a=" action, as that leads to incorrect behavior.
73707         (mode_compile, mode_create_from_ref): Return NULL on error instead
73708         of an enum, since now there's only one way to have an error.  All
73709         callers changed.
73710         (mode_adjust): Accept new arg UMASK_VALUE, and interpret it
73711         at the correct time.  Simplify calculation of "+u" and its ilk.
73712         Don't mishandle "+X".
73713         (mode_free): Remove "register" and localize decls.
73714         * lib/modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
73715         (struct mode_change): Move to modechange.c; callers don't
73716         need to see this stuff.
73717         (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL):
73718         (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove.
73719         (mode_change, mode_adjust): Reflect the new signatures noted above.
73720         * lib/nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros
73721         that might redefine system include files.
73722         (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
73723         (my_usleep): Use NULL rather than (void *) 0.
73724         (rpl_nanosleep) [!defined SA_NOCLDSTOP]:
73725         Use siginterrupt to specify that system calls should be interrupted.
73726         (rpl_nanosleep): Move initialization of suspended closer to call of
73727         my_usleep.
73728         * lib/readutmp.h (read_utmp): New arg OPTIONS.  All uses changed.
73729         * lib/readutmp.c: Likewise.  Include signal.h, stdbool.h.
73730         (desirable_utmp_entry): New function.
73731         (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation
73732         using x2nrealloc, to simplify logic.
73733         (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in
73734         size calculation.  Do not assume utmp file is a regular file.
73735         * lib/readutmp.h (UT_PID): Moved here from ../src/who.c.
73736         (READ_UTMP_CHECK_PIDS): New constant.
73737         * lib/save-cwd.c: Include unistd-safer.h.
73738         (save_cwd): Use fd_safer.
73739         * lib/tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
73740         [!_LIBC] Include "stat-macros.h" instead.
73741         * lib/unistd-safer.h (fd_safer): New decl.
73742
73743 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
73744
73745         * modules/getloadavg (Depends-on): Add unistd-safer.
73746         * modules/getusershell (Depends-on): Add stdio-safer.
73747         * modules/lstat (Depends-on): Remove xalloc.
73748         * modules/mkstemp (Depends-on): Add stat-macros.
73749         * modules/modechange (Depends-on): Remove xstrtol.
73750         Add stat-macros, xalloc.
73751         * modules/save-cwd (Depends-on): Add unistd-safer.
73752         * modules/stdio-safer (Makefile.am): Remove lib_SOURCES.
73753         * modules/unistd-safer (Files): Add lib/fd-safer.c
73754         (Makefile.am): Remove lib_SOURCES.
73755
73756         * MODULES.html.sh (Enhancements for POSIX:2001 functions):
73757         Remove fcntl-safer; unistd-safer supersedes it.
73758
73759 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
73760
73761         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't require
73762         AC_HEADER_STAT.
73763         * m4/lchown.m4 (gl_FUNC_CHOWN): Likewise.
73764         (gl_PREREQ_CHOWN): Remove.
73765         * m4/lstat.m4 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling
73766         it.  Don't require AC_HEADER_STAT.
73767         (gl_PREREQ_LSTAT): Remove.
73768         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Check stdint.h only once.
73769         Don't require AC_HEADER_STAT.
73770         * m4/rmdir.m4 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT.
73771         (gl_PREREQ_RMDIR): Remove.
73772         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Don't
73773         mention stat-macros.h or AC_HEADER_STAT, since we'll make
73774         the stat-macros module a prerequisite.
73775         * m4/file-type.m4 (gl_FILE_TYPE): Likewise.
73776         * m4/filemode.m4 (gl_FILEMODE): Likewise.
73777         * m4/makepath.m4 (gl_MAKEPATH): Likewise.
73778         * m4/modechange.m4 (gl_MODECHANGE): Likewise.
73779         * m4/clock_time.m4 (gl_CLOCK_TIME): Use gl_ rather than fetish_ for
73780         variable names.
73781         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from
73782         fetish_FUNC_RMDIR_NOTEMPTY.  All uses changed.  Use gl_ for
73783         variable prefixes.
73784         * m4/fcntl-safer.m4: Remove.
73785         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
73786         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise.
73787         Invoke gl_PREREQ_FD_SAFER.
73788         (gl_PREREQ_FD_SAFER): New macro.
73789         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Check for siginterrupt.
73790         * m4/readutmp.m4 (gl_READUTMP): Require AC_C_INLINE.
73791         Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible.
73792         Remove duplicate call to AC_LIBOBJ(readutmp).
73793         (gl_PREREQ_READUTMP): Remove.  All uses inlined.
73794
73795         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check for message, not for
73796         MAP_ANON.  Problem reported by Moriyoshi Koizumi to bug-cvs.
73797
73798 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
73799
73800         * MODULES.html.sh (Misc): Add byteswap.
73801
73802 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
73803
73804         * modules/getcwd (Depends-on): Add extensions.
73805         * modules/openat (Depends-on): Likewise.
73806
73807 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
73808
73809         * modules/byteswap: New file.
73810
73811 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
73812
73813         * m4/byteswap.m4: New file.
73814
73815 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
73816
73817         * lib/byteswap_.h: New file.
73818
73819 2005-04-25  Karl Berry  <karl@gnu.org>
73820
73821         * m4/gettext.m4: Update from GNU gettext 0.14.4.
73822
73823 2005-04-25  Albert Chin  <china@thewrittenword.com>
73824
73825         * lib/regex.c: Include <stdio.h>, as a workaround to a Compaq Desktop
73826         Toolkit C bug.
73827
73828 2005-04-21  Oskar Liljeblad  <oskar@osk.mine.nu>
73829
73830         * gnulib-tool (Options): Add -s for --symlink/--symbolic.
73831         (func_ln_if_changed): Remove forcibly for no error message
73832         in case file does not exist.
73833
73834 2005-04-19  Simon Josefsson  <jas@extundo.com>
73835
73836         * gnulib-tool (Options): Make --symlink mean --symbolic.
73837
73838 2005-04-18  Oskar Liljeblad  <oskar@osk.mine.nu>
73839
73840         * doc/gnulib.texi (Initial import): Fix.  Mention --aux-dir.
73841
73842 2005-04-16  Simon Josefsson  <jas@extundo.com>
73843
73844         * modules/getpass-gnu (Makefile.am): Don't mention getpass.h.
73845
73846 2005-04-15  Simon Josefsson  <jas@extundo.com>
73847
73848         * m4/getpass.m4 (gl_FUNC_GETPASS): Use AC_LIBSOURCES.
73849
73850 2005-04-15  Simon Josefsson  <jas@extundo.com>
73851
73852         * gnulib-tool: Rename --symlink to --symbolic.
73853
73854 2005-04-15  Oskar Liljeblad  <oskar@osk.mine.nu>
73855
73856         * gnulib-tool: Add -s, --symlink option to gnulib-tool to make
73857         symbolic links to files instead of copying/moving.  Add --aux-dir,
73858         specifying directory relative --dir where auxiliary build tools
73859         are placed.
73860
73861 2005-04-14  Bruno Haible  <bruno@clisp.org>
73862
73863         * modules/allocsa (License): Change to LGPL.
73864         Requested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
73865
73866 2005-04-13  Paul Eggert  <eggert@cs.ucla.edu>
73867
73868         * lib/getdate.y (zone): Allow relunit_snumber after tZONE, so
73869         that "UTC +1 second" continues to work.  Problem reported
73870         by Dmitry V. Levin.
73871         (relunit_snumber): New rule.
73872         (relunit): Use it.
73873
73874 2005-04-12  Paul Eggert  <eggert@cs.ucla.edu>
73875
73876         * lib/getdate.y (universal_time_zone_table): New constant.
73877         (time_zone_table): Remove GMT, UT, UTC entries; they're now in
73878         universal_time_zone_table.
73879         (lookup_zone): Prefer universal_time_zone_table to
73880         local_time_zone_table, so that "GMT" time stamps are allowed in
73881         London during the summer.  Problem reported by Ian Abbott.
73882
73883 2005-04-12  Jim Meyering  <jim@meyering.net>
73884
73885         * lib/human.c (humblock): Set *options even when returning due to
73886         xstrtoumax conversion failure.  Thanks to a used-uninitialized
73887         warning from gcc-4.
73888
73889 2005-04-09  Jim Meyering  <jim@meyering.net>
73890
73891         * lib/posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's
73892         -Wuninitialized: initialize tm0.tm_year.
73893
73894 2005-04-04  Paul Eggert  <eggert@cs.ucla.edu>
73895
73896         * lib/getdate.y (parser_control): rels_seen is now a boolean, not a
73897         count, since there's no maximum.  All uses changed.
73898         Add member dsts_seen.
73899         (local_zone): Accumulate dsts_seen rather than relying on tm_isdst
73900         not being INT_MAX.
73901         (get_date): Initialize dsts_seen, and check that it doesn't go over 1.
73902         Use pc_rels_seen to decide whther a date is absolute.
73903
73904         * lib/getdate.y (number): Don't overwrite year.
73905         (get_date): Initialize pc.year.digits to 0, not 4, to enable above
73906         check.
73907
73908 2005-04-02  Simon Josefsson  <jas@extundo.com>
73909
73910         * lib/getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny
73911         patch from Yoann Vandoorselaere <yoann@prelude-ids.org>.
73912
73913 2005-03-28  Eric Blake  <ebb9@byu.net>  (tiny change)
73914
73915         * m4/getcwd-path-max.m4: Return success on systems such as Cygwin
73916         where no absolute path name can be longer than PATH_MAX.
73917
73918 2005-03-27  Jim Meyering  <jim@meyering.net>
73919
73920         * lib/argmatch.c: Clarify comment: null-terminated -> NULL-terminated.
73921
73922 2005-03-26  Paul Eggert  <eggert@cs.ucla.edu>
73923
73924         * lib/intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND):
73925         "one's complement" -> "ones' complement" in comment, as per Knuth.
73926         "value of type" -> "type or expression" in comment.
73927         * lib/mktime.c, strftime.c: Propagate intprops.h comment nits.
73928
73929 2005-03-26  Jim Meyering  <jim@meyering.net>
73930
73931         Comment nits.
73932         * lib/intprops.h: Add the apostrophe in `(one|two)'s complement'.
73933         Correct typos: s/or/of/.
73934
73935 2005-03-26  Jim Meyering  <jim@meyering.net>
73936
73937         * modules/check-include-files: Move to ../ and rename to...
73938         * check-module: ...this.
73939
73940 2005-03-25  Jim Meyering  <jim@meyering.net>
73941
73942         * modules/xvasprintf (Files): Add xalloc.h.
73943
73944 2005-03-23  Paul Eggert  <eggert@cs.ucla.edu>
73945
73946         * modules/gettext (Files): config/config.rpath ->
73947         build-aux/config.rpath
73948         * modules/iconv (Files): Likewise.
73949         Problem reported by Oskar Liljeblad.
73950
73951 2005-03-23  Jim Meyering  <jim@meyering.net>
73952
73953         * modules/check-include-files: New script to check for
73954         missing dependencies, multiple includes, etc.
73955
73956         * modules/c-strtold (Depends-on): Add xalloc.
73957         * modules/c-strtod (Depends-on): Add xalloc.
73958         * modules/hash (Depends-on): Add xalloc.
73959         (Files): Remove lib/xalloc.h.
73960
73961         * modules/gethrxtime (Files): Add lib/gethrxtime.h.
73962         * modules/userspec (Files): Add lib/inttostr.h.
73963
73964 2005-03-23  Jim Meyering  <jim@meyering.net>
73965
73966         * lib/canonicalize.c: Remove duplicate `#include "stat-macros.h"'.
73967
73968 2005-03-22  Jim Meyering  <jim@meyering.net>
73969
73970         * modules/stat-macros: New module.
73971         * modules/canonicalize, modules/euidaccess, modules/file-type,
73972         * modules/filemode, modules/lchown, modules/makepath,
73973         * modules/rmdir, modules/stat: Depend on new stat-macros module
73974         rather than listing lib/stat-macros.h manually.
73975         Don't add stat-macros.h to lib_SOURCES or list it in Files: section.
73976
73977 2005-03-22  Jim Meyering  <jim@meyering.net>
73978
73979         * m4/stat-macros.m4 (gl_STAT_MACROS): New file/macro.
73980
73981 2005-03-22  Bruno Haible  <bruno@clisp.org>
73982
73983         * config/srclist.txt: Replace target directory 'config' with
73984         'build-aux'.
73985         * config/config.guess, config.sub, config.rpath, depcomp, install-sh:
73986         * config/mdate-sh, missing, mkinstalldirs, texinfo.tex: Move to
73987         ../build-aux/.
73988
73989 2005-03-21  Paul Eggert  <eggert@cs.ucla.edu>
73990
73991         * modules/chdir-long (Depends-on): Add mempcpy.
73992
73993         * modules/acl, modules/backupfile, modules/c-strtod,
73994         modules/c-strtold, modules/canon-host, modules/canonicalize,
73995         modules/cloexec, modules/closeout, modules/dirfd, modules/dirname,
73996         modules/exclude, modules/exitfail, modules/file-type,
73997         modules/filemode, modules/fpending, modules/fsusage, modules/getcwd,
73998         modules/getdate, modules/getline, modules/getpagesize,
73999         modules/getpass, modules/getugroups, modules/group-member,
74000         modules/hard-locale, modules/hash, modules/human, modules/idcache,
74001         modules/inttostr, modules/long-options, modules/makepath,
74002         modules/md5, modules/memcasecmp, modules/memcoll,
74003         modules/modechange, modules/mountlist, modules/path-concat,
74004         modules/pathmax, modules/physmem, modules/posixtm, modules/posixver,
74005         modules/quote, modules/quotearg, modules/readtokens, modules/readutmp,
74006         modules/safe-read, modules/safe-write, modules/same, modules/savedir,
74007         modules/settime, modules/sha1, modules/sig2str, modules/strdup,
74008         modules/strftime, modules/strndup, modules/strverscmp,
74009         modules/timespec, modules/unlocked-io, modules/userspec,
74010         modules/utimecmp, modules/utimens, modules/xalloc, modules/xstrtol,
74011         modules/yesno:
74012         Remove lib_SOURCES line from Makefile.am section, as this is now
74013         done automatically by the corresponding Autoconf macro.
74014
74015 2005-03-21  Jim Meyering  <jim@meyering.net>
74016
74017         Changes imported from coreutils.
74018
74019         * lib/cycle-check.c: Don't include xalloc.h.
74020
74021         * lib/path-concat.c: Don't include assert.h.
74022         (path_concat): Remove assertion that would have triggered
74023         for ABASE starting with more than one slash.
74024         Reported by Andreas Schwab.
74025
74026         * lib/path-concat.c (path_concat): Set *BASE_IN_RESULT
74027         properly when ABASE is an absolute file name.
74028         Correct the description of this function.
74029         Include <assert.h>.
74030         Add an assertion and a test driver.
74031         This fixes a bug introduced on 2004-07-02.
74032         Andreas Schwab reported the resulting failure of cp --parents:
74033         http://lists.gnu.org/archive/html/bug-coreutils/2005-01/msg00130.html
74034
74035 2005-03-21  Jim Meyering  <jim@meyering.net>
74036
74037         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Invoke gl_FUNC_MEMRCHR.
74038         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Check for memrchr decl.
74039
74040 2005-03-21  Jim Meyering  <jim@meyering.net>
74041         and  Paul Eggert  <eggert@cs.ucla.edu>
74042
74043         * m4/acl.m4, m4/backupfile.m4, m4/c-strtod.m4, m4/canon-host.m4,
74044         m4/canonicalize.m4, m4/cloexec.m4, m4/closeout.m4, m4/dirfd.m4,
74045         m4/dirname.m4, m4/exclude.m4, m4/exitfail.m4, m4/file-type.m4,
74046         m4/filemode.m4, m4/fpending.m4, m4/fsusage.m4, m4/getcwd.m4,
74047         m4/getdate.m4, m4/getline.m4, m4/getpagesize.m4, m4/getpass.m4,
74048         m4/getugroups.m4, m4/group-member.m4, m4/hard-locale.m4, m4/hash.m4,
74049         m4/human.m4, m4/idcache.m4, m4/inttostr.m4, m4/long-options.m4,
74050         m4/makepath.m4, m4/md5.m4, m4/memcasecmp.m4, m4/memcoll.m4,
74051         m4/modechange.m4, m4/mountlist.m4, m4/nanosleep.m4, m4/path-concat.m4,
74052         m4/pathmax.m4, m4/physmem.m4, m4/posixtm.m4, m4/posixver.m4,
74053         m4/quote.m4, m4/quotearg.m4, m4/readtokens.m4, m4/readutmp.m4,
74054         m4/safe-read.m4, m4/safe-write.m4, m4/same.m4, m4/savedir.m4,
74055         m4/settime.m4, m4/sha1.m4, m4/sig2str.m4, m4/strdup.m4, m4/strftime.m4,
74056         m4/strndup.m4, m4/strverscmp.m4, m4/timespec.m4, m4/unlocked-io.m4,
74057         m4/userspec.m4, m4/utimecmp.m4, m4/utimens.m4, m4/xalloc.m4,
74058         m4/xnanosleep.m4, m4/xstrtol.m4, m4/yesno.m4:
74059         Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files
74060         for these modules.
74061
74062 2005-03-18  Paul Eggert  <eggert@cs.ucla.edu>
74063
74064         * lib/strftime.c (my_strftime): If the underlying strftime returns 0
74065         (which shouldn't happen), generate nothing instead of returning 0
74066         immediately, so that nstrftime (NULL, ...) doesn't return 0.
74067
74068 2005-03-16  Bruno Haible  <bruno@clisp.org>
74069
74070         * modules/stdint (Makefile.am): Use HAVE_LONG_LONG_64BIT instead of
74071         HAVE_LONGLONG_64BIT.
74072
74073 2005-03-16  Bruno Haible  <bruno@clisp.org>
74074
74075         * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of
74076         HAVE_LONGLONG_64BIT.
74077
74078 2005-03-16  Bruno Haible  <bruno@clisp.org>
74079
74080         * lib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of
74081         HAVE_LONGLONG_64BIT.
74082
74083 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
74084
74085         * lib/strftime.c (my_strftime): Prepend space to format so that we can
74086         reliably distinguish strftime failure from empty output on POSIX
74087         hosts.
74088
74089 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
74090
74091         * lib/iconvme.c (SIZE_MAX): New macro, if not already defined.
74092         (iconv_string): Don't guess a size-zero buffer, as that might cause
74093         buffer overrun.  Instead, avoid multiplying by MB_LEN_MAX if the
74094         result would be 'too large', where 'too large' is (heuristically)
74095         the square root of SIZE_MAX, divided by MB_LEN_MAX to allay
74096         overflow concerns.  This will prevent some unwanted malloc failures
74097         when the inputs are very large.
74098
74099 2005-03-15  Karl Berry  <karl@gnu.org>
74100
74101         * config/srclist.txt (config.rpath): from gettext.
74102         * config/config.rpath: update.
74103
74104 2005-03-15  Bruno Haible  <bruno@clisp.org>
74105
74106         * lib/regex.c (byte_re_match_2_internal): Rename local variable 'not'
74107         to 'negate'.
74108
74109         * lib/regex.c (byte_re_match_2_internal): Reduce scope of same_str_p
74110         variable.
74111
74112         * lib/regex.c (EXTEND_BUFFER, regcomp): Cast the realloc/malloc
74113         results.
74114
74115 2005-03-14  Simon Josefsson  <jas@extundo.com>
74116
74117         * lib/timegm.h: Use proper prototype CPP guards, reported by Dave Love
74118         <fx@gnu.org>.
74119
74120 2005-03-14  Paul Eggert  <eggert@cs.ucla.edu>
74121
74122         * lib/mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT,
74123         TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from
74124         intprops.h.
74125         * lib/strtol.c: Likewise.
74126
74127 2005-03-14  Jim Meyering  <jim@meyering.net>
74128
74129         * lib/strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
74130         && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[]
74131         to be nonzero so that we (and caller) can detect the difference
74132         between a valid zero-length expansion and an error return, even
74133         when the underlying strftime fails before writing anything into
74134         that location.
74135
74136 2005-03-14  Bruno Haible  <bruno@clisp.org>
74137
74138         * m4/lib-link.m4, gettext.m4, nls.m4, po.m4:
74139         Update from GNU gettext 0.14.3.
74140
74141 2005-03-10  Jim Meyering  <jim@meyering.net>
74142
74143         * m4/save-cwd.m4 (gl_SAVE_CWD): Check for fchdir.
74144
74145 2005-03-10  Jim Meyering  <jim@meyering.net>
74146
74147         * lib/save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long
74148         so that this module works on systems without fchdir.
74149
74150 2005-03-09  Paul Eggert  <eggert@cs.ucla.edu>
74151
74152         Factor int-properties macros into a single file, except for
74153         glibc-related files.
74154         * lib/intprops.h: New file.
74155         * lib/getloadavg.c: Include it instead of limits.h.
74156         (INT_STRLEN_BOUND): Remove.
74157         * lib/human.c: Include intprops.h.
74158         (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself.
74159         * lib/human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than
74160         302/1000.
74161         * lib/inttostr.h: Include intprops.h instead of limits.h.
74162         (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove.
74163         * lib/mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros,
74164         for consistency with intprops.h.
74165         (time_t_is_integer, twos_complement_arithmetic): Use them.
74166         * lib/sig2str.h: Include <signal.h>, intprops.h.
74167         (INT_STRLEN_BOUND): Remove.
74168         * lib/strftime.c (TYPE_SIGNED): Remove.
74169         (INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
74170         * lib/strtol.c: Adjust comments to match intprops.h.
74171         * lib/userspec.c: Include intprops.h.
74172         (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
74173         * lib/utimecmp.c, xnanosleep.c, xstrtol.c: Likewise.
74174         * lib/utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT
74175         instead of rolling our own expressions.
74176         * lib/xstrtol.c: Include xstrtol.h first, to test interface.
74177
74178         * lib/strftime.c: Include <stdbool.h>.  Use bool where appropriate,
74179         instead of int.
74180         (my_strftime): Do not mishandle years close to INT_MAX, by doing
74181         the right thing even if adding 1900 would overflow.  Similarly
74182         for tm_mon + 1 and tm_yday + 1.
74183         Make %Y always equivalent to %C%y, and similarly for %G and %g.
74184         (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional.
74185         (DO_SIGNED_NUMBER): New macro.
74186         (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1.
74187
74188 2005-03-07  Bruno Haible  <bruno@clisp.org>
74189
74190         * m4/mmap-anon.m4 (MAP_FILE, MAP_FAILED): Remove definitions.
74191
74192 2005-03-07  Bruno Haible  <bruno@clisp.org>
74193
74194         * lib/pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks.
74195
74196 2005-03-04  Derek R. Price  <derek@ximbiot.com>
74197
74198         * gnulib-tool (func_cp_if_changed, func_mv_if_changed): New functions.
74199         (func_import): Only replace files via --import when they have actually
74200         changed.
74201
74202 2005-03-03  Derek R. Price  <derek@ximbiot.com>
74203
74204         * m4/mmap-anon.m4: New file.
74205         * m4/pagealign_alloc.m4: New file.
74206
74207 2005-03-03  Derek R. Price  <derek@ximbiot.com>
74208             Bruno Haible  <bruno@clisp.org>
74209
74210         * modules/pagealign_alloc: New file.
74211         * MODULES.html.sh (Memory management functions): Add pagealign_alloc.
74212
74213 2005-03-03  Derek R. Price  <derek@ximbiot.com>
74214             Bruno Haible  <bruno@clisp.org>
74215
74216         * lib/pagealign_alloc.h: New file.
74217         * lib/pagealign_alloc.c: New file.
74218
74219 2005-03-03  Bruno Haible  <bruno@clisp.org>
74220
74221         * m4/inttypes.m4, isc-posix.m4, once-only.m4:
74222         Use an all-permissive copyright notice, recommended by RMS.
74223
74224 2005-03-02  Bruno Haible  <bruno@clisp.org>
74225
74226         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Undo the replacement here. Because
74227         of AIX, the replacement has to be done only after <string.h> is
74228         included, therefore not in config.h. stpncpy.h does the replacement,
74229         and stpncpy.c uses it.
74230
74231 2005-03-02  Bruno Haible  <bruno@clisp.org>
74232
74233         * lib/stpncpy.h (stpncpy): Define as a macro without arguments, so that
74234         stpncpy.c uses it.
74235
74236 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
74237
74238         Remove workaround for bug in Linux kernel 2.6.8 or thereabouts.
74239         The workaround isn't strictly needed for POSIX conformance, and
74240         it's too much of a pain to configure and maintain.  We'll ask
74241         people to fix their kernels instead.
74242         * lib/xnanosleep.c: Don't include gethrxtime.h or xtime.h.
74243         (NANOSLEEP_BUG_WORKAROUND): Remove.
74244         (xnanosleep): Remove the workaround.
74245
74246 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
74247
74248         * modules/gettime (Makefile.am): Remove lib_SOURCES line.
74249         Reported by Derek Price.
74250         (Include): Add "timespec.h".
74251
74252         * modules/xnanosleep (Depends-on): Remove gethrxtime.
74253
74254 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
74255
74256         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting
74257         to detect nanosleep bug.
74258
74259 2005-03-01  Bruno Haible  <bruno@clisp.org>
74260
74261         * lib/vasnprintf.c (EOVERFLOW): Define to a fallback if needed.
74262
74263 2005-02-26  Paul Eggert  <eggert@cs.ucla.edu>
74264
74265         * modules/gethrxtime: New file.
74266         * modules/xnanosleep (Files): Add m4/xnanosleep.m4.
74267         (Depends-on): Add gethrxtime.
74268         (configure.ac): Add gl_XNANOSLEEP.
74269         (Makefile.am): Remove lib_SOURCES line.
74270
74271 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
74272
74273         * m4/gethrxtime.m4, m4/xnanosleep.m4: New files.
74274         * m4/gettime.m4 (gl_GETTIME): Check for nanotime.
74275
74276 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
74277
74278         * lib/gethrxtime.h, lib/gethrxtime.c, lib/xtime.h: New files.
74279         * lib/timespec.h (gettime): Return void, since it always
74280         succeeds now.  All uses changed.
74281         * lib/gettime.c (gettime): Likewise.
74282         [HAVE_NANOTIME]: Prefer nanotime.
74283         Assume gettimeofday succeeds, as POSIX requires.
74284         Assime time () succeeds, since other code already does.
74285         * lib/xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h.
74286         (timespec_subtract): Remove.
74287         (NANOSLEEP_BUG_WORKAROUND): New constant.
74288         (xnanosleep): Use gethrxtime rather than gettime; this simplifies
74289         things considerably.  Use it only on GNU/Linux hosts, since the
74290         workaround shouldn't be needed elsewhere.
74291
74292 2005-02-24  Bruno Haible  <bruno@clisp.org>
74293
74294         * modules/gettext (Files): Add m4/glibc2.m4.
74295
74296 2005-02-24  Bruno Haible  <bruno@clisp.org>
74297
74298         * m4/gettext.m4, intdiv0.m4, intmax.m4, inttypes-pri.m4, lcmessage.m4:
74299         * m4/lib-link.m4, lib-prefix.m4, nls.m4, po.m4, printf-posix.m4:
74300         * m4/progtest.m4:
74301         Update from GNU gettext 0.14.2.
74302         * m4/glibc2.m4: New file, from GNU gettext 0.14.2.
74303
74304 2005-02-24  Bruno Haible  <bruno@clisp.org>
74305
74306         * lib/localcharset.c: Update from GNU gettext 0.14.2.
74307         * lib/config.charset: Update from GNU gettext 0.14.2.
74308
74309 2005-02-24  Bruno Haible  <bruno@clisp.org>
74310
74311         * lib/gettext.h: Update from GNU gettext 0.14.2.
74312
74313 2005-02-23  Simon Josefsson  <jas@extundo.com>
74314
74315         * m4/iconvme.m4: New file.
74316
74317 2005-02-23  Jim Meyering  <jim@meyering.net>
74318
74319         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's
74320         change.
74321         Thanks to Bruno Haible for catching it.
74322
74323 2005-02-22  Simon Josefsson  <jas@extundo.com>
74324
74325         * modules/iconvme: New file.
74326
74327         * MODULES.html.sh: Add iconvme.
74328
74329 2005-02-22  Simon Josefsson  <jas@extundo.com>
74330
74331         * lib/iconvme.h, lib/iconvme.c: New files, from libc.
74332
74333 2005-02-22  Simon Josefsson  <jas@extundo.com>
74334
74335         * config/srclist.txt: Sync iconvme.h, iconvme.c from libc.
74336
74337 2005-02-22  Jim Meyering  <jim@meyering.net>
74338
74339         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo:
74340         s/ifndef/ifdef/.
74341
74342 2005-02-20  Neil Conway  <neilc@samurai.com>
74343
74344         * lib/xgethostname.c (xgethostname): Check for ENOMEM, which is
74345         returned by OSX/Darwin if the specified buffer is not large
74346         enough for the hostname.
74347
74348 2005-02-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
74349
74350         * lib/argp-help.c (__argp_help): Create a fake struct argp_state and
74351         pass it to _help, otherwise the latter coredumps trying to
74352         dereference state.root_argp.
74353
74354 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
74355
74356         * modules/chdir-long (Depends-on): Add memrchr.
74357         * modules/memrchr (Files): Add lib/memrchr.h.
74358         (Include): "memrchr.h".
74359
74360 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
74361
74362         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h.
74363
74364 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
74365
74366         * lib/memrchr.h: New file.
74367         * lib/chdir-long.c: Include it.
74368         * lib/memrchr.c [!defined _LIBC]: Include it rather than <string.h>
74369         Don't bother including stddef.h.
74370
74371 2005-02-01  Paul Eggert  <eggert@cs.ucla.edu>
74372
74373         * lib/mountlist.h (MOUNTLIST_H_): New macro, to protect against double
74374         inclusion.
74375         Include <sys/types.h>, for dev_t.
74376         (ME_DUMMY, ME_REMOTE): Move from here....
74377         * lib/mountlist.c (ME_DUMMY, ME_REMOTE): To here.
74378         (ME_DUMMY): Count "subfs" as a dummy.  Problem reported by
74379         Dmitry V. Levin.
74380         Include mountlist.h first, to test the interface.
74381
74382 2005-01-29  Bruno Haible  <bruno@clisp.org>
74383
74384         * lib/progname.c (program_name): Initialize.
74385         Needed when linking statically on MacOS X.
74386
74387 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
74388
74389         Sync from coreutils.
74390         * modules/getloadavg (Files): Remove m4/getloadavg.m4.
74391         (Depends-on): Add c-strtod.
74392         (configure.ac): Replace gl_FUNC_GETLOADAVG with AC_FUNC_GETLOADAVG.
74393
74394 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
74395
74396         Sync from coreutils.
74397         * m4/getloadavg.m4, glibc.m4, search-libs.m4: Remove.
74398
74399         Remove files that are specific to coreutils.
74400         * m4/check-decl.m4, jm-macros.m4, lib-check.m4, prereq.m4: Remove.
74401
74402 2005-01-28  Bruno Haible  <bruno@clisp.org>
74403
74404         * modules/javacomp: New file.
74405         * MODULES.html.sh (Java): Add javacomp.
74406
74407 2005-01-28  Bruno Haible  <bruno@clisp.org>
74408
74409         * m4/javacomp.m4: New file, from GNU gettext.
74410
74411 2005-01-28  Bruno Haible  <bruno@clisp.org>
74412
74413         * lib/javacomp.sh.in: New file, from GNU gettext.
74414         * lib/javacomp.h: New file, from GNU gettext.
74415         * lib/javacomp.c: New file, from GNU gettext.
74416
74417 2005-01-26  Simon Josefsson  <jas@extundo.com>
74418
74419         * lib/gai_strerror.c: Use GPL in header.
74420
74421 2005-01-26  Bruno Haible  <bruno@clisp.org>
74422
74423         * modules/javaexec: New file.
74424         * MODULES.html.sh (Java): Add javaexec.
74425
74426 2005-01-26  Bruno Haible  <bruno@clisp.org>
74427
74428         * m4/javaexec.m4: New file, from GNU gettext.
74429
74430 2005-01-26  Bruno Haible  <bruno@clisp.org>
74431
74432         * lib/javaexec.sh.in: New file, from GNU gettext.
74433         * lib/javaexec.h: New file, from GNU gettext.
74434         * lib/javaexec.c: New file, from GNU gettext.
74435
74436 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
74437
74438         * modules/lchown (Depends-on): Remove lchown.h
74439
74440 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
74441
74442         * m4/sysexits.m4 (gl_SYSEXITS): Reverted logic. SYSEXITS_H
74443         must be defined if the header file was not found, in order
74444         to provide a replacement. Reported by Todd Vierling <tv@duh.org>
74445
74446 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
74447
74448         * lib/argp-help.c (hol_entry_help): Avoid using non-constant
74449         initializers for struct pentry_state.
74450         (__argp_error): Check return value of __asprintf
74451         (__argp_failure): Translate error message
74452
74453         * lib/argp-parse.c: Removed braces around the expansion of N_()
74454
74455 2005-01-23  Paul Eggert  <eggert@cs.ucla.edu>
74456
74457         * m4/acl.m4, afs.m4, alloca.m4, argp.m4, assert.m4, atexit.m4,
74458         backupfile.m4, base64.m4, bison.m4, c-bs-a.m4, c-stack.m4,
74459         c-strtod.m4, calloc.m4, canon-host.m4, canonicalize.m4,
74460         clock_time.m4, cloexec.m4, closeout.m4, d-ino.m4, d-type.m4,
74461         dirfd.m4, dirname.m4, dos.m4, dup2.m4, error.m4, euidaccess.m4,
74462         exclude.m4, exitfail.m4, extensions.m4, fcntl-safer.m4,
74463         file-type.m4, fileblocks.m4, filemode.m4, fnmatch.m4, fpending.m4,
74464         free.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getaddrinfo.m4,
74465         getcwd-path-max.m4, getcwd.m4, getdate.m4, getdomainname.m4,
74466         getgroups.m4, gethostname.m4, getline.m4, getndelim2.m4,
74467         getnline.m4, getopt.m4, getpagesize.m4, getpass.m4, getsubopt.m4,
74468         gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4,
74469         group-member.m4, hard-locale.m4, hash.m4, host-os.m4, human.m4,
74470         idcache.m4, inttostr.m4, isdir.m4, jm-winsz1.m4, jm-winsz2.m4,
74471         link-follow.m4, long-options.m4, ls-mntd-fs.m4, lstat.m4,
74472         makepath.m4, mathl.m4, md5.m4, memcasecmp.m4, memchr.m4,
74473         memcmp.m4, memcoll.m4, memcpy.m4, memmem.m4, memmove.m4,
74474         memrchr.m4, memset.m4, mkdir-slash.m4, mkstemp.m4, mktime.m4,
74475         modechange.m4, mountlist.m4, nanosleep.m4, obstack.m4,
74476         path-concat.m4, pathmax.m4, perl.m4, physmem.m4, poll.m4,
74477         posixtm.m4, posixver.m4, putenv.m4, quote.m4, quotearg.m4,
74478         readdir.m4, readtokens.m4, readutmp.m4, regex.m4, rename.m4,
74479         restrict.m4, rmdir-errno.m4, rmdir.m4, rpmatch.m4, same.m4,
74480         savedir.m4, settime.m4, sha1.m4, sig2str.m4, snprintf.m4,
74481         sockpfaf.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, stdint.m4,
74482         stdio-safer.m4, strchrnul.m4, strdup.m4, strerror.m4,
74483         strerror_r.m4, strftime.m4, strndup.m4, strnlen.m4, strsep.m4,
74484         strtod.m4, strtoimax.m4, strtok_r.m4, strtol.m4, strtoll.m4,
74485         strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, sysexits.m4,
74486         time_r.m4, timegm.m4, timespec.m4, tm_gmtoff.m4, tzset.m4,
74487         uint32_t.m4, uintptr_t.m4, unistd-safer.m4, unlink-busy.m4,
74488         unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4, utime.m4,
74489         utimecmp.m4, utimens.m4, utimes-null.m4, vsnprintf.m4, xalloc.m4,
74490         xgetcwd.m4, xreadlink.m4, xstrndup.m4, xstrtod.m4, xstrtoimax.m4,
74491         xstrtol.m4, xstrtoumax.m4, yesno.m4:
74492         Use an all-permissive copyright notice, recommended by RMS.
74493
74494 2005-01-21  Paul Eggert  <eggert@cs.ucla.edu>
74495
74496         * modules/chdir-long (Depends-on): Remove mempcpy.
74497
74498 2005-01-21  Jim Meyering  <jim@meyering.net>
74499
74500         * lib/openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the
74501         same value as for Solaris 9.
74502
74503         * lib/chdir-long.c (chdir_long): Rewrite to remove limitation on
74504         component length.  This included changing the parameter to be
74505         of type `char *' rather than `char const *'.
74506         * lib/chdir-long.h (chdir_long): Update prototype.
74507
74508         * lib/openat.c (fdopendir, fstatat): New functions.
74509         * lib/openat.h: Include headers required for use of DIR and struct
74510         stat.
74511         [AT_SYMLINK_NOFOLLOW]: Define.
74512         (fdopendir, fstatat): Add prototypes.
74513
74514 2005-01-21  Bruno Haible  <bruno@clisp.org>
74515
74516         * modules/classpath: New file.
74517         * MODULES.html.sh (Java): Add classpath.
74518
74519 2005-01-21  Bruno Haible  <bruno@clisp.org>
74520
74521         * lib/classpath.h: New file, from GNU gettext.
74522         * lib/classpath.c: New file, from GNU gettext.
74523
74524 2005-01-20  Simon Josefsson  <jas@extundo.com>
74525
74526         * modules/version-etc-fsf: New file.
74527
74528 2005-01-20  Simon Josefsson  <jas@extundo.com>
74529
74530         * lib/version-etc-fsf.c: New file, with version_etc_copyright.
74531         * lib/version-etc.c: Remove version_etc_copyright.
74532         * lib/version-etc.h (version_etc_copyright): Use [] instead of * in
74533         prototype, suggested by Paul Eggert <eggert@CS.UCLA.EDU>.
74534
74535 2005-01-20  Simon Josefsson  <jas@extundo.com>
74536
74537         * lib/base64.h (isbase64): Add.
74538
74539         * lib/base64.c (isb64): Rename to isbase64, use to_uchar instead of
74540         using a unsigned prototype, don't inline.
74541         (base64_decode): Use it.
74542
74543 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
74544
74545         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume
74546         it.
74547
74548 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
74549
74550         * lib/save-cwd.c (save_cwd): Remove code to support the case
74551         where fchdir is missing or flaky.
74552
74553 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
74554
74555         * MODULES.html.sh (Command-line arguments): Add version-etc-fsf.
74556
74557 2005-01-19  Paul Eggert  <eggert@cs.ucla.edu>
74558
74559         * modules/mempcpy (Makefile.am): Remove mention of mempcpy.h;
74560         AC_LIBSOURCES now does this.
74561         * MODULES.html.sh (Sizes of integer types <limits.h>): New element,
74562         with new ullong_max module.
74563
74564 2005-01-19  Bruno Haible  <bruno@clisp.org>
74565
74566         * modules/sh-quote: New file.
74567         * MODULES.html.sh (Executing programs): Add sh-quote.
74568
74569 2005-01-19  Bruno Haible  <bruno@clisp.org>
74570
74571         * lib/sh-quote.h: New file, from GNU gettext.
74572         * lib/sh-quote.c: New file, from GNU gettext.
74573
74574 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
74575
74576         Merge from coreutils.
74577         * m4/ullong_max.m4: New file.
74578         * m4/jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX.
74579         (gl_MACROS): Assume localeconv exists.
74580
74581 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
74582
74583         Merge changes from coreutils, as described below in several
74584         changelogs dated today.
74585
74586         * lib/save-cwd.c: Include "save-cwd.h" before other include files.
74587         (O_DIRECTORY): Remove; not needed here, since "." must be
74588         a directory.  All uses removed.
74589         (save_cwd): Use __sgi || __sun, not sun || __sun.  __sun is
74590         universal on Suns, and we also need to test for IRIX.
74591         Revamp code to use 'if' rather than '#if'.
74592         Avoid unnecessary comparison of cwd->desc to 0.
74593
74594         * lib/utimens.c (futimens): Robustify the previous patch, by checking
74595         for known valid error numbers rather than observed invalid ones.
74596
74597 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
74598
74599         * modules/ullong_max: New file.
74600
74601         * modules/chdir-long, modules/openat: New files.
74602         * modules/save-cwd (Depends-on): Depend on chdir-long.
74603         (Makefile.am): Remove lib_SOURCES; now handled by AC_LIBSOURCES.
74604
74605 2005-01-18  Jim Meyering  <jim@meyering.net>
74606
74607         Merge from coreutils.
74608         * m4/chdir-long.m4, m4/openat.m4: New files.
74609         * m4/save-cwd.m4 (gl_SAVE_CWD): Add AC_LIBSOURCES for save-cwd.c,
74610         save-cwd.h.  Add AC_LIBOBJ for save-cwd.
74611         * m4/chown.m4 (gl_FUNC_CHOWN): When cross-compiling, assume that chown
74612         is sane and DOES follow symlinks.  Besides, testing 20 different
74613         systems found no broken chown implementations.
74614         Prompted by a change in rsync's copy of this macro.
74615         * m4/jm-macros.m4 (gl_MACROS): Require gl_FUNC_CHDIR_LONG.
74616
74617         * m4/lchown.m4 (gl_FUNC_LCHOWN): Use AC_LIBSOURCES.
74618
74619         * m4/utimes.m4: Work around tests/touch/empty-file failure on a system
74620         (sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes'
74621         NULL-means-set-to-current-time semantics.
74622         Remove temporary file immediately, rather than waiting
74623         for configure's at-exit trap code to do it.
74624
74625 2005-01-18  Jim Meyering  <jim@meyering.net>
74626
74627         * lib/version-etc.c (version_etc_copyright): Update copyright date.
74628
74629         * lib/utimens.c (futimens): Account for the fact that futimes
74630         can also fail with errno == ENOSYS or errno == ENOENT.
74631         Patch from Dmitry V. Levin.
74632
74633         Change the name of the robust chdir function from chdir to chdir_long.
74634         * lib/save-cwd.c: Include chdir-long.h rather than chdir.h.
74635         (restore_cwd): Use chdir_long, not chdir.
74636         * lib/chdir-long.c: Renamed from chdir.c.
74637         * lib/chdir-long.h: Renamed from chdir.h.
74638         [!defined PATH_MAX]: Define chdir_long to chdir on systems like the
74639         Hurd.
74640
74641 2005-01-18  Bruno Haible  <bruno@clisp.org>
74642
74643         * m4/allocsa.m4, m4/codeset.m4, m4/copy-file.m4, m4/eaccess.m4:
74644         * m4/eealloc.m4, m4/eoverflow.m4, m4/execute.m4, m4/fatal-signal.m4:
74645         * m4/findprog.m4, m4/glibc21.m4, m4/iconv.m4, m4/intmax_t.m4:
74646         * m4/inttypes_h.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4:
74647         * m4/linebreak.m4, m4/localcharset.m4, m4/longdouble.m4:
74648         * m4/longlong.m4, m4/mbrtowc.m4, m4/mbstate_t.m4, m4/mbswidth.m4:
74649         * m4/mkdtemp.m4, m4/pipe.m4, m4/readlink.m4, m4/safe-read.m4:
74650         * m4/safe-write.m4, m4/setenv.m4, m4/sig_atomic_t.m4:
74651         * m4/signalblocking.m4, m4/signed.m4, m4/size_max.m4, m4/ssize_t.m4:
74652         * m4/stdbool.m4, m4/stdint_h.m4, m4/stpcpy.m4, m4/stpncpy.m4:
74653         * m4/strcase.m4, m4/strcspn.m4, m4/strpbrk.m4, m4/strstr.m4:
74654         * m4/ucs4-utf.m4, m4/uintmax_t.m4, m4/ulonglong.m4, m4/unicodeio.m4:
74655         * m4/utf-ucs4.m4, m4/vasnprintf.m4, m4/vasprintf.m4:
74656         * m4/wait-process.m4, m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4:
74657         Use an all-permissive copyright notice, recommended by RMS.
74658
74659 2005-01-18  Bob Proulx  <bob@proulx.com>
74660
74661         * lib/obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to
74662         simplify offsetof() macro construct to avoid compile failure with
74663         native HP-UX 11.0 ANSI C compiler.
74664
74665 2005-01-17  Bruno Haible  <bruno@clisp.org>
74666
74667         * lib/stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming,
74668         redundant because stpncpy.m4 takes care of it.
74669
74670 2005-01-17  Bruno Haible  <bruno@clisp.org>
74671
74672         * lib/progreloc.c: Include xalloc.h instead of xmalloc.h.
74673
74674 2005-01-17  Bruno Haible  <bruno@clisp.org>
74675
74676         * lib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be
74677         used.
74678
74679 2005-01-17  Bruno Haible  <bruno@clisp.org>
74680
74681         * lib/fwriteerror.h (fwriteerror): Change specification to include
74682         fclose.
74683         * lib/fwriteerror.c: Include <stdbool.h>.
74684         (fwriteerror): At the end, close the file stream. Record whether
74685         stdout was already closed.
74686
74687 2005-01-17  Bruno Haible  <bruno@clisp.org>
74688
74689         * lib/execute.c (environ): Declare if needed.
74690         * lib/pipe.c (environ): Likewise.
74691         Reported by Michael Schloh von Bennewitz <michael.schloh@cw.com>.
74692
74693 2005-01-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
74694
74695         * modules/argp: Depend on vsnprintf
74696
74697 2005-01-10  Jim Meyering  <jim@meyering.net>
74698
74699         * modules/closeout (Depends-on): Add atexit.
74700
74701 2005-01-06  Bruno Haible  <bruno@clisp.org>
74702
74703         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Rename stpncpy to gnu_stpncpy here.
74704
74705 2005-01-04  Paul Eggert  <eggert@cs.ucla.edu>
74706
74707         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional
74708         definitions to be after all include files, to avoid collisions.
74709         Problem reported by Bob Proulx.
74710
74711 2005-01-04  Jim Meyering  <jim@meyering.net>
74712
74713         Changes imported from coreutils.
74714         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Rather than using "conftestXXXXXX"
74715         as the mkstemp template, use a temporary directory and an
74716         8.3-friendly template to avoid trouble on systems like DJGPP.
74717         Reported by Juan M. Guerrero via Stepan Kasal.
74718         * m4/(gl_FUNC_MKSTEMP): Include <unistd.h> for the declaration of
74719         close. Remove the temporary directory right away, rather than waiting
74720         for configure's at-exit trap code to do it.
74721         Suggestion from Stepan Kasal.
74722
74723 2005-01-01  Simon Josefsson  <jas@extundo.com>
74724
74725         * gnulib-tool: Print #include directives when --import'ing.
74726
74727 2004-12-28  Simon Josefsson  <jas@extundo.com>
74728
74729         * tests/test-base64.c: Include required header files.  Remove
74730         unused variables.
74731
74732 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
74733
74734         * modules/error (Depends-on): Remove gettext.
74735
74736 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
74737
74738         * lib/error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h";
74739         not needed.  This removes a dependency on the gettext module.
74740         [defined _LIBC]: Do not include <libintl.h>; not needed.
74741
74742 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
74743
74744         * m4/c-strtod.m4 (gl_C99_STRTOLD): New macro.
74745         (gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold).
74746
74747 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
74748
74749         * lib/c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not
74750         HAVE_DECL_STRTOLD.
74751
74752 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
74753
74754         * modules/getdate (Depends-on): Remove alloca-opt.
74755
74756 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
74757
74758         * m4/getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA.
74759
74760 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
74761
74762         * lib/argp-parse.c: Include <stddef.h>.
74763         (alignof, alignto): New macros.
74764         (parser_init): Don't assume that void * is aligned sufficiently
74765         for struct option.
74766
74767         * lib/getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no
74768         need to extend the stack.
74769         (YYINITDEPTH): New macro, so that the initial stack isn't overly
74770         large.
74771
74772 2004-12-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
74773
74774         * lib/argp-parse.c (parser_init): Avoid arithmetics on void pointers.
74775
74776 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
74777
74778         * modules/regex (lib_SOURCES): Remove regex.c, undoing previous
74779         (2004-10-24) change.  Apparently this was a false alarm.
74780
74781         * modules/getdate: Depend on alloca-opt, not alloca.
74782
74783 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
74784
74785         * lib/alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H.
74786         Remove now-obsolete comment about AIX.
74787         * lib/getdate.y: Include <alloca.h> only if HAVE_ALLOCA.
74788         (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA.
74789         (YYMAXDEPTH): New macro.
74790
74791 2004-12-18  Simon Josefsson  <jas@extundo.com>
74792
74793         * modules/alloca: Depend on alloca-opt, instead of duplicating it.
74794
74795 2004-12-18  Bruno Haible  <bruno@clisp.org>
74796
74797         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Also test for sigaction.
74798
74799 2004-12-18  Bruno Haible  <bruno@clisp.org>
74800
74801         * lib/fatal-signal.c (fatal_signals): Make non-const.
74802         (init_fatal_signals): New function.
74803         (uninstall_handlers, install_handlers): Ignore signals that were set to
74804         SIG_IGN.
74805         (at_fatal_signal): Call init_fatal_signals.
74806         (init_fatal_signal_set): Likewise. Ignore signals that were set to
74807         SIG_IGN.
74808         Reported by Paul Eggert.
74809
74810 2004-12-18  Bruno Haible  <bruno@clisp.org>
74811
74812         * doc/alloca.texi: New file.
74813         * doc/alloca-opt.texi: New file.
74814
74815 2004-12-17  Jim Meyering  <jim@meyering.net>
74816
74817         * config/install-sh: Use `(exit N); exit N', not `(exit N); exit'.
74818         Otherwise, install-sh could exit with improper exit status when
74819         exiting via a trapped interrupt.  Thanks to a report from Bob Proulx.
74820
74821 2004-12-16  Simon Josefsson  <jas@extundo.com>
74822
74823         * tests/test-base64.c: Add license.
74824
74825 2004-12-15  Stepan Kasal  <address@hidden>
74826
74827         * gnulib-tool (func_emit_lib_Makefile_am): Shorten a long sed command.
74828
74829 2004-12-12  Paul Eggert  <eggert@cs.ucla.edu>
74830
74831         * modules/getcwd (Files): Add m4/d-ino.m4.
74832         Suggested by Mark D. Baushke.
74833
74834 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
74835
74836         * lib/getdate.y (textint): New member "negative".
74837         (time_zone_hhmm): New function.
74838         Expect 14 shift-reduce conflicts, not 13.
74839         (o_colon_minutes): New rule.
74840         (time, zone): Use it to add support for +HH:MM, UTC+HH:MM.
74841         (yylex): Set the "negative" member of signed numbers.
74842
74843 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
74844
74845         * doc/getdate.texi (Time of day items, Time zone items):
74846         Describe new formats +00:00, UTC+00:00.
74847
74848 2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>
74849
74850         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change:
74851         spurious "-l"s.  Problem reported by Stepan Kasal.
74852
74853 2004-12-06  Paul Eggert  <eggert@cs.ucla.edu>
74854
74855         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug
74856         in Autoconf 2.59.  Problem reported by Mark D. Baushke.
74857
74858 2004-12-04  Simon Josefsson  <jas@extundo.com>
74859
74860         * modules/getaddrinfo (License): Add LGPL, reported by Yoann
74861         Vandoorselaere <yoann@prelude-ids.org>.
74862
74863 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
74864
74865         Changes imported from coreutils.
74866         * m4/hard-locale.m4 (gl_HARD_LOCALE): Assume locale.h and setlocale
74867         exist.
74868         * m4/human.m4 (gl_HUMAN): Assume locale.h and localeconv exist.
74869
74870 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
74871
74872         Changes imported from coreutils.
74873         * lib/hard-locale.c: Assume <locale.h> exists.
74874         Include "strdup.h".
74875         (GLIBC_VERSION): New macro.
74876         (hard_locale): Assume setlocale exists.
74877         Rewrite to avoid #ifdef.
74878         Use strdup rather than malloc + strcpy.
74879         * lib/human.c: Assume <locale.h> exists.
74880         (human_readable): Assume localeconv exists.
74881
74882 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
74883
74884         * modules/hard-locale (Depends-on): Add strdup.
74885
74886 2004-12-01  Jakub Jelinek  <jakub@redhat.com>
74887
74888         * lib/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC,
74889         convert T2, not T.  (Imported from libc.)
74890
74891 2004-11-30  Simon Josefsson  <jas@extundo.com>
74892
74893         * modules/restrict (License): Change to LGPL.
74894
74895 2004-11-30  Simon Josefsson  <jas@extundo.com>
74896
74897         * m4/restrict.m4: Add copyright and copying conditions.
74898
74899 2004-11-30  Simon Josefsson  <jas@extundo.com>
74900
74901         * m4/base64.m4: New file.
74902
74903 2004-11-30  Simon Josefsson  <jas@extundo.com>
74904
74905         * MODULES.html.sh (Extra functions based on ANSI C 89): Add
74906         base64.
74907
74908         * tests/test-base64.c: New file.
74909
74910         * modules/base64: New file.
74911
74912 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
74913
74914         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
74915         Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working.
74916
74917         * m4/readutmp.m4 (gl_READUTMP): Don't check for sys/param.h.
74918
74919 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
74920
74921         * lib/getcwd.c (is_ENAMETOOLONG): New macro.
74922         (__getcwd.c): Don't restore errno; glibc doesn't.
74923         [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd
74924         first, falling back to our code only if its results look suspicious.
74925         Ensure that the resulting buffer is only as large as necessary.
74926
74927         * lib/readutmp.c: Include readutmp.h first.
74928         Include <errno.h>, since readutmp.h no longer does that.
74929         * lib/readutmp.h: Don't include <errno.h>,
74930         <sys/param.h>, <time.h>; not needed to establish interface.
74931         (errno): Remove decl.
74932         (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed.
74933         (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME,
74934         UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros.
74935
74936 2004-11-28  Simon Josefsson  <jas@extundo.com>
74937
74938         * lib/base64.h, base64.c: New file.
74939
74940 2004-11-27  Paul Eggert  <eggert@cs.ucla.edu>
74941
74942         * lib/getcwd.h: New file, which I forgot to check in on 2004-11-25.
74943
74944 2004-11-26  Paul Eggert  <eggert@cs.ucla.edu>
74945
74946         * modules/getcwd (Files): Add lib/getcwd.h, m4/getcwd.m4.
74947         (Depends-on): Remove pathmax, same.  Add mempcpy.
74948         (configure.ac): GL_FUNC_GETCWD_PATH_MAX -> gl_FUNC_GETCWD.
74949         (Makefile.am): Append getcwd.h to lib_SOURCES.
74950         (Include): Add getcwd.h.
74951         (Maintainer): Change from Jim Meyering to "all, glibc",
74952         since getdate now uses intended-for-glibc code.
74953         * modules/xgetcwd (Files): Remove m4/getcwd.m4.
74954         (Depends-on): Depend on getcwd.  Do not depend on pathmax.
74955
74956 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
74957
74958         Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using
74959         HP's ANSI C compiler.
74960         * lib/fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl.
74961         Declaring int functions causes warnings on some modern systems and
74962         shouldn't be needed to compile on ancient ones.
74963         * lib/same.c (MIN) [defined MIN]: Don't define, since it's already
74964         defined.
74965
74966         * lib/getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but
74967         with the following changes.
74968         (__set_errno): Parenthesize properly.
74969         Include <stdbool.h>.
74970         (MIN, MAX, MATCHING_INO): New macros.
74971         (__getcwd): Define with prototype, not K&R form.
74972         Use heuristics to allocate default buffer on stack if possible.
74973         If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2)
74974         behavior, and to avoid the PATH_MAX limit when computing
74975         ../../../../...
74976         Use MATCHING_INO to compare inode number to file.
74977         Check for arithmetic overflow in size calculations.
74978         Fix bug in reallocation of dot array that caused getcwd to fail
74979         on directories nested deeper than 75.
74980         Be more careful about saving errno on error.
74981         Do not use realloc; use only free+malloc, as this is a bit
74982         more flexible and avoids a needless copy operation.
74983         Do not inspect st_dev and st_ino for symbolic links; POSIX
74984         doesn't specify the latter.
74985         Check for closedir errors.
74986         Avoid needless casts.
74987         Use "#ifdef weak_alias" around weak_alias, to be like other
74988         glibc code.
74989         The following changes to getcwd.c have effect only when used in
74990         gnulib; they have no effect inside glibc proper.
74991         (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove,
74992         as alloca isn't used.
74993         (alloca, __alloca): Likewise.
74994         [!_LIBC]: Include "getcwd.h", "mempcpy.h".
74995         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
74996         unconditionally, as gnulib assumes C89 or better.
74997         Do not include <sys/param.h>.
74998         (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove
74999         no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or
75000         better.
75001         (NULL) [!defined NULL]: Remove; we assume C89 or better.
75002         Include <dirent.h> in a way that is compatible with modern Autoconf.
75003         (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN):
75004         New macros, if not already defined.
75005         Include <unistd.h> if _LIBC, not if __GNU_LIBRARY__.
75006         Use "_LIBC", not "defined _LIBC", for consistency.
75007         (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has
75008         a mempcpy module.
75009         (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros.
75010         (GETCWD_RETURN_TYPE): Remove.  All uses replaced by char *.
75011         * lib/xgetcwd.c: David MacKenzie's old code was removed, so give
75012         credit only to Jim Meyering and adjust the copyright dates.
75013         Do not include <limits.h>, <stdio.h>, <sys/types.h>,
75014         <stdlib.h>, <unistd.h>, "pathmax.h".
75015         Instead, include "xgetcwd.h" (first) and "getcwd.h".
75016         (INITIAL_BUFFER_SIZE): Remove.
75017         (xgetcwd): Rely on getcwd, since we now depend on a reliable one.
75018
75019 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
75020
75021         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Renamed from
75022         GL_FUNC_GETCWD_PATH_MAX for consistency.  All uses changed.
75023         Use the _ONCE methods, for efficiency.
75024         Check for fcntl.h.  In test program, include <errno.h>
75025         and <fcntl.h> if available.  Remove old K&R cruft from
75026         test program.  Check for common errors in GNU/Linux,
75027         OpenBSD, and Solaris.  Just set gl_cv_func_getcwd_path_max;
75028         don't do AC_LIBOBJ, as that's getcwd.m4's job.
75029         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Renamed from
75030         AC_FUNC_GETCWD_NULL.  All used changed.  Change cache variable
75031         name accordingly.
75032         (gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros.  Revamp to
75033         accommodate new getcwd.c.
75034         * m4/jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX.
75035         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_MEMPCPY.
75036         * m4/xgetcwd.m4 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since
75037         that's all we need now.
75038
75039 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
75040
75041         * m4/argp.m4 (gl_ARGP): Require gl_GETOPT_SUBSTITUTE unconditionally:
75042         argp-parse.c depends on getopt internals, that means we should
75043         always use our getopt, to be on the safe side.
75044         * m4/getopt.m4 (gl_GETOPT): Check if GETOPT_H is already set, in
75045         order not to spoil the result of an eventual previous invocation
75046         of gl_GETOPT_SUBSTITUTE.
75047
75048 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
75049
75050         * lib/getopt_.h: Re-addition of __getopt_argv_const caused
75051         redefinition warnings. To avoid them, include the defines
75052         in `#if !defined __need_getopt ... #endif'. The only place
75053         where __getopt_argv_const is used is in definitions
75054         of getopt_long and getopt_long_only below, which are as well
75055         protected by `#ifndef __need_getopt'.
75056         [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef
75057         __need_getopt after including <stdio.h> and <unistd.h> These
75058         headers might have defined it.
75059
75060 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
75061
75062         * m4/utimens.m4 (gl_UTIMENS): Check for futimes function.
75063
75064 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
75065
75066         * lib/utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros.
75067         (futimens): New function, which uses futimes if available.
75068         (futimens, utimens): Support timespec==NULL, with same semantics
75069         as utime and utimens.
75070         * lib/utimens.h (futimens): New decl.
75071
75072 2004-11-23  Jim Meyering  <jim@meyering.net>
75073
75074         * lib/getopt_.h: Remove trailing blanks.
75075
75076 2004-11-23  Jim Meyering  <jim@meyering.net>
75077
75078         * lib/__fpending.c: Add comment.
75079
75080 2004-11-22  Paul Eggert  <eggert@cs.ucla.edu>
75081
75082         * modules/canonicalize (Depends-on): Add xreadlink.
75083         Problem reported by James Youngman.
75084
75085 2004-11-20  Paul Eggert  <eggert@cs.ucla.edu>
75086
75087         * lib/getopt_.h (__GETOPT_CONCAT, __GETOPT_XCONCAT, __GETOPT_ID):
75088         New macros.
75089         (getopt, getopt_long, getopt_long_only, optarg, opterr, optind,
75090         optopt): Use them instead of invoking ## directly; otherwise, the
75091         symbols will be __GETOPT_PREFIXgetopt rather than rpl_getopt.
75092
75093 2004-11-19  Bruno Haible  <bruno@clisp.org>
75094
75095         * lib/strtok_r.c: Move comments from here...
75096         * lib/strtok_r.h: ... to here.
75097
75098 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
75099
75100         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc
75101         implementations that mishandle size_t overflow.
75102
75103 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
75104
75105         * lib/realloc.c (rpl_realloc): Call 'free' if n==0, since realloc
75106         might fail.  Problem reported by Yoann Vandoorselaere.
75107         * lib/calloc.c (rpl_calloc): Defend against buggy calloc
75108         implementations that mishandle size_t overflow.
75109
75110 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
75111
75112         * modules/canon-host (Depends-on): Add strdup.
75113
75114 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
75115
75116         * m4/canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo.
75117
75118 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
75119
75120         * lib/canon-host.c: Include "strdup.h".
75121         (canon_host): Use getaddrinfo if available, so that IPv6 works.
75122         Use strdup instead of malloc/strcpy to duplicate strings.
75123
75124         * lib/human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit.
75125         (human_space_before_unit): New constant.
75126         * lib/human.c (human_readable): Support it.
75127
75128         * lib/xgetcwd.c: Include <limits.h>, for PATH_MAX.
75129         (xgetcwd): Set errno correctly when failing.
75130         Work around Solaris 9 bug: getcwd sets errno==ERANGE even though
75131         the failure is actually due to a PATH_MAX problem.
75132
75133         Further getopt changes to make it more likely that glibc will
75134         buy the changes back.
75135         * lib/getopt.c (POSIXLY_CORRECT): New constant.
75136         (getopt): Use it, so to preserve glibc semantic
75137         * lib/getopt1.c (getopt_long, getopt_long_only): Arg is char * const *
75138         when compiling for libc.
75139         * lib/getopt_.h (__getopt_argv_const): Bring it back.
75140         (getopt_long, getopt_long_only): Use it.
75141
75142         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
75143         _getopt_internal): New arg POSIXLY_CORRECT.  All callers changed.
75144         (getopt): Argv is now char * const *, as per standard.
75145         (_getopt_internal_r, _getopt_internal): Argv is now char **,
75146         not char *__getopt_argv_const *.
75147         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
75148         _getopt_long_only_r): Likewise.
75149         * lib/getopt_.h (getopt, getopt_long, geopt_long_only): Likewise.
75150         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
75151         _getopt_long_r, _getopt_long_only_r): Likewise.
75152         * lib/getopt_.h (__getopt_argv_const): Remove.
75153         (getopt): Argv is now char * const *, as per standard.
75154
75155         * lib/getdate.y (tORDINAL): New token.
75156         (day, relunit): Allow it for relative times.
75157         (relative_time_table): Use tORDINAL for ordinals.
75158
75159 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
75160
75161         * doc/getdate.texi (General date syntax): "next" is 1, not 2.
75162         Document that "second" isn't allowed as an ordinal number.
75163
75164 2004-11-16  Jim Meyering  <jim@meyering.net>
75165
75166         * modules/closeout (Depends-on): Add fpending.
75167
75168 2004-11-15  Jim Meyering  <jim@meyering.net>
75169
75170         * lib/closeout.c: Include "__fpending.h" once again.
75171         Include <stdbool.h>.
75172         (close_stdout): Don't fail just because stdout was closed initially,
75173         since some programs don't write to stdout in the normal course of
75174         operation (other than --version and --help), and we don't want this
75175         function to make e.g. `touch file >&-' fail.
75176         But do fail if it was closed and someone has tried to write to it.
75177         E.g., `printf foo >&-' must fail.
75178
75179 2004-11-13  Jim Meyering  <jim@meyering.net>
75180
75181         * m4/jm-macros.m4: Do require gl_FUNC_FPENDING.
75182
75183 2004-11-12  Simon Josefsson  <jas@extundo.com>
75184
75185         * config/srclist.txt: Add strtok_r.c, glibc bought our changes, but a
75186         small doc fix is still pending.
75187
75188 2004-11-11  Simon Josefsson  <jas@extundo.com>
75189
75190         * modules/strtok_r: New file.
75191
75192         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
75193         strtok_r.
75194
75195 2004-11-11  Simon Josefsson  <jas@extundo.com>
75196
75197         * m4/strtok_r.m4: New file.
75198
75199         * m4/getopt.m4: Replace opterr.
75200
75201 2004-11-11  Simon Josefsson  <jas@extundo.com>
75202
75203         * lib/strtok_r.h, strtok_r.c: New file.
75204
75205 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
75206
75207         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Define __GETOPT_PREFIX instead
75208         of replacing opterr, getopt, etc.  This should handle the
75209         powerpc-apple-darwin5.5 problem recently noted by Simon Josefsson.
75210
75211 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
75212
75213         * lib/getopt_.h (__getopt_argv_const): New macro, to be used so that
75214         we can stop lying to compilers about the constness of argv when we
75215         are compiled outside glibc.
75216         (getopt, getopt_long, getopt_long_only): Use it.
75217         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
75218         _getopt_internal, getopt): Likewise.
75219         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
75220         _getopt_long_only_r): Likewise.
75221         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
75222         _getopt_long_r, _getopt_long_only_r): Likewise.
75223
75224         * lib/getopt_.h [defined __GETOPT_PREFIX && !defined __need_getopt]:
75225         Include <stdlib.h> and <stdio.h>, and <unistd.h> if available.
75226         Then rename getopt to __GETOPT_PREFIX##getopt, and so forth for
75227         the other external symbols.
75228         (getopt) [!defined __GNU_LIBRARY]: Use prototype, not old-style
75229         declaration, since the above renaming now works around collisions.
75230
75231 2004-11-11  Jim Meyering  <jim@meyering.net>
75232
75233         * lib/linebreak.c: Remove trailing blanks.
75234         * lib/alloca_.h: Likewise.
75235         * lib/acosl.c: Likewise.
75236         * lib/euidaccess.c: Likewise.
75237         * lib/allocsa.h: Likewise.
75238
75239 2004-11-10  Simon Josefsson  <jas@extundo.com>
75240
75241         * m4/getaddrinfo.m4: New file.
75242
75243 2004-11-10  Simon Josefsson  <jas@extundo.com>
75244
75245         * lib/getaddrinfo.h, lib/getaddrinfo.c: New files.
75246
75247 2004-11-10  Simon Josefsson  <jas@extundo.com>
75248
75249         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
75250         getaddrinfo.
75251
75252         * modules/getaddrinfo: New file.
75253
75254 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
75255
75256         * m4/prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV.
75257
75258 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
75259
75260         * lib/mktime.c (SHR): New macro, which is a portable
75261         substitute for >> that should work even on Crays.
75262         (TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it.
75263         Problem reported by Mark D. Baushke in
75264         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00071.html>.
75265         * lib/getdate.y (SHR): Likewise.
75266         (tm_diff): Use it.
75267         * lib/strftime.c (SHR): Likewise.
75268         (tm_diff): Use it.
75269         * lib/quotearg.c (struct quoting_options): Use unsigned int for
75270         quote_these_too, so that right shifts are well defined.  All uses
75271         changed.
75272
75273 2004-11-10  Jim Meyering  <jim@meyering.net>
75274
75275         Ensure that no close failure goes unreported.
75276         * lib/closeout.c (close_stdout): Always close stdout.  I.e., don't
75277         return early when it seems there's nothing to flush.
75278         Don't include __fpending.h.
75279
75280 2004-11-10  Jim Meyering  <jim@meyering.net>
75281
75282         * modules/closeout (Depends-on): Remove fpending.
75283
75284 2004-11-10  Jim Meyering  <jim@meyering.net>
75285
75286         * m4/jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_FPENDING.
75287
75288 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
75289
75290         * m4/strftime.m4 (_gl_STRFTIME_PREREQS): Remove.  Move its body to
75291         gl_FUNC_STRFTIME.
75292         (gl_FUNC_STRFTIME): Use AC_CHECK_FUNCS_ONCE and AC_CHECK_HEADERS_ONCE
75293         and AC_REQUIRE when possible, to avoid duplicate checks.
75294         Check for <wchar.h>.
75295
75296 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
75297
75298         * lib/strftime.c (DO_MULTIBYTE): Check for wchar.h, too.
75299
75300 2004-11-09  Bruno Haible  <bruno@clisp.org>
75301
75302         * m4/sockpfaf.m4: New file.
75303
75304 2004-11-05  Bruno Haible  <bruno@clisp.org>
75305
75306         * lib/readlink.c: Include stddef.h, needed for size_t on Woe32.
75307         Reported by Mark D. Baushke <mdb@cvshome.org>.
75308
75309 2004-11-04  Bruno Haible  <bruno@clisp.org>
75310
75311         2004-09-11  Bruno Haible  <bruno@clisp.org>
75312                 * allocsa.valgrind: New file.
75313         2004-02-06  Bruno Haible  <bruno@clisp.org>
75314                 * allocsa.h (sa_alignof): Define differently with HP-UX cc, to
75315                 avoid a bug of this cc on HP-UX 10.20 dealing with enums.
75316                 Reported by Christopher Seip <chris.seip@hp.com>.
75317
75318 2004-11-04  Bruno Haible  <bruno@clisp.org>
75319
75320         * modules/allocsa (Files): Add lib/allocsa.valgrind.
75321         (Makefile.am): Distribute it.
75322
75323 2004-11-03  Paul Eggert  <eggert@cs.ucla.edu>
75324
75325         * lib/xreadlink.c (xreadlink): AIX and HP-UX readlink return -1
75326         with errno == ERANGE if the buffer is too small.
75327         Problem reported by Mark D. Baushke.
75328
75329 2004-11-03  Albert Chin  <china@thewrittenword.com>
75330             Paul Eggert  <eggert@cs.ucla.edu>
75331
75332         * m4/uint32_t.m4 (gl_AC_TYPE_UINT32_T): When determining uint32_t
75333         equivalent, substitute $ac_type for equivalent type rather than
75334         blindly using uint32_t *always* which won't work if uint32_t is not
75335         available.  Define _UINT32_T to work around typedef of uint32_t if
75336         <sys/sched.h>, <pthread.h>, or <semaphore.h> used on Solaris
75337         2.5.1.
75338
75339 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
75340
75341         * m4/jm-macros.m4: Sync from coreutils.
75342         (gl_MACROS): Check for mbrlen, for pathchk.
75343         (gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk.
75344
75345 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
75346
75347         * lib/xreadlink.c (MAXSIZE): New macro.
75348         (xreadlink): Use it instead of SSIZE_MAX.  Ensure initial buffer
75349         size does not exceed MAXSIZE.  Avoid cast.
75350         As suggested by Mark D. Baushke in
75351         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00009.html>,
75352         if readlink fails with buffer size just under MAXSIZE, try again
75353         with MAXSIZE.
75354
75355 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
75356
75357         * config/srclist.txt: Add mktime.c; glibc bought all our changes.
75358
75359 2004-11-02  Derek R. Price  <derek@ximbiot.com>
75360         and  Paul Eggert  <eggert@cs.ucla.edu>
75361
75362         * lib/getdate.y [!TEST]: Include <stdio.h>, since we use sprintf now.
75363         (get_date): Overparenthesize to avoid GCC warning.
75364
75365 2004-11-02  Bruno Haible  <bruno@clisp.org>
75366
75367         * m4/setenv.m4 (gt_FUNC_SETENV): Define VOID_UNSETENV if unsetenv()
75368         returns void.
75369
75370 2004-11-02  Bruno Haible  <bruno@clisp.org>
75371
75372         * lib/setenv.h (unsetenv): Define as a macro if the system's unsetenv()
75373         function returns void.
75374
75375 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
75376
75377         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for declarations of
75378         fflush_unlocked, flockfile, funlockfile, funlockfile,
75379         fputs_unlocked, putc_unlocked.
75380
75381 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
75382
75383         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
75384         (funlockfile, fputs_unlocked, putc_unlocked): Don't define if
75385         already declared.
75386
75387 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
75388
75389         * modules/getdate (Files): Add doc/getdate.texi.
75390         (Depends-on): Add setenv, xalloc.
75391
75392 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
75393
75394         * lib/getdate.y: Add support for TZ="foo" within a date string.
75395         Fix some bugs near time_t boundaries.  Reject dates with
75396         out-of-range components, e.g., "Sept 31".
75397         Include <stdlib.h>, "setenv.h", "xalloc.h".
75398         (ISDIGIT_LOCALE): Remove; unused.
75399         Note that the TZ and time functions used here are not reentrant.
75400         (mktime_ok, get_tz): New functions.
75401         (TZBUFSIZE): New constant.
75402         (get_date): Parse leading TZ="foo".  Reject out-of-range components;.
75403         This requires that we sometimes generate our own TZ="XXX..." setting.
75404
75405 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
75406
75407         * doc/getdate.texi: New file, from coreutils with modifications for
75408         the new TZ parsing.
75409
75410 2004-10-27  Derek R. Price  <derek@ximbiot.com>
75411
75412         * lib/mktime.c (not_equal_tm): Remove redundant check.
75413
75414 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
75415
75416         * modules/regex (lib_SOURCES): Add regex.c.
75417         Reported by James Youngman in
75418         <http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00199.html>.
75419
75420 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
75421
75422         * lib/getdate.y: Use Bison 1.875 features, and some minor
75423         code cleanups.  This change does not affect semantics.
75424         Don't include <stdlib.h>; no longer needed.
75425         Don't include unlocked-io.h; only the "#if TEST" code uses
75426         stdio, and performance isn't crucial there.
75427         (PC, YYLEX_PARAM, YYPARSE_PARAM): Remove; replaced by
75428         Bison 1.875 features as described below.
75429         All uses of "PC." replaced by "pc->".
75430         (YYSTYPE): Add a forward declaration.
75431         (yylex, yyerror): Use full prototypes in forward decls.
75432         Use "%pure-parser" rather than obsolescent "%pure_parser".
75433         Use %parse-param and %lex-param instead of obsolescent
75434         YYPARSE_PARAM and YYLEX_PARAM.
75435         (meridian_table, month_and_day_table, time_units_table,
75436         relative_time_table, time_zone_table, military_table,
75437         lookup_zone, lookup_word, get_date):
75438         Use NULL instead of 0 where appropriate.
75439         (to_hour): Avoid abort (), to avoid a dependency on
75440         stdlib.h.
75441         (yyerror, yylex): Now accepts parser_control * arg.
75442         (main) [TEST]: Use '\0' rather than 0 for char.
75443
75444 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
75445
75446         * m4/getpagesize.m4 (gl_GETPAGESIZE): Check for <sys/param.h>.
75447
75448 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
75449
75450         * lib/getpagesize.c (getpagesize): Don't assume <sys/param.h> exists.
75451         It's now the caller's responsibility to handle the case where
75452         !HAVE_GETPAGESIZE && !defined getpagesize.
75453
75454         * lib/mktime.c (leapyear): Arg is long int, not int.
75455
75456 2004-10-18  Paul Eggert  <eggert@cs.ucla.edu>
75457
75458         * lib/argp-fs-xinl.c, argp-xinl.c: Update from glibc.
75459
75460 2004-10-17  Paul Eggert  <eggert@cs.ucla.edu>
75461
75462         * gnulib-tool (func_emit_lib_Makefile_am): Fix typo: a $ was
75463         missing.  Problem reported by James Youngman.
75464
75465 2004-10-16  Simon Josefsson  <jas@extundo.com>
75466
75467         * gnulib-tool: Fix comments.  Fix parse problem.
75468         (func_emit_lib_Makefile_am): Don't hard code a in libgl_a_SOURCES.
75469
75470 2004-10-15  Paul Eggert  <eggert@cs.ucla.edu>
75471
75472         * m4/getopt.m4 (gl_GETOPT): Detect and reject the incompatible BSD
75473         implementation of getopt_long.  Problem reported by Alexander Taler in:
75474         http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00103.html
75475
75476 2004-10-15  Bruno Haible  <bruno@clisp.org>
75477
75478         * gnulib-tool: Untabify. Initialize supplied_libname.
75479         (func_usage): More homogenous output.
75480         (func_modules_transitive_closure, func_modules_to_filelist,
75481         func_emit_lib_Makefile_am): New functions.
75482         (func_import): New function, extracted from big case statement. Use
75483         func_get_license, func_modules_transitive_closure,
75484         func_modules_to_filelist, func_emit_lib_Makefile_am. Initialize
75485         opt_lgpl. Don't use test -a, as it's not portable.
75486         (func_create_testdir): Use func_modules_transitive_closure,
75487         func_modules_to_filelist, func_emit_lib_Makefile_am.
75488
75489 2004-10-15  Bruno Haible  <bruno@clisp.org>
75490
75491         * gnulib-tool (func_import): Let gl_INIT define LTALLOCA when needed.
75492
75493 2004-10-15  Bruno Haible  <bruno@clisp.org>
75494
75495         * gnulib-tool (func_emit_lib_Makefile_am): Add markers to separate
75496         the portions belonging to each module.
75497         Suggested by Derek Robert Price <derek@ximbiot.com>.
75498
75499 2004-10-12  Simon Josefsson  <jas@extundo.com>
75500
75501         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
75502         (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map
75503         to real functions.
75504
75505 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
75506
75507         * modules/vsnprintf: New file.
75508
75509 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
75510
75511         * m4/vsnprintf.m4: New file.
75512
75513 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
75514
75515         * lib/vsnprintf.h: New file.
75516         * lib/vsnprintf.c: New file.
75517
75518 2004-10-11  Bruno Haible  <bruno@clisp.org>
75519
75520         * MODULES.html.sh (Support for systems lacking ISO C 99): Add
75521         vsnprintf.
75522
75523 2004-10-10  Paul Eggert  <eggert@cs.ucla.edu>
75524
75525         * config/srclistvars.sh: Add GNUSTANDARDS (for eggert only).
75526
75527 2004-10-07  Bruno Haible  <bruno@clisp.org>
75528
75529         * lib/snprintf.c (snprintf): Avoid a memory allocation if the result
75530         fits into the provided buffer.
75531
75532 2004-10-06  Paul Eggert  <eggert@cs.ucla.edu>
75533
75534         * lib/diacrit.c, diacrit.h: Add GPL notice.
75535
75536         * lib/atanl.c, logl.c: Add GPL notice, to match glibc's added LGPL
75537         notice.
75538         * lib/atanl.c (atanl): Keep the code as similar to glibc as possible.
75539         * lib/logl.c (logl): Keep the code as similar to glibc as possible.
75540         This avoids a potential constant-folding bug.
75541
75542 2004-10-05  Bruno Haible  <bruno@clisp.org>
75543
75544         * m4/strsep.m4 (gl_FUNC_STRSEP): Require AC_GNU_SOURCE. Don't check
75545         for the declaration of strsep.
75546
75547 2004-10-05  Bruno Haible  <bruno@clisp.org>
75548
75549         * lib/strsep.h: Don't declare strsep() if HAVE_STRSEP.
75550
75551 2004-10-04  Simon Josefsson  <jas@extundo.com>
75552
75553         * modules/memmem: New file.
75554         * tests/test-memmem.c: New file.
75555         * MODULES.html.sh (Extra functions based on ANSI C 89): Add memmem.
75556
75557 2004-10-04  Simon Josefsson  <jas@extundo.com>
75558
75559         * m4/memmem.m4: New file.
75560
75561 2004-10-04  Simon Josefsson  <jas@extundo.com>
75562
75563         * lib/memmem.h: New file.
75564         * lib/memmem.c: New file, taken from glibc.
75565
75566 2004-10-04  Simon Josefsson  <jas@extundo.com>
75567
75568         * lib/error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of
75569         '#ifdef USE_UNLOCKED_IO'.
75570
75571 2004-10-04  Simon Josefsson  <jas@extundo.com>
75572
75573         * config/srclist.txt: Add memmem from glibc.
75574
75575 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
75576
75577         * modules/xalloc (Files, Makefile.am): Remove xstrdup.c.
75578
75579         * modules/argmatch, modules/argp, modules/closeout, modules/error,
75580         modules/exclude, modules/getdate, modules/getline,
75581         modules/getndelim2, modules/getpass, modules/getpass-gnu,
75582         modules/getusershell, modules/linebuffer, modules/md5,
75583         modules/mountlist, modules/posixtm, modules/readtokens,
75584         modules/readutmp, modules/regex, modules/sha1,
75585         modules/version-etc, modules/yesno:
75586         Remove dependency on unlocked-io.
75587
75588 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
75589
75590         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Remove.  All uses removed.
75591
75592         * m4/unlocked-io.m4: Add copyright notice.
75593         (gl_FUNC_GLIBC_UNLOCKED_IO): Define USE_UNLOCKED_IO.
75594
75595 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
75596
75597         * lib/xalloc.h (xmemdup): Renamed from xclone.  All uses changed.
75598         * lib/xmalloc.c (xmemdup): Likewise.
75599         * lib/xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC,
75600         XFREE): Remove these long-obsolescent macros.
75601         * lib/xmalloc.c (xstrdup): Implementation moved here from xstrdup.c
75602         * lib/xstrdup.c: Remove.
75603
75604         * lib/regex.c (re_comp): Cast gettext return value to char *,
75605         Problem reported by Martin Neitzel via Mark D. Baushke.
75606
75607 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
75608
75609         * lib/argmatch.c, closeout.c, error.c, exclude.c, getdate.y,
75610         getndelim2.c, getpass.c, getusershell.c, linebuffer.c,
75611         md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c,
75612         regex.c, sha1.c, version-etc.c, yesno.c:
75613         Include "unlocked-io.h" only if USE_UNLOCKED_IO.
75614         * lib/unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now
75615         the includer's responsibility.
75616
75617         Sync from coreutils.
75618
75619         * lib/modechange.c (mode_compile): Don't decrement a pointer that
75620         points to the start of a string, as the C Standard says the
75621         resulting behavior is undefined.
75622
75623         * lib/backupfile.h (enum backuptype): Rename none -> no_backups,
75624         simple -> simple_backups, numbered_existing ->
75625         numbered_existing_backups, numbered -> numbered_backups
75626         to avoid shadowing problems.  All uses changed.
75627         * lib/argmatch.c (enum backuptype) [defined TEST]: Likewise.
75628         * lib/backupfile.c (check_extension, numbered_backup):
75629         Rename locals to avoid shadowing 'basename'.
75630         * lib/backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than
75631         once.
75632
75633         * lib/.cppi-disable: Add getopt_.h, getopt_int.h.
75634         * lib/.cvsignore: Add getopt.h.
75635
75636 2004-10-04  Bruno Haible  <bruno@clisp.org>
75637
75638         * modules/README: New file.
75639         * gnulib-tool (func_all_modules, func_verify_module): modules/README is
75640         not a module.
75641
75642 2004-10-02  Jim Meyering  <jim@meyering.net>
75643
75644         * lib/dirfd.h, getpagesize.h: Add copyright notice.
75645
75646 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
75647
75648         * modules/strsep: New file.
75649
75650 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
75651
75652         * m4/strsep.m4: New file.
75653
75654 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
75655
75656         * lib/strsep.h: New file.
75657         * lib/strsep.c: New file.
75658
75659 2004-10-01  Simon Josefsson  <jas@extundo.com>
75660
75661         * lib/snprintf.c (snprintf): Handle size==0.
75662
75663 2004-10-01  Simon Josefsson  <jas@extundo.com>
75664             Bruno Haible  <bruno@clisp.org>
75665
75666         * lib/snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>.
75667         (snprintf): Declare 'args'.
75668
75669 2004-10-01  Paul Eggert  <eggert@cs.ucla.edu>
75670
75671         * lib/snprintf.c: Remove comments as to why each header is needed.
75672
75673 2004-10-01  Bruno Haible  <bruno@clisp.org>
75674
75675         * MODULES.html.sh: Add strsep.
75676
75677 2004-09-30  Simon Josefsson  <jas@extundo.com>
75678
75679         * modules/snprintf: New file.
75680
75681 2004-09-30  Simon Josefsson  <jas@extundo.com>
75682
75683         * m4/snprintf.m4: New file.
75684
75685 2004-09-30  Simon Josefsson  <jas@extundo.com>
75686
75687         * lib/snprintf.h, lib/snprintf.c: New files.
75688
75689 2004-09-30  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
75690
75691         * lib/argp-help.c (canon_doc_option): Fixed coredump if *name==NULL
75692         (hol_entry_help): Never translate an empty string.
75693         Do not translate option tag (opt->name) if OPTION_NO_TRANS is set
75694         * lib/argp.h (OPTION_NO_TRANS): New option.
75695
75696 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
75697
75698         * modules/argp (Maintainer): Replace Simon Josefsson
75699         by Sergey Poznyakoff.
75700
75701 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
75702
75703         * config/srclist.txt: Comment-out argp/argp.h, until we get the argp
75704         changes merged back into glibc.
75705
75706 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
75707
75708         * MODULES.html.sh (Support for systems lacking ISO C 99): Add snprintf.
75709
75710 2004-09-29  Oskar Liljeblad  <oskar@osk.mine.nu>
75711
75712         * lib/xvasprintf.c: Include xalloc.h.
75713         (xvasprintf): Use xalloc_die, not xmalloc_die.
75714
75715 2004-09-29  Bruno Haible  <bruno@clisp.org>
75716
75717         * modules/alloca-opt: New file, derived from modules/alloca.
75718         * modules/allocsa: Depend on alloca-opt instead of alloca.
75719         * modules/setenv: Likewise.
75720         * modules/vasnprintf: Likewise.
75721         * MODULES.html.sh: Add alloca-opt.
75722
75723 2004-09-28  Simon Josefsson  <jas@extundo.com>
75724
75725         * gnulib-tool: New parameter --lgpl, to asseert that modules are
75726         LGPL, and to replace license template from GPL to LGPL.
75727
75728 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
75729
75730         * modules/dummy: Change license to LGPL.
75731
75732 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
75733
75734         * lib/dummy.c: Change copyright notice to FSF, and license to GPL.
75735
75736 2004-09-24  Simon Josefsson  <jas@extundo.com>
75737
75738         * modules/minmax (License): Change from GPL to LGPL.
75739
75740 2004-09-23  Simon Josefsson  <jas@extundo.com>
75741
75742         * gnulib-tool (--import): Typo.
75743
75744 2004-09-23  Simon Josefsson  <jas@extundo.com>
75745
75746         * gnulib-tool (--import): Make sure *.m4 end up in m4/ by default.
75747
75748 2004-09-22  Bruno Haible  <bruno@clisp.org>
75749
75750         * modules/*: Add 'License' field.
75751         * gnulib-tool: Accept --extract-license option.
75752         (func_get_license): New function.
75753
75754 2004-09-21  Bruno Haible  <bruno@clisp.org>
75755
75756         * modules/vasnprintf (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
75757         Reported by Simon Josefsson.
75758
75759 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
75760
75761         * modules/inttostr (Files): Add m4/longlong.m4, since it uses
75762         gl_AC_TYPE_LONG_LONG.
75763
75764 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
75765
75766         * config/srclist.txt: Add getsubopt.c, since libc bought our changes.
75767
75768 2004-09-18  Simon Josefsson  <jas@extundo.com>
75769         and  Paul Eggert  <eggert@cs.ucla.edu>
75770
75771         * gnulib-tool: Replace various ad-hoc automake/autoconf/aclocal
75772         calls with autoreconf.  Define GL_LIB.
75773
75774 2004-09-14  Karl Berry  <karl@gnu.org>
75775
75776         * config/srclist.txt: unsync setenv.c, sigh.
75777
75778 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
75779
75780         * lib/argp-pvh.c (argp_program_version_hook): Provide initial value.
75781         Problem reported by Bruno Haible in:
75782         http://lists.gnu.org/archive/html/bug-tar/2004-09/msg00023.html
75783
75784 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
75785
75786         * config/srclist.txt: Comment out argp-pvh.c.
75787
75788 2004-09-11  Paul Eggert  <eggert@cs.ucla.edu>
75789
75790         * lib/mempcpy.h: Wrap the entire include file inside #ifndef mempcpy,
75791         in case some system header has #define'd it.  Problem reported by
75792         Soeren D. Schulze in
75793         <http://lists.gnu.org/archive/html/bug-gnulib/2004-09/msg00017.html>.
75794
75795 2004-09-09  Karl Berry  <karl@gnu.org>
75796
75797         * regex.[ch]: delete from the root.  These were supposed to be
75798                 synced with emacs cvs, but this has not happened for about
75799                 a year, and anyway nothing else uses emacs regex.[ch].
75800                 bug-gnulib mail from Jeff Bailey, 9 Sep 2004 15:49:24 -0700.
75801                 lib/regex[.ch] is untouched.
75802
75803 2004-09-09  Bruno Haible  <bruno@clisp.org>
75804
75805         * modules/vasnprintf (Files): Add m4/eoverflow.m4.
75806
75807 2004-09-09  Bruno Haible  <bruno@clisp.org>
75808
75809         * m4/eoverflow.m4: New file, taken from GNU libiconv eilseq.m4 with
75810         modifications.
75811         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require gl_EOVERFLOW.
75812
75813 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
75814
75815         * modules/xvasprintf: New file.
75816         * MODULES.html.sh (Extra functions based on ANSI C 89): Add vasprintf.
75817
75818 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
75819
75820         * lib/xvasprintf.h: New file.
75821         * lib/xvasprintf.c: New file.
75822         * lib/xasprintf.c: New file.
75823
75824 2004-09-08  Bruno Haible  <bruno@clisp.org>
75825
75826         * m4/stdint.m4: New file, taken from GNU clisp with modifications.
75827
75828 2004-09-08  Bruno Haible  <bruno@clisp.org>
75829
75830         * lib/vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting
75831         length is > INT_MAX.
75832         * lib/vasprintf.c (vasprintf): Don't test for length > INT_MAX any
75833         more.
75834
75835 2004-09-08  Bruno Haible  <bruno@clisp.org>
75836
75837         * lib/stdint_.h: New file, taken from GNU clisp.
75838
75839 2004-09-08  Bruno Haible  <bruno@clisp.org>
75840             Oskar Liljeblad  <oskar@osk.mine.nu>
75841
75842         * modules/stdint: New file.
75843         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdint.
75844
75845 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
75846
75847         Import from coreutils.
75848         * lib/userspec.c: Don't use <alloca.h>, so that we don't use alloca on
75849         strings on unbounded length.  alloca's performance benefits aren't
75850         that important here.
75851         (V_STRDUP): Remove.
75852         (parse_with_separator): New function, with most of the internals
75853         of the old parse_user_spec.  Allow user to omit both user and group,
75854         for compatibility with FreeBSD.
75855         Clone only the user name, not the entire spec.
75856         Do not set *uid, *gid unless entirely successful.
75857         Avoid memory leak in some failing cases.
75858         Fix regression for USER.GROUP reported by Dmitry V. Levin in
75859         <http://lists.gnu.org/archive/html/bug-coreutils/2004-08/msg00102.html>
75860         (parse_user_spec): Rewrite to use parse_with_separator.
75861
75862 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
75863
75864         * modules/userspec: Don't depend on alloca.
75865
75866 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
75867
75868         * m4/userspec.m4 (gl_USERSPEC): Don't require AC_FUNC_ALLOCA.
75869
75870 2004-08-17  Paul Eggert  <eggert@cs.ucla.edu>
75871
75872         * MODULES.html.sh: Add xalloc-die, c-strtod, c-strtold, raise,
75873         readtokens0, getcwd, fcntl-safer, canonicalize, cycle-check,
75874         utimecmp, utimens, xnanosleep.  Rename sha to sha1.
75875
75876 2004-08-16  Simon Josefsson  <jas@extundo.com>
75877
75878         * gnulib-tool: Use sed instead of autoconf --trace, inspired by
75879         libtoolize behaviour by "Gary V. Vaughan" <gary@gnu.org>.
75880         Add --dry-run for --import.
75881         Let user provided command line parameters override configure.ac
75882         settings.
75883
75884 2004-08-12  Simon Josefsson  <jas@extundo.com>
75885
75886         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): New macro,
75887         as discussed with Paul Eggert in threads rooted at
75888         <http://lists.gnu.org/archive/html/bug-gnulib/2004-06/msg00039.html>
75889         and
75890         <http://lists.gnu.org/archive/html/bug-gnulib/2004-07/msg00001.html>.
75891         Before, the test was empty, and relied on ELIDE_CODE in source
75892         code.)
75893         (gl_PREREQ_GETOPT): New macro.
75894         (gl_GETOPT): Use them.
75895
75896 2004-08-12  Simon Josefsson  <jas@extundo.com>
75897
75898         * lib/getopt.c, getopt1.c: Remove ELIDE_CODE hack.
75899         * lib/getopt_.h: Renamed from getopt.h.
75900
75901 2004-08-12  Simon Josefsson  <jas@extundo.com>
75902
75903         * gnulib-tool: Add --source-base, --m4-base, --libtool options.
75904         Change default library name from libfoo to libgnu.
75905         Now, if you have a configure.ac that says:
75906                 gl_SOURCE_BASE(gl)
75907                 gl_M4_BASE(gl/m4)
75908                 gl_MODULES(error getopt etcetera)
75909                 gl_INIT
75910         you can import all you need by running:
75911                 ../gnulib/gnulib-tool --import
75912
75913         * modules/getopt (Files): Rename getopt.h to getopt_.h.
75914         (Makefile.am): Rewrite, use logic from argz.
75915         (Include): Use <getopt.h> instead of "getopt.h".
75916
75917 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
75918
75919         * modules/argp (Files): Add m4/unlocked-io.m4.
75920         (Depends-on): Add extensions.
75921
75922 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
75923
75924         * m4/argp.m4 (gl_ARGP): Do not check for argp.h or argp_parse; nobody
75925         uses HAVE_ARGP_H or HAVE_ARGP_PARSE.
75926         Require gl_FUNC_GLIBC_UNLOCKED_IO, gl_USE_SYSTEM_EXTENSIONS.
75927         Check for program_invocation_name, program_invocation_short_name,
75928         flockfile, funlockfile, features.h, _getopt_long_only_r.
75929
75930 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
75931
75932         * lib/argp-help.c, argp-parse.c: Use "gettext.h" instead of
75933         its complicated substitute.
75934         * lib/argp-help.c: Include <errno.h>, for program_invocation_short_name
75935         and program_invocation_name.
75936         (__argp_basename) [!_LIBC]: Remove; the only use was
75937         replaced by its body.
75938         (__argp_short_program_name): Change condition from
75939         !defined __argp_short_program_name to
75940         ! (defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME),
75941         to match argp-namefrob.h.
75942         (__argp_failure): Don't assume strerror_r returns char *.
75943         * lib/argp-parse.c (N_): Define unconditionally.
75944         (argp_default_options): Fill out initializers with 0 to avoid
75945         gcc warnings.
75946
75947 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
75948
75949         * config/srclist.txt: Remove getopt.c, getopt.h (renamed to getopt_.h),
75950         getopt1.c.
75951
75952 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
75953
75954         Merge from coreutils.
75955
75956         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy.
75957
75958         * m4/obstack.m4 (gl_PREREQ_OBSTACK): Require
75959         gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T.
75960
75961 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
75962
75963         Merge from coreutils.
75964
75965         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing
75966         wmemchr or wmemcpy.  Problem reported by Robert Dahlem
75967         for Reliant Unix 5.43.
75968
75969         * lib/obstack.c: Include <inttypes.h> and <stdint.h> if available.
75970         (union fooround): Use uintmax_t, not long int.
75971         The rest is a merge from libc:
75972         [defined _LIBC]: Include <shlib-compat.h>.
75973         (_obstack) [defined _LIBC]: Remove after 2.3.4.
75974
75975         * lib/settime.c (settime): Recode to avoid warning with
75976         Sun Forte C 6U2.
75977
75978         * lib/strverscmp.c: Convert to UTF-8.
75979
75980 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
75981
75982         * modules/obstack (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
75983         m4/uintmax_t.m4.
75984
75985 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
75986
75987         * modules/xalloc-die: New file.
75988         * modules/xalloc: Remove dependencies on error, gettext, exitfail.
75989
75990         * modules/md5 (Files): Add m4/uint32_t.m4.
75991         * modules/sha1: Renamed from modules/sha.
75992         (Files):
75993         Rename lib/sha.h to lib/sha1.h.
75994         Rename lib/sha.c to lib/sha1.c.
75995         Rename m4/sha.m4 to m4/sha1.m4.
75996         (lib_SOURCES): Likewise.
75997         (configure.ac): Rename gl_SHA to gl_SHA1.
75998         (Include): sha.h -> sha1.h.
75999
76000 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
76001
76002         * m4/uint32_t.m4, m4/uintptr_t.m4: New files.
76003         * m4/sha1.m4: Renamed from sha.m4.
76004         (gl_SHA1): Renamed from gl_SHA.  All uses changed.
76005
76006 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
76007
76008         * lib/obstack.h (obstack_empty_p):
76009         Don't assume that chunk->contents is suitably aligned.
76010         * lib/obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
76011         Likewise. Problem reported by Benno in
76012         <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>.
76013
76014         * lib/chown.c (rpl_chown): Work even if the file is writeable but not
76015         readable.  This could be improved further but it'd take some work.
76016
76017 2004-08-08  Simon Josefsson  <jas@extundo.com>
76018
76019         * modules/xgethostname (Depends-on): Remove exit and error (not
76020         used).
76021
76022         * modules/getpass-gnu: Add getpass.h.
76023         (Depends-on): Add stdbool.
76024         * modules/getpass: Add getpass.h.
76025
76026 2004-08-08  Simon Josefsson  <jas@extundo.com>
76027
76028         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU):
76029         Check getpass declaration.
76030
76031 2004-08-08  Simon Josefsson  <jas@extundo.com>
76032
76033         * lib/xgethostname.c: Don't include error.h (not used).
76034
76035         * lib/getpass.h: Add.
76036         * lib/getpass.c: Include getpass.h first.
76037
76038 2004-08-08  Paul Eggert  <eggert@cs.ucla.edu>
76039
76040         * lib/xalloc-die.c: New file.
76041         * lib/xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove.
76042         All uses removed.
76043         * lib/xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted):
76044         Likewise. Move inclusions of gettext.h, error.h, exitfail.h to
76045         xalloc-die.c.
76046         (_, N_, xalloc_die): Move to xalloc-die.c.
76047         * lib/userspec.c (parse_user_spaec): Use xstrdup rather than strdup,
76048         so that we needn't mess with xalloc_msg_memory_exhausted.
76049
76050         * lib/sha1.h: Renamed from sha.h.
76051         (SHA1_H): Renamed from _SHA_H.
76052         (sha1_ctx): Renamed from sha_ctx.
76053         (sha1_init_ctx): Renamed from sha_init_ctx.
76054         (sha1_process_block): Renamed from sha_process_block.
76055         (sha1_process_bytes): Renamed from sha_process_bytes.
76056         (sha1_finish_ctx): Renamed from sha_finish_ctx.
76057         (sha1_read_ctx): Renamed from sha_read_ctx.
76058         (sha1_stream): Renamed from sha_stream.
76059         (sha1_buffer): Renamed from sha_buffer.
76060         * lib/sha1.c: Likewise; renamed from sha.c.
76061         Do not include <sys/types.h>.
76062         Include <stddef.h> rather than <stdlib.h>.
76063
76064 2004-08-08  Bruno Haible  <bruno@clisp.org>
76065
76066         * lib/pathname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from
76067         FILESYSTEM_PREFIX_LEN.
76068         * lib/progreloc.c: Likewise.
76069         * lib/concatpath.c (concatenated_pathname): Use FILE_SYSTEM_PREFIX_LEN.
76070
76071 2004-08-06  Simon Josefsson  <jas@extundo.com>
76072
76073         * modules/progname (Depends-on): Don't depend on stdbool.
76074
76075 2004-08-06  Simon Josefsson  <jas@extundo.com>
76076
76077         * modules/getsubopt: New file.
76078         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
76079         getsubopt.
76080
76081 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
76082
76083         More merge from coreutils.
76084
76085         * m4/utimens.m4, m4/utimecmp.m4: New files.
76086         * m4/backupfile.m4, euidacces.m4, acl.m4, afs.m4, calloc.m4, dirfd.m4,
76087         fsusage.m4, jm-macros.m4, ls-mntd-fs.m4, md5.m4, mountlist.m4,
76088         prereq.m4, sha.m4: Import changes from coreutils.
76089
76090 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
76091
76092         More merge from coreutils.
76093         * modules/raise, modules/readtokens0, modules/utimens:
76094         * modules/utimecmp, module/xnanosleep: New files.
76095         * modules/strftime: Add lib/strftime.h.
76096         Change include from <time.h> to "strftime.h".
76097         * modules/yesno: Add lib/yesno.h.
76098         * modules/backupfile: Remove lib/addext.c.
76099         * modules/euidaccess: Add stat-macros.h.
76100         * modules/canonicalize, modules/euidaccess,
76101         modules/filemode, modules/lchown, modules/makepath,
76102         modules/rmdir, modules/stat: Likewise.
76103
76104 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
76105
76106         Merge from tar.
76107         * lib/argp-help.c (make_hol, hol_append): Don't assume that
76108         SIZE_MAX is a valid preprocessor constant.
76109         (__argp_basename): Change from "#ifndef _LIBC"
76110         to "#ifndef __argp_short_program_name", so that
76111         we don't compile these functions for tar.
76112
76113         More merges from coreutils.
76114         * lib/raise.c, lib/readtokens0.h, lib/readtokens0.c, lib/strftime.h:
76115         * lib/utimens.h, lib/utimens.c, lib/utimecmp.h, lib/utimecmp.c:
76116         * lib/xnanosleep.h, lib/xnanosleep.c, lib/yesno.h: New files.
76117         * lib/addext.c: Remove; no longer needed.
76118         * lib/yesno.c, lib/argmatch.h, lib/argmatch.c, lib/backupfile.h,
76119         lib/backupfile.c, lib/euidaccess.c, lib/filemode.c, lib/closeout.c,
76120         lib/dup2.c, lib/exclude.c, lib/fileblocks.c, lib/filemode.c,
76121         lib/fnmatch.c, lib/fnmtahc_loop.c, lib/fopen-safer.c, lib/fsusage.c,
76122         lib/fsusage.h, lib/ftruncate.c, lib/full-write.c, lib/getdate.y,
76123         lib/getloadavg.c, lib/getugroups.c, lib/hard-locale.c,
76124         lib/hard-locale.h, lib/hash.c, lib/human.c, lib/human.h, lib/lchown.c,
76125         lib/lchown.h, lib/makepath.c, lib/makepath.h, lib/md5.c, lib/md5.h,
76126         lib/memchr.c, lib/memcoll.c, lib/memrchr.c, lib/modechange.c,
76127         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
76128         lib/posixtm.c, lib/putenv.c, quotearg.c, lib/quotearg.h,
76129         lib/readtokens.c, lib/readutmp.c, lib/readutmp.h, lib/rmdir.c,
76130         lib/safe-read.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c,
76131         lib/sig2str.c, lib/stat.c, lib/strtoimax.c, lib/strverscmp.c,
76132         lib/userspec.c, lib/utime.c, lib/version-etc.c., lib/xgethostname.c,
76133         lib/xmemcoll.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtod.h,
76134         lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, lib/xstrtoumax.c:
76135         Import changes from coreutils.
76136
76137 2004-08-05  Simon Josefsson  <jas@extundo.com>
76138
76139         * m4/strdup.m4: Always run gl_PREREQ_STRDUP, since strdup.h need it.
76140
76141 2004-08-05  Simon Josefsson  <jas@extundo.com>
76142
76143         * m4/getsubopt.m4: New file.
76144
76145 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
76146
76147         Merge from coreutils.
76148
76149         * m4/c-strtod.m4, m4/canonicalize.m4, m4/fcntl-safer.m4:
76150         * m4/getcwd-path-max.m4: New files.
76151
76152         * m4/dos.m4 (gl_AC_DOS): filesystem -> file system renaming.
76153         FILESYSTEM_PREFIX_LEN ->
76154         FILE_SYSTEM_PREFIX_LEN.
76155         FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX ->
76156         FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX.
76157         FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR ->
76158         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.
76159
76160         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't require gl_AC_DOS, the
76161         prerequisite modules now handle the DOS stuff.
76162         Don't check for unistd.h.
76163
76164 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
76165
76166         Merge from coreutils.
76167
76168         * lib/.gdb-history: Remove; this doesn't belong here.
76169
76170         * lib/c-strtod.c, lib/c-strtod.h, lib/c-strtold.c, lib/cycle-check.c:
76171         * lib/cycle-check.h, lib/dev-ino.h, lib/canonicalize.h:
76172         * lib/canonicalize.c, lib/fcntl-safer.h, lib/fcntl-safer.c:
76173         * lib/getcwd.c: New files.
76174
76175         * lib/dirname.h: Include <stdbool.h>.
76176         (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN,
76177         for consistency with POSIX terminology.  All uses changed.
76178         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros.
76179         (strip_trailing_slashes): Use bool for booleans.
76180         * lib/stripslash.c (strip_trailing_slashes): Likewise.
76181
76182         * lib/error.c: Work around bug in OpenBSD 3.4 sterror_r: it
76183         sometimes returns a positive errno value even when it succeeds.
76184         (print_errno_message) [!LIBC]: Fall back on strerror if
76185         __strerror_r fails.
76186
76187         * lib/path-concat.c (mempcpy): Don't define if a system header defines
76188         it. Don't include stdio.h, stdlib.h, unistd.h, strdup.h.
76189         (longest_relative_suffix): New function.
76190         (path_concat): Use it.  Assume first argument is not NULL.
76191         Port to DOS.  Omit redundant separators.
76192         Report an error instead of returning NULL.
76193         Use mempcpy instead of memcpy.
76194         (xpath_concat): Remove: not declared or used.
76195
76196         * lib/same.h: Include <stdbool.h>
76197         (same_name): Return bool, not int.
76198         * lib/same.c (same_name): Likewise.
76199         (errno): Don't declare; we assume C89 or better now.
76200
76201         * lib/stat-macros (S_ISCTG, S_ISOFD, S_ISOFL): New macros,
76202         if not already defined.
76203
76204         * lib/xgetcwd.c (errno): Don't declare; we assume C89 or better now.
76205         * lib/dup-safer.c (errno): Likewise.
76206
76207 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
76208
76209         Merge from coreutils.
76210         * modules/c-strtod, modules/c-strtold, modules/canonicalize:
76211         * modules/cycle-check, modules/fcntl-safer, modules/getcwd: New files.
76212         * modules/path-concat: Don't depend on strdup.
76213
76214 2004-08-03  Simon Josefsson  <jas@extundo.com>
76215
76216         * lib/strdup.h: Only use HAVE_DECL_STRDUP if defined.
76217         * lib/progname.h: Don't include stdbool.h.
76218
76219 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
76220
76221         * modules/fatal: Remove, as the "fatal" module wasn't used or working.
76222         * MODULES.html.sh (func_all_modules): Remove fatal.
76223
76224 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
76225
76226         * m4/fatal.m4: Remove, as the "fatal" module wasn't used or working.
76227
76228 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
76229
76230         * lib/fatal.c, fatal.h: Remove as the "fatal" module wasn't used or
76231         working.
76232
76233 2004-08-02  Simon Josefsson  <jas@extundo.com>
76234
76235         * lib/getsubopt.h: New file, with comments from Bruno Haible.
76236         * lib/getsubopt.c: New file, from glibc, but slightly modified based on
76237         suggestions from Paul Eggert <eggert@cs.ucla.edu>.
76238
76239 2004-08-01  Simon Josefsson  <jas@extundo.com>
76240
76241         * lib/xgetdomainname.c: Include stdlib.h, for free().
76242
76243 2004-07-19  Bruno Haible  <bruno@clisp.org>
76244
76245         * MODULES.html.sh (func_all_modules): Add dummy.
76246
76247 2004-07-16  Simon Josefsson  <jas@extundo.com>
76248
76249         * modules/dummy: New file.
76250
76251 2004-07-16  Simon Josefsson  <jas@extundo.com>
76252
76253         * lib/dummy.c: New file.
76254
76255 2004-07-16  Bruno Haible  <bruno@clisp.org>
76256
76257         * lib/backupfile.h: Add extern "C" for C++.
76258         * lib/closeout.h: Likewise.
76259         * lib/copy-file.h: Likewise.
76260         * lib/findprog.h: Likewise.
76261         * lib/full-write.h: Likewise.
76262         * lib/pathname.h: Likewise.
76263         * lib/progname.h: Likewise.
76264         * lib/stpcpy.h: Likewise.
76265         * lib/stpncpy.h: Likewise.
76266         * lib/strcase.h: Likewise.
76267         * lib/strstr.h: Likewise.
76268         * lib/xalloc.h: Likewise.
76269
76270         * lib/mbswidth.h: Add extern "C" for C++.
76271         Reported by Albert Chin-A-Young <china@thewrittenword.com>.
76272
76273 2004-07-13  Robert Millan  <robertmh@gnu.org>
76274
76275         * m4/host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g.
76276
76277 2004-07-09  Simon Josefsson  <jas@extundo.com>
76278
76279         * lib/getndelim2.c: Include stddef.h, for ptrdiff_t.  (FreeBSD 4.9
76280         failed without this.)
76281
76282 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
76283
76284         * modules/chown (Files): Add lib/fchown-stub.c, since
76285         gl_PREREQ_CHOWN invokes AC_LIBOBJ(fchown-stub).
76286
76287 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
76288
76289         * lib/fchown-stub.c: New file.
76290
76291 2004-06-24  Jim Meyering  <jim@meyering.net>
76292
76293         * lib/obstack.h (obstack_base): Cast to (void *), per documentation.
76294
76295 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
76296
76297         * modules/argz: Omit "#include".
76298
76299         * MODULES.html.sh (func_all_modules): Add calloc, to match
76300         2004-06-01 addition of calloc module.
76301
76302 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
76303
76304         * m4/argz.m4: New file, which is autoupdated from libtool.
76305
76306 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
76307
76308         * lib/argz.c, lib/argz_.h: New files, which are autoupdated from
76309         libtool.
76310
76311 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
76312
76313         * config/srclist-update: Don't insist on "USA." before the
76314         close-comment, as libtool omits the period and puts the */ on a
76315         separate line.
76316         * config/srclist.txt: Add argz.c, argz_.h, argz.m4.
76317         * config/srclistvars.sh: Add LIBTOOL (for eggert only).
76318
76319 2004-06-22  Gary V. Vaughan  <gary@gnu.org>
76320
76321         * modules/argz: New file.
76322         * MODULES.html.sh (func_all_modules): Add argz.
76323
76324 2004-06-12  Jim Meyering  <jim@meyering.net>
76325         and  Paul Eggert  <eggert@cs.ucla.edu>
76326
76327         * modules/hash (Files): Add lib/xalloc.h.
76328         * modules/pipe (Depends-on): Add wait-process.
76329         * modules/stat (Depends-on): Add xalloc.
76330         * modules/userspec (Files): Add lib/userspec.h.
76331         * modules/xstrto
76332
76333         Upgrade from gettext-0.13.
76334         * modules/gettext (Files): Add m4/intmax.m4, m4/longdouble.m4,
76335         m4/longlong.m4, m4/printf-posix.m4, m4/signed.m4, m4/size_max.m4,
76336         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4.
76337
76338 2004-06-10  Jim Meyering  <jim@meyering.net>
76339
76340         * lib/calloc.c: New file.
76341
76342 2004-06-06  Paul Eggert  <eggert@cs.ucla.edu>
76343
76344         * lib/getdate.y (yylex): Allow space between sign and number.
76345         Problem reported by Dan Jacobson.
76346
76347 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
76348
76349         Merge from coreutils CVS.
76350
76351         * m4/backupfile.m4, dirname.m4, human.m4, inttypes.m4, longlong.m4,
76352         makepath.m4, memchr.m4, memcmp.m4, mountlist.m4, path-concat.m4,
76353         putenv.m4, quotearg.m4, readutmp.m4, strtoimax.m4, strtoll.m4,
76354         strtoull.m4, strtoumax.m4, ulonglong.m4, vasnprintf.m4,
76355         xstrtol.m4: Fix copyright date and/or serial number.
76356
76357         * m4/chown.m4 (gl_PREREQ_CHOWN): Check for fcntl.h.
76358         See if we need an fchown replacement.
76359         (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro.
76360         (gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK,
76361         and use the replacement function if we detect either defect.
76362
76363         * m4/prereq.m4 (gl_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR,
76364         gl_UTIMECMP.
76365
76366 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
76367         and  Jim Meyering  <jim@meyering.net>
76368
76369         Merge from coreutils CVS.
76370
76371         * lib/stat-macros.h: New file, with contents from file-type.h
76372         and coreutils' system.h.
76373         * lib/file-type.c: Include "stat-macros.h".
76374         * lib/file-type.h (file_type): Move all macro definitions to new file,
76375         stat-macros.h.
76376
76377         * lib/chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]:
76378         Wrap old code with this conditional.
76379         [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown
76380         function that does not dereference symlinks.
76381         * lib/lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown.
76382
76383         * lib/xreadlink.c: Include xreadlink.h first, to catch .h file
76384         dependency problems.
76385         (xreadlink): Accept new arg SIZE, for efficiency.
76386         All decls and uses changed.
76387         * lib/xreadlink.h: Include <stddef.h>, for size_t.
76388
76389         * lib/.cppi-disable: Add alloca_.h, allocsa.h, exit.h, getndelim2.h,
76390         gettext.h, localcharset.h, strdup.h, strndup.h, strtoul.c, time_r.h.
76391
76392         * lib/.cvsignore: Add alloca.h, fnmatch.h, poll.h, stdbool.h,
76393         sysexits.h.
76394
76395 2004-06-01  Jim Meyering  <jim@meyering.net>
76396
76397         * m4/calloc.m4: New file.
76398
76399 2004-05-31  Paul Eggert  <eggert@cs.ucla.edu>
76400
76401         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Detect _Bool bug in HP aC++/ANSI
76402         C B3910B A.05.55 [Dec 04 2003].  Problem reported by Jim Meyering.
76403         Also, fix a typo in a diagnostic.
76404
76405 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
76406
76407         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Do not require AC_FUNC_MALLOC
76408         or AC_FUNC_REALLOC.
76409
76410 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
76411
76412         * lib/xmalloc.c (HAVE_MALLOC, HAVE_REALLOC): Do not require these
76413         macros to be defined.
76414         (xnmalloc_inline, xnrealloc_inline, xcalloc): Do not die if
76415         the allocator returns NULL because the requested size is zero.
76416
76417 2004-05-20  Paul Eggert  <eggert@cs.ucla.edu>
76418
76419         * lib/malloc/obstack.c (_obstack) [defined _LIBC]: Bring back this
76420         var.  Add comment explaining why libc still defines it.  This
76421         merges the following patch from glibc:
76422         http://sources.redhat.com/ml/libc-alpha/2004-05/msg00157.html
76423
76424 2004-05-20  Andreas Schwab  <schwab@suse.de>
76425
76426         * m4/free.m4: Replace free if it not known to work, not the other
76427         way round.
76428
76429 2004-05-19  Paul Eggert  <eggert@cs.ucla.edu>
76430
76431         * lib/obstack.c (_obstack): Remove unused variable.  It hasn't been
76432         present in glibc since revision 1.1 of this file.
76433         * lib/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast,
76434         obstack_alignment_mask, obstack_alloc, obstack_base,
76435         obstack_blank, obstack_blank_fast, obstack_chunk_size,
76436         obstack_copy, obstack_copy0, obstack_finish, obstack_grow,
76437         obstack_grow0, obstack_init, obstack_int_grow,
76438         obstack_int_grow_fast, obstack_make_room, obstack_memory_used,
76439         obstack_next_free, obstack_object_size, obstack_ptr_grow,
76440         obstack_ptr_grow_fast, obstack_room): Remove declarations of
76441         nonexistent functions.
76442
76443 2004-05-18  Karl Berry  <karl@gnu.org>
76444
76445         * config/srclist.txt: break link for vasnprintf.c.
76446
76447 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
76448
76449         Port obstack to the AS/400, where pointers are 16 bytes wide and
76450         you cannot cast an integer to a valid pointer.  This patch is
76451         currently waiting to be integrated into glibc; see
76452         <http://sources.redhat.com/ml/libc-alpha/2004-05/msg00073.html>.
76453
76454         * lib/obstack.h (__PTR_TO_INT, __INT_TO_PTR): Remove.
76455         All uses of __INT_TO_PTR (PTR_TO_INT ...) replaced by __PTR_ALIGN.
76456         (__BPTR_ALIGN, __PTR_ALIGN): New macros.
76457         (struct obstack): temp member is now a union of a pointer and
76458         an integer, instead of an integer.  All integer uses changed.
76459         This does not affect the physical layout of struct obstack,
76460         except on hosts (like the AS/400) where the size or alignment of
76461         void * is greater than that of ptrdiff_t.
76462         (obstack_finish) [! (defined __GNUC__ && defined __STDC__ &&
76463         __STDC__)]: Store temporary in pointer member of union, not
76464         integer member.
76465         * lib/obstack.c: Include <stddef.h>, for offsetof.
76466         (struct fooalign): Remove; it doesn't need a name.
76467         (union fooround): Change double to long double, and add void *.
76468         (DEFAULT_ALIGNMENT): Use offsetof to compute.
76469         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Now an enum constant,
76470         not a macro.  Hence the values are always int; so remove all
76471         casts-to-int in uses.
76472
76473 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
76474
76475         * config/srclist.txt: Break link for argp-help.c and argp-parse.c until
76476         we can get this patch merged into glibc.
76477
76478 2004-05-17  Derek R. Price  <derek@ximbiot.com>
76479             Paul Eggert  <eggert@cs.ucla.edu>
76480
76481         * m4/argp: Depend on alloca.
76482
76483 2004-05-17  Derek R. Price  <derek@ximbiot.com>
76484             Paul Eggert  <eggert@cs.ucla.edu>
76485
76486         * lib/argp-help.c, argp-parse.c: Assume <alloca.h> rather than
76487         freecoding.
76488
76489 2004-05-17  Bruno Haible  <bruno@clisp.org>
76490
76491         * lib/vasnprintf.c (VASNPRINTF): Correctly handle the case of a
76492         precision that consists of a '.' followed by an empty digit string.
76493         Patch by Tor Lillqvist <tml@iki.fi>.
76494
76495 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
76496
76497         * m4/alloca.m4 (gl_FUNC_ALLOCA): Define HAVE_ALLOCA_H always,
76498         for backward compatibility with older code.  We need our own
76499         alloca.h if _AIX is defined.  Define HAVE_ALLOCA if we discover
76500         it under some other name, and our alloca.h will define it.
76501
76502 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
76503             Derek Price  <derek@ximbiot.com>
76504
76505         * lib/alloca.c: Include <alloca.h>, to get our interface.
76506         * lib/alloca_.h: Use __alloca on AIX, so that we don't have to
76507         include <alloca.h> first.  Use C89 prototype for alloca; this
76508         requires including <stddef.h> for size_t.  Use extern "C" if C++.
76509         Use #elif for simplicity, since we can assume C89 now.
76510         Don't try to source the system alloca.h since it will not be found
76511         and to prevent recursively including its replacement.
76512         * lib/fnmatch.c: Include <alloca.h> instead of opencoding.
76513         * lib/regex.c: Likewise.
76514
76515 2004-05-16  Derek Price  <derek@ximbiot.com>
76516             Paul Eggert  <eggert@cs.ucla.edu>
76517
76518         getline cleanup.  This changes the getndelim2 API: both order of
76519         arguments, and meaning of delim2 (now uses EOF, not 0, to indicate
76520         no delimiter).
76521
76522         * lib/getline.c: Don't include stddef.h or stdio.h, since our
76523         interface does that.
76524         (getline): Always use getdelim, so that we don't have two
76525         copies of this code.
76526         * lib/getndelim2.c: Include <limits.h>, <inttypes.h>, <stdint.h>
76527         if available.
76528         (PTRDIFF_MAX, SIZE_MAX, SSIZE_MAX): Define if not defined.
76529         (GETNDELIM2_MAXIMUM): New macro.
76530         (getndelim2): Reorder arguments.  delim==EOF now means no delimiter,
76531         instead of the old practice of delim2==0.  All callers changed.
76532         Return -1 on overflow, instead of returning junk.
76533         Do not set *linesize unless allocation succeeds.
76534         * lib/getndelim2.h: Do not include stddef.h; no longer needed, now
76535         that we include sys/types.h.
76536         * lib/getnline.h: Likewise.
76537         * lib/getndelim2.h (GETNLINE_NO_LIMIT): New macro.
76538         (getndelim2): Reorder arguments.
76539         * lib/getnline.c (getnline, getndelim):
76540         Don't discard the NMAX argument.
76541         (getnline): Invoke getndelim, to avoid code duplication.
76542         * lib/getnline.h (GETNLINE_NO_LIMIT): New macro, used instead
76543         of (size_t) -1 by callers of the getnline family.
76544
76545 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
76546
76547         * m4/gettime.m4 (gl_GETTIME): Require gl_TIMESPEC.
76548         Check for gettimeofday.
76549         * m4/settime.m4 (gl_SETTIME): Require gl_TIMESPEC.
76550         Check for settimeofday, stime.
76551
76552 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
76553
76554         * lib/nanosleep.c (suspended): Change its type from int to
76555         sig_atomic_t volatile.
76556         (first_call): Make it private to rpl_nanosleep, and have it
76557         be zero initially as that's a bit faster.
76558         (my_usleep): Round up fractional times instead of truncating them,
76559         as this is the usual meaning for 'sleep'.
76560
76561         * lib/gettime.c (gettime): Fall back on `time' if `gettimeofday'
76562         doesn't work.
76563         * lib/settime.c: Include <unistd.h>, for stime (on Solaris 8, anyway).
76564         (ENOSYS): Define if not defined.
76565         (settime): Fall back on stime if it exists and settimeofday fails.
76566         But don't bother with fallbacks if a method fails with errno == EPERM.
76567
76568 2004-05-11  Jim Meyering  <jim@meyering.net>
76569
76570         Prior to this change, the save_cwd caller required read access to the
76571         current directory on most systems (ones with the fchdir function).
76572
76573         * lib/save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only
76574         fails, try write-only, and finally, resort to using xgetcwd.
76575
76576 2004-05-06  Paul Eggert  <eggert@cs.ucla.edu>
76577
76578         * lib/obstack.c, obstack.h: Import changes from libc.
76579
76580 2004-04-28  Bruno Haible  <bruno@clisp.org>
76581
76582         * lib/findprog.c (find_in_path): Treat Cygwin like Windows, since it
76583         also implicitly appends .exe to executables.
76584         * lib/localcharset.c (ISSLASH): Treat Cygwin like Windows, since it now
76585         accepts Windows pathnames.
76586         * lib/pathname.h (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
76587         Treat Cygwin like Windows, since it now accepts Windows pathnames.
76588         * lib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
76589         Treat Cygwin like Windows, since it now accepts Windows pathnames.
76590         Reported by Derek Robert Price <derek@ximbiot.com>.
76591
76592 2004-04-21  Karl Berry  <karl@gnu.org>
76593
76594         * config/srclist.txt (localcharset.c): break sync.
76595
76596 2004-04-20  Paul Eggert  <eggert@twinsun.com>
76597
76598         * m4/host-os.m4: Add a copyright notice.
76599
76600 2004-04-20  Jim Meyering  <jim@meyering.net>
76601
76602         Change UTILS_ to gl_ in AC_DEFINE'd names.
76603         Change utils_- and jm_-prefixed variables, too.
76604         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from
76605         UTILS_FUNC_MKDIR_TRAILING_SLASH.
76606         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP.
76607
76608         * m4/dirfd.m4 (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD.
76609         Don't emit trailing blanks.
76610         Also rename jm_-prefixed variables to have gl_ prefix.
76611
76612         * m4/host-os.m4 (gl_HOST_OS): Rename from UTILS_HOST_OS.
76613         Also rename jm_-prefixed variables to have gl_ prefix.
76614
76615         * m4/jm-macros.m4: Reflect the renamings.
76616         * m4/prereq.m4: Likewise.
76617
76618 2004-04-20  Jim Meyering  <jim@meyering.net>
76619
76620         * lib/getndelim2.c (getndelim2): Upon realloc failure, don't leak
76621         memory.
76622
76623 2004-04-20  Jim Meyering  <jim@meyering.net>
76624             Bruno Haible  <bruno@clisp.org>
76625
76626         * lib/localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
76627         memory when realloc fails.
76628
76629 2004-04-19  Jim Meyering  <jim@meyering.net>
76630
76631         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE,
76632         now that readutmp.c may call `free (0)'.
76633
76634 2004-04-19  Bruno Haible  <bruno@clisp.org>
76635
76636         * m4/mbrtowc.m4: Change jm_ to gl_ in cache variables as well.
76637         * m4/inttypes_h.m4: Likewise.
76638         * m4/stdint_h.m4: Likewise.
76639         * m4/intmax_t.m4: Likewise.
76640         * m4/uintmax_t.m4: Likewise.
76641
76642 2004-04-18  Jim Meyering  <jim@meyering.net>
76643
76644         * m4/prereq.m4: Don't forbid jm_ prefix.
76645
76646         * m4/afs.m4, m4/allocsa.m4, m4/assert.m4, m4/backupfile.m4:
76647         * m4/bison.m4, m4/check-decl.m4, m4/chown.m4, m4/d-ino.m4:
76648         * m4/d-type.m4, m4/dirname.m4, m4/dos.m4, m4/error.m4, m4/fpending.m4:
76649         * m4/fstypename.m4, m4/fsusage.m4, m4/ftruncate.m4, m4/getdate.m4:
76650         * m4/getgroups.m4, m4/gettext.m4, m4/glibc21.m4, m4/group-member.m4:
76651         * m4/human.m4, m4/intmax.m4, m4/intmax_t.m4, m4/inttostr.m4:
76652         * m4/inttypes.m4, m4/inttypes_h.m4, m4/jm-macros.m4, m4/jm-winsz1.m4:
76653         * m4/jm-winsz2.m4, m4/lchown.m4, m4/lib-check.m4, m4/link-follow.m4:
76654         * m4/localcharset.m4, m4/longlong.m4, m4/ls-mntd-fs.m4, m4/lstat.m4:
76655         * m4/makepath.m4, m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4:
76656         * m4/memcmp.m4, m4/mkdtemp.m4, m4/mkstemp.m4, m4/mountlist.m4:
76657         * m4/nanosleep.m4, m4/path-concat.m4, m4/perl.m4, m4/prereq.m4:
76658         * m4/putenv.m4, m4/quotearg.m4, m4/regex.m4, m4/stat.m4:
76659         * m4/stdint_h.m4, m4/strftime.m4, m4/strtoimax.m4, m4/strtoll.m4:
76660         * m4/strtoull.m4, m4/strtoumax.m4, m4/timespec.m4, m4/uintmax_t.m4:
76661         * m4/ulonglong.m4, m4/unlink-busy.m4, m4/unlocked-io.m4, m4/uptime.m4,
76662         * m4/utimbuf.m4, m4/utime.m4, m4/utimes-null.m4, m4/vasnprintf.m4:
76663         * m4/xstrtoimax.m4, m4/xstrtol.m4, m4/xstrtoumax.m4:
76664         Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.
76665
76666 2004-04-18  Jim Meyering  <jim@meyering.net>
76667
76668         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc
76669         failure, don't leak memory and do call END_UTMP_ENT.
76670
76671 2004-04-16  Jim Meyering  <jim@meyering.net>
76672
76673         * m4/prereq.m4 (jm_PREREQ_STAT): Remove macro.  It is specific to
76674         coreutils' stat program.
76675         (gl_PREREQ): Don't require jm_PREREQ_STAT.
76676
76677 2004-04-11  Paul Eggert  <eggert@twinsun.com>
76678
76679         * lib/inttostr.h: Include <limits.h> unconditionally, since we assume
76680         C89.
76681         (CHAR_BIT): Remove, since we assume C89.
76682         Include <stdint.h> if available, as per current Autoconf CVS advice.
76683
76684 2004-03-31  Jim Meyering  <jim@meyering.net>
76685
76686         * m4/prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC.
76687         Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC.
76688         * m4/xalloc.m4: Likewise.
76689
76690 2004-03-30  Paul Eggert  <eggert@twinsun.com>
76691
76692         Merge from coreutils.
76693
76694         * m4/inttostr.m4: New file.
76695         * m4/getdate.m4 (gl_GETDATE): Remove time-related stuff.
76696         Require AM_STDBOOL_H and gl_TIMESPEC instead.
76697         Require gl_CLOCK_TIME.
76698         * m4/clock_time.m4 (gl_CLOCK_TIME): Require AC_GNU_SOURCE.
76699
76700 2004-03-30  Paul Eggert  <eggert@twinsun.com>
76701
76702         * lib/cloexec.h, cloexec.c (set_cloexec_flag): Return int
76703         not bool, to be more consistent with Unix conventions.
76704         Suggested by Bruno Haible.
76705
76706         Merge from coreutils.
76707
76708         * lib/imaxtostr.c, lib/inttostr.c, lib/inttostr.h, lib/offtostr.c:
76709         * lib/umaxtostr.c: New files.
76710
76711         * lib/getdate.h: Include stdbool.h, and timespec.h instead of
76712         the usual <time.h> dance.
76713         (get_date): Change signature to support fractional time stamps.
76714         All callers changed.
76715         * lib/getdate.y: Include "getdate.h" first, as we can now
76716         assume C89 and don't need to worry about 'const'.
76717         Similarly, include "unlocked-io.h" near start, not in middle.
76718         Include <limits.h>.
76719         (textint.value): Use long int rather than int.
76720         (textint.digits): Use size_t rather than int.
76721         (BILLION, LOG10_BILLION): New constants.
76722         (parser_control): New member rel_ns.  Members day_ordinal,
76723         time_zone, month, day, hour, minutes, rel_year, rel_month,
76724         rel_day, rel_hour, rel_minutes, rel_seconds
76725         are now long int, not int.  Member seconds is now struct timespec,
76726         not int.  New member timespec_seen.  Members dates_seen, days_seen,
76727         local_zones_seen, rels_seen, times_seen, zones_seen are now size_t,
76728         not int.
76729         (%union.intval): Now long int, not int.
76730         New member timespec.
76731         (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens.
76732         (seconds, signed_seconds, unsigned_seconds): New nonterminals.
76733         (spec): Now is a timespec or an item list.
76734         (timespec, items): New nonterminals.
76735         (time, rel, relunit, number, get_date):
76736         Add support for fractional seconds.
76737         (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax.
76738         (gmtime, localtime, mktime): Remove decls; not needed with C89.
76739         (to_hour): First arg is now long int, not int.
76740         (to_year): Returns long int, not int.
76741         Don't treat year -70 like 70.
76742         (tm_diff): Returns long int, not int.
76743         (lookup_word): Use bool instead of int when appropriate.
76744         (yylex): Use size_t for count, not int.
76745         Detect overflow when parsing large integer constants.
76746         Add support for fractions.
76747         (get_date): Make pointers 'const' if possible.
76748         Use more-portable code to detect integer overflow.
76749         (main) [TEST]: Adjust to above changes.  Test for localtime failure.
76750         Don't use ctime; it's not reliable if the year has >4 digits.
76751
76752         * lib/human.c (humblock): Inspect BLOCKSIZE if BLOCK_SIZE isn't set.
76753         This is for compatibility with BSD.
76754
76755         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define.
76756         (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
76757         From coreutils' system.h.
76758
76759         * lib/userspec.c: Don't include "posixver.h".
76760         (parse_user_spec): Fall back on USER.GROUP parsing, regardless
76761         of POSIX version, as POSIX 1003.1-2001 allows that behavior as a
76762         compatible extension.  Simplify code by removing a boolean int
76763         that was always nonzero if a string was nonnull.
76764
76765 2004-03-30  Jim Meyering  <jim@meyering.net>
76766
76767         Merge from coreutils.
76768
76769         Avoid a configure-time warning about sys/ucred.h on OSF V4.0.
76770         * m4/ls-mntd-fs.m4: Test for sys/ucred.h separately, since
76771         on some systems one must include <grp.h> before it.
76772         Reported by Christian Krackowizer.
76773
76774 2004-03-30  Jim Meyering  <jim@meyering.net>
76775
76776         Merge from coreutils.
76777
76778         * lib/mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h.
76779
76780         * lib/readtokens.c (readtoken): Don't leak 64 bytes when reading
76781         an empty input stream.
76782
76783         * lib/readtokens.c: Include <stdbool.h>.
76784         (readtoken): Use `size_t' rather than int/long.
76785         All callers adjusted.
76786         Use `bool' rather than `int' where appropriate.
76787         Use memset rather than an explicit loop.
76788         Use x2nrealloc rather than xrealloc.
76789         Allow the use of `\0' as a delimiter.
76790         (readtokens): Likewise.
76791         * lib/readtokens.h (readtoken, readtokens): Update prototypes.
76792
76793 2004-03-30  Jim Meyering  <jim@meyering.net>
76794
76795         * m4/realloc.m4: Remove file, since now it does no more than
76796         AC_REQUIRE([AC_FUNC_REALLOC]), and that can be done via
76797         the `configure.ac' section of module/realloc.
76798         * m4/malloc.m4: Likewise, but for AC_FUNC_MALLOC.
76799
76800 2004-03-30  Bruno Haible  <bruno@clisp.org>
76801
76802         * lib/getloadavg.c (getloadavg): Don't assume setlocale returns
76803         nonnull.
76804
76805 2004-03-29  Paul Eggert  <eggert@twinsun.com>
76806
76807         Merge changes to getloadavg.c from coreutils and Emacs.
76808
76809         * lib/getloadavg.c [!defined HAVE_SETLOCALE] (setlocale):
76810         Define to an expression, not to the empty string.
76811         Include cloexec.h and xalloc.h.
76812         (getloadavg): Restore LC_NUMERIC locale after setting it temporarily.
76813         Use set_cloexec_flag rather than rolling our own.
76814         * lib/cloexec.c, lib/cloexec.h: New files.
76815
76816 2004-03-29  Paul Eggert  <eggert@twinsun.com>
76817
76818         * m4/cloexec.m4: New file.
76819
76820 2004-03-18  Paul Eggert  <eggert@twinsun.com>
76821
76822         * lib/getopt.h: Sync with libc CVS.
76823
76824 2004-03-18  Paul Eggert  <eggert@twinsun.com>
76825             Bruno Haible  <bruno@clisp.org>
76826
76827         * m4/mbswidth.m4 (gl_MBSWIDTH): Also test whether <wchar.h> declares
76828         mbswidth.
76829
76830 2004-03-18  Paul Eggert  <eggert@twinsun.com>
76831             Bruno Haible  <bruno@clisp.org>
76832
76833         * lib/mbswidth.h: Include <wchar.h> only if
76834         HAVE_DECL_MBSWIDTH_IN_WCHAR_H, not on all platforms that have
76835         <wchar.h>.
76836         * lib/mbswidth.c: Include <stdio.h> and <time.h> before <wchar.h>.
76837
76838 2004-03-09  Paul Eggert  <eggert@twinsun.com>
76839
76840         * lib/argp-parse.c, getopt.c, getopt.h, getopt1.c:
76841         Sync with libc CVS.
76842         * lib/getopt_int.h: New file, also synced from libc.
76843
76844 2004-03-09  Paul Eggert  <eggert@twinsun.com>
76845
76846         * config/srclistvars.sh: Add GNUWWWLICENSES for eggert.
76847         * config/srclist.txt: Sync getopt with libc.  Add getopt_int.h.
76848         Bring back getopt.c, getopt.h, getopt1.c.
76849
76850 2004-03-07  Paul Eggert  <eggert@twinsun.com>
76851
76852         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Renamed from jm_PREREQ_C_STACK.
76853         All uses changed.  Check for sa_sigaction member; this fixes
76854         a bug first reported by Jason Andrade in
76855         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
76856
76857 2004-03-07  Paul Eggert  <eggert@twinsun.com>
76858
76859         * lib/c-stack.c (SIGACTION_WORKS): New macro.  Use it instead of long
76860         '#if' expressions.  Unlike the code it replaces, it does not
76861         depend on (defined _SC_PAGESIZE).  However, it does depend on
76862         HAVE_STRUCT_SIGACTION_SA_SIGACTION; this last change fixes a bug
76863         first reported by Jason Andrade in
76864         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
76865
76866 2004-02-25  Simon Josefsson  <jas@extundo.com>
76867
76868         * m4/strdup.m4 (gl_PREREQ_STRDUP): Check whether strdup is declared.
76869
76870 2004-02-25  Simon Josefsson  <jas@extundo.com>
76871
76872         * lib/strdup.h: New file.
76873         * lib/strdup.c: Include it.
76874         * lib/path-concat.c: Include strdup.h. Drop strdup declaration.
76875         * lib/userspec.c: Include strdup.h. Drop strdup declaration.
76876
76877 2004-02-23  Karl Berry  <karl@gnu.org>
76878
76879         * doc/maintain.texi, doc/standards.texi, doc/make-stds.texi: new files
76880         (from fencepost.gnu.org:/gd/gnuorg).
76881
76882 2004-02-23  Karl Berry  <karl@gnu.org>
76883
76884         * config/srclistvars.sh (GNUORG) [karl]: redefine.
76885         * config/srclist.txt: add maintain/standards documents.
76886
76887 2004-02-18  Bruno Haible  <bruno@clisp.org>
76888
76889         * m4/xsize.m4 (gl_XSIZE): Require AC_C_INLINE.
76890         Reported by Derek Robert Price <derek@ximbiot.com>.
76891
76892 2004-02-16  Karl Berry  <karl@gnu.org>
76893
76894         * config/mkinstalldirs, install-sh: update from automake.
76895
76896 2004-02-06  Karl Berry  <karl@gnu.org>
76897
76898         * m4/po.m4: update from gettext 0.14.1.
76899
76900 2004-02-06  Karl Berry  <karl@gnu.org>
76901
76902         * lib/config.charset: update from gettext 0.14.1.
76903
76904 2004-02-05  Paul Eggert  <eggert@twinsun.com>
76905
76906         Add comments and code, prompted by suggestions from Bruno Haible
76907         for sh-quote.
76908         * lib/quotearg.h (quotearg_alloc): New decl.  Improve the comments
76909         describing the enum quoting_style values.
76910         * lib/quotearg.c (quotearg_alloc): New function.
76911         (quotearg_buffer_restyled): Treat lone { and } as special.
76912         Treat = as special.  Work around bug with older shells
76913         that "see" a '\' that is really the 2nd byte of a multibyte char.
76914         Quote empty string with shell_quoting_style.
76915
76916 2004-02-03  Bruno Haible  <bruno@clisp.org>
76917
76918         * m4/pipe.m4: New file, from GNU gettext.
76919
76920 2004-02-03  Bruno Haible  <bruno@clisp.org>
76921
76922         * lib/pipe.h: New file, from GNU gettext.
76923         * lib/pipe.c: New file, from GNU gettext.
76924
76925 2004-01-27  Bruno Haible  <bruno@clisp.org>
76926
76927         * m4/execute.m4: New file, from GNU gettext.
76928
76929 2004-01-27  Bruno Haible  <bruno@clisp.org>
76930
76931         * lib/execute.h: New file, from GNU gettext.
76932         * lib/execute.c: New file, from GNU gettext.
76933         * lib/w32spawn.h: New file, from GNU gettext.
76934
76935 2004-01-24  Paul Eggert  <eggert@twinsun.com>
76936
76937         Merge from diffutils.
76938
76939         * lib/file-type.c (file_type): Add typed memory objects.
76940         * lib/file-type.h (S_TYPEISTMO): New macro.
76941
76942         * lib/c-stack.h (c_stack_action): Remove argv argument.
76943         * lib/c-stack.c (c_stack_action): Likewise.  All uses changed.
76944         (die): Don't calculate message unless segv_action returns.
76945         (get_stack_location, min_address_from_argv, max_address_from_argv,
76946         volatile stack_base, volatile_stack_size): Remove.
76947         (segv_handler): If ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC, assume
76948         that every segmentation violation is a stack overflow.  (Ouch!)
76949         See Debian bug 136249 (still outstanding) for more info about why
76950         HAVE_XSI_STACK_OVERFLOW_HEURISTIC fails on Linux kernels.
76951
76952 2004-01-24  Paul Eggert  <eggert@twinsun.com>
76953
76954         Exit-status fix from coreutils.
76955
76956         Use exit_failure consistently in place of EXIT_FAILURE,
76957         so that program exit statuses are consistent on failure.
76958
76959         * lib/argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]:
76960         Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE.
76961         * lib/argmatch.h: Comment fix to match the above.
76962         * lib/obstack.c (obstack_exit_failure) [!defined _LIBC]:
76963         Now a macro referring to exit_failure, instead of a separate
76964         variable.  Include "exitfail.h" to get it.
76965         * lib/xstrtol.h: Include "exitfail.h".
76966         (STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2.
76967
76968         * lib/long-options.c (parse_long_options): Use prototype
76969         for usage function arg.  Pass it EXIT_SUCCESS rather than 0,
76970         for clarity.
76971
76972 2004-01-21  Jim Meyering  <jim@meyering.net>
76973
76974         * lib/mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal
76975         so as not to conflict with a different-sized __mktime_internal
76976         function in GNU libc.
76977         * lib/timegm.c (__mktime_internal) [!_LIBC]: Likewise.
76978         Problem building statically-linked `ls' reported by Michael Brunnbauer.
76979
76980 2004-01-20  Karl Berry  <karl@gnu.org>
76981
76982         * config/config.guess: update from config.
76983
76984         * config/srclistvars.sh: GNUWWWLICENSES for karl.
76985
76986 2004-01-20  Bruno Haible  <bruno@clisp.org>
76987
76988         Safer stack allocation.
76989         * lib/setenv.c: Include allocsa.h.
76990         (alloca): Remove fallback definition.
76991         (freea): Remove macro.
76992         (__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa
76993         instead of freea.
76994
76995 2004-01-20  Bruno Haible  <bruno@clisp.org>
76996
76997         * m4/eealloc.m4: New file, from GNU gettext.
76998
76999 2004-01-20  Bruno Haible  <bruno@clisp.org>
77000
77001         * m4/allocsa.m4: New file, from GNU gettext.
77002
77003 2004-01-20  Bruno Haible  <bruno@clisp.org>
77004
77005         * lib/xallocsa.h: New file, from GNU gettext.
77006         * lib/xallocsa.c: New file, from GNU gettext.
77007
77008 2004-01-20  Bruno Haible  <bruno@clisp.org>
77009
77010         * lib/wait-process.c: On Windows, include windows.h. Needed on mingw.
77011
77012 2004-01-20  Bruno Haible  <bruno@clisp.org>
77013
77014         * lib/wait-process.c (wait_subprocess): Add ignore_sigpipe argument.
77015         * lib/wait-process.c (wait_subprocess): Likewise. Handle SIGPIPE
77016         specially.
77017
77018 2004-01-20  Bruno Haible  <bruno@clisp.org>
77019
77020         * lib/wait-process.c (wait_process): Disable the 2003-10-31 waitid()
77021         patch.
77022
77023 2004-01-20  Bruno Haible  <bruno@clisp.org>
77024
77025         * lib/wait-process.c (cleanup_slaves): Use ANSI C declaration.
77026
77027 2004-01-20  Bruno Haible  <bruno@clisp.org>
77028
77029         * lib/eealloc.h: New file.
77030
77031 2004-01-20  Bruno Haible  <bruno@clisp.org>
77032
77033         * lib/binary-io.h: Avoid warnings on Cygwin.
77034
77035 2004-01-20  Bruno Haible  <bruno@clisp.org>
77036
77037         * lib/allocsa.h: New file, from GNU gettext.
77038         * lib/allocsa.c: New file, from GNU gettext.
77039
77040 2004-01-18  Karl Berry  <karl@gnu.org>
77041
77042         * doc/gpl.texi, doc/lgpl.texi: new files.
77043
77044 2004-01-18  Karl Berry  <karl@gnu.org>
77045
77046         * config/srclistvars.sh (GNUWWWLICENSES): new variable.
77047         * config/srclist.txt ({fdl,gpl,lgpl}.text): get from there.
77048
77049 2004-01-15  Paul Eggert  <eggert@twinsun.com>
77050
77051         Merge from coreutils.
77052
77053         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t.
77054         * m4/posixver.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION.
77055         (gl_DEFAULT_POSIX2_VERSION): Move
77056         the documentation from 'configure' into 'config.hin',
77057         so that 'configure --help' isn't burdened by it and
77058         we don't have to worry about its formatting there.
77059         Reword the documentation so that it's more succinct
77060         and can be run together into a single paragraph.
77061         * m4/same.m4 (gl_SAME): Check for pathconf.
77062
77063 2004-01-15  Paul Eggert  <eggert@twinsun.com>
77064
77065         Merge from coreutils.
77066
77067         * lib/posixver.c: Include posixver.h.
77068
77069         * lib/same.c: Include <stdbool.h>, <limits.h>.
77070         (_POSIX_NAME_MAX): Define if not defined.
77071         (MIN): New macro.
77072         (same_name): If file names are silently truncated, report
77073         that the file names are the same if they are the same after
77074         the silent truncation.
77075
77076         * lib/xstrtod.h (xstrtod): Accept an extra arg, specifying the
77077         conversion function.
77078         * lib/xstrtod.c (xstrtod): Likewise.  All callers changed to
77079         include c-strtod.h and use c_strtod.  Don't include stdlib.h; no
77080         longer needed.
77081
77082 2004-01-15  Jim Meyering  <jim@meyering.net>
77083
77084         Merge from coreutils.
77085
77086         * m4/clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME
77087         if no library is required.
77088         * m4/jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX.
77089         * m4/jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE.
77090         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.58.
77091         (AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58.
77092         * m4/jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW.
77093         * m4/lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the
77094         value, $ac_cv_search_crypt, if it's "none required".
77095         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro.
77096         * m4/prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG,
77097         not gl_FUNC_GETLOADAVG.
77098         * m4/prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH,
77099         gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS.
77100
77101 2004-01-15  Jim Meyering  <jim@meyering.net>
77102
77103         Merge from coreutils.
77104
77105         * lib/md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code.  These
77106         days, gcc-3.x does better all by itself.  Patch from Dean Gaudet:
77107         http://mail.gnu.org/archive/html/bug-coreutils/2003-11/msg00144.html
77108
77109         * lib/posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new,
77110         optional configure-time default.
77111
77112         * lib/version-etc.c (version_etc_copyright): Update copyright date.
77113
77114         * lib/xreadlink.c (xreadlink): Correct outdated comment.
77115
77116 2004-01-15  Alexandre Duret-Lutz  <adl@gnu.org>
77117
77118         Merge from coreutils.
77119
77120         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the
77121         value, $ac_cv_search_nanosleep, if it's "none required".
77122
77123 2004-01-14  Paul Eggert  <eggert@twinsun.com>
77124
77125         * lib/fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided
77126         with like-named macro in fnmatch.c.
77127         (EXT): Use an internal constant instead.
77128
77129         Merge fnmatch patches from glibc.
77130         * lib/fnmatch.c (mbsinit): Remove define.
77131         Add libc_hidden_ver (__fnmatch, fnmatch).
77132         * lib/fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate.
77133         Adjust to renaming of collseq_table_lookup to __collseq_table_lookup.
77134
77135 2004-01-14  Karl Berry  <karl@gnu.org>
77136
77137         * config/install-sh: update from automake.
77138
77139 2004-01-13  Karl Berry  <karl@gnu.org>
77140
77141         * config/install-sh: update from automake.
77142
77143 2004-01-09  Karl Berry  <karl@gnu.org>
77144
77145         * config/install-sh: update from automake.
77146
77147 2004-01-05  Karl Berry  <karl@gnu.org>
77148
77149         * config/config.{sub,guess}: update from config.
77150
77151 2003-12-31  Karl Berry  <karl@gnu.org>
77152
77153         * config/depcomp: update from automake.
77154
77155 2003-12-14  Karl Berry  <karl@gnu.org>
77156
77157         * lib/config.charset: update from gettext-runtime.
77158
77159 2003-12-03  Paul Eggert  <eggert@twinsun.com>
77160
77161         * lib/getgroups.c (getgroups): xmalloc takes one argument, not two.
77162         Bug reported by Alfred M. Szmidt.
77163
77164 2003-12-03  Bruno Haible  <bruno@clisp.org>
77165
77166         * m4/gettext.m4: Upgrade from gettext-0.13.
77167         * m4/po.m4: Upgrade from gettext-0.13.
77168         * m4/size_max.m4 (gl_SIZE_MAX): Don't use the _ONCE macros here.
77169         * m4/intmax.m4: New file, from gettext-0.13.
77170         * m4/printf-posix.m4: New file, from gettext-0.13.
77171
77172 2003-11-29  Karl Berry  <karl@gnu.org>
77173
77174         * lib/argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc.
77175
77176 2003-11-25  Paul Eggert  <eggert@twinsun.com>
77177             Bruno Haible  <bruno@clisp.org>
77178
77179         * lib/printf-parse.h: Don't include sys/types.h.
77180         (ARG_NONE): New macro.
77181         (char_directive): Change type of *arg_index fields to size_t.
77182         * lib/printf-parse.c: Don't include sys/types.h.
77183         (SSIZE_MAX): Remove macro.
77184         (PRINTF_PARSE): Change the type of the arg_index variables to size_t.
77185         Remove unnecessary overflow check.
77186         * lib/vasnprintf.c (VASNPRINTF): Update for type change of *arg_index
77187         fields.
77188
77189 2003-11-25  Bruno Haible  <bruno@clisp.org>
77190
77191         * modules/vasnprintf (Files): Remove m4/ssize_t.m4.
77192
77193 2003-11-25  Bruno Haible  <bruno@clisp.org>
77194
77195         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Don't require
77196         gt_TYPE_SSIZE_T.
77197
77198 2003-11-24  Paul Eggert  <eggert@twinsun.com>
77199
77200         * modules/alloca: Remove dependency on xalloc.
77201
77202 2003-11-24  Paul Eggert  <eggert@twinsun.com>
77203
77204         * lib/alloca.c: Remove dependency on xalloc module.
77205         (xalloc_die): Remove.
77206         (memory_full) [!defined emacs]: New macro.
77207         [!defined emacs]: Don't include xalloc.h.
77208         (alloca): Invoke memory_full, not xalloc_die, if malloc fails or
77209         address arithmetic overflows.  Change datatypes a bit to avoid
77210         unnecessary casts.
77211
77212 2003-11-22  Jim Meyering  <jim@meyering.net>
77213
77214         * lib/xmalloc.c (x2nrealloc_inline): Fix typos in comments:
77215         s/size/size_t/.
77216
77217 2003-11-21  Karl Berry  <karl@gnu.org>
77218
77219         * config/config.{sub,guess}: update from config.
77220
77221 2003-11-18  Karl Berry  <karl@gnu.org>
77222
77223         * config/config.{sub,guess}: update from config.
77224
77225         * config/(printf-{parse,args}.[ch]): sync broken, sigh.
77226
77227 2003-11-17  Paul Eggert  <eggert@twinsun.com>
77228
77229         * README: Mention that S+T cannot overflow if S is the size of
77230         an existing object and T is sufficiently small.
77231
77232 2003-11-17  Jim Meyering  <jim@meyering.net>
77233
77234         On systems without utime and without a utimes function capable of
77235         dealing with a NULL struct utimbuf* argument, this utime replacement
77236         could -- in unusual circumstances -- leak a file descriptor.
77237         * lib/utime.c: Include <unistd.h> and <errno.h>.
77238         (utime_null): Be sure to close `fd' and to preserve errno.
77239         Reported by Geoff Collyer via Arnold Robbins.
77240
77241 2003-11-17  Bruno Haible  <bruno@clisp.org>
77242
77243         * modules/vasnprintf (Files): Add m4/ssize_t.m4.
77244         (Depends-on): Add xsize.
77245
77246 2003-11-17  Bruno Haible  <bruno@clisp.org>
77247
77248         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gt_TYPE_SSIZE_T.
77249
77250 2003-11-17  Bruno Haible  <bruno@clisp.org>
77251
77252         * lib/vasnprintf.c (alloca): Remove fallback definition.
77253         (freea): Remove definition.
77254         (VASNPRINTF): Use alloca only for small sizes, say <= 4000 bytes.
77255         Reported by Paul Eggert.
77256
77257 2003-11-16  Paul Eggert  <eggert@twinsun.com>
77258             Bruno Haible  <bruno@clisp.org>
77259
77260         Protect against address arithmetic overflow.
77261         * lib/printf-args.h: Include stddef.h.
77262         (arguments): Change type of field 'count' to size_t.
77263         * lib/printf-args.c (printf_fetchargs): Use size_t instead of
77264         'unsigned int' where appropriate.
77265         * lib/printf-parse.h: Include sys/types.h.
77266         (char_directive): Change type of *arg_index fields to ssize_t.
77267         (char_directives): Change type of fields 'count', max_*_length to
77268         size_t.
77269         * lib/printf-parse.c: Include sys/types.h and xsize.h.
77270         (SSIZE_MAX): Define fallback value.
77271         (PRINTF_PARSE): Use size_t instead of 'unsigned int' and ssize_t
77272         instead of 'int' where appropriate. Check a_allocated, d_allocated
77273         against overflow. Reject %m$ argument numbers > SSIZE_MAX + 1.
77274         * lib/vasnprintf.c: Include xsize.h.
77275         (VASNPRINTF): Use size_t instead of 'unsigned int' where appropriate.
77276         Check alloca, malloc, realloc, ENSURE_ALLOCATION arguments against
77277         overflow. Avoid wraparound when converting a width or precision from
77278         decimal to binary.
77279
77280 2003-11-16  Bruno Haible  <bruno@clisp.org>
77281
77282         Update from GNU gettext.
77283         * lib/printf-parse.c: Generalize to it can be compiled for wide
77284         strings.
77285         (PRINTF_PARSE, CHAR_T, DIRECTIVE, DIRECTIVES): New macros.
77286         * lib/vasnprintf.c: Generalize to it can be compiled for wide strings.
77287         (VASNPRINTF, CHAR_T, DIRECTIVE, DIRECTIVES, PRINTF_PARSE, USE_SNPRINTF,
77288         SNPRINTF): New macros.
77289         Don't include <alloca.h> if the file is used inside libintl.
77290         (local_wcslen): New function, for Solaris 2.5.1.
77291         (VASNPRINTF): Use it instead of wcslen.
77292
77293 2003-11-16  Bruno Haible  <bruno@clisp.org>
77294
77295         * lib/xsize.h (xmax): New function.
77296         (xsum, xsum3, xsum4): Declare as "pure" functions.
77297
77298 2003-11-12  Paul Eggert  <eggert@twinsun.com>
77299
77300         * modules/xalloc (Files): Undo latest change, since xalloc.h
77301         no longer needs SIZE_MAX or PTRDIFF_MAX.
77302
77303 2003-11-12  Paul Eggert  <eggert@twinsun.com>
77304
77305         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Do not require gl_SIZE_MAX or
77306         gl_PTRDIFF_MAX.
77307
77308 2003-11-12  Paul Eggert  <eggert@twinsun.com>
77309
77310         * lib/xstrtol.c (__xstrtol): Remove "break" immediately after
77311         "return", to pacify some unknown compiler.  Problem reported
77312         by Joerg Schilling.
77313
77314 2003-11-12  Paul Eggert  <eggert@twinsun.com>
77315
77316         * lib/xalloc.h: Do not include <limits.h> or <stdint.h>.
77317         (xalloc_oversized): Use sizeof (ptrdiff_t) and sizeof (size_t) for
77318         the heuristic, rather than PTRDIFF_MAX and SIZE_MAX.  This
77319         heuristic is just as accurate as far as we know, and it removes a
77320         dependency on size_max.m4 and ptrdiff_max.m4.
77321
77322 2003-11-11  Bruno Haible  <bruno@clisp.org>
77323
77324         * modules/xsize (Files): Add m4/size_max.m4.
77325         * modules/xalloc (Files): Add m4/size_max.m4, m4/ptrdiff_max.m4.
77326
77327 2003-11-11  Bruno Haible  <bruno@clisp.org>
77328
77329         * m4/size_max.m4: New file.
77330         * m4/ptrdiff_max.m4: New file.
77331         * m4/xsize,m4 (gl_XSIZE): Require gl_SIZE_MAX.
77332         * m4/xalloc.m4 (gl_PREREQ_XALLOC): New macro.
77333         (gl_XALLOC): Invoke it.
77334
77335 2003-11-11  Bruno Haible  <bruno@clisp.org>
77336
77337         * lib/xsize.h (SIZE_MAX): Remove fallback definition.
77338         * lib/xalloc.h: Include limits.h. Assume SIZE_MAX and PTRDIFF_MAX are
77339         defined.
77340
77341 2003-11-10  Paul Eggert  <eggert@twinsun.com>
77342
77343         * lib/xalloc.h (xalloc_oversized): [! (defined PTRDIFF_MAX &&
77344         PTRDIFF_MAX < SIZE_MAX)]: Fix off-by-one error that would have
77345         rejected some allocations of exactly SIZE_MAX - 2 bytes.
77346         From Bruno Haible.
77347         [defined PTRDIFF_MAX && PTRDIFF_MAX < SIZE_MAX]: Use SIZE_MAX,
77348         not (size_t) -1, since it's defined here.
77349
77350 2003-11-09  Karl Berry  <karl@gnu.org>
77351
77352         * config/mkinstalldirs, depcomp, mdate-sh: update from automake.
77353
77354 2003-11-06  Paul Eggert  <eggert@twinsun.com>
77355
77356         * lib/xalloc.h [HAVE_STDINT_H]: Include <stdint.h>.
77357         (xalloc_oversized) [! (PTRDIFF_MAX < SIZE_MAX)]:
77358         Reject sizes of exactly SIZE_MAX bytes.
77359         * lib/xreadlink.c: Include "xalloc.h" before checking whether SIZE_MAX
77360         is defined, since "xalloc.h" now defines SIZE_MAX on modern hosts.
77361
77362 2003-11-05  Bruno Haible  <bruno@clisp.org>
77363
77364         * lib/xsize.h: Include limits.h, to avoid a possible collision with
77365         SIZE_MAX defined in <limits.h> on Solaris.
77366
77367 2003-11-04  Jim Meyering  <jim@meyering.net>
77368
77369         * modules/sysexits: Use the `$(VAR)' notation for AC_SUBST'd
77370         variable names, rather than @VAR@.
77371         * modules/poll: Likewise.
77372
77373 2003-11-04  Bruno Haible  <bruno@clisp.org>
77374
77375         * modules/xsize: New file.
77376         * modules/linebreak: Depend on xsize.
77377         * MODULES.html.sh (func_all_modules): Add xsize.
77378
77379 2003-11-04  Bruno Haible  <bruno@clisp.org>
77380
77381         * m4/xsize.m4: New file.
77382
77383 2003-11-04  Bruno Haible  <bruno@clisp.org>
77384
77385         * lib/xsize.h: New file.
77386         * lib/linebreak.c: Include xsize.h.
77387         (mbs_possible_linebreaks, mbs_width_linebreaks): Check malloc()
77388         argument for overflow.
77389         Suggested by Paul Eggert.
77390
77391 2003-11-03  Karl Berry  <karl@gnu.org>
77392
77393         * config/config.{guess,sub}: update from config.
77394
77395 2003-11-03  Jim Meyering  <jim@meyering.net>
77396
77397         * modules/userspec (lib_SOURCES): Add userspec.h.
77398         (Include): Add "userspec.h".
77399         Improve description.
77400
77401 2003-11-03  Jim Meyering  <jim@meyering.net>
77402
77403         * lib/userspec.c: Include "userspec.h".
77404         * lib/userspec.h: New file.
77405
77406 2003-11-03  Bruno Haible  <bruno@clisp.org>
77407
77408         * m4/wait-process.m4 (gl_WAIT_PROCESS): Also check for waitid.
77409
77410 2003-11-03  Bruno Haible  <bruno@clisp.org>
77411
77412         * lib/wait-process.c (wait_process): Use waitid with WNOWAIT if
77413         available, to avoid (extremely rare) race condition.
77414         Suggested by Paul Eggert.
77415
77416 2003-11-02  Karl Berry  <karl@gnu.org>
77417
77418         * config/srclist.txt (vasprintf.c): sync broken, sigh.
77419
77420 2003-10-31  Paul Eggert  <eggert@twinsun.com>
77421
77422         * lib/mountlist.h (struct mount_entry.me_type_malloced): New member.
77423         * lib/mountlist.c (SIZE_MAX): Define if not defined already.
77424         (read_filesystem_list): Set and use me_type_malloced.
77425         Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or
77426         whatever the type happens to be), for brevity and consistency.
77427         Check for size calculation overflow on Alphas running OSF/1.
77428
77429 2003-10-31  Jim Meyering  <jim@meyering.net>
77430
77431         * lib/hash.c: Include "xalloc.h" for use of xalloc_oversized.
77432
77433         * lib/linebuffer.c: Include <string.h> for declaration of memset.
77434
77435 2003-10-30  Paul Eggert  <eggert@twinsun.com>
77436             Bruno Haible  <bruno@clisp.org>
77437
77438         * lib/vasprintf.c: Include <limits.h>, <stdlib.h>.
77439         (vasprintf): Fail if the resulting length doesn't fit in an 'int'.
77440
77441 2003-10-30  Paul Eggert  <eggert@cs.ucla.edu>
77442
77443         * m4/host-os.m4 (UTILS_HOST_OS): Change netbsd*-gnu pattern back to
77444         netbsd*-gnu*.  Suggested by Robert Millan.
77445
77446 2003-10-29  Paul Eggert  <eggert@twinsun.com>
77447
77448         * modules/group-member: Depend on stdbool.
77449
77450 2003-10-29  Paul Eggert  <eggert@twinsun.com>
77451
77452         * m4/xalloc.m4 (gl_XALLOC): Undo previous change.
77453
77454 2003-10-29  Paul Eggert  <eggert@twinsun.com>
77455
77456         * m4/host-os.m4 (UTILS_HOST_OS): Resurrect netbsd*-gnu.  Add comments
77457         to it, and to knetbsd*-gnu and kfreebsd*-gnu.  Remove the '*' from
77458         after the 'gnu' in these cases.  This fixes some bugs in the
77459         previous change, and is based on suggestions by Robert Millan.
77460
77461 2003-10-29  Paul Eggert  <eggert@twinsun.com>
77462
77463         * lib/xalloc.h (xalloc_oversized): Now a macro, not a function,
77464         so that it works even if SIZE_MAX < N.  Do not include <stdbool.h>;
77465         no longer needed.
77466         * lib/quotearg.c (quotearg_n_options): Use it.
77467         * lib/group-member.c: Include <stdbool.h>.
77468         (free_group_info): Arg is now const *; don't free arg.
77469         (get_group_info): Now returns bool and accepts struct group_info *,
77470         rather than returning a malloc'ed struct group_info *.
77471         All uses changed.  Check for overflow in internal size calculation.
77472
77473         * lib/getusershell.c (readname): Simplify the code by using x2nrealloc
77474         rather than xmalloc/xrealloc.
77475         * lib/linebuffer.c (initbuffer, readlinebuffer): Simplify the code by
77476         using x2realloc rather than xmalloc/xrealloc.  Also, fix a C
77477         conformance bug: the old code used a pointer after freeing the
77478         storage that it addressed.
77479         * lib/hash.c (hash_initialize): Simplify the code by using
77480         xalloc_oversized rather than doing it by hand.
77481         * lib/getgroups.c (getgroups): Don't use xrealloc, since we don't need
77482         the buffer preserved.  Use free and xmalloc instead.
77483         * lib/quotearg.c (quotearg_n_options): Likewise.
77484         Use a simpler test for size overflow.  Don't use xalloc_oversized
77485         because unsigned int might be wider than size_t (!); this suggests
77486         that we should switch from unsigned int to size_t for slot numbers.
77487
77488 2003-10-28  Paul Eggert  <eggert@twinsun.com>
77489
77490         * m4/host-os.m4 (UTILS_HOST_OS): Identify GNU/KFreeBSD and
77491         GNU/KNetBSD.  These implementations use glibc atop the FreeBSD and
77492         NetBSD kernels.  Requested by Richard Stallman.
77493
77494 2003-10-27  Paul Eggert  <eggert@twinsun.com>
77495
77496         * lib/exclude.c (new_exclude): Use xzalloc rather than xmalloc
77497         to allocate the returned structure.  Do not allocate a subarray,
77498         as x2nrealloc will do that.
77499         (add_exclude): Use x2nrealloc to reallocate ex->exclude,
77500         instead of xnrealloc.
77501         (add_exclude_file): Use x2realloc instead of malloc + xnrealloc.
77502
77503 2003-10-27  Bruno Haible  <bruno@clisp.org>
77504
77505         * lib/stdbool_.h: Better support for BeOS.
77506
77507 2003-10-26  Paul Eggert  <eggert@twinsun.com>
77508
77509         * m4/xalloc.m4 (gl_XALLOC): Requore AC_C_INLINE, since xalloc.h
77510         now uses inline.
77511
77512 2003-10-26  Paul Eggert  <eggert@twinsun.com>
77513
77514         * lib/xalloc.h (xalloc_oversized): New static inline function, for
77515         callers that want to do their own size-overflow checking.  Include
77516         <stdbool.h>, since xalloc_oversized returns bool.
77517         * lib/xalloc.c (array_size_overflow): Remove.  All callers changed
77518         to use xalloc_oversized.
77519
77520         Add two functions x2realloc, x2nrealloc, for programs that grow
77521         arrays dynamically by doubling their sizes.
77522         * lib/xalloc.h (x2realloc, x2nrealloc): New decls.
77523         * lib/xmalloc.c (x2nrealloc_inline, x2nrealloc, x2realloc):
77524         New functions.
77525
77526         Port to C99 semantics for 'inline' of external functions.
77527         Bug reported by Bruno Haible.
77528         * lib/xmalloc.c (xnmalloc_inline): New static inline function,
77529         with the old contents of xnmalloc.
77530         (xnmalloc, xmalloc): Use it.
77531         (xnrealloc_inline): New static inline function,
77532         with the old contents of xnrealloc.
77533         (xnrealloc, xrealloc): Use it.
77534
77535         * lib/alloc.c (alloca): xmalloc cannot return NULL, so don't test for
77536         that.
77537
77538 2003-10-26  Karl Berry  <karl@gnu.org>
77539
77540         * config/srclist.txt (COPYING.DOC): no longer available from
77541         /gd/gnuorg; don't know where the ultimate source is.
77542
77543 2003-10-25  Paul Eggert  <eggert@twinsun.com>
77544
77545         Fix several address-calculation bugs in the hash modules,
77546         plus some minor code cleanup.
77547
77548         * lib/hash.h: Include <stdbool.h>, for bool.
77549         * lib/hash.c: Don't include <stdbool.h>, since hash.h does it now.
77550         * lib/hash.h (Hash_hasher, hash_get_n_buckets, hash_get_n_buckets_used,
77551         hash_get_n_entries, hash_get_max_bucket_length,
77552         hash_get_entries, hash_do_for_each, hash_string, hash_initialize,
77553         hash_rehash): Use size_t rather than unsigned.
77554         * lib/hash.c (struct hash_table, hash_get_n_buckets,
77555         hash_get_n_buckets_used, hash_get_n_entries,
77556         hash_get_max_bucket_length, hash_table_ok, hash_print_statistics,
77557         hash_get_entries, hash_do_for_each, hash_string, is_prime,
77558         next_prime, hash_initialize, hash_rehash, hash_delete, hash_print):
77559         Likewise.
77560         (SIZE_MAX): Define if not defined.
77561         (hash_get_max_bucket_length, hash_table_ok, hash_lookup,
77562         hash_get_first, hash_get_next, hash_get_entries, hash_do_for_each,
77563         hash_print):
77564         Use const * when possible.
77565         (hash_string): Use (unsigned char) *P rather than *(unsigned char *) P.
77566         (check_tuning): Fix bug: if tuning parameters were very close to
77567         0 or 1, rounding errors could have caused subscript violations.
77568         (hash_initialize, allocate_entry, hash_print): Remove unnecessary cast.
77569         (hash_initialize): Add 'fail:' label
77570         to free table and return NULL, and use it to simplify code.
77571         Use calloc rather than clearing the storage ourself.
77572         (hash_initialize, hash_rehash): Check for arithmetic overflow in
77573         buffer size calculations.
77574         * lib/hash-pjw.h (hash_pjw): Use size_t, not unsigned.
77575         Include <stddef.h>, for size_t.
77576         * lib/hash-pjw.c (hash_pjw): Likewise.
77577         Switch to method described by Bruno Haible.
77578         Include <limits.h>, for CHAR_BIT.
77579         (SIZE_BITS): New macro.
77580
77581 2003-10-23  Paul Eggert  <eggert@twinsun.com>
77582
77583         * m4/getline.m4 (AM_FUNC_GETLINE):
77584         Don't include getndelim2.o twice into LIBOBJS; this breaks on some
77585         hosts.  Problem reported by Derek Robert Price in
77586         <http://mail.gnu.org/archive/html/bug-gnulib/2003-10/msg00092.html>.
77587         This patch can be withdrawn after Autoconf 2.58 is required for gnulib.
77588         * m4/getndelim2.m4 (gl_GETNDELIM2): Likewise.
77589
77590 2003-10-21  Paul Eggert  <eggert@twinsun.com>
77591
77592         * lib/getndelim2.c (getndelim2): When size calculation overflows,
77593         ceiling the allocation at NMAX bytes rather than silently
77594         discarding input bytes before NMAX is reached.  This makes
77595         a difference only if NMAX exceeds SIZE_MAX / 2.
77596
77597         * lib/obstack.c: Merge from glibc.
77598         [defined _LIBC]: Include <obstack.h>, not "obstack.h".
77599         Add libc_hidden_def (_obstack_newchunk).
77600         (_obstack_free) [! defined _LIBC]: Remove.
77601         [defined _LIBC]: Make a strong alias from obstack_free, rather than
77602         a clone of the function body.
77603         (fputs) [defined _LIBC && defined USE_IN_LIBIO]: Remove.
77604         [defined _LIBC && !defined USE_IN_LIBIO]: Include <libio/iolibio.h>.
77605
77606         * lib/obstack.h: Indenting cleanup, to make it easier to merge with
77607         glibc.
77608         (obstack_grow, obstack_grow0): Remove unnecessary parentheses around
77609         arg to memcpy.
77610
77611         * lib/obstack.h (obstack_1grow_fast): Properly parenthesize arg.
77612         (obstack_ptr_grow_fast, obstack_int_grow_fast):
77613         Don't use lvalue casts, as GCC plans to remove support for them
77614         in GCC 3.5.  Reported by Joseph S. Myers.  This bug
77615         was also present in the non-GCC version, indicating that this
77616         code had always been buggy and had never been widely used.
77617         (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank):
77618         Use the fast variant of each macro, rather than copying the
77619         definiens of the fast variant; that way, we'll be more likely to
77620         catch future bugs in the fast variants.
77621
77622 2003-10-20  Bruno Haible  <bruno@clisp.org>
77623
77624         * modules/wait-process: New file.
77625         * MODULES.html.sh (func_all_modules): Add wait-process.
77626
77627 2003-10-20  Bruno Haible  <bruno@clisp.org>
77628
77629         * m4/wait-process.m4: New file.
77630
77631 2003-10-20  Bruno Haible  <bruno@clisp.org>
77632
77633         * lib/wait-process.h: New file, from GNU gettext.
77634         * lib/wait-process.c: New file, from GNU gettext.
77635
77636 2003-10-19  Jim Meyering  <jim@meyering.net>
77637
77638         * lib/vasnprintf.c (vasnprintf): Work around losing snprintf on
77639         HPUX 10.20.
77640
77641 2003-10-18  Karl Berry  <karl@gnu.org>
77642
77643         * config/config.guess: update from config.
77644
77645 2003-10-16  Paul Eggert  <eggert@twinsun.com>
77646
77647         * lib/getgroups.c: Include <errno.h>, <stdlib.h>.
77648         (getgroups): First arg is int, not size_t.
77649         Don't let 'free' mangle errno.
77650
77651 2003-10-16  Paul Eggert  <eggert@twinsun.com>
77652
77653         * README: Mention that gnulib assumes that (foo *) NULL + 0 == NULL.
77654
77655 2003-10-16  Karl Berry  <karl@gnu.org>
77656
77657         * config/config.{guess,sub}: update from config.
77658
77659 2003-10-16  Jim Meyering  <jim@meyering.net>
77660
77661         * lib/xmalloc.c: Include <string.h>, for declarations of memset and
77662         memcpy.
77663
77664 2003-10-15  Paul Eggert  <eggert@twinsun.com>
77665
77666         * lib/exclude.c: Do not include <inttypes.h> or <stdint.h>.
77667         (SIZE_MAX): Remove.
77668         (new_exclude, add_exclude_file): Initial size no longer needs to
77669         be a power of 2.
77670         (add_exclude, add_exclude_file): Use xnrealloc instead of rolling
77671         our own address arithmetic overflow checking.
77672
77673         * lib/fnmatch.c (SIZE_MAX): Define if standard headers don't.
77674         (fnmatch): Do not alloca more than 2000 wide characters;
77675         instead, use malloc for large buffers.
77676         Check for address arithmetic overflow, and return -1
77677         with errno set to ENOMEM in that case.
77678         * lib/fnmatch_loop.c (ALLOCA_LIMIT): New macro.
77679         (NEW_PATTERN): Do not alloca more than 8000 bytes;
77680         instead, return -1.  Check for address arithmetic overflow.
77681
77682 2003-10-14  Paul Eggert  <eggert@twinsun.com>
77683
77684         Handle invalid suffixes and overflow independently, so that
77685         callers can treat them independently as needed.  Fix some bugs in
77686         suffix handling, e.g., "100k@" was not diagnosed as an invalid
77687         suffix for a human-readable blocksize.  The major caller-visible
77688         change is the addition of a new
77689         LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW enum value, indicating
77690         that both overflow and suffix chars were found.
77691
77692         * lib/human.c (humblock): Don't check separately for invalid suffix
77693         char; that is xstrtoumax's job (now that its bug is fixed).
77694         * lib/xstrtoimax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [defined
77695         INTMAX_MAX]: New macros.
77696         * lib/xstrtol.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM, TYPE_MINIMUM,
77697         TYPE_MAXIMUM): New macros.
77698         (bkm_scale, bkm_scale_by_power): Return strtol_error, not int.
77699         (bkm_scale, bkm_scale_by_power, __xstrtol): Return maximal values
77700         if overflow occurs, as it's what __strtol does and it's more useful
77701         in practice.
77702         (__xstrtol): If __strtol reports some error other than ERANGE,
77703         reflect it to the caller as LONGINT_INVALID.  If it reports
77704         ERANGE, continue the rest of parsing, and report LONGINT_OVERFLOW
77705         | LONGINT_INVALID_SUFFIX_CHAR if both errors occur.
77706         * lib/xstrtol.h (LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW): New enum
77707         value.
77708         (_STRTOL_ERROR): Handle it.  Abort when given unknown error codes.
77709         * lib/xstrtoul.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM): New macros.
77710         * lib/xstrtoumax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM)
77711         [defined UINTMAX_MAX]: New macros.
77712
77713 2003-10-14  Bruno Haible  <bruno@clisp.org>
77714
77715         * modules/fatal-signal: Add m4/sig_atomic_t.m4 to file list.
77716
77717 2003-10-14  Bruno Haible  <bruno@clisp.org>
77718
77719         * m4/sig_atomic_t: New file, from GNU gettext.
77720         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Require gt_TYPE_SIG_ATOMIC_T.
77721
77722 2003-10-14  Bruno Haible  <bruno@clisp.org>
77723
77724         * lib/fatal-signal.h: Improved comments. Suggested by Paul Eggert.
77725         * lib/fatal-signal.c: Use sig_atomic_t. Suggested by Paul Eggert.
77726         Also use volatile where needed.
77727
77728 2003-10-12  Paul Eggert  <eggert@twinsun.com>
77729
77730         * modules/xalloc: Do not depend on 'exit'.  Depend on 'stdbool'.
77731         Change maintainer from Bruno Haible to 'all'.
77732
77733 2003-10-12  Paul Eggert  <eggert@twinsun.com>
77734
77735         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_C_INLINE.
77736
77737 2003-10-12  Paul Eggert  <eggert@twinsun.com>
77738
77739         * lib/xalloc.h (xnmalloc, xzalloc, xnrealloc, xclone): New decls.
77740         (XMALLOC, XCALLOC, XREALLOC, XFREE, CCLONE, CLONE): Deprecate,
77741         and define in terms of the other primitives.
77742         * lib/xmalloc.c: Include stdbool.h; do not include exit.h.
77743         (SIZE_MAX): Define if not already defined.
77744         (array_size_overflow): New function.
77745         (xalloc_die): Abort instead of exiting if 'error' returns.
77746         (xnmalloc, xnrealloc, xzalloc, xclone): New functions.
77747         (xmalloc, xrealloc): Use them.
77748         (xcalloc): Check for address arithmetic overflow.
77749         * lib/xstrdup.c (xstrdup): Use xclone, since memcpy should be
77750         a bit faster than strcpy.
77751
77752 2003-10-10  Simon Josefsson  <jas@extundo.com>
77753
77754         * modules/argp (Depends-on): Add restrict and strcase.
77755
77756 2003-10-10  Simon Josefsson  <jas@extundo.com>
77757
77758         * m4/argp.m4: Add AC_C_INLINE.
77759
77760 2003-10-08  Paul Eggert  <eggert@twinsun.com>
77761
77762         Merge getpass from libc, plus a few fixes.
77763
77764         * lib/getpass.c (HAVE_STDIO_EXT) [_LIBC]: Define to 1.
77765         Include <stdbool.h>.
77766         Include <stdio_ext.h> if HAVE_STDIO_H, otherwise define
77767         __fsetlocking to empty.
77768         [_LIBC]: Do not include "getline.h" or "unlocked-io.h", but
77769         do include <bits/libc-lock.h>.
77770         Do not include <fcntl.h>; not needed.
77771         [_LIBC]: Include <wchar.h>.
77772         (NOTCANCEL_MODE): New macro.
77773         (flockfile, funlockfile) [_LIBC]: New macros.
77774         (__libc_cleanup_push, __libc_cleanup_pop, __getline, __tcgetattr)
77775         [!_LIBC]: New macros.
77776         (call_fclose): New function.
77777         (getpass): Use it.  Save tty stream separately; this simplifies the
77778         code and makes it more reliable if stdin happens to equal stdout.
77779         Invoke __fsetlocking on tty.
77780         Handle thread cancellation if needed.
77781         Namespace cleanup (use __tcgetattr, __getline).
77782         Use bool for Booleans.
77783         [USE_IN_LIBIO]: Handle wide streams.
77784         [!_LIBC]: Unconditionally do the fseek, since we don't know what
77785         stream might go where.
77786
77787         * lib/unlocked-io.h: Include <stdio.h>, so that the caller
77788         doesn't have to include <stdio.h> before us.
77789         (clearerr_unlocked, feof_unlocked, ferror_unlocked,
77790         fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
77791         fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
77792         putc_unlocked, putchar_unlocked): Define to the unlocked counterpart
77793         if not declared, so that we can use getpass.c code from libc without
77794         rewriting it.
77795         (flockfile, ftrylockfile, funlockfile): New macros.
77796
77797 2003-10-08  Paul Eggert  <eggert@twinsun.com>
77798
77799         * modules/getpass: Depend on stdbool.
77800
77801 2003-10-08  Paul Eggert  <eggert@twinsun.com>
77802
77803         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h.
77804
77805 2003-10-07  Karl Berry  <karl@gnu.org>
77806
77807         * config/config.{guess,sub}: update from config.
77808
77809 2003-10-06  Jim Meyering  <jim@meyering.net>
77810             Bruno Haible  <bruno@clisp.org>
77811
77812         This lets translators provide better translations for the
77813         "Written by ..." part of --version output.
77814         * lib/version-etc.h: Include stdarg.h.
77815         (version_etc_copyright): Declare as readonly.
77816         (version_etc): Make this function variadic with a NULL-terminated list
77817         of author name strings.
77818         (version_etc_va): New declaration.
77819         * lib/version-etc.c: Include stdarg.h, stdlib.h.
77820         (version_etc_copyright): Declare as readonly.
77821         (version_etc_va): New function. Provide a different translatable string
77822         for each possible number of authors < 10. Abbreviate when there are 10
77823         authors or more.
77824         (version_etc): Make this function variadic. Call version_etc_va.
77825         Suggestion from Gary V. Vaughan.
77826
77827         * lib/long-options.h (parse_long_options): Change prototype: the
77828         authors string is moved to the end and becomes variadic.
77829         * lib/long-options.c: Include stdarg.h.
77830         (parse_long_options): Make this function variadic, too.
77831         Call version_etc_va, not version_etc.
77832
77833 2003-10-06  Bruno Haible  <bruno@clisp.org>
77834
77835         * modules/version-etc-2: Remove file.
77836         * MODULES.html.sh (func_all_modules): Remove version-etc-2.
77837
77838 2003-10-06  Bruno Haible  <bruno@clisp.org>
77839
77840         * modules/fatal-signal: New file.
77841         * MODULES.html.sh (func_all_modules): Add fatal-signal.
77842
77843 2003-10-06  Bruno Haible  <bruno@clisp.org>
77844
77845         * m4/fatal-signal.m4: New file.
77846         * m4/signalblocking.m4: New file, from GNU gettext.
77847
77848 2003-10-06  Bruno Haible  <bruno@clisp.org>
77849
77850         * lib/version-etc-2.h: Remove file.
77851         * lib/version-etc-2.c: Remove file.
77852
77853 2003-10-06  Bruno Haible  <bruno@clisp.org>
77854
77855         * lib/fatal-signal.h: New file, from GNU gettext.
77856         * lib/fatal-signal.c: New file, from GNU gettext.
77857
77858 2003-10-05  Paul Eggert  <eggert@twinsun.com>
77859
77860         * README: Rework advice for preventing empty .o files.
77861         Don't recommend ELIDE constructs.  Recommend <stddef.h>,
77862         not <sys/types.h>.
77863
77864 2003-10-04  Karl Berry  <karl@gnu.org>
77865
77866         * lib/argp*: update from libc.
77867
77868 2003-10-04  Karl Berry  <karl@gnu.org>
77869
77870         * config/config.{guess,sub}: update from config.
77871
77872 2003-10-02  Bruno Haible  <bruno@clisp.org>
77873
77874         * modules/lchown (Include): Add lchown.h.
77875         * modules/time_r (Include): Use "..." syntax.
77876         * modules/xgetdomainname (Include): Add xgetdomainname.h.
77877
77878 2003-10-01  Simon Josefsson  <jas@extundo.com>
77879
77880         * MODULES.html.sh (func_all_modules): Move gethostname from section
77881         'based on' to section 'lacking' POSIX:2001.
77882
77883 2003-10-01  Larry Jones  <lawrence.jones@eds.com>
77884
77885         * lib/getpass.c (getpass): Use a no-op fseek when switching from input
77886         to output mode on the same stream.
77887
77888 2003-09-29  Paul Eggert  <eggert@twinsun.com>
77889
77890         * lib/strftime.c (tm_diff) [! HAVE_TM_GMTOFF]:
77891         Fix arg typo in previous patch.
77892
77893 2003-09-28  Jim Meyering  <jim@meyering.net>
77894
77895         * lib/error.c: Correct cpp indentation.
77896
77897 2003-09-27  Paul Eggert  <eggert@twinsun.com>
77898
77899         * modules/free: New file.
77900
77901 2003-09-27  Paul Eggert  <eggert@twinsun.com>
77902
77903         * m4/free.m4: New file.
77904
77905 2003-09-27  Paul Eggert  <eggert@twinsun.com>
77906
77907         * lib/minmax.h (MIN, MAX)
77908         [__STDC__ && defined __GNUC__ && __GNUC__ >= 2]:
77909         Omit the special code that used __typeof__, since we worry that
77910         it could be more trouble than it's worth.  See:
77911         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00090.html
77912         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00095.html
77913
77914         * lib/free.c: New file.
77915
77916 2003-09-27  Oskar Liljeblad  <oskar@osk.mine.nu>
77917
77918         Trivial fixes to Makefile.am parts of module listings.
77919         * modules/strstr: Append strstr.h to lib_SOURCES.
77920         * modules/strcase: Likewise, for strcase.h.
77921
77922 2003-09-27  Karl Berry  <karl@gnu.org>
77923
77924         * config/mkinstalldirs: update from automake.
77925
77926 2003-09-26  Paul Eggert  <eggert@twinsun.com>
77927
77928         * lib/error.c (SIZE_MAX) [!defined SIZE_MAX]: Define.
77929         (error_tail): Do not loop, reallocating temporary buffer, since
77930         the output cannot contain more wide characters than the input
77931         contains bytes, the size must be big enough already.  This avoids
77932         one potential size overflow calculation.  Check for size overflow
77933         when calculating temporary buffer size.  Free temporary buffer
77934         when done, if it was allocated with malloc; this plugs a memory
77935         leak.  Remove casts from void * to pointers, that are no longer
77936         needed now that we're assuming C89 or better.
77937
77938         Merge error changes from glibc.
77939
77940         * lib/error.c, error.h: Update copyright notice header to match glibc.
77941         * lib/error.c [defined _LIBC]: Include <errno.h>, <bits/libc-lock.h>.
77942         (error, error_at_line) [defined _LIBC && defined __libc_ptf_call]:
77943         Disable cancellation while printing error.
77944         * lib/error.h: Prepend __ to parameter names.
77945
77946 2003-09-26  Jim Meyering  <jim@meyering.net>
77947
77948         * lib/error.c (error_tail): Move some declarations
77949         into inner scope where the local variables are used.
77950
77951 2003-09-26  Bruno Haible  <bruno@clisp.org>
77952
77953         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Add comments about the AIX
77954         stpncpy().
77955         Don't define stpncpy through config.h; it's now done through stpncpy.h.
77956
77957 2003-09-26  Bruno Haible  <bruno@clisp.org>
77958
77959         * lib/stpncpy.h (gnu_stpncpy): New declaration.
77960         (stpncpy): Define as alias for gnu_stpncpy.
77961         * lib/stpncpy.c [!_LIBC]: Define gnu_stpncpy, not stpncpy.
77962
77963 2003-09-25  Simon Josefsson  <jas@extundo.com>
77964
77965         * lib/xgetdomainname.h: New file.
77966         * lib/xgetdomainname.c: New file.
77967
77968 2003-09-25  Simon Josefsson  <jas@extundo.com>
77969             Bruno Haible  <bruno@clisp.org>
77970
77971         * modules/getdomainname: New file.
77972         * modules/xgetdomainname: New file.
77973         * MODULES.html.sh (func_all_modules): Add getdomainname,
77974         xgetdomainname.
77975
77976 2003-09-25  Simon Josefsson  <jas@extundo.com>
77977             Bruno Haible  <bruno@clisp.org>
77978
77979         * m4/getdomainname.m4: New file.
77980
77981 2003-09-25  Simon Josefsson  <jas@extundo.com>
77982             Bruno Haible  <bruno@clisp.org>
77983
77984         * lib/getdomainname.h: New file.
77985         * lib/getdomainname.c: New file.
77986
77987 2003-09-25  Karl Berry  <karl@gnu.org>
77988
77989         * lib/argp-fmtstream.c, argp-help.c: update from libc.
77990
77991 2003-09-25  Karl Berry  <karl@gnu.org>
77992
77993         * config/install-sh: update from automake.
77994
77995 2003-09-25  Bruno Haible  <bruno@clisp.org>
77996
77997         * modules/version-etc-2: New file, from modules/version-etc with
77998         modifications.
77999         * MODULES.html.sh (func_all_modules): Add version-etc-2.
78000
78001 2003-09-25  Bruno Haible  <bruno@clisp.org>
78002
78003         * lib/version-etc-2.h: New file, from version-etc.h with modifications.
78004         * lib/version-etc-2.c: New file, from version-etc.c with modifications.
78005
78006 2003-09-24  Simon Josefsson  <jas@extundo.com>
78007
78008         * modules/xgethostname: Add xgethostname.h.
78009
78010 2003-09-24  Paul Eggert  <eggert@twinsun.com>
78011
78012         * lib/linebuffer.c (freebuffer): Don't free the argument, just
78013         the buffer associated with the argument.  Bug reported by
78014         Simon Josefsson.
78015
78016 2003-09-24  Paul Eggert  <eggert@twinsun.com>
78017
78018         * README: Document assumptions that 'int' is at least 32 bits
78019         wide, that integer arithmetic is 2's complement without overflow,
78020         that there are no holes in integer values, that adding sizes of
78021         two nonoverlapping objects can't overflow, and that all-bits-zero
78022         yields scalar zero.  Fix spelling and capitalization typos.
78023
78024 2003-09-19  Karl Berry  <karl@gnu.org>
78025
78026         * lib/argp.h: update from libc.
78027
78028 2003-09-17  Paul Eggert  <eggert@twinsun.com>
78029
78030         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first,
78031         to avoid spurious warnings like "AC_RUN_IFELSE was called before
78032         gl_USE_SYSTEM_EXTENSIONS" from autoreconf.
78033
78034 2003-09-17  Paul Eggert  <eggert@twinsun.com>
78035
78036         * gnulib-tool: Use "test -h", not "test -L", for portability
78037         to Solaris 8 /bin/sh.  (This bug is fixed in Solaris 9.)
78038         (tags_regexp): Remove, since \| doesn't conform to POSIX.
78039         (sed_extract_prog): Issue s commands one-by-one, rather than
78040         using \| in one s command.
78041
78042 2003-09-16  Paul Eggert  <eggert@twinsun.com>
78043
78044         * lib/linebuffer.c (readlinebuffer): Return NULL immediately upon
78045         input error, instead of returning NULL the next time we are called
78046         (and therefore losing track of errno).
78047
78048 2003-09-16  Bruno Haible  <bruno@clisp.org>
78049
78050         * gnulib-tool (func_create_testdir): Warn about duplicated
78051         dependencies.
78052
78053 2003-09-15  Paul Eggert  <eggert@twinsun.com>
78054
78055         * modules/argmatch, modules/fatal, modules/obstack,
78056         modules/xalloc, modules/xgethostname: Sort dependencies by
78057         importance, not alphabetically.
78058
78059 2003-09-15  Paul Eggert  <eggert@twinsun.com>
78060
78061         * lib/getndelim2.c (getndelim2): Don't trash errno when a read
78062         fails, so that the caller gets the proper errno.
78063
78064         * lib/readutmp.c (read_utmp): Likewise.
78065         Check for fstat error.  Close stream and free storage
78066         when failing.
78067
78068 2003-09-14  Karl Berry  <karl@gnu.org>
78069
78070         * config/srclist.txt (strdup.c): disable for c89 changes.
78071
78072 2003-09-14  Jim Meyering  <jim@meyering.net>
78073
78074         * lib/getloadavg.c: Correct cpp indentation.
78075         * lib/strdup.c: Likewise.
78076         * lib/vasnprintf.c: Likewise.
78077
78078 2003-09-14  Bruno Haible  <bruno@clisp.org>
78079
78080         * modules/fwriteerror: New file.
78081         * MODULES.html.sh (func_all_modules): Add fwriteerror.
78082
78083 2003-09-14  Bruno Haible  <bruno@clisp.org>
78084
78085         * lib/fwriteerror.h: New file.
78086         * lib/fwriteerror.c: New file.
78087
78088 2003-09-12  Paul Eggert  <eggert@twinsun.com>
78089
78090         * modules/argmatch, modules/exitfail, modules/fatal, modules/obstack,
78091         modules/xgethostname, modules/xalloc: Depend on exit.
78092
78093 2003-09-12  Paul Eggert  <eggert@twinsun.com>
78094
78095         * m4/error.m4: Require AC_FUNC_STRERROR_R rather than invoking it.
78096
78097         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX
78098         and AC_MINIX, too, so that their extensions are available.
78099
78100         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Remove.  All uses removed.
78101         This macro has been superseded by gl_BACKUPFILE.
78102
78103         More patches to assume C89 or better.
78104
78105         * m4/error.m4 (gl_ERROR): Don't check for vprintf.
78106
78107         * m4/check-decl.m4 (jm_CHECK_DECLS): Include <string.h>, <stdlib.h>
78108         unconditionally.
78109         * m4/closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h.
78110         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER):
78111         Include <string.h>, <stdlib.h> unconditionally.
78112         * m4/lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free.
78113         * m4/readdir.m4 (GL_FUNC_READDIR): Don't check for string.h.
78114         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C
78115         headers or for string.h.
78116         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlib.h
78117         or strtoul.
78118
78119         * m4/mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C
78120         headers.
78121         * m4/strdup.m4 (gl_PREREQ_STRDUP): Likewise.
78122         * m4/userspec.m4 (gl_USERSPEC): Likewise.
78123         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Likewise.
78124         * m4/xstrtod.m4 (gl_XSTRTOD): Likewise.
78125         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
78126         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h,
78127         memcpy, memset.
78128         (jm_FUNC_GNU_STRFTIME): Don't require standard C headers.
78129         * m4/strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h.
78130         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h,
78131         strtol.
78132         * m4/strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h.
78133         * m4/userspec.m4 (gl_USERSPEC): Do not check for string.h.
78134         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol,
78135         strtoul.
78136
78137 2003-09-12  Paul Eggert  <eggert@twinsun.com>
78138
78139         * lib/argmatch.c, fatal.c, xgethostname.c, xmalloc.c: Include exit.h.
78140         * lib/obstack.c [!defined _LIBC]: Likewise.
78141         * lib/argmatch.c (EXIT_FAILURE): Remove; now done by exit.h
78142         * lib/exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise.
78143         * lib/exitfail.c: Don't include stdlib.h; no longer needed.
78144
78145         More changes to assume C89 or better.
78146
78147         * lib/error.c (error_tail): Assume vprintf.
78148
78149         * lib/argmatch.c (getenv): Remove decl.
78150         * lib/progreloc.c (get_full_program_name): Define via prototype.
78151         * lib/setenv.c (clearenv): Likewise.
78152         * lib/stpncpy.c: Do not include <string.h> or <sys/types.h>; not
78153         needed.
78154         * lib/strdup.c: Include <stdlib.h>, <string.h> unconditionally.
78155         (malloc, memcpy): Remove decls.
78156         * lib/strftime.c (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove.
78157         (HAVE_MEMCPY) [defined emacs && !defined HAVE_BCOPY]: Remove.
78158         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
78159         (memcpy): Remove macro.
78160         (MEMCPY) [!defined COMPILE_WIDE]: Define to memcpy unconditionally.
78161         (__P): Remove.  All uses removed.
78162         (PTR): Remove.  All uses changed to void *.
78163         (CHAR_BIT, NULL): Remove.
78164         (spaces, zeros, memset_space, memset_zero)
78165         [!defined memset && !defined HAVE_MEMSET && !defined _LIBC]:
78166         Remove.
78167         (LOCALE_PARAM, LOCALE_PARAM_DECL): Remove.
78168         (memcpy_lowcase, memcpy_uppcase, tm_diff, iso_week_days):
78169         Define with prototype.
78170         Remove now-unnecessary prototype decl.
78171         (extra_args_spec): Assume ANSI C.  All uses changed.
78172         (extra_args_spec_iso): Remove.
78173         (my_strftime, emacs_strftimeu): Define via prototype.
78174         * lib/strtod.c: Include <float.h>, <stdlib.h>, <string.h>
78175         unconditionally.
78176         (DBL_MAX, DBL_MIN, HUGE_VAL, NULL): Remove decls.
78177         * lib/strtoimax.c: Include <stdlib.h> unconditionally.
78178         (strtoul, strtol): Remove decls.
78179         * lib/strtol.c (STDC_HEADERS, HAVE_LIMITS_H, NULL, ULONG_MAX,
78180         LONG_MAX): Remove.
78181         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
78182         (LOCALE_PARAM_DECL): Remove.  All uses changed to LOCALE_PARAM_PROTO.
78183         (LOCALE_PARAM_PROTO): New macro.
78184         (INTERNAL, INTERNAL1, WEAKNAME): Assume ANSI C, not K&R.
78185         (INTERNAL (strtol), strtol): Define with a prototype.
78186         (PARAMS): Remove.  All uses removed.
78187         * lib/tempname.c: Include <string.h> unconditionally.
78188         * lib/userspec.c: Include <stdlib.h>, <string.h> unconditionally.
78189         * lib/xgethostname.c (main): Define with a prototype.
78190         * lib/xmalloc.c: Include "xalloc.h" first, to check interface.
78191         Include <stdlib.h> unconditionally.
78192         (calloc, malloc, realloc, free): Remove decls.
78193         * lib/xstrtod.c: Include "xstrtod.h" first, to check interface.
78194         Include <stdlib.h> unconditionally.  Sort include file names.
78195         (strtod): Remove.
78196         (xstrtod): Define with a prototype.
78197         * lib/xstrtol.c: Include <stdlib.h>, <string.h> unconditionally.
78198         (strtol, strtoul): Remove decls.
78199
78200 2003-09-11  Paul Eggert  <eggert@twinsun.com>
78201
78202         More patches to assume C89 or better.
78203         * m4/strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check.
78204         * m4/strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h,
78205         string.h, memchr, STDC_HEADERS.
78206
78207 2003-09-11  Paul Eggert  <eggert@twinsun.com>
78208
78209         * lib/strndup.c: Don't include <stdio.h>, <sys/types.h>.
78210         Include <stdlib.h>, <string.h> unconditionally.
78211         Remove now-unnecessary cast to char *.
78212         * lib/strnlen.c: Include <string.h> unconditionally.
78213         * lib/yesno.c (yesno): Define with a prototype.
78214
78215 2003-09-11  Bruno Haible  <bruno@clisp.org>
78216
78217         * config/srclist.txt (setenv.c, unsetenv.c): Disable for the moment.
78218
78219 2003-09-10  Jim Meyering  <jim@meyering.net>
78220
78221         * lib/error.c: Correct indentation of cpp directives.
78222
78223 2003-09-10  Bruno Haible  <bruno@clisp.org>
78224
78225         * m4/strcspn.m4 (gl_PREREQ_STRCSPN): Remove <string.h> check.
78226         * m4/strpbrk.m4 (gl_PREREQ_STRPBRK): Remove <string.h> check.
78227         * m4/strstr.m4 (gl_PREREQ_STRSTR): Remove <string.h> check.
78228         * m4/unicodeio.m4 (gl_UNICODEIO): Remove <string.h> check.
78229         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove
78230         <stdlib.h> and <string.h> checks.
78231         * m4/xreadlink.m4 (gl_XREADLINK): Remove <stdlib.h> check.
78232         * m4/yesno.m4 (gl_YESNO): Remove <stdlib.h> check.
78233
78234 2003-09-10  Bruno Haible  <bruno@clisp.org>
78235
78236         * lib/strcspn.c: Include <string.h> unconditionally.
78237         * lib/strpbrk.c: Include <string.h> unconditionally.
78238         * lib/strstr.c: Include <string.h> unconditionally.
78239         * lib/unicodeio.c: Include <string.h> unconditionally.
78240         * lib/setenv.c: Include <stdlib.h> and <string.h> unconditionally.
78241         * lib/unsetenv.c: Likewise.
78242         * lib/xreadlink.c: Include <stdlib.h> unconditionally.
78243         * lib/yesno.c: Include <stdlib.h> unconditionally.
78244         (rpmatch): Add prototype.
78245
78246 2003-09-09  Paul Eggert  <eggert@twinsun.com>
78247
78248         More patches to assume C89 or better.
78249         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h.
78250         * m4/getopt.m4 (gl_GETOPT): Don't check for string.h.
78251         * m4/getugroups.m4 (gl_GETUGROUPS): Do not check for standard C headers
78252         or for string.h.
78253         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for
78254         stdlib.h.
78255         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard
78256         C headers.
78257         * m4/hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h,
78258         string.h.
78259         * m4/hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free.
78260         * m4/human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv.
78261         * m4/idcache.m4 (gl_IDCACHE): Do not check for standard C headers,
78262         or for string.h.
78263         * m4/long-options.m4 (gl_LONG_OPTIONS): Do not check for stdlib.h.
78264         * m4/makepath.m4 (gl_MAKEPATH): Do not check for string.h or standard
78265         C headers.
78266         * m4/md5.m4 (gl_MD5): Don't check for limits.h, standard C headers,
78267         memcpy.
78268         * m4/sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy.
78269         * m4/memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h.
78270         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h.
78271         * m4/memcoll.m4 (gl_MEMCOLL): Likewise.
78272         * m4/memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h.
78273         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h,
78274         string.h, free.
78275         * m4/mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers.
78276         * m4/modechange.m4 (gl_MODECHANGE): Don't check for standard C headers.
78277         * m4/mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard
78278         C headers, or for string.h.
78279         * m4/obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h.
78280         (gl_PREREQ_OBSTACK): Don't check for stdlib.h.
78281         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C
78282         headers, memory.h, stdlib.h, string.h, strings.h.
78283         * m4/posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h.
78284         * m4/posixver.m4 (gl_POSIXVER): Don't check for getenv.
78285         * m4/putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy,
78286         strchr.
78287         * m4/readtokens.m4 (gl_READTOKENS): Don't check for standard C
78288         headers, memory.h, string.h.
78289         * m4/regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h.
78290         * m4/rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h,
78291         free.
78292         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C
78293         headers.
78294         * m4/same.m4 (gl_SAME): Don't check for stdlib.h, string.h, free.
78295         * m4/save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers.
78296         * m4/savedir.m4 (gl_SAVEDIR): Don't check for standard C headers.
78297         * m4/strchrnul.m4 (gl_PREREQ_STRCHRNUL): Don't check for string.h.
78298         * m4/xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h.
78299
78300 2003-09-09  Paul Eggert  <eggert@twinsun.com>
78301
78302         More K&R removal.
78303
78304         * lib/acosl.c (main): Use a prototype.
78305         * lib/asinl.c, cosl.c, expl.c, frexpl.c, ldexpl.c, sinl.c,
78306         tanl.c: Likewise.
78307
78308         * lib/getloadavg.c (getloadavg, main): Define via prototypes.
78309
78310         * lib/getopt.h (struct option.name): Assume C89, and use 'const'.
78311         (getopt, etopt_long, getopt_long_only, _getopt_internal)
78312         [defined __GNU_LIBRARY__]: Assume C89, so we can always declare
78313         with a prototype.
78314         * lib/getopt.c (const): Remove macro.
78315         Include <string.h> unconditionally.
78316         (my_index): Remove; all uses changed to strchr.
78317         (strlen): Remove decl.
78318         (exchange): Remove forward decl; no longer needed.
78319         (exchange, _getopt_initialize, _getopt_internal, getopt, main):
78320         Define with prototype.
78321         * lib/getopt1.c (const): Remove macro.
78322         (getopt_long, getopt_long_only, main): Define with prototype.
78323
78324         * lib/getugroups.c: Include <string.h> unconditionally.
78325
78326         * lib/getusershell.c: Include <stdlib.h> unconditionally.
78327         (getusershell, setusershell, endusershell, readname, main):
78328         Define with prototypes.
78329
78330         * lib/group-member.c: Include group-member.h first.
78331         Include <stdlib.h> unconditionally.
78332
78333         * lib/hard-locale.c: Include hard-locale.h first.
78334         Include <stdlib.h>, <string.h> unconditionally.
78335
78336         * lib/hash.c (free, malloc): Remove decls.
78337         Include <stdlib.h> unconditionally.
78338
78339         * lib/human.c: Include <stdlib.h>, <string.h> unconditionally.
78340         (getenv): Do not declare.
78341
78342         * lib/idcache.c: Include <string.h> unconditionally.
78343
78344         * lib/long-options.c: Include long-options.h first, to test interface.
78345         Include <stdlib.h> unconditionally.
78346
78347         * lib/makepath.c: Include makepath.h first, to test interface.
78348         Include <stdlib.h> and <string.h> unconditionally.
78349
78350         * lib/linebuffer.c: Include <stdlib.h>.
78351         (free): Remove decl.
78352
78353         * lib/malloc.c: Include <stdlib.h>, for malloc; don't bother with
78354         stddef.h. rpl_malloc returns void *, not char *.
78355         * lib/realloc.c (rpl_realloc): Likewise.  Also, define with a
78356         prototype.
78357
78358         * lib/md5.h: Include <limits.h> unconditionally.
78359         (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case.
78360         (__P): Remove; all uses removed.
78361         * lib/md5.c: Include "md5.h" first.
78362         (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
78363         md5_buffer, md5_process_bytes, md5_process_block):
78364         Define with prototypes.
78365         * lib/sha.h (__P): Remove all uses.  (It wasn't defined??)
78366         * lib/sha.c: Include "sha.h" first.
78367         Include <stdlib.h>, <string.h> unconditionally.
78368
78369         * lib/memchr.c (__ptr_t): Remove; all uses changed to void *.
78370         * lib/memcmp.c (__ptr_t): Likewise.
78371         * lib/memrchr.c (__ptr_t): Likewise.
78372         * lib/memchr.c, memcmp.c, memcoll.c, memrchr.c:
78373         Include <string.h> unconditionally.
78374         * lib/memchr.c, memrchr.c: Include <limits.h> unconditionally.
78375         * lib/memchr.c: Include <stdlib.h> unconditionally.
78376         * lib/memchr.c (LONG_MAX): Remove.
78377         * lib/memrchr.c (LONG_MAX): Likewise.
78378         * lib/memchr.c (__memchr): Define via a prototype.
78379         * lib/memrchr.c (__memrchr): Likewise.
78380         * lib/memcmp.c (__P): Remove, and remove all uses.
78381         (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment):
78382         Remove forward decls; no longer needed.
78383         * lib/memcpy.c, memmove.c, memset.c: Include <stddef.h>.
78384         Use types required by C89 in prototype.
78385
78386         * lib/mkdir.c: Include <stdlib.h>, <string.h> unconditionally.
78387         * lib/savedir.c: Likewise.
78388         * lib/mkdir.c (free): Remove decl.
78389         * lib/rmdir.c (rmdir): Define with a prototype.
78390         * lib/savedir.c: Include savedir.h first, to test interface.
78391
78392         * lib/mktime.c (STDC_HEADERS): Remove.
78393         Include <stdlib.h>, <string.h> unconditionally.
78394
78395         * lib/modechange.c: Include <stdlib.h> unconditionally.
78396         (malloc): Remove decl.
78397
78398         * lib/mountlist.c: Include <stdlib.h>, <string.h> unconditionally.
78399         (free): Remove decl.
78400
78401         * lib/obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]:
78402         Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H.
78403         (This type really should be intptr_t, but that's a C99ism.)
78404         (_obstack_memcpy): Remove: all uses changed to memcpy.
78405         Include <string.h> unconditionally.
78406         (struct obstack): Assume __STDC__ for types of members
78407         chunkfun, freefun, extra_arg.
78408         (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1,
78409         _obstack_memory_used, obstack_alloc_failed_handler, obstack_init,
78410         obstack_begin, obstack_specify_allocation,
78411         obstack_specify_allocation_with_arg, obstack_chunkfun,
78412         obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]:
78413         Remove unprototyped decls and the macros that use them.
78414         * lib/obstack.c (POINTER): Remove.  All uses changed to void *.
78415         (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN,
78416         _obstack_begin, _obstack_begin_1, _obstack_allocated_p)
78417         (defined __STDC__ && __STDC__)]:
78418         Remove nonprototyped code.
78419         Include <stdlib.h> unconditionally.
78420         (_obstack_begin, _obstack_begin_1, _obstack_newchunk,
78421         _obstack_allocated_p, _obstack_free, obstack_free,
78422         _obstack_memory_used, print_and_abort):
78423         Define using prototypes.
78424         (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base,
78425         obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0,
78426         obstack_finish, obstack_grow, obstack_grow0, obstack_make_room,
78427         obstack_next_free, obstack_object_size, obstack_room) [0]:
78428         Remove unused, unprototyped code.
78429
78430         * lib/path-concat.c: Include <stdlib.h>, <string.h> unconditionally.
78431
78432         * lib/physmem.c (physmem_total, physmem_available, main): Define
78433         with prototypes.
78434
78435         * lib/posixtm.c: Include <stdlib.h>, <string.h> unconditionally.
78436         (main): Define with a prototype.
78437
78438         * lib/posixver.c (getenv): Remove decl.
78439
78440         * lib/putenv.c (malloc): Returns void *, not char *.
78441         Include <string.h> unconditionally.
78442         (strchr, memcpy, NULL): Do not define.
78443
78444         * lib/readtokens.c: Include readtokens.h first, to test interface.
78445         Include <stdlib.h>, <string.h> unconditionally.
78446         (init_tokenbuffer): Define with a prototype.
78447
78448         * lib/regex.c (PARAMS): Remove.  All uses removed.
78449         All uses of _RE_ARGS removed, too.
78450         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
78451         unconditionally.
78452         (bzero): Assume memset exists.
78453         (memcmp, memcpy, NULL): Remove.
78454         (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed
78455         char, or assignments to local vars of type signed char.
78456         (init_syntax_once, PREFIX(extract_number_and_incr),
78457         PREFIX(print_partial_compiled_pattern),
78458         PREFIX(print_compiled_pattern), PREFIX(print_double_string),
78459         convert_mbs_to_wcs, print_fastmap, re_set_syntax,
78460         PREFIX(regex_grow_registers), PREFIX(regex_compile),
78461         PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1),
78462         PREFIX(insert_op2), PREFIX(at_begline_loc_p),
78463         PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space,
78464         wcs_compile_range, byte_compile_range, truncate_wchar,
78465         PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers,
78466         re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2,
78467         count_mbs_length, wcs_re_match_2_internal,
78468         byte_re_match_2_internal, PREFIX(group_match_null_string_p),
78469         PREFIX(alt_match_null_string_p),
78470         PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate),
78471         re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror,
78472         regfree, PREFIX(extract_number)): Define with prototype.  Remove
78473         now-unnecessary declaration, if any.
78474         (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec,
78475         regcomp, regexec):
78476         Remove now-unnecessary casts among pointer types.
78477         * lib/regex.h (_RE_ARGS): Remove.  All uses removed.
78478
78479         * lib/rename.c: Include <stdlib.h>, <string.h> unconditionally.
78480         (free): Remove decl.
78481
78482         * lib/rpmatch.c: Include <stdlib.h> unconditionally.
78483
78484         * lib/same.c: Include <stdlib.h>, <string.h> unconditionally.
78485         (free): Remove decl.
78486
78487         * lib/save-cwd.c: Include <stdlib.h> unconditionally.
78488         * lib/xgetcwd.c: Likewise.
78489
78490         * lib/stat.c: Include <stdlib.h>, <string.h> unconditionally.
78491         (free): Remove decl.
78492
78493         * lib/strchrnul.c (strchrnul): Define with a prototype.
78494         Fix bug: c_in was not converted to char before searching.
78495
78496         The following changes are not K&R related:
78497
78498         * lib/group-member.h: Include <sys/types.h>, so that this file is
78499         self-contained.
78500         * lib/makepath.h: Likewise.
78501
78502         * lib/getusershell.c (readname, default_index, line_size, readname):
78503         Use size_t, not int, for sizes.
78504         (readname): If the size overflows, report an error instead of
78505         looping forever.
78506
78507 2003-09-09  Paul Eggert  <eggert@twinsun.com>
78508
78509         * config/srclist.txt: Do not get getopt.h, getopt1.c, or regex.h from
78510         libc.
78511
78512 2003-09-09  Paul Eggert  <eggert@twinsun.com>
78513
78514         * README: New section: portability guidelines.
78515
78516 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
78517
78518         * m4/getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the
78519         C89 spec.
78520
78521 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
78522
78523         * lib/getndelim2.c: Assume stdlib.h per the C89 spec.
78524
78525 2003-09-08  Paul Eggert  <eggert@twinsun.com>
78526
78527         Assume C89 or better; remove K&R cruft.
78528         A few of these changes were first proposed by Derek Robert Price
78529         in <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00105.html>.
78530
78531         * lib/addext.c: Include <string.h> unconditionally.
78532         * lib/backupfile.c: Include <string.h>, <stdlib.h> unconditionally.
78533         Don't declare getenv or malloc.
78534
78535         * lib/alloca.c: Include <string.h>, <stdlib.h> unconditionally.
78536         (POINTER_TYPE, pointer): Remove; all uses changed to void *.
78537         (NULL): Remove.
78538         (find_stack_direction, alloca): Use prototypes.
78539
78540         * lib/atexit.c (atexit): Define using a prototype.
78541
78542         * lib/basename.c, dirname.c, stripslash.c:
78543         Include <string.h> unconditionally.
78544
78545         * lib/bcopy.c: Include <stddef.h>.
78546         (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'.
78547
78548         * lib/canon-host.c: Include <stdlib.h>, <string.h> unconditionally.
78549
78550         * lib/error.h (error, error_at_line, error_print_progname)
78551         [! (defined (__STDC__) && __STDC__)]: Remove decls.
78552         * lib/error.c: Include error.h first, to check interface.
78553         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
78554         (VA_START): Remove; all uses changeed to va_start.
78555         (exit, strerror): Remove decls.
78556         (error_print_progname): Prototype uncondionally.
78557         Don't include <errno.h>; no longer needed.
78558         (private_strerror): Remove.
78559         (error_tail): Always define.
78560         (error, error_at_line): Assume C89 or better; always use prototypes.
78561         * lib/fatal.c: Include "fatal.h" first, to test interface.
78562         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
78563         (VA_START): Remove; all uses changed to va_start.
78564         [! (HAVE_VPRINTF || HAVE_DOPRNT || _LIBC)]: Remove support for
78565         this case.
78566         (exit): Remove decl.
78567         (fatal): Prototype unconditionally.  Assume va_start works.
78568         Abort at end, to pacify gcc.
78569
78570         * lib/euidaccess.c (main): Define with a prototype.
78571
78572         * lib/exclude.c: Include <stdlib.h>, <string.h> unconditionally.
78573
78574         * lib/exitfail.c: Include <stdlib.h> unconditionally.
78575
78576         * lib/fnmatch_.h (__P): Remove.  All uses changed to assume
78577         prototypes.
78578         * lib/fnmatch.c: Include fnmatch.h first, to test interface.
78579         Include <string.h>, <stddef.h>, <stdlib.h> unconditionally.
78580         (getenv): Remove decl.
78581         (fnmatch): Define using a prototype.
78582         * lib/fnmatch_loop.c (FCT): Remove forward decl; no longer needed.
78583         (FCT): Define using a prototype.
78584
78585         * lib/getdate.y: Include <stdlib.h>, <string.h> unconditionally.
78586
78587         * lib/gethostname.c: Include <stddef.h>.
78588         (gethostname): Define with prototype.  Length is size_t, not int.
78589
78590 2003-09-08  Paul Eggert  <eggert@twinsun.com>
78591
78592         Assume C89 or better; remove K&R cruft.
78593         * m4/alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h.
78594         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h,
78595         string.h, getenv, malloc.
78596         * m4/dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard
78597         headers.
78598         * m4/canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h.
78599         * m4/error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and
78600         do not check for strerror.
78601         * m4/exclude.m4: Do not check for stdlib.h, string.h, strings.h.
78602         * m4/exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h.
78603         * m4/fatal.m4 (gl_FATAL): Do not require STDC headers, and
78604         do not check for doprnt or vprintf.
78605         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove.  All uses removed.
78606         * m4/getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h.
78607
78608 2003-09-08  Paul Eggert  <eggert@twinsun.com>
78609
78610         * lib/getversion.c: Remove; was migrated to backupfile.c in 1997.
78611         getversion.c should have been removed then, but was accidentally
78612         preserved.
78613
78614         * lib/utime.c [!HAVE_UTIMES_NULL]: Include <sys/stat.h>, <fcntl.h>.
78615         (utime_null): Fix typo: 'st' was sometimes called 'sb'.
78616
78617 2003-09-08  Karl Berry  <karl@gnu.org>
78618
78619         * config/config.sub, config.guess, srclistvars.sh: update from savannah
78620                 config, forget about prep.
78621
78622         * config/depcomp, missing: update from automake.
78623
78624 2003-09-07  Paul Eggert  <eggert@twinsun.com>
78625
78626         * modules/time_r: Depend on 'restrict'.  Fix from Simon Josefsson in
78627         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
78628
78629 2003-09-07  Paul Eggert  <eggert@twinsun.com>
78630
78631         * lib/time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to
78632         copy_tm_result.  Bug reported by Simon Josefsson in
78633         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
78634
78635 2003-09-06  Paul Eggert  <eggert@twinsun.com>
78636
78637         * m4/time_r.m4: New file.
78638         * m4/mktime.m4 (gl_PREREQ_MKTIME): Remove check for limits.h.
78639         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume that timegm is buggy if mktime
78640         is. Check for timegm declaration.
78641         (gl_PREREQ_TIMEGM): Require gl_FUNC_MKTIME.
78642         Do not check for gmtime_r.
78643         Replace mktime if __mktime_internal does not exist and if mktime
78644         hasn't been replaced already.
78645
78646 2003-09-06  Paul Eggert  <eggert@twinsun.com>
78647
78648         * lib/time_r.c, lib/time_r.h: New files.
78649
78650         * lib/mktime.c (my_mktime_localtime_r): Remove; all uses changed to
78651         __localtime_r.
78652         (__localtime_r) [!defined _LIBC]: New macro.  Include <time_r.h>.
78653         (__mktime_internal) [!defined _LIBC]: Now extern, not static.
78654
78655         * lib/strftime.c (my_strftime_gmtime_r): Remove; all uses changed to
78656         __gmtime_r.
78657         (my_strftime_localtime_r): Remove; all uses changed to __localtime_r.
78658         (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
78659         Include <time_r.h>.
78660
78661         * lib/timegm.c: Switch to glibc implementation, with the following
78662         changes:
78663         [defined HAVE_CONFIG_H]: Include <config.h>.
78664         [!defined _LIBC]: Include "timegm.h" rather than <time.h>.
78665         (__mktime_internal) [!defined _LIBC]: New decl.
78666         (__gmtime_r) [!defined _LIBC]: New macro and function.
78667         (timegm): Use a prototype, since gnulib assumes C89.
78668         Do not bother declaring tmp to be const, as it's not really usefu.
78669         * lib/timegm.h: Hoist "#include <time.h>" out of #ifdef.
78670         (timegm): Declare only if HAVE_DECL_TIMEGM.
78671
78672 2003-09-06  Paul Eggert  <eggert@twinsun.com>
78673
78674         * MODULES.html.sh (func_all_modules): Add time_r.
78675         * modules/time_r: New file.
78676         * modules/mktime, modules/strftime, modules/timegm: Depend on time_r.
78677         * modules/timegm: Depend on mktime.  Change maintainer to "all, glibc".
78678
78679 2003-09-03  Paul Eggert  <eggert@twinsun.com>
78680
78681         * lib/human.c (human_readable): Fix bug that rounded 10501 to 10k.
78682         Bug reported by Lute Kamstra in
78683         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00003.html>.
78684
78685         * lib/getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow",
78686         "yesterday", "today", and "now" rather than tMINUTE_UNIT.  Of
78687         course with correspondingly smaller numbers for tomorrow and
78688         yesterday.  From Tadayoshi Funaba.  Originally installed into
78689         sh-utils on 1999-08-07, but the patch got lost (I guess during the
78690         coreutils merge?).
78691
78692 2003-08-31  Simon Josefsson  <jas@extundo.com>
78693
78694         * modules/timegm: New file.
78695         * MODULES.html.sh (func_all_modules): Add timegm.
78696
78697 2003-08-31  Simon Josefsson  <jas@extundo.com>
78698
78699         * m4/timegm.m4: New file.
78700
78701 2003-08-31  Simon Josefsson  <jas@extundo.com>
78702
78703         * lib/timegm.h: New file.
78704         * lib/timegm.c: New file.  Based on
78705         wget-1.8.2/src/http.c:mktime_from_utc.
78706
78707 2003-08-31  Karl Berry  <karl@gnu.org>
78708
78709         * lib/argp.h: update from libc.
78710
78711 2003-08-28  Bruno Haible  <bruno@clisp.org>
78712
78713         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here.
78714         This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch'
78715         followed by '#define fnmatch fnmatch_posix' gives an error.
78716
78717 2003-08-28  Bruno Haible  <bruno@clisp.org>
78718
78719         * lib/binary-io.h: Undefine O_BINARY before defining it. This avoids a
78720         warning on QNX, which defines O_BINARY to 000000.
78721
78722 2003-08-27  Jim Meyering  <jim@meyering.net>
78723
78724         * m4/mkstemp.m4: Require that the system mkstemp be able to create
78725         70 temporary files, not just 30.  Tru64 V4.0F's mkstemp function
78726         would fail after 32.  Reported by Danny Levinson.  Details here:
78727         http://mail.gnu.org/archive/html/bug-coreutils/2003-08/msg00124.html
78728
78729 2003-08-24  Bruno Haible  <bruno@clisp.org>
78730
78731         * lib/binary-io.h: Include <stdio.h>, to avoid a compilation error when
78732         MSVC7 <stdio.h> is included later.
78733
78734 2003-08-22  Simon Josefsson  <jas@extundo.com>
78735
78736         * modules/strndup (Makefile.am): Add strndup.h to lib_SOURCES.
78737
78738 2003-08-20  Karl Berry  <karl@gnu.org>
78739
78740         * m4/lib-ld.m4: serial 1003 from gettext, no changes besides serial.
78741
78742 2003-08-20  Bruno Haible  <bruno@clisp.org>
78743
78744         * modules/progname: New file.
78745         * MODULES.html.sh (func_all_modules): Add progname.
78746
78747 2003-08-20  Bruno Haible  <bruno@clisp.org>
78748
78749         * lib/progname.h: New file, from GNU gettext.
78750         * lib/progname.c: New file, from GNU gettext.
78751         * lib/progreloc.c: New file, from GNU gettext.
78752
78753 2003-08-19  Jim Meyering  <jim@meyering.net>
78754
78755         * m4/lib-ld.m4: Revert yesterday's change, per Bruno's request here:
78756         http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00155.html
78757
78758 2003-08-19  Bruno Haible  <bruno@clisp.org>
78759
78760         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Don't check for <string.h> any
78761         more.
78762
78763 2003-08-19  Bruno Haible  <bruno@clisp.org>
78764
78765         * lib/xstrdup.c: Assume <string.h> exists.
78766
78767 2003-08-18  Paul Eggert  <eggert@twinsun.com>
78768
78769         * modules/stdbool: Add BUILT_SOURCES.  Prefer $@ to target name
78770         in makefile rules.
78771
78772 2003-08-18  Jim Meyering  <jim@meyering.net>
78773
78774         * m4/getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB).
78775         * m4/lib-ld.m4: Likewise.
78776
78777 2003-08-18  Jim Meyering  <jim@meyering.net>
78778
78779         * lib/setenv.h: Indent nested cpp directive.
78780         * lib/vasnprintf.c: Remove trailing blanks.
78781
78782 2003-08-17  Simon Josefsson  <jas@extundo.com>
78783
78784         * modules/xstrndup: New file.
78785         * MODULES.html.sh (func_all_modules): Add xstrndup.
78786
78787 2003-08-17  Simon Josefsson  <jas@extundo.com>
78788
78789         * modules/argp: Fix autoconf macro name. Add more dependencies.
78790
78791 2003-08-17  Simon Josefsson  <jas@extundo.com>
78792
78793         * m4/xstrndup.m4: New file.
78794
78795 2003-08-17  Simon Josefsson  <jas@extundo.com>
78796
78797         * m4/argp.m4: New file.
78798
78799 2003-08-17  Simon Josefsson  <jas@extundo.com>
78800             Bruno Haible  <bruno@clisp.org>
78801
78802         * lib/xstrndup.h: New file.
78803         * lib/xstrndup.c: New file.
78804
78805 2003-08-17  Bruno Haible  <bruno@clisp.org>
78806
78807         * modules/strndup (Files, Include): Add lib/strndup.h.
78808
78809 2003-08-17  Bruno Haible  <bruno@clisp.org>
78810
78811         * modules/euidaccess (Files): Add lib/euidaccess.h.
78812
78813 2003-08-17  Bruno Haible  <bruno@clisp.org>
78814
78815         * lib/strndup.h: New file.
78816
78817 2003-08-17  Bruno Haible  <bruno@clisp.org>
78818
78819         * gnulib-tool (func_create_testdir): Handle gl_USE_SYSTEM_EXTENSIONS
78820         like AC_GNU_SOURCE.
78821         * modules/extensions (configure.ac): Comment out the invocation of
78822         gl_USE_SYSTEM_EXTENSIONS.
78823
78824 2003-08-16  Paul Eggert  <eggert@twinsun.com>
78825
78826         Merges from coreutils, etc.
78827         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Insert ':' to prevent a syntax
78828         error in gl_FUNC_MATCH.  This fixes a bug I introduced on 2003-05-28.
78829         * m4/readlink.m4 (gl_PREREQ_READLINK): Renamed from gl_PREREQ_READLINE,
78830         fixing a typo.
78831         * m4/host-os.m4 (UTILS_HOST_OS): Add GNU/NetBSD, GNU/FreeBSD.
78832         * m4/hash.m4 (gl_HASH): Use AM_STDBOOL_H, not AC_HEADER_STDBOOL.
78833
78834 2003-08-16  Paul Eggert  <eggert@twinsun.com>
78835
78836         Document merge from coreutils.
78837         * modules/alloca: Append $(ALLOCA_H) to BUILT_SOURCES.
78838         * modules/fnmatch: Append $(FNMATCH_H) to BUILT_SOURCES.
78839         * modules/utime: Add m4/utimes-null.m4.
78840
78841 2003-08-16  Paul Eggert  <eggert@twinsun.com>
78842
78843         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white
78844         space, undoing this 2003-08-12 change:
78845         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
78846
78847 2003-08-16  Paul Eggert  <eggert@twinsun.com>
78848
78849         * config/srclist.txt: Get regex.h, strdup.c, strtoll.c,
78850         strtoul.c from libc, undoing this 2003-08-12 change:
78851         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
78852
78853 2003-08-16  Jim Meyering  <jim@meyering.net>
78854
78855         Merges from coreutils.
78856         * m4/readdir.m4 (GL_FUNC_READDIR): Change name to have GL_ (not jm_)
78857         prefix.  Adjust cache variables similarly.  Create 500 rather than
78858         just 300 files, to exercise bug on Darwin6.5, too.
78859         * m4/perl.m4 (jm_PERL): Use $am_missing_run, not undefined
78860         $missing_dir.
78861         * m4/jm-winsz1.m4: Require AC_SYS_POSIX_TERMIOS, not
78862         AM_SYS_POSIX_TERMIOS.
78863         Reported by mkc@mathdogs.com.
78864         Also change use of $am_cv_sys_posix_termios
78865         to $ac_cv_sys_posix_termios.  Reported by Andreas Schwab.
78866         * m4/getgroups.m4 (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS
78867         and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB.
78868         * m4/fsusage.m4 [__GLIBC__]: GNU libc's statvfs stats each mount point
78869         in /proc/mounts until it finds one with matching device number.  This
78870         is unnecessary when the FILE argument *is* a mount point.  No stat call
78871         is necessary in that case.  So, disable the statvfs-testing code on
78872         systems with GNU libc.  Reported by Andrei Gaponenko via Tim Waugh
78873         as RedHat bug# 84846.
78874         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
78875         to 1MB, so as not to render systems with no stack size limit (e.g.,
78876         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
78877         Include <unistd.h>.  On some systems,
78878         it is required for the definition of _SC_PAGESIZE.
78879
78880 2003-08-16  Jim Meyering  <jim@meyering.net>
78881
78882         Merge from coreutils.
78883         * lib/xstrtoimax.c: #else #if -> #elif.
78884         * lib/xstrtoumax.c: Likewise.
78885
78886 2003-08-16  Jim Meyering  <jim@meyering.net>
78887
78888         * m4/utimes.m4 (gl_FUNC_UTIMES): New file.
78889         * m4/utimes.m4: Removed.
78890         * m4/utimes-null.m4: Renamed from utimes.m4.
78891
78892         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
78893         to 1MB, so as not to render systems with no stack size limit (e.g.,
78894         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
78895         Include <unistd.h>.  On some systems,
78896         it is required for the definition of _SC_PAGESIZE.
78897
78898 2003-08-16  Jim Meyering  <jim@meyering.net>
78899         and Paul Eggert  <eggert@cs.ucla.edu>
78900
78901         Merges from coreutils, etc.
78902
78903         * m4/jm-macros.m4 (AC_LANG_SOURCE(C)): New macro, undefine, then define
78904         using the latest version from cvs.  This avoids problems with #line
78905         directives using a vendor (Sun) compiler.
78906         (jm_MACROS): Bump prerequisite from 2.52g to 2.57.
78907         Don't set GETGROUPS_LIB here; now it's
78908         done via getgroups.m4's wrapper function.
78909         AC_SUBST OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, and MAN here,
78910         rather than just in sh-util/configure.in, so that the
78911         now-shared-by-fileutils-and-textutils lib/Makefile.am are all the
78912         same.
78913         Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new
78914         AC_FUNC_GETLOADAVG where to find getloadavg.c.
78915         Require AC_FUNC_FTW, gt_INTTYPES_PRI, gl_CLOCK_TIME,
78916         UTILS_SYS_OPEN_MAX, GL_FUNC_GETCWD_PATH_MAX, GL_FUNC_READDIR,
78917         gl_FSUSAGE, gl_MOUNTLIST, AC_FUNC_CANONICALIZE_FILE_NAME.
78918         Remove code that is now done by the newly-required macros.
78919         Append $(EXEEXT) to DF_PROG.
78920         AC_LIBOBJ fchdir-stub if fchdir doesn't exist; similarly for fchown.
78921         Do not invoke or require the following here,
78922         since prereq.m4 or some gnulib .m4 now does this for us:
78923         gl_REGEX, UTILS_FUNC_MKDIR_TRAILING_SLASH, jm_BISON, gl_FUNC_MKTIME,
78924         jm_FUNC_LSTAT, jm_FUNC_STAT, jm_FUNC_REALLOC, jm_FUNC_MALLOC,
78925         jm_FUNC_NANOSLEEP, jm_FUNC_READDIR, jm_FUNC_MEMCMP,
78926         jm_FUNC_GLIBC_UNLOCKED_IO, AC_FUNC_FNMATCH_GNU, jm_FUNC_PUTENV,
78927         jm_AC_PREREQ_XSTRTOUMAX, jm_AC_PREREQ_XSTRTOIMAX,
78928         AC_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, AC_FUNC_VPRINTF,
78929         vb_FUNC_RENAME, UTILS_FUNC_MKSTEP, jm_FUNC_UTIME, AM_FUNC_GETLINE,
78930         AC_FUNC_OBSTACK.
78931         Do not replace the following functions, as this is now the job
78932         of some gnulib .m4: strcasecmp, strncasecmp, dup2, gethostname,
78933         getusershell, sig2str, strcspn, stpcpy, strstr, strtol, strtoul
78934         strpbrk, euidaccess, memcmp, rmdir, rpmatch, strndup, strverscmp,
78935         atexit getpass, strdup, getpagesize.
78936         Replace 'raise'.
78937         Do not check for the following functions, as this is now the job
78938         of some gnulib .m4: bcopy, canonicalize_file_name, fchdir, ftime,
78939         getcwd, getmntinfo, resolvepath.  But check for sysctl, setreuid,
78940         setregid.
78941         (jm_CHECK_ALL_HEADERS): Do not check for fenv.h.
78942         Check for sys/sysctl.h.
78943         (jm_CHECK_ALL_TYPES): Do not require AC_STRUCT_TM, AC_STRUCT_TIMEZONE,
78944         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Invoke gt_TYPE_SSIZE_T instead
78945         of checking for ssize_t ourselves.
78946
78947         * m4/prereq.m4 (jm_PREREQ): Don't invoke macros; AC_REQUIRE them.
78948         Require every macro that gnulib/modules/* suggests for us.
78949         (jm_PREREQ_ADDEXT): New macro.
78950         (jm_PREREQ_STAT): Check for 'struct statfs' on Ultrix 4.4.
78951         Require jm_AC_TYPE_LONG_LONG instead of invoking it.
78952
78953         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): New macro.
78954         (gl_PHYSMEM): Use it.
78955         Also check for `table' function.
78956         Check for new headers and functions.
78957         Add check for sys/sysmp.h.
78958         With suggestions from Kaveh Ghazi.
78959         Ignore headers that are present but cannot be compiled.  This
78960         avoids spurious warnings on Solaris 9 sparc with Forte Developer 7
78961         C 5.4.
78962
78963 2003-08-15  Paul Eggert  <eggert@twinsun.com>
78964
78965         Document merge from coreutils.
78966         * modules/userspec: Depend on posixver.
78967         * modules/strftime: Depend on tzset.
78968
78969 2003-08-15  Paul Eggert  <eggert@twinsun.com>
78970
78971         * lib/config.charset, ref-add.sin, ref-del.sin: Use three spaces,
78972         rather than tab, after '#' in shell-script copyright notices.
78973         Suggested by Bruno Haible.
78974
78975 2003-08-15  Paul Eggert  <eggert@twinsun.com>
78976
78977         * config/srclist-update: Use three spaces, rather than tab, after '#'
78978         in shell-script copyright notices.  Suggested by Bruno Haible.
78979         Remove unnecessary parenthesization in regular expression.
78980
78981 2003-08-15  Jim Meyering  <jim@meyering.net>
78982
78983         Merge from coreutils.
78984         * lib/xgethostname.c: Include <stdlib.h>.
78985         (xghostname): Don't exit for anything other than memory-related
78986         failure; just return NULL.
78987         * lib/userspec.c: Include "posixver.h".
78988         (parse_user_spec): Accept `.' as a separator only
78989         in pre-POSIX-200112 mode.
78990         * lib/strtoimax.c: Use #elif rather than #else #if.
78991         * lib/strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]:
78992         Remove function, now that we can rely on a working tzset function.
78993         [!_LIBC]: Ensure that the required autoconf test has been run.
78994         [!defined _NL_CURRENT && HAVE_STRFTIME]:
78995         Use underlying_strftime for %r.
78996         * lib/sha.c: Merge in some clean-up and optimization changes from
78997         glibc.
78998         * lib/sha.c (sha_stream) [BLOCKSIZE]: Move definition to top of file.
78999         Ensure that it is a multiple of 64.
79000         Rearrange loop exit tests so as to avoid performing an
79001         additional fread after encountering an error or EOF.
79002         * lib/realloc.c: Update copyright date.
79003
79004 2003-08-15  Jim Meyering  <jim@meyering.net>
79005         and Paul Eggert  <eggert@twinsun.com>
79006
79007         Merge from coreutils.
79008         * lib/readutmp.h (HAVE_UTMPX_H): Undef if struct utmp has the ut_exit
79009         member but strut utmpx does not.  Needed for AIX 4.3.3.
79010         (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.
79011
79012 2003-08-15  Jim Meyering  <jim@meyering.net>
79013         and Paul Eggert  <eggert@cs.ucla.edu>
79014
79015         Merges from coreutils, etc.
79016         * m4/strftime.m4 (_jm_STRFTIME_PREREQS):
79017         Require gl_FUNC_TZSET_CLOBBER.
79018         * m4/readutmp.m4 (gl_READUTMP): Check for ut_exit.ut_exit,
79019         ut_exit.e_exit, ut_exit.ut_termination, and ut_exit.e_termination
79020         members.
79021
79022 2003-08-14  Paul Eggert  <eggert@twinsun.com>
79023
79024         Help the merge from coreutils.
79025         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): New macro.
79026         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use it.
79027         * m4/tzset.m4: Use it too.
79028
79029 2003-08-14  Paul Eggert  <eggert@twinsun.com>
79030
79031         * modules/tzset: New file.
79032
79033 2003-08-14  Jim Meyering  <jim@meyering.net>
79034
79035         Merges from coreutils.
79036         * modules/fnmatch: Use the `$(FNMATCH_H)' notation for AC_REPLACED
79037         variable names, rather than @FNMATCH_H@.
79038         * modules/alloca: Likewise for $(ALLOCA_H).
79039
79040         * modules/fnmatch (fnmatch.h): Use `$@' in the commands, in place of
79041         the three copies of the literal target, `fnmatch.h'.
79042         * modules/alloca (alloca.h): Likewise.
79043
79044 2003-08-14  Jim Meyering  <jim@meyering.net>
79045
79046         Merge from coreutils.
79047         * m4/tzset.m4: New file.
79048         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Move the
79049         MOUNTED_VMOUNT test to precede the MOUNTED_GETMNTENT1 tests, since
79050         otherwise, AIX 5.1 systems would end up using the latter.
79051         MOUNTED_GETMNTENT1 support is inadequate on such systems: 1) detecting
79052         whether a file system is remote doesn't work  2) the MOUNTED_VMOUNT
79053         code reports the HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1
79054         code reports merely /MOUNT_POINT.  Reported by Mike Jetzer.
79055
79056 2003-08-14  Jim Meyering  <jim@meyering.net>
79057
79058         Merge from coreutils.
79059         * lib/obstack.h: Whitespace changes.
79060         * lib/mountlist.c: Remove anachronistic casts of xmalloc, xrealloc,
79061         and xcalloc return values.
79062         (read_filesystem_list) [MOUNTED_GETFSSTAT]:
79063         Use MNT_NOWAIT, rather than MNT_WAIT.  Otherwise, `df DIR' could
79064         hang on OSF/1 5.1 for DIR on both local and remote file systems.
79065         Reported by (and fix confirmed by) Nelson H. F. Beebe.
79066         (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
79067         error from mntctl.
79068         Use mntctl's return value to drive the entry-processing loop, since
79069         we can't rely on the value of the vmt_length member in the last
79070         entry.  On some systems doing so could result in exhausting
79071         virtual memory.  Based in part on a patch from Mike Jetzer.
79072
79073 2003-08-14  Jim Meyering  <jim@meyering.net>
79074         and Paul Eggert  <eggert@twinsun.com>
79075
79076         Merges from coreutils, plus other fixes.
79077         * lib/physmem.c: Merge in portability changes from gcc/libiberty
79078         to support AIX, IRIX, Tru64, and Windows.  See the ChangeLog there
79079         for credits and details.  Thanks to Kaveh Ghazi for helping
79080         to keep these files in sync.
79081         (ARRAY_SIZE): Define it.
79082         (physmem_total, physmem_available): Add comments. From Kaveh Ghazi.
79083         * lib/memcasecmp.c: Remove unnecessary parentheses after 'defined'.
79084         (memcasecmp): Don't assume size_t fits in unsigned int.
79085         Remove casts and duplicate code.
79086         * lib/md5.c: Include <string.h> and <stdlib.h> unconditionally.
79087         (memcpy): Remove definition.
79088         Merge in some clean-up and optimization changes from glibc.
79089         [BLOCKSIZE]: Move definition to top of file.
79090         Ensure that it is a multiple of 64.
79091         Rearrange loop exit tests so as to avoid performing an
79092         additional fread after encountering an error or EOF.
79093         * lib/md5.h (md5_uintptr): Define.
79094         * lib/makepath.c (CLEANUP_CWD): Report an error if we failed to
79095         return to the initial working directory.  Preserve errno
79096         for caller.
79097         * lib/idcache.c: Include "xalloc.h".
79098         (xmalloc, xrealloc): Remove decls.
79099         (getuser): Remove casts no longer required in C89.
79100         * lib/human.c: Include stdio.h, for sprintf.
79101         * lib/group-member.c: Include "xalloc.h".
79102         (xmalloc, xrealloc): Remove decls.
79103         (get_group_info): Remove casts no longer required in C89.
79104         * lib/getusershell.c (readname): Remove casts no longer required in
79105         C89.
79106         * lib/gettimeofday.c (rpl_gmtime, rpl_tzset): New functions.
79107         * lib/getline.c: Whitespace fix, from coreutils.
79108
79109 2003-08-13  Paul Eggert  <eggert@twinsun.com>
79110
79111         * m4/exclude.m4 (gl_EXCLUDE): Require AC_C_INLINE, AC_HEADER_STDC.
79112         Check for isascii.
79113
79114         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
79115         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
79116         Undo previous (whitespace-only) change.
79117
79118 2003-08-13  Paul Eggert  <eggert@twinsun.com>
79119
79120         * lib/exclude.c: Include <ctype.h>
79121         (IN_CTYPE_DOMAIN): New macro.
79122         (is_space): New fn.
79123         (add_exclude_file): If LINE_END is a space, ignore trailing spaces
79124         and empty lines.
79125
79126         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
79127         Undo previous (whitespace-only) change.
79128
79129 2003-08-13  Paul Eggert  <eggert@twinsun.com>
79130
79131         * config/srclist-update: Change update back to the old behavior,
79132         leaving whitespace alone.  Use one 'sed' command rather than a
79133         pipeline.
79134         (fixlicense): Now a variable, not a function.
79135         (remove_trailing_blanks): Remove.
79136         (fixfile): Don't invoke unexpand or cat, or remove trailing blanks.
79137         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
79138         Undo previous (whitespace-only) change.
79139
79140 2003-08-12  Paul Eggert  <eggert@twinsun.com>
79141
79142         Merge from coreutils.
79143         * modules/euidaccess: Add lib_SOURCES, include for new
79144         file euidaccess.h
79145
79146 2003-08-12  Paul Eggert  <eggert@twinsun.com>
79147
79148         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
79149         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
79150         Normalize leading white space and remove trailing white space.
79151
79152         Merge from coreutils
79153         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Check for euidaccess decl.
79154
79155         * m4/lib-ld.m4, lib-link.m4, lib-prefix.m4: Regenerate from gettext
79156         0.12.1.  These files are now being upgraded automatically by
79157         ../config/srclist-update.
79158
79159 2003-08-12  Paul Eggert  <eggert@twinsun.com>
79160
79161         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
79162         Normalize leading white space and remove trailing white space.
79163         * lib/ref-add.sin, ref-del.sin: Use '#' before empty line in copyright
79164         notice, as per ../config/srclist-update.
79165
79166         Merge from coreutils.
79167         * lib/euidaccess.h: New file.
79168         * lib/euidaccess.c: Include it.
79169         * lib/.cppi-disable: Add printf-args.h, printf-parse.h, stdbool_.h,
79170         vasnprintf.h, vasprintf.h.  Remove strdup.c, gettext.h.
79171         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Normalize white space.
79172
79173 2003-08-12  Paul Eggert  <eggert@twinsun.com>
79174
79175         * config/srclist-update: Add copyright notice.
79176         (remove_id_lines, remove_trailing_blanks): New constants.
79177         (fixfile): Use them to normalize spacing a bit in copied files.
79178         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
79179         Normalize leading white space and remove trailing white space.
79180
79181         * config/texinfo.tex: Sync with texinfo.
79182
79183         * config/srclist.txt: Don't get regex.h, strdup.c, strtoll.c,
79184         strtoul.c from libc, to merge coreutils whitespace changes.
79185
79186         * config/srclist.txt: Get the following m4 files from gettext:
79187         codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4,
79188         inttypes-pri.m4, lcmessage.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4,
79189         longdouble.m4, nls.m4, po.m4, progtest.m4, signed.m4, wchar_t.m4,
79190         wint_t.m4.
79191
79192 2003-08-12  Karl Berry  <karl@gnu.org>
79193
79194         * config/srclist.txt: can't sync vasnprintf.c any more, changes have
79195         been made.
79196
79197 2003-08-11  Paul Eggert  <eggert@twinsun.com>
79198
79199         * modules/gnu-source, m4/gnu-source.m4:
79200         Remove; we're assuming Autoconf 2.54 or later now.
79201         Suggested by Bruno Haible.
79202         * MODULES.html.sh (func_all_modules): Remove gnu-source.
79203
79204 2003-08-11  Bruno Haible  <bruno@clisp.org>
79205
79206         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for wcslen.
79207
79208 2003-08-11  Bruno Haible  <bruno@clisp.org>
79209
79210         * lib/vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1.
79211         (vasnprintf): Use it instead of wcslen.
79212
79213 2003-08-11  Bruno Haible  <bruno@clisp.org>
79214
79215         * lib/stdbool_.h (_Bool): Undo last change; instead use a negative enum
79216         value to ensure that _Bool promotes to int. Use #define for _Bool when
79217         using the Solaris C compiler. Adds comments suggested by Paul Eggert.
79218
79219 2003-08-10  Karl Berry  <karl@gnu.org>
79220
79221         * lib/regex.h: update from libc (whitespace fix).
79222
79223 2003-08-09  Paul Eggert  <eggert@twinsun.com>
79224
79225         Merge some files from coreutils.  These changes were
79226         originally made by Jim Meyering.
79227         * lib/acl.c: Include <sys/types.h> before <sys/stat.h>;
79228         many older Unixes require this.
79229         * lib/alloca.c (alloca): Remove cast to argument of free;
79230         no longer needed in C89.
79231         * lib/alloca_.h, regex.h: Fix white space to match
79232         what GNU indent does.
79233
79234 2003-08-09  Paul Eggert  <eggert@twinsun.com>
79235
79236         * m4/regex.m4 (jm_INCLUDED_REGEX): Change "\201" to "\371";
79237         apparently Emacs's Unicode mode got confused before my 2003-08-05
79238         checkin.
79239
79240 2003-08-08  Paul Eggert  <eggert@twinsun.com>
79241
79242         * m4/extensions.m4: New file.
79243         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC):
79244         Require gl_USE_SYSTEM_EXTENSIONS.
79245         * m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO):
79246         Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE.
79247
79248 2003-08-08  Paul Eggert  <eggert@twinsun.com>
79249
79250         * MODULES.html.sh (func_all_modules): Add extensions, gnu-source.
79251         * modules/extensions, modules/gnu-source: New files.
79252         * modules/timespec, modules/unlocked-io: Depend on extensions.
79253
79254 2003-08-07  Paul Eggert  <eggert@twinsun.com>
79255
79256         * modules/restrict: New file.
79257         * MODULES.html.sh (func_all_modules): Add restrict.
79258         * modules/regex: Depend on restrict.
79259
79260 2003-08-07  Paul Eggert  <eggert@twinsun.com>
79261
79262         * m4/restrict.m4: New file.
79263         * m4/regex.m4 (jm_PREREQ_REGEX): Add gl_C_RESTRICT.
79264
79265 2003-08-07  Bruno Haible  <bruno@clisp.org>
79266
79267         * modules/getndelim2 (Makefile.am): Add the files to EXTRA_DIST, not
79268         lib_SOURCES, because getndelim2.m4 now uses AC_LIBOBJ(getndelim2).
79269
79270 2003-08-07  Bruno Haible  <bruno@clisp.org>
79271
79272         * m4/getndelim2.m4 (gl_GETNDELIM2): Use AC_LIBOBJ(getndelim2). This
79273         makes the module 'getndelim2' compatible with the module 'getline'.
79274
79275 2003-08-05  Paul Eggert  <eggert@twinsun.com>
79276
79277         * m4/regex.m4 (jm_INCLUDED_REGEX): Replace a single non-ASCII
79278         byte with "\201" to avoid glitches when editing that source file
79279         with multi-gnome-terminal.
79280
79281 2003-08-05  Paul Eggert  <eggert@twinsun.com>
79282
79283         * lib/bumpalloc.h: Remove.
79284
79285 2003-08-05  Paul Eggert  <eggert@twinsun.com>
79286
79287         * MODULES.html.sh (func_all_modules): Remove bumpalloc.
79288         * modules/bumpalloc: Remove.
79289
79290 2003-08-04  Paul Eggert  <eggert@twinsun.com>
79291
79292         * lib/getloadavg.c: Change copyright notice and spacing to conform to
79293         GNU coding style.
79294
79295         Merge from coreutils.
79296         * lib/error.c [!USE_IN_LIBIO]: Omit this case; assume USE_IN_LIBIO is
79297         1. From glibc.
79298         * lib/getdate.y (date): Also accept dates like May-23-2003; suggestion
79299         from Karl Berry, implemented by Jim Meyering.
79300         * lib/getgroups.c: Include "xalloc.h" instead of declaring xalloc fns;
79301         from Dmitry V. Levin.
79302         Remove anachronistic cast of xrealloc.
79303         * lib/fnmatch_.h (__const): Remove.  Use 'const'.
79304         * lib/fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper
79305         type. Otherwise, it wouldn't compile with at least /bin/cc on
79306         ymp-cray-unicos9.0.2.X.
79307         Combine two mostly-identical uses of alloca into one.
79308         Thanks to the Cray-Cyber project for access to a Cray Y-MP.
79309
79310 2003-08-04  Dave Love  <d.love@dl.ac.uk>
79311
79312         [From Emacs.]
79313
79314         * lib/getloadavg.c: Check `__unix' as well as `unix'.  Use #ifdef, not
79315         #if.  Check HAVE_LIBKSTAT as well as LOAD_AVE_TYPE.  Check
79316         F_SETFD, not FD_SETFD.  Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not
79317         obsolete NLIST_NAME_UNION.
79318         [__GNU__]: Undef BSD and FSCALE.
79319         [!NLIST_STRUCT]: Remove conditional definition of NLIST_STRUCT.
79320
79321 2003-08-03  Paul Eggert  <eggert@twinsun.com>
79322
79323         * lib/stdbool_.h (_Bool): Make it signed char, instead of
79324         an enum type, so that it's guaranteed to promote to int.  See:
79325         <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00124.html>
79326
79327 2003-08-03  Karl Berry  <karl@gnu.org>
79328
79329         * config/depcomp: update from automake.
79330
79331 2003-07-31  Paul Eggert  <eggert@twinsun.com>
79332
79333         * lib/strerror.c: Include config.h, limits.h.  Declare sprintf.
79334         (strerror): Don't assume that a printable int fits in 14 bytes.
79335
79336 2003-07-31  Bruno Haible  <bruno@clisp.org>
79337
79338         * modules/getpass-gnu: New file.
79339         * MODULES.html.sh (func_all_modules): Add getpass-gnu.
79340
79341 2003-07-31  Bruno Haible  <bruno@clisp.org>
79342
79343         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): New macro.
79344
79345 2003-07-24  Karl Berry  <karl@gnu.org>
79346
79347         * config/missing: update from automake.
79348
79349 2003-07-24  Derek Robert Price  <derek@ximbiot.com>
79350             Bruno Haible  <bruno@clisp.org>
79351
79352         * lib/getline.h (getline, getdelim): Change return type to ssize_t.
79353         * lib/getline.c (getline, getdelim): Likewise.
79354         Remove _GNU_SOURCE define; now it's defined in config.h through
79355         m4/getline.m4.
79356
79357 2003-07-23  Karl Berry  <karl@gnu.org>
79358
79359         * config/config.sub: update from prep.
79360
79361 2003-07-22  Paul Eggert  <eggert@twinsun.com>
79362
79363         * modules/xalloc (Depends-on): Add exitfail.
79364         * modules/xmemcoll: Likewise.
79365
79366 2003-07-22  Paul Eggert  <eggert@twinsun.com>
79367
79368         * lib/xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and
79369         over-parenthesization in macros.
79370
79371         Sync with coreutils.
79372
79373         * lib/xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not
79374         required by C99.
79375
79376         Use `exit_failure' for xalloc and xmemcoll instead of their own
79377         private exit-failure variables.
79378         * lib/xalloc.h (xalloc_exit_failure): Remove.
79379         * lib/xmalloc.c: Likewise.  Include exitfail.h.
79380         (xalloc_die): Use exit_failure instead of xalloc_exit_failure.
79381         * lib/xmemcoll.h (xmemcoll_exit_failure): Remove.
79382         * lib/xmemcoll.c: Likewise.  Include exitfail.h.
79383         (xmemcoll): Use exit_failure instead of xalloc_exit_failure.
79384
79385 2003-07-20  Jim Meyering  <jim@meyering.net>
79386
79387         * modules/closeout (Depends-on): Add exitfail.
79388         Suggestion from Bruno Haible.
79389
79390 2003-07-19  Karl Berry  <karl@gnu.org>
79391
79392         * config/config.sub: update from prep.
79393
79394 2003-07-18  Paul Eggert  <eggert@twinsun.com>
79395
79396         * lib/closeout.h (close_stdout_set_status, close_stdout_status):
79397         Remove.
79398         * lib/closeout.c: Likewise.  Include "closeout.h" right after config.h,
79399         to test that it can stand by itself.  Include "exitfail.h".
79400         Clients should set exit_failure instead.
79401         (EXIT_FAILURE): Remove; no longer needed.  Do not include <stdlib.h>.
79402
79403 2003-07-18  Bruno Haible  <bruno@clisp.org>
79404
79405         * modules/getndelim2: New file.
79406         * modules/getline: Share files with module getndelim2.
79407         * modules/getnline: Depend on getndelim2 instead of sharing files with
79408         it. Add getnline.c to lib_SOURCES.
79409         * MODULES.html.sh (func_all_modules): Add getndelim2.
79410
79411 2003-07-18  Bruno Haible  <bruno@clisp.org>
79412
79413         * m4/getndelim2.m4: New file.
79414         * m4/getline.m4 (AM_FUNC_GETLINE): Add AC_LIBOBJ of getndelim2.c and
79415         invoke gl_PREREQ_GETNDELIM2.
79416         (gl_PREREQ_GETLINE): Drop AC_HEADER_STDC, now done by
79417         gl_PREREQ_GETNDELIM2.
79418         * m4/getnline.m4 (gl_GETNLINE): Drop AC_HEADER_STDC, now done by
79419         gl_GETNDELIM2.
79420
79421 2003-07-18  Bruno Haible  <bruno@clisp.org>
79422
79423         * lib/getndelim2.h: New file.
79424         * lib/getndelim2.c: Make into a module of its own. Include config.h,
79425         getndelim2.h.
79426         (getndelim2): Make non-static. Change return type to ssize_t.
79427         * lib/getline.h: Change argument names.
79428         * lib/getline.c: Include getndelim2.h instead of getndelim2.c.
79429         * lib/getnline.c: Include getndelim2.h.
79430
79431 2003-07-18  Andreas Schwab  <schwab@suse.de>
79432
79433         * lib/memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno.
79434
79435 2003-07-17  Karl Berry  <karl@gnu.org>
79436
79437         * config/config.sub: update from prep.
79438
79439 2003-07-17  Bruno Haible  <bruno@clisp.org>
79440
79441         * modules/getnline: New file.
79442         * modules/getline: Add lib/getndelim2.c to source file list.
79443         * MODULES.html.sh (func_all_modules): Add getnline.
79444
79445 2003-07-17  Bruno Haible  <bruno@clisp.org>
79446
79447         * m4/getnline.m4: New file.
79448
79449 2003-07-17  Bruno Haible  <bruno@clisp.org>
79450
79451         * m4/Makefile.am.in: Remove file.
79452         * m4/Makefile.am: Remove file.
79453         * m4/Makefile.in: Remove file.
79454
79455 2003-07-17  Bruno Haible  <bruno@clisp.org>
79456
79457         * lib/getnline.h: New file.
79458         * lib/getnline.c: New file.
79459         * lib/getndelim2.c: New file, extracted from getline.c.
79460         (getndelim2): Renamed from getdelim2, with added nmax argument.
79461         * lib/getline.c: Include getndelim2.c.
79462         (getdelim2): Moved out to getndelim2.c.
79463         (getline, getdelim): Update.
79464
79465 2003-07-17  Bruno Haible  <bruno@clisp.org>
79466
79467         * lib/Makefile.am: Remove file.
79468         * lib/Makefile.in: Remove file.
79469
79470 2003-07-17  Bruno Haible  <bruno@clisp.org>
79471
79472         * configure.in: Remove file.
79473         * Makefile.in: Remove file.
79474
79475 2003-07-17  Bruno Haible  <bruno@clisp.org>
79476
79477         * MODULES.html.sh: Put the </BODY> right before </HTML>.
79478
79479 2003-07-16  Karl Berry  <karl@gnu.org>
79480
79481         * config/srclist-update: was running fixlicense twice, which caused
79482                 texinfo.tex to be nullified for some reason.  Simplify,
79483                 $gplsrc is no longer needed as far as I can see?
79484
79485 2003-07-16  Jim Meyering  <jim@meyering.net>
79486
79487         * modules/save-cwd: Depend on xgetcwd.  From Derek Price.
79488
79489 2003-07-15  Paul Eggert  <eggert@twinsun.com>
79490
79491         * config/srclist.txt: Get the following files from gettext-runtime/intl
79492         instead: config.charset, localcharset.c, localcharset.h, ref-add.sin,
79493         ref-del.sin.  From Bruno Haible.
79494         * config/srclist-update (fixfile): Change grep pattern again, since the
79495         previous fix didn't work (there was another trailing $).  Use
79496         '[$]' to escape the $s.
79497
79498 2003-07-15  Karl Berry  <karl@gnu.org>
79499
79500         * lib/vasnprintf.c: update from gettext.
79501
79502 2003-07-15  Karl Berry  <karl@gnu.org>
79503
79504         * config/srclist-update (fixfile): Change grep pattern, since 'Id'
79505         gets expanded when surrounded by '$'.
79506
79507 2003-07-15  Jim Meyering  <jim@meyering.net>
79508
79509         * modules/save-cwd: Don't depend on error.  From Derek Price.
79510
79511 2003-07-15  Jim Meyering  <jim@meyering.net>
79512
79513         * lib/makepath.c (make_path): Enclose diagnostic in _(...).
79514
79515 2003-07-14  Simon Josefsson  <jas@extundo.com>
79516
79517         * modules/mempcpy: New file.
79518         * MODULES.html.sh (func_all_modules): Add mempcpy.
79519
79520 2003-07-14  Simon Josefsson  <jas@extundo.com>
79521
79522         * m4/mempcpy.m4: New file.
79523
79524 2003-07-14  Simon Josefsson  <jas@extundo.com>
79525
79526         * lib/mempcpy.h: New file.
79527         * lib/mempcpy.c: New file.
79528
79529 2003-07-14  Paul Eggert  <eggert@twinsun.com>
79530
79531         * modules/getdate, modules/posixtm: Depend on mktime.
79532
79533 2003-07-14  Paul Eggert  <eggert@twinsun.com>
79534
79535         * lib/ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h,
79536         sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c,
79537         unicodeio.c, unicodeio.h, unlocked-io.h:
79538         Switch from LGPL to GPL.
79539
79540 2003-07-14  Paul Eggert  <eggert@twinsun.com>
79541
79542         * lib/asnprintf.c, asprintf.c, config.charset, gettext.h,
79543         localcharset.c, localcharset.h, mkdtemp.c, printf-args.c,
79544         printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin,
79545         ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h,
79546         vasprintf.c, vasprintf.h: Regenerate.  These files are now being
79547         updated automatically by ../config/srclist-update.  This changes
79548         their license from LPGL to GPL.
79549
79550 2003-07-14  Paul Eggert  <eggert@twinsun.com>
79551
79552         * config/srclist.txt: Add tons more gettext files.  $GETTEXT is now
79553         assumed to refer to the root of the most recent stable gettext version.
79554         * config/srclistvars.sh: Add defaults for eggert.
79555         * config/srclist-update: Convert LGPL to GPL in shell scripts, too.
79556         Match "This program" as well as "The program".  This is needed
79557         for gettext.
79558
79559 2003-07-14  Jim Meyering  <jim@meyering.net>
79560
79561         Don't emit diagnostics.  Let callers do that.
79562         * lib/save-cwd.c: Don't include "error.h".
79563         (save_cwd): Don't call error.  Ensure that errno is valid
79564         when returning nonzero.
79565
79566         * lib/save-cwd.h (restore_cwd): Update prototype.
79567         * lib/save-cwd.c (restore_cwd): Remove two parameters.
79568         Simplify.  Don't call error upon failure.  Let callers do that.
79569         (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4
79570         when auditing is enabled.  But don't bother updating the #if.
79571
79572 2003-07-11  Alexandre Duret-Lutz  <adl@gnu.org>
79573
79574         * lib/obstack.h (__INT_TO_PTR): Revert change of 2003-03-13;
79575         it breaks C++ compilation.
79576         [!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*.
79577
79578 2003-07-10  Simon Josefsson  <jas@extundo.com>
79579
79580         * modules/strchrnul (Makefile.am): Add strchrnul.h.
79581
79582 2003-07-10  Jim Meyering  <jim@meyering.net>
79583
79584         * m4/clock_time.m4: Remove trailing blank.
79585         * m4/intmax_t.m4: Likewise.
79586
79587 2003-07-10  Jim Meyering  <jim@meyering.net>
79588
79589         * lib/vasnprintf.c: Remove trailing blanks.
79590         Make cpp indentation consistent.
79591
79592 2003-07-09  Paul Eggert  <eggert@twinsun.com>
79593
79594         * lib/alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h,
79595         posixver.c, strftime.c, strnlen.c, strverscmp.c:
79596         Switch from LGPL to GPL.
79597
79598 2003-07-09  Paul Eggert  <eggert@twinsun.com>
79599
79600         * config/srclist.txt: Sort sublists.  Add
79601         $LIBCSRC/sysdeps/generic/strtoul.c. In comments, add more libc files
79602         that differ from gnulib for one reason or another; we'd like this list
79603         to be smaller but for now let's document what we have.
79604
79605 2003-07-08  Paul Eggert  <eggert@twinsun.com>
79606
79607         * config/srclist-update: Port to POSIX 1003.1-2001 hosts by avoiding
79608         the use of GNU extensions.  Change "x=`eval echo $x`" to the shorter
79609         and sweeter "eval x=$x".
79610         * config/srclist.txt: Get lib/argp* from glibc.
79611
79612 2003-07-07  Paul Eggert  <eggert@twinsun.com>
79613
79614         * lib/mktime.c: Fix some boundary cases and remove need for floating
79615         point.
79616
79617         Issue a compile-time diagnostic if time_t is floating point, or if
79618         two's complement arithmetic is not in effect, or if arithmetic
79619         right shift does not propagate the sign.  These assumptions were
79620         all in the original code but they weren't checked.
79621
79622         (TIME_T_MIDPOINT, verify): New macros.
79623         (__isleap): Remove; it has integer overflow problems.
79624         (leapyear): New function, without those problems.
79625         (ydhms_tm_diff): Remove; splitting into two parts.
79626         (ydhms_diff): New function, containing the arithmetic part of
79627         the old ydhms_tm_diff function.  Issue a compile-time
79628         diagnostic if we are not using C99 integer division.
79629         Avoid casts when possible.
79630         (guess_time_tm): New function, containing the checking part of
79631         the old ydhms_tm_diff function.  Return the new value, rather than
79632         the difference between it and the old.  Accept a new argument T
79633         so that *T specifies the old value.  Check for overflow in the result.
79634
79635         (__mktime_internal): Use a time_t offset, not a long int offset.
79636         This undoes the 2003-06-04 change, which is no longer needed now
79637         that we have better overflow checking.
79638         (localtime_offset): Likewise.
79639
79640         (__mktime_internal): Avoid harmful overflow on hosts where time_t
79641         and long are 64-bit but int is only 32-bit.
79642         (ydhms_diff): Use long int to store year1 and yday1.
79643         Issue a compile-time diagnostic if long int is not wide enough.
79644
79645         (__mktime_internal): Use long int to store adjusted year and yday.
79646         Use plain C rather than preprocessor commands, if that doesn't
79647         affect efficiency.
79648         Check for overflow (and try to repair) after each probe
79649         rather than checking only at the very end.  This avoids some bugs
79650         (e.g., southern hemisphere, behind GMT, and GMT offset at minimum time
79651         does not equal GMT offset at maximum time).
79652         Use integer to check for overflow rather than floating point; this
79653         is more portable to non-IEEE hosts, and is a tad faster.
79654         When we detect that we are oscillating between two values,
79655         don't check whether tm_isdst has the requested value, since
79656         we already know the answer.  When tm_isdst has the wrong value,
79657         use a different heuristic to find the right one, based on the
79658         extreme values actually observed in practice in tz2003a,
79659         rather than the (overly optimistic) "previous 3 calendar quarters".
79660
79661         (not_equal_tm, print_tm, check_result): Use "const T" rather than
79662         "T const" to accommodate glibc style.
79663         (check_result): Use less-confusing report format.  "long" -> "long int.
79664         (main): Likewise.
79665         Don't loop if the iteration overflows time_t.
79666         Allow a negative step in the iteration.
79667
79668 2003-07-06  Karl Berry  <karl@gnu.org>
79669
79670         * config/depcomp: update from automake.
79671         * config/config.sub: update from prep.
79672
79673 2003-07-03  Karl Berry  <karl@gnu.org>
79674
79675         * config/config.guess: update from prep.
79676
79677 2003-07-01  Paul Eggert  <eggert@twinsun.com>
79678
79679         * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since
79680         xreadlink.c now includes it unconditionally.
79681
79682 2003-07-01  Paul Eggert  <eggert@twinsun.com>
79683
79684         * lib/xreadlink.c: Include <sys/types.h> unconditionally, instead of
79685         having it depend on HAVE_SYS_TYPES_H.
79686
79687 2003-07-01  Bruno Haible  <bruno@clisp.org>
79688
79689         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include <unistd.h>.
79690         <sys/types.h> should be sufficient.
79691         Reported by Paul Eggert.
79692
79693 2003-06-26  Karl Berry  <karl@gnu.org>
79694
79695         * config/depcomp: update from automake.
79696
79697 2003-06-26  Bruno Haible  <bruno@clisp.org>
79698
79699         * modules/human: Depend on module stdbool.
79700
79701 2003-06-25  Bruno Haible  <bruno@clisp.org>
79702
79703         * modules/readlink: New file.
79704         * modules/xreadlink: Depend on it.
79705         * MODULES.html.sh (func_all_modules): Add readlink.
79706
79707 2003-06-25  Bruno Haible  <bruno@clisp.org>
79708
79709         * m4/readlink.m4: New file.
79710
79711 2003-06-25  Bruno Haible  <bruno@clisp.org>
79712
79713         * lib/readlink.c: New file.
79714
79715 2003-06-22  Karl Berry  <karl@gnu.org>
79716
79717         * config/srclist.txt: update mkinstalldirs from automake.
79718         * config/mkinstalldirs: update.
79719
79720 2003-06-22  Bruno Haible  <bruno@clisp.org>
79721
79722         Portability to mingw32.
79723         * m4/ssize_t.m4: New file, from GNU gettext.
79724         * m4/safe-read.m4 (gl_PREREQ_SAFE_READ): Require gt_TYPE_SSIZE_T.
79725         * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T.
79726
79727 2003-06-22  Bruno Haible  <bruno@clisp.org>
79728
79729         * modules/safe-read: Add m4/ssize_t.m4.
79730         * modules/xreadlink: Add m4/ssize_t.m4.
79731
79732 2003-06-20  Bruno Haible  <bruno@clisp.org>
79733
79734         Assume C89, so PARAMS isn't needed.
79735         * lib/unicodeio.h (PARAMS): Remove.
79736         * lib/unicodeio.c: Don't use PARAMS.
79737
79738 2003-06-18  Karl Berry  <karl@gnu.org>
79739
79740         * config/config.{guess,sub}: update from prep.
79741
79742 2003-06-18  Jim Meyering  <jim@meyering.net>
79743
79744         Merge changes from coreutils.
79745         * lib/readutmp.c: Include <string.h> and <stdlib.h> unconditionally.
79746         Remove explicit declarations of xmalloc and realloc.
79747         Include xalloc.h.
79748         (read_utmp): Remove anachronistic cast of xmalloc.
79749
79750 2003-06-17  Paul Eggert  <eggert@twinsun.com>
79751
79752         Assume C89, so PARAMS isn't needed.
79753         * lib/backupfile.h (PARAMS): Remove.  All uses removed.
79754         * lib/closeout.h, lib/dirname.h, lib/filemode.h, lib/fsusage.h,
79755         lib/getdate.h, lib/getline.h, lib/group-member.h, lib/hard-locale.h,
79756         lib/hash.h, lib/linebuffer.h, lib/long-options.h, lib/makepath.h,
79757         lib/memcasecmp.h, lib/memcoll.h, lib/modechange.h, lib/mountlist.h,
79758         lib/path-concat.h, lib/physmem.h, lib/posixtm.h, lib/quote.h,
79759         lib/readutmp.h, lib/same.h, lib/save-cwd.h, lib/savedir.h,
79760         lib/stdio-safer.h, lib/strtoimax.c, lib/strverscmp.h,
79761         lib/unistd-safer.h, lib/version-etc.h, lib/xalloc.h, lib/xreadlink.h,
79762         lib/xstrtod.h, lib/xstrtol.h: Likewise.
79763         * lib/filemode.h, lib/hard-locale.h, lib/memcoll.h, lib/modechange.h,
79764         lib/physmem.h, lib/same.h, lib/strverscmp.h: Do not include config.h;
79765         no longer needed. Anyway, config.h should always be included before any
79766         other file.
79767
79768 2003-06-11  Simon Josefsson  <jas@extundo.com>
79769
79770         * modules/sysexits: New file.
79771         * MODULES.html.sh (func_all_modules): Add sysexits.
79772
79773 2003-06-11  Simon Josefsson  <jas@extundo.com>
79774
79775         * lib/sysexit_.h: New file.
79776
79777 2003-06-11  Derek Price  <derek@ximbiot.com>
79778
79779         * lib/stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is
79780         necessary.
79781
79782 2003-06-11  Bruno Haible  <bruno@clisp.org>
79783
79784         * m4/sysexits.m4: New file.
79785
79786 2003-06-10  Simon Josefsson  <jas@extundo.com>
79787
79788         * lib/argp.h: New file, from glibc.
79789         * lib/argp-ba.c: New file, from glibc.
79790         * lib/argp-eexst.c: New file, from glibc.
79791         * lib/argp-fmtstream.c: New file, from glibc.
79792         * lib/argp-fmtstream.h: New file, from glibc.
79793         * lib/argp-fs-xinl.c: New file, from glibc.
79794         * lib/argp-help.c: New file, from glibc.
79795         * lib/argp-namefrob.h: New file, from glibc.
79796         * lib/argp-parse.c: New file, from glibc.
79797         * lib/argp-pv.c: New file, from glibc.
79798         * lib/argp-pvh.c: New file, from glibc.
79799         * lib/argp-xinl.c: New file, from glibc.
79800
79801 2003-06-10  Simon Josefsson  <jas@extundo.com>
79802
79803         * modules/strchrnul: New file.
79804
79805 2003-06-10  Simon Josefsson  <jas@extundo.com>
79806
79807         * modules/argp: New file.
79808
79809 2003-06-10  Simon Josefsson  <jas@extundo.com>
79810
79811         * m4/strchrnul.m4: New file.
79812
79813 2003-06-10  Simon Josefsson  <jas@extundo.com>
79814
79815         * lib/strchrnul.h: New file.
79816         * lib/strchrnul.c: New file.
79817
79818 2003-06-10  Bruno Haible  <bruno@clisp.org>
79819
79820         * MODULES.html.sh (func_all_modules): Add strchrnul and argp.
79821
79822 2003-06-07  Karl Berry  <karl@gnu.org>
79823
79824         * config/config.{guess,sub}: update from prep.
79825
79826 2003-06-07  Jim Meyering  <jim@meyering.net>
79827
79828         * modules/strtod: Use $(...) notation, not @...@ for
79829         AC_REPLACE'd variables.
79830         * modules/localcharset: Likewise.
79831
79832 2003-06-07  Jim Meyering  <jim@meyering.net>
79833
79834         * lib/readtokens.h: Put `Free Software Foundation, Inc.'
79835         in place of my name in the copyright comment.
79836         Remove definition and uses of __P.
79837
79838         From coreutils.
79839         * lib/stat.c: Don't declare xmalloc explicitly.
79840         Instead, include "xalloc.h".
79841         * lib/readtokens.c (readtokens): Remove anachronistic casts of xmalloc,
79842         xrealloc, and xcalloc return values.
79843         * lib/xgetcwd.c (xgetcwd): Include "xgetcwd.h".
79844         Improve comment.
79845         * lib/xgetcwd.h: Remove definition/uses of PARAMS.
79846
79847 2003-06-07  Bruno Haible  <bruno@clisp.org>
79848
79849         * modules/poll (Makefile.am): Use explicit creation rule for poll.h, to
79850         avoid AC_CONFIG_LINKS.
79851         * modules/fnmatch (Makefile.am): Use explicit creation rule for
79852         fnmatch.h, to avoid AC_CONFIG_LINKS.
79853         * modules/alloca (Makefile.am): Make creation of alloca.h Ctrl-C safe.
79854
79855 2003-06-07  Bruno Haible  <bruno@clisp.org>
79856
79857         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH, gl_FUNC_FNMATCH_POSIX,
79858         gl_FUNC_FNMATCH_GNU): Set FNMATCH_H instead of invoking
79859         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
79860         directory.
79861         * m4/poll.m4 (gl_FUNC_POLL): Set POLL_H instead of invoking
79862         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
79863         directory.
79864
79865 2003-06-06  Jim Meyering  <jim@meyering.net>
79866
79867         Merge from coreutils.
79868         * lib/same.c: (same_name): Declare *_basename locals to be `const'.
79869         Consolidate declarations and initializations of *_base* locals.
79870
79871         Merge from coreutils.
79872         This avoids a core dump on systems without GNU putenv,
79873         when running `env -u SOME_ALREADY_UNSET_VARIABLE'.
79874         * lib/putenv.c (__set_errno, LOCK, UNLOCK): Define.
79875         (unsetenv): New static function, from GNU libc.
79876         (rpl_putenv): Use it.
79877
79878         * lib/modechange.c: Remove trailing blanks.
79879
79880         Merge from coreutils.
79881         * lib/fsusage.c: Remove declaration of statfs.
79882         It conflicted with one from OSF/1 5.1 in <sys/mount.h>.
79883
79884         * lib/posixtm.c: Include <stdbool.h> unconditionally.
79885
79886 2003-06-06  Jim Meyering  <jim@meyering.net>
79887
79888         * lib/stdbool_.h: Renamed from stdbool.h.in.
79889
79890 2003-06-06  Jim Meyering  <jim@meyering.net>
79891             Bruno Haible  <bruno@clisp.org>
79892
79893         * modules/stdbool: Reflect renaming: stdbool.h.in -> stdbool_.h.
79894         Adjust Makefile.am snippet not to redirect directly to target.
79895         Use $(STDBOOL_H) notation, not @STDBOOL_H@ for AC_REPLACE'd variables.
79896
79897 2003-06-05  Paul Eggert  <eggert@twinsun.com>
79898
79899         * lib/mktime.c (__mktime_internal): When resolving a tm_isdst
79900         mismatch, look in future quarters as well as past.  This fixes a
79901         bug when processing fall-backwards gaps immediately after a long
79902         period of daylight-saving time.
79903
79904         * lib/mktime.c: Assume freestanding C89 or better.
79905         (HAVE_LIMITS_H): Remove.  Assume it's 1.
79906         (__P): Remove; not used.
79907         (CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
79908         (mktime, not_equal_tm, print_tm, check_result,
79909         main): Use prototypes.  Use const * where appropriate.
79910         (main): Fix typo in testing code that uncovered by above changes.
79911         (Local Variables): Remove -DHAVE_LIMITS_H from compile-command.
79912
79913 2003-06-04  Paul Eggert  <eggert@twinsun.com>
79914
79915         * m4/human.m4 (gl_HUMAN): Require AM_STDBOOL_H.  Check for
79916         locale.h, localeconv.  This merges changes from coreutils.
79917
79918         * m4/mktime.m4 (AC_FUNC_MKTIME): New macro, taken from Autoconf CVS.
79919         It can be removed after the next Autoconf is released.
79920         * m4/exclude.m4 (gl_EXCLUDE): Don't check for sys/types.h; no loner
79921         needed.
79922
79923 2003-06-04  Paul Eggert  <eggert@twinsun.com>
79924
79925         * lib/mktime.c: Fix Debian bug 177940
79926         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177940>.
79927         (localtime_offset): Now long int, not time_t, because we want it
79928         to be guaranteed to be signed.  All uses changed.
79929         (__mktime_internal): If overflow would occur when adding offset,
79930         don't add it.
79931
79932         Merge 'human' changes from coreutils.  Rewrite to support
79933         locale-specific notations like thousands separators.
79934         * lib/human.c: Simplify authorship notice.
79935         Include human.h immediately after config.h.
79936         <sys/types.h>, <stdio.h>: Do not include; no longer needed.
79937         <limits.h>: Do not include, since human.h does.
79938         (SIZE_MAX, UINTMAX_MAX): New macros.
79939         <strings.h>: Include if HAVE_STRINGS_H, not if !HAVE_STRING_H.
79940         <locale.h>: Include if HAVE_LOCALE_H and HAVE_LOCALECONV.
79941         (HUMAN_READABLE_SUFFIX_LENGTH_MAX): New macro.
79942         (power_letter): Renamed from suffixes.
79943         (generate_suffix_backwards): Remove.
79944         (adjust_value): Now takes int style (because of human.h changes)
79945         and long double value (for greater precision on some platforms).
79946         (group_number): New function.
79947         (human_readable): Use it.  Use integer options, not enum.
79948         Put the options before the sizes in the arg list.
79949         Support all the new options.
79950         The old human_readable function has been removed;
79951         use inttostr.h instead.
79952         (human_readable, default_block_size, humblock):
79953         Use uintmax_t, not int, for block sizes.
79954         (human_readable_inexact, block_size_types): Remove.
79955         (block_size_opts): New constant.
79956         (human_options): Renamed from human_block_size, with new signature
79957         that allows block sizes up to UINTMAX_MAX.  All callers changed.
79958         * lib/human.h: Add copyright and authorship notice.
79959         Include <limits.h> and <stdbool.h> unconditionally.
79960         (PARAMS): Remove.  All uses removed.
79961         (LONGEST_HUMAN_READABLE): Add support for thousands separator.
79962         (enum human_inexact_style): Remove tag; now a nameless enum.
79963         (human_floor, human_ceiling, human_round_to_even): Now have
79964         values 2, 0, 1 rather than -1, 1, 0.
79965         (human_group_digits, human_suppress_point_zero, human_autoscale,
79966         human_base_1024, human_SI, human_B): New constants.
79967         (human_readable_inexact, human_block_size): Remove.
79968         (human_readable): Size args are now uintmax_t, not int.
79969         (human_options): New decl.
79970
79971         * lib/exclude.c: (new_exclude, add_exclude): Remove casts that are
79972         unnecessary now that we assume C89 or better.  This change
79973         imported from coreutils.
79974
79975         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
79976         arbitrarily.  This is the same patch as 2003-05-28, but it got lost
79977         in the 2003-05-30 sync from glibc.
79978
79979         .h files should stand alone, but we shouldn't include <sys/types.h>
79980         if we can get away with just <stddef.h>.
79981
79982         * lib/__fpending.h, addext.c, backupfile.c, exclude.c, getline.c,
79983         malloc.c, putenv.c, realloc.c, strcasecmp.c: Include <stddef.h>
79984         rather than <sys/types.h>, as we merely need size_t.
79985         * lib/dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include <stddef.h>,
79986         to get size_t.
79987         * lib/hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h:
79988         Include <stdio.h>, to get FILE.
79989         * lib/memcasecmp.c: Don't include <sys/types.h>, as we can assume
79990         memcasecmp.h has included <stddef.h> and all we need is size_t.
79991         * lib/memcoll.c: Include "memcoll.h", which gets us size_t and checks
79992         our interface, instead of including <sys/types.h>
79993
79994 2003-06-04  Paul Eggert  <eggert@twinsun.com>
79995
79996         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): Comment out for
79997         now, as glibc mktime is buggy on non-glibc systems.
79998
79999 2003-06-03  Karl Berry  <karl@gnu.org>
80000
80001         * config/config.sub: update from prep.
80002
80003 2003-06-02  Paul Eggert  <eggert@twinsun.com>
80004
80005         [from coreutils]
80006         Fix some minor time-related bugs with POSIX time arguments.
80007         Some valid time stamps were being rejected (notably -1, and
80008         time stamps before 1900 on 64-bit hosts).  And some invalid
80009         time stamps were being accepted, e.g. September 31.
80010
80011         * lib/posixtm.h (posixtime): Return bool instead of time_t, so
80012         that we can return (time_t) -1 successfully.
80013         * lib/posixtm.c: Likewise.
80014         [HAVE_STDBOOL_H]: Include <stdbool.h>.
80015         (bool, false, true) [!HAVE_STDBOOL_H]: New type.
80016         (t): Remove static var.
80017         (year, posix_time_parse): Now takes struct tm * arg to modify, instead
80018         of static var.  All uses changed.
80019         (year): Do not reject years before 1900; they can occur with
80020         64-bit time_t.
80021         (posix_time_parse): Do not check for out-of-range components;
80022         that is now the caller's responsibility, since our checks were
80023         only approximations.
80024         (posixtime): Use mktime to check for out-of-range components,
80025         since it knows them exactly.
80026         If mktime returns (time_t) -1, check whether an error actually occurred
80027         by invoking localtime on -1.
80028         (main) [TEST_POSIXTIME]: Check for input data errors, and report
80029         posixtime failures better.
80030         Improve the test data (in comments only).
80031
80032 2003-06-02  Karl Berry  <karl@gnu.org>
80033
80034         * config/mkinstalldirs (version): new variable.
80035         (--version): new option.
80036         (usage): improve message.
80037
80038 2003-05-30  Karl Berry  <karl@gnu.org>
80039
80040         * lib/mktime.c: update from libc.
80041
80042 2003-05-30  Bruno Haible  <bruno@clisp.org>
80043
80044         * modules/gettext: Add files m4/nls.m4 and m4/po.m4.
80045         * config/config.rpath: Upgrade to gettext-0.12.1.
80046
80047 2003-05-30  Bruno Haible  <bruno@clisp.org>
80048
80049         * m4/gettext.m4: Upgrade to gettext-0.12.1.
80050         * m4/nls.m4: New file, from gettext-0.12.1.
80051         * m4/po.m4: New file, from gettext-0.12.1.
80052         * m4/progtest.m4: Upgrade to gettext-0.12.1.
80053
80054 2003-05-30  Bruno Haible  <bruno@clisp.org>
80055
80056         * lib/config.charset: Upgrade to gettext-0.12.1 and libiconv-1.9.1.
80057         * lib/localcharset.h: Likewise.
80058         * lib/localcharset.c: Likewise.
80059
80060 2003-05-29  Karl Berry  <karl@gnu.org>
80061
80062         * config/config.rpath: update from gettext.
80063
80064 2003-05-28  Paul Eggert  <eggert@twinsun.com>
80065
80066         Assume the headers required for C89 freestanding compilers.
80067         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for limits.h.
80068         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Likewise.
80069         * m4/human.m4 (gl_HUMAN): Likewise.
80070         * m4/pathmax.m4 (gl_PATHMAX): Likewise.
80071         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Likewise.
80072         * m4/userspec.m4 (gl_USERSPEC): Likewise.
80073         * m4/xreadlink.m4 (gl_XREADLINK): Likewise.
80074         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
80075         * m4/quote.m4 (gl_QUOTE): Don't check for stddef.h.
80076
80077 2003-05-28  Paul Eggert  <eggert@twinsun.com>
80078
80079         Assume the headers required for C89 freestanding compilers.
80080         * lib/addext.c, lib/backupfile.c, lib/fsusage.c, lib/human.c,
80081         lib/pathmax.h, lib/rpmatch.c, lib/userspec.c, lib/xreadlink.c,
80082         lib/xstrtol.c: Include <limits.h> without checking for HAVE_LIMITS_H.
80083         * lib/backupfile.c, lib/fsusage.c, lib/hash.c, lib/human.c,
80084         lib/safe-read.c, lib/userspec.c, lib/xstrtol.c (CHAR_BIT): Don't
80085         define, since <limits.h> is guaranteed to do that.
80086         * lib/fatal.c: Include <stdarg.h> without checking for __STDC__.
80087         * lib/exclude.c: Include <stdbool.h> unconditionally.
80088         * lib/tempname.c: Include <stddef.h> unconditionally.
80089         * lib/hash.c: Include <limits.h>, since we no longer define CHAR_BIT.
80090         * lib/modechange.c, rpmatch.c (NULL): Don't define, since
80091         <stddef.h> does that.
80092         * lib/quote.c: Dont include <stddef.h> or <sys/types.h>; not needed.
80093         * lib/safe-read.c (INT_MAX): Don't define, since <limits.h> does that.
80094         * lib/safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer
80095         needed.
80096         * lib/xstrtol.c: Likewise.
80097         * lib/safe-read.c: Remove TYPE_SIGNED; no longer needed.
80098         * lib/savedir.c: Include <stddef.h> instead of defining NULL.
80099
80100         * lib/addext.c (addext): Use assignment rather than cast, to avoid
80101         warnings on some platforms.
80102
80103         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
80104         arbitrarily.
80105
80106 2003-05-26  Jim Meyering  <jim@meyering.net>
80107
80108         Merge in a change from coreutils:
80109         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Test the cache variable, not one
80110         that is guaranteed to be `no'.  Use `no_such_member' to indicate
80111         that condition, rather than `-1' which is slightly misleading.
80112         Change the name of the cache variable to have the gl_ prefix.
80113         Prompted by a patch from Richard Dawe for DJGPP.
80114
80115 2003-05-24  Karl Berry  <karl@gnu.org>
80116
80117         * config/config.guess: update from prep.
80118
80119 2003-05-22  Karl Berry  <karl@gnu.org>
80120
80121         * gnulib-tool (func_usage): =LIBRARY not =libRARY in help msg.
80122
80123 2003-05-20  Karl Berry  <karl@gnu.org>
80124
80125         * config/config.guess: update from prep.
80126
80127 2003-05-18  Karl Berry  <karl@gnu.org>
80128
80129         * config/srclistvars.sh (TEXMF): use TEXMFROOT instead, since TEXMF
80130         might actually be set by the user.
80131
80132         * config/depcomp, install-sh, mdate-sh: update from automake.
80133
80134 2003-05-17  Bruno Haible  <bruno@clisp.org>
80135
80136         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Fix a quoting bug leading to an
80137         invalid expansion for AC_EGREP_CPP.
80138         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
80139         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
80140         Suggested by Akim Demaille <akim@epita.fr> in
80141         http://mail.gnu.org/archive/html/bug-autoconf/2003-05/threads.html
80142
80143 2003-05-12  Jim Meyering  <jim@meyering.net>
80144
80145         * lib/strftime.c (my_strftime): Let the `-' (no-pad) flag affect
80146         the space-padded-by-default conversion specifiers, %e, %k, %l.
80147
80148 2003-05-12  Bruno Haible  <bruno@clisp.org>
80149
80150         * lib/linebreak.c (iconv_string_length): Don't return -1 just because
80151         the string is longer than 4 KB.
80152
80153 2003-05-11  Karl Berry  <karl@gnu.org>
80154
80155         * config/config.{guess,sub}: update from prep.
80156
80157 2003-05-09  Bruno Haible  <bruno@clisp.org>
80158
80159         * modules/error: Add m4/strerror_r.m4 to file list.
80160
80161 2003-05-03  Bruno Haible  <bruno@clisp.org>
80162
80163         Upgrade to Unicode-4.0.
80164         * lib/linebreak.c (nonspacing_table_data): Change width of U+00AD,
80165         U+0350..U+0357, U+035D..U+035F, U+0600..U+0603, U+0610..U+0615,
80166         U+0656..U+0658, U+0A01, U+0AE2..U+0AE3, U+0CBC, U+17B4..U+17B5,
80167         U+17DD, U+1920..U+1922, U+1927..U+192B, U+1932, U+1939..U+193B
80168         from 1 to 0. Change width of U+0CBF, U+0CC6, U+180E from 0 to 1.
80169         (uc_width): Change width of U+4DC0..U+4DFF from 2 to 1. Change width
80170         of U+2A6D7..U+2F7FF, U+2FA1E..U+2FFFD, U+30000..U+3FFFD from 1 to 2.
80171         Change width of U+E0100..U+E01EF from 1 to 0.
80172
80173 2003-04-25  Jim Meyering  <jim@meyering.net>
80174
80175         * lib/copy-file.c (copy_file_preserving): Declare buf_size to be
80176         of type size_t, not int.
80177
80178 2003-04-25  Bruno Haible  <bruno@clisp.org>
80179
80180         * lib/copy-file.c: Include <stddef.h>, for size_t.
80181
80182 2003-04-21  Paul Eggert  <eggert@twinsun.com>
80183
80184         * m4/error.m4 (gl_ERROR): Do not put under dynamic conditions some
80185         code which expansion is under static control.  Patch imported from
80186         Akim Demaille's patch to Bison; see
80187         <http://mail.gnu.org/archive/html/bison-patches/2003-03/msg00057.html>.
80188
80189 2003-04-14  Bruno Haible  <bruno@clisp.org>
80190
80191         * m4/error.m4 (jm_PREREQ_ERROR): Use AC_FUNC_VPRINTF.
80192
80193 2003-04-11  Jim Meyering  <jim@meyering.net>
80194
80195         Merge changes from Coreutils.
80196
80197         2003-03-22  Jim Meyering  <jim@meyering.net>
80198
80199         * lib/strftime.c (widen): Cast alloca return value to proper type.
80200
80201         2003-01-19  Ulrich Drepper  <drepper@redhat.com>
80202
80203         From GNU libc.
80204         * lib/strftime.c (my_strftime): Handle very large width
80205         specifications for numeric values correctly.  Improve checks for
80206         overflow.
80207
80208         2003-01-19  Jim Meyering  <jim@meyering.net>
80209
80210         * lib/strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical
80211         definitions.
80212         (nl_get_alt_digit) [! defined my_strftime]: Define.
80213         (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
80214         _nl_get_alt_digit and _nl_get_walt_digit.
80215
80216         * lib/strftime.c (my_strftime): Merge in locale-related changes from
80217         libc. These changes have no effect outside of _LIBC.
80218
80219 2003-04-10  Bruno Haible  <bruno@clisp.org>
80220
80221         * modules/findprog: New file.
80222         * MODULES.html.sh (func_all_modules): Add it.
80223
80224 2003-04-10  Bruno Haible  <bruno@clisp.org>
80225
80226         * m4/findprog.m4: New file.
80227         * m4/eaccess.m4: New file.
80228
80229 2003-04-10  Bruno Haible  <bruno@clisp.org>
80230
80231         * lib/findprog.h: New file, from GNU gettext.
80232         * lib/findprog.c: New file, from GNU gettext.
80233
80234 2003-04-05  Jim Meyering  <jim@meyering.net>
80235
80236         Merge changes from Coreutils.
80237
80238         * lib/exclude.h (PARAMS): Remove definition and uses.
80239         * lib/exclude.c: Remove uses of `PARAMS'.
80240
80241         * lib/dirname.c [TEST_DIRNAME]: Update build instructions for test.
80242         Add test-cases for DOS filenames. Declare program_name.
80243         (main): Set up program_name.  Patch by Rich Dawe.
80244
80245         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
80246         error from mntctl.
80247         Use mntctl's return value to drive the entry-processing loop, since
80248         we can't rely on the value of the vmt_length member in the last
80249         entry.  On some systems doing so could result in exhausting
80250         virtual memory.  Based in part on a patch from Mike Jetzer.
80251
80252 2003-04-04  Bruno Haible  <bruno@clisp.org>
80253
80254         * modules/linebreak: New file.
80255         * MODULES.html.sh (func_all_modules): Add it.
80256
80257 2003-04-04  Bruno Haible  <bruno@clisp.org>
80258
80259         * m4/linebreak.m4: New file.
80260
80261 2003-04-04  Bruno Haible  <bruno@clisp.org>
80262
80263         * lib/linebreak.h: New file, from GNU gettext.
80264         * lib/linebreak.c: New file, from GNU gettext with slight
80265         modifications.
80266         * lib/lbrkprop.h: New file, from GNU gettext.
80267
80268 2003-04-03  Bruno Haible  <bruno@clisp.org>
80269
80270         * modules/utf8-ucs4: New file.
80271         * modules/utf16-ucs4: New file.
80272         * modules/ucs4-utf8: New file.
80273         * modules/ucs4-utf16: New file.
80274         * MODULES.html.sh (func_all_modules): Add them.
80275
80276 2003-04-03  Bruno Haible  <bruno@clisp.org>
80277
80278         * m4/utf-ucs4.m4: New file.
80279         * m4/ucs4-utf.m4: New file.
80280
80281 2003-04-03  Bruno Haible  <bruno@clisp.org>
80282
80283         * lib/utf8-ucs4.h: New file, from GNU gettext.
80284         * lib/utf16-ucs4.h: New file, from GNU gettext.
80285         * lib/ucs4-utf8.h: New file, from GNU gettext.
80286         * lib/ucs4-utf16.h: New file, from GNU gettext.
80287
80288 2003-04-02  Bruno Haible  <bruno@clisp.org>
80289
80290         * modules/binary-io: New file.
80291         * MODULES.html.sh (func_all_modules): Add it.
80292
80293 2003-04-02  Bruno Haible  <bruno@clisp.org>
80294
80295         * lib/binary-io.h: New file, from GNU gettext.
80296
80297 2003-04-01  Bruno Haible  <bruno@clisp.org>
80298
80299         * modules/pathname: New file.
80300         * MODULES.html.sh (func_all_modules): Add it.
80301
80302 2003-04-01  Bruno Haible  <bruno@clisp.org>
80303
80304         * lib/pathname.h: New file, from GNU gettext.
80305         * lib/concatpath.c: New file, from GNU gettext.
80306
80307 2003-03-30  Bruno Haible  <bruno@clisp.org>
80308
80309         * m4/copy-file.m4 (gl_COPY_FILE): Add check for chown().
80310
80311 2003-03-30  Bruno Haible  <bruno@clisp.org>
80312
80313         * lib/copy-file.c (copy_file_preserving): Don't set owner if the
80314         function chown() doesn't exist.
80315
80316 2003-03-28  Bruno Haible  <bruno@clisp.org>
80317
80318         * modules/copy-file: New file.
80319         * MODULES.html.sh (func_all_modules): Add it.
80320
80321 2003-03-28  Bruno Haible  <bruno@clisp.org>
80322
80323         * m4/copy-file.m4: New file.
80324
80325 2003-03-28  Bruno Haible  <bruno@clisp.org>
80326
80327         * lib/copy-file.h: New file, from GNU gettext.
80328         * lib/copy-file.c: New file, from GNU gettext.
80329
80330 2003-03-18  Jim Meyering  <jim@meyering.net>
80331
80332         * lib/quote.c (quote_n): Fix typo in comment.
80333
80334 2003-03-18  Bruno Haible  <bruno@clisp.org>
80335
80336         * m4/onceonly.m4: Use m4_defn instead of defn, for better error
80337         checking.
80338         * m4/onceonly_2_57.m4: Likewise.
80339
80340 2003-03-17  Bruno Haible  <bruno@clisp.org>
80341
80342         * m4/onceonly.m4: Require autoconf 2.54 or newer.
80343         (m4_quote): Remove macro.
80344         * m4/onceonly_2_57.m4: Require autoconf 2.54 or newer.
80345
80346 2003-03-14  Jim Meyering  <jim@meyering.net>
80347
80348         Merge changes from Coreutils.
80349         * lib/obstack.h (obstack_object_size): Declare temporary, __o,
80350         to be const, in order to avoid warnings.
80351         (obstack_room): Likewise.
80352         (obstack_empty_p): Likewise.
80353
80354 2003-03-14  Bruno Haible  <bruno@clisp.org>
80355
80356         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE,
80357         AC_CHECK_DECLS_ONCE): Quote AC_FOREACH variable-expansions properly.
80358
80359 2003-03-13  Paul Eggert  <eggert@twinsun.com>
80360
80361         Merge changes from Bison.
80362         * lib/obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to
80363         (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
80364         when compiling Bison 1.875's `bitset bset = obstack_alloc
80365         (bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
80366         * lib/hash.c: Include <stdbool.h> unconditionally.
80367
80368 2003-03-13  Paul Eggert  <eggert@twinsun.com>
80369
80370         * m4/onceonly.m4 (m4_quote): New macro.
80371         (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE):
80372         Quote AC_FOREACH variable-expansions properly.
80373
80374 2003-03-13  Paul Eggert  <eggert@twinsun.com>
80375
80376         * doc/COPYING.DOC, fdl.texi: Sync with latest FSF version.
80377
80378 2003-03-09  Paul Eggert  <eggert@twinsun.com>
80379
80380         * lib/argmatch.c (EXIT_FAILURE): Define if the system doesn't.
80381         Reported by Bruce Becker; see:
80382         http://mail.gnu.org/archive/html/bug-bison/2003-03/msg00017.html
80383
80384 2003-03-03  Paul Eggert  <eggert@twinsun.com>
80385             Bruno Haible  <bruno@clisp.org>
80386
80387         * lib/mbswidth.h: Include <wchar.h>. Needed for UnixWare 7.1.1.
80388         Reported by John Hughes, see
80389         http://mail.gnu.org/archive/html/bug-bison/2003-02/msg00030.html
80390
80391 2003-02-20  Bruno Haible  <bruno@clisp.org>
80392
80393         * MODULES.html.sh (func_all_modules): Add poll.
80394
80395 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
80396
80397         * modules/poll: New file.
80398
80399 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
80400
80401         * lib/poll_.h: New file.
80402         * lib/poll.c: New file.
80403
80404 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
80405
80406         * m4/poll.m4: New file.
80407
80408 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
80409
80410         * modules/mathl: New file.
80411
80412 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
80413
80414         * lib/mathl.h: New file.
80415         * lib/acosl.c: New file.
80416         * lib/asinl.c: New file.
80417         * lib/atanl.c: New file.
80418         * lib/ceill.c: New file.
80419         * lib/cosl.c: New file.
80420         * lib/expl.c: New file.
80421         * lib/floorl.c: New file.
80422         * lib/frexpl.c: New file.
80423         * lib/ldexpl.c: New file.
80424         * lib/logl.c: New file.
80425         * lib/sincosl.c: New file.
80426         * lib/sinl.c: New file.
80427         * lib/sqrtl.c: New file.
80428         * lib/tanl.c: New file.
80429         * lib/trigl.c: New file.
80430         * lib/trigl.h: New file.
80431
80432 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
80433
80434         * m4/mathl.m4: New file.
80435
80436 2003-02-18  Bruno Haible  <bruno@clisp.org>
80437
80438         * MODULES.html.sh (func_all_modules): Add mathl.
80439
80440 2003-02-17  Bruno Haible  <bruno@clisp.org>
80441
80442         * modules/mkdtemp: New module.
80443         * MODULES.html.sh (func_all_modules): Add it.
80444
80445 2003-02-17  Bruno Haible  <bruno@clisp.org>
80446
80447         * m4/mkdtemp.m4: New file, from GNU gettext with modifications.
80448
80449 2003-02-17  Bruno Haible  <bruno@clisp.org>
80450
80451         * lib/mkdtemp.h: New file, from GNU gettext.
80452         * lib/mkdtemp.c: New file, from GNU gettext.
80453
80454 2003-02-02  Jim Meyering  <jim@meyering.net>
80455
80456         * m4/regex.m4 (jm_INCLUDED_REGEX): Detect broken re_search in
80457         e.g. glibc-2.2.93.
80458
80459 2003-01-31  Bruno Haible  <bruno@clisp.org>
80460
80461         * m4/rename.m4 (vb_FUNC_RENAME): Add a redirection from 'rename' to
80462         'rpl_rename'.
80463         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Add a redirection from 'strnlen' to
80464         'rpl_strnlen'.
80465         * m4/strtod.m4 (gl_FUNC_STRTOD): Add a redirection from 'strtod' to
80466         'rpl_strtod'.
80467         * m4/utime.m4 (jm_FUNC_UTIME): Add a redirection from 'utime' to
80468         'rpl_utime'.
80469
80470 2003-01-31  Bruno Haible  <bruno@clisp.org>
80471
80472         * lib/rename.c: #undef rename before defining rpl_rename.
80473         * lib/strnlen.c: #undef strnlen, define rpl_strnlen instead of strnlen.
80474
80475 2003-01-30  Bruno Haible  <bruno@clisp.org>
80476
80477         * modules/vasnprintf, modules/vasprintf: New modules.
80478         * MODULES.html.sh (func_all_modules): Add them.
80479
80480 2003-01-30  Bruno Haible  <bruno@clisp.org>
80481
80482         * m4/signed.m4: New file, from GNU gettext.
80483         * m4/longdouble.m4: New file, from GNU gettext.
80484         * m4/wchar_t.m4: New file, from GNU gettext.
80485         * m4/wint_t.m4: New file, from GNU gettext.
80486         * m4/vasnprintf.m4: New file.
80487         * m4/vasprintf.m4: New file.
80488
80489 2003-01-30  Bruno Haible  <bruno@clisp.org>
80490
80491         * lib/printf-args.h: New file, from GNU gettext.
80492         * lib/printf-args.c: New file, from GNU gettext.
80493         * lib/printf-parse.h: New file, from GNU gettext.
80494         * lib/printf-parse.c: New file, from GNU gettext.
80495         * lib/vasnprintf.h: New file, from GNU gettext.
80496         * lib/vasnprintf.c: New file, from GNU gettext.
80497         * lib/asnprintf.c: New file, from GNU gettext.
80498         * lib/vasprintf.h: New file, from GNU gettext with modifications.
80499         * lib/vasprintf.c: New file, from GNU gettext.
80500         * lib/asprintf.c: New file, from GNU gettext.
80501
80502 2003-01-29  Bruno Haible  <bruno@clisp.org>
80503
80504         * modules/stpncpy: New module.
80505         * MODULES.html.sh (func_all_modules): Add it.
80506
80507 2003-01-29  Bruno Haible  <bruno@clisp.org>
80508
80509         * m4/stpncpy.m4: New file.
80510
80511 2003-01-29  Bruno Haible  <bruno@clisp.org>
80512
80513         * lib/stpncpy.h: New file, from GNU gettext with modifications.
80514         * lib/stpncpy.c: New file, from GNU gettext with modifications.
80515
80516 2003-01-28  Bruno Haible  <bruno@clisp.org>
80517
80518         * modules/c-ctype: New module.
80519         * MODULES.html.sh (func_all_modules): Add it.
80520
80521 2003-01-28  Bruno Haible  <bruno@clisp.org>
80522
80523         * lib/c-ctype.h: New file, from GNU gettext, with changes suggested by
80524         Paul Eggert.
80525         * lib/c-ctype.c: New file, from GNU gettext, with changes suggested by
80526         Paul Eggert.
80527
80528 2003-01-27  Bruno Haible  <bruno@clisp.org>
80529
80530         * modules/xsetenv: New module.
80531         * MODULES.html.sh (func_all_modules): Add it.
80532
80533 2003-01-27  Bruno Haible  <bruno@clisp.org>
80534
80535         * lib/xsetenv.h: New file, from GNU gettext.
80536         * lib/xsetenv.c: New file, from GNU gettext.
80537
80538 2003-01-23  Jim Meyering  <jim@meyering.net>
80539
80540         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Correct typo: s/-1/no/ that kept this
80541         from working on systems without dirfd (at least Irix and OSF1/Tru64).
80542
80543 2003-01-23  Bruno Haible  <bruno@clisp.org>
80544
80545         * modules/minmax: New module.
80546         * MODULES.html.sh (func_all_modules): Add it.
80547
80548 2003-01-23  Bruno Haible  <bruno@clisp.org>
80549
80550         * lib/minmax.h: New file, from GNU gettext, with comments from Paul
80551         Eggert.
80552
80553 2003-01-22  Bruno Haible  <bruno@clisp.org>
80554
80555         * modules/exit: New module.
80556         * MODULES.html.sh (func_all_modules): Add it.
80557
80558 2003-01-22  Bruno Haible  <bruno@clisp.org>
80559
80560         * lib/exit.h: New file, from GNU gettext.
80561
80562 2003-01-19  Bruno Haible  <bruno@clisp.org>
80563
80564         * gnulib-tool: Recognize option --extract-maintainer.
80565         (func_get_maintainer): New function.
80566         * modules/*: Add Maintainer entry.
80567
80568 2003-01-16  Jim Meyering  <jim@meyering.net>
80569
80570         * m4/regex.m4: The `regex' struct is both input and output.
80571         Initialize it before each use.  Patch by Tim Waugh.
80572
80573 2003-01-16  Bruno Haible  <bruno@clisp.org>
80574
80575         * MODULES.html.sh: Add a table of contents. Add the module name as
80576         leftmost column. Add hyperlinks.
80577
80578 2003-01-15  Bruno Haible  <bruno@clisp.org>
80579
80580         * m4/md5.m4 (gl_MD5): Require AC_C_INLINE.
80581
80582 2003-01-15  Bruno Haible  <bruno@clisp.org>
80583
80584         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): Also test the LL suffix.
80585         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Also test the ULL
80586         suffix.
80587
80588 2003-01-15  Bruno Haible  <bruno@clisp.org>
80589
80590         * m4/alloca.m4 (gl_FUNC_ALLOCA): Invoke AC_EGREP_CPP prerequisites.
80591
80592 2003-01-15  Bruno Haible  <bruno@clisp.org>
80593
80594         * lib/stpcpy.h (stpcpy): Use ANSI C function declarations.
80595         * lib/strcase.h (strcasecmp, strncasecmp): Likewise.
80596
80597 2003-01-14  Jim Meyering  <jim@meyering.net>
80598
80599         * lib/same.c (same_name): Tweak a comment.
80600
80601 2003-01-14  Bruno Haible  <bruno@clisp.org>
80602
80603         * lib/same.c (same_name): Reorder tests so as to avoid calling stat()
80604         when a string comparison is sufficient.
80605
80606 2003-01-14  Bruno Haible  <bruno@clisp.org>
80607
80608         * lib/readtokens.c (readtoken): Cast character to 'unsigned char', not
80609         'unsigned int'.
80610
80611 2003-01-14  Bruno Haible  <bruno@clisp.org>
80612
80613         * lib/hash-pjw.c: Add comment about low quality of this function.
80614
80615 2003-01-13  Bruno Haible  <bruno@clisp.org>
80616
80617         * modules/stpcpy: Distribute lib/stpcpy.h.
80618         * modules/setenv: Depend on alloca. Distribute lib/setenv.h.
80619
80620 2003-01-13  Bruno Haible  <bruno@clisp.org>
80621
80622         * modules/*: Add a description.
80623         * modules/strpbrk: Fix Makefile.am snippet.
80624         * modules/strtoimax: Fix dependencies.
80625         * modules/strtoumax: Likewise.
80626
80627 2003-01-13  Bruno Haible  <bruno@clisp.org>
80628
80629         * gnulib-tool (func_create_testdir): Substitute lib_OBJECTS.
80630         * modules/alloca (Makefile.am): All object files depend on alloca.h.
80631         * modules/stdbool (Makefile.am): All object files depend on stdbool.h.
80632
80633 2003-01-13  Bruno Haible  <bruno@clisp.org>
80634
80635         * gnulib-tool (func_create_testdir): Store config/* files in the main
80636         directory.
80637         * config.rpath: Move to ...
80638         * config/config.rpath: ... here.
80639         * modules/gettext: Contains config/config.rpath, not config.rpath.
80640         * modules/iconv: Likewise.
80641
80642 2003-01-12  Paul Eggert  <eggert@twinsun.com>
80643
80644         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
80645         to avoid collisions with libcurses and libreadline.
80646
80647         * m4/getstr.m4: Remove.
80648         * m4/getline.m4 (gl_PREREQ_GETLINE): Require AC_HEADER_STDC.
80649
80650 2003-01-12  Paul Eggert  <eggert@twinsun.com>
80651
80652         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
80653         to avoid collisions with libcurses and libreadline.
80654
80655         * lib/Makefile.am (libfetish_a_SOURCES): Remove getstr.c, getstr.h.
80656         * lib/getstr.h, getstr.c: Remove.
80657         * lib/getline.c: Include "getline.h", to check interface.
80658         Move body of old getstr.c here: this defines MIN_CHUNK and
80659         declares getdelim2, which is renamed from getstr.
80660         (getline, getdelim): Adjust to renaming of getstr -> getdelim2.
80661
80662         * lib/linebuffer.c (readlinebuffer): Renamed from readline.
80663         All uses changed.
80664         * lib/linebuffer.h: Likewise.
80665         (readline): Remove backward-compatibility macro.
80666
80667 2003-01-12  Paul Eggert  <eggert@twinsun.com>
80668
80669         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
80670         to avoid collisions with libcurses and libreadline.
80671         * getstr: Remove.
80672         * MODULES.html.sh: Remove getstr.
80673         * modules/getline: Depend on unlocked-io, not getstr.
80674
80675 2003-01-12  Jim Meyering  <jim@meyering.net>
80676
80677         * lib/makepath.c: Don't test HAVE_ERRNO_H.  It's not necessary.
80678
80679 2003-01-10  Bruno Haible  <bruno@clisp.org>
80680
80681         * modules/alloca: Change Makefile.am requirements. Simplify Include
80682         requirements. Add lib/alloca_.h to file list.
80683
80684 2003-01-10  Bruno Haible  <bruno@clisp.org>
80685
80686         * m4/alloca.m4 (gl_FUNC_ALLOCA): Also define ALLOCA_H.
80687
80688 2003-01-10  Bruno Haible  <bruno@clisp.org>
80689
80690         * lib/alloca_.h: New file.
80691         * lib/getdate.y: Unconditionally include alloca.h.
80692         * lib/makepath.c: Likewise.
80693         * lib/setenv.c: Likewise.
80694         * lib/userspec.c: Likewise.
80695
80696 2003-01-09  Karl Berry  <karl@gnu.org>
80697
80698         * MODULES.html.sh: include `dirname $0` in PATH, to find
80699         gnulib-tool.
80700
80701 2003-01-09  Bruno Haible  <bruno@clisp.org>
80702
80703         * modules/stdbool: Change configure.ac, Makefile.am requirements.
80704         Simplify Include requirements. Add lib/stdbool.h.in to file list.
80705
80706 2003-01-09  Bruno Haible  <bruno@clisp.org>
80707
80708         * m4/stdbool.m4 (AM_STDBOOL_H): New macro.
80709
80710 2003-01-09  Bruno Haible  <bruno@clisp.org>
80711
80712         * lib/stdbool.h.in: New file.
80713
80714 2003-01-09  Bruno Haible  <bruno@clisp.org>
80715
80716         * gnulib-tool (func_all_modules): Ignore files ending in ~.
80717         * MODULES.html.sh: Likewise.
80718
80719 2003-01-08  Jim Meyering  <jim@meyering.net>
80720
80721         * lib/full-write.c: Undefine and define-away `const' after inclusion
80722         of errno.h, not before.  Suggestion from Bruno Haible.
80723
80724 2003-01-08  Bruno Haible  <bruno@clisp.org>
80725
80726         * modules/full-read: Depend on full-write.
80727
80728 2003-01-08  Bruno Haible  <bruno@clisp.org>
80729
80730         * lib/safe-read.c: Include specification header first, to ensure its
80731         selfcontainedness.
80732         * lib/full-write.c: Likewise.
80733
80734 2003-01-07  Jim Meyering  <jim@meyering.net>
80735
80736         * lib/full-write.c: Rework so that it may serve to define full_read,
80737         too.
80738         * lib/full-read.c: Simply #define FULL_READ and include full-write.c.
80739
80740 2003-01-07  Bruno Haible  <bruno@clisp.org>
80741
80742         * lib/strtoimax.c: Include <stdint.h> as an alternative to
80743         <inttypes.h>.
80744         * lib/xstrtol.h: Likewise.
80745         * lib/xstrtoimax.c: Likewise.
80746         * lib/xstrtoumax.c: Likewise.
80747         * lib/human.h: Likewise.
80748
80749         * lib/tempname.c: Include <inttypes.h> too. Avoids a compilation error
80750         on systems that have <inttypes.h> but not <stdint.h>.
80751
80752 2003-01-07  Bruno Haible  <bruno@clisp.org>
80753
80754         * MODULES.html.sh: Add copyright notice.
80755         (missed_files): Omit CVS directory entries.
80756         (func_module): Make it work with sed-3.02.
80757         * MODULES.txt: Remove file.
80758
80759 2003-01-06  Jim Meyering  <jim@meyering.net>
80760
80761         * lib/version-etc.c: Update year in translatable copyright string.
80762
80763 2003-01-03  Karl Berry  <karl@gnu.org>
80764
80765         * config/config.{guess,sub}: update from prep.
80766
80767 2003-01-02  Karl Berry  <karl@gnu.org>
80768
80769         * doc/COPYING.DOC: belatedly updated to 1.2.
80770
80771 2003-01-01  Karl Berry  <karl@gnu.org>
80772
80773         * gnulib-tool (func_verify_module): report module name $module in
80774         error message, not $1.
80775         * gnulib-tool (create-testdir): don't complain if destdir couldn't
80776         be created, only if it doesn't exist.
80777         * gnulib-tool (last_checkin_date): don't expand the $Date here.
80778
80779 2002-12-31  Paul Eggert  <eggert@twinsun.com>
80780
80781         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_FUNC_MEMCMP.
80782
80783 2002-12-31  Paul Eggert  <eggert@twinsun.com>
80784
80785         * lib/memcoll.c (memcoll): Fall back on a simple algorithm using
80786         memcmp if strcoll doesn't work.
80787
80788 2002-12-31  Bruno Haible  <bruno@clisp.org>
80789
80790         * lib/utime.c (utime_null): No need to call ftruncate if the file was
80791         nonempty.
80792
80793 2002-12-31  Bruno Haible  <bruno@clisp.org>
80794
80795         * lib/memcoll.c (STRCOLL): New macro.
80796         (memcoll): Use it.
80797
80798 2002-12-31  Bruno Haible  <bruno@clisp.org>
80799
80800         * lib/localcharset.h: New file.
80801         * lib/localcharset.c: Include it.
80802         * lib/unicodeio.c: Likewise.
80803
80804 2002-12-31  Bruno Haible  <bruno@clisp.org>
80805
80806         * lib/getstr.h (getstr): Define, to avoid clash with libcurses.
80807         * lib/linebuffer.h (readline): Define, to avoid clash with libreadline.
80808
80809 2002-12-31  Bruno Haible  <bruno@clisp.org>
80810
80811         * lib/getline.h: Include <stddef.h>, for size_t.
80812
80813         * lib/unicodeio.h: Include <stddef.h>, for size_t.
80814         * lib/unicodeio.c: Don't include <stddef.h>.
80815
80816 2002-12-31  Bruno Haible  <bruno@clisp.org>
80817
80818         * lib/getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not
80819         HAVE_TM_ZONE.
80820
80821 2002-12-24  Karl Berry  <karl@gnu.org>
80822
80823         * config/config.guess: update from prep.
80824
80825 2002-12-24  Bruno Haible  <bruno@clisp.org>
80826
80827         General infrasructure.
80828         * m4/README: Rewritten.
80829         * m4/onceonly.m4: New file.
80830         * m4/onceonly_2_57.m4: New file.
80831
80832         Module atexit.
80833         * m4/atexit.m4: New file.
80834
80835         Module strtod.
80836         * m4/strtod.m4: New file.
80837
80838         Module strtol.
80839         * m4/strtol.m4: New file.
80840
80841         Module strtoul.
80842         * m4/strtoul.m4: New file.
80843
80844         Module memchr.
80845         * m4/memchr.m4: New file.
80846
80847         Module memcmp.
80848         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): New macro.
80849         (jm_FUNC_MEMCMP): Invoke it.
80850
80851         Module memcpy.
80852         * m4/memcpy.m4: New file.
80853
80854         Module memmove.
80855         * m4/memmove.m4: New file.
80856
80857         Module memset.
80858         * m4/memset.m4: New file.
80859
80860         Module strcspn.
80861         * m4/strcspn.m4: New file.
80862
80863         Module strpbrk.
80864         * m4/strpbrk.m4: New file.
80865
80866         Module strstr.
80867         * m4/strstr.m4: New file.
80868
80869         Module strerror.
80870         * m4/strerror.m4: New file.
80871
80872         Module mktime.
80873         * m4/mktime.m4: Renamed from jm-mktime.m4.
80874         (gl_PREREQ_MKTIME): New macro.
80875         (gl_FUNC_MKTIME): Renamed from jm_FUNC_MKTIME. Invoke gl_PREREQ_MKTIME.
80876
80877         Module malloc.
80878         * m4/malloc.m4 (gl_PREREQ_MALLOC): New macro.
80879         (jm_FUNC_MALLOC): Use AC_FUNC_MALLOC. Invoke gl_PREREQ_MALLOC.
80880         Don't define HAVE_DONE_WORKING_MALLOC_CHECK, since nothing uses it.
80881
80882         Module realloc.
80883         * m4/realloc.m4 (gl_PREREQ_REALLOC): New macro.
80884         (jm_FUNC_REALLOC): Use AC_FUNC_REALLOC. Invoke gl_PREREQ_REALLOC.
80885         Don't define HAVE_DONE_WORKING_REALLOC_CHECK, since nothing uses it.
80886
80887         Module strftime.
80888         * m4/tm_gmtoff.m4: New file, extracted from strftime.m4.
80889         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Use AC_FUNC_STRFTIME.
80890         Don't test for bcopy (we are not emacs). Invoke AC_TYPE_MBSTATE_T and
80891         gl_TM_GMTOFF.
80892         (_jm_STRFTIME_PREREQS, jm_FUNC_GNU_STRFTIME): Use onceonly macros.
80893
80894         Module xalloc.
80895         * m4/xalloc.m4: New file.
80896
80897         Module alloca.
80898         * m4/alloca.m4: New file.
80899
80900         Module putenv.
80901         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
80902         (jm_FUNC_PUTENV): Invoke it.
80903
80904         Module setenv.
80905         * m4/setenv.m4 (gt_FUNC_SETENV): New macro.
80906         (gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4
80907         when invoked twice.
80908         (gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old
80909         gt_FUNC_SETENV.
80910
80911         Module memrchr.
80912         * m4/memrchr.m4: New file.
80913
80914         Module stpcpy.
80915         * m4/stpcpy.m4: New file.
80916
80917         Module strcase.
80918         * m4/strcase.m4: New file.
80919
80920         Module strdup.
80921         * m4/strdup.m4: New file.
80922
80923         Module strnlen.
80924         * m4/strnlen.m4: New file.
80925
80926         Module strndup.
80927         * m4/strndup.m4: New file.
80928
80929         Module xstrtod.
80930         * m4/xstrtod.m4: New file.
80931
80932         Module xstrtol.
80933         * m4/xstrtol.m4: New file.
80934
80935         Module getdate.
80936         * m4/getdate.m4: New file.
80937
80938         Module unlocked-io.
80939         * m4/unlocked-io.m4: Renamed from jm-glibc-io.m4.
80940         (jm_FUNC_GLIBC_UNLOCKED_IO): Invoke AC_GNU_SOURCE. Use onceonly macros.
80941         * m4/jm-glibc-io.m4n: Remove file.
80942
80943         Module long-options.
80944         * m4/long-options.m4: New file.
80945
80946         Module md5.
80947         * m4/md5.m4: New file.
80948
80949         Module sha.
80950         * m4/sha.m4: New file.
80951
80952         Module getstr.
80953         * m4/getstr.m4: New file.
80954
80955         Module getline.
80956         * m4/getline.m4 (gl_PREREQ_GETLINE): New macro.
80957         (AM_FUNC_GETLINE): Invoke AC_GNU_SOURCE. Use <stdlib.h>, not
80958         <sys/types.h>, for size_t. Use the function name gnu_getline, not
80959         simply getline. Infoke gl_PREREQ_GETLINE.
80960
80961         Module obstack.
80962         * m4/obstack.m4: New file.
80963
80964         Module hash.
80965         * m4/hash.m4: New file.
80966
80967         Module readtokens.
80968         * m4/readtokens.m4: New file.
80969
80970         Module strverscmp.
80971         * m4/strverscmp.m4: New file.
80972
80973         Module stdbool.
80974         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Add test for _Bool. Needed for
80975         OSF/1.
80976
80977         Module strtoll.
80978         * m4/strtoll.m4: New file.
80979
80980         Module strtoull.
80981         * m4/strtoull.m4: New file.
80982
80983         Module strtoimax.
80984         * m4/strtoimax.m4: New file.
80985
80986         Module strtoumax.
80987         * m4/strtoumax.m4: New file.
80988
80989         Module xstrtoimax.
80990         * m4/xstrtoimax.m4 (jm_XSTRTOIMAX): Renamed from
80991         jm_AC_PREREQ_XSTRTOIMAX.
80992         Moved the strtol prerequisites to strtol.m4.
80993         Moved the strtoll prerequisites to strtoll.m4.
80994         Moved the strtoimax prerequisites to strtoimax.m4.
80995
80996         Module xstrtoumax.
80997         * m4/xstrtoumax.m4 (jm_XSTRTOUMAX): Renamed from
80998         jm_AC_PREREQ_XSTRTOUMAX.
80999         Moved the strtoul prerequisites to strtoul.m4.
81000         Moved the strtoull prerequisites to strtoull.m4.
81001         Moved the strtoumax prerequisites to strtoumax.m4.
81002
81003         Module chown.
81004         * m4/chown.m4 (gl_PREREQ_CHOWN): New macro.
81005         (jm_FUNC_CHOWN): Use AC_FUNC_CHOWN. Invoke gl_PREREQ_CHOWN.
81006
81007         Module dup2.
81008         * m4/dup2.m4: New file.
81009
81010         Module ftruncate.
81011         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): New macro.
81012         (jm_FUNC_FTRUNCATE): Use AC_REPLACE_FUNCS. Invoke gl_PREREQ_FTRUNCATE.
81013
81014         Module getgroups.
81015         * m4/getgroups.m4 (gl_PREREQ_GETGROUPS): New macro.
81016         (jm_FUNC_GETGROUPS): Use AC_FUNC_GETGROUPS. Invoke gl_PREREQ_GETGROUPS.
81017
81018         Module gettimeofday.
81019         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): New macro.
81020         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use onceonly macros. Invoke
81021         gl_PREREQ_GETTIMEOFDAY.
81022
81023         Module mkdir.
81024         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): New macro.
81025         (UTILS_FUNC_MKDIR_TRAILING_SLASH): Invoke gl_PREREQ_MKDIR.
81026
81027         Module mkstemp.
81028         * m4/mkstemp.m4 (gl_PREREQ_MKSTEMP): New macro.
81029         (jm_PREREQ_TEMPNAME): New macro, from prereq.m4. Also invoke
81030         jm_AC_TYPE_UINTMAX_T.
81031         (UTILS_FUNC_MKSTEMP): Invoke gl_PREREQ_MKSTEMP and jm_PREREQ_TEMPNAME.
81032
81033         Module stat.
81034         * m4/stat.m4 (gl_PREREQ_STAT): New macro.
81035         (jm_FUNC_STAT): Use AC_FUNC_STAT. Invoke gl_PREREQ_STAT.
81036
81037         Module lstat.
81038         * m4/lstat.m4 (gl_PREREQ_LSTAT): New macro.
81039         (jm_FUNC_LSTAT): Use AC_FUNC_LSTAT. Invoke gl_PREREQ_LSTAT.
81040
81041         Module timespec.
81042         * m4/timespec.m4 (gl_TIMESPEC): New macro.
81043         (jm_CHECK_TYPE_STRUCT_TIMESPEC): Add check for <sys/time.h>.
81044         * m4/st_mtim.m4: Indentation.
81045
81046         Module nanosleep.
81047         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): New macro.
81048         (jm_FUNC_NANOSLEEP): Add check for <sys/time.h>. Invoke
81049         gl_PREREQ_NANOSLEEP.
81050
81051         Module regex.
81052         * m4/regex.m4 (jm_PREREQ_REGEX): New macro.
81053         (jm_INCLUDED_REGEX): Invoke jm_PREREQ_REGEX.
81054         (gl_REGEX): New macro.
81055
81056         Module rename.
81057         * m4/rename.m4 (gl_PREREQ_RENAME): New macro.
81058         (vb_FUNC_RENAME): Invoke gl_PREREQ_RENAME.
81059
81060         Module rmdir.
81061         * m4/rmdir.m4: New file.
81062
81063         Module utime.
81064         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Use onceonly macros.
81065         * m4/utime.m4 (gl_PREREQ_UTIME): New macro.
81066         (jm_FUNC_UTIME): Invoke gl_PREREQ_UTIME.
81067
81068         Module dirname.
81069         * m4/dirname.m4: New file.
81070
81071         Module getopt.
81072         * m4/getopt.m4: New file.
81073
81074         Module unistd-safer.
81075         * m4/unistd-safer.m4: New file.
81076
81077         Module fnmatch.
81078         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Include <stdlib.h>, for exit()
81079         declaration.
81080         (gl_PREREQ_FNMATCH_EXTRA): New macro.
81081         (gl_FUNC_FNMATCH_POSIX): New macro.
81082         (gl_FUNC_FNMATCH_GNU): Renamed from AC_FUNC_FNMATCH_GNU. Invoke
81083         gl_PREREQ_FNMATCH_EXTRA. Use the function name gnu_fnmatch, not
81084         simply fnmatch.
81085
81086         Module exclude.
81087         * m4/exclude.m4: New file.
81088
81089         Module human.
81090         * m4/human.m4: New file.
81091
81092         Module acl.
81093         * m4/acl.m4: Nop.
81094
81095         Module backupfile.
81096         * m4/backupfile.m4: New file.
81097         * m4/d-ino.m4: Indentation.
81098
81099         Module fsusage.
81100         * m4/fsusage.m4 (gl_FSUSAGE): New macro.
81101         (jm_STATFS_TRUNCATES): New macro, from coreutils-4.5.4/configure.ac.
81102         (gl_PREREQ_FSUSAGE_EXTRA): New macro.
81103
81104         Module dirfd.
81105         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP
81106         requirements.
81107
81108         Module euidaccess.
81109         * m4/euidaccess.m4: New file.
81110
81111         Module file-type.
81112         * m4/file-type.m4: New file.
81113
81114         Module fileblocks.
81115         * m4/fileblocks.m4: New file.
81116
81117         Module filemode.
81118         * m4/filemode.m4: New file.
81119
81120         Module isdir.
81121         * m4/isdir.m4: New file.
81122
81123         Module lchown.
81124         * m4/lchown.m4 (gl_PREREQ_LCHOWN): New macro.
81125         (jm_FUNC_LCHOWN): Invoke gl_PREREQ_LCHOWN.
81126
81127         Module makepath.
81128         * m4/makepath.m4: New file.
81129
81130         Module modechange.
81131         * m4/modechange.m4: New file.
81132
81133         Module mountlist.
81134         * m4/mountlist.m4: New file.
81135         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Use onceonly macros.
81136         Indentation.
81137
81138         Module path-concat.
81139         * m4/path-concat.m4: New file.
81140
81141         Module pathmax.
81142         * m4/pathmax.m4: New file.
81143
81144         Module same.
81145         * m4/same.m4: New file.
81146
81147         Module save-cwd.
81148         * m4/save-cwd.m4: New file.
81149
81150         Module savedir.
81151         * m4/savedir.m4: New file.
81152
81153         Module xgetcwd.
81154         * m4/xgetcwd.m4: New file.
81155         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Use onceonly macros.
81156
81157         Module xreadlink.
81158         * m4/xreadlink.m4: New file.
81159
81160         Module safe-read.
81161         * m4/safe-read.m4: New file.
81162
81163         Module safe-write.
81164         * m4/safe-write.m4: New file.
81165
81166         Module closeout.
81167         * m4/closeout.m4: New file.
81168
81169         Module stdio-safer.
81170         * m4/stdio-safer.m4: New file.
81171
81172         Module getpass.
81173         * m4/getpass.m4: New file.
81174
81175         Module getugroups.
81176         * m4/getugroups.m4: New file.
81177
81178         Module group-member.
81179         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): New macro.
81180         (jm_FUNC_GROUP_MEMBER): Invoke AC_GNU_SOURCE, gl_PREREQ_GROUP_MEMBER.
81181
81182         Module idcache.
81183         * m4/idcache.m4: New file.
81184
81185         Module userspec.
81186         * m4/userspec.m4: New file.
81187
81188         Module gettime.
81189         * m4/clock_time.m4: New file.
81190         * m4/gettime.m4: New file.
81191
81192         Module settime.
81193         * m4/settime.m4: New file.
81194
81195         Module posixtm.
81196         * m4/posixtm.m4: New file.
81197
81198         Module gethostname.
81199         * m4/gethostname.m4: New file.
81200
81201         Module canon-host.
81202         * m4/canon-host.m4: New file.
81203
81204         Module gettext.
81205         * m4/codeset.m4: New file, from gettext-0.11.5.
81206         * m4/gettext.m4: New file, from gettext-0.11.5.
81207         * m4/glibc21.m4: New file, from gettext-0.11.5.
81208         * m4/iconv.m4: New file, from gettext-0.11.5.
81209         * m4/intdiv0.m4: New file, from gettext-0.11.5.
81210         * m4/inttypes-pri.m4: New file, from gettext-0.11.5.
81211         * m4/inttypes.m4: New file, from gettext-0.11.5.
81212         * m4/inttypes_h.m4: New file, from gettext-0.11.5 with modifications.
81213         * m4/isc-posix.m4: New file, from gettext-0.11.5.
81214         * m4/lcmessage.m4: New file, from gettext-0.11.5.
81215         * m4/lib-ld.m4: New file, from gettext-0.11.5.
81216         * m4/lib-link.m4: New file, from gettext-0.11.5.
81217         * m4/lib-prefix.m4: New file, from gettext-0.11.5.
81218         * m4/progtest.m4: New file, from gettext-0.11.5.
81219         * m4/stdint_h.m4: New file, from gettext-0.11.5 with modifications.
81220         * m4/uintmax_t.m4: New file, from gettext-0.11.5 with modifications.
81221         * m4/ulonglong.m4: New file, from gettext-0.11.5 with modifications.
81222
81223         Module localcharset.
81224         * m4/localcharset.m4: New file.
81225
81226         Module hard-locale.
81227         * m4/hard-locale.m4: New file.
81228
81229         Module mbswidth.
81230         * m4/mbswidth.m4 (gl_MBSWIDTH): Renamed from jm_PREREQ_MBSWIDTH. Use
81231         onceonly macros.
81232         * m4/mbrtowc.m4: Add comment.
81233
81234         Module memcasecmp.
81235         * m4/memcasecmp.m4: New file.
81236
81237         Module memcoll.
81238         * m4/memcoll.m4: New file.
81239
81240         Module unicodeio.
81241         * m4/unicodeio.m4: New file.
81242
81243         Module rpmatch.
81244         * m4/rpmatch.m4: New file.
81245
81246         Module yesno.
81247         * m4/yesno.m4: New file.
81248
81249         Module exitfail.
81250         * m4/exitfail.m4: New file.
81251
81252         Module c-stack.
81253         * m4/c-stack.m4 (gl_C_STACK): New macro.
81254         (jm_PREREQ_C_STACK): Check for <sys/time.h>. Use onceonly macros.
81255
81256         Module error.
81257         * m4/error.m4 (gl_ERROR): New macro.
81258         (jm_PREREQ_ERROR): Use onceonly macros.
81259
81260         Module fatal.
81261         * m4/fatal.m4: New file.
81262
81263         Module getloadavg.
81264         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Use onceonly macros.
81265         (gl_FUNC_GETLOADAVG, gl_PREREQ_GETLOADAVG): New macros.
81266
81267         Module getpagesize.
81268         * m4/getpagesize.m4: New file.
81269
81270         Module getusershell.
81271         * m4/getusershell.m4: New file.
81272
81273         Module physmem.
81274         * m4/physmem.m4: New file.
81275
81276         Module posixver.
81277         * m4/posixver.m4: New file.
81278
81279         Module quotearg.
81280         * m4/quotearg.m4: New file.
81281
81282         Module quote.
81283         * m4/quote.m4: New file.
81284
81285         Module readutmp.
81286         * m4/readutmp.m4: New file, based on jm_PREREQ_READUTMP from prereq.m4.
81287
81288         Module sig2str.
81289         * m4/sig2str.m4: New file.
81290
81291         Other.
81292         * m4/longlong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Remove, moved to
81293         ulonglong.m4.
81294         * m4/intmax_t.m4: New file.
81295         * m4/d-type.m4: Indentation.
81296         * m4/jm-macros.m4: Update.
81297         * m4/prereq.m4 (jm_PREREQ): Update.
81298         (jm_PREREQ_ADDEXT): Remove, obsoleted by backupfile.m4.
81299         (jm_PREREQ_CANON_HOST): Remove, obsoleted by canon-host.m4.
81300         (jm_PREREQ_DIRNAME): Remove, obsoleted by dirname.m4.
81301         (jm_PREREQ_EXCLUDE): Remove, obsoleted by exclude.m4.
81302         (jm_PREREQ_GETPAGESIZE): Remove, obsoleted by getpagesize.m4.
81303         (jm_PREREQ_HARD_LOCALE): Remove, obsoleted by hard-locale.m4.
81304         (jm_PREREQ_HASH): Remove, obsoleted by hash.m4.
81305         (jm_PREREQ_HUMAN): Remove, obsoleted by human.m4.
81306         (jm_PREREQ_MEMCHR): Remove, obsoleted by memchr.m4.
81307         (jm_PREREQ_PHYSMEM): Remove, obsoleted by physmem.m4.
81308         (jm_PREREQ_POSIXVER): Remove, obsoleted by posixver.m4.
81309         (jm_PREREQ_QUOTEARG): Remove, obsoleted by quotearg.m4.
81310         (jm_PREREQ_READUTMP): Remove, obsoleted by readutmp.m4.
81311         (jm_PREREQ_REGEX): Remove, obsoleted by regex.m4.
81312         (jm_PREREQ_STRNLEN): Remove, obsoleted by strnlen.m4.
81313         (jm_PREREQ_TEMPNAME): Remove, obsoleted by mkstemp.m4.
81314         (jm_PREREQ_XGETCWD): Remove, obsoleted by xgetcwd.m4.
81315         (jm_PREREQ_XREADLINK): Remove, obsoleted by xreadlink.m4.
81316         * m4/readdir.m4 (jm_FUNC_READDIR): Use onceonly macros.
81317
81318 2002-12-24  Bruno Haible  <bruno@clisp.org>
81319
81320         * MODULES.txt: Update according to m4/ changes.
81321
81322         Module gettext.
81323         * config.rpath: New file, from gettext-0.11.5.
81324
81325         * modules/*: New module descriptions.
81326         * gnulib-tool: New file.
81327         * MODULES.html.sh: New file.
81328
81329 2002-12-21  Karl Berry  <karl@gnu.org>
81330
81331         * doc/fdl.texi: update to version 1.2.
81332
81333 2002-12-19  Karl Berry  <karl@gnu.org>
81334
81335         * config/config.guess: update from prep.
81336
81337 2002-12-18  Bruno Haible  <bruno@clisp.org>
81338
81339         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't test for localtime_r.
81340         * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Likewise.
81341
81342 2002-12-17  Bruno Haible  <bruno@clisp.org>
81343
81344         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Remove checks for limits.h,
81345         stdlib.h, string.h.
81346
81347 2002-12-17  Bruno Haible  <bruno@clisp.org>
81348
81349         * lib/canon-host.c (strdup): Remove unused declaration.
81350
81351         * lib/fsusage.c: Include full_read.h.
81352         (get_fs_usage): Use full_read instead of safe_read.
81353
81354         * lib/utime.c (utime_null): Use SAFE_READ_ERROR.
81355
81356 2002-12-12  Karl Berry  <karl@gnu.org>
81357
81358         * config/config.guess: update from prep.
81359
81360 2002-12-11  Bruno Haible  <bruno@clisp.org>
81361
81362         * m4/setenv.m4: New file, from gettext-0.11.5.
81363
81364 2002-12-11  Bruno Haible  <bruno@clisp.org>
81365
81366         * lib/setenv.h: Rewritten to cope with systems that have setenv() but
81367         not unsetenv().
81368         * lib/setenv.c, unsetenv.c: Taken from glibc-2.2.4 with the following
81369         modifications:
81370
81371         2002-12-11  Bruno Haible  <bruno@clisp.org>
81372
81373                 * setenv.c (alloca): Fall back to malloc.
81374                 (freea): New macro.
81375                 (setenv): Use freea() to free memory allocated with alloca().
81376
81377         2002-11-13  Bruno Haible  <bruno@clisp.org>
81378
81379                 * setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C
81380                 function declarations.
81381                 * unsetenv.c (unsetenv): Likewise.
81382
81383         2002-03-04  Bruno Haible  <bruno@clisp.org>
81384
81385                 Portability to AIX 4.3.3.
81386                 * unsetenv.c: New file, extracted from setenv.c.
81387                 * setenv.c: Move the unsetenv() function to unsetenv.c.
81388
81389         2001-12-20  Bruno Haible  <bruno@clisp.org>
81390
81391                 * setenv.c (__add_to_environ): Don't call realloc(NULL,...),
81392                 use malloc instead. For SunOS 4.
81393
81394         2001-12-11  Bruno Haible  <bruno@clisp.org>
81395
81396                 * setenv.c: Declare alloca.
81397                 (compar_fn_t): New typedef.
81398                 (KNOWN_VALUE, STORE_VALUE): Use it.
81399
81400         * lib/Makefile.am (libfetish_a_SOURCES): Add setenv.c, unsetenv.c,
81401         setenv.h.
81402
81403 2002-12-10  Paul Eggert  <eggert@twinsun.com>
81404
81405         Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7.
81406         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS):
81407         Choose values that are less likely to collide with system fnmatch
81408         options.
81409         * lib/exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not
81410         defined (e.g., a pure POSIX system).
81411         (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME
81412         instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems.
81413
81414 2002-12-06  Paul Eggert  <eggert@twinsun.com>
81415
81416         Undo the 2001-07-02 change for jm-glibc-io, as it was too much of
81417         a pain in practice to deal with generated m4 files.  This change
81418         goes together with the 2002-12-04 unlocked-io.h change in ../lib.
81419
81420         * m4/Makefile.am.in (Makefile.am): Don't mention jm-glibc-io.m4n
81421         and jm-glibc-io.m4, as they are no longer a special case.
81422         * m4/jm-glibc-io.m4: Rename from jm-glibc-io.m4n, and remove the
81423         kludge and the auto-generation stuff.  Check only whether the
81424         functions are declared, not whether they exist, since older hosts
81425         that don't declare the functions can't use the optimization anyway.
81426
81427 2002-12-06  Jim Meyering  <jim@meyering.net>
81428
81429         * lib/error.c: Be consistent: change `#ifndef _LIBC' to `#if !_LIBC'.
81430
81431         Merge in changes from libc's misc/error.c, in preparation
81432         for the merge of gnulib's changes back into libc.
81433
81434         * lib/error.c (_): Define only if not already defined.
81435         Move definition to follow all #include directives.
81436         Include unlocked-io.h only if !_LIBC.
81437         [_LIBC]: Include <libio/libioP.h>.
81438         [USE_IN_LIBIO]: Include <libio/iolibio.h>
81439         (fflush): Tweak definition to use INTUSE.
81440         (putc): Define.
81441
81442 2002-12-05  Paul Eggert  <eggert@twinsun.com>
81443
81444         * lib/alloca.c [defined emacs]: Include "lisp.h".
81445         (xalloc_die) [defined emacs]: New macro.
81446         (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE.
81447         [! defined emacs]: Include <xalloc.h>.
81448         (POINTER_TYPE) [!defined POINTER_TYPE]: New macro.
81449         (pointer): Typedef to POINTER_TYPE *.
81450         (malloc): Remove decl; we now always use xmalloc.
81451         (alloca): Use old-style definition, since Emacs needs this.
81452         Check for arithmetic overflow when computing combined size.
81453
81454 2002-12-04  Paul Eggert  <eggert@twinsun.com>
81455
81456         Do not generate unlocked-io.h automatically, since it's easier to
81457         maintain it by hand.
81458
81459         * lib/unlocked-io.h: New file, from GNU diffutils,
81460         but with proper copyright notice and attribution.
81461         * lib/gen-uio: Remove.
81462         * lib/Makefile.am: Add copyright notice.
81463         (libfetish_a_SOURCES): Add unlocked-io.h.
81464         (BUILT_SOURCES, all-local): Remove unlocked-io.h.
81465         (DISTCLEANFILES, io_functions): Remove macros.
81466         (EXTRA_DIST): Remove gen_uio.
81467         (unlocked-io.h): Remove rule.
81468
81469 2002-12-04  Jim Meyering  <jim@meyering.net>
81470
81471         Reflect the fact that stat.c and lstat.c are no longer generated.
81472         * lib/Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c.
81473         (DISTCLEANFILES): Likewise.
81474         (EXTRA_DIST): Likewise.
81475         (all_local): Don't depend on stat.c or lstat.c.
81476         (stat.c, lstat.c): Remove rules.
81477         (EXTRA_DIST): Remove xstat.in.
81478
81479         * lib/xstat.in: Remove file.  Contents moved into stat.c.
81480         * lib/stat.c: New file.  Contents mostly from xstat.in.
81481         * lib/stat.c: Rework so that it may serve to define rpl_lstat, too.
81482         * lib/lstat.c: New file. Simply #define LSTAT and include stat.c.
81483
81484         * lib/safe-read.c: Rework so that it may serve to define safe_write,
81485         too.
81486         * lib/safe-write.c: Simply #define SAFE_WRITE and include safe-read.c.
81487
81488 2002-12-03  Jim Meyering  <jim@meyering.net>
81489
81490         * lib/safe-read.c, safe-write.c: Change variable names and comments,
81491         but not semantics, to minimize the differences between these two files.
81492         (safe_read): Change comment to mention SAFE_READ_ERROR.
81493
81494         * lib/safe-read.c (IS_EINTR): Define.
81495         (safe_read): Use IS_EINTR in place of in-function cpp directives.
81496
81497 2002-12-02  Jim Meyering  <jim@meyering.net>
81498
81499         * lib/safe-read.c (EINTR): Define.
81500         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
81501         (INT_MAX): Provide fallback.
81502         (safe_read): Rewrite to iterate IFF the read fails with EINTR.
81503
81504         * lib/safe-read.h (SAFE_READ_ERROR): Define.
81505
81506 2002-12-02  Bruno Haible  <bruno@clisp.org>
81507
81508         * lib/safe-write.c (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
81509         Define, taken from safe-read.c.
81510         (INT_MAX): Provide fallback.
81511         (safe_write): Rewrite to iterate IFF the write fails with EINTR.
81512         * lib/safe-write.h (SAFE_WRITE_ERROR): Define.
81513
81514         * lib/safe-read.c (EINTR): Remove definition.
81515         (safe_read): Don't use EINTR if it is absent.
81516
81517 2002-12-01  Jim Meyering  <jim@meyering.net>
81518
81519         * lib/safe-read.c: (safe_read): Also exit the loop when read returns
81520         zero.
81521         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define.
81522
81523 2002-11-27  Paul Eggert  <eggert@twinsun.com>
81524
81525         * lib/hash.c (hash_lookup, hash_get_first, hash_get_next,
81526         hash_find_entry, hash_rehash): Replace `if (limit <= value) abort ();'
81527         with `if (! (value < limit)) abort ();', for readability.
81528
81529 2002-11-26  Karl Berry  <karl@gnu.org>
81530
81531         * lib/strdup.c: copy from libc again, with jim's ok.
81532         * lib/.cppi-disable: re-add strdup.c
81533
81534 2002-11-25  Karl Berry  <karl@gnu.org>
81535
81536         * lib/strtoll.c: copy from libc, meaning we now #include <strtol.c>
81537         instead of "strtol.c".
81538
81539 2002-11-25  Karl Berry  <karl@gnu.org>
81540
81541         * config/install-sh: update from automake for variable quoting, $0 in
81542         error msgs, etc.
81543
81544         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): new entry.
81545         * config/srclist.txt ($LIBCSRC/sysdeps/generic/strtoll.c lib gpl): new
81546         entry.
81547
81548 2002-11-25  Jim Meyering  <jim@meyering.net>
81549
81550         * lib/mktime.c: Sync from libc, now that it has the latest fix.
81551
81552 2002-11-24  Karl Berry  <karl@gnu.org>
81553
81554         * lib/error.c, getopt.c, getopt.h, getopt1.c, obstack.c, regex.c,
81555         regex.h, strdup.c, strtoll.c, tempname.c: change license to gpl.
81556
81557 2002-11-24  Jim Meyering  <jim@meyering.net>
81558
81559         Update from coreutils:
81560
81561         * lib/mktime.c: Merge in changes from libc.
81562
81563         Avoid a link-time failure on some Linux systems.
81564         * lib/mktime.c (STATIC): Define to be empty (_LIBC) or `static'
81565         (otherwise).
81566         (__mon_yday): Declare with the STATIC attribute.
81567         (__mktime_internal): Likewise.
81568         Based on a report from Greg Schafer.
81569
81570 2002-11-23  Jim Meyering  <jim@meyering.net>
81571
81572         * lib/sig2str.c (str2signum, sig2str): Avoid a warning from gcc:
81573         Use `unsigned', not `int', as type of index.
81574
81575         * lib/xstat.in [@BEGIN_LSTAT_ONLY@]: Include <string.h>.
81576
81577         * lib/fsusage.c: Remove unneeded parentheses around operands of
81578         `defined'.
81579
81580 2002-11-22  Paul Eggert  <eggert@twinsun.com>
81581
81582         * lib/quotearg.h: Allow multiple inclusion by surrounding with
81583         "#ifndef QUOTEARG_H_".  Include <stddef.h>, for size_t,
81584         so that we can be included first.
81585         (PARAMS): Remove; we now assume C89 or later.  All uses removed.
81586         * lib/quotearg.c: Include quotearg.h immediately after config.h.
81587         No need to include stddef.h or sys/types.h any more.
81588         Surround local include files with "", not "<>".
81589         Assume HAVE_LIMITS_H unconditionally, as we assume C89.
81590         Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX,
81591         HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS.
81592         (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
81593         (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
81594         (ISPRINT): Remove; no longer needed now that we assume C89.
81595
81596         (clone_quoting_options, quotearg_buffer, quotearg_n_options):
81597         Preserve errno.
81598
81599         (quotearg_buffer_restyled, quotearg_n, quotearg_n_style,
81600         quotearg_char): Use SIZE_MAX rather than
81601         (size_t) -1 when we are talking about "infinity".
81602
81603         (quotearg_buffer_restyled): Fix bug when quoting trigraphs.
81604
81605 2002-11-22  Paul Eggert  <eggert@twinsun.com>
81606
81607         * lib/hash.c: Avoid use of <assert.h>, as the GNU Coding Standards
81608         hint that one should use `if (! x) abort ();' rather than `assert
81609         (x);', and anyway it's one less thing to worry about configuring.
81610         (hash_lookup, hash_get_first, hash_get_next, hash_find_entry,
81611         hash_rehash, hash_insert): Use abort rather than assert.
81612
81613 2002-11-22  Bruno Haible  <bruno@clisp.org>
81614
81615         * lib/safe-read.h: Assume C89. Add comments.
81616         (safe_read): Change return type to size_t.
81617         * lib/safe-read.c (safe_read): Change return type to size_t. Handle
81618         byte counts > SSIZE_MAX correctly.
81619         * lib/safe-write.h: New file.
81620         * lib/safe-write.c: New file.
81621         * lib/full-read.h: New file.
81622         * lib/full-read.c: New file.
81623         * lib/full-write.h: Assume C89. Add comments.
81624         * lib/full-write.c: Include safe-write.h.
81625         (full_write): Rewritten to use safe_write.
81626         Suggested by Jim Meyering and Paul Eggert.
81627
81628 2002-11-21  Jim Meyering  <jim@meyering.net>
81629
81630         * lib/strdup.c (strdup): Tweak comment and initial #if/#include.
81631
81632         Merge in changes from the coreutils.
81633
81634         2002-09-25  Paul Eggert  <eggert@twinsun.com>
81635         * lib/fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include
81636         <stdint.h>.
81637         (UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro.
81638         (PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than
81639         int.  Work more efficiently if X is the same width as uintmax_t.
81640         Do not compare X to -1, to avoid bogus compiler warning.
81641         (get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast.
81642         Don't assume that f_frsize and f_bsize are the same type.
81643
81644         * lib/mountlist.c: #undef MNT_IGNORE before defining it, to avoid
81645         warning on FreeBSD.
81646
81647         * lib/makepath.c (make_path): Restore umask *before* creating the final
81648         component.
81649         (make_path): Minor reformatting.
81650
81651         * lib/xmalloc.c: Adjust to work with new autoconf macros,
81652         AC_FUNC_MALLOC and AC_FUNC_REALLOC: test #ifndef
81653         HAVE_MALLOC/HAVE_REALLOC.
81654
81655         * lib/mountlist.h (ME_DUMMY): Don't count entries of type `auto' as
81656         dummy ones.  At least on GNU/Linux systems, `auto' means something
81657         else.
81658         From Michael Stone.
81659
81660 2002-11-21  Bruno Haible  <bruno@clisp.org>
81661
81662         Remove case insensitive option matching.
81663         * lib/argmatch.h (argcasematch): Remove declaration.
81664         (ARGCASEMATCH): Remove macro.
81665         (__xargmatch_internal): Remove case_sensitive argument.
81666         (XARGMATCH): Update.
81667         (XARGCASEMATCH): Remove macro.
81668         * lib/argmatch.c (argmatch): Renamed from __argmatch_internal. Remove
81669         case_sensitive argument.
81670         (argcasematch): Remove function.
81671         (__xargmatch_internal): Remove case_sensitive argument.
81672         (main): Use XARGMATCH instead of XARGCASEMATCH.
81673
81674         * lib/xmalloc.c: Change compile-time error message. Add comment about
81675         required autoconf version.
81676
81677 2002-11-20  Paul Eggert  <eggert@twinsun.com>
81678
81679         Merge argmatch cleanups from Bison.  Assume C89.
81680
81681         * lib/argmatch.c: Include config.h here, not in argmatch.h.
81682         Include stdlib.h, for EXIT_FAILURE.
81683         Always include <string.h>, since we assume C89.
81684         (EXIT_FAILURE): Remove pre-C89 bug workaround.
81685         * lib/argmatch.h: Do not include <config.h> or <sys/types.h>.
81686         Include <stddef.h> instead, since it's all we need for size_t.
81687         (PARAMS): Remove.  All uses removed.
81688         (ARRAY_CARDINALITY): Do not bother to #undef.
81689         (ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg,
81690         ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
81691         Remove unnecessary parentheses.
81692         (ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
81693         Insert necessary parentheses.
81694         (ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros.
81695         (ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT.
81696
81697 2002-11-19  Bruno Haible  <bruno@clisp.org>
81698
81699         * lib/mbswidth.c: Include mbswidth.h right at the beginning.
81700         * lib/mbswidth.h: Include <stddef.h>, for size_t.
81701
81702         * lib/mbswidth.h (PARAMS): Remove macro.
81703         (mbswidth, mbsnwidth): Use ANSI C function declarations.
81704         * lib/mbswidth.c (mbswidth, mbsnwidth): Likewise.
81705
81706         * lib/gcd.h (PARAMS): Remove macro.
81707         (gcd): Use ANSI C function declarations.
81708         * lib/gcd.c (gcd): Likewise.
81709
81710 2002-11-15  Bruno Haible  <bruno@clisp.org>
81711
81712         * lib/strcspn.c: Include <stddef.h>.
81713         (strcspn): Use ANSI C function declaration. Change return type to
81714         size_t. Use NULL.
81715         * lib/strpbrk.c: Minimize diffs to glibc. Include <stddef.h>.
81716         (strpbrk): Use NULL.
81717         * lib/strpbrk.h (PARAMS): Remove macro.
81718         (strpbrk): Use ANSI C function declaration.
81719         * lib/strstr.c: Don't include <sys/types.h>.
81720         * lib/strstr.h (PARAMS): Remove macro.
81721         (strstr): Use ANSI C function declarations.
81722
81723 2002-11-14  Karl Berry  <karl@gnu.org>
81724
81725         * config/mkinstalldirs: `do' on separate line, instead of
81726         `for var; do'.
81727
81728 2002-11-06  Bruno Haible  <bruno@clisp.org>
81729
81730         * lib/gcd.h (gcd): Change argument type to 'unsigned long'.
81731         * lib/gcd.c (gcd): Likewise.
81732
81733 2002-11-05  Bruno Haible  <bruno@clisp.org>
81734
81735         * lib/gcd.h: New file, from gettext-0.11.5.
81736         * lib/gcd.c: New file, from gettext-0.11.5.
81737
81738 2002-11-05  Bruno Haible  <bruno@clisp.org>
81739
81740         * lib/error.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
81741         * lib/getopt.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
81742         * lib/obstack.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
81743         * lib/regex.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
81744
81745         * lib/argmatch.c: Include gettext.h instead of <locale.h> and
81746         <libintl.h>.
81747         * lib/makepath.c: Include gettext.h instead of <locale.h> and
81748         <libintl.h>.
81749
81750         * lib/closeout.c: Include gettext.h instead of <libintl.h>.
81751         * lib/human.c: Include gettext.h instead of <libintl.h>.
81752         * lib/quotearg.c: Include gettext.h instead of <libintl.h>.
81753         * lib/rpmatch.c: Include gettext.h instead of <libintl.h>.
81754         * lib/unicodeio.c: Include gettext.h instead of <libintl.h>.
81755         * lib/userspec.c: Include gettext.h instead of <libintl.h>.
81756         * lib/version-etc.c: Include gettext.h instead of <libintl.h>.
81757         * lib/xmalloc.c: Include gettext.h instead of <libintl.h>.
81758         (textdomain): Remove definition.
81759         * lib/xmemcoll.c: Include gettext.h instead of <libintl.h>.
81760
81761         * lib/long-options.c: Remove include of <libintl.h> and definition of
81762         _.
81763         * lib/same.c: Remove include of <libintl.h> and definition of _.
81764
81765 2002-11-04  Owen Taylor  <otaylor@redhat.com>
81766
81767         * lib/config.charset: A few additions for Solaris.
81768
81769 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
81770
81771         Make it possible to build libcharset with CC=gcc CFLAGS="-x c++".
81772         * lib/localcharset.c (locale_charset): Declare as extern "C".
81773
81774 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
81775
81776         * lib/config.charset: msdos in uk_UA uses CP1125.
81777
81778 2002-11-04  Bruno Haible  <bruno@clisp.org>
81779
81780         * lib/stpcpy.h: New file, from GNU gettext-0.11.5.
81781         * lib/strcase.h: New file, from GNU gettext-0.11.5.
81782         * lib/strpbrk.h: New file, from GNU gettext-0.11.5.
81783         * lib/strstr.h: New file, from GNU gettext-0.11.5.
81784         * lib/xgetcwd.h: New file, from GNU gettext-0.11.5.
81785
81786 2002-11-04  Bruno Haible  <bruno@clisp.org>
81787
81788         * lib/localcharset.c (locale_charset): Don't return an empty string.
81789
81790 2002-11-04  Bruno Haible  <bruno@clisp.org>
81791
81792         * lib/localcharset.c (get_charset_aliases): Add more Windows specific
81793         aliases.
81794
81795 2002-11-04  Bruno Haible  <bruno@clisp.org>
81796
81797         * lib/config.charset: Update for newest glibc. Add canonical names
81798         ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS.
81799
81800 2002-11-04  Bruno Haible  <bruno@clisp.org>
81801
81802         * lib/config.charset: Add support for NetBSD.
81803
81804 2002-11-04  Bruno Haible  <bruno@clisp.org>
81805
81806         * lib/config.charset [msdosdjgpp]: For Russian, use CP866.
81807
81808 2002-11-01  Bruno Haible  <bruno@clisp.org>
81809
81810         * configure.in: Add AC_CONFIG_AUX_DIR call.
81811         (AC_OUTPUT): Add m4/Makefile, lib/Makefile. Remove doc/Makefile,
81812         test/Makefile.
81813         * Makefile.in (subdirs): Add m4, lib. Remove doc, test.
81814
81815 2002-09-28  Karl Berry  <karl@gnu.org>
81816
81817         * config/srclist.txt: can't copy install-sh/mkinstalldirs from
81818         installed automake until the next release, since changes have been
81819         made.
81820
81821 2002-09-25  Karl Berry  <karl@gnu.org>
81822
81823         * lib/strdup.c: copy from libc/string (via ../config/srclist*).
81824         * lib/getopt*: copy from libc/posix.
81825         * lib/gettext.h: copy from gettext.
81826         * lib/.cppi-disable: add strdup.c, gettext.h.
81827
81828 2002-09-25  Karl Berry  <karl@gnu.org>
81829
81830         * config/srclist.txt: enable gettext.h check.
81831         * config/config.{guess,sub}: update from prep.
81832         * config/depcomp, install-sh, mdate-sh, missing, mkinstalldirs: update
81833                 from automake 1.6.3.
81834         See srclist*.
81835
81836 2002-08-23  Stefan Monnier  <monnier@cs.yale.edu>
81837
81838         * regex.c (PATFETCH): Remove the translating fetch.
81839         (PATFETCH_RAW): Rename to PATFETCH.
81840         (set_image_of_range): New fun.
81841         (SET_RANGE_TABLE_WORK_AREA): Use it.
81842         (regex_compile): Don't translate the pattern chars so eagerly.
81843         Only do it when inserting an `exactn' bytecode or when handling
81844         a char-range.
81845         (mutually_exclusive_p): Avoid empty statement.
81846
81847 2002-07-06  Jim Meyering  <meyering@lucent.com>
81848
81849         * m4/README: Don't mention Makefile.am.in.
81850         Outline how I've tested changes to .m4 files.  Yep, it's a pain.
81851
81852 2002-07-01  Jim Meyering  <meyering@lucent.com>
81853
81854         * lib/c-stack.c: Include sys/time.h.
81855         From Volker Borchert.
81856
81857 2002-06-26  Paul Eggert  <eggert@twinsun.com>
81858
81859         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc.
81860
81861 2002-06-26  Paul Eggert  <eggert@twinsun.com>
81862
81863         * lib/fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT):
81864         New macro.  Use it uniformly instead of
81865         (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H).
81866         It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1
81867         reported by Vin Shelton.
81868
81869 2002-06-22  Paul Eggert  <eggert@twinsun.com>
81870
81871         * lib/c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]:
81872         Do not assume SA_SIGINFO behavior.
81873         Bug reported by Jim Meyering on NetBSD 1.5.2.
81874
81875 2002-06-22  Jim Meyering  <meyering@lucent.com>
81876
81877         * m4/c-stack.m4: New file, from diffutils-2.8.2.
81878         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK.
81879
81880         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE,
81881         now that configure.ac uses AC_GNU_SOURCE.
81882         (jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU.
81883         * m4/prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH.
81884
81885         Update to latest tools.  Suggestions from Paul Eggert.
81886         * m4/stdbool.m4: New file, from diffutils-2.8.2.
81887         * m4/gnu-source.m4: Update from diffutils-2.8.2.
81888         * m4/fnmatch.m4: Likewise.
81889         * m4/prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h)
81890         to AC_HEADER_STDBOOL
81891
81892 2002-06-22  Jim Meyering  <meyering@lucent.com>
81893
81894         * lib/fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about
81895         redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h.
81896
81897 2002-06-22  Jim Meyering  <meyering@lucent.com>
81898
81899         * lib/c-stack.c, lib/c-stack.h: New files, from diffutils-2.8.2.
81900
81901         * lib/exitfail.c, exitfail.h: Likewise.
81902         * lib/Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h.
81903
81904         * lib/Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place
81905         of fnmatch.h.
81906         (EXTRA_DIST): Add fnmatch_loop.c.
81907         (libfetish_a_SOURCES): Add c-stack.c and c-stack.h.
81908
81909         * lib/fnmatch_loop.c: New file, from diffutils-2.8.2.
81910         * lib/fnmatch.c: Update from diffutils-2.8.2.
81911         * lib/fnmatch_.h: New file.  From diffutils-2.8.2.
81912         * lib/fnmatch.h: Remove file.
81913
81914 2002-06-21  Jim Meyering  <meyering@lucent.com>
81915
81916         * m4/c-bs-a.m4: Add comment, from diffutils-2.8.2.
81917         * m4/mbrtowc.m4: Likewise.
81918
81919         * m4/mbstate_t.m4: Update from diffutils-2.8.2.
81920         * m4/mbswidth.m4: Reflect name change:
81921         s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T.
81922         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
81923
81924         * m4/lib-link.m4: Update from gettext-0.11.2.
81925         * m4/gettext.m4: Likewise.
81926
81927         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h.
81928         From Alfred M. Szmidt.
81929
81930 2002-06-18  Paul Eggert  <eggert@twinsun.com>
81931
81932         * lib/file-type.h: Report an error if neither S_ISREG nor
81933         S_IFREG is defined, instead of using a test specific to glibc
81934         2.2.  This should be safe, since POSIX requires S_ISREG and
81935         Unix Version 7 had S_IFREG.  We don't need to check for
81936         <sys/types.h> since we don't use any symbols that it defines.
81937
81938 2002-06-15  Richard Dawe  <richdawe@bigfoot.com>
81939
81940         * lib/Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than
81941         $@-t, so that each temporary file name is unique and valid in the first
81942         8 characters, for operation under DOS.
81943
81944 2002-06-15  Paul Eggert  <eggert@twinsun.com>
81945
81946         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author.
81947
81948 2002-06-15  Jim Meyering  <meyering@lucent.com>
81949
81950         Work even with DJGPP 2.03, which lacks support for symlinks.
81951         From Richard Dawe.
81952         * lib/xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK
81953         is defined.
81954         * lib/lchown.c (S_ISLNK): Likewise.
81955
81956 2002-06-15  Jim Meyering  <meyering@lucent.com>
81957
81958         * lib/file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef.
81959         For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h>
81960         have been included before this file.
81961
81962 2002-06-14  Jim Meyering  <meyering@lucent.com>
81963
81964         * lib/file-type.h: Use the version from diffutils-2.8.2.
81965         * lib/file-type.c: Likewise.
81966
81967 2002-06-07  Jim Meyering  <meyering@lucent.com>
81968
81969         * m4/prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h.
81970         They're needed at least for NetBSD 1.5.2.
81971         ($statxfs_includes): Include those same headers.
81972         ($statxfs_includes): Include sys/vfs.h if available.
81973         ($statxfs_includes): Likewise for sys/statvfs.h.
81974         Check for the following members in both structs statfs and statvfs:
81975         f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen.
81976
81977 2002-06-01  Jim Meyering  <meyering@lucent.com>
81978
81979         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro:
81980         s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/.
81981
81982 2002-05-28  Jim Meyering  <meyering@lucent.com>
81983
81984         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'.
81985         Reported by Volker Borchert.
81986
81987 2002-05-27  Jim Meyering  <meyering@lucent.com>
81988
81989         Fix a problem seen only on nonconforming systems whereby ls.c's
81990         use of localtime, and then of gettimeofday would cause trouble:
81991         the localtime call used to initialize rpl_gettimeofday's save
81992         mechanism would clobber ls's current local time information so
81993         that in any long listing the first file would always be listed
81994         with date 1970-01-01.  Analysis by Volker Borchert.
81995
81996         * lib/gettimeofday.c (localtime): Undefine.
81997         (rpl_localtime): New function.
81998
81999 2002-05-27  Jim Meyering  <meyering@lucent.com>
82000
82001         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace
82002         localtime.
82003
82004         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to
82005         use the replacement function; it wouldn't resolve at link time.
82006         Reported by Volker Borchert.
82007
82008 2002-05-22  Jim Meyering  <meyering@lucent.com>
82009
82010         * lib/Makefile.am (libfetish_a_SOURCES): Add file-type.c and
82011         file-type.h.
82012         * lib/file-type.h: New file.
82013         * lib/file-type.c (file_type): New file/function.  Extracted from
82014         diffutils.
82015
82016 2002-04-30  Jim Meyering  <meyering@lucent.com>
82017
82018         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT.
82019
82020 2002-04-29  Paul Eggert  <eggert@twinsun.com>
82021
82022         * m4/prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed.
82023
82024 2002-04-29  Paul Eggert  <eggert@twinsun.com>
82025
82026         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h.
82027         Do not check for alloca.h (no longer used) or stdbool.h (was never
82028         used?).  Add AM_C_PROTOTYPES since hard-locale.h uses it.
82029
82030 2002-04-29  Paul Eggert  <eggert@twinsun.com>
82031
82032         * lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1.
82033
82034 2002-04-29  Jim Meyering  <meyering@lucent.com>
82035
82036         * m4/jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN.
82037         * m4/prereq.m4: Add jm_PREREQ_STRNLEN.
82038         Use AC_FUNC_STRNLEN here instead.
82039
82040         * m4/jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]).
82041         With autoconf-2.53a, it's part of AC_PROG_CC.
82042
82043 2002-04-28  Paul Eggert  <eggert@twinsun.com>
82044
82045         * m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str).
82046         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR.
82047
82048 2002-04-28  Paul Eggert  <eggert@twinsun.com>
82049
82050         * lib/sig2str.h, lib/sig2str.c: New files.
82051         * lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h.
82052
82053 2002-04-28  Paul Eggert  <eggert@twinsun.com>
82054
82055         * lib/sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid
82056         depending on <sys/wait.h> and WTERMSIG.  Default to 64 instead
82057         of 127, since 64 is the largest conceivable number for ancient
82058         nonstandard hosts.
82059         * lib/sig2str.c: Do not include <sys/wait.h>; no longer needed.
82060
82061 2002-04-28  Jim Meyering  <meyering@lucent.com>
82062
82063         * lib/sig2str.c (WTERMSIG): Remove definition (unused).
82064
82065 2002-04-24  Jim Meyering  <meyering@lucent.com>
82066
82067         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro.
82068         (jm_PREREQ): Use it.
82069
82070         * m4/getloadavg.m4: Check for these headers: locale.h unistd.h
82071         mach/mach.h fcntl.h.
82072         Check for this function: setlocale.
82073
82074 2002-04-24  Jim Meyering  <meyering@lucent.com>
82075
82076         * lib/gettext.h: New file, from Gettext.
82077         * lib/Makefile.am (INCLUDES): Remove -I../intl.
82078         (libfetish_a_SOURCES): Add gettext.h.
82079
82080 2002-04-16  Jim Meyering  <meyering@lucent.com>
82081
82082         * m4/prereq.m4 (jm_PREREQ_READUTMP): Also check for these members:
82083         ut_pid, ut_id, ut_exit.
82084
82085 2002-04-16  Jim Meyering  <meyering@lucent.com>
82086
82087         * lib/readutmp.h (UT_TYPE): Remove definition (now in who.c).
82088         (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define.
82089         (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define.
82090
82091 2002-04-12  Jim Meyering  <meyering@lucent.com>
82092
82093         * m4/ls-mntd-fs.m4 (checking for getmntinfo function...): Remove
82094         now-bogus check for f_type in sys/mount.h.  Instead, just test for the
82095         existence of the getmntinfo function.  Needed for Darwin 5.3.
82096
82097         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro.
82098         This is necessary at least on Darwin 5.3.
82099
82100         * m4/jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use
82101         AC_FUNC_STRNLEN.  Otherwise, we'd end up putting two copies of
82102         strnlen.o in the library, and that makes some versions of ranlib
82103         object.
82104
82105 2002-04-12  Jim Meyering  <meyering@lucent.com>
82106
82107         * lib/dirfd.h (dirfd): Elide prototype if dirfd is a macro.
82108
82109 2002-04-09  Jim Meyering  <meyering@lucent.com>
82110
82111         * m4/malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message
82112         to be more precise.  Rather than saying we're checking whether the
82113         function `works', say what we're testing.
82114         * m4/realloc.m4 (jm_FUNC_REALLOC): Likewise.
82115         Reported by Bruno Haible.
82116
82117 2002-03-10  Jim Meyering  <meyering@lucent.com>
82118
82119         * lib/makepath.c (make_path): Remove a comma from a diagnostic.
82120         Suggestion from Santiago Vila.
82121
82122 2002-03-08  Jim Meyering  <meyering@lucent.com>
82123
82124         * lib/rename.c: Mention that this wrapper is needed also on
82125         mips-dec-ultrix4.4 systems.
82126
82127 2002-03-02  Jim Meyering  <meyering@lucent.com>
82128
82129         * lib/gettime.c (gettime): Test HAVE_CLOCK_GETTIME,
82130         not HAVE_CLOCK_SETTIME.
82131
82132 2002-02-27  Paul Eggert  <eggert@twinsun.com>
82133
82134         * m4/jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used.
82135         Check for clock_settime.
82136
82137 2002-02-27  Paul Eggert  <eggert@twinsun.com>
82138
82139         * lib/nanosleep.h: Rename to....
82140         * lib/timespec.h: New name for nanosleep.h.  All uses changed.
82141
82142         * lib/gettime.c: New file.
82143         * lib/settime.c: New file.
82144         * lib/stime.c: Remove.
82145
82146         * lib/Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c,
82147         timespec.h.  Remove nanosleep.h.
82148
82149 2002-02-25  Paul Eggert  <eggert@twinsun.com>
82150
82151         * m4/acl.m4: New file.
82152         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL.
82153         Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now.
82154
82155 2002-02-25  Paul Eggert  <eggert@twinsun.com>
82156
82157         * lib/acl.c, lib/acl.h: New files.
82158         * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c.
82159
82160 2002-02-24  Jim Meyering  <meyering@lucent.com>
82161
82162         * lib/strnlen.c (strnlen): Define-away/undef so that an inconsistent
82163         prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't
82164         cause trouble.  Reported by Nelson Beebe.
82165
82166 2002-02-23  Paul Eggert  <eggert@twinsun.com>
82167
82168         * lib/path-concat.c (xpath_concat): Reorder code to pacify
82169         compilers that don't know that xalloc_die never returns.
82170
82171 2002-02-20  Jim Meyering  <meyering@lucent.com>
82172
82173         * lib/getdate.c: Regenerate using bison-1.33.
82174
82175 2002-02-17  Jim Meyering  <meyering@lucent.com>
82176
82177         * config/config.guess (main): Don't use `head -1'; it's no longer
82178         portable. Use `sed 1q' instead.
82179
82180 2002-02-16  gettextize  <bug-gnu-gettext@gnu.org>
82181
82182         * m4/codeset.m4: Upgrade to gettext-0.11.
82183         * m4/gettext.m4: Upgrade to gettext-0.11.
82184         * m4/glibc21.m4: Upgrade to gettext-0.11.
82185         * m4/iconv.m4: Upgrade to gettext-0.11.
82186         * m4/isc-posix.m4: Upgrade to gettext-0.11.
82187         * m4/lcmessage.m4: Upgrade to gettext-0.11.
82188         * m4/lib-ld.m4: New file, from gettext-0.11.
82189         * m4/lib-link.m4: New file, from gettext-0.11.
82190         * m4/lib-prefix.m4: New file, from gettext-0.11.
82191         * m4/progtest.m4: Upgrade to gettext-0.11.
82192
82193 2002-02-15  Paul Eggert  <eggert@twinsun.com>
82194
82195         * m4/prereq.m4 (jm_PREREQ_POSIXVER): New macro.
82196         (jm_PREREQ): Use it.
82197
82198 2002-02-15  Paul Eggert  <eggert@twinsun.com>
82199
82200         * lib/posixver.c, lib/posixver.h: New files.
82201         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
82202
82203 2002-02-02  Paul Eggert  <eggert@twinsun.com>
82204             Bruno Haible  <bruno@clisp.org>
82205
82206         * lib/unicodeio.h (print_unicode_char): Add exit_on_error argument.
82207         (fwrite_success_callback): New declaration.
82208         * lib/unicodeio.c (unicode_to_mb): New function, extracted from
82209         print_unicode_char. Call failure callback instead of error.
82210         (fwrite_success_callback): New function.
82211         (exit_failure_callback): New function.
82212         (fallback_failure_callback): New function.
82213         (print_unicode_char): Call unicode_to_mb.
82214
82215 2002-01-26  Jim Meyering  <meyering@lucent.com>
82216
82217         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.52g.
82218         * m4/strnlen.m4: Remove file, now that it's part of autoconf.
82219
82220 2002-01-26  Jim Meyering  <meyering@lucent.com>
82221
82222         * lib/Makefile.am (getdate$U.o): Depend on unlocked-io.h.
82223
82224 2002-01-22  Paul Eggert  <eggert@twinsun.com>
82225
82226         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO.
82227
82228 2002-01-22  Jim Meyering  <meyering@lucent.com>
82229
82230         * lib/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES).
82231         Otherwise, some versions of automake would omit the rule that makes
82232         Makefile from Makefile.in.
82233
82234 2002-01-21  Paul Eggert  <eggert@twinsun.com>
82235
82236         * lib/xmemcoll.h, lib/xmemcoll.c: New files.
82237         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
82238         * lib/memcoll.c: Include errno.h, and declare errno if not defined.
82239         (memcoll): Set errno to zero if there is no error.
82240
82241         * lib/quotearg.c (quotearg_buffer_restyled):
82242         Fix bug with quoting buffers containing NUL when backslashing escapes.
82243         This bug was exposed by the other changes in this patch.
82244         (quotearg_n_options): New arg ARGSIZE.
82245         All callers changed.
82246         (quoting_options_from_style): New function.
82247         (quotearg_n_style): Use it.
82248         (quotearg_n_style_mem): New function.
82249
82250         * lib/quotearg.h (quotearg_n_style_mem): New function.
82251
82252 2002-01-19  Jim Meyering  <meyering@lucent.com>
82253
82254         * m4/jm-macros.m4 (jm_MACROS): Use AC_FUNC_STRNLEN.
82255         Remove useless quotes: DF_PROG="df".
82256         * m4/strnlen.m4: New file.
82257
82258 2002-01-16  Paul Eggert  <eggert@twinsun.com>
82259
82260         * lib/backupfile.c (ISDIGIT): Comment fix.
82261         * lib/getdate.y (ISDIGIT): Likewise.
82262         * lib/posixtm.c (ISDIGIT, year): Likewise.
82263         * lib/strverscmp.c (ISDIGIT): Likewise.
82264         * lib/userspec.c (ISDIGIT): Likewise.
82265
82266 2002-01-16  Jim Meyering  <meyering@lucent.com>
82267
82268         * lib/getdate.y: Add three semicolons, each just before a closing
82269         brace. Bison (as of version 1.31) no longer papers over that mistake.
82270
82271 2002-01-05  Jim Meyering  <meyering@lucent.com>
82272
82273         * lib/version-etc.c (version_etc_copyright): Update copyright year.
82274
82275 2001-12-19  Paul Eggert  <eggert@twinsun.com>
82276
82277         * lib/closeout.c (close_stdout_status): If ferror (stdout), do
82278         not silently exit merely because the output buffer happens to
82279         have nothing pending.
82280
82281 2001-12-18  Paul Eggert  <eggert@twinsun.com>
82282
82283         See the big note in ../ChangeLog.
82284         * lib/human.c (suffixes): Prefer K to k for 1024.
82285         (generate_suffix_backwards): New function.
82286         (human_readable_inexact): Use it.
82287         * lib/xstrtol.c (__xstrtol): If there is no number but there
82288         is a valid suffix, assume 1.  "MB" now means decimal, "MiB" binary.
82289         Accept 'K' as well as 'k'.
82290
82291 2001-12-15  Jim Meyering  <meyering@lucent.com>
82292
82293         * lib/regex.h (__restrict_arr): Update from libc.
82294
82295         * lib/mountlist.h (ME_REMOTE): Recognize file systems of type smbfs
82296         as `remote' if the name starts with `//'.  Suggested by Michael Stone.
82297         (STREQ): Define.
82298
82299 2001-12-14  Jim Meyering  <meyering@lucent.com>
82300
82301         * m4/jm-macros.m4 (jm_MACROS): Check for iswspace.
82302         Suggestion from Bruno Haible.
82303
82304 2001-12-10  Jim Meyering  <meyering@lucent.com>
82305
82306         * lib/linebuffer.c: Remove explicit declarations of xmalloc and
82307         xrealloc, Instead, include "xalloc.h".
82308         (initbuffer): Don't cast xmalloc return value to char*.
82309         (readline): Reword comment.
82310         Don't cast xrealloc return value to char*
82311         Return NULL, not 0.
82312
82313 2001-12-09  Jim Meyering  <meyering@lucent.com>
82314
82315         * lib/modechange.c (mode_compile): Add cast to avoid pedantic warning
82316         about `signed and unsigned type in conditional expression'.
82317         * lib/posixtm.c (posix_time_parse): Likewise.
82318
82319         * lib/xreadlink.c (xreadlink): Add cast to avoid a pedantic warning.
82320
82321         * lib/readtokens.c (readtoken): Declare an index to be of type unsigned
82322         to avoid a pedantic warning.
82323
82324         * lib/getstr.c: Don't include assert.h.
82325         (getstr): Remove warning-evoking assertions.
82326         Return -1 if offset parameter is out of bounds.
82327         Change the type of a local from int to size_t.
82328
82329         * lib/strftime.c (my_strftime_localtime_r): Include this function
82330         definition in the `#if ! HAVE_TM_GMTOFF' block.
82331
82332         * lib/xgethostname.c: Remove declarations of xmalloc and xrealloc.
82333         Include xalloc.h instead.
82334
82335 2001-12-02  Jim Meyering  <meyering@lucent.com>
82336
82337         * lib/tempname.c: Don't declare getenv, thus reverting the change of
82338         2001-11-18.  It's no longer necessary, now that stdlib.h is always
82339         included.
82340
82341         * lib/regex.c [!__BOUNDED_POINTERS__]: Define away __bounded,
82342         __unbounded, and __ptrvalue.  Reported by Uwe H. Steinfeld.
82343
82344 2001-11-30  Akim Demaille  <akim@epita.fr>
82345
82346         * lib/xstrdup.c: Include xalloc.h, so that xstrdup is declared
82347         before being defined.
82348
82349 2001-11-27  Paul Eggert  <eggert@twinsun.com>
82350
82351         * lib/quotearg.h (quotearg_n, quotearg_n_style):
82352         First arg is int, not unsigned.
82353         * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
82354         (SIZE_MAX, UINT_MAX): New macros.
82355         (quotearg_n_options): Abort if N is negative.
82356         Avoid overflow check on hosts where size_t is 64 bits and int
82357         is 32 bits, as overflow is impossible there.
82358         Fix off-by-one typo that caused unnecessary reallocation.
82359
82360 2001-11-27  Jim Meyering  <meyering@lucent.com>
82361
82362         * lib/tempname.c: Merge with version from libc.
82363         * lib/regex.c: Likewise.
82364
82365         * lib/tempname.c: Include stdlib.h unconditionally.  On some old
82366         systems for which STDC_HEADERS is 0, it was not included, resulting in
82367         a warning about an integer-to-pointer conversion problem with getenv.
82368         Reported by Volker Borchert.
82369
82370 2001-11-26  Jim Meyering  <meyering@lucent.com>
82371
82372         * lib/gtod.h: Remove file.
82373         * lib/Makefile.am (libfetish_a_SOURCES): Remove gtod.h.
82374         * lib/gettimeofday.c: Don't include gtod.h.
82375         (GTOD_init): Remove function.
82376         (rpl_gettimeofday): Do its job here instead, rather than aborting.
82377         Suggestion from Volker Borchert.
82378
82379 2001-11-23  Jim Meyering  <meyering@lucent.com>
82380
82381         * lib/hash.h (struct hash_table): Don't define here.  Merely declare
82382         it.
82383         * lib/hash.c (struct hash_table): Define it here instead.
82384
82385 2001-11-22  Jim Meyering  <meyering@lucent.com>
82386
82387         * lib/hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif.
82388
82389 2001-11-20  Jim Meyering  <meyering@lucent.com>
82390
82391         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Update comment to reflect that
82392         SunOS 4.1.4 and Solaris 2.5.1 lose, too.
82393
82394 2001-11-19  Jim Meyering  <meyering@lucent.com>
82395
82396         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary
82397         directory.  Use "conftestXXXXXX" as the template.
82398         Suggestion from Paul Eggert.
82399
82400         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Close each descriptor
82401         immediately, so the test doesn't mistakenly hit the max-open-files
82402         limit.
82403
82404 2001-11-18  Paul Eggert  <eggert@twinsun.com>
82405
82406         * lib/tempname.c (TMP_MAX): Remove; no longer needed.
82407         (TEMPORARIES): New macro.
82408         (__gen_tempname): Use TEMPORARIES rather than TMP_MAX.  This
82409         removes an artificial limitation (e.g. HP-UX 10.20, where
82410         TMP_MAX is 17576).
82411
82412 2001-11-18  Jim Meyering  <meyering@lucent.com>
82413
82414         * m4/prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv.
82415
82416 2001-11-18  Jim Meyering  <meyering@lucent.com>
82417
82418         * lib/tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning
82419         on SunOS 4.
82420
82421         * lib/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those
82422         files will be created before anything else.
82423
82424 2001-11-17  Paul Eggert  <eggert@twinsun.com>
82425
82426         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define
82427         WINSIZE_IN_PTEM if <termios.h> defines struct winsize.
82428
82429 2001-11-17  Jim Meyering  <meyering@lucent.com>
82430
82431         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): New file and macro.
82432         Prompted by a report from Bob Proulx.
82433
82434         * m4/jm-macros.m4 (jm_MACROS): Don't test for mkstemp here.
82435         Instead, require UTILS_FUNC_MKSTEMP.
82436
82437 2001-11-17  Jim Meyering  <meyering@lucent.com>
82438
82439         * m4/jm-macros.m4 (jm_MACROS): Remove code to set POW_LIBM.
82440         Now, that's done as part of AC_FUNC_STRTOD.
82441
82442 2001-11-17  Jim Meyering  <meyering@lucent.com>
82443
82444         * lib/modechange.c (mode_adjust): Fix error introduced on 1999-04-26
82445         that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable
82446         rather than group writable.  Patch by Juan F. Codagnone.
82447
82448         * lib/readtokens.c: Remove explicit declarations of xmalloc and
82449         xrealloc, Instead, include "xalloc.h".
82450
82451         * lib/mountlist.c: Include unlocked-io.h after all system headers.
82452         Remove explicit declarations of xmalloc, xrealloc,
82453         and xstrdup.  Instead, include "xalloc.h".
82454
82455         * lib/argmatch.c, closeout.c, error.c, exclude.c: Include
82456         unlocked-io.h.
82457         * lib/fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c:
82458         Likewise.
82459         * lib/mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise.
82460
82461         * lib/regex.c, sha.c, version-etc.c, yesno.c: Likewise.
82462         Reported by Padraig Brady.
82463
82464         * lib/mkstemp.c: #undef mkstemp.
82465         Include config.h.
82466         (rpl_mkstemp): Rename from mkstemp.
82467         Protoize.
82468
82469 2001-11-16  Jim Meyering  <meyering@lucent.com>
82470
82471         * lib/physmem.c [HAVE_SYS_PSTAT_H]: Include <sys/pstat.h>.
82472         (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to
82473         determine the amount of total physical memory, use pstat_getstatic.
82474         HPUX-11 doesn't define _SC_PHYS_PAGES.
82475         (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]:
82476         If sysconf couldn't be used to determine the amount of available
82477         physical memory, use both pstat_getstatic and pstat_getdynamic.
82478         Based on a patch from Bob Proulx.
82479
82480 2001-11-10  Jim Meyering  <meyering@lucent.com>
82481
82482         * m4/prereq.m4 (jm_PREREQ_PHYSMEM): New function.
82483         (jm_PREREQ): Use it.
82484
82485 2001-11-09  Jim Meyering  <meyering@lucent.com>
82486
82487         * m4/jm-macros.m4: Require autoconf-2.52f.
82488         (AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD):
82489         Use these AC_-prefixed names, not the AM_-prefixed ones.
82490
82491         * m4/afs.m4 (jm_AFS): Quote the body.  Patch by Akim Demaille.
82492
82493 2001-11-05  Jim Meyering  <meyering@lucent.com>
82494
82495         * lib/xstat.in (slash_aware_lstat): Correct a misleading comment.
82496
82497 2001-11-04  Jim Meyering  <meyering@lucent.com>
82498
82499         * m4/fpending.m4: Remove unused cruft that saved, set, and restored
82500         $DEFS.
82501
82502 2001-11-03  Jim Meyering  <meyering@lucent.com>
82503
82504         * m4/jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg
82505         of AC_DEFUN.
82506
82507         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to
82508         know the name of the variable in the macro definition.
82509
82510 2001-11-03  Jim Meyering  <meyering@lucent.com>
82511
82512         * lib/argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args
82513         in argmatch_to_argument call.
82514
82515         * lib/dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an
82516         argument.
82517
82518         * lib/hash.c (hash_clear): Fix a bug that could lead to an infloop or
82519         e.g., a fault due to an attempt to free a NULL pointer.
82520
82521 2001-11-01  Jim Meyering  <meyering@lucent.com>
82522
82523         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): New macro.
82524         * m4/jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD.
82525
82526 2001-11-01  Jim Meyering  <meyering@lucent.com>
82527
82528         * lib/dirfd.c, lib/dirfd.h: New files.
82529         * lib/Makefile.am (libfetish_a_SOURCES): Add dirfd.h.
82530
82531         * lib/hash.c (hash_print) [TESTING]: Clean up.
82532
82533 2001-10-22  Paul Eggert  <eggert@twinsun.com>
82534
82535         * lib/hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__,
82536         to avoid a warning if -Wall.
82537
82538 2001-10-22  Jeff Bailey  <jbailey@outpost.dnsalias.org>
82539
82540         * README: New file
82541         * doc/*: Add COPYING, COPYING.LIB, COPYING.DOC, fdl.texi
82542         (per RMS's instructions, this is now the canonical source)
82543         * lgpl/, gpl/: New directories.
82544
82545 2001-10-21  Paul Eggert  <eggert@twinsun.com>
82546
82547         * lib/regex.c (uintptr_t): Remove macro and decl; it's config.h's job.
82548
82549 2001-10-21  Jim Meyering  <meyering@lucent.com>
82550
82551         * lib/obstack.c (_): Honor the setting of ENABLE_NLS.  Otherwise,
82552         this code would end up calling gettext even in packages built
82553         with --disable-nls.
82554         * lib/getopt.c (_): Likewise.
82555         * lib/regex.c (_): Likewise.
82556
82557 2001-10-20  Paul Eggert  <eggert@twinsun.com>
82558
82559         * m4/error.m4 (jm_PREREQ_ERROR):
82560         Do not invoke AC_CHECK_FUNCS with strerror_r, as
82561         AC_FUNC_STRERROR_R does that.
82562         Check for strerror declaration.
82563
82564         * m4/strerror_r.m4: Add copyright notice, as nontrivial m4 files
82565         are supposed to have them these days.
82566         (AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached.
82567         Merge changes from latest Autoconf CVS.
82568         Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p,
82569         and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since
82570         POSIX decided to standardize on the int flavor of strerror_r.
82571
82572 2001-10-20  Paul Eggert  <eggert@twinsun.com>
82573
82574         * lib/error.c (strerror_r): Do not declare unless !_LIBC.
82575         Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
82576         Use strerror_r that is only a macro, even if it is not a function.
82577         (strerror): Check for HAVE_DECL_STRERROR before declaring.
82578         (private_strerror): Use prototypes, not old-style function definition.
82579         (print_errno_message): New function.
82580         Support the POSIX 'int'-flavored strerror_r, as well as the traditional
82581         char*-flavored one.
82582         (error_tail, error, error_at_line): Use it.
82583
82584 2001-10-11  Jim Meyering  <meyering@lucent.com>
82585
82586         * lib/argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ...
82587         and quote_n (1, ... to avoid clobbering a buffer.
82588
82589 2001-10-05  Jim Meyering  <meyering@lucent.com>
82590
82591         * lib/Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and
82592         hash-pjw.h.
82593         * lib/hash-pjw.c: New file (factored out of fileutils' remove.c).
82594         * lib/hash-pjw.h: New file.
82595
82596 2001-09-30  Jim Meyering  <meyering@lucent.com>
82597
82598         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if
82599         `struct fsstat' has the `f_fstypename' member.
82600         Use that to define FS_TYPE, which is now used to make
82601         the getfsstat link test tighter.
82602
82603 2001-09-30  Jim Meyering  <meyering@lucent.com>
82604
82605         * lib/mountlist.c [MOUNTED_GETFSSTAT]:
82606         Include <sys/ucred.h>, for Apple Darwin.
82607         Include sys/mount.h and sys/fs_types.h only if available.
82608         (FS_TYPE): Define.
82609         (read_filesystem_list): Use FS_TYPE.
82610
82611 2001-09-29  Paul Eggert  <eggert@twinsun.com>
82612
82613         * lib/exclude.c (excluded_filename): 0 -> false, since it's
82614         a boolean context.
82615
82616 2001-09-29  Jim Meyering  <meyering@lucent.com>
82617
82618         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
82619         [one-argument getmntent function]): Include stdio.h before mntent.h.
82620         SunOS 4.1.x needs it for the declaration of `FILE'.
82621         Patch by Volker Borchert.
82622
82623         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
82624         Check for these headers: sys/param.h sys/ucred.h sys/mount.h
82625         sys/fs_types.h, and make the link-test for getfsstat guard #include
82626         directives with appropriate #if HAVE_*_H tests so that we can
82627         detect getfsstat on Apple Darwin1.3.7 systems.
82628         Reported by Nelson Beebe.
82629         Fix harmless typo in cache variable name: s/getsstat/getfsstat/.
82630
82631 2001-09-28  Paul Eggert  <eggert@twinsun.com>
82632
82633         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
82634         #defines strtoimax.  Also treat the other strto* functions
82635         like strtoimax.
82636
82637         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
82638         Check for strtoul and strtoumax,
82639         as those declarations are made even in the signed case.
82640         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX):
82641         Likewise, for strtol and strtoimax.
82642
82643 2001-09-28  Paul Eggert  <eggert@twinsun.com>
82644
82645         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
82646         #defines strtoimax.  Also treat the other strto* functions
82647         like strtoimax.
82648
82649         * lib/xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL.
82650         (strtoul): Do not declare if HAVE_DECL_STRTOUL.
82651         (strtoimax, strtoumax): Do not declare if already defined as a macro.
82652
82653 2001-09-26  Jim Meyering  <meyering@lucent.com>
82654
82655         Most macros in unlocked-io.h had the wrong number of arguments.
82656         * lib/gen-uio: New script.
82657         (USE_UNLOCKED_IO): Define to 1 if not already defined.
82658         * lib/unlocked-io.hin: Remove file.
82659         * lib/Makefile.am (unlocked-io.h): Rewrite to use a separate script,
82660         rather than trying to embed it here.
82661         (EXTRA_DIST): Add gen-uio.  Remove unlocked-io.hin
82662         Reported by Padraig Brady.
82663
82664 2001-09-25  Volker Borchert  <bt@teknon.de>
82665
82666         * lib/gettimeofday.c (rpl_gettimeofday): Declare local variable
82667         `result'.
82668
82669 2001-09-24  Jim Meyering  <meyering@lucent.com>
82670
82671         * m4/gettext.m4: Use the version from gettext-0.10.40, not CVS.
82672
82673 2001-09-23  Jim Meyering  <meyering@lucent.com>
82674
82675         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test
82676         instead of the mere test for existence of mntent.h.  The latter
82677         would get a false-positive on AIX 3.4 systems.
82678         In the outer getmntent if-block, don't die if neither of the getmntent
82679         tests succeeds.  Instead, just fall through and continue with the
82680         remaining tests.
82681
82682 2001-09-23  Jim Meyering  <meyering@lucent.com>
82683
82684         * lib/mountlist.c: Remove useless parentheses in #if directives.
82685         (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when
82686         the deprecated MOUNTED symbol is no longer defined in mntent.h.
82687
82688 2001-09-22  Jim Meyering  <meyering@lucent.com>
82689
82690         * m4/gettext.m4: New file.  From gettext.
82691         * m4/lcmessage.m4: Sync with gettext -- this changes only comments.
82692         * m4/progtest.m4: Likewise
82693         * m4/isc-posix.m4: Decrement serial number to sync with gettext.
82694         * m4/glibc21.m4: Likewise.
82695
82696         * m4/libintl.m4: Remove.  No longer used.
82697
82698 2001-09-22  Jim Meyering  <meyering@lucent.com>
82699
82700         * lib/localcharset.c: Update from latest gettext.
82701         * lib/config.charset: Likewise.
82702
82703 2001-09-20  Jim Meyering  <meyering@lucent.com>
82704
82705         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of
82706         strtoimax.
82707         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of
82708         strtoumax.
82709
82710 2001-09-20  Jim Meyering  <meyering@lucent.com>
82711
82712         * lib/xstrtol.c (strtoimax): Guard declaration with
82713         `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'.
82714         The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0)
82715         have their own, conflicting declaration of strtoimax in sys/inttypes.h.
82716         (strtoumax): Likewise, for completeness (it wasn't necessary).
82717
82718 2001-09-17  Paul Eggert  <eggert@twinsun.com>
82719
82720         * lib/strtoimax.c (HAVE_LONG_LONG):
82721         Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned.
82722         (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base),
82723         to work around bug in IBM C compiler.
82724
82725 2001-09-17  Jim Meyering  <meyering@lucent.com>
82726
82727         * m4/chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4,
82728         * m4/jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4,
82729         * m4/nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4,
82730         * m4/st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4,
82731         * m4/utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED,
82732         whenever the right hand side need not be expanded by the shell.
82733
82734 2001-09-16  Paul Eggert  <eggert@twinsun.com>
82735
82736         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C
82737         library.  It's not correct, as some older glibcs are buggy.
82738         fnmatch wasn't fixed until glibc 2.2.
82739
82740         Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no
82741         special shell magic here.
82742
82743 2001-09-16  Jim Meyering  <meyering@lucent.com>
82744
82745         * m4/mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro.
82746         * m4/jm-macros.m4: Require it.
82747
82748 2001-09-16  Jim Meyering  <meyering@lucent.com>
82749
82750         * lib/mkdir.c: New file.
82751
82752 2001-09-15  Jim Meyering  <meyering@lucent.com>
82753
82754         * m4/jm-macros.m4: Check for help2man.
82755
82756 2001-09-11  Jim Meyering  <meyering@lucent.com>
82757
82758         * m4/host-os.m4 (UTILS_HOST_OS): New file/macro.
82759         The body, by Paul Eggert, was moved here from configure.in.
82760         * m4/jm-macros.m4: Require UTILS_HOST_OS.
82761
82762 2001-09-04  Paul Eggert  <eggert@twinsun.com>
82763
82764         * m4/prereq.m4 (jm_PREREQ_XREADLINK): New macro.
82765         (jm_PREREQ): Use it.
82766
82767 2001-09-04  Paul Eggert  <eggert@twinsun.com>
82768
82769         * lib/xreadlink.c (xreadlink): Omit size_t* arg.  All uses changed.
82770         Use ssize_t, not int, to store result of readlink.
82771         Check for ssize_t overflow as well as size_t overflow,
82772         as POSIX says the result of readlink is implementation-defined
82773         when ssize_t overflows.
82774         Remove unnecessary cast to char*.
82775         Use free+malloc instead of realloc, as the storage doesn't need
82776         to be preserved and it's clearer and can be more efficient that way.
82777         (SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare.
82778         * lib/xreadlink.h (xreadlink): Update prototype.
82779
82780 2001-09-04  Paul Eggert  <eggert@twinsun.com>
82781
82782         * lib/xgetcwd.c: Revert some of the previous change; intead,
82783         fix the HAVE_GETCWD_NULL code to behave more like the
82784         !HAVE_GETCWD_NULL code used to.
82785
82786         Include "xalloc.h".
82787         (xgetcwd): Do not return NULL when memory is exhausted; instead,
82788         invoke xalloc_die.
82789
82790 2001-09-03  Paul Eggert  <eggert@twinsun.com>
82791
82792         * m4/prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and
82793         sys/param.h, as pathmax.h includes them.
82794
82795 2001-09-03  Paul Eggert  <eggert@twinsun.com>
82796
82797         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD.
82798         (jm_PREREQ_XGETCWD): New macro.
82799
82800         * m4/getcwd.m4: New file.
82801
82802 2001-09-03  Paul Eggert  <eggert@twinsun.com>
82803
82804         * lib/xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more
82805         like the HAVE_GETCWD_NULL code.
82806         Include pathmax.h if not HAVE_GETCWD.
82807         Do not include xalloc.h.
82808         (INITIAL_BUFFER_SIZE): New symbol.
82809         Do not use xmalloc / xrealloc, since the caller is responsible for
82810         handling errors.  Preserve errno around `free' during failure.
82811         Do not overrun buffer when using getwd.
82812
82813 2001-09-03  Paul Eggert  <eggert@twinsun.com>
82814
82815         * lib/xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined
82816         __GLIBC__ && __GLIBC__ >= 2), to decide whether to use
82817         getcwd (NULL, 0).
82818
82819 2001-09-03  Paul Eggert  <eggert@twinsun.com>
82820
82821         * lib/exclude.c (fnmatch_no_wildcards): Fix confusion between
82822         usage of FNM_CASEFOLD and FNM_LEADING_DIR.  The bug was
82823         spotted by Jim Meyering.
82824
82825 2001-09-03  Jim Meyering  <meyering@lucent.com>
82826
82827         * lib/xreadlink.c (xreadlink): Preserve errno around `free' during
82828         failure.
82829
82830 2001-09-02  Jim Meyering  <meyering@lucent.com>
82831
82832         * lib/error.c: Update from GNU libc.
82833
82834 2001-09-01  Jim Meyering  <meyering@lucent.com>
82835
82836         * m4/jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name.
82837         Used by df.
82838
82839 2001-09-01  Jim Meyering  <meyering@lucent.com>
82840
82841         * lib/xreadlink.c: New file.
82842         * lib/xreadlink.h: New file.
82843         * lib/Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and
82844         xreadlink.h.
82845
82846         * lib/regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
82847         doesn't conflict with sparc Solaris 7's definition in
82848         /usr/include/sys/int_types.h.
82849
82850         * lib/exclude.c: Use `""', not `<>' to #include non-system header
82851         files.
82852         (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
82853         and strncasecmp as r-values.  Unixware didn't have declarations.
82854
82855 2001-08-31  Paul Eggert  <eggert@twinsun.com>
82856
82857         * lib/xstrtol.h: Add copyright notice.
82858         (_DECLARE_XSTRTOL): Improve quality of diagnostic for
82859         LONGINT_INVALID_SUFFIX_CHAR.
82860
82861 2001-08-31  Paul Eggert  <eggert@twinsun.com>
82862
82863         * lib/xstrtol.c (strtoimax): New decl.
82864
82865 2001-08-31  Paul Eggert  <eggert@twinsun.com>
82866
82867         * lib/xgetcwd.c: Don't include pathmax.h.
82868         Include stdlib.h and unistd.h if available.
82869         Include xalloc.h.
82870         (xmalloc, xstrdup, free): Remove decls.
82871         (xgetcwd): Don't assume sizes fit in unsigned.
82872         Check for overflow when computing sizes.
82873         Simplify reallocation code.
82874
82875 2001-08-31  Paul Eggert  <eggert@twinsun.com>
82876
82877         * lib/savedir.c (savedir): Remove size parameter, as POSIX says that
82878         a directory's st_size can have an arbitrary value, so the old
82879         usage could waste an arbitrary amount of memory.  All uses
82880         changed.
82881         * lib/savedir.h: Update prototype.
82882
82883 2001-08-31  Paul Eggert  <eggert@twinsun.com>
82884
82885         * lib/Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c.
82886
82887         * lib/strtoimax.c: Renamed from strtoxmax.c, removing the
82888         old strtoimax.c.
82889
82890         Also, make the following further changes to make this file's
82891         configuration more similar to that of strtol.c:
82892         (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED.  All uses changed.
82893         (strtoumax, uintmax_t, strtoull, strtol): Remove.
82894         (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
82895         (strtoimax): Renamed from strtoumax.  All uses of unsigned values
82896         changed to signed values.
82897
82898         And make the following changes as well:
82899         Fix copyright notice, as 1999 was missing.
82900         (verify): New macro.
82901         (strtoimax): Check sizes at compile-time, not run-time.
82902         Prefer strtol to strtoll if both work.
82903         (main): Remove; it was not that useful and was a pain to maintain.
82904
82905         * lib/strtoumax.c: Include strtoimax.c, not strtouxmax.c.
82906
82907 2001-08-31  Jim Meyering  <meyering@lucent.com>
82908
82909         * lib/xgetcwd.c (xgetcwd): Reorganize to avoid some duplication.
82910         Use an initial, malloc'd, buffer of length 128 rather than
82911         a statically allocated one of length 1024.
82912
82913 2001-08-30  Paul Eggert  <eggert@twinsun.com>
82914
82915         Simplify code, partly by assuming autoconf 2.52 semantics.
82916
82917         * m4/Makefile.am (EXTRA_DIST): Remove uintmax_t.m4.
82918
82919         * m4/inttypes.m4 (AC_PREREQ): Bump to 2.52.
82920         (jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52.
82921         All uses removed.
82922         (jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T):
82923         Move AC_REQUIRE to next-to-top level, to avoid confusion.
82924         Use 2.52's AC_CHECK_TYPE instead of merely looking for the header.
82925         * m4/prereq.m4 (jm_PREREQ_HUMAN): Don't require
82926         jm_AC_HEADER_INTTYPES_H.
82927         * m4/jm-macros.m4 (jm_MACROS): Likewise.
82928
82929         * m4/uintmax_t.m4: Remove, as it duplicates inttypes.m4.
82930
82931         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
82932         Quote first arg of AC_DEFUN.
82933         Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG
82934         since they are needed to parse the include file even if we need
82935         only xstrtoimax.  Simplify logic behind the args to AC_REPLACE.
82936         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise,
82937         but with opposite signedness.
82938
82939 2001-08-30  Paul Eggert  <eggert@twinsun.com>
82940
82941         Merge 'exclude' changes from tar 1.13.22.
82942         This fixes one or two unlikely storage allocation overflow bugs,
82943         but doesn't change user-visible behavior otherwise.
82944
82945 2001-08-30  Paul Eggert  <eggert@twinsun.com>
82946
82947         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE.
82948         (jm_PREREQ_EXCLUDE): New macro.
82949
82950 2001-08-30  Paul Eggert  <eggert@twinsun.com>
82951
82952         * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
82953         tm to be declared.
82954
82955 2001-08-30  Paul Eggert  <eggert@twinsun.com>
82956
82957         * lib/hash.c: Remove '2001' from copyright notice.
82958
82959 2001-08-30  Paul Eggert  <eggert@twinsun.com>
82960
82961         * lib/full-write.h: New file.
82962         * lib/Makefile.am (libfetish_a_SOURCES): Add full-write.h.
82963         * lib/full-write.c: Correct credits, as cccp.c no longer
82964         exists and anyway it was so heavily changed from the old cccp
82965         code as to be unrecognizable.  Include full-write.h.
82966         (full_write): Return size_t, with short writes meaning failure.
82967         All callers changed.  This fixes a bug with large buffers
82968         on 64-bit hosts.
82969         * lib/utime.c: Include full-write.h.
82970
82971 2001-08-30  Paul Eggert  <eggert@twinsun.com>
82972
82973         * lib/exclude.c (bool): Declare, perhaps by including stdbool.h.
82974         (<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
82975         (<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
82976         Include if available.
82977         (<xalloc.h>): Include
82978         (SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
82979         (verify): New macro.  Use it to verify that EXCLUDE macros do not
82980         collide with FNM macros.
82981         (struct patopts): New struct.
82982         (struct exclude): Use it, as exclude patterns now come with options.
82983         (new_exclude): Support above changes.
82984         (new_exclude, add_exclude_file):
82985         Initial size must now be a power of two to simplify overflow checking.
82986         (free_exclude, fnmatch_no_wildcards): New function.
82987         (excluded_filename): No longer requires options arg, as the options
82988         are determined by add_exclude.  Now returns bool, not int.
82989         (excluded_filename, add_exclude):
82990         Add support for the fancy new exclusion options.
82991         (add_exclude, add_exclude_file): Now takes int options arg.
82992         Check for arithmetic overflow when computing sizes.
82993         (add_exclude_file): xrealloc might modify errno, so don't
82994         realloc until after errno might be used.
82995
82996         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS):
82997         New macros.
82998         (free_exclude): New decl.
82999         (add_exclude, add_exclude_file): Now takes int options arg.
83000         (excluded_filename): No longer requires options arg, as the options
83001         are determined by add_exclude.  Now returns bool, not int.
83002
83003 2001-08-30  Paul Eggert  <eggert@twinsun.com>
83004
83005         * lib/alloca.c (alloca): Arg is of type size_t, not unsigned.
83006
83007 2001-08-27  Jim Meyering  <meyering@lucent.com>
83008
83009         * lib/Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c
83010
83011         * lib/version-etc.c (N_): Remove definition.
83012         Revert most of last change.
83013         Instead, simply don't mark the `Copyright...' string for translation.
83014         Based on advice from Paul Eggert.
83015
83016         * lib/strtoxmax.c: Tweak comment.
83017
83018 2001-08-26  Jim Meyering  <meyering@lucent.com>
83019
83020         * m4/jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX.
83021
83022         * m4/xstrtoimax.m4: New file.
83023         * m4/xstrtoumax.m4: Add comments explaining why we
83024         AC_REPLACE_FUNCS(strtol).
83025
83026 2001-08-26  Jim Meyering  <meyering@lucent.com>
83027
83028         * lib/version-etc.c (version_etc_copyright_fmt): Replace literal year
83029         of copyright with `%s' so translators don't get an untranslated
83030         message in 2002.
83031         (COPYRIGHT_YEAR): Define.
83032         (version_etc): Use fprintf rather than fputs.
83033         Suggestion from Ulrich Drepper.
83034
83035         * lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
83036
83037         * lib/strtoll.c: New file, from GNU libc.
83038         * lib/xstrtoimax.c: New file.
83039
83040         * lib/xstrtol.h: Add xstrtoimax.
83041         * lib/strtoumax.c: New file.  Simply include "strtoumax.c".
83042         * lib/strtoimax.c: New file.  Likewise, but first define
83043         STRTOUXMAX_SIGNED.
83044
83045         * lib/strtoumax.c: Factor to work both for unsigned and signed types,
83046         ...
83047         * lib/strtoxmax.c: ... then renamed to this.
83048
83049 2001-08-18  Paul Eggert  <eggert@twinsun.com>
83050
83051         * m4/inttypes.m4: Add AC_PREREQ(2.13).
83052         (jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too.
83053         (jm_AC_TYPE_INTMAX_T): New macro.
83054         (jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4.
83055
83056         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro.
83057
83058         * m4/longlong.m4: Renamed from ulonglong.m4.
83059         * m4/inttypes.m4: Renamed from inttypes_h.m4.
83060         * m4/uintmax_t.m4: Removed.
83061
83062 2001-08-13  Paul Eggert  <eggert@twinsun.com>
83063
83064         * lib/Makefile.am (unlocked-io.h): Do not append "_unlocked" twice.
83065         Port to Solaris 8, where 'sed' requires a space after the 'r'
83066         command, and where sh dislikes "$/".  Clean up the spacing a bit.
83067         Redirect output to $tmp just once.
83068
83069 2001-08-12  Paul Eggert  <eggert@sic.twinsun.com>
83070
83071         * lib/addext.c (<errno.h>): Include.
83072         (errno): Declare if not defined.
83073         (addext): Work correctly when pathconf returns -1 and leaves
83074         errno alone because there is no limit.  Also, work even if
83075         pathconf returns a value greater than SIZE_MAX.
83076
83077 2001-08-12  Jim Meyering  <meyering@lucent.com>
83078
83079         * m4/afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4,
83080         d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4,
83081         fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4,
83082         group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4,
83083         jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4,
83084         link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4,
83085         mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4,
83086         prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4,
83087         rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4,
83088         strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4,
83089         utime.m4, utimes.m4, xstrtoumax.m4:
83090         Quote the first argument in each use of AC_DEFUN.
83091
83092 2001-08-12  Jim Meyering  <meyering@lucent.com>
83093
83094         * lib/xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
83095         Simply `return getcwd (NULL, 0);'.
83096         [! (defined __GLIBC__ && __GLIBC__ >= 2)]:
83097         Use 1300 as initial value for length, not PATH_MAX.
83098
83099         * lib/pathmax.h: Clean up cpp syntax.
83100
83101 2001-08-12  Jim Meyering  <meyering@lucent.com>
83102
83103         * lib/gettimeofday.c: New file.
83104         * lib/gtod.h: New file.
83105         * lib/Makefile.am (libfetish_a_SOURCES): Add gtod.h.
83106
83107 2001-08-05  Jim Meyering  <meyering@lucent.com>
83108
83109         * m4/jm-macros.m4: Require autoconf-2.52.
83110
83111 2001-08-04  Jim Meyering  <meyering@lucent.com>
83112
83113         * lib/error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if
83114         stmt, to get in sync with glibc.
83115
83116 2001-08-03  Paul Eggert  <eggert@twinsun.com>
83117
83118         The following changes are from gettext 0.10.39 as maintained by
83119         Bruno Haible.
83120
83121         * lib/mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
83122         Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
83123         with inverted sense.  All uses changed.
83124
83125         * lib/mbswidth.c: Don't include <limits.h>.
83126         Include <stdlib.h> and <string.h> unconditionally.
83127         (iswcntrl, mbsinit, ISCNTRL): New macros.
83128         (mbsnwidth): Use K&R style function declarations.
83129         Don't bother checking for MB_LEN_MAX == 1, since the compiler
83130         can optimize it when MB_CUR_MAX == 1.
83131         The width of control characters is zero, not 1.
83132
83133 2001-08-03  Paul Eggert  <eggert@twinsun.com>
83134
83135         The following changes are from gettext 0.10.39 as maintained by
83136         Bruno Haible, except that getline.m4 continues to use AC_LIBOBJ.
83137
83138         * m4/codeset.m4: Upgrade to serial AM1.
83139         (AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET;
83140         all uses changed.  Quote first arg of AC_DEFUN.
83141         (am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset.
83142
83143         * m4/iconv.m4: Upgrade to serial AM2.
83144         (AM_ICONV): Renamed from jm_ICONV; all uses changed.
83145         Add --with-libconv-prefix.
83146         Quote first arg of AC_DEFUN.  Add description for ICONV_CONST.
83147         (am_cv_func_iconv): Renamed from jm_cv_func_iconv.
83148         (am_cv_lib_iconv): Renamed from jm_cv_lib_iconv.
83149         (am_cv_proto_iconv): Renamed from jm_cv_proto_iconv.
83150         * m4/jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings.
83151
83152         * m4/c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN.
83153         * m4/getline.m4 (AM_FUNC_GETLINE): Likewise.
83154         * m4/glibc21.m4 (jm_GLIBC21): Likewise.
83155         * m4/inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise.
83156         * m4/isc-posix.m4 (AC_ISC_POSIX): Likewise.
83157         * m4/lcmessage.m4 (AM_LC_MESSAGES): Likewise.
83158         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
83159         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise.
83160         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
83161
83162         * m4/getline.m4 (AM_FUNC_GETLINE): Don't bother checking for
83163         string.h any more.
83164
83165         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no",
83166         not the default value.
83167
83168         2001-06-25  Bruno Haible  <haible@clisp.cons.org>
83169         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES.
83170         Also check for mbsinit.  Needed for SCO 3.2v5.0.2.
83171         Also include <string.h>; this is where AIX 3.2.5 declares wcwidth.
83172         Also check for iswcntrl, used for wcwidth fallback.
83173         Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability
83174         to Autoconf 2.13.
83175
83176 2001-08-03  Jim Meyering  <meyering@lucent.com>
83177
83178         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include',
83179         as it was in the original.  Reported by Paul Eggert.
83180
83181 2001-07-16  Jim Meyering  <meyering@lucent.com>
83182
83183         * m4/gettimeofday.m4: New file.
83184         Prompted by a report from Bernhard Baehr.
83185
83186 2001-07-15  Jim Meyering  <meyering@lucent.com>
83187
83188         * m4/Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h
83189         stuff. Now it's in ../Makefile.cfg.
83190
83191 2001-07-15  Jim Meyering  <meyering@lucent.com>
83192
83193         * lib/Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
83194         (BUILT_SOURCES): Add unlocked-io.h.
83195         (io_functions): Define.
83196         (unlocked-io.h): New rule.
83197         (DISTCLEANFILES): Add unlocked-io.h.
83198         (all-local): Depend on unlocked-io.h, to ensure it is created.
83199
83200         * lib/unlocked-io.hin: New file
83201
83202         * lib/regex.c: Update from glibc.
83203
83204 2001-07-05  Jim Meyering  <meyering@lucent.com>
83205
83206         * lib/Makefile.am (noinst_HEADERS): Remove definition, per new automake
83207         recommendation.
83208         (libfetish_a_SOURCES): Put all .h files here instead.
83209         Remove a thus-exposed (better checks in automake) duplicate and
83210         two unnecessary .h files.
83211
83212 2001-07-04  Jim Meyering  <meyering@lucent.com>
83213
83214         * m4/Makefile.am.in (glibc-io.struct): New target.  Rework the code
83215         that generates jm-glibc-io.m4 so that it doesn't trigger any make
83216         distcheck failure.
83217
83218 2001-07-02  Jim Meyering  <meyering@lucent.com>
83219
83220         The following changes were prompted by suggestions from Bruno Haible.
83221
83222         * m4/jm-glibc-io.m4n: New file, the template from which jm-glibc-io.m4
83223         is now generated.
83224         * m4/Makefile.am.in (Makefile.am): Include jm-glibc-io.m4n in emitted
83225         definition of EXTRA_DIST.
83226         (Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to
83227         ensure that the generated file is created/updated whenever the list
83228         of $(unlocked_functions) is changed.
83229         (jm-glibc-io.m4): New rule.
83230         (unlocked-io.h): New rule -- currently unused.
83231
83232 2001-06-24  Jim Meyering  <meyering@lucent.com>
83233
83234         * m4/regex.m4 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an
83235         unmatched right bracket, rather than kludging it with an extra,
83236         falsely-matching quote in a comment.  Patch by Akim Demaille.
83237
83238 2001-06-11  Jim Meyering  <meyering@lucent.com>
83239
83240         * lib/regex.c: Update from GNU libc.
83241
83242 2001-05-27  Jim Meyering  <meyering@lucent.com>
83243
83244         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for ut_type in struct utmpx.
83245         Check for ut_type in struct utmp.
83246
83247 2001-05-27  Jim Meyering  <meyering@lucent.com>
83248
83249         * lib/readutmp.h (UT_TYPE): Define.
83250
83251 2001-05-24  Jim Meyering  <meyering@lucent.com>
83252
83253         * lib/argmatch.c: Include "quote.h".
83254         (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
83255         quote function.  Reported by Göran Uddeborg.
83256
83257 2001-05-22  Jim Meyering  <meyering@lucent.com>
83258
83259         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime),
83260         now that we use the package-supplied version unconditionally.
83261         (jm_FUNC_STRFTIME): Don't replace strftime, for the same reason.
83262
83263 2001-05-21  Jim Meyering  <meyering@lucent.com>
83264
83265         * m4/regex.m4: Change a couple backticks to single quotes to avoid
83266         shell syntax errors.
83267
83268 2001-05-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
83269
83270         * m4/dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__.
83271
83272 2001-05-20  Paul Eggert  <eggert@twinsun.com>
83273
83274         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME):
83275         Don't bother to check library strftime, since
83276         we'll be using our own my_strftime function anyway.
83277         Define my_strftime instead of strftime.
83278
83279 2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
83280
83281         * lib/dirname.c (dir_name): Compute append_dot using path, not newpath
83282         which is not yet declared.
83283
83284 2001-05-15  Jim Meyering  <meyering@lucent.com>
83285
83286         * m4/regex.m4: Use proper quoting so brackets appear in the test
83287         program.
83288         Reported by, and with help from, Bruno Haible.
83289
83290 2001-05-13  Jim Meyering  <meyering@lucent.com>
83291
83292         * m4/jm-macros.m4 (major_t, minor_t): Define to unsigned int if
83293         undefined.
83294
83295 2001-05-11  Paul Eggert  <eggert@twinsun.com>
83296
83297         dirname code cleanup.  base_name now behaves more compatibly
83298         with POSIX basename when given file names that have trailing
83299         slashes, and similarly for dir_name.  Add new primitives
83300         base_len and dir_len.  Put the directory-name-related decls
83301         into dirname.h.
83302
83303         * lib/addext.c (ISSLASH, base_name): Remove; now in dirname.h.
83304         * lib/backupfile.c (base_name): Likewise.
83305         * lib/basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
83306         * lib/dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
83307         * lib/makepath.c (strip_trailing_slashes): Likewise.
83308         * lib/path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN,
83309         ISSLASH): Likewise.
83310         * lib/rename.c (strip_trailing_slashes): Likewise.
83311         * lib/same.c (base_name): Likewise.
83312         * lib/stripslash.c (ISSLASH): Likewise.
83313
83314         * lib/addext.c: Include <dirname.h> after size_t is defined.
83315         * lib/backupfile.c: Likewise.
83316
83317         * lib/addext.c (addext): Use base_len to trim redundant
83318         trailing slashes instead of doing it ourselves.
83319         But do not trim the last slash if it is not redundant.
83320
83321         * lib/backupfile.c (find_backup_file_name,
83322         max_backup_version): Use base_len instead of rolling it ourselves.
83323         Handle the case of "" and (on DOS) "C:" correctly.
83324
83325         * lib/basename.c: Do not include <stdio.h>, <assert.h>; no longer
83326         needed. Include <string.h>, <dirname.h>.
83327         (base_name): Allow file names ending in slashes, other than names
83328         that are all slashes.  In this case, return the basename followed
83329         by the slashes.  This is more general, and can be used in places
83330         where the original base_name purposely had an assertion failure.
83331         (base_len): New function.
83332
83333         * lib/dirname.c: Include <string.h> instead of <stdlib.h>.
83334         Do not include <assert.h>; no longer needed.
83335         Include xalloc.h.
83336         (memrchr): Remove decl.
83337         (dir_name_r): Remove.
83338         (dir_len): Renamed from dirlen.  All callers changed.
83339         Rewrite in terms of base_name, for simplicity and consistency.
83340         (dir_name): Never return NULL.  All callers changed.
83341         Do not include <stdlib.h> in test program; no longer needed.
83342         return 0; is fine for test program.
83343
83344         * lib/dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
83345         New macros.
83346         (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
83347
83348         * lib/path-concat.c (path_concat): Use base_len to compute
83349         base length, not strlen; this means we cannot rely on memcpy
83350         to null-terminate.
83351
83352         * lib/same.c (STREQ): Remove.
83353         (same_name): Handle the case where the basename ends in trailing '/'.
83354
83355         * lib/stripslash.c (strip_trailing_slashes): Return nonzero if
83356         a slash was stripped.  Do not strip the last slash after a
83357         file system prefix.
83358
83359 2001-05-11  Paul Eggert  <eggert@twinsun.com>
83360
83361         * lib/Makefile.am (libfetish_a_SOURCES):
83362         Add strftime.c, since we now compile it on all hosts.
83363
83364         * lib/strftime.c (my_strftime):
83365         Define to nstrftime if emacs, but only if my_strftime is not defined.
83366         (extra_args, extra_args_spec, extra_args_spec_iso): Rename from
83367         ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
83368         Add one more extra argument: a nanoseconds value.
83369         All uses changed.
83370         (ns): New macro.
83371         (my_strftime function): Add %N format.
83372         (emacs_strftimeu): Renamed from emacs_strftime,
83373         with extra ut argument.
83374
83375 2001-05-09  Paul Eggert  <eggert@twinsun.com>
83376
83377         * m4/jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used.
83378
83379 2001-04-21  Jim Meyering  <meyering@lucent.com>
83380
83381         * m4/rmdir-errno.m4: Write to a new file, so that a restrictive umask
83382         doesn't interfere.
83383
83384 2001-04-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
83385
83386         * m4/ftruncate.m4: Check for chsize.
83387         Link with ftruncate.o unconditionally if ftruncate is missing.
83388         This was required when cross-compiling to i586-mingw32msvc.
83389
83390 2001-04-08  Jim Meyering  <meyering@lucent.com>
83391
83392         * lib/getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
83393         recomputed; that's necessary when the offset spans a DST transition.
83394         Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.
83395
83396 2001-04-02  Jim Meyering  <meyering@lucent.com>
83397
83398         * lib/regex.h, regex.c: Update from GNU libc.
83399
83400 2001-03-24  Jim Meyering  <meyering@lucent.com>
83401
83402         * m4/jm-macros.m4: Require autoconf-2.49d.
83403
83404 2001-03-20  Bruno Haible  <haible@clisp.cons.org>
83405
83406         * m4/iconv.m4 (jm_ICONV): Recommend GNU libiconv.
83407
83408 2001-03-19  Paul Eggert  <eggert@twinsun.com>
83409
83410         * lib/version-etc.c (version_etc_copyright): Update to 2001.
83411
83412 2001-03-17  Jim Meyering  <meyering@lucent.com>
83413
83414         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Remove my copy of AC_FUNC_MEMCMP,
83415         now that the version in autoconf is equivalent.
83416         (jm_FUNC_MEMCMP): Adjust to use AC_FUNC_MEMCMP.
83417
83418         * m4/error.m4 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R.
83419         Suggestion from Akim Demaille.
83420
83421         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_TEMPNAME.
83422         (jm_PREREQ_TEMPNAME): New function.
83423
83424 2001-03-16  Paul Eggert  <eggert@twinsun.com>
83425
83426         * lib/tempname.c (uint64_t): Define to uintmax_t if
83427         not defined, and if UINT64_MAX is not defined.
83428         Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
83429         Reported by John David Anglin.
83430
83431 2001-03-15  Bruno Haible  <haible@clisp.cons.org>
83432
83433         * lib/localcharset.c (locale_charset): Allow wildcard syntax. Also
83434         resolve alias if codeset is empty.
83435         * lib/config.charset (BeOS): Use wildcard syntax.
83436
83437 2001-03-13  Jim Meyering  <meyering@lucent.com>
83438
83439         * lib/path-concat.c (path_concat)
83440         [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't insert a backslash when
83441         concatenating e.g., `C:' and `foo'.
83442         From Bruno Haible.
83443
83444 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
83445
83446         * lib/localcharset.c (locale_charset): Don't use
83447         setlocale(LC_CTYPE,NULL). Don't return NULL.
83448         * lib/unicodeio.c (print_unicode_char): Simplify accordingly.
83449
83450 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
83451
83452         * lib/config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
83453         support for DOS/DJGPP.
83454
83455 2001-03-01  Paul Eggert  <eggert@twinsun.com>
83456
83457         * m4/jm-macros.m4 (jm_MACROS): Use mkstemp replacement if the system
83458         lacks mkstemp.  Compile our own tempname.c if we compile our own
83459         mkstemp.c, as mkstemp relies on tempname.
83460
83461 2001-03-01  Jim Meyering  <meyering@lucent.com>
83462
83463         * m4/dos.m4 (jm_AC_DOS): Remove extra backslashes, now that
83464         AH_VERBATIM really does output its argument verbatim.
83465
83466 2001-02-28  Paul Eggert  <eggert@twinsun.com>
83467
83468         * lib/Makefile.am (libfetish_a_SOURCES):
83469         Add dup-safer.c, fopen-safer.c.
83470         (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
83471
83472         * lib/dup-safer.c, lib/fopen-safer.c, lib/stdio-safer.h:
83473         * lib/unistd-safer.h: New files.
83474
83475 2001-02-25  Paul Eggert  <eggert@twinsun.com>
83476
83477         The mkstemp replacement is taken from glibc 2.2.2, with some
83478         portability fixes for use outside glibc, as follows:
83479
83480         * lib/tempname.c (struct_stat64): New macro.
83481         (direxists, __gen_tempname): Use it.
83482         This avoids a portability problem with Solaris 8.
83483
83484         * lib/tempname.c (<config.h>): Include if HAVE_CONFIG_H.
83485         (<stddef.h>, <stdint.h>, <string.h>):
83486         Include only if STDC_HEADERS || _LIBC.
83487         (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
83488         (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
83489         (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
83490         (__set_errno): Define this macro if <errno.h> doesn't.
83491         (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
83492         Define these macros if <stdio.h> doesn't.
83493         (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
83494         Define these macros if <sys/stat.h>
83495         doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
83496         (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
83497         __xstat64): Define if not _LIBC.
83498         (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
83499         (__gen_tempname): Invoke gettimeofday only if
83500         HAVE_GETTIMEOFDAY || _LIBC;
83501         otherwise, fall back on plain "time".
83502         Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
83503
83504         * lib/mkstemp.c (__GT_FILE): Define to zero if not defined.
83505
83506         * lib/mkstemp.c, lib/tempname.c: New files, taken from glibc 2.2.2.
83507
83508 2001-02-18  Paul Eggert  <eggert@twinsun.com>
83509
83510         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h.
83511
83512 2001-02-17  Paul Eggert  <eggert@twinsun.com>
83513
83514         * m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC.
83515         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH):
83516         Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc).
83517         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
83518
83519 2001-02-17  Paul Eggert  <eggert@twinsun.com>
83520
83521         * lib/mbswidth.c, quotearg.c (mbrtowc, mbsinit):
83522         Remove workaround macros for hosts that have mbrtowc but not
83523         mbstate_t, as we now insist on proper declarations for both
83524         before using mbrtowc.
83525
83526 2001-02-17  Jim Meyering  <meyering@lucent.com>
83527
83528         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for
83529         getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt
83530         further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on
83531         UnixWare 7.1.1.
83532
83533         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc.,
83534         rather than AC_CACHE_VAL.
83535
83536 2001-02-17  Jim Meyering  <meyering@lucent.com>
83537
83538         * lib/strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
83539         around included file name.
83540
83541         * lib/strnlen.c (__strnlen): Merge in a change from GNU libc.
83542
83543         * lib/strftime.c: Update from GNU libc (the only changes were to
83544         comments).
83545
83546 2001-02-17  Jim Meyering  <meyering@lucent.com>
83547
83548         * lib/regex.c: Update from libc.
83549
83550 2001-02-17  Bruno Haible  <haible@clisp.cons.org>
83551
83552         * lib/mbswidth.h (mbswidth): Also define as macro, to avoid prototype
83553         clash.
83554
83555 2001-02-16  Paul Eggert  <eggert@twinsun.com>
83556
83557         * lib/alloca.c (malloc): Undef before defining, since stdlib.h
83558         may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
83559         Reported by Mark Hounschell via Paul Eggert.
83560
83561 2001-02-07  Jim Meyering  <meyering@lucent.com>
83562
83563         * m4/regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug.
83564
83565 2001-02-05  Jim Meyering  <meyering@lucent.com>
83566
83567         * m4/jm-macros.m4: Require autoconf-2.14d (not yet released), because
83568         it includes the patch required for `large file' support with at least
83569         HP-UX's 10.20 /bin/cc.
83570
83571 2001-02-03  Jim Meyering  <meyering@lucent.com>
83572
83573         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of
83574         AS_IF, now that it works once again (mysteriously).
83575         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
83576
83577 2001-01-30  Jim Meyering  <meyering@lucent.com>
83578
83579         Don't use filenames that are 8.3-equivalent to "conftest" on DOS.
83580         * m4/chown.m4: Rename conftestchown to conftest.chown.
83581         * m4/rename.m4: s/conftestdir/conftest.d1/ and
83582         s/conftestdir2/conftest.d2/.
83583         * m4/utimes.m4: s/conftestdata/conftest.data/
83584         Inspired by Pavel Roskin's change in autoconf.
83585
83586 2001-01-30  Bruno Haible  <haible@clisp.cons.org>
83587
83588         * lib/config.charset: Update for FreeBSD 4.2.
83589
83590 2001-01-27  Jim Meyering  <meyering@lucent.com>
83591
83592         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was
83593         a use of AS_IF.
83594         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
83595
83596 2001-01-26  Jim Meyering  <meyering@lucent.com>
83597
83598         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that
83599         quotearg.c includes it.
83600
83601 2001-01-26  Jim Meyering  <meyering@lucent.com>
83602
83603         * lib/quotearg.c: Include stddef.h.
83604         * lib/quote.c: Include stddef.h.
83605         Reported by Axel Kittenberger.
83606
83607         * lib/xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
83608         line in double quotes so that it evokes a better diagnostic.
83609         [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
83610         Reported by Axel Kittenberger.
83611
83612 2001-01-24  Stefan Monnier  <monnier@cs.yale.edu>
83613
83614         * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
83615         as if it was a `charset'.
83616
83617 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
83618
83619         * m4/iconv.m4 (jm_ICONV): Also check whether the iconv declaration
83620         has const.
83621
83622 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
83623
83624         * lib/unicodeio.c (print_unicode_char): Cast the second iconv() arg,
83625         to avoid a warning.  Add back 'const' to inptr.
83626
83627 2001-01-20  Jim Meyering  <meyering@lucent.com>
83628
83629         Be sure that headers are checked before used in code compiled
83630         for the type checks.
83631         * m4/jm-macros.m4 (jm_MACROS): Remove all header checks.
83632         In place of that, invoke jm_CHECK_ALL_TYPES.
83633         (jm_CHECK_ALL_HEADERS): New functions with the above checks.
83634         (jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS.
83635         Alan Iwi reported a build failure on an f300-fujitsu-uxpv4.1_ES;
83636         The check for ssize_t was mistakenly run before the test for unistd.h.
83637
83638         The configure-time check for stdbool.h was missing.
83639         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HASH.
83640         (jm_PREREQ_HASH): New function.
83641
83642 2001-01-17  Jim Meyering  <meyering@lucent.com>
83643
83644         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE,
83645         for autoconf-2.49c.
83646         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise.
83647
83648 2001-01-16  Jim Meyering  <meyering@lucent.com>
83649
83650         * lib/basename.c: Include <stdio.h>, needed by assert on SunOS 4.
83651         From Bruno Haible.
83652
83653 2001-01-14  Jim Meyering  <meyering@lucent.com>
83654
83655         * m4/rename.m4: Use temporary directories named conftestdir{,2}, not
83656         foo and bar.  Create conftestdir/ in the script, not in the C code.
83657         Remove directories in the script, not in the C code.
83658         Remove conftestdir{,2} before trying to create the directory.
83659         Make the entire configure script fail if the mkdir fails.
83660
83661 2001-01-14  Jim Meyering  <meyering@lucent.com>
83662
83663         * lib/rename.c: New file.  From Volker Borchert.
83664         Include stdlib.h, string.h or strings.h, and xalloc.h.
83665         Use strip_trailing_slashes rather than open-coding it.
83666
83667 2001-01-03  Paul Eggert  <eggert@twinsun.com>
83668
83669         * lib/strftime.c: Sync with glibc time/strftime.c 1.81.
83670
83671 2001-01-03  Jim Meyering  <meyering@lucent.com>
83672
83673         * lib/unicodeio.c (print_unicode_char): Remove `const' from declaration
83674         of local `inptr' to avoid warning with some system declarations of
83675         iconv.
83676
83677 2001-01-02  Volker Borchert  <bt@teknon.de>
83678
83679         * m4/rename.m4: New file.
83680         * m4/jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME.
83681
83682 2001-01-01  Jim Meyering  <meyering@lucent.com>
83683
83684         * m4/prereq.m4 (jm_PREREQ_READUTMP): Include utmp.h (if available),
83685         even on systems with utmpx.h.  It's necessary for the declaration of
83686         utmp's ut_user member.  Reported by Andreas Jaeger.
83687
83688         * m4/check-decl.m4 (jm_CHECK_DECLS): Include grp.h and pwd.h if
83689         available. They are required for the declarations of getgrgid and
83690         getpwuid resp.
83691         (_jm_DECL_HEADERS): Check for grp.h and pwd.h.
83692         Reported by Andreas Jaeger.
83693
83694 2001-01-01  Alexandre Duret-Lutz  <duret_g@epita.fr>
83695
83696         * m4/libintl.m4 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by
83697         expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN,
83698         so `make install' also works in VPATH builds.
83699
83700 2000-12-31  Alexandre Duret-Lutz  <duret_g@epita.fr>
83701
83702         * m4/libintl.m4 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR,
83703         prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it
83704         can be used in subdirectories.
83705
83706 2000-12-29  Paul Eggert  <eggert@twinsun.com>
83707
83708         * lib/modechange.c: Do not assume that mode_t uses the
83709         traditional octal encoding.  E.g. "chmod 1 FOO" should set
83710         the other-execute bit of FOO even if S_IXOTH != 1.
83711
83712         (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
83713         WOTH, XOTH, ALLM): New macros.
83714         (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
83715          S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
83716         Use them.
83717         (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
83718         (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
83719         (mode_compile):
83720         No need to use uintmax_t; unsigned long is long enough.
83721         Don't bother to get suffix since we don't use it.
83722
83723 2000-12-26  Jim Meyering  <meyering@lucent.com>
83724
83725         * m4/dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work
83726         better with autoheader.
83727
83728 2000-12-24  Jim Meyering  <meyering@lucent.com>
83729
83730         * lib/hash.c (is_prime): Return explicit boolean values.
83731         (hash_get_first): Return NULL to appease Irix5.6's 89.
83732         Reported by Nelson Beebe.
83733
83734 2000-12-19  Bruno Haible  <haible@clisp.cons.org>
83735
83736         * lib/localcharset.c (locale_charset): Add support for Win32.
83737
83738 2000-12-18  Paul Eggert  <eggert@twinsun.com>
83739
83740         * lib/physmem.h, lib/physmem.c: New files.
83741
83742         * lib/Makefile.am (libfetish_a_SOURCES): Add physmem.c.
83743         (noinst_HEADERS): Add physmem.h.
83744
83745         * lib/xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
83746         't' for compatibility with Solaris 8 sort.
83747
83748 2000-12-18  Bruno Haible  <haible@clisp.cons.org>
83749
83750         * lib/config.charset: Add support for BeOS.
83751
83752 2000-12-17  Jim Meyering  <meyering@lucent.com>
83753
83754         * m4/dos.m4 (jm_AC_DOS): New file and macro.
83755         * m4/jm-macros.m4 (jm_MACROS): Require jm_AC_DOS.
83756
83757 2000-12-16  Jim Meyering  <meyering@lucent.com>
83758
83759         This bug had a serious impact on chown: `chown N:M FILE' (for integer
83760         N and M) would have treated it like `chown N:N FILE'.
83761
83762         * lib/userspec.c (parse_user_spec): Fix typo: s/u/g/.
83763
83764 2000-12-16  Jim Meyering  <meyering@lucent.com>
83765
83766         * lib/getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
83767         SHELLS_FILE to a file name that's useful on djgpp systems.
83768         Include stdlib.h.
83769         (ADDITIONAL_DEFAULT_SHELLS): Define.
83770         (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
83771         Based mostly on a patch from Prashant TR.
83772
83773 2000-12-16  Bruno Haible  <haible@clisp.cons.org>
83774
83775         * lib/config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB,
83776         VISCII, CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256,
83777         CP1257 to the list of canonical encodings. Rename EUC-CN to GB2312.
83778
83779 2000-12-08  Andreas Schwab  <schwab@suse.de>
83780
83781         * lib/mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
83782         invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
83783
83784 2000-12-07  Jim Meyering  <meyering@lucent.com>
83785
83786         * lib/stripslash.c (ISSLASH): Define.
83787         (strip_trailing_slashes): Use ISSLASH rather than comparing against
83788         `/'.
83789         From Prashant TR.
83790
83791         * lib/dirname.c (FILESYSTEM_PREFIX_LEN): Define.
83792         (dir_name_r): Declare this function as static.
83793         [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
83794         manifest itself on a name containing a mix of slashes and
83795         backslashes.
83796         Make this function work with names starting with a DOS-style
83797         drive letter and colon prefix.
83798         (dir_name): Append `.' if necessary.
83799         Based mostly on patches from Prashant TR and Eli Zaretskii.
83800
83801         * lib/dirname.h (dir_name_r): Remove prototype.
83802
83803 2000-12-06  Paul Eggert  <eggert@twinsun.com>
83804
83805         * m4/off_t-format.m4: Remove this file.
83806         * m4/jm-macros.m4 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT.
83807
83808 2000-12-06  Jim Meyering  <meyering@lucent.com>
83809
83810         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): If we need the
83811         replacement strtoull, we may well need the replacement strtoul, too.
83812         Check for declarations of strtoul and strtoull.
83813         Check for strtol.  Mainly as a cue to cause automake to include
83814         strtol.c -- that file is included by each of strtoul.c and strtoull.c.
83815         Check for limits.h -- strtol.c needs it.
83816
83817 2000-12-05  Jim Meyering  <meyering@lucent.com>
83818
83819         * lib/dirname.c (dir_name_r): Add `const' in a few local declarations.
83820
83821 2000-12-04  Jim Meyering  <meyering@lucent.com>
83822
83823         * lib/path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
83824         Also include memory.h, stdlib.h, unistd.h if appropriate.
83825         Reported by Andreas Jaeger (conflicting declaration of malloc).
83826
83827 2000-12-02  Jim Meyering  <meyering@lucent.com>
83828
83829         * m4/off_t-format.m4 (OFF_T_PRINTF_FORMAT_STRING): New file/macro.
83830         * m4/jm-macros.m4 (jm_MACROS): require it.
83831
83832 2000-12-02  Jim Meyering  <meyering@lucent.com>
83833
83834         * lib/closeout.h: Make idempotent, to avoid some obscure warnings.
83835
83836 2000-12-01  Paul Eggert  <eggert@twinsun.com>
83837
83838         * lib/memrchr.c: Include <config.h> before any system include file.
83839
83840 2000-11-30  Jim Meyering  <meyering@lucent.com>
83841
83842         * m4/jm-macros.m4 (jm_MACROS): Check for stdint.h.
83843
83844 2000-11-30  Jim Meyering  <meyering@lucent.com>
83845
83846         * m4/getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf.
83847
83848 2000-11-29  Paul Eggert  <eggert@twinsun.com>
83849
83850         * lib/dirname.c (dir_name_r): Fix typo: int -> size_t.
83851
83852 2000-11-26  Jim Meyering  <meyering@lucent.com>
83853
83854         * lib/memcoll.c: Include sys/types.h.  From Werner Almesberger.
83855
83856 2000-11-22  Paul Eggert  <eggert@twinsun.com>
83857
83858         * lib/strftime.c (my_strftime): Do not invoke mbrlen with a
83859         size of (size_t) -1; it's not portable.
83860
83861 2000-11-17  Jim Meyering  <meyering@lucent.com>
83862
83863         * lib/strstr.c: Update from GNU libc.
83864
83865 2000-11-17  Akim Demaille  <akim@epita.fr>
83866
83867         * lib/obstack.h: Formatting changes.
83868         (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
83869         prevent type checking.
83870         (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
83871         cast the value to (void *): assigning a `foo *' to a `void *'
83872         variable is valid.
83873         (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
83874
83875 2000-11-16  Jim Meyering  <meyering@lucent.com>
83876
83877         * lib/strverscmp.c: Incorporate weak-alias-related changes from glibc.
83878
83879 2000-11-11  Jim Meyering  <meyering@lucent.com>
83880
83881         * lib/error.c: Add a couple #includes, merging from GNU libc version.
83882
83883 2000-11-10  Jim Meyering  <meyering@lucent.com>
83884
83885         * lib/obstack.h: Update from GNU libc.
83886         * lib/obstack.c: Likewise.
83887
83888 2000-11-08  Bruno Haible  <haible@clisp.cons.org>
83889
83890         * m4/jm-macros.m4 (jm_MACROS): Add test for wcrtomb.
83891
83892 2000-11-06  Paul Eggert  <eggert@twinsun.com>
83893
83894         * lib/getusershell.c (setusershell): Use rewind rather than
83895         fseek/fseeko, to avoid configuration hassles with fseeko.
83896         Don't bother opening SHELLS_FILE if shellstream is NULL;
83897         it's not necessary.
83898
83899 2000-11-05  Jim Meyering  <meyering@lucent.com>
83900
83901         * lib/makepath.h (make_dir): Declare.
83902         * lib/makepath.c (make_dir): Remove `static' attribute.
83903         Tweak a comment.
83904
83905 2000-11-04  Jim Meyering  <meyering@lucent.com>
83906
83907         * m4/regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'.
83908
83909 2000-11-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
83910
83911         * lib/hash.c (hash_get_next): Fix a thinko:  when ENTRY is the
83912         last one in a bucket, advance to the next bucket.
83913
83914 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
83915
83916         * lib/fnmatch.c: Do not comment out all the code if we are using
83917         the GNU C library, because in some cases we are replacing buggy
83918         code in the GNU C library itself.
83919
83920 2000-10-30  Stefan Monnier  <monnier@cs.yale.edu>
83921
83922         * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
83923         (regex_compile): Catch bogus \(\1\).
83924
83925 2000-10-30  Paul Eggert  <eggert@twinsun.com>
83926
83927         * lib/fnmatch.c (FOLD): Do not assume that characters are unsigned.
83928         (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
83929         e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
83930
83931 2000-10-30  Paul Eggert  <eggert@twinsun.com>
83932
83933         * lib/error.h, getline.h, modechange.h:
83934         Remove "2000" from Copyright line, as the file hasn't been
83935         changed this year other than in the copyright notice.
83936
83937         * lib/xalloc.h: Add "2000" to Copyright line, as this file
83938         was changed this year.
83939
83940 2000-10-29  Jim Meyering  <meyering@lucent.com>
83941
83942         * m4/fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf
83943         renaming.
83944         * m4/ls-mntd-fs.m4: Likewise
83945
83946 2000-10-29  Jim Meyering  <meyering@lucent.com>
83947
83948         * lib/xstat.in: Fix grammar in comment.
83949
83950 2000-10-29  Greg Louis  <glouis@dynamicro.on.ca>
83951
83952         * lib/regex.h (__restrict_arr): Move definition out of #ifndef block.
83953         Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
83954         doesn't define __restrict_arr.
83955
83956 2000-10-28  Jim Meyering  <meyering@lucent.com>
83957
83958         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR.
83959         (jm_PREREQ_MEMCHR): New function.
83960
83961 2000-10-28  Jim Meyering  <meyering@lucent.com>
83962
83963         * lib/memchr.c: Update from libc.
83964         Adjust for portability:
83965         [HAVE_STDLIB_H]: Include stdlib.h.
83966         [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
83967         Undef __memchr, too.
83968         [!weak_alias]: Define __memchr to memchr.
83969
83970         * lib/regex.c: Update from libc.
83971         * lib/regex.h: Likewise.
83972         * lib/getopt1.c: Likewise.
83973         * lib/memcmp.c: Likewise.
83974
83975         * lib/getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
83976         Avoid using fseek, when possible -- it's broken by design.
83977         Patch by Ulrich Drepper.
83978
83979 2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>
83980
83981         * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
83982         (re_match_2_internal, re_match_2_internal, re_match_2_internal):
83983         Giving in to popular pressure to shut up the compiler with casts.
83984
83985 2000-10-26  Jim Meyering  <meyering@lucent.com>
83986
83987         * lib/strftime.c: Update from libc.
83988
83989 2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>
83990
83991         * regex.c: More `unsigned char' -> `re_char' changes.
83992         Also change several `int' into `re_wchar_t'.
83993         (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
83994         (PUSH_FAILURE_POINTER): Don't cast any more.
83995         (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
83996         We want GCC to complain, since this piece of code makes
83997         re_match non-reentrant, which *should* be fixed.
83998         (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
83999         (EXTEND_BUFFER): Use RETALLOC.
84000         (SET_LIST_BIT): Don't cast.
84001         (re_wchar_t): New type.
84002         (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
84003         that those two functions will always properly return.
84004         (IMMEDIATE_QUIT_CHECK): Cast to void.
84005         (analyse_first): Use recursion rather than an explicit stack.
84006         (re_compile_fastmap): Can't fail anymore.
84007         (re_search_2): Don't check re_compile_fastmap for failure.
84008         (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
84009         Now also sets the new value (passed in a new argument).
84010         (re_match_2_internal): Use it.
84011         Also, use a new var `reg' of type size_t when looping through regs
84012         rather than reuse the inappropriate `mcnt'.
84013
84014 2000-10-25  Jim Meyering  <meyering@lucent.com>
84015
84016         * lib/obstack.c: Update from libc.
84017
84018 2000-10-24  Kenichi Handa  <handa@etl.go.jp>
84019
84020         * regex.c (regex_compile): Change the way of handling a range from
84021         a char less than 256 to a char not less than 256.
84022
84023 2000-10-24  Andrew Innes  <andrewi@gnu.org>
84024
84025         * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
84026         NT-Emacs only.
84027         (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
84028         so that re_search functions only quit when callers expect them to.
84029
84030 2000-10-23  Jim Meyering  <meyering@lucent.com>
84031
84032         * lib/hard-locale.c (hard_locale): Revert last change -- it was simply
84033         wrong.  That set_locale call must not have any side effects.
84034         From Paul Eggert.
84035
84036 2000-10-22  Jim Meyering  <meyering@lucent.com>
84037
84038         * lib/md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
84039         [CYCLIC]: Remove now-unused definition.
84040
84041         * lib/save-cwd.c (O_DIRECTORY): Define, if needed.
84042         (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
84043         Suggestion from Ulrich Drepper.
84044
84045 2000-10-21  Jim Meyering  <meyering@lucent.com>
84046
84047         * m4/check-decl.m4 (jm_CHECK_DECLS): Also check for memrchr.
84048         * m4/prereq.m4 (jm_PREREQ_DIRNAME): New macro.
84049         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memrchr.
84050
84051 2000-10-21  Jim Meyering  <meyering@lucent.com>
84052
84053         * lib/dirname.c (memrchr): Declare if necessary.
84054         (dir_name): Remove the restriction that there be no
84055         trailing slashes.  Now, this code skips past them, effectively
84056         ignoring them.
84057         [TEST_DIRNAME] (main): New unit tests.
84058
84059         * lib/memrchr.c: New file from GNU libc.
84060         Undef __memrchr, too.
84061         [!weak_alias]: Define __memrchr to memrchr.
84062         Guard weak_alias use with `#ifdef weak_alias'.
84063
84064 2000-10-21  Jim Meyering  <meyering@lucent.com>
84065
84066         * lib/dirname.c (dir_name_r): New function, factored out of dir_name.
84067         (dir_name): Use dir_name_r.
84068         * lib/dirname.h (dir_name_r): Declare it.
84069
84070 2000-10-17  Jim Meyering  <meyering@lucent.com>
84071
84072         * lib/quote.h (PARAMS): Define and use.
84073         Reported by Akim Demaille.
84074
84075         * lib/getopt.c: Update from libc.
84076
84077 2000-10-16  Jim Meyering  <meyering@lucent.com>
84078
84079         * lib/hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to
84080         setlocale.
84081         From Jan Fedak.
84082
84083 2000-10-15  Stefan Monnier  <monnier@cs.yale.edu>
84084
84085         * regex.c (WIDE_CHAR_SUPPORT): Define if _LIBC as well.
84086
84087 2000-09-25  Jim Meyering  <meyering@lucent.com>
84088
84089         * lib/md5.h (rol): Define (from GnuPG).
84090
84091         * lib/sha.c: Give credit (GnuPG) where due.
84092         (M): Use rol rather than open-coding it.
84093         Add a FIXME comment.
84094
84095 2000-09-21  Jim Meyering  <meyering@lucent.com>
84096
84097         * lib/userspec.c (parse_user_spec): Remove debugging printf I'd added.
84098         Reported by Michael Stone.
84099
84100 2000-09-20  Jim Meyering  <meyering@lucent.com>
84101
84102         * lib/Makefile.am (libfetish_a_SOURCES): Add sha.c.
84103         (noinst_HEADERS): Add sha.h.
84104         Based on code from Scott G. Miller and from GnuPG.
84105
84106 2000-09-18  Jim Meyering  <meyering@lucent.com>
84107
84108         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Restore the initial value of
84109         LIBS. Otherwise, everyone ends up linking with -lelf for some
84110         configurations.
84111         Reported by Mike Stone.
84112
84113 2000-09-15  Jim Meyering  <meyering@lucent.com>
84114
84115         * lib/regex.c: Update from libc.
84116
84117 2000-09-10  Jim Meyering  <meyering@lucent.com>
84118
84119         * lib/getopt.c (_getopt_internal): Update from glibc.
84120
84121 2000-09-09  Jim Meyering  <meyering@lucent.com>
84122
84123         * lib/quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
84124         think it should be used as a general replacement for isascii.
84125         * lib/fnmatch.c: Likewise.
84126         * lib/mbswidth.c: Likewise
84127         * lib/regex.c: Likewise.
84128
84129         Don't use atoi.
84130         * lib/userspec.c: Include sys/param.h and limits.h.
84131         Include xstrtol.h.
84132         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
84133         (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
84134         (parse_user_spec): Use xstrtoul, not atoi when converting numeric
84135         UID, GID.  Check range.
84136
84137 2000-09-06  Jim Meyering  <meyering@lucent.com>
84138
84139         * lib/getopt.c (_getopt_internal): Update from glibc.
84140
84141 2000-08-30  Jim Meyering  <meyering@lucent.com>
84142
84143         * lib/strftime.c: Merge in changes from GNU libc.
84144
84145 2000-08-26  Jim Meyering  <meyering@lucent.com>
84146
84147         * m4/jm-macros.m4: Use jm_FUNC_FPENDING.
84148         * m4/fpending.m4: New file.
84149
84150 2000-08-26  Jim Meyering  <meyering@lucent.com>
84151
84152         * lib/closeout.c: Include "__fpending.h".
84153         (close_stdout_status): Return right away if there's nothing to flush.
84154
84155         * lib/Makefile.am (noinst_HEADERS): Add __fpending.h.
84156         * lib/__fpending.c: New file.
84157         * lib/__fpending.h: New file.
84158
84159 2000-08-20  Jim Meyering  <meyering@lucent.com>
84160
84161         * m4/check-decl.m4: Include utmp.h `#if HAVE_UTMP_H', rather than
84162         `#if !HAVE_UTMPX_H'.  The latter would lose on systems with neither
84163         utmp.h nor utmpx.h.  Reported by Eli Zaretskii.
84164
84165 2000-08-11  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
84166
84167         Improve fileutils installation on systems where running
84168         programs (like install) can't be unlinked.
84169         * m4/unlink-busy.m4 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro.
84170         * m4/jm-macros.m4: Use jm_FUNC_UNLINK_BUSY_TEXT.
84171
84172 2000-08-07  Paul Eggert  <eggert@twinsun.com>
84173
84174         Standardize on "memory exhausted" instead of "Memory exhausted"
84175         or "virtual memory exhausted".
84176         * lib/obstack.c (print_and_abort): Use "memory exhausted", not
84177         "virtual memory exhausted".
84178         * lib/same.c (same_name): Invoke xalloc_die instead of printing
84179         our own message.
84180         * lib/userspec.c (parse_user_spec): Likewise.
84181         * lib/bumpalloc.h: comment fix
84182         * lib/same.c, userspec.c: Include xalloc.h.
84183
84184         * lib/xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
84185         not char *const and pointing to a constant array.
84186         * lib/xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
84187         (xrealloc): Comment fix.
84188
84189         * lib/userspec.c (parse_user_spec):
84190         Don't translate a message until just before returning,
84191         to avoid unnecessary translation.
84192
84193 2000-08-07  Jim Meyering  <meyering@lucent.com>
84194
84195         * lib/addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
84196         chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
84197         fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
84198         getgroups.c, gethostname.c, getopt.h, group-member.c,
84199         hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
84200         linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
84201         memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
84202         pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
84203         stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
84204         strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
84205         utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
84206         yesno.c: Back out Copyright date changes for each file with no change
84207         this year.  This eases coordination with other programs using the same
84208         source code modules.  From Paul Eggert.
84209
84210 2000-08-06  Paul Eggert  <eggert@twinsun.com>
84211
84212         * m4/mbstate_t.m4 (AC_MBSTATE_T): Define mbstate_t to be int,
84213         not char, for compatibility with glibc 2.1.3 strftime.c.
84214
84215 2000-08-03  Greg McGary  <greg@mcgary.org>
84216
84217         * lib/regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
84218         ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
84219         (EXTEND_BUFFER): Use them.
84220
84221 2000-08-01  Jim Meyering  <meyering@lucent.com>
84222
84223         * lib/dirname.c (ISSLASH): Define.
84224         (BACKSLASH_IS_PATH_SEPARATOR): Define.
84225         (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
84226         both `\' and `/' may be use as path separators.
84227         Based on a patch from Prashant TR.
84228
84229 2000-07-31  Paul Eggert  <eggert@twinsun.com>
84230
84231         * lib/quotearg.c (quotearg_n_options): Don't make the initial
84232         slot vector a constant, since it might get modified.
84233
84234 2000-07-31  Jim Meyering  <meyering@lucent.com>
84235
84236         * lib/xmalloc.c: Use `virtual memory exhausted', not
84237         `Memory exhausted'.
84238         * lib/obstack.c (print_and_abort): Likewise.
84239
84240 2000-07-30  Paul Eggert  <eggert@twinsun.com>
84241
84242         * lib/quotearg.c (quotearg_n_options): Preallocate a slot 0
84243         buffer, so that the caller can always quote one small
84244         component of a "memory exhausted" message in slot 0.
84245         From a suggestion by Jim Meyering.
84246
84247 2000-07-30  Jim Meyering  <meyering@lucent.com>
84248
84249         * lib/makepath.c (make_path): Quote the other instance, too.
84250
84251         * lib/quotearg.c (N_STATIC_SLOTVECS): Define.
84252         (STATIC_BUF_SIZE): Define.
84253         (quotearg_n_options): Use only statically allocated storage when
84254         N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
84255         than STATIC_BUF_SIZE.
84256
84257 2000-07-29  Jim Meyering  <meyering@lucent.com>
84258
84259         * lib/diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
84260         * lib/dirname.c (dir_name): Likewise.
84261
84262         * lib/basename.c (base_name): Use ISSLASH rather than comparing against
84263         `/'.
84264
84265         * lib/dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
84266         (dir_name): Assert that there are no trailing slashes.
84267
84268 2000-07-29  Bruno Haible  <haible@clisp.cons.org>
84269
84270         * lib/mbswidth.h (mbswidth): Add a flags argument.
84271         (mbswidth): New declaration.
84272         (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
84273         * lib/mbswidth.c (mbswidth): Add a flags argument.
84274         (mbsnwidth): New function.
84275
84276 2000-07-24  Jim Meyering  <meyering@lucent.com>
84277
84278         * lib/mbswidth.c: Remove useless #else.  From Bruno Haible.
84279
84280 2000-07-23  Paul Eggert  <eggert@twinsun.com>
84281
84282         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration.
84283
84284 2000-07-23  Paul Eggert  <eggert@twinsun.com>
84285
84286         * lib/quotearg.c: Streamline by invoking multibyte code only if needed.
84287         <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
84288         (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
84289         (quotearg_buffer_restyled): If a unibyte locale, don't bother to
84290         invoke multibyte primitives.
84291
84292 2000-07-23  Paul Eggert  <eggert@twinsun.com>
84293
84294         * lib/quotearg.c:
84295         Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
84296         so that mbstate_t is always defined.
84297
84298         Do not inspect MB_LEN_MAX, since it's incorrectly defined to
84299         be 1 in at least one GCC installation, and this configuration
84300         error is likely to be common.  Ignoring MB_LEN_MAX hurts
84301         performance on hosts that have mbrtowc but have only unibyte
84302         locales, but I assume these hosts are rare.
84303
84304 2000-07-23  Paul Eggert  <eggert@twinsun.com>
84305
84306         * lib/mbswidth.c (_XOPEN_SOURCE):
84307         Don't define; this causes problems on Solaris 7.
84308         (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
84309
84310 2000-07-23  Jim Meyering  <meyering@lucent.com>
84311
84312         * m4/check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these,
84313         too: getgrgid, getpwuid, getuid.
84314
84315 2000-07-23  Jim Meyering  <meyering@lucent.com>
84316
84317         * lib/basename.c (base_name): Add an assertion.
84318
84319 2000-07-23  Bruno Haible  <haible@clisp.cons.org>
84320
84321         * lib/quotearg.c: When the system forces us to redefine mbstate_t,
84322         shadow its mbsinit function.
84323
84324 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
84325
84326         * lib/mbswidth.h: New file.
84327         * lib/mbswidth.c: New file.
84328         * lib/Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
84329         (noinst_HEADERS): Add mbswidth.h.
84330
84331 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
84332
84333         * lib/config.charset: Add support for FreeBSD. Improve support for
84334         HP-UX and IRIX 6.
84335
84336 2000-07-16  Bruno Haible  <haible@clisp.cons.org>
84337
84338         * m4/mbswidth.m4: New file.
84339         * m4/prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH.
84340
84341 2000-07-15  Jim Meyering  <meyering@lucent.com>
84342
84343         * lib/makepath.c: Include quote.h.
84344         (make_path): Convert "`%s'" in format strings to "%s", and wrap each
84345         corresponding argument in a `quote (...)' call.
84346         Give better diagnostics.
84347
84348         * lib/Makefile.am (libfetish_a_SOURCES): Add quote.c.
84349         (noinst_HEADERS): Add quote.h.
84350
84351         * lib/quote.c (quote, quote_n): New file.  Two functions taken verbatim
84352         from tar's src/misc.c.
84353         * lib/quote.h: New file.  Prototypes for same.
84354
84355 2000-07-14  Paul Eggert  <eggert@twinsun.com>
84356
84357         From a suggestion by Bruno Haible.
84358         * lib/quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
84359         Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
84360         to decide whether to define the BeOS workaround macro;
84361         this adjusts to the change to AC_MBSTATE_T.
84362
84363 2000-07-14  Jim Meyering  <meyering@lucent.com>
84364
84365         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require
84366         jm_AC_TYPE_UINTMAX_T.
84367
84368 2000-07-13  Paul Eggert  <eggert@twinsun.com>
84369
84370         * lib/quotearg.h (enum quoting style): New enum clocale_quoting_style.
84371
84372         * lib/quotearg.c (quoting_style_args, quoting_style_vals,
84373         quotearg_buffer_restyled): Add support for
84374         clocale_quoting_style.  Undo previous change to
84375         locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
84376         and "{RIGHT QUOTATION MARK}" msgids.
84377
84378 2000-07-10  Paul Eggert  <eggert@twinsun.com>
84379
84380         From a suggestion by Bruno Haible.
84381         * m4/mbstate_t.m4 (AC_MBSTATE_T):
84382         Renamed from AC_MBSTATE_T_OBJECT.  All uses changed.
84383         Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT
84384         and mbstate_t, to a single-part test that simply defines mbstate_t.
84385         * m4/prereq.m4 (jm_PREREQ_QUOTEARG):
84386         s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/.
84387
84388 2000-07-10  Jim Meyering  <meyering@lucent.com>
84389
84390         * m4/strerror_r.m4: Mirror the correction made in autoconf.
84391
84392         * m4/gnu-source.m4: Output to confdefs.h directly.
84393         Suggestion from Akim Demaille.
84394
84395 2000-07-09  Paul Eggert  <eggert@twinsun.com>
84396
84397         The old behavior of quoting `like this' doesn't look good with
84398         newer, ISO-style fonts.  See:
84399         http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
84400
84401         Instead, quote "like this" by default.  Let the translator
84402         tailor the locale-specific quoting behavior by providing
84403         translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
84404
84405         * lib/quotearg.c (N_): New macro.
84406         (gettext_default): New function.
84407         (quotearg_buffer_restyled): Use
84408         gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
84409         gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
84410
84411 2000-07-09  Jim Meyering  <meyering@lucent.com>
84412
84413         * m4/jm-macros.m4 (jm_MACROS): Add a test to see if -lm is required
84414         to link seq.  If so, set SEQ_LIBM to -lm.  From Bruno Haible.
84415
84416         * m4/gnu-source.m4 (AC__GNU_SOURCE): New file/macro.
84417         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require it.
84418
84419 2000-07-09  Jim Meyering  <meyering@lucent.com>
84420
84421         * lib/Most files: Update copyright dates to include 2000.
84422
84423 2000-07-08  Jim Meyering  <meyering@lucent.com>
84424
84425         * lib/xgethostname.c (ENAMETOOLONG): Define to an unlikely value
84426         if not defined.
84427         (xgethostname): Remove now-unnecessary #ifdef.
84428         Move declaration of `err' into loop where it's used.
84429
84430 2000-07-05  Paul Eggert  <eggert@twinsun.com>
84431         and Bruno Haible  <haible@clisp.cons.org>
84432
84433         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Test for mbstate_t
84434         only if the test for an object-type mbstate_t fails.  This
84435         prevents us from mistakenly reporting that mbstate_t is a
84436         system object type after we "#define mbstate_t int" to work
84437         around its lack.
84438
84439 2000-07-05  Paul Eggert  <eggert@twinsun.com>
84440         and Bruno Haible  <haible@clisp.cons.org>
84441
84442         * lib/quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
84443
84444 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
84445
84446         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer
84447         to strerror_r.
84448         Include <ctype.h> for use of isalpha.
84449
84450 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
84451
84452         * lib/xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug
84453         by allocating a larger buffer. Test the gethostname return value for
84454         being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
84455         returns an error and ENAMETOOLONG isn't defined.
84456
84457 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
84458
84459         * lib/quotearg.c (struct quoting_options): Simplify quote_these_too
84460         dimension.
84461
84462 2000-07-04  Jim Meyering  <meyering@lucent.com>
84463
84464         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead
84465         of the deprecated AC_CHECKING.
84466
84467 2000-07-04  Jim Meyering  <meyering@lucent.com>
84468
84469         * lib/strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
84470         Reported by Bruno Haible.
84471
84472 2000-07-04  Jim Meyering  <meyering@lucent.com>
84473
84474         * lib/quotearg.c: Make inclusion of <wchar.h> independent of whether
84475         HAVE_MBRTOWC is set.  Required at least for irix-5.6, which
84476         lacks mbrtowc.
84477
84478 2000-07-03  Paul Eggert  <eggert@twinsun.com>
84479
84480         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13.
84481         Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H.
84482
84483 2000-07-03  Paul Eggert  <eggert@twinsun.com>
84484         and Bruno Haible  <haible@clisp.cons.org>
84485
84486         * lib/quotearg.c (mbrtowc):
84487         Assign to *pwc, and return 1 only if result is nonzero.
84488         (iswprint): Use ISPRINT when substituting our own mbrtowc.
84489
84490 2000-07-03  Jim Meyering  <meyering@lucent.com>
84491
84492         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strnlen.
84493
84494 2000-07-03  Jim Meyering  <meyering@lucent.com>
84495
84496         * lib/readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
84497         This is necessary to get a definition of e.g., UTMP_FILE on
84498         HP-UX 10.20.
84499         From Bob Proulx.
84500
84501 2000-07-02  Jim Meyering  <meyering@lucent.com>
84502
84503         * m4/mbstate_t.m4: Also define mbstate_t, if necessary.
84504
84505         * m4/chown.m4: Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with
84506         AC_LIBOBJ(function_name).
84507         * m4/chown.m4: Likewise.
84508         * m4/fnmatch.m4: Likewise.
84509         * m4/ftruncate.m4: Likewise.
84510         * m4/getgroups.m4: Likewise.
84511         * m4/getline.m4: Likewise.
84512         * m4/group-member.m4: Likewise.
84513         * m4/jm-macros.m4: Likewise.
84514         * m4/lstat.m4: Likewise.
84515         * m4/malloc.m4: Likewise.
84516         * m4/memcmp.m4: Likewise.
84517         * m4/nanosleep.m4: Likewise.
84518         * m4/putenv.m4: Likewise.
84519         * m4/realloc.m4: Likewise.
84520         * m4/regex.m4: Likewise.
84521         * m4/stat.m4: Likewise.
84522         * m4/strftime.m4: Likewise.
84523
84524 2000-07-02  Jim Meyering  <meyering@lucent.com>
84525
84526         * lib/quotearg.c (mbstate_t): Don't define here.
84527
84528 2000-07-02  Jim Meyering  <meyering@lucent.com>
84529
84530         * lib/nanosleep.c (SIGCONT): Define if not already defined.
84531
84532 2000-07-01  Jim Meyering  <meyering@lucent.com>
84533
84534         * m4/uptime.m4: Put double quotes around use of $cross_compiling.
84535
84536 2000-07-01  Jim Meyering  <meyering@lucent.com>
84537
84538         * m4/ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated
84539         problem.
84540
84541 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
84542
84543         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific
84544         macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV.
84545
84546 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
84547
84548         * lib/mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
84549         per change in ../m4/ls-mntd-fs.m4.
84550         (read_filesystem_list): Ignore symbolic links.
84551
84552 2000-06-29  Jim Meyering  <meyering@lucent.com>
84553
84554         * lib/same.c: Include <string.h> or <strings.h>, as appropriate,
84555         for declaration of strcmp.
84556
84557         * lib/long-options.c: Include <stdlib.h>, for declaration of exit.
84558
84559         * lib/mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
84560         Avoid warning by casting result to `char *' to remove `const'.
84561
84562 2000-06-28  Jim Meyering  <meyering@lucent.com>
84563
84564         * m4/mbstate_t.m4: Use stdlib.h, not stdio.h.  The latter is not
84565         included by quotearg.c, for which we perform this test.  From
84566         Bruno Haible.
84567
84568 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
84569
84570         * m4/check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well.
84571         * m4/prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either <utmp.h> or
84572         <utmpx.h> exists, put readutmp.o into LIBOBJS.
84573
84574 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
84575
84576         * lib/Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
84577
84578 2000-06-26  Paul Eggert  <eggert@twinsun.com>
84579
84580         savedir now sets errno on failure and invokes xmalloc to get memory.
84581         Fix a couple of other minor bugs while we're at it.
84582
84583         * lib/savedir.c (<unistd.h>): Do not include; there's no need.
84584         (NAMLEN): Remove macro.
84585         (malloc, realloc): Remove decls.
84586         (stpcpy): Likewise.
84587         ("xalloc.h"): Include.
84588         (NAME_SIZE_DEFAULT): New macro.
84589         (savedir): Use xmalloc / xrealloc to allocate memory.
84590         Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
84591         Skip "" directory entries.
84592         Use strlen to calculate directory entry length, since the old method
84593         is rarely used these days and isn't worth supporting.
84594         Don't use a pointer after freeing it.
84595         Check for integer overflow when calculating allocation size.
84596         Use memcpy to copy entries, instead of stpcpy.
84597         Set errno properly when returning NULL.
84598         Check for readdir error.
84599
84600 2000-06-26  Jim Meyering  <meyering@lucent.com>
84601
84602         * lib/posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
84603
84604 2000-06-25  Jim Meyering  <meyering@lucent.com>
84605
84606         * m4/mbstate_t.m4: Include stdio.h before wchar.h to work around
84607         Linux header bug when _XOPEN_SOURCE is defined to 500.
84608
84609 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
84610
84611         * lib/unicodeio.c (print_unicode_char): Work around ansi2knr
84612         deficiency.
84613
84614 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
84615
84616         * lib/getusershell.c (xmalloc, xrealloc): Remove functions.
84617         Include xalloc.h.
84618         Don't include <stdlib.h>.  Don't declare malloc, realloc.
84619
84620 2000-06-24  Jim Meyering  <meyering@lucent.com>
84621
84622         * m4/strerror_r.m4: Revive this file -- to try out an experimental
84623         version of AC_FUNC_STRERROR_R that may work even on BeOS, a system
84624         for which strerror does return char*, but which lacks a conveniently
84625         accessible declaration of the function.  If the compile-test says
84626         strerror_r doesn't work, then resort to a `run'-test that works on
84627         BeOS and segfaults on DEC Unix.
84628
84629 2000-06-24  Jim Meyering  <meyering@lucent.com>
84630
84631         * lib/error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
84632
84633 2000-06-23  Paul Eggert  <eggert@twinsun.com>
84634
84635         * m4/mbstate_t.m4: New file, defining AC_MBSTATE_T_OBJECT.
84636         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Use it.  Add check for iswprint.
84637
84638 2000-06-23  Paul Eggert  <eggert@twinsun.com>
84639
84640         * lib/quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
84641         (mbrtowc, mbstate_t): Define substitutes if
84642         HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
84643         (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
84644         not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
84645
84646 2000-06-23  Jim Meyering  <meyering@lucent.com>
84647
84648         * m4/afs.m4: Add missing AC_MSG_RESULT.
84649         Reported by Bruno Haible.
84650
84651         * m4/fsusage.m4: s/AC_MSG_CHECKING/AC_CHECKING/.
84652         Suggestion from Bruno Haible.
84653
84654 2000-06-23  Jim Meyering  <meyering@lucent.com>
84655
84656         * lib/getpass.c: New file, from Bruno Haible.  Required for BeOS.
84657
84658 2000-06-21  Jim Meyering  <meyering@lucent.com>
84659
84660         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass.
84661
84662 2000-06-21  Jim Meyering  <meyering@lucent.com>
84663
84664         * lib/Makefile.am (libfetish_a_SOURCES): Add getstr.c.
84665         (noinst_HEADERS): Add getstr.h.
84666
84667         * lib/getline.c (getstr): Move into a separate file.
84668         * lib/getstr.c (getstr): New file, extracted from getline.c, with
84669         the following changes: new parameter, delim2; both delim[12]
84670         parameters have type `int', not `char'.  The latter would lose
84671         with 8-bit delimiters.
84672         * lib/getstr.h: New file.
84673
84674 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
84675
84676         * lib/xgetcwd.c (xgetcwd): If the required pathname length is smaller
84677         than 1024, return a memory chunk of least possible size, instead
84678         of size PATH_MAX + 2. In the loop, increment the size proportionally.
84679         Use free/xmalloc instead of xrealloc to avoid copying for very long
84680         paths.
84681
84682 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
84683
84684         * lib/path-concat.c (path_concat): Don't access dir[-1] if dir is
84685         the empty string.
84686
84687 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
84688
84689         * lib/canon-host.c (canon_host): Use malloc and memcpy to copy an
84690         address, not strdup.  Include <stdlib.h> and don't declare free().
84691
84692 2000-06-19  Jim Meyering  <meyering@lucent.com>
84693
84694         * lib/getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
84695
84696 2000-06-18  Jim Meyering  <meyering@lucent.com>
84697
84698         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Remove mkdir.
84699
84700         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the
84701         `checking whether...' message to be consistent with that of the
84702         lstat test.
84703
84704 2000-06-18  Jim Meyering  <meyering@lucent.com>
84705
84706         * lib/mkdir.c: Remove file, due mainly to copyright incompatibility.
84707         Besides, these days every porting target provides a mkdir function.
84708
84709         * lib/strnlen.c: Include memory.h, string.h, and/or strings.h as
84710         needed. (this snippet comes from src/system.h).
84711
84712 2000-06-16  Bruno Haible  <haible@clisp.cons.org>
84713
84714         * m4/glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C.
84715
84716 2000-06-15  Paul Eggert  <eggert@twinsun.com>
84717
84718         * lib/human.c (adjust_value): New function.
84719         (human_readable_inexact): Apply rounding style even when
84720         printing approximate values.
84721
84722 2000-06-14  Paul Eggert  <eggert@twinsun.com>
84723
84724         * lib/human.c (human_readable_inexact): Allow an input block
84725         size that is not a multiple of the output block size, and vice versa.
84726         Reported by Piergiorgio Sartor.
84727
84728 2000-06-14  Paul Eggert  <eggert@twinsun.com>
84729
84730         * lib/getdate.y (get_date): Apply relative times after time
84731         zone indicator, not before.  Reported by Todd A. Jacobs.
84732
84733 2000-06-13  Jim Meyering  <meyering@lucent.com>
84734
84735         * lib/Makefile.am (all-local): Depend on lstat.c and stat.c.
84736
84737         * lib/xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
84738
84739 2000-06-12  Paul Eggert  <eggert@twinsun.com>
84740
84741         * lib/xstat.in: Include <stdlib.h> in lstat, to declare "free".
84742
84743 2000-06-12  Jim Meyering  <meyering@lucent.com>
84744
84745         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Replace with
84746         AC_FUNC_GETLOADAVG from autoconf, and tweak the latter to accept an
84747         optional argument.
84748         * m4/jm-macros.m4: s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/, and supply
84749         the optional argument, `lib'.
84750
84751 2000-06-08  Jim Meyering  <meyering@lucent.com>
84752
84753         * m4/largefile.m4: Remove file (now that it's part of autoconf).
84754
84755 2000-06-04  Paul Eggert  <eggert@twinsun.com>
84756
84757         Rewrite largefile configuration so that we don't need to run
84758         getconf and don't need AC_CANONICAL_HOST.  [I'm leaving the use of
84759         AC_CANONICAL_HOST in configure.in -- jmm]
84760
84761         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS,
84762         AC_SYS_LARGEFILE_SPACE_APPEND): Remove.
84763         (AC_SYS_LARGEFILE_TEST_INCLUDES): New macro.
84764         (AC_SYS_LARGEFILE_MACRO_VALUE): Change arguments from
84765         CODE-TO-SET-DEFAULT to VALUE, INCLUDES, FUNCTION-BODY.
84766         All uses changed.
84767         Instead of inspecting the output of getconf, try to compile the
84768         test program without and with the macro definition.
84769         (AC_SYS_LARGEFILE): Do not require AC_CANONICAL_HOST or check
84770         for getconf.  Instead, check for the needed flags by compiling
84771         test programs.
84772
84773 2000-06-04  Paul Eggert  <eggert@twinsun.com>
84774
84775         * lib/strnlen.c: Include <config.h> if HAVE_CONFIG_H.
84776
84777 2000-06-04  Jim Meyering  <meyering@lucent.com>
84778
84779         * lib/getugroups.c (getugroups): Cast -1 to gid_t, for systems like
84780         SunOS 4.1.4 for which gid_t is an unsigned type.
84781
84782 2000-06-03  Jim Meyering  <meyering@lucent.com>
84783
84784         * m4/prereq.m4 (jm_PREREQ_HUMAN): Use []-quoted list in AC_CHECK_DECLS,
84785         now that autoconf requires that.
84786
84787         * m4/jm-glibc-io.m4: Add a kludge to make autoheader emit the required
84788         #undefs.  E.g., #undef HAVE_DECL_FERROR_UNLOCKED.
84789         Use []-quoted list in AC_CHECK_DECLS, now that autoconf requires that.
84790
84791 2000-06-03  Jim Meyering  <meyering@lucent.com>
84792
84793         * lib/strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
84794
84795 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
84796
84797         * m4/glibc21.m4: New file.
84798         * m4/jm-macros.m4 (jm_MACROS): Call jm_GLIBC21.
84799
84800 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
84801
84802         * lib/Makefile.am (install-exec-local): On systems with glibc-2.1 or
84803         newer, don't install charset.alias.
84804         * lib/config.charset: Change the Linux/glibc rules so they become empty
84805         on glibc-2.1 or newer.
84806
84807 2000-06-02  Jim Meyering  <meyering@lucent.com>
84808
84809         * lib/mountlist.c: Back out last change.  Instead, do this...
84810         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the
84811         me_dummy member using the same `ignore'-testing code.
84812         * lib/mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
84813         fs_type strings.
84814         From Mark D. Roth.
84815
84816 2000-05-29  Jim Meyering  <meyering@lucent.com>
84817
84818         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore
84819         mounts with the `ignore' attribute.  Based on a patch from
84820         Mark D. Roth.
84821
84822 2000-05-28  Jim Meyering  <meyering@lucent.com>
84823
84824         * m4/jm-macros.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Rename from
84825         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
84826         * m4/stat.m4: Likewise.
84827         * m4/lstat.m4: Likewise.
84828         * m4/lstat-slash.m4: Remove file (absorbed into autoconf).
84829
84830         * m4/jm-macros.m4 (AC_FUNC_STRERROR_R): Rename from jm_FUNC_STRERROR_R.
84831         * m4/strerror_r.m4: Remove file (absorbed into autoconf).
84832
84833 2000-05-26  Jim Meyering  <meyering@lucent.com>
84834
84835         * m4/uptime.m4: Use `$cross_compiling', not `$ac_cv_prog_cc_cross'.
84836
84837 2000-05-24  Jim Meyering  <meyering@lucent.com>
84838
84839         * m4/prereq.m4: Use []-quoted list in AC_CHECK_MEMBERS, now that
84840         autoconf requires that.
84841         * m4/lib-check.m4: Likewise.
84842         * m4/jm-macros.m4: Likewise.
84843         * m4/strftime.m4: Likewise.
84844
84845         * m4/check-decl.m4 (jm_CHECK_DECLS): Use []-quoted list in
84846         AC_CHECK_DECLS, now that autoconf requires that.
84847
84848 2000-05-22  Jim Meyering  <meyering@lucent.com>
84849
84850         * m4/stat.m4: Require jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
84851         * m4/lstat.m4: Likewise.
84852
84853 2000-05-22  Jim Meyering  <meyering@lucent.com>
84854
84855         * lib/makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
84856
84857 2000-05-20  Jim Meyering  <meyering@lucent.com>
84858
84859         * m4/prereq.m4 (jm_PREREQ_HUMAN): New macro.
84860         (jm_PREREQ): Use it.
84861
84862 2000-05-18  Jim Meyering  <meyering@lucent.com>
84863
84864         * lib/hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
84865         back, too, since it may have been modified by allocate_entry.
84866         (hash_delete): Rewrite to use neither the assignment operator
84867         nor the comma operator in an if-expression.
84868
84869 2000-05-15  Paul Eggert  <eggert@twinsun.com>
84870
84871         * lib/closeout.c:
84872         <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
84873         Remove; no longer needed.
84874         "quotearg.h": Add include.
84875         (file_name): Do not bother to explicitly initialize to NULL; it's less
84876         efficient on some hosts.
84877         (close_stdout_status): Remove test as to whether stdout was already
84878         closed; it breaks for the case "echo x | sort >&-".
84879         Quote file name colons.
84880         Do not assume that _("write error") lacks format strings.
84881
84882 2000-05-15  Jim Meyering  <meyering@lucent.com>
84883
84884         * lib/version-etc.c (version_etc_copyright): Update the copyright
84885         string used in all --version output.
84886
84887 2000-05-14  Jim Meyering  <meyering@lucent.com>
84888
84889         * lib/closeout.c (close_stdout_set_file_name): New function.
84890         (close_stdout_status): Use new file-scoped global.
84891         Return right away if fstat says the stdout file descriptor is invalid.
84892         * lib/closeout.h (close_stdout_set_file_name): Declare.
84893
84894 2000-05-10  Jim Meyering  <meyering@lucent.com>
84895
84896         * lib/closeout.c [default_exit_status]: New file-scoped variable.
84897         (close_stdout_set_status): New function.
84898         * lib/closeout.h (close_stdout_set_status): Declare.
84899
84900 2000-05-09  Jim Meyering  <meyering@lucent.com>
84901
84902         * m4/gettext.m4: Rename this...
84903         * m4/libintl.m4: ...to this.
84904
84905 2000-05-08  Jim Meyering  <meyering@lucent.com>
84906
84907         * lib/long-options.c: Don't include closeout.h.
84908         (parse_long_options): Don't call close_stdout for --version.
84909
84910 2000-05-06  Paul Eggert  <eggert@twinsun.com>
84911
84912         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _XOPEN_SOURCE to
84913         be 500, instead of _GNU_SOURCE to be 1, to work around glibc
84914         2.1.3 bug.  This avoids a clash when files like regex.c define
84915         _GNU_SOURCE.
84916
84917 2000-05-06  Jim Meyering  <meyering@lucent.com>
84918
84919         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add atexit.
84920         (AC_REPLACE_FUNCS): Add strnlen.
84921
84922         * m4/rmdir-errno.m4 (fetish_FUNC_RMDIR_NOTEMPTY): New macro and file.
84923         * m4/jm-macros.m4: Require fetish_FUNC_RMDIR_NOTEMPTY.
84924
84925         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Save and restore LIBS around
84926         AC_SEARCH_LIBS call for nanosleep.
84927         (LIB_NANOSLEEP): Set and AC_SUBST.
84928
84929 2000-05-06  Jim Meyering  <meyering@lucent.com>
84930
84931         * lib/strnlen.c: Undefine __strnlen and strnlen.
84932         [!weak_alias]: Define __strnlen to strnlen.
84933
84934         * lib/atexit.c: New file, from libiberty.
84935
84936 2000-05-06  Jim Meyering  <meyering@lucent.com>
84937
84938         * lib/closeout.c (close_stdout_status): Also check for errors on the
84939         stderr stream.
84940
84941 2000-05-05  Jim Meyering  <meyering@lucent.com>
84942
84943         * m4/jm-macros.m4 (jm_MACROS): Save and restore LIBS around
84944         AC_SEARCH_LIBS call for clock_gettime.
84945         (LIB_CLOCK_GETTIME): Set and AC_SUBST.
84946
84947         * m4/search-libs.m4: Update from autoconf.
84948
84949         su doesn't work on Solaris 2.6.
84950         * m4/lib-check.m4: When checking for struct spwd.sp_pwdp, also include
84951         <shadow.h>.  Reported by Dragos Harabor.
84952
84953 2000-05-05  Bruno Haible  <haible@clisp.cons.org>
84954
84955         * lib/localcharset.c (get_charset_aliases): Use malloc, realloc and
84956         memcpy instead of xmalloc, xrealloc, path_concat.
84957         (locale_charset): Treat empty environment variables as absent.
84958         (DIRECTORY_SEPARATOR, ISSLASH): New macros.
84959
84960 2000-05-04  Jim Meyering  <meyering@lucent.com>
84961
84962         * lib/getopt.c: Update from glibc.
84963         * lib/obstack.c: Likewise.
84964         * lib/obstack.h: Likewise.
84965         * lib/regex.c: Likewise.  NB: K&R compiler support is dropped for this
84966         file
84967
84968         * lib/regex.h: Likewise.
84969         * lib/strndup.c: Likewise.
84970         * lib/strnlen.c: New file, from glibc.
84971
84972 2000-05-03  Jim Meyering  <meyering@lucent.com>
84973
84974         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strndup.
84975
84976 2000-05-02  Paul Eggert  <eggert@twinsun.com>
84977
84978         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _GNU_SOURCE if
84979         this is needed to make ftello visible (e.g. glibc 2.1.3).  Use
84980         compile-time test, rather than inspecting host and OS, to
84981         decide whether to define _LARGEFILE_SOURCE.
84982
84983 2000-05-01  Jim Meyering  <meyering@lucent.com>
84984
84985         * m4/fsusage.m4: Use AC_MSG_CHECKING instead of obsolete AC_CHECKING.
84986
84987         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add BeOS support.
84988         Based on a patch from Bruno Haible.
84989
84990 2000-05-01  Jim Meyering  <meyering@lucent.com>
84991
84992         * lib/full-write.c (full_write): Remove `FIXME' part of comment.
84993
84994 2000-04-29  Jim Meyering  <meyering@lucent.com>
84995
84996         * lib/path-concat.c: Declare strdup only if it's not defined.
84997         * lib/canon-host.c: Likewise.
84998
84999 2000-04-28  Jim Meyering  <meyering@lucent.com>
85000
85001         * lib/rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to
85002         avoid redefinition warning on some systems (HPUX).  Otherwise, regex.h
85003         is included first, then limits.h is included by locale.h by libintl.h.
85004         From John David Anglin.
85005
85006 2000-04-25  Jim Meyering  <meyering@lucent.com>
85007
85008         * lib/makepath.c (S_IRWXUGO): Define.
85009         (make_path): Always perform explicit chmod if MODE specifies any
85010         of the `special' permission bits.  Prompted by a bug report against
85011         install from Mate Wierdl and Joost van Baal.
85012
85013 2000-04-18  Jim Meyering  <meyering@lucent.com>
85014
85015         * m4/prereq.m4 (jm_PREREQ_GETPAGESIZE): New macro.
85016         (jm_PREREQ): Use it.
85017
85018 2000-04-18  Jim Meyering  <meyering@lucent.com>
85019
85020         * lib/README: New file.
85021
85022         * lib/getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
85023         getpagesize.  For BeOS.  Based on a patch from Bruno Haible.
85024
85025 2000-04-17  Jim Meyering  <meyering@lucent.com>
85026
85027         Get it right :-)
85028         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Emit the
85029         actual #define via AH_VERBATIM.  Don't need separate AC_DEFINE.
85030         Suggestion from Akim Demaille.
85031
85032 2000-04-17  Jim Meyering  <meyering@lucent.com>
85033
85034         * lib/strftime.c (my_strftime) [strftime]: Declare strftime here, since
85035         the definition of it to rpl_strftime also defined-away the system's
85036         declaration.
85037
85038 2000-04-15  Jim Meyering  <meyering@lucent.com>
85039
85040         Use `C' to denote so-called `contiguous' files, the same way
85041         that tar does.
85042         * lib/filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
85043         (ftypelet): Use S_ISCTG.
85044         From Michael Deutschmann.
85045
85046 2000-04-14  Jim Meyering  <meyering@lucent.com>
85047
85048         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use the one-arg
85049         form of AC_DEFINE.  Otherwise, the #ifndef in AH_VERBATIM gets
85050         clobbered.
85051
85052 2000-04-14  Jim Meyering  <meyering@lucent.com>
85053
85054         * lib/strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
85055
85056 2000-04-13  Jim Meyering  <meyering@lucent.com>
85057
85058         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use new
85059         AH_VERBATIM to insert required #ifndef into config.h.in.
85060         Suggestion from Akim Demaille.
85061
85062 2000-04-12  Jim Meyering  <meyering@lucent.com>
85063
85064         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Use AC_CHECK_HEADERS, not
85065         `AC_CHECK_HEADER' to check for locale.h.  Thanks to a report from
85066         Christian Krackowizer.
85067
85068         More code moved from ../configure.in into (jm_CHECK_ALL_TYPES).
85069         * m4/jm-macros.m4 (_GNU_SOURCE): Define.
85070         (AC_SYS_LARGEFILE): Require.
85071         (AM_C_PROTOTYPES): Require.
85072
85073 2000-04-08  Jim Meyering  <meyering@lucent.com>
85074
85075         * lib/Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
85076         names don't conflict.  Reported by Eli Zaretskii.
85077
85078 2000-04-07  Jim Meyering  <meyering@lucent.com>
85079
85080         * lib/putenv.c: Move inclusion of errno.h so it follows that of
85081         sys/types.h, to work around system header problems on AIX 3.2.5.
85082         From Bruno Haible.
85083
85084 2000-04-07  Bruno Haible  <haible@clisp.cons.org>
85085
85086         * lib/unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
85087         bug.  Deal with the different error behavior of Irix iconv.
85088
85089 2000-04-05  Paul Eggert  <eggert@twinsun.com>
85090
85091         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Don't use -n32 on
85092         IRIX if the installer said otherwise.
85093
85094 2000-04-05  Jim Meyering  <meyering@lucent.com>
85095
85096         Portability tweaks required for ultrix4.3.
85097         * m4/check-decl.m4 [!HAVE_UTMPX_H] (headers): Include <utmp.h>.
85098         (jm_CHECK_DECLS): Add getutent to the list of functions.
85099         (_jm_DECL_HEADERS): Add utmpx.h.
85100         From John David Anglin.
85101
85102         * m4/strftime.m4: Back out the 2000-04-02 change.
85103         Instead of that change, simply undefine putenv in the test program.
85104
85105 2000-04-05  Jim Meyering  <meyering@lucent.com>
85106
85107         Portability tweaks required for ultrix4.3.
85108         * lib/readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare
85109         getutent.
85110         * lib/readutmp.c: Include sys/types.h before sys/stat.h.
85111         * lib/canon-host.c: Declare strdup.
85112         * lib/path-concat.c: Likewise.
85113         From John David Anglin.
85114
85115 2000-04-04  Jim Meyering  <meyering@lucent.com>
85116
85117         Be more DOS 8.3-friendly.
85118         * lib/ref-add.sin: Renamed from ref-add.sed.in.
85119         * lib/ref-del.sin: Renamed from ref-del.sed.in.
85120         * lib/Makefile.am: Reflect renaming.
85121         Reported by Eli Zaretskii.
85122
85123         Use a temporary file name that won't clash with `charset.alias'
85124         in the DOS 8.3 name space.
85125         * lib/Makefile.am (charset_tmp): Define.
85126         (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
85127         (uninstall-local): Likewise.
85128         Reported by Eli Zaretskii.
85129
85130 2000-04-03  Jim Meyering  <meyering@lucent.com>
85131
85132         * m4/gettext.m4: Fix typo in comment.
85133
85134         * m4/codeset.m4 (AC_CHECK_HEADERS): Add langinfo.h (moved here from
85135         textutils/configure.in).  Suggestion from Paul Eggert.
85136         (AC_CHECK_FUNCS): Add nl_langinfo.  (also from textutils/configure.in)
85137
85138 2000-04-02  Paul Eggert  <eggert@twinsun.com>
85139
85140         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Set TZ environment
85141         variable in the shell rather than using putenv, which isn't
85142         portable.  This avoids the configure-time inter-test dependency
85143         on the potentially-renamed putenv function.
85144
85145 2000-03-30  Paul Eggert  <eggert@twinsun.com>
85146
85147         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Include <sys/stat.h>
85148         before checking struct stat.st_blksize, so that
85149         HAVE_STRUCT_STAT_ST_BLKSIZE is defined correctly.
85150
85151 2000-03-29  Paul Eggert  <eggert@twinsun.com>
85152
85153         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Check for strftime,
85154         since strftime.c uses HAVE_STRFTIME to decide whether to use
85155         the underlying strftime.
85156
85157 2000-03-29  Paul Eggert  <eggert@twinsun.com>
85158
85159         * lib/time/strftime.c (my_strftime): Make sure we call the system
85160         strftime, not ourselves, when invoking the underlying strftime.
85161
85162 2000-03-24  Jim Meyering  <meyering@lucent.com>
85163
85164         * lib/Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
85165         (charset_alias): Define.
85166         (install-exec-local): Factor out common code.
85167         (uninstall-local): Split lines longer than 80.
85168         (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
85169         (SUFFIXES): Define.
85170         (.sed.in.sed): New rule.  Don't redirect directly to $@.
85171         (CLEANFILES): Add ref-add.sed and ref-del.sed.
85172
85173 2000-03-19  Bruno Haible  <haible@clisp.cons.org>
85174
85175         * lib/config.charset: Output a line containing "Packages using this
85176         file".
85177         * lib/ref-add.sed.in, lib/ref-del.sed.in: New files.
85178         * lib/Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
85179         ref-del.sed): New rules.
85180
85181 2000-03-17  Jim Meyering  <meyering@lucent.com>
85182
85183         * lib/unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
85184         Otherwise, include <strings.h>
85185
85186 2000-03-17  Bruno Haible  <haible@clisp.cons.org>
85187
85188         * lib/unicodeio.c (utf8_wctomb): New function.
85189         (print_unicode_char): Pass the Unicode character to iconv in UTF-8
85190         format instead of in UCS-4 with platform dependent endianness.
85191
85192 2000-03-10  Jim Meyering  <meyering@lucent.com>
85193
85194         * m4/lib-check.m4: Look for getspnam in -lgen, too.
85195         From Marco Franzen.
85196
85197 2000-03-07  Paul Eggert  <eggert@twinsun.com>
85198
85199         * lib/savedir.c (savedir): Work even if directory size is
85200         negative; this can happen with some screwy NFS configurations.
85201
85202 2000-03-06  Jim Meyering  <meyering@lucent.com>
85203
85204         * lib/localcharset.c (get_charset_aliases): Don't try to free file_name
85205         if it's NULL (because we ran out of memory).  From Bruno Haible.
85206
85207 2000-03-05  Jim Meyering  <meyering@lucent.com>
85208
85209         * lib/localcharset.c ("path-concat.h"): Include.
85210         (get_charset_aliases): Use path_concat instead of ANSI string
85211         concatenation.
85212
85213         * lib/unicodeio.h (PARAMS): Define.
85214         Use it to guard prototype.
85215
85216 2000-03-04  Jim Meyering  <meyering@lucent.com>
85217
85218         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require AC_C_VOLATILE,
85219         for lib/localcharset.c.
85220
85221 2000-03-04  Jim Meyering  <meyering@lucent.com>
85222
85223         * lib/Makefile.am (install-exec-local): Create $(libdir) before
85224         installing into it.
85225         (uninstall-local): Uncomment this rule so `make distcheck' works
85226         once again.
85227
85228         * lib/unicodeio.c (<errno.h>): Include it.
85229         (errno): Declare if not defined.
85230
85231         * lib/localcharset.c: Add Bruno's comment justifying use of volatile.
85232
85233         * lib/config.charset: New version, incorporating remarks from a linux
85234         i18n mailing list.  From Bruno Haible.
85235
85236 2000-03-04  Bruno Haible  <haible@clisp.cons.org>
85237
85238         * m4/codeset.m4: New file.
85239         * m4/iconv.m4: New file.
85240         * m4/jm-macros.m4 (jm_MACROS): Call jm_LANGINFO_CODESET and jm_ICONV.
85241
85242 2000-03-03  Jim Meyering  <meyering@lucent.com>
85243
85244         * m4/regex.m4: Make sure re_compile_pattern accepts patterns like `{1'.
85245
85246 2000-03-02  Jim Meyering  <meyering@lucent.com>
85247
85248         * m4/timespec.m4: Require AC_HEADER_TIME before the cache check so
85249         the messages come out on separate lines.
85250
85251         * m4/jm-glibc-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO): Use AC_CHECK_DECLS,
85252         rather than jm_CHECK_DECLARATIONS.
85253         * m4/decl.m4: Remove now-unused file.
85254
85255         * m4/check-decl.m4 (AC_CHECK_DECLS): Add getlogin, ttyname, and
85256         geteuid.
85257
85258 2000-03-02  Jim Meyering  <meyering@lucent.com>
85259
85260         * lib/Makefile.am (EXTRA_DIST): Add config.charset.
85261
85262 2000-03-01  Jim Meyering  <meyering@lucent.com>
85263
85264         * lib/localcharset.c: Guard some #includes with `#if HAVE_...'.
85265         * lib/unicodeio.c: Likewise.
85266
85267 2000-03-01  Bruno Haible  <haible@clisp.cons.org>
85268
85269         * lib/config.charset: New file.
85270         * lib/localcharset.c: New file.
85271         * lib/unicodeio.h, lib/unicodeio.c: New files.
85272         * lib/Makefile.am (DEFS): Add -DLIBDIR=...
85273         (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
85274         (noinst_HEADERS): Add unicodeio.h.
85275         (all-local, install-exec-local, charset.alias): New targets.
85276
85277 2000-02-28  Paul Eggert  <eggert@twinsun.com>
85278
85279         * lib/quotearg.c (ALERT_CHAR): New macro.
85280         (quotearg_buffer_restyled): Use it.
85281
85282 2000-02-27  Jim Meyering  <meyering@lucent.com>
85283
85284         * m4/check-decl.m4: Add getenv to the list.
85285
85286 2000-02-27  Jim Meyering  <meyering@lucent.com>
85287
85288         * lib/strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
85289         Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
85290
85291         * lib/backupfile.c: Guard inclusion of stdlib.h with
85292         `#if HAVE_STDLIB_H', not `#if STDC_HEADERS'.
85293         Declare malloc if needed.
85294
85295         * lib/backupfile.c: Use `#if !HAVE_DECL...' instead of
85296         `#ifndef HAVE_DECL..'
85297         now that autoconf always defines the HAVE_DECL_ symbols.
85298         * lib/human.c: Likewise.
85299         * lib/same.c: Likewise.
85300         * lib/strtoumax.c: Likewise.
85301
85302         * lib/backupfile.c: Arrange for cpp to fail if the configure-time
85303         declaration check was not run.
85304         * lib/hash.c: Likewise.
85305         * lib/human.c: Likewise.
85306         * lib/same.c: Likewise.
85307         * lib/strtoumax.c: Likewise.
85308
85309         * lib/userspec.c (parse_user_spec): If there is no `:' but there is a
85310         `.', then first look up the entire `.'-containing string as a login
85311         name.
85312
85313 2000-02-23  Jim Meyering  <meyering@lucent.com>
85314
85315         * m4/check-decl.m4: Now that we have the new AC_CHECK_DECLS, use it
85316         in place of my hack.
85317
85318 2000-02-18  Paul Eggert  <eggert@twinsun.com>
85319
85320         * lib/getdate.y: Handle two-digit years with leading zeros correctly.
85321         (textint): New typedef.
85322         (parser_control): Member year changed from int to textint.
85323         All uses changed.
85324         (YYSTYPE): Removed; replaced by %union with int and textint members.
85325         (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
85326         tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
85327         tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
85328         (tSNUMBER, tUNUMBER): Now of type <textintval>.
85329         (date, number, to_year): Use width of number in digits, not its value,
85330         to determine whether it's a 2-digit year, or a 2-digit time.
85331         (yylex): Store number of digits of numeric tokens.
85332         Reported by John Kendall.
85333
85334         (parser_control): Changed from struct parser_control to typedef (for
85335         consistency).  All uses changed.
85336
85337         (tID): Removed; not used.
85338         (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
85339
85340 2000-02-14  Paul Eggert  <eggert@twinsun.com>
85341
85342         * lib/getpagesize.h (getpagesize): Port to VMS for Alpha;
85343         adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
85344
85345 2000-02-12  Jim Meyering  <meyering@lucent.com>
85346
85347         * lib/userspec.c (ISDIGIT): Define it.
85348         (isdigit): Remove definition.
85349         (is_number): Use ISDIGIT, not isdigit.
85350         <libintl.h>: Include.
85351         (_ and N_): Define.
85352         (parse_user_spec): Mark translatable strings.
85353
85354 2000-02-10  Jim Meyering  <meyering@lucent.com>
85355
85356         With these changes, nanosleep.[ch] are finally enough like the other
85357         lib/* replacement files to compile on a few more losing systems.
85358
85359         * lib/nanosleep.h: Don't include config.h.
85360         Remove prototype from declaration of nanosleep.
85361         (PARAMS): Remove now-unneeded definition.
85362         * lib/nanosleep.c: #undef nanosleep.
85363         (rpl_nanosleep): Rename from nanosleep.
85364
85365 2000-02-10  Jim Meyering  <meyering@lucent.com>
85366
85367         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Rename replacement function from
85368         gnu_nanosleep to rpl_nanosleep.
85369
85370 2000-02-09  Jim Meyering  <meyering@lucent.com>
85371
85372         * m4/lib-check.m4 (jm_LIB_CHECK): Fix typo: check for sp_pwdp in
85373         struct spwd, rather than in struct passwd.  Reported by Gaël Quéri.
85374
85375 2000-02-08  Akim Demaille  <akim@epita.fr>
85376
85377         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Quote square brackets with
85378         `[' and `]' and remove uses of `changequote'.
85379         (AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
85380         (AC_SYS_LARGEFILE): Likewise.
85381         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
85382         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Remove now-unnecessary use
85383         of changequote.
85384         * m4/regex.m4 (jm_INCLUDED_REGEX): Likewise.
85385         * m4/readdir.m4 (jm_FUNC_READDIR): Likewise
85386         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Likewise, and add `int' for main.
85387         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Likewise.
85388
85389 2000-02-05  Jim Meyering  <meyering@lucent.com>
85390
85391         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require most macros.
85392         Remove explicit use of AC_HEADER_TIME.  It is required by
85393         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Using AC_HEADER_TIME and
85394         `AC_REQUIRE'ing jm_CHECK_TYPE_STRUCT_TIMESPEC provoked a but
85395         in autoconf whereby the expansion of the latter ended up preceding
85396         the expansion of its prerequisite, AC_HEADER_TIME.
85397         Reported by Volker Borchert.
85398
85399 2000-02-03  Jim Meyering  <meyering@lucent.com>
85400
85401         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for utmpxname.
85402
85403 2000-02-03  Jim Meyering  <meyering@lucent.com>
85404
85405         * lib/readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
85406         rather than with `#if HAVE_UTMPNAME'.
85407
85408 2000-02-02  Jim Meyering  <meyering@lucent.com>
85409
85410         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Fix typo that resulted in no
85411         definition of HAVE_PATHCONF: s/AC_CHECK_FUNC/AC_CHECK_FUNCS/.
85412         Reported by Eli Zaretskii.
85413
85414 2000-02-01  Jim Meyering  <meyering@lucent.com>
85415
85416         * lib/readutmp.h (UT_USER): Add parens.  From Andreas Schwab.
85417
85418 2000-01-31  Jim Meyering  <meyering@lucent.com>
85419
85420         * m4/check-decl.m4 (jm_CHECK_DECLS): Add nanosleep to the list of
85421         functions.  Add the time.h and sys/time.h headers along with the
85422         AC_REQUIRE'ment of AC_HEADER_TIME.
85423
85424 2000-01-31  Jim Meyering  <meyering@lucent.com>
85425
85426         * lib/nanosleep.h (nanosleep): Guard declaration with
85427         `#if ! HAVE_DECL_NANOSLEEP'.
85428         Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
85429         the declaration in that vendor's sys/timers.h.
85430         Reported by Christian Krackowizer.
85431
85432         * lib/quotearg.c (ISASCII): Add #undef and move definition to follow
85433         inclusion of wctype.h to work around Solaris 2.6 namespace pollution.
85434         (ISPRINT): Likewise.
85435         Reported by Tom Tromey.
85436
85437 2000-01-30  Jim Meyering  <meyering@lucent.com>
85438
85439         * m4/lib-check.m4: Clean up some kludgy old shadow password tests.
85440
85441         * m4/prereq.m4 (utmp_includes): Define.
85442         Check for ut_user and ut_name members in both struct utmpx
85443         and struct utmp.
85444
85445 2000-01-30  Jim Meyering  <meyering@lucent.com>
85446
85447         * lib/readutmp.c (extract_trimmed_name): Use UT_USER instead of
85448         hard-coding uses of ->ut_name.  The latter doesn't work with new Linux
85449         header files where only utmpx.ut_user is declared.
85450
85451         * lib/readutmp.h (UT_USER): Define.
85452
85453 2000-01-29  Jim Meyering  <meyering@lucent.com>
85454
85455         * m4/lib-check.m4: New file containing library-related checks from
85456         fileutils and sh-utils (textutils had none).
85457
85458 2000-01-28  Jim Meyering  <meyering@lucent.com>
85459
85460         * m4/perl.m4: Change format of warning message to look more like that
85461         from the missing script.  Suggestion from François Pinard.
85462
85463 2000-01-25  Jim Meyering  <meyering@lucent.com>
85464
85465         * m4/timespec.m4: Require AC_HEADER_TIME, and include sys/time.h as
85466         well as time.h in the compile check.
85467         * m4/nanosleep.m4: Require AC_HEADER_TIME rather than simply using it.
85468         Fix typo in cross-compiling case: s/yes/no/.
85469
85470 2000-01-23  Jim Meyering  <meyering@lucent.com>
85471
85472         * m4/jm-macros.m4: Move df-related tests here from
85473         fileutils/configure.in
85474
85475         * m4/ls-mntd-fs.m4: s/list_mounted_fs/ac_list_mounted_fs/
85476         (jm_LIST_MOUNTED_FILESYSTEMS): Take two parameters.
85477
85478         * m4/fsusage.m4: New file.  Extracted from fileutils/configure.in.
85479         s/space/ac_fsusage_space/.
85480         (jm_FILE_SYSTEM_USAGE): Take two parameters.
85481
85482         * m4/ftruncate.m4: New file (derived from part of
85483         fileutils/configure.in).
85484         * m4/jm-macros.m4 (jm_FUNC_FTRUNCATE): AC_REQUIRE it.
85485         (jm_CHECK_ALL_TYPES): Require AC_HEADER_MAJOR and AC_HEADER_DIRENT.
85486
85487         * m4/jm-macros.m4 (OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, MAN):
85488         AC_SUBST these here, rather than just in sh-util/configure.in, so
85489         that the now-shared-by-fileutils-and-textutils lib/Makefile.am are
85490         all the same.
85491         (AM_FUNC_OBSTACK): Add (from fileutils/configure.in).
85492         (AC_CHECK_FUNCS): Merge all checks from fileutils, textutils, sh-utils.
85493         (AM_FUNC_STRTOD): Added (from textutils', sh-utils' configure.in).
85494         (AC_SUBST(POW_LIBM)): Likewise.
85495         (AC_SUBST(DF_PROG)): Moved from fileutils/configure.in.
85496
85497 2000-01-23  Jim Meyering  <meyering@lucent.com>
85498
85499         * lib/Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
85500         obstack.c.
85501
85502 2000-01-22  Jim Meyering  <meyering@lucent.com>
85503
85504         * m4/jm-macros.m4: Call AC_PROG_CC_STDC just before AC_C_CONST.
85505
85506         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Add wctype.h.
85507
85508         * m4/jm-macros.m4 (AC_CHECK_HEADERS): Add checks from fileutils'
85509         configure.in
85510         (AC_CHECK_HEADERS): Likewise for sh-utils.
85511         (AC_CHECK_HEADERS): Likewise for textutils.
85512         Merge the three lists of headers.
85513
85514         * m4/prereq.m4 (jm_PREREQ_ADDEXT): New macro.  Parts moved here
85515         from fileutils' configure.in.
85516
85517         * m4/decl.m4: Remove kludgy `test -z $ac_...AC_CHECK_HEADERS(...)'
85518         code. Moved tests into their own function (_jm_DECL_HEADERS) in
85519         check-decl.m4.
85520
85521         * m4/check-decl.m4: Use #if rather than #ifdef.
85522         Add HAVE_DECL_STRTOUL and HAVE_DECL_STRTOULL.
85523         (jm_CHECK_DECLARATIONS): Add strtoul strtoull.
85524         (_jm_DECL_HEADERS): Define new function.
85525         (jm_CHECK_DECLARATIONS): Require it.
85526
85527 2000-01-22  Jim Meyering  <meyering@lucent.com>
85528
85529         * lib/strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
85530         [! HAVE_DECL_STRTOULL]: Declare strtoull.
85531         Required for some AIX systems.  Reported by Christian Krackowizer.
85532         [TESTING] (main): New function.
85533
85534         1997-10-17  Eli Zaretskii  <eliz@is.elta.co.il>
85535         * lib/dirname.c (dir_name): Support for DOS-style file names with drive
85536         letters.
85537
85538         * lib/quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of
85539         iswprint.
85540
85541         * lib/strverscmp.c (ISDIGIT): Define.
85542         (strverscmp): Use ISDIGIT, not isdigit.
85543
85544 2000-01-19  Jim Meyering  <meyering@lucent.com>
85545
85546         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
85547         Use AC_HEADER_TIME.  Volker Borchert reported that OpenBSD-2.3/sparc
85548         defines `struct timespec' in <sys/time.h>
85549
85550         * m4/c-bs-a.m4: Remove uses of changequote altogether.
85551         Thanks to Akim for explaining.
85552
85553 2000-01-17  Paul Eggert  <eggert@twinsun.com>
85554
85555         * lib/nanosleep.c (nanosleep):
85556         Don't use SA_INTERRUPT to decide whether to call sigaction, as
85557         POSIX.1 doesn't require SA_INTERRUPT and some systems
85558         (e.g. Solaris 7) don't define it.  Use SA_NOCLDSTOP instead;
85559         it's been part of POSIX.1 since day 1 (in 1988).
85560
85561 2000-01-17  Jim Meyering  <meyering@lucent.com>
85562
85563         * lib/interlock: Remove unused file.  Reported by François Pinard.
85564
85565 2000-01-16  Paul Eggert  <eggert@twinsun.com>
85566
85567         * lib/quotearg.c (quotearg_buffer_restyled): Do not quote
85568         alert, backslash, formfeed, and vertical tab unnecessarily in
85569         shell quoting style.
85570
85571 2000-01-16  Jim Meyering  <meyering@lucent.com>
85572
85573         * m4/jm-macros.m4: Require jm_FUNC_GROUP_MEMBER, jm_FUNC_PUTENV,
85574         AM_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, jm_FUNC_MKTIME,
85575         jm_FUNC_GETGROUPS AC_FUNC_VPRINTF, AC_FUNC_ALLOCA,
85576         AM_FUNC_GETLOADAVG, and jm_SYS_PROC_UPTIME.
85577
85578 2000-01-16  Jim Meyering  <meyering@lucent.com>
85579
85580         * m4/c-bs-a.m4: Use `changequote(<<,>>)', rather than `changequote(, )'
85581         because the latter didn't work.
85582
85583 2000-01-15  Jim Meyering  <meyering@lucent.com>
85584
85585         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add gethostname and getusershell.
85586         (AC_REPLACE_FUNCS): Add memcpy and memset.
85587         Add these, too: stime strcspn stpcpy strstr strtol strtoul.
85588         Add strpbrk.
85589         Add these: euidaccess memcmp mkdir rmdir rpmatch strndup strverscmp.
85590
85591 2000-01-12  Jim Meyering  <meyering@lucent.com>
85592
85593         * m4/prereq.m4 (jm_PREREQ_CANON_HOST): New macro.
85594         (jm_PREREQ): Use it.
85595         (jm_PREREQ_READUTMP): New macro.
85596         (jm_PREREQ): Use it.
85597
85598 2000-01-11  Paul Eggert  <eggert@twinsun.com>
85599
85600         Quote multibyte characters correctly.
85601         * m4/c-bs-a.m4: New file.
85602         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): New macro.
85603         (jm_PREREQ): Use it.
85604
85605 2000-01-11  Paul Eggert  <eggert@twinsun.com>
85606
85607         * m4/uintmax_t.m4: Port to autoconf 2.13.
85608
85609 2000-01-08  Jim Meyering  <meyering@ascend.com>
85610
85611         * m4/strerror_r.m4 (jm_FUNC_STRERROR_R): New file/macro.
85612         * m4/jm-macros.m4 (jm_FUNC_STRERROR_R): Require it.
85613
85614 2000-01-04  Jim Meyering  <meyering@ascend.com>
85615
85616         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename from
85617         jm_STRUCT_DIRENT_D_TYPE.
85618         * m4/d-ino.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_INO): Rename from
85619         jm_STRUCT_DIRENT_D_INO.
85620         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Rename from
85621         jm_STRUCT_UTIMBUF.
85622         * m4/jm-macros.m4: Reflect s/jm_STRUCT_/jm_CHECK_TYPE_STRUCT_/
85623         renamings.
85624         * m4/utime.m4: Likewise.
85625
85626         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): New file, macro.
85627         * m4/jm-macros.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): Require it.
85628
85629 2000-01-03  Paul Eggert  <eggert@twinsun.com>
85630
85631         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Search for nanosleep in -lrt
85632         (for Solaris 7) and in -lposix4 (for Solaris 2.5.1).
85633
85634 2000-01-02  Jim Meyering  <meyering@ascend.com>
85635
85636         * m4/search-libs.m4: Escape `$' in $3 of dnl comment.  I no longer
85637         remember if this is necessary.
85638
85639 1999-12-26  Jim Meyering  <meyering@ascend.com>
85640
85641         * m4/jm-macros.m4: Use it here.
85642         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): New file/macro.
85643
85644 1999-12-23  Jim Meyering  <meyering@ascend.com>
85645
85646         * m4/jm-macros.m4: Check for clock_gettime (moved from
85647         fileutils/configure.in)
85648         Check for gettimeofday.
85649
85650 1999-12-20  Jim Meyering  <meyering@ascend.com>
85651
85652         * m4/strftime.m4: Remove kludge, now that I'm using the fixed
85653         autoconf-2.14a-1999-12-20.
85654
85655 1999-12-19  Jim Meyering  <meyering@ascend.com>
85656
85657         * m4/lstat-slash.m4: New file.
85658         * m4/jm-macros.m4: Use the new macro:
85659         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
85660
85661 1999-12-07  Jim Meyering  <meyering@ascend.com>
85662
85663         * m4/perl.m4: Require that File::Compare be available, too.
85664         Too many systems seem to lack it.
85665
85666         * m4/strftime.m4: Add checks for most of the cpp macros tested in
85667         GNU's strftime.c.  Prompted by a patch from Paul Eggert.
85668
85669 1999-11-18  Paul Eggert  <eggert@twinsun.com>
85670
85671         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a
85672         problem with the QNX 4.25 shell, which doesn't propagate exit
85673         status of failed commands inside shell assignments.
85674
85675 1999-11-17  Jim Meyering  <meyering@ascend.com>
85676
85677         * m4/gettext.m4: Use new AC_CONFIG_LINKS in place of AC_LINK_FILES.
85678
85679 1999-11-07  Jim Meyering  <meyering@ascend.com>
85680
85681         * m4/getloadavg.m4: Add `, 1, [FIXME]' to each use of AC_DEFINE.
85682
85683 1999-11-06  Jim Meyering  <meyering@ascend.com>
85684
85685         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): New file/macro.
85686         * m4/jm-macros.m4 (jm_MACROS): Use it here.
85687
85688 1999-11-05  Jim Meyering  <meyering@ascend.com>
85689
85690         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Move some tests from
85691         configure.in of textutils, fileutils, and sh-utils into this one
85692         (shared between those packages) file.
85693         Use `AC_CHECK_MEMBERS((struct stat.st_blksize))' instead of deprecated
85694         AC_STRUCT_ST_BLKSIZE.
85695
85696 1999-11-03  Jim Meyering  <meyering@ascend.com>
85697
85698         * m4/ssize_t.m4: Remove file.  No longer needed since the new version
85699         of AC_CHECK_TYPE checks includes unistd.h.
85700         * m4/jm-macros.m4: Use straight `AC_CHECK_TYPE(ssize_t, int)'.
85701         Suggestion from Akim Demaille.
85702
85703 1999-10-30  Jim Meyering  <meyering@ascend.com>
85704
85705         * m4/uintmax_t.m4: Require 2.14a.  Remove backslash before backtick in
85706         m4-quoted string.
85707         * m4/ls-mntd-fs.m4: Likewise.
85708         * m4/jm-macros.m4: Likewise.  Also, use AC_TYPE_SSIZE_T instead
85709         * m4/jm-winsz1.m4: Likewise.
85710
85711         * m4/const.m4: Remove file, since the fix made it into the experimental
85712         version of autoconf.
85713         * m4/mktime.m4: Likewise.
85714
85715         * m4/check-type.m4: Remove file, now that the latest version of
85716         AC_CHECK_TYPE takes a third arg to specify additional #includes.
85717
85718         * m4/ssize_t.m4: New file, requires experimental version of autoconf.
85719         * m4/jm-macros.m4: Use new AC_TYPE_SSIZE_T instead of my hacked
85720         AC_CHECK_TYPE.
85721
85722 1999-10-04  Jim Meyering  <meyering@ascend.com>
85723
85724         * m4/jm-macros.m4: Don't require autoconf-2.14.1.
85725
85726 1999-09-22  Paul Eggert  <eggert@twinsun.com>
85727
85728         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around GCC
85729         2.95.1 bug with HP-UX 10.20.
85730
85731 1999-09-17  Jim Meyering  <meyering@ascend.com>
85732
85733         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add strdup.
85734         Paul Nevai reported a link failure on a NeXT CUBE with NeXTSTEP 3.3
85735         due to missing strdup (against sh-utils-2.0).
85736
85737 1999-08-29  Jim Meyering  <meyering@ascend.com>
85738
85739         * m4/jm-macros.m4: Require jm_BISON.
85740         * m4/bison.m4: New file.
85741
85742 1999-08-17  Paul Eggert  <eggert@twinsun.com>
85743
85744         * m4/largefile.m4 (AC_SYS_LARGEFILE): Fix typo: missing comma
85745         in value for _FILE_OFFSET_BITS, which broke ports to HP-UX 10.20.
85746
85747 1999-08-05  Jim Meyering  <meyering@ascend.com>
85748
85749         * m4/getline.m4: Rename test file from conftestdata to conftest.data
85750         to avoid conflicts with `conftest' on 8+3 filesystems.
85751         Suggestion from Eli Zaretskii.
85752
85753 1999-08-04  Jim Meyering  <meyering@ascend.com>
85754
85755         * m4/jm-macros.m4: Move a 4-line block of code from the configure.in of
85756         fileutils and sh-utils (textutils's getline test was inadequate).
85757         (AM_FUNC_GETLINE): Run this test.
85758         (AC_CHECK_FUNCS): Check for getdelim.
85759         Reported by Bob Proulx.
85760
85761 1999-08-02  Jim Meyering  <meyering@ascend.com>
85762
85763         * m4/jm-macros.m4: Add a comment.
85764
85765 1999-08-01  Paul Eggert  <eggert@twinsun.com>
85766
85767         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check whether
85768         <inttypes.h> defines strtoumax as a macro (and not as a
85769         function).
85770
85771 1999-08-01  Paul Eggert  <eggert@twinsun.com>
85772
85773         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Make sure
85774         that we can shift, multiply and divide unsigned long long
85775         values; Ultrix cc can't do it.
85776
85777 1999-08-01  Paul Eggert  <eggert@twinsun.com>
85778
85779         * m4/mktime.m4: New file, which is a preview of what should appear
85780         in the next public autoconf release.
85781
85782 1999-08-01  Paul Eggert  <eggert@twinsun.com>
85783
85784         * m4/lfs.m4: Remove this file.
85785         * m4/largefile.m4: New file.  It contains the old contents of
85786         lfs.m4, except that all names with prefix AC_LFS have been
85787         changed to use the prefix AC_SYS_LARGEFILE instead, to be
85788         compatible with future autoconf versions.  Also, some minor m4
85789         quoting problems have been fixed.
85790
85791 1999-08-01  Paul Eggert  <eggert@twinsun.com>
85792
85793         * m4/gettext.m4 (AM_WITH_NLS): Remove unnecessary lines.
85794         Fix typo: $nls_cv_header_intl was misspelled as $nsl_cv_header_intl.
85795         (AM_GNU_GETTEXT): Fix problem with brackets and m4 quoting,
85796         and simplify the shell code.
85797
85798 1999-08-01  Jim Meyering  <meyering@ascend.com>
85799
85800         * m4/mktime.m4 (AC_FUNC_MKTIME): Undefine to avoid syntax errors from
85801         m4.
85802
85803 1999-07-20  Jim Meyering  <meyering@ascend.com>
85804
85805         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memmove.
85806
85807 1999-07-15  Jim Meyering  <meyering@ascend.com>
85808
85809         * m4/jm-macros.m4 (AC_CHECK_FUNCS): Check for getpagesize.
85810
85811 1999-05-22  Jim Meyering  <meyering@ascend.com>
85812
85813         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memchr.
85814
85815 1999-05-20  Jim Meyering  <meyering@ascend.com>
85816
85817         * m4/search-libs.m4 [AC_SEARCH_LIBS]: Quote name in undefine.
85818         Add a colon after each `then' in case $4 is empty.
85819
85820 1999-05-16  Jim Meyering  <meyering@ascend.com>
85821
85822         * m4/search-libs.m4: New file to override autoconf's AC_SEARCH_LIBS.
85823
85824 1999-05-10  Jim Meyering  <meyering@ascend.com>
85825
85826         * m4/jm-mktime.m4: Reflect renaming: AM_FUNC_MKTIME -> AC_FUNC_MKTIME.
85827
85828         * m4/jm-macros.m4: Require 2.14.1, since we use newly-renamed
85829         AC_FUNC_MKTIME.
85830
85831 1999-05-10  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
85832
85833         * m4/jm-mktime.m4, putenv.m4: Fix typos in config.h comments.
85834
85835 1999-05-04  Paul Eggert  <eggert@twinsun.com>
85836
85837         * m4/lfs.m4 (AC_LFS): -n32, -o32, and -n64 should be in CFLAGS,
85838         not CPPFLAGS, so that linking works correctly in IRIX.
85839
85840 1999-04-30  Paul Eggert  <eggert@twinsun.com>
85841
85842         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add dup2.
85843
85844 1999-04-20  Paul Eggert  <eggert@twinsun.com>
85845
85846         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Move unsigned long
85847         long check into new jm_AC_TYPE_UNSIGNED_LONG_LONG macro.
85848         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require
85849         jm_AC_TYPE_UNSIGNED_LONG_LONG.
85850         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): New file/macro.
85851
85852         * m4/lfs.m4: Port to AIX and HP-UX.  Support cross-compilation.
85853
85854 1999-04-20  Jim Meyering  <meyering@ascend.com>
85855
85856         * m4/xstrtoumax.m4: Require jm_AC_TYPE_UNSIGNED_LONG_LONG.
85857         AC_REPLACE xstroull if necessary.  From Paul Eggert.
85858         (AC_CHECK_FUNCS): Remove strtoull, strtoumax, strtouq.
85859
85860 1999-04-18  Jim Meyering  <meyering@ascend.com>
85861
85862         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): New file/macro.
85863         * m4/jm-macros.m4: Use it.
85864
85865 1999-04-06  Jim Meyering  <meyering@ascend.com>
85866
85867         * m4/strftime.m4: Remove test for %f.
85868
85869 1999-03-29  Jim Meyering  <meyering@ascend.com>
85870
85871         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): New macro, contains the
85872         superset of the AC_TYPE_* checks in the textutils, fileutils,
85873         and sh-utils, plus AC_TYPE_PID_T.  Paul Eggert suggested adding
85874         AC_TYPE_PID_T.
85875
85876 1999-03-28  Jim Meyering  <meyering@ascend.com>
85877
85878         * m4/jm-macros.m4: Define GNU_PACKAGE here.
85879         Be sure to AC_SUBST it, once again, so that @GNU_PACKAGE@ is
85880         replaced e.g., in the *.sh files of the sh-utils.
85881
85882 1999-03-20  Jim Meyering  <meyering@ascend.com>
85883
85884         * m4/jm-macros.m4: s/jm_WITH_REGEX/jm_INCLUDED_REGEX/.
85885         * m4/regex.m4 (jm_INCLUDED_REGEX): Rename from jm_WITH_REGEX.
85886         Don't depend on AM_GLIBC.  Suggestions from Alain Magloire.
85887
85888 1999-03-19  Jim Meyering  <meyering@ascend.com>
85889
85890         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): New macro.
85891
85892 1999-03-12  Jim Meyering  <meyering@ascend.com>
85893
85894         * m4/jm-macros.m4: Use AC_FUNC_SETVBUF_REVERSED.
85895
85896 1999-03-07  Jim Meyering  <meyering@ascend.com>
85897
85898         * m4/jm-glibc-io.m4: Use only those *_unlocked macros that are
85899         declared.
85900
85901 1999-02-17  Jim Meyering  <meyering@ascend.com>
85902
85903         * m4/gettext.m4 (AM_GNU_GETTEXT): Do `changequote' around use of
85904         brackets in macro definition.  From Eli Zaretskii and Alain Magloire.
85905
85906 1999-02-07  Jim Meyering  <meyering@ascend.com>
85907
85908         * m4/group-member.m4: New file -- extracted from sh-utils'
85909         configure.in.
85910
85911         1999-02-05  Eli Zaretskii  <eliz@is.elta.co.il>
85912         * m4/gettext.m4: Support DOS-style d:/foo/bar absolute file names.
85913
85914 1999-02-06  Jim Meyering  <meyering@ascend.com>
85915
85916         * m4/chown.m4: Use `AC_SUBST(LIBOBJS)' since we set LIBOBJS.
85917         * m4/fnmatch.m4: Likewise.
85918         * m4/getgroups.m4: Likewise.
85919         * m4/lstat.m4: Likewise.
85920         * m4/malloc.m4: Likewise.
85921         * m4/putenv.m4: Likewise.
85922         * m4/realloc.m4: Likewise.
85923         * m4/regex.m4: Likewise.
85924         * m4/stat.m4: Likewise.
85925         * m4/strftime.m4: Likewise.
85926         Suggestion from Alain Magloire.
85927
85928         * m4/chown.m4: Use `.$ac_objext', not `.o'.
85929         * m4/fnmatch.m4: Likewise.
85930         * m4/getgroups.m4: Likewise.
85931         * m4/getline.m4: Likewise.
85932         * m4/lstat.m4: Likewise.
85933         * m4/malloc.m4: Likewise.
85934         * m4/memcmp.m4: Likewise.
85935         * m4/putenv.m4: Likewise.
85936         * m4/realloc.m4: Likewise.
85937         * m4/regex.m4: Likewise.
85938         * m4/stat.m4: Likewise.
85939         * m4/strftime.m4: Likewise.
85940         Suggestion from Alain Magloire.
85941
85942         * m4/jm-macros.m4: Actually invoke jm_WITH_REGEX now that it requires
85943         an argument.
85944
85945         * m4/regex.m4: Add a run-time Test for proper operation of
85946         re_compile_pattern.
85947
85948 1999-01-31  Jim Meyering  <meyering@ascend.com>
85949
85950         * m4/getloadavg.m4: Check for locale.h and the function, setlocale.
85951
85952 1999-01-30  Jim Meyering  <meyering@ascend.com>
85953
85954         * m4/check-type.m4: Use 3-arg form of AC_DEFINE.
85955
85956         * m4/jm-mktime.m4: Make this a wrapper around the official
85957         AM_FUNC_MKTIME rather than my private copy, now that the official one
85958         is up to date.
85959         * m4/mktime.m4: Remove file.
85960
85961         * m4/getloadavg.m4: Use 3-arg form of AC_DEFINE.
85962         * m4/uptime.m4: Likewise.
85963         * m4/uintmax_t.m4: Likewise.
85964
85965 1999-01-28  Jim Meyering  <meyering@ascend.com>
85966
85967         * m4/jm-macros.m4: Use jm_AFS.
85968         * m4/afs.m4: New file (from fileutils' configure.in).
85969
85970         * m4/assert.m4: Use the 3-argument forms of AC_DEFINE* macros.
85971         * m4/chown.m4: Likewise.
85972         * m4/d-ino.m4: Likewise.
85973         * m4/d-type.m4: Likewise.
85974         * m4/fnmatch.m4: Likewise.
85975         * m4/getgroups.m4: Likewise.
85976         * m4/gettext.m4: Likewise.
85977         * m4/jm-mktime.m4: Likewise.
85978         * m4/jm-winsz2.m4: Likewise.
85979         * m4/lcmessage.m4: Likewise.
85980         * m4/ls-mntd-fs.m4: Likewise.
85981         * m4/malloc.m4: Likewise.
85982         * m4/memcmp.m4: Likewise.
85983         * m4/putenv.m4: Likewise.
85984         * m4/realloc.m4: Likewise.
85985         * m4/st_mtim.m4: Likewise.
85986         * m4/strftime.m4: Likewise.
85987
85988 1999-01-16  Jim Meyering  <meyering@ascend.com>
85989
85990         * m4/jm-macros.m4 (ARGMATCH_DIE): Define.
85991         (ARGMATCH_DIE_DECL): Define.
85992
85993 1999-01-12  Jim Meyering  <meyering@ascend.com>
85994
85995         * m4/Makefile.am.in: Rewrite to avoid using fmt.
85996         Reported by Lars Hecking.
85997
85998 1999-01-10  Jim Meyering  <meyering@ascend.com>
85999
86000         * m4/fstypename.m4: Use the new 3-arg form of AC_DEFINE instead of my
86001         gross kludge.
86002         * m4/inttypes_h.m4: Likewise.
86003         * m4/lstat.m4: Likewise.
86004         * m4/malloc.m4: Likewise.
86005         * m4/readdir.m4: Likewise.
86006         * m4/realloc.m4: Likewise.
86007         * m4/st_dm_mode.m4: Likewise.
86008         * m4/stat.m4: Likewise.
86009         * m4/utimbuf.m4: Likewise.
86010         * m4/utimes.m4: Likewise.
86011
86012         * m4/check-decl.m4: Use the new 3-arg form of AC_DEFINE instead of the
86013         AC_CHECK_FUNCS hack.  Now, it's still a hack, but at least the
86014         comments in config.h.in are meaningful.
86015
86016         * m4/jm-macros.m4: Require autoconf-2.13 here.
86017
86018         * m4/regex.m4: By default, don't use the included regex.c on systems
86019         with glibc 2.  Suggestion from Uli Drepper.
86020
86021 1999-01-02  Jim Meyering  <meyering@ascend.com>
86022
86023         * m4/jm-macros.m4: Replace strcasecmp and strncasecmp.
86024
86025 1998-12-18  Jim Meyering  <meyering@ascend.com>
86026
86027         * m4/Makefile.am.in (Makefile.am): Simplify rule.
86028         Based on a suggestion from Lars Hecking.
86029
86030 1998-11-16  Paul Eggert  <eggert@twinsun.com>
86031
86032         * m4/lfs.m4 (AC_LFS): Add support for HP-UX 10.20 and HP-UX 11.
86033
86034 1998-11-16  Jim Meyering  <meyering@ascend.com>
86035
86036         * m4/lfs.m4: Double-quote the `uname...` expression.
86037
86038 1998-11-14  Jim Meyering  <meyering@ascend.com>
86039
86040         * m4/lstat.m4: Correct comment.  POSIX does not permit it to succeed.
86041         * m4/stat.m4: Likewise.
86042
86043 1998-11-03  Jim Meyering  <meyering@ascend.com>
86044
86045         * m4/stat.m4: Rewrite to set HAVE_STAT_EMPTY_STRING_BUG.
86046         * m4/lstat.m4: Rewrite to set HAVE_LSTAT_EMPTY_STRING_BUG.
86047
86048 1998-10-18  Jim Meyering  <meyering@ascend.com>
86049
86050         * m4/check-decl.m4 (jm_CHECK_DECL_LOCALTIME_R): Remove macro.
86051
86052 1998-10-17  Jim Meyering  <meyering@ascend.com>
86053
86054         * m4/decl.m4 (jm_CHECK_DECLARATION): Don't hard-code which headers to
86055         include, though we still hard-code the `require'-like AC_CHECK_HEADERS
86056         calls for those previously hard-coded headers.  Instead, take a new
86057         parameter.
86058         (jm_CHECK_DECLARATIONS): Reflect interface change.
86059         * m4/check-decl.m4 (jm_CHECK_DECLS): Likewise.
86060         (jm_CHECK_DECL_LOCALTIME_R): New macro.
86061
86062         * m4/mktime.m4: Test for spring-forward gap before long-running test.
86063
86064 1998-10-14  Jim Meyering  <meyering@ascend.com>
86065
86066         * m4/mktime.m4: Use the more portable "TZ=PST8PDT,M4.1.0,M10.5.0"
86067         instead of "TZ=America/Vancouver".  From Paul Eggert.
86068
86069 1998-10-11  Jim Meyering  <meyering@ascend.com>
86070
86071         * m4/mktime.m4 (jm_AM_FUNC_MKTIME): New file and macro.
86072         This adds a test for a recently added compatibility fix for mktime.c.
86073         * m4/jm-mktime.m4: Require jm_AM_FUNC_MKTIME, not AM_FUNC_MKTIME.
86074
86075 1998-09-27  Jim Meyering  <meyering@ascend.com>
86076
86077         * m4/jm-macros.m4 (jm_MACROS): Require jm_FUNC_FNMATCH.
86078
86079         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): New file/macro.  Extracted from
86080         ../configure.in, including a change from Gordon Matzigkeit to allow
86081         cross-compiling for the Hurd.
86082
86083         * m4/glibc.m4: New file/macro to test for the GNU C Library
86084         versions 1 and 2.  From Gordon Matzigkeit.
86085         Indent.
86086
86087 1998-09-21  Jim Meyering  <meyering@ascend.com>
86088
86089         * m4/chown.m4: Declare locals: before, after.  From Andries Brouwer.
86090
86091 1998-08-18  Paul Eggert  <eggert@twinsun.com>
86092
86093         Port nanosecond-resolution times to UnixWare 2.1.2 and
86094         pedantic Solaris 2.6.
86095
86096         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC): Renamed from
86097         AC_STRUCT_ST_MTIM.
86098         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC):
86099         Generate name of ns member, instead of just 1 or undef.
86100         Allow for UnixWare 2.1.2 and Solaris 2.6 if in pedantic mode.
86101
86102 1998-08-15  Jim Meyering  <meyering@ascend.com>
86103
86104         * m4/ssize_t.m4 (jm_TYPE_SSIZE_T): Remove file.
86105         * m4/check-type.m4: New file.  Replacement for AC_CHECK_TYPE.
86106         * m4/jm-macros.m4: Use the new AC_CHECK_TYPE(ssize_t, int)
86107         instead of jm_TYPE_SSIZE_T.
86108
86109 1998-08-12  Jim Meyering  <meyering@ascend.com>
86110
86111         * m4/st_dm_mode.m4: New file.  From Johan Danielsson.
86112
86113 1998-08-02  Jim Meyering  <meyering@ascend.com>
86114
86115         * m4/st_mtim.m4: Use hack to avoid having to put #undef HAVE_ST_MTIM
86116         in acconfig.h manually.
86117
86118 1998-07-31  Paul Eggert  <eggert@twinsun.com>
86119
86120         * m4/st_mtim.m4: New file.
86121
86122 1998-07-28  Jim Meyering  <meyering@ascend.com>
86123
86124         * m4/utimes.m4: Undef stat.
86125
86126 1998-07-25  Jim Meyering  <meyering@ascend.com>
86127
86128         * m4/utime.m4 (jm_FUNC_UTIME): New file and macro.
86129         * m4/utimes.m4 (jm_FUNC_UTIMES_NULL): New file and macro.
86130
86131 1998-07-09  Manfred Hollstein  <manfred@s-direktnet.de>
86132
86133         * m4/chown.m4 (jm_FUNC_CHOWN): Add a check to verify that the
86134         uid and gid actually remain unchanged.
86135
86136 1998-07-07  Jim Meyering  <meyering@ascend.com>
86137
86138         * m4/jm-glibc-io.m4: Remove fclose_unlocked.
86139
86140 1998-07-04  Jim Meyering  <meyering@ascend.com>
86141
86142         * m4/regex.m4: Use syscmd, ifelse, and sysval.  Mainly as an exercise
86143         to prove that this macro can be used in packages without regex.c.
86144
86145 1998-07-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
86146
86147         * m4/gettext.m4 (AM_WITH_NLS): Remove intl/libintl.h if <libintl.h>
86148         is to be used.
86149
86150 1998-07-03  Jim Meyering  <meyering@ascend.com>
86151
86152         * m4/gettext.m4: Add -lintl if it's found to be necessary.
86153
86154         * m4/gettext.m4: New file -- from gettext-0.10.35.
86155         * m4/lcmessage.m4: Likewise.
86156         * m4/progtest.m4: Likewise.
86157
86158         * m4/regex.m4 (jm_WITH_REGEX): New file and macro.
86159         * m4/jm-macros.m4: Require the new macro.
86160
86161 1998-06-29  Jim Meyering  <meyering@ascend.com>
86162
86163         * m4/fstypename.m4: Include sys/param.h.  NetBSD 1.3.1 requires this
86164         for the definition of NGROUPS (used in a system header included
86165         by sys/mount.h).
86166
86167 1998-06-28  Jim Meyering  <meyering@ascend.com>
86168
86169         * m4/ls-mntd-fs.m4: New file.
86170         * m4/fstypename.m4: New file.
86171
86172         * m4/jm-macros.m4: Require the new macro.
86173         * m4/jm-glibc-io.m4: New file.
86174
86175 1998-05-19  Jim Meyering  <meyering@ascend.com>
86176
86177         * m4/jm-macros.m4: Add jm_FUNC_LCHOWN.
86178         * m4/lchown.m4: New file.
86179
86180         * m4/Makefile.am.in: New file.
86181         * m4/Makefile.am (Makefile.am): Depend on Makefile.am.in.
86182
86183 1998-05-14  Jim Meyering  <meyering@ascend.com>
86184
86185         * m4/Makefile.am (EXTRA_DIST): Add them.
86186         * m4/jm-macros.m4: New file.
86187         * m4/utimbuf.m4: New file.
86188
86189 1998-05-12  Jim Meyering  <meyering@ascend.com>
86190
86191         * m4/Makefile.am (EXTRA_DIST): Add isc-posix.m4.
86192
86193 1998-05-11  Jim Meyering  <meyering@ascend.com>
86194
86195         * m4/isc-posix.m4: New file.
86196
86197 1998-05-10  Jim Meyering  <meyering@ascend.com>
86198
86199         * m4/jm-mktime.m4: Use AM_FUNC_MKTIME, now that it's up to date.
86200
86201 1998-05-09  Jim Meyering  <meyering@ascend.com>
86202
86203         * m4/Makefile.am (EXTRA_DIST): Add ssize_t.m4.
86204         (EXTRA_DIST): Remove mktime.m4, now that the new version is included
86205         with automake.
86206
86207         * m4/ssize_t.m4: New file.
86208         * m4/mktime.m4: Remove file -- the new automake has this now.
86209
86210 1998-04-26  Jim Meyering  <meyering@ascend.com>
86211
86212         * m4/assert.m4: New file.
86213         * m4/Makefile.am (EXTRA_DIST): Add assert.m4.
86214
86215 1998-04-05  Jim Meyering  <meyering@ascend.com>
86216
86217         * m4/prereq.m4 (jm_PREREQ_REGEX): New macro.
86218         (jm_PREREQ): Use it here.
86219
86220 1998-03-23  Jim Meyering  <meyering@eng.ascend.com>
86221
86222         * m4/inttypes_h.m4: Kludges so I don't have to add HAVE_INTTYPES_H
86223         in acconfig.h.
86224
86225 1998-03-15  Jim Meyering  <meyering@eng.ascend.com>
86226
86227         * m4/prereq.m4: New file.
86228         * m4/error.m4: New file.
86229         * m4/Makefile.am (EXTRA_DIST): Add error.m4 and prereq.m4.
86230
86231 1998-02-07  Jim Meyering  <meyering@eng.ascend.com>
86232
86233         * m4/getline.m4: Don't set am_cv_func_working_getline before the
86234         cache-check for the same variable -- that defeated the purpose of
86235         the test; the test program was never run.  This was a problem only
86236         on systems with losing getline functions -- HP-UX 10.20 is one.
86237         Reported by Bjorn Helgaas.
86238
86239 1998-02-06  Jim Meyering  <meyering@eng.ascend.com>
86240
86241         * m4/Makefile.am (EXTRA_DIST): Add perl.m4.
86242
86243 1998-01-10  Jim Meyering  <meyering@na-net.ornl.gov>
86244
86245         * m4/Makefile.am (EXTRA_DIST): Add const.m4.
86246
86247         * m4/const.m4: New file.  Use an initializer in this declaration
86248         typedef int charset[2]; const charset x;
86249         Reported by Bob Glickstein.
86250
86251 1997-12-21  Jim Meyering  <meyering@na-net.ornl.gov>
86252
86253         * m4/chown.m4: Fix reversed types on -1 args to chown.
86254         From Kaveh Ghazi.
86255
86256 1997-12-14  Jim Meyering  <meyering@na-net.ornl.gov>
86257
86258         * m4/check-decl.m4: s/DECLARATION_/DECL_/g.
86259         Add lseek and memchr.
86260
86261         * m4/decl.m4: s/HAVE_DECLARATION_/HAVE_DECL_/g.
86262         T.E.Dickey <dickey@clark.net> said that some older preprocessors
86263         have a 20-character limit on names.
86264
86265 1997-11-30  Jim Meyering  <meyering@na-net.ornl.gov>
86266
86267         * m4/inttypes_h.m4: New file.
86268         * m4/uintmax_t.m4: New file.
86269         * m4/Makefile.am (EXTRA_DIST): Add inttypes_h.m4 and uintmax_t.m4.
86270
86271
86272         -----
86273
86274         Local Variables:
86275         coding: utf-8
86276         End:
86277
86278         Copyright (C) 1997-2011 Free Software Foundation, Inc.
86279
86280         Copying and distribution of this file, with or without
86281         modification, are permitted provided the copyright notice
86282         and this notice are preserved.