dc5dc401f0370cc1d396a48413e4dbb594f2329c
[gnulib.git] / ChangeLog
1 2010-12-27  Bruno Haible  <bruno@clisp.org>
2
3         select tests: Improve comments.
4         * tests/test-select.c (do_select): Add comments.
5
6 2010-12-27  Bruno Haible  <bruno@clisp.org>
7
8         select tests: Safer way of handling timeout.
9         * tests/test-select.c (do_select_nowait): Zero-initialize the timeout
10         at every invocation.
11
12 2010-12-27  Bruno Haible  <bruno@clisp.org>
13
14         select tests: Use 'bool' where appropriate.
15         * tests/test-select.c (connect_to_socket): Change argument type to
16         'bool'.
17
18 2010-12-27  Bruno Haible  <bruno@clisp.org>
19
20         select tests: Use existing modules.
21         * modules/select-tests (Depends-on): Add pipe-posix, unistd.
22         (configure.ac): Don't test for unistd.h.
23         * tests/test-select.c: Include <unistd.h> always. Use pipe() as
24         declared in <unistd.h>.
25
26 2010-12-27  Bruno Haible  <bruno@clisp.org>
27
28         mbrtowc: Work around a Solaris 7 bug.
29         * m4/mbrtowc.m4 (gl_MBRTOWC_NULL_ARG1): New macro.
30         (gl_MBRTOWC_NULL_ARG2): Renamed from gl_MBRTOWC_NULL_ARG.
31         (gl_FUNC_MBRTOWC): Update. Define MBRTOWC_NULL_ARG2_BUG instead of
32         MBRTOWC_NULL_ARG_BUG. Invoke gl_MBRTOWC_NULL_ARG1 and define
33         MBRTOWC_NULL_ARG1_BUG.
34         * lib/mbrtowc.c (rpl_mbrtowc): Use MBRTOWC_NULL_ARG2_BUG instead of
35         MBRTOWC_NULL_ARG_BUG. Handle MBRTOWC_NULL_ARG1_BUG.
36         * tests/test-mbrtowc.c (main): Test support of a NULL first argument.
37         * doc/posix-functions/mbrtowc.texi: Mention the Solaris 7 bug.
38
39 2010-12-27  Jim Meyering  <meyering@redhat.com>
40
41         read-file.c: tweak syntax
42         * lib/read-file.c (fread_file): Remove space after "*" in function
43         definitions.
44
45 2010-12-27  Bruno Haible  <bruno@clisp.org>
46
47         times test: Avoid gcc warnings on OSF/1.
48         * tests/test-times.c (main): Cast printf arguments from clock_t to
49         'long int'.
50
51 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
52
53         utimens: work around glibc rounding bug on older Linux kernels
54         * lib/utimens.c (fdutimens): If invoking futimesat or futimes
55         on Linux with a glibc whose utimes might not work, then work
56         around a longstanding glibc bug involving rounding rather than
57         truncated time stamps.  Reported for Linux 2.4.21 by Bruno Haible in
58         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
59
60 2010-12-26  Bruno Haible  <bruno@clisp.org>
61
62         inet_ntop: Hide mismatch of declaration on NonStop Kernel.
63         * lib/arpa_inet.in.h (inet_ntop): Use _GL_CXXALIAS_SYS_CAST instead of
64         _GL_CXXALIAS_SYS.
65         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
66
67 2010-12-26  Bruno Haible  <bruno@clisp.org>
68
69         inet_ntop, inet_pton: Ensure declaration on NonStop Kernel.
70         * lib/arpa_inet.in.h: On NonStop Kernel, include also <netdb.h>.
71         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
72         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Include also <netdb.h> when
73         looking for the declaration.
74         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
75         * doc/posix-functions/inet_ntop.texi: Document the NonStop Kernel
76         problem.
77         * doc/posix-functions/inet_pton.texi: Likewise.
78
79 2010-12-26  Bruno Haible  <bruno@clisp.org>
80
81         arpa_inet: Use the common idioms with C++ support.
82         * lib/arpa_inet.in.h: Include c++defs.h.
83         (inet_ntop, inet_pton): Declare using the macros with C++ namespace
84         support.
85         * modules/arpa_inet (Depends-on): Add c++defs.
86         (Makefile.am): Substitute the contents of c++defs.h.
87         * modules/arpa_inet-tests (Depends-on): Add arpa_inet-c++-tests.
88         * modules/arpa_inet-c++-tests: New file.
89         * tests/test-arpa_inet-c++.cc: New file.
90
91 2010-12-25  Bruno Haible  <bruno@clisp.org>
92
93         Fix more C++ link errors on Solaris 8.
94         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Add
95         $(LIB_EACCESS).
96         * modules/stdio-c++-tests (test_stdio_c___LDADD): Likewise.
97         * modules/stdlib-c++-tests (test_stdlib_c___LDADD): Likewise.
98         * modules/sys_ioctl-c++-tests (test_sys_ioctl_c___LDADD): Likewise.
99         * modules/wchar-c++-tests (test_wchar_c___LDADD): Likewise.
100         * modules/wctype-c++-tests (test_wctype_c___LDADD): Likewise.
101
102 2010-12-25  Bruno Haible  <bruno@clisp.org>
103
104         printf-posix: Fix link error when a non-GCC compiler is used.
105         * lib/stdio.in.h (printf): When not using GCC, override printf
106         correctly.
107         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
108
109 2010-12-25  Bruno Haible  <bruno@clisp.org>
110
111         strerror_r-posix: Update doc.
112         * doc/posix-functions/strerror_r.texi: Update doc about the return
113         value. See <http://sources.redhat.com/bugzilla/show_bug.cgi?id=12204>.
114
115 2010-12-25  Paul Eggert  <eggert@cs.ucla.edu>
116
117         utimens: simplify the logic of the previous change
118         * m4/utimes.m4 (gl_FUNC_UTIMES): Simplify the logic a bit.
119         This should not affect whether the test succeeds or fails.
120
121         utimens: configure better on hosts with NFS clock skew
122         * m4/utimes.m4 (gl_FUNC_UTIMES): Don't assume that utimes (f, NULL)
123         uses the clock of the local host.  It might use the clock of the
124         NFS server.  Reported for Linux 2.4.21 client by Bruno Haible in
125         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
126
127 2010-12-25  Bruno Haible  <bruno@clisp.org>
128
129         ptsname test: Avoid failure on Solaris.
130         * tests/test-ptsname.c (main): For Solaris, use the recommended way to
131         open a pseudo-terminal; don't use BSD-style ptys.
132         * doc/posix-functions/ptsname.texi: Document the limitation on Solaris.
133
134 2010-12-25  Bruno Haible  <bruno@clisp.org>
135
136         ptsname: Avoid ERANGE failure on some systems.
137         * lib/ptsname.c (buffer): Increase size.
138
139 2010-12-25  Bruno Haible  <bruno@clisp.org>
140
141         rename, renameat: Avoid test failures at NFS mounted locations.
142         * tests/test-rename.h (assert_nonexistent): Remove the old directory,
143         so that subsequent mkdir calls succeed.
144
145 2010-12-25  Bruno Haible  <bruno@clisp.org>
146
147         iswblank: Fix C++ link error on Solaris 8.
148         * lib/wctype.in.h (iswblank): Declare using _GL_FUNCDECL_RPL or
149         _GL_FUNCDECL_SYS.
150
151 2010-12-25  Bruno Haible  <bruno@clisp.org>
152
153         unistd: Fix C++ link error on Solaris 8.
154         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add $(LIB_EACCESS).
155
156 2010-12-25  Bruno Haible  <bruno@clisp.org>
157
158         readlink doc: Mention an old glibc bug.
159         * doc/posix-functions/readlink.texi: Mention glibc 2.4 bug (BZ #2450).
160
161 2010-12-25  Bruno Haible  <bruno@clisp.org>
162
163         fcntl-h: Fix for use of C++ on glibc systems.
164         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
165         also on glibc systems in C++ mode.
166         Reported by Gary V. Vaughan <gary@gnu.org>.
167
168 2010-12-25  Bruno Haible  <bruno@clisp.org>
169
170         roundl-ieee: Make it work on OSF/1 5.1 with cc.
171         * modules/roundl-ieee (Depends-on): Add floorl-ieee, ceill-ieee.
172
173 2010-12-25  Bruno Haible  <bruno@clisp.org>
174
175         truncl-ieee: Make it work on OSF/1 5.1 with cc.
176         * doc/posix-functions/truncl.texi: Mention the OSF/1 5.1 bug.
177         * m4/truncl.m4 (gl_FUNC_TRUNCL): If gl_FUNC_TRUNCL_IEEE is also used,
178         test whether truncl works according to ISO C 99 with IEC 60559.
179         * m4/truncl-ieee.m4: New file.
180         * modules/truncl-ieee (Files): Add it and m4/minus-zero.m4,
181         m4/signbit.m4.
182         (configure.ac): Invoke gl_FUNC_TRUNCL_IEEE.
183
184 2010-12-25  Bruno Haible  <bruno@clisp.org>
185
186         ceill-ieee: Make it work on OSF/1 5.1 with cc.
187         * doc/posix-functions/ceill.texi: Mention the OSF/1 5.1 bug.
188         * m4/ceill.m4 (gl_FUNC_CEILL): If gl_FUNC_CEILL_IEEE is also used,
189         test whether ceill works according to ISO C 99 with IEC 60559.
190         * m4/ceill-ieee.m4: New file.
191         * modules/ceill-ieee (Files): Add it and m4/minus-zero.m4,
192         m4/signbit.m4.
193         (configure.ac): Invoke gl_FUNC_CEILL_IEEE.
194
195 2010-12-25  Bruno Haible  <bruno@clisp.org>
196
197         Ensure all prerequisites of <wchar.h> are included.
198         * m4/btowc.m4 (gl_FUNC_BTOWC): Include <stddef.h>, <stdio.h>, <time.h>
199         before <wchar.h>.
200         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
201         gl_MBRLEN_NUL_RETVAL): Likewise.
202         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
203         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL,
204         AC_FUNC_MBRTOWC): Likewise.
205         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
206         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
207         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
208         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
209         Likewise.
210         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
211         * m4/wchar_h.m4 (gl_WCHAR_H_INLINE_OK): Likewise.
212         (gl_WCHAR_H): Improve comments.
213         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
214
215 2010-12-25  Bruno Haible  <bruno@clisp.org>
216
217         strtok_r: Fix C syntax error in autoconf macro.
218         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't use UTF-8 encoded U+00A0
219         characters in test program.
220
221 2010-12-24  Bruno Haible  <bruno@clisp.org>
222
223         ceil, trunc, round: Fix gcc warnings.
224         * lib/ceil.c (MIN): Undefine before redefining.
225         * lib/trunc.c (MIN): Likewise.
226         * lib/round.c (MIN): Likewise.
227         Include <math.h> first.
228
229 2010-12-24  Bruno Haible  <bruno@clisp.org>
230
231         select tests: Avoid failures on OSF/1 5.1.
232         * tests/test-select.c (test_accept_first, test_socket_pair): Ignore
233         failure of closing the last socket; it may fail with ECONNRESET.
234
235 2010-12-24  Eric Blake  <eblake@redhat.com>
236
237         stdint: avoid HP-UX 10.20 preprocessor bug
238         * lib/stdint.in.h (INT64_MAX, UINT64_MAX): Check via #ifdef rather
239         than #if.
240         * tests/test-floor2.c (main): Likewise.
241         Reported by Peter O'Gorman.
242
243         pipe: make obsoletion transition easier
244         * lib/pipe.h: Restore file as thin shim around "spawn-pipe.h".
245         * modules/pipe (Files): Include revived file.
246         (Include): Drop reference, to mirror getdate's behavior.
247
248 2010-12-24  Bruno Haible  <bruno@clisp.org>
249
250         sys_socket: Hide mismatch of declarations on NonStop Kernel.
251         * lib/sys_socket.in.h (connect, bind, sendto, setsockopt): Use
252         _GL_CXXALIAS_SYS_CAST instead of _GL_CXXALIAS_SYS.
253         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
254
255 2010-12-24  Bruno Haible  <bruno@clisp.org>
256
257         gethostname: Ensure declaration on NonStop Kernel.
258         * lib/unistd.in.h: Include <netdb.h> also on NonStop Kernel systems.
259         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
260
261 2010-12-24  Bruno Haible  <bruno@clisp.org>
262
263         sys_select: Ensure all necessary types on NonStop Kernel.
264         * lib/sys_select.in.h: If the system does not have <sys/select.h>,
265         include <sys/time.h>.
266         * doc/posix-headers/sys_select.texi: Mention that it's missing on
267         NonStop Kernel.
268         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
269
270 2010-12-24  Bruno Haible  <bruno@clisp.org>
271
272         sys_select: Remove unneeded include.
273         * lib/sys_select.in.h: Don't include <sys/socket.h> on platforms that
274         have <sys/select.h>.
275
276 2010-12-24  Bruno Haible  <bruno@clisp.org>
277
278         gethostname: Provide a fallback for HOST_NAME_MAX.
279         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): When neither HOST_NAME_MAX
280         nor MAXHOSTNAMELEN is found in the usual system headers, use 256
281         instead.
282         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
283
284 2010-12-24  Bruno Haible  <bruno@clisp.org>
285
286         sigaction tests: Allow missing SA_RESETHAND and SA_RESTART.
287         * tests/test-sigaction.c (SA_RESETHAND): Fall back to 0.
288         (SA_RESTART): Likewise.
289         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
290
291 2010-12-24  Bruno Haible  <bruno@clisp.org>
292
293         signal: Define NSIG.
294         * lib/signal.in.h (NSIG): Define to 32 on NonStop Kernel.
295         * tests/test-signal.c (nsig): New variable.
296         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
297
298 2010-12-24  Bruno Haible  <bruno@clisp.org>
299
300         rename, renameat: Avoid test failures on OSF/1 5.1.
301         * tests/test-rename.h (test_rename): Allow EEXIST and ENOTDIR as
302         alternative error codes.
303         * tests/test-renameat.c (main): Likewise.
304
305 2010-12-24  Bruno Haible  <bruno@clisp.org>
306
307         *printf: Detect large precisions bug on Solaris 10/SPARC.
308         * m4/printf.m4 (gl_PRINTF_PRECISION): Add one more test code, provided
309         by Paul Eggert.
310         * tests/test-snprintf-posix.h (test_function): Add this test code here
311         too.
312         * tests/test-sprintf-posix.h (test_function): Likewise.
313         * tests/test-vasnprintf-posix.c (test_function): Likewise.
314         * tests/test-vasprintf-posix.c (test_function): Likewise.
315         * doc/posix-functions/fprintf.texi: Mention Solaris 10 bug as worked
316         around by gnulib.
317         * doc/posix-functions/printf.texi: Likewise.
318         * doc/posix-functions/snprintf.texi: Likewise.
319         * doc/posix-functions/sprintf.texi: Likewise.
320         * doc/posix-functions/vfprintf.texi: Likewise.
321         * doc/posix-functions/vprintf.texi: Likewise.
322         * doc/posix-functions/vsnprintf.texi: Likewise.
323         * doc/posix-functions/vsprintf.texi: Likewise.
324         * doc/posix-functions/dprintf.texi: Undo last commit.
325         * doc/posix-functions/vdprintf.texi: Likewise.
326
327 2010-12-23  Paul Eggert  <eggert@cs.ucla.edu>
328
329         tests: port test-fdutimensat.c to Solaris 8
330         * tests/test-fdutimensat.c (do_fdutimens): Don't assume
331         fdutimensat works with a nonnegative fd and AT_SYMLINK_NOFOLLOW.
332         On Solaris 8, it fails with errno == ENOSYS, because there is no
333         futimens (so it can't use the fd), and there is no lutimens (so it
334         can't implement AT_SYMLINK_NOFOLLOW on symlinks).
335
336         vsnprintf: make more consistent with snprintf; doc fixes
337
338         * doc/posix-functions/snprintf.texi (snprintf): The workaround for
339         the byte count return problem was promoted from the snprintf-posix
340         to the snprintf module.
341         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
342         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Also check
343         gl_SNPRINTF_RETVAL_C99, for consistency with gl_FUNC_SNPRINTF.
344         * tests/test-snprintf.c (main): Check the byte count returned.
345         * tests/test-vsnprintf.c (main): Likewise.
346
347 2010-12-23  Eric Blake  <eblake@redhat.com>
348
349         sigpipe: relax to LGPLv2+, since it did not have any LGPLv3+ parts
350         * modules/sigpipe (License): Relax license.
351
352 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
353
354         doc: document Solaris printf bug with large float precisions
355         * doc/posix-functions/dprintf.texi (dprintf):
356         * doc/posix-functions/fprintf.texi (fprintf):
357         * doc/posix-functions/printf.texi (printf):
358         * doc/posix-functions/snprintf.texi (snprintf):
359         * doc/posix-functions/sprintf.texi (sprintf):
360         * doc/posix-functions/vdprintf.texi (vdprintf):
361         * doc/posix-functions/vfprintf.texi (vfprintf):
362         * doc/posix-functions/vprintf.texi (vprintf):
363         * doc/posix-functions/vsnprintf.texi (vsnprintf):
364         * doc/posix-functions/vsprintf.texi (vsprintf):
365         Mention that these functions mishandle large floating point
366         precisions on Solaris 10.  The same bug is also present in Solaris
367         8, and I assume earlier.  This causes "cd gnulib-tests; make
368         check" to fail on Solaris 8 (and I assume, later) when building
369         the latest coreutils, in test-vasprintf-posix's call to
370         my_asprintf (&result, "%.4000f %d", 1.0, 99).  I have not checked
371         the wide flavors (e.g., wprintf) so this patch just updates the
372         documentation for the narrow ones.
373
374         test-posixtm.c: add two tests
375         * tests/test-posixtm.c: Add two tests, to highlight the
376         bug in Solaris 10 (and earlier) localtime.  Gnulib doesn't work
377         around this bug; this is merely to document it.
378
379 2010-12-22  Bruno Haible  <bruno@clisp.org>
380
381         getlogin_r: Work around portability problem on OSF/1.
382         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Detect the OSF/1 problem.
383         * lib/unistd.in.h (getlogin_r): Replace if REPLACE_GETLOGIN_R is set.
384         * lib/getlogin_r.c (getlogin_r): When getlogin_r exists, invoke it and
385         test for a truncated result.
386         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_GETLOGIN_R.
387         * modules/unistd (Makefile.am): Substitute REPLACE_GETLOGIN_R.
388         * modules/getlogin_r (Depends-on): Add memchr.
389         * doc/posix-functions/getlogin_r.texi: Mention the OSF/1 problem.
390
391 2010-12-22  Bruno Haible  <bruno@clisp.org>
392
393         ptsname: Avoid test failure on OSF/1 5.1.
394         * modules/ptsname-tests (Depends-on): Add 'same-inode'.
395         * tests/test-ptsname.c: Include <sys/stat.h>, same-inode.h.
396         (same_slave): New function.
397         (main): Use it to compare ptsname's result with the expected file name.
398
399 2010-12-22  Bruno Haible  <bruno@clisp.org>
400
401         Port extended stdio modules to HP NonStop Kernel.
402         * lib/stdio-impl.h (_IOERR, _IOREAD, _IOWRT, _IORW) [__TANDEM]: New
403         macros.
404         * lib/fbufmode.c: Update comments.
405         * lib/fflush.c: Likewise.
406         * lib/fpurge.c: Likewise.
407         * lib/freadable.c: Likewise.
408         * lib/freadahead.c: Likewise.
409         * lib/freading.c: Likewise.
410         * lib/freadptr.c: Likewise.
411         * lib/freadseek.c: Likewise.
412         * lib/fseeko.c: Likewise.
413         * lib/fseterr.c: Likewise.
414         * lib/fwritable.c: Likewise.
415         * lib/fwriting.c: Likewise.
416         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
417
418 2010-12-22  Bruno Haible  <bruno@clisp.org>
419
420         ttyname_r: Work around bug on OSF/1 5.1.
421         * doc/posix-functions/ttyname_r.texi: Mention the OSF/1 bug.
422         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Detect the OSF/1 bug. Say "no"
423         instead of "guessing no" when the OSF/1 bug or the Solaris bug is
424         present.
425         * lib/ttyname_r.c (ttyname_r): Update comments.
426
427 2010-12-22  Bruno Haible  <bruno@clisp.org>
428
429         round: Implement result sign according to IEEE 754.
430         * lib/round.c (MIN, MINUS_ZERO): New macros.
431         (FLOOR_FREE_ROUND): Return -0.0 for -0.5 < x < 0.
432         * tests/test-roundf-ieee.c (main): Test also values between -1 and 1.
433         * tests/test-round-ieee.c (main): Likewise.
434         * tests/test-roundl-ieee.c (main): Likewise.
435
436         trunc: Implement result sign according to IEEE 754.
437         * lib/trunc.c (MIN, MINUS_ZERO): New macros.
438         (FUNC): Return +0.0 for 0 < x < 1 and -0.0 for -1 < x < 0.
439         * tests/test-trunc2.c: Include minus-zero.h.
440         (MINUS_ZERO): New macro.
441         (trunc_reference): Keep in sync with lib/trunc.c.
442         * tests/test-truncf2.c: Include minus-zero.h.
443         (MINUS_ZERO): New macro.
444         (truncf_reference): Keep in sync with lib/trunc.c.
445         * tests/test-truncf-ieee.c (main): Test also values between -1 and 1.
446         * tests/test-trunc-ieee.c (main): Likewise.
447         * tests/test-truncl-ieee.c (main): Likewise.
448
449         ceil: Implement result sign according to IEEE 754.
450         * lib/ceil.c (MIN, MINUS_ZERO): New macros.
451         (FUNC): Return -0.0 for -1 < x < 0.
452         * tests/test-ceil2.c: Include minus-zero.h.
453         (MINUS_ZERO): New macro.
454         (ceil_reference): Keep in sync with lib/ceil.c.
455         * tests/test-ceilf2.c: Include minus-zero.h.
456         (MINUS_ZERO): New macro.
457         (ceilf_reference): Keep in sync with lib/ceil.c.
458         * tests/test-ceilf-ieee.c (main): Test also values between -1 and 1.
459         * tests/test-ceil-ieee.c (main): Likewise.
460         * tests/test-ceill-ieee.c (main): Likewise.
461
462         floor: Implement result sign according to IEEE 754.
463         * lib/floor.c (FUNC): Return +0.0 for 0 < x < 1.
464         * tests/test-floor2.c (floor_reference): Keep in sync with lib/floor.c.
465         * tests/test-floorf2.c (floorf_reference): Likewise.
466         * tests/test-floorf-ieee.c (main): Test also values between -1 and 1.
467         * tests/test-floor-ieee.c (main): Likewise.
468         * tests/test-floorl-ieee.c (main): Likewise.
469
470 2010-12-22  Bruno Haible  <bruno@clisp.org>
471
472         getaddrinfo: Update doc.
473         * doc/posix-functions/gai_strerror.texi: Return type is also different
474         on AIX and HP-UX.
475
476 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
477
478         getaddrinfo, inet_ntop: Update doc for Solaris.
479         * doc/posix-functions/gai_strerror.texi: Return type is also an
480         issue on Solaris 9 and earlier.
481         * doc/posix-functions/inet_ntop.texi: 4th arg type is also an issue
482         on Solaris 10 and earlier.
483
484 2010-12-21  Bruno Haible  <bruno@clisp.org>
485
486         New module 'roundl-ieee'.
487         * modules/roundl-ieee: New file.
488         * m4/roundl.m4 (gl_FUNC_ROUNDL): If gl_FUNC_ROUNDL_IEEE is also used,
489         test whether roundl works according to ISO C 99 with IEC 60559.
490         * m4/roundl-ieee.m4: New file.
491         * modules/roundl-ieee-tests: New file.
492         * tests/test-roundl-ieee.c: New file, based on tests/test-roundl.c.
493         * tests/test-roundl.c (main): Remove signbit tests.
494         * modules/roundl-tests (Depends-on): Remove signbit.
495         * doc/posix-functions/roundl.texi: Mention the new module.
496
497 2010-12-21  Bruno Haible  <bruno@clisp.org>
498
499         New module 'truncl-ieee'.
500         * modules/truncl-ieee: New file.
501         * modules/truncl-ieee-tests: New file.
502         * tests/test-truncl-ieee.c: New file, based on tests/test-truncl.c.
503         * tests/test-truncl.c (main): Remove signbit tests.
504         * modules/truncl-tests (Depends-on): Remove signbit.
505         * doc/posix-functions/truncl.texi: Mention the new module.
506
507 2010-12-21  Bruno Haible  <bruno@clisp.org>
508
509         New module 'ceill-ieee'.
510         * modules/ceill-ieee: New file.
511         * modules/ceill-ieee-tests: New file.
512         * tests/test-ceill-ieee.c: New file, based on tests/test-ceill.c.
513         * tests/test-ceill.c (main): Remove signbit tests.
514         * modules/ceill-tests (Depends-on): Remove signbit.
515         * doc/posix-functions/ceill.texi: Mention the new module.
516
517 2010-12-21  Bruno Haible  <bruno@clisp.org>
518
519         New module 'floorl-ieee'.
520         * modules/floorl-ieee: New file.
521         * modules/floorl-ieee-tests: New file.
522         * tests/test-floorl-ieee.c: New file, based on tests/test-floorl.c.
523         * tests/test-floorl.c (main): Remove signbit tests.
524         * modules/floorl-tests (Depends-on): Remove signbit.
525         * doc/posix-functions/floorl.texi: Mention the new module.
526
527 2010-12-21  Bruno Haible  <bruno@clisp.org>
528
529         New module 'round-ieee'.
530         * modules/round-ieee: New file.
531         * m4/round.m4 (gl_FUNC_ROUND): If gl_FUNC_ROUND_IEEE is also used, test
532         whether round works according to ISO C 99 with IEC 60559.
533         * m4/round-ieee.m4: New file.
534         * modules/round-ieee-tests: New file.
535         * tests/test-round-ieee.c: New file, based on tests/test-roundf-ieee.c.
536         * tests/test-round1.c (main): Remove signbit tests.
537         * modules/round-tests (Depends-on): Remove 'signbit'.
538         * doc/posix-functions/round.texi: Mention the new module.
539
540 2010-12-21  Bruno Haible  <bruno@clisp.org>
541
542         New module 'trunc-ieee'.
543         * modules/trunc-ieee: New file.
544         * m4/trunc.m4 (gl_FUNC_TRUNC): If gl_FUNC_TRUNC_IEEE is also used, test
545         whether trunc works according to ISO C 99 with IEC 60559.
546         * m4/trunc-ieee.m4: New file.
547         * lib/math.in.h (trunc): Replace if REPLACE_TRUNC is set.
548         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNC.
549         * modules/math (Makefile.am): Substitute REPLACE_TRUNC.
550         * modules/trunc-ieee-tests: New file.
551         * tests/test-trunc-ieee.c: New file, based on tests/test-truncf-ieee.c.
552         * tests/test-trunc1.c (main): Remove signbit tests.
553         * modules/trunc-tests (Depends-on): Remove 'signbit'.
554         * doc/posix-functions/trunc.texi: Mention the new module.
555
556 2010-12-21  Bruno Haible  <bruno@clisp.org>
557
558         New module 'ceil-ieee'.
559         * modules/ceil-ieee: New file.
560         * m4/ceil.m4 (gl_FUNC_CEIL): Require gl_MATH_H_DEFAULTS. If
561         gl_FUNC_CEIL_IEEE is also used, test whether ceil works according to
562         ISO C 99 with IEC 60559.
563         * m4/ceil-ieee.m4: New file.
564         * modules/ceil (Files): Add lib/ceil.c.
565         (Depends-on): Add 'float'.
566         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
567         * lib/math.in.h (ceil): New declaration.
568         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEIL,
569         REPLACE_CEIL.
570         * modules/math (Makefile.am): Substitute GNULIB_CEIL, REPLACE_CEIL.
571         * modules/ceil-ieee-tests: New file.
572         * tests/test-ceil-ieee.c: New file, based on tests/test-ceilf-ieee.c.
573         * tests/test-math-c++.cc: Check the signature of 'ceil'.
574         * doc/posix-functions/ceil.texi: Mention the new module.
575
576 2010-12-21  Bruno Haible  <bruno@clisp.org>
577
578         New module 'floor-ieee'.
579         * modules/floor-ieee: New file.
580         * m4/floor.m4 (gl_FUNC_FLOOR): Require gl_MATH_H_DEFAULTS. If
581         gl_FUNC_FLOOR_IEEE is also used, test whether floor works according to
582         ISO C 99 with IEC 60559.
583         * m4/floor-ieee.m4: New file.
584         * modules/floor (Files): Add lib/floor.c.
585         (Depends-on): Add 'float'.
586         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
587         * lib/math.in.h (floor): New declaration.
588         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOOR,
589         REPLACE_FLOOR.
590         * modules/math (Makefile.am): Substitute GNULIB_FLOOR, REPLACE_FLOOR.
591         * modules/floor-ieee-tests: New file.
592         * tests/test-floor-ieee.c: New file, based on tests/test-floorf-ieee.c.
593         * tests/test-math-c++.cc: Check the signature of 'floor'.
594         * doc/posix-functions/floor.texi: Mention the new module.
595
596 2010-12-21  Bruno Haible  <bruno@clisp.org>
597
598         New module 'roundf-ieee'.
599         * modules/roundf-ieee: New file.
600         * m4/roundf.m4 (gl_FUNC_ROUNDF): If gl_FUNC_ROUNDF_IEEE is also used,
601         test whether roundf works according to ISO C 99 with IEC 60559.
602         * m4/roundf-ieee.m4: New file.
603         * modules/roundf-ieee-tests: New file.
604         * tests/test-roundf-ieee.c: New file, based on tests/test-roundf1.c.
605         * tests/test-roundf1.c (main): Remove signbit tests.
606         * modules/roundf-tests (Depends-on): Remove 'signbit'.
607         * doc/posix-functions/roundf.texi: Mention the new module.
608
609 2010-12-21  Bruno Haible  <bruno@clisp.org>
610
611         New module 'truncf-ieee'.
612         * modules/truncf-ieee: New file.
613         * m4/truncf.m4 (gl_FUNC_TRUNCF): If gl_FUNC_TRUNCF_IEEE is also used,
614         test whether truncf works according to ISO C 99 with IEC 60559.
615         * m4/truncf-ieee.m4: New file.
616         * lib/math.in.h (truncf): Replace if REPLACE_TRUNCF is set.
617         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCF.
618         * modules/math (Makefile.am): Substitute REPLACE_TRUNCF.
619         * modules/truncf-ieee-tests: New file.
620         * tests/test-truncf-ieee.c: New file, based on tests/test-truncf1.c.
621         * tests/test-truncf1.c (main): Remove signbit tests.
622         * modules/truncf-tests (Depends-on): Remove 'signbit'.
623         * doc/posix-functions/truncf.texi: Mention the new module.
624
625 2010-12-21  Bruno Haible  <bruno@clisp.org>
626
627         New module 'ceilf-ieee'.
628         * modules/ceilf-ieee: New file.
629         * m4/ceilf.m4 (gl_FUNC_FLOORF): If gl_FUNC_CEILF_IEEE is also used,
630         test whether ceilf works according to ISO C 99 with IEC 60559.
631         * m4/ceilf-ieee.m4: New file.
632         * modules/ceilf-ieee-tests: New file.
633         * tests/test-ceilf-ieee.c: New file, based on tests/test-ceilf1.c.
634         * tests/test-ceilf1.c (main): Remove signbit tests.
635         * modules/ceilf-tests (Depends-on): Remove 'signbit'.
636         * doc/posix-functions/ceilf.texi: Mention the new module.
637
638 2010-12-21  Bruno Haible  <bruno@clisp.org>
639
640         New module 'floorf-ieee'.
641         * modules/floorf-ieee: New file.
642         * m4/floorf.m4 (gl_FUNC_FLOORF): If gl_FUNC_FLOORF_IEEE is also used,
643         test whether floorf works according to ISO C 99 with IEC 60559.
644         * m4/floorf-ieee.m4: New file.
645         * modules/floorf-ieee-tests: New file.
646         * tests/test-floorf-ieee.c: New file, based on tests/test-floorf1.c.
647         * tests/test-floorf1.c (main): Remove signbit tests.
648         * modules/floorf-tests (Depends-on): Remove 'signbit'.
649         * doc/posix-functions/floorf.texi: Mention the new module.
650
651 2010-12-21  Bruno Haible  <bruno@clisp.org>
652
653         Support for minus zero in autoconf macros.
654         * m4/minus-zero.m4: New file, based on tests/minus-zero.h.
655         * m4/signbit.m4 (gl_FLOAT_SIGNBIT_CODE, gl_DOUBLE_SIGNBIT_CODE,
656         gl_LONG_DOUBLE_SIGNBIT_CODE, gl_FLOATTYPE_SIGNBIT_CODE): New macros.
657         * tests/minus-zero.h: Update comments.
658
659 2010-12-21  Bruno Haible  <bruno@clisp.org>
660
661         Tests for module 'ceil'.
662         * modules/ceil-tests: New file.
663         * tests/test-ceil1.c: New file, based on tests/test-ceill.c.
664         * tests/test-ceil2.c: New file, based on tests/test-ceilf2.c.
665
666 2010-12-21  Bruno Haible  <bruno@clisp.org>
667
668         Tests for module 'floor'.
669         * modules/floor-tests: New file.
670         * tests/test-floor1.c: New file, based on tests/test-floorl.c.
671         * tests/test-floor2.c: New file, based on tests/test-floorf2.c.
672
673 2010-12-21  Bruno Haible  <bruno@clisp.org>
674
675         math: Fix indentation.
676         * lib/math.in.h (floorf): Fix indentation.
677
678 2010-12-21  Bruno Haible  <bruno@clisp.org>
679
680         Fix cross-compilation guesses on Solaris.
681         * m4/fopen.m4 (gl_FUNC_FOPEN): Correct shell pattern so that it does
682         not match "solaris2.10".
683         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
684         * m4/printf.m4 (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_DIRECTIVE_N,
685         gl_VSNPRINTF_ZEROSIZE_C99): Likewise.
686
687 2010-12-21  Paul Eggert  <eggert@cs.ucla.edu>
688
689         snprintf: port snprintf (NULL, 0, ...) to Solaris 8 and 9
690         This fixes a problem observed with the latest coreutils snapshot
691         that caused a test to fail on Solaris 8.  src/csplit.c's call
692         snprintf (NULL, 0, format, UINT_MAX) returns -1 on Solaris 9 and
693         earlier, instead of returning the number of bytes that would have
694         been generated; this causes csplit to incorrectly report memory
695         exhaustion.
696         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Also check for
697         snprintf (NULL, 0, ...) and (for good measure) snprintf (buf, 0, ...).
698         Guess that it doesn't work on Solaris 2.6 through 9.  Adjust
699         comments to match.
700         (gl_PRINTF_SIZES_C99, gl_PRINTF_DIRECTIVE_F, gl_SNPRINTF_RETVAL_C99):
701         Fix typo in matching older versions of Solaris: "solaris2.10"
702         is matched by the shell pattern "solaris2.[0-9]*".  This matters
703         only for guessing while cross-compiling.
704         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Also check gl_SNPRINTF_RETVAL_C99.
705
706 2010-12-20  Paul Eggert  <eggert@cs.ucla.edu>
707
708         ftoastr: fix comment again
709         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
710         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00149.html>.
711         Also, simplify example a bit by using flags = 0.
712
713 2010-12-20  Bruno Haible  <bruno@clisp.org>
714
715         round*, trunc*: Update documentation regarding glibc.
716         * doc/posix-functions/roundf.texi: Mention missing declaration problem.
717         * doc/posix-functions/round.texi: Likewise.
718         * doc/posix-functions/roundl.texi: Likewise.
719         * doc/posix-functions/truncf.texi: Likewise.
720         * doc/posix-functions/trunc.texi: Likewise.
721         * doc/posix-functions/truncl.texi: Likewise.
722
723 2010-12-20  Bruno Haible  <bruno@clisp.org>
724
725         roundf, round, roundl: Update documentation regarding OSF/1 5.1.
726         * doc/posix-functions/roundf.texi: Mention OSF/1 5.1 problem.
727         * doc/posix-functions/round.texi: Likewise.
728         * doc/posix-functions/roundl.texi: Likewise.
729
730 2010-12-20  Bruno Haible  <bruno@clisp.org>
731
732         ttyname_r: Add missing declaration on HP-UX 11.
733         * lib/unistd.in.h (ttyname_r): Test HAVE_DECL_TTYNAME_R instead of
734         HAVE_TTYNAME_R.
735         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether ttyname_r is
736         declared. Set HAVE_TTYNAME_R always.
737         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
738         HAVE_DECL_TTYNAME_R, not HAVE_TTYNAME_R.
739         * modules/unistd (Makefile.am): Substitute HAVE_DECL_TTYNAME_R, not
740         HAVE_TTYNAME_R.
741         * doc/posix-functions/ttyname_r.texi: Document the HP-UX 11 problem.
742
743 2010-12-20  Bruno Haible  <bruno@clisp.org>
744
745         getlogin, getlogin_r: Document HP-UX 11.11 bugs.
746         * doc/posix-functions/getlogin.texi: Document HP-UX 11.11 bug.
747         * doc/posix-functions/getlogin_r.texi: Likewise.
748         * tests/test-getlogin.c: Include <errno.h>.
749         (main): Avoid test failure on HP-UX 11.11.
750         * tests/test-getlogin_r.c (main): Likewise.
751
752 2010-12-20  Bruno Haible  <bruno@clisp.org>
753
754         getlogin_r: Add missing declaration on HP-UX 11.
755         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Test whether getlogin_r is
756         declared also when it exists as a function.
757         * doc/posix-functions/getlogin_r.texi: Document this workaround.
758
759 2010-12-20  Bruno Haible  <bruno@clisp.org>
760
761         wcsrtombs: Don't confuse mbstate_t with rpl_mbstate_t.
762         * lib/wcsrtombs.c: If gnulib overrides mbstate_t, define wcsrtombs
763         through wcrtomb.
764
765 2010-12-19  Paul Eggert  <eggert@cs.ucla.edu>
766
767         ftoastr: fix comment
768         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
769         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00130.html>.
770
771 2010-12-19  Bruno Haible  <bruno@clisp.org>
772
773         isnan: Ensure it is a macro.
774         * lib/math.in.h (isnan): Define as a macro if not already a macro.
775         * doc/posix-functions/isnan.texi: Mention problem on IRIX, OSF/1,
776         Solaris.
777
778 2010-12-19  Bruno Haible  <bruno@clisp.org>
779
780         ldexpl test: Fix link error on OSF/1 5.1.
781         * modules/ldexpl-tests (Makefile.am): Define test_ldexpl_LDADD.
782
783 2010-12-19  Bruno Haible  <bruno@clisp.org>
784
785         wctype: Make it work in C++ mode on OSF/1 5.1.
786         * lib/wctype.in.h (iswblank): Declare but not define here.
787         * lib/iswblank.c: New file, extracted from lib/wctype.in.h.
788         * m4/wctype_h.m4 (gl_WCTYPE_H): Arrange to compile it if needed.
789         * modules/wctype (Files): Add lib/iswblank.c.
790
791 2010-12-19  Bruno Haible  <bruno@clisp.org>
792
793         signal: Document problem with type of SIGRTMIN, SIGRTMAX on OSF/1 5.1.
794         * doc/posix-headers/signal.texi: Document OSF/1 5.1 problem.
795         * lib/strsignal.c (strsignal): Cast SIGRTMIN to 'int'.
796
797 2010-12-19  Bruno Haible  <bruno@clisp.org>
798
799         sys_socket: Use POSIX compatible declarations on OSF/1 5.1.
800         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): On OSF/1, define
801         _POSIX_PII_SOCKET.
802         * doc/posix-functions/recv.texi: Document the OSF/1 problem.
803         * doc/posix-functions/recvfrom.texi: Likewise.
804         * doc/posix-functions/send.texi: Likewise.
805         * doc/posix-functions/sendto.texi: Likewise.
806
807 2010-12-19  Bruno Haible  <bruno@clisp.org>
808
809         tcgetsid: Add missing declaration on OSF/1 5.1.
810         * lib/termios.in.h (tcgetsid): Test HAVE_DECL_TCGETSID instead of
811         HAVE_TCGETSID.
812         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Test whether tcgetsid is declared.
813         Don't set HAVE_TCGETSID.
814         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Initialize
815         HAVE_DECL_TCGETSID, not HAVE_TCGETSID.
816         * modules/termios (Makefile.am): Substitute HAVE_DECL_TCGETSID, not
817         HAVE_TCGETSID.
818         * doc/posix-functions/tcgetsid.texi: Mention the OSF/1 5.1 problem.
819
820 2010-12-19  Bruno Haible  <bruno@clisp.org>
821
822         stdio: Fix problem with popen() declaration on OSF/1 5.1.
823         * lib/stdio.in.h: During the include_next statement, let recursive
824         includes of this file include only the system header file.
825
826 2010-12-19  Bruno Haible  <bruno@clisp.org>
827
828         iconv_open: Fix regression from 2010-12-04.
829         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Fix typo.
830         Reported by Noah Lavine <noah.b.lavine@gmail.com>.
831
832 2010-12-19  Bruno Haible  <bruno@clisp.org>
833
834         stdbool test: Avoid a gcc warning.
835         * tests/test-stdbool.c (main): Fail if e1 is false.
836         Reported by Jim Meyering.
837
838 2010-12-19  Jim Meyering  <meyering@redhat.com>
839
840         setenv: restore to working order
841         $HAVE_SETENV is used in gl_FUNC_SETENV, yet its definitions were
842         mistakenly removed.
843         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Restore code to set
844         HAVE_SETENV.
845         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Restore code to initialize
846         HAVE_SETENV.
847
848 2010-12-19  Bruno Haible  <bruno@clisp.org>
849
850         Document some different function declarations on OSF/1 5.1.
851         * doc/posix-functions/gai_strerror.texi: Mention different declaration.
852         * doc/posix-functions/inet_ntop.texi: Likewise.
853         * doc/posix-functions/gethostname.texi: Likewise.
854         * lib/unistd.in.h (gethostname): Update comment.
855
856 2010-12-19  Bruno Haible  <bruno@clisp.org>
857
858         doc: Mention vasprintf-posix module.
859         * doc/glibc-functions/asprintf.texi: Mention the workarounds present in
860         the 'vasprintf-posix' module.
861         * doc/glibc-functions/vasprintf.texi: Likewise.
862
863 2010-12-19  Bruno Haible  <bruno@clisp.org>
864
865         unsetenv: Add missing declaration on OSF/1 5.1.
866         * lib/stdlib.in.h (setenv): Test HAVE_DECL_UNSETENV, not HAVE_UNSETENV.
867         * m4/setenv.m4 (gl_FUNC_UNSETENV): Test whether unsetenv is declared.
868         Don't set HAVE_UNSETENV. In the test program, set _BSD.
869         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_UNSETENV,
870         not HAVE_UNSETENV.
871         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_UNSETENV, not
872         HAVE_UNSETENV.
873         * doc/posix-functions/unsetenv.texi: Mention the OSF/1 5.1 problem.
874
875 2010-12-19  Bruno Haible  <bruno@clisp.org>
876
877         setenv: Add missing declaration on OSF/1 5.1.
878         * lib/stdlib.in.h (setenv): Test HAVE_DECL_SETENV, not HAVE_SETENV.
879         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test whether setenv is
880         declared. Don't set HAVE_SETENV.
881         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_SETENV,
882         not HAVE_SETENV.
883         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_SETENV, not
884         HAVE_SETENV.
885         * doc/posix-functions/setenv.texi: Mention the OSF/1 5.1 problem.
886
887 2010-12-19  Bruno Haible  <bruno@clisp.org>
888
889         nl_langinfo tests: Avoid gcc warning.
890         * tests/test-nl_langinfo.c: Don't enable the GCC pragma for GCC 4.2.
891
892 2010-12-19  Bruno Haible  <bruno@clisp.org>
893
894         mknod: Avoid error in C++ mode on OSF/1 with GCC.
895         * lib/sys_stat.in.h (mknod): Use _GL_CXXALIAS_SYS_CAST instead of
896         _GL_CXXALIAS_SYS.
897
898 2010-12-19  Bruno Haible  <bruno@clisp.org>
899
900         stdbool: Relax test.
901         * tests/test-stdbool.c (e): Don't require that casts from a variable's
902         address to 'bool' work in static initializer, for compilers other than
903         GCC.
904
905 2010-12-19  Bruno Haible  <bruno@clisp.org>
906
907         ftello: Add missing declaration on OSF/1 5.1.
908         * lib/stdio.in.h (ftello): Test HAVE_DECL_FTELLO, not HAVE_FTELLO.
909         * m4/ftello.m4 (gl_FUNC_FTELLO): Test whether ftello is declared.
910         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FTELLO.
911         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FTELLO.
912         * doc/posix-functions/ftello.texi: Mention the OSF/1 5.1 problem.
913
914 2010-12-19  Bruno Haible  <bruno@clisp.org>
915
916         fseeko: Add missing declaration on OSF/1 5.1.
917         * lib/stdio.in.h (fseeko): Test HAVE_DECL_FSEEKO, not HAVE_FSEEKO.
918         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Test whether fseeko is declared.
919         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FSEEKO.
920         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FSEEKO.
921         * doc/posix-functions/fseeko.texi: Mention the OSF/1 5.1 problem.
922
923 2010-12-19  Bruno Haible  <bruno@clisp.org>
924
925         fchdir: Add missing declaration on OSF/1 5.1.
926         * lib/unistd.in.h (fchdir): Provide declaration if systems lacks it.
927         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check whether fchdir is declared.
928         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_DECL_FCHDIR.
929         * modules/unistd (Makefile.am): Substitute HAVE_DECL_FCHDIR.
930         * doc/posix-functions/fchdir.texi: Mention the OSF/1 5.1 problem.
931
932 2010-12-19  Bruno Haible  <bruno@clisp.org>
933
934         relocatable-prog-wrapper: Separate from relocatable-prog.
935         * modules/relocatable-prog (Makefile.am): Define uninstall-hook and
936         uninstall-relocwrapper rule here.
937         * modules/relocatable-prog-wrapper (Makefile.am): ... not here.
938         Reported by Ian Beckwith <ianb@erislabs.net>.
939
940 2010-12-19  Bruno Haible  <bruno@clisp.org>
941
942         unistr/u8-mbsnlen: Add missing dependency.
943         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtouc.
944         Reported by Ian Beckwith <ianb@erislabs.net>.
945
946 2010-12-19  Bruno Haible  <bruno@clisp.org>
947
948         iconv: Make it possible again to use this module without 'iconv-h'.
949         * modules/iconv (configure.ac): Don't invoke gl_ICONV_MODULE_INDICATOR
950         if it is not defined.
951         Reported by Ian Beckwith <ianb@erislabs.net>.
952
953 2010-12-18  Paul Eggert  <eggert@cs.ucla.edu>
954
955         acl: port to Solaris 8 when copying from tmpfs to ufs
956         * lib/copy-acl.c (qcopy_acl): Also allow EINVAL as an ignorable
957         error number.  Problem observed on Solaris 8 with latest
958         coreutils, with "mv A B", where A is on a tmpfs file system and B
959         is on a ufs file system.  This caused coreutils' mv/part-symlink
960         test to fail.
961
962         tests: set fail=0 at start
963         * tests/init.sh (setup_): Move fail=0 initialization here ...
964         (mktempd_): ... from here, so that tests can rely on fail being
965         set to 0 initially.  This fixes a problem in coreutils; see:
966         http://lists.gnu.org/archive/html/coreutils/2010-12/msg00083.html
967
968 2010-12-18  Bruno Haible  <bruno@clisp.org>
969
970         memmem-simple: Stylistic changes.
971         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Avoid possible gcc warning.
972         Fix preprocessor directive indentation.
973
974 2010-12-15  Pádraig Brady <P@draigBrady.com>
975
976         memmem, memmem-simple: reorganize and expand empty needle check
977         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Move all
978         functional checks to memmem-simple so that one has a fully functional
979         memmem by using just this module.
980         Restrict the performance only check to the memmem module.
981         Also expand the empty needle check to ensure the correct
982         pointer is returned, not just a non NULL pointer.
983         * doc/glibc-functions/memmem.texi: Rearrange the portability
984         documentation to correlate with the rearranged checks.
985         Clarify exactly how the memmem and memmem-simple modules
986         relate to each other.
987
988 2010-12-15  Pádraig Brady <P@draigBrady.com>
989             Bruno Haible  <bruno@clisp.org>
990
991         Improve cross-compilation guesses for uClibc.
992         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): When cross-compiling, assume
993         that uClibc does not have the glibc bug.
994         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Likewise.
995         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Likewise.
996
997 2010-12-14  Eric Blake  <eblake@redhat.com>
998
999         configmake: provide fallbacks for oldest supported autotools
1000         * m4/configmake.m4: New file.
1001         * modules/configmake (Files): Ship it.
1002         (configure.ac): Use it to guarantee fallbacks.
1003
1004 2010-12-13  Pádraig Brady <P@draigBrady.com>
1005
1006         read-file: Improve handling of large files
1007         * lib/read-file.c (fread_file): Minimize realloc()s
1008         for regular files, and better manage sizes around SIZE_MAX.
1009
1010 2010-12-13  Eric Blake  <eblake@redhat.com>
1011
1012         cloexec, fcntl: relax license
1013         * modules/cloexec (License): Change from LGPLv3+ to LGPLv2+, with
1014         consent from all contributors.
1015         * modules/fcntl (License): Likewise.
1016
1017 2010-12-10  Bruno Haible  <bruno@clisp.org>
1018
1019         Tests for module 'pipe-posix'.
1020         * modules/pipe-posix-tests: New file.
1021         * tests/test-pipe.c: New file, based on tests/test-pipe2.c.
1022
1023 2010-12-10  Bruno Haible  <bruno@clisp.org>
1024
1025         pipe-posix: Make it work in C++ mode.
1026         * lib/unistd.in.h: Don't include <io.h>, <fcntl.h> for pipe.
1027         (pipe): Use common idiom, not a macro definition.
1028         * lib/pipe.c: New file.
1029         * m4/pipe.m4: New file.
1030         * modules/pipe-posix (Description): Enhance.
1031         (Files): Add lib/pipe.c, m4/pipe.m4.
1032         (configure.ac): Invoke gl_FUNC_PIPE.
1033         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_PIPE.
1034         * modules/unistd (Makefile.am): Substitute HAVE_PIPE.
1035         * tests/test-unistd-c++.cc: Check the signature of pipe.
1036
1037 2010-12-10  Bruno Haible  <bruno@clisp.org>
1038
1039         Rename module 'pipe' to 'spawn-pipe'.
1040         * modules/spawn-pipe: New file, renamed from modules/pipe.
1041         (Files, configure.ac, Makefile.am): Update.
1042         (Include): Mention "spawn-pipe.h" instead of "pipe.h".
1043         * modules/pipe: Reduce to an obsolete indirection to 'spawn-pipe'.
1044         * lib/spawn-pipe.h: New file, renamed from lib/pipe.h.
1045         * lib/spawn-pipe.c: New file, renamed from lib/pipe.c. Include
1046         "spawn-pipe.h" instead of "pipe.h".
1047         * m4/spawn-pipe.m4: New file, renamed from m4/pipe.m4. Rename gl_PIPE
1048         to gl_SPAWN_PIPE.
1049         * modules/spawn-pipe-tests: New file, renamed from modules/pipe-tests.
1050         (Files, Makefile.am): Update.
1051         * tests/test-spawn-pipe.sh: New file, renamed from tests/test-pipe.sh.
1052         Update.
1053         * tests/test-spawn-pipe.c: New file, renamed from tests/test-pipe.c.
1054         Include "spawn-pipe.h" instead of "pipe.h".
1055         * lib/csharpcomp.c: Include "spawn-pipe.h" instead of "pipe.h".
1056         * lib/javacomp.c: Likewise.
1057         * lib/javaversion.c: Likewise.
1058         * lib/pipe-filter-gi.c: Likewise.
1059         * lib/pipe-filter-ii.c: Likewise.
1060         * modules/csharpcomp (Depends-on): Add 'spawn-pipe', remove 'pipe'.
1061         * modules/javacomp (Depends-on): Likewise.
1062         * modules/javaversion (Depends-on): Likewise.
1063         * modules/pipe-filter-gi (Depends-on): Likewise.
1064         * modules/pipe-filter-ii (Depends-on): Likewise.
1065         * MODULES.html.sh (Executing programs): Update.
1066         * NEWS: Mention the change.
1067
1068 2010-12-10  Eric Blake  <eblake@redhat.com>
1069
1070         pipe-posix: new module
1071         * modules/pipe-posix: New file.
1072         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set default.
1073         (gl_UNISTD_H): Check for declaration.
1074         * modules/unistd (Makefile.am): Substitute it.
1075         * lib/unistd.in.h (pipe): Provide it for mingw.
1076         * doc/posix-functions/pipe.texi (pipe): Update documentation.
1077         * MODULES.html.sh (File descriptor based Input/Output): Likewise.
1078
1079 2010-12-07  Bruno Haible  <bruno@clisp.org>
1080
1081         unistr/u8-strcmp: Avoid collision with libc function on Solaris 11.
1082         * lib/unistr.in.h (u8_strcmp) [__sun]: Declare with real name
1083         u8_strcmp_gnu.
1084         * modules/unistr/u8-strcmp (configure.ac): Bump version number.
1085
1086 2010-12-06  Bruno Haible  <bruno@clisp.org>
1087
1088         Update internal documentation.
1089         * m4/README: Document new idioms for AC_RUN_IFELSE invocations.
1090
1091 2010-12-04  Bruno Haible  <bruno@clisp.org>
1092
1093         Put more information about failed tests into the test return codes.
1094         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Change test
1095         program so that it returns an enumerated value (0, 1, 2, 3, 4, ...).
1096         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
1097         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
1098         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Likewise.
1099         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
1100         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
1101         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
1102         * m4/isapipe.m4 (gl_PREREQ_ISAPIPE): Likewise.
1103         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
1104         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Likewise.
1105         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
1106         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
1107         * m4/stdint.m4 (gl_STDINT_H): Likewise.
1108         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Change test program so that it
1109         returns a bit mask.
1110         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Likewise.
1111         * m4/chown.m4 (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Likewise.
1112         * m4/dup2.m4 (gl_FUNC_DUP2): Likewise.
1113         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Likewise.
1114         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
1115         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
1116         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
1117         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
1118         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
1119         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
1120         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
1121         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
1122         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
1123         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
1124         * m4/link.m4 (gl_FUNC_LINK): Likewise.
1125         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
1126         * m4/mbrlen.m4 (gl_MBRLEN_RETVAL): Likewise.
1127         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Likewise.
1128         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
1129         * m4/memchr.m4 (gl_FUNC_MEMCHR): Likewise.
1130         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
1131         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
1132         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Likewise.
1133         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
1134         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
1135         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
1136         * m4/popen.m4 (gl_FUNC_POPEN): Likewise.
1137         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
1138         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
1139         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_LS,
1140         gl_PRINTF_PRECISION): Likewise.
1141         * m4/regex.m4 (gl_REGEX): Likewise.
1142         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
1143         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
1144         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Likewise.
1145         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
1146         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
1147         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
1148         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
1149         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Likewise.
1150         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
1151         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
1152         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
1153         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
1154         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
1155         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
1156         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
1157         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
1158         * m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
1159         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
1160         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
1161         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Likewise.
1162         (gl_FLOATTYPE_SIGN_LOCATION): Change test program so that it returns an
1163         enumerated value.
1164         * m4/acl.m4 (gl_ACL_GET_FILE): Use "if ... return 1; return 0;" style.
1165
1166 2010-12-04  Bruno Haible  <bruno@clisp.org>
1167
1168         Update for Solaris 11 2010-11.
1169         * doc/{glibc,posix}-{functions,headers}: Add info about Solaris 11
1170         Express, released in November 2010.
1171
1172 2010-12-04  Bruno Haible  <bruno@clisp.org>
1173
1174         nproc: Relax license.
1175         * modules/nproc (License): Change to LGPL, with consent by Glen Lenker
1176         and Paul Eggert.
1177         Requested by Ludovic Courtès <ludo@gnu.org>.
1178
1179 2010-12-01  Paul Eggert  <eggert@cs.ucla.edu>
1180
1181         utimecmp: fine-grained src to nearby coarse-grained dest
1182
1183         * lib/utimecmp.c (utimecmp): When UTIMECMP_TRUNCATE_SOURCE is set,
1184         and the source is on a file system with higher-resolution time
1185         stamps, than the destination, and _PC_TIMESTAMP_RESOLUTION does
1186         not work, and the time stamps are close together, the algorithm to
1187         determine the exact resolution from the read-back mtime was buggy:
1188         it had a "!=" where it should have had an "==".  This bug has been
1189         in the code ever since it was introduced to gnulib.
1190         Problem reported by Dan Jacobson in
1191         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=7529>.
1192
1193 2010-11-30  Bruno Haible  <bruno@clisp.org>
1194
1195         strerror_r-posix: Fix autoconf test.
1196         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Fix typo.
1197
1198 2010-11-28  Bruno Haible  <bruno@clisp.org>
1199             Paul Eggert  <eggert@cs.ucla.edu>
1200
1201         Tests for module 'getdomainname'.
1202         * modules/getdomainname-tests: New file.
1203         * tests/test-getdomainname.c: New file, based on
1204         tests/test-gethostname.c.
1205
1206 2010-11-28  Bruno Haible  <bruno@clisp.org>
1207             Paul Eggert  <eggert@cs.ucla.edu>
1208
1209         getdomainname: Use the system function when possible.
1210         * lib/unistd.in.h: Include <netdb.h>, for getdomainname's declaration.
1211         (getdomainname): Replace if needed. Provide the declaration if it is
1212         missing. Don't use _GL_CXXALIAS_SYS_CAST.
1213         * lib/getdomainname.c: Include <limits.h> and <sys/systeminfo.h>.
1214         (getdomainname): When the system has getdomainname, call the system
1215         function. When sysinfo (SI_SRPC_DOMAIN, ...) is possible, use that.
1216         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
1217         gl_HEADER_SYS_SOCKET and gl_HEADER_NETDB. Test whether the function is
1218         found in libnsl. Look for the declaration also in <netdb.h>. Replace
1219         the function if its second argument is of type 'int' or if it is found
1220         in libnsl.
1221         (gl_PREREQ_GETDOMAINNAME): Define HAVE_GETDOMAINNAME. Check for
1222         <sys/systeminfo.h> and sysinfo().
1223         * modules/getdomainname (Depends-on): Add netdb, sys_socket.
1224         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
1225         HAVE_DECL_GETDOMAINNAME and REPLACE_GETDOMAINNAME instead of
1226         HAVE_GETDOMAINNAME.
1227         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETDOMAINNAME and
1228         REPLACE_GETDOMAINNAME instead of HAVE_GETDOMAINNAME.
1229         * doc/glibc-functions/getdomainname.texi: Document the problems with
1230         the getdomainname declaration.
1231
1232 2010-11-28  Bruno Haible  <bruno@clisp.org>
1233
1234         sys_socket: Ensure ss_family field on AIX.
1235         * lib/sys_socket.in.h (ss_family): New macro definition.
1236         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Set
1237         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY. Set SYS_SOCKET_H if necessary.
1238         (gl_SYS_SOCKET_H_DEFAULTS): Initialize
1239         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
1240         * modules/sys_socket (Makefile.am): Substitute
1241         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
1242         * doc/posix-headers/sys_socket.texi: Mention the AIX bug.
1243
1244 2010-11-27  Bruno Haible  <bruno@clisp.org>
1245
1246         readline: Improve configure output.
1247         * m4/readline.m4 (gl_FUNC_READLINE): Make the
1248         "checking for readline..." result understandable.
1249
1250 2010-11-27  Bruno Haible  <bruno@clisp.org>
1251
1252         *printf-posix: Detect a bug on Solaris 10/x86.
1253         * m4/printf.m4 (gl_PRINTF_PRECISION): Detect crash with large precision
1254         for floating-point output.
1255         * tests/test-vasnprintf-posix.c (test_function): Test precision with %f
1256         directive.
1257         * tests/test-snprintf-posix.h (test_function): Likewise.
1258         * tests/test-sprintf-posix.h (test_function): Likewise.
1259         * tests/test-vasprintf-posix.c (test_function): Likewise.
1260         * doc/posix-functions/fprintf.texi: Mention Solaris/x86 bug.
1261         * doc/posix-functions/printf.texi: Likewise.
1262         * doc/posix-functions/snprintf.texi: Likewise.
1263         * doc/posix-functions/sprintf.texi: Likewise.
1264         * doc/posix-functions/vfprintf.texi: Likewise.
1265         * doc/posix-functions/vprintf.texi: Likewise.
1266         * doc/posix-functions/vsnprintf.texi: Likewise.
1267         * doc/posix-functions/vsprintf.texi: Likewise.
1268         * doc/glibc-functions/obstack_printf.texi: Likewise.
1269         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
1270
1271 2010-11-27  Bruno Haible  <bruno@clisp.org>
1272
1273         Fix link error when module libunistring-optional is in use.
1274         * modules/striconveh-tests (Makefile.am): Link with $(LIBUNISTRING).
1275         * modules/striconveha-tests (Makefile.am): Likewise.
1276
1277 2010-11-27  Bruno Haible  <bruno@clisp.org>
1278
1279         regex: Mention link dependencies.
1280         * modules/regex (Link): New section.
1281         * modules/rpmatch (Link): Likewise.
1282         * modules/regex-quote-tests (Makefile.am): Link with $(LIBINTL).
1283
1284 2010-11-27  Bruno Haible  <bruno@clisp.org>
1285
1286         ftoastr: Fix compilation error on Solaris.
1287         * lib/ftoastr.c: Include <config.h>.
1288
1289 2010-11-27  Bruno Haible  <bruno@clisp.org>
1290
1291         getloadavg: Update documentation.
1292         * doc/glibc-functions/getloadavg.texi: Mention the Solaris problem.
1293
1294 2010-11-27  Bruno Haible  <bruno@clisp.org>
1295
1296         sys_socket: Fix test whether the functions are declared.
1297         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Include <sys/socket.h>,
1298         not <sys/select.h>.
1299
1300 2010-11-27  Bruno Haible  <bruno@clisp.org>
1301
1302         getpass: Make sure to get system declaration on some platforms.
1303         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU): Require
1304         gl_USE_SYSTEM_EXTENSIONS.
1305         * modules/getpass (Depends-on): Add extensions.
1306
1307 2010-11-26  Bruno Haible  <bruno@clisp.org>
1308
1309         iconv-h: Fix test-iconv-h-c++ failure on Solaris 11 2010-11.
1310         * lib/iconv.in.h (iconv_open, iconv, iconv_close): Define only if the
1311         'iconv' module is present.
1312         (ICONV_CONST): New macro.
1313         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize GNULIB_ICONV and
1314         ICONV_CONST.
1315         * m4/iconv.m4 (AM_ICONV): If the gnulib module 'iconv-h' is present,
1316         set ICONV_CONST.
1317         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Don't set ICONV_CONST
1318         here.
1319         * modules/iconv (configure.ac): Invoke gl_ICONV_MODULE_INDICATOR.
1320         * modules/iconv-h (Makefile.am): Substitute GNULIB_ICONV.
1321         * tests/test-iconv-h.c (ICONV_CONST): Don't define here.
1322         * tests/test-iconv-h-c++.cc (ICONV_CONST): Don't define here.
1323         (iconv_open, iconv, iconv_close): Test only if the 'iconv' module is
1324         present.
1325
1326 2010-11-25  Paul Eggert  <eggert@cs.ucla.edu>
1327
1328         ftoastr: comment fix
1329         * lib/ftoastr.c: "little" -> "little or no" in comment
1330
1331 2010-11-24  Paul Eggert  <eggert@cs.ucla.edu>
1332
1333         stdint: port to GCC 4.3 + OSX + Octave
1334         On this platform, stdint.h is buggy and defines int64_t to long
1335         long int.  The replacement defined it to long int, causing
1336         problems with C++ style name mangling.  Instead, trust the system
1337         definition if INT64_MAX is defined, and likewise for the unsigned
1338         variant.   Problem reported by Jarno Rajahalme in
1339         <http://lists.gnu.org/archive/html/bug-gnulib/2010-04/msg00143.html>.
1340         * lib/stdint.in.h (GL_INT64_T): Define if INT64_MAX is defined,
1341         and don't mess with int64_t and INT64_MAX in this case.
1342         (GL_UINT64_T): Likewise for UINT64_MAX and uint64_t.
1343
1344 2010-11-24  Bruno Haible  <bruno@clisp.org>
1345
1346         doc: Corrections regarding MacOS X 10.4 and 10.5.
1347         * doc/{glibc,posix,pastposix}-functions/*.texi: Update info about
1348         MacOS X.
1349         Reported by Simon Josefsson.
1350
1351 2010-11-22  Ben Pfaff  <blp@cs.stanford.edu>
1352
1353         Uninstall ".bin" files installed by relocwrapper.
1354         * modules/relocatable-prog-wrapper (uninstall-relocwrapper):
1355         Recursively run "make uninstall" with ".bin" prefixed to EXEEXT,
1356         unless it is already there.
1357
1358 2010-11-21  Bruno Haible  <bruno@clisp.org>
1359
1360         Update for NetBSD 5.0.
1361         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
1362         NetBSD; the test fails on NetBSD 5.0.
1363         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
1364         about NetBSD.
1365
1366 2010-11-21  Bruno Haible  <bruno@clisp.org>
1367
1368         Update for HP-UX 11.23 and HP-UX 11.31.
1369         * doc/{glibc,posix}-{headers,functions}/*.texi: Update info about
1370         HP-UX.
1371
1372 2010-11-21  Bruno Haible  <bruno@clisp.org>
1373
1374         Update for MacOS X 10.5.
1375         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
1376         MacOS X; the test fails on MacOS X 10.5.8.
1377         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
1378         about MacOS X.
1379
1380 2010-11-20  Joel E. Denny  <joeldenny@joeldenny.org>
1381
1382         bootstrap: add bootstrap_sync option.
1383         See discussion at
1384         <http://lists.gnu.org/archive/html/bug-gnulib/2010-10/msg00369.html>,
1385         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00200.html>.
1386         * build-aux/bootstrap: Accept --bootstrap-sync to update
1387         bootstrap if it is not identical to the local gnulib's
1388         bootstrap.  Accept bootstrap_sync=true in bootstrap.conf to
1389         enable this by default.  Accept --no-bootstrap-sync to disable
1390         it.
1391
1392 2010-11-20  Bruno Haible  <bruno@clisp.org>
1393
1394         Ensure that <features.h> is included before __GLIBC__ is tested.
1395         * lib/printf-parse.h: Include <features.h>.
1396         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gl_FEATURES_H.
1397         Reported by Mike Frysinger <vapier@gentoo.org>.
1398
1399         Ensure that <features.h> is included before __GLIBC__ is tested.
1400         * lib/wchar.in.h: Include <features.h>.
1401         * m4/wchar_h.m4 (gl_WCHAR_H): Require gl_FEATURES_H.
1402         * modules/wchar (Makefile.am): Substitute HAVE_FEATURES_H.
1403         Reported by Mike Frysinger <vapier@gentoo.org>.
1404
1405         Ensure that <features.h> is included before __GLIBC__ is tested.
1406         * lib/arpa_inet.in.h: Include <features.h>.
1407         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Require gl_FEATURES_H.
1408         * modules/arpa_inet (Makefile.am): Substitute HAVE_FEATURES_H.
1409         Reported by Mike Frysinger <vapier@gentoo.org>.
1410
1411         Ensure that <features.h> is included before __GLIBC__ is tested.
1412         * build-aux/link-warning.h: Include <features.h>.
1413         * modules/link-warning (configure.ac): Require gl_FEATURES_H.
1414         (Makefile.am): Substitute HAVE_FEATURES_H into link-warning.h.
1415         Reported by Mike Frysinger <vapier@gentoo.org>.
1416
1417         Ensure that <features.h> is included before __GLIBC__ is tested.
1418         * m4/gnulib-common.m4 (gl_FEATURES_H): New macro.
1419         Reported by Mike Frysinger <vapier@gentoo.org>.
1420
1421 2010-11-20  Bruno Haible  <bruno@clisp.org>
1422
1423         memmem: Fix autoconf test.
1424         * m4/memmem.m4 (gl_FUNC_MEMMEM): Test HAVE_DECL_MEMMEM, not HAVE_MEMMEM.
1425
1426 2010-11-20  Bruno Haible  <bruno@clisp.org>
1427
1428         Port to uClibc.
1429         * build-aux/link-warning.h (GL_LINK_WARNING): Treat uClibc like glibc.
1430         * lib/fcntl.in.h: Likewise.
1431         * lib/hard-locale.c (GLIBC_VERSION): Likewise.
1432         * lib/mbrtowc.c (mbrtowc): Likewise.
1433         * lib/relocatable.c (find_shared_library_fullname): Likewise.
1434         * lib/strerror_r.c: Likewise.
1435         * lib/unistr/u8-strnlen.c: Likewise.
1436         * lib/vasnprintf.c (decimal_point_char): Likewise.
1437         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
1438         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
1439         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
1440         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
1441         * tests/test-sigaction.c (handler, main): Likewise.
1442         * lib/freading.h: Treat uClibc like a non-glibc platform.
1443         * lib/freading.c: Likewise.
1444         * lib/gettext.h: Likewise.
1445         * lib/localename.c (gl_locale_name_thread_unsafe, HAVE_LOCALE_NULL):
1446         Likewise.
1447         * lib/printf-parse.h (FLAG_LOCALIZED): Likewise.
1448         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
1449         * lib/propername.c (proper_name_utf8): Likewise.
1450         * lib/spawn.in.h: Likewise.
1451         * lib/striconv.c (mem_cd_iconv, str_cd_iconv, str_iconv): Likewise.
1452         * lib/striconveh.c (iconveh_open, iconv_carefully, iconv_carefully_1,
1453         mem_cd_iconveh_internal): Likewise.
1454         * lib/striconveha.c (mem_iconveha, str_iconveha): Likewise.
1455         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
1456         strstr, strcasestr): Likewise.
1457         * lib/unicodeio.c (unicode_to_mb): Likewise.
1458         * lib/uniconv/u16-conv-from-enc.c (UTF16_NAME): Likewise.
1459         * lib/uniconv/u16-conv-to-enc.c (UTF16_NAME): Likewise.
1460         * lib/uniconv/u16-strconv-to-enc.c (UTF16_NAME): Likewise.
1461         * lib/uniconv/u32-conv-from-enc.c (UTF32_NAME): Likewise.
1462         * lib/uniconv/u32-conv-to-enc.c (UTF32_NAME): Likewise.
1463         * lib/uniconv/u32-strconv-to-enc.c (UTF32_NAME): Likewise.
1464         * lib/unistr/u8-stpncpy.c: Likewise.
1465         * lib/vasnprintf.c (VASNPRINTF): Likewise.
1466         * lib/xmalloc.c (HAVE_GNU_CALLOC): Likewise.
1467         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
1468         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
1469         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
1470         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Likewise.
1471         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Likewise.
1472         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Likewise.
1473         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
1474         Likewise.
1475         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
1476         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
1477         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
1478         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
1479         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
1480         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
1481         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
1482         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
1483         * tests/test-getopt.h (OPTIND_MIN): Likewise.
1484         * tests/test-striconveha.c (main): Likewise.
1485         * tests/test-vasnprintf-posix.c (test_function): Likewise.
1486         * tests/test-vasnprintf-posix3.c (test_function, main): Likewise.
1487         * doc/posix-functions/getdelim.texi: Mention an uClibc bug.
1488         * doc/posix-functions/getline.texi: Likewise.
1489         Reported by Mike Frysinger <vapier@gentoo.org>.
1490
1491 2010-11-20  Bruno Haible  <bruno@clisp.org>
1492
1493         nproc: Fix condition.
1494         * lib/nproc.c: Test HAVE_PTHREAD_GETAFFINITY_NP, not
1495         HAVE_PTHREAD_AFFINITY_NP.
1496
1497 2010-11-20  Bruno Haible  <bruno@clisp.org>
1498
1499         Fix a comment.
1500         * lib/vasnprintf.c (VASNPRINTF): Fix comment.
1501
1502 2010-11-19  Paul Eggert  <eggert@cs.ucla.edu>
1503
1504         ftoastr: don't assume snprintf
1505         * lib/ftoastr.c (snprintf) [! GNULIB_SNPRINTF_POSIX]:
1506         Implement a subset of snprintf here, by using sprintf safely.
1507         * modules/ftoastr (Depends-on): Remove snprintf.
1508
1509 2010-11-19  Jim Meyering  <meyering@redhat.com>
1510
1511         test-rename.h: fix compilation failure
1512         * tests/test-rename.h (test_rename): Add omitted "}".
1513
1514 2010-11-17  Jim Meyering  <meyering@redhat.com>
1515
1516         maint.mk: add a URL discussing the no-@acronym policy
1517         * top/maint.mk (sc_texinfo_acronym): Add a URL in a comment.
1518
1519 2010-11-18  Paul Eggert  <eggert@cs.ucla.edu>
1520
1521         ftoastr: depend on snprintf, improve comments
1522         * lib/ftoastr.c: Also mention Loitsch's draft.
1523         * lib/ftoastr.h: Require WIDTH to be nonnegative.  This isn't
1524         needed in the current implementation, but it might simplify
1525         speeding up the code later.
1526         * modules/ftoastr: Depend on snprintf; this improves portability.
1527         Suggested by Bruno Haible in the same email.
1528
1529         ftoastr: port to hosts lacking strtof and strtold
1530         Problem reported by Bruno Haible in
1531         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00242.html>.
1532         * lib/ftoastr.c (STRTOF): Define to strtod if in a pre-C99
1533         environment and strtold (and presumably strtof) are not available.
1534         * modules/ftoastr (Files): Add m4/c-strtod.m4.
1535         (configure.ac): Require gl_C99_STRTOLD.
1536
1537 2010-11-18  Bruno Haible  <bruno@clisp.org>
1538
1539         c-strtold: Avoid link error on AIX 7.
1540         * lib/c-strtod.c: Test also HAVE_STRTOD_L or HAVE_STRTOLD_L.
1541         * m4/c-strtod.m4 (gl_C_STRTOD): Test whether strtod_l exists.
1542         (gl_C_STRTOLD): Test whether strtold_l exists.
1543         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
1544
1545 2010-11-17  Paul Eggert  <eggert@cs.ucla.edu>
1546
1547         intprops: new macro INT_BITS_STRLEN_BOUND
1548         * lib/intprops.h (INT_BITS_STRLEN_BOUND): New macro, needed by
1549         ftoastr.h.  This exposes an internal of intprops.h that was formerly
1550         not exposed.  Also, it uses a slightly tighter bound than before;
1551         though this makes no practical difference, we might as well be as
1552         tight as we easily can.
1553
1554         ftoastr: new module, for lossless conversion of floats to short strings
1555         * lib/ftoastr.h, lib/ftoastr.c, lib/dtoastr.c, lib/ldtoastr.c:
1556         * modules/ftoastr: New files.
1557
1558 2010-11-15  Paul Eggert  <eggert@cs.ucla.edu>
1559
1560         bootstrap: port to Solaris sed
1561         * build-aux/bootstrap (get_version): Port to Solaris sed.
1562         See Ralf Wildenhues's note in
1563         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00156.html>.
1564
1565 2010-11-14  Jim Meyering  <meyering@redhat.com>
1566
1567         maint.mk: rename variable: s/noteworthy/gl_noteworthy_news_/
1568         * top/maint.mk (gl_noteworthy_news_): Rename from "noteworthy"
1569         and move definition closer to sole use.
1570
1571 2010-11-13  Jim Meyering  <meyering@redhat.com>
1572
1573         remove autoconf-2.57 work-around requiring AC_PROG_EGREP and AC_PROG_CPP
1574         Now we require at least autoconf-2.59, which means the work-around
1575         is no longer needed.
1576         * m4/alloca.m4 (gl_FUNC_ALLOCA): Remove work-around.
1577         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
1578         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
1579         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
1580         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
1581
1582 2010-11-13  Bruno Haible  <bruno@clisp.org>
1583
1584         rename, renameat: Avoid test failures at NFS mounted locations.
1585         * tests/test-rename.h (dentry_exists, assert_nonexistent): New
1586         functions.
1587         (test_rename): Use assert_nonexistent.
1588         * tests/test-rename.c: Include <dirent.h>.
1589         * tests/test-renameat.c: Likewise.
1590         Reported by Gary V. Vaughan <gary@gnu.org>.
1591
1592         rename, renameat: Document Linux bug with NFS
1593         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00154.html>.
1594         * doc/posix-functions/rename.texi: Mention the NFS bug on Linux.
1595         * doc/posix-functions/renameat.texi: Likewise.
1596         Suggested by Eric Blake.
1597
1598 2010-11-13  Bruno Haible  <bruno@clisp.org>
1599
1600         rename test: Add comments.
1601         * tests/test-rename.h (test_rename): Add structure and comments.
1602
1603 2010-11-13  Eric Blake  <eblake@redhat.com>
1604
1605         maintainer-makefile: cover a few more files
1606         * top/maint.mk (sc_prohibit_test_double_equal): Also cover shell
1607         scripts generated within C files, for libvirt.
1608
1609 2010-11-13  Bruno Haible  <bruno@clisp.org>
1610
1611         unistr/u8-mbtouc: Improve handling of ill-formed UTF-8 input.
1612         * lib/unistr/u8-mbtouc.c (u8_mbtouc): For an invalid multibyte
1613         character, return the number of bytes that belong together, not always
1614         1.
1615         * lib/unistr/u8-mbtouc-unsafe.c (u8_mbtouc_unsafe): Likewise.
1616         * lib/unistr/u8-mbtouc-aux.c (u8_mbtouc_aux): Likewise.
1617         * lib/unistr/u8-mbtouc-unsafe-aux.c (u8_mbtouc_unsafe_aux): Likewise.
1618         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtouc to determine the
1619         number of bytes of an invalid character.
1620         * tests/unistr/test-u8-mbtouc.c (test_safe_function): New function.
1621         (main): Invoke it.
1622         * tests/unistr/test-u8-mbtouc.h (test_function): Update two test
1623         results.
1624         * tests/unistr/test-u8-mbsnlen.c (main): Test various kinds of
1625         malformed byte sequences.
1626         * modules/unistr/u8-mbtouc (configure.ac): Bump version number.
1627         * modules/unistr/u8-mbtouc-unsafe (configure.ac): Likewise.
1628         * modules/unistr/u8-mbsnlen (configure.ac): Likewise.
1629         Reported by Ben Pfaff and Paolo Bonzini.
1630
1631 2010-11-13  Bruno Haible  <bruno@clisp.org>
1632
1633         openat: Work around glibc bug with fchownat() and empty file names.
1634         * m4/openat.m4 (gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG): New macro.
1635         (gl_FUNC_FCHOWNAT): Invoke it.
1636         * lib/fchownat.c (rpl_fchownat): Handle the empty file name specially.
1637         * doc/posix-functions/fchownat.texi: Document the glibc bug.
1638         Reported by Gary V. Vaughan <gary@gnu.org>.
1639
1640 2010-11-13  Bruno Haible  <bruno@clisp.org>
1641
1642         openat: Ensure autoconf macro ordering.
1643         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Require
1644         gl_USE_SYSTEM_EXTENSIONS.
1645         (gl_FUNC_FCHOWNAT): Require gl_UNISTD_H_DEFAULTS.
1646
1647 2010-11-13  Bruno Haible  <bruno@clisp.org>
1648
1649         Update comments.
1650         * lib/unistr/u8-check.c: Update file name in comments.
1651         * lib/unistr/u8-mblen.c: Likewise.
1652         * lib/unistr/u8-prev.c: Likewise.
1653         * lib/unistr/u8-strmblen.c: Likewise.
1654         * lib/unistr/u8-strmbtouc.c: Likewise.
1655
1656 2010-11-13  Jim Meyering  <meyering@redhat.com>
1657
1658         tests: avoid test failure on Solaris 10 due to lack of PATH export
1659         * tests/test-update-copyright.sh: Don't forget to export PATH.
1660
1661         init.sh: ensure that IFS is defined, just in case...
1662         * tests/init.sh (setup_): Ensure that IFS is defined,
1663         so that saving and restoring it works as expected.  This
1664         appears to be useful at least for an old version of dash
1665         from a long time ago (RH 6).  See here for details:
1666         http://thread.gmane.org/gmane.comp.gnu.coreutils.general/436/focus=455
1667
1668         maint.mk: tighten "test a == b" check
1669         * top/maint.mk (sc_prohibit_test_double_equal): Restrict this
1670         test to files that contain something like #!/bin/sh.
1671         Without this, coreutils would get two false positives in
1672         the comments of C source files.
1673
1674 2010-11-12  Eric Blake  <eblake@redhat.com>
1675
1676         bootstrap: fix typo in previous attempt
1677         * build-aux/bootstrap (buildreq): Correct the grouping.
1678         Reported by Paul Eggert.
1679
1680         maintainer-makefile: prohibit test x == x
1681         * top/maint.mk (sc_prohibit_test_double_equal): New rule.
1682         Based on a report by Matthias Bolte.
1683
1684         bootstrap: allow FreeBSD gzip
1685         * build-aux/bootstrap (get_version): Parse FreeBSD gzip version,
1686         which has no '.' and goes to stderr.
1687         * build-aux/bootstrap.conf (buildreq): Improve the sample file.
1688         Reported by Matthias Bolte.
1689
1690         maintainer-makefile: check for i18n setup
1691         * top/maint.mk (sc_bindtextdomain): Check for evidence that _()
1692         will likely work.
1693
1694 2010-11-12  Bruno Haible  <bruno@clisp.org>
1695
1696         sleep, nanosleep: Work around Linux 2.6.9 nanosleep bug.
1697         * lib/sleep.c (rpl_sleep): Split in chunks no larger than 24 days.
1698         * lib/nanosleep.c (nanosleep): Likewise.
1699
1700 2010-11-11  Bruno Haible  <bruno@clisp.org>
1701
1702         fcntl-h: Fix for use of C++ on glibc systems.
1703         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
1704         also on glibc systems in C++ mode.
1705         Reported by Gary V. Vaughan <gary@gnu.org>.
1706
1707 2010-11-11  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
1708
1709         mknod: avoid false failure with dash
1710         * m4/mknod.m4 (gl_FUNC_MKNOD): Use portable shell syntax.
1711
1712 2010-11-11  Paul Eggert  <eggert@cs.ucla.edu>
1713
1714         unlink: Fix "is it should" typo in diagnostic.
1715         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix typo, as per Reuben Thomas in
1716         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00106.html>.
1717
1718 2010-11-11  Bruno Haible  <bruno@clisp.org>
1719
1720         Tests for module 'strerror_r-posix'.
1721         * modules/strerror_r-posix-tests: New file.
1722         * tests/test-strerror_r.c: New file.
1723         * tests/test-string-c++.cc: Check the signature of strerror_r.
1724
1725         New module 'strerror_r-posix'.
1726         * lib/string.in.h (strerror_r): New declaration.
1727         * lib/strerror_r.c: New file.
1728         * m4/strerror_r.m4: New file.
1729         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Check for the declaration
1730         of strerror_r.
1731         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRERROR_R,
1732         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
1733         * modules/strerror_r-posix: New file.
1734         * modules/string (Makefile.am): Substitute GNULIB_STRERROR_R,
1735         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
1736         * doc/posix-functions/strerror_r.texi: Mention the new module and the
1737         portability problems.
1738
1739 2010-11-11  Torsten Scheck  <Torsten.Scheck@Leica-Microsystems.com> (tiny change)
1740
1741         * build-aux/pmccabe2html: Fixed a off-by-one error, so last input
1742         line is also considered for output. Quoted function name in shell
1743         command, so temporary files for functions like MyClass::operator()
1744         are removed correctly without errors.
1745
1746 2010-11-09  Bruno Haible  <bruno@clisp.org>
1747
1748         * doc/posix-functions/strerror.texi: List more failing platforms.
1749
1750         * doc/posix-functions/strerror.texi: Add a comment.
1751
1752 2010-11-07  Paul Eggert  <eggert@cs.ucla.edu>
1753
1754         fdopendir: fix bug on MacOS X when low on file descriptors
1755
1756         * lib/fdopendir.c (REPLACE_FCHDIR): #define to 0 if not defined.
1757         (fdopendir_with_dup, fd_clone_opendir): Now have extra CWD arg.
1758         All callers changed.
1759         (fdopendir): Invoke save_cwd at the top level, not after using
1760         multiple dup() calls to use up file descriptors.  Then retry
1761         fdopendir_with_dup.  This avoids failure with EMFILE if FD is 1
1762         less than the maximum number of open file descriptors, because
1763         save_cwd fails with errno == EMFILE.  Problem reported by tsteven4
1764         on Mac OS X 10.6.4 for tar 1.24
1765         <http://lists.gnu.org/archive/html/bug-tar/2010-10/msg00084.html>
1766         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00000.html>
1767         and for tar 1.25
1768         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00038.html>.
1769
1770 2010-11-07  Bruno Haible  <bruno@clisp.org>
1771
1772         vasnprintf: Support I flag on glibc systems.
1773         * lib/printf-parse.h (FLAG_LOCALIZED): New macro.
1774         * lib/printf-parse.c (PRINTF_PARSE): Handle the 'I' flag.
1775         * lib/vasnprintf.c (VASNPRINTF): Pass the 'I' flag on to the system's
1776         snprintf function.
1777         * tests/test-vasnprintf-posix.c (test_function): Test the 'I' flag on
1778         glibc systems.
1779         * tests/test-vasnprintf-posix3.c: New file.
1780         * modules/vasnprintf-posix-tests (Files): Add it.
1781         (TESTS, check_PROGRAMS): Add test-vasnprintf-posix3.
1782
1783 2010-11-05  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
1784
1785         [html] Fix copy/paste bug: Use unique name for compiler warnings.
1786         * MODULES.html.sh: For compiler warnings, use name
1787         `ansic_ext_compwarn' since `ansic_ext_misc' is already taken.
1788
1789 2010-11-05  Eric Blake  <eblake@redhat.com>
1790
1791         ceil, floor: avoid spurious failure with icc
1792         * tests/test-ceilf2.c (ceilf_reference): Avoid icc's use of DAZ
1793         [denormals-as-zero] when optimizing without -mieee-fp option.
1794         * tests/test-floorf2.c (floorf_reference): Likewise.
1795         * tests/test-ceilf1.c (dummy): New function.
1796         (main): Use it to outsmart icc's optimization.
1797         * tests/test-floorf1.c (dummy, main): Likewise.
1798
1799         tests: require working signbit
1800         * modules/ceilf-tests (Depends-on): Add signbit.
1801         * modules/ceill-tests (Depends-on): Likewise.
1802         * modules/floorf-tests (Depends-on): Likewise.
1803         * modules/floorl-tests (Depends-on): Likewise.
1804         * modules/round-tests (Depends-on): Likewise.
1805         * modules/roundf-tests (Depends-on): Likewise.
1806         * modules/roundl-tests (Depends-on): Likewise.
1807         * modules/trunc-tests (Depends-on): Likewise.
1808         * modules/truncf-tests (Depends-on): Likewise.
1809         * modules/truncl-tests (Depends-on): Likewise.
1810
1811         strtod: work around icc bug
1812         * lib/strtod.c (minus_zero): Define to working value.
1813         (strtod): Use it to avoid icc bug.
1814
1815         copysign: enhance tests
1816         * modules/copysign-tests (Files): Add minus-zero.h.
1817         * tests/test-copysign.c (main): Also test zeros.
1818
1819 2010-11-04  Eric Blake  <eblake@redhat.com>
1820
1821         ceil, floor, round, trunc: enhance tests of -0
1822         * tests/test-ceilf1.c (main): Ensure correct sign of result.
1823         * tests/test-ceill.c (main): Likewise.
1824         * tests/test-floorf1.c (main): Likewise.
1825         * tests/test-floorl.c (main): Likewise.
1826         * tests/test-round1.c (main): Likewise.
1827         * tests/test-roundf1.c (main): Likewise.
1828         * tests/test-roundl.c (main): Likewise.
1829         * tests/test-trunc1.c (main): Likewise.
1830         * tests/test-truncf1.c (main): Likewise.
1831         * tests/test-truncl.c (main): Likewise.
1832
1833 2010-11-04  Eric Blake  <eblake@redhat.com>
1834
1835         frexp, tests: work around ICC bug with -zero
1836         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Compute -0.0 in a way that
1837         works with more compilers.
1838         * tests/minus-zero.h: New file.
1839         * modules/ceilf-tests (Files): Include it.
1840         * modules/ceill-tests (Files): Likewise.
1841         * modules/floorf-tests (Files): Likewise.
1842         * modules/floorl-tests (Files): Likewise.
1843         * modules/frexp-nolibm-tests (Files): Likewise.
1844         * modules/frexp-tests (Files): Likewise.
1845         * modules/frexpl-nolibm-tests (Files): Likewise.
1846         * modules/frexpl-tests (Files): Likewise.
1847         * modules/isnan-tests (Files): Likewise.
1848         * modules/isnand-nolibm-tests (Files): Likewise.
1849         * modules/isnand-tests (Files): Likewise.
1850         * modules/isnanf-nolibm-tests (Files): Likewise.
1851         * modules/isnanf-tests (Files): Likewise.
1852         * modules/isnanl-nolibm-tests (Files): Likewise.
1853         * modules/isnanl-tests (Files): Likewise.
1854         * modules/round-tests (Files): Likewise.
1855         * modules/roundf-tests (Files): Likewise.
1856         * modules/roundl-tests (Files): Likewise.
1857         * modules/ldexpl-tests (Files): Likewise.
1858         * modules/signbit-tests (Files): Likewise.
1859         * modules/snprintf-posix-tests (Files): Likewise.
1860         * modules/sprintf-posix-tests (Files): Likewise.
1861         * modules/strtod-tests (Files): Likewise.
1862         * modules/trunc-tests (Files): Likewise.
1863         * modules/truncf-tests (Files): Likewise.
1864         * modules/truncl-tests (Files): Likewise.
1865         * modules/vsnprintf-posix-tests (Files): Likewise.
1866         * modules/vsprintf-posix-tests (Files): Likewise.
1867         * modules/vasnprintf-posix-tests (Files): Likewise.
1868         * modules/vasprintf-posix-tests (Files): Likewise.
1869         * tests/test-ceilf1.c (main): Use it.
1870         * tests/test-ceill.c (main): Likewise.
1871         * tests/test-floorf1.c (main): Likewise.
1872         * tests/test-floorl.c (main): Likewise.
1873         * tests/test-frexp.c (main): Likewise.
1874         * tests/test-frexpl.c (main): Likewise.
1875         * tests/test-isnan.c (main): Likewise.
1876         * tests/test-isnand.h (main): Likewise.
1877         * tests/test-isnanf.h (main): Likewise.
1878         * tests/test-isnanl.h (main): Likewise.
1879         * tests/test-ldexpl.c (main): Likewise.
1880         * tests/test-round.c (main): Likewise.
1881         * tests/test-roundf.c (main): Likewise.
1882         * tests/test-roundl.c (main): Likewise.
1883         * tests/test-signbit.c (test_signbitf, test_signbitd)
1884         (test_signbitl): Likewise.
1885         * tests/test-snprintf-posix.h (test_function): Likewise.
1886         * tests/test-sprintf-posix.h (test_function): Likewise.
1887         * tests/test-strtod.c (main): Likewise.
1888         * tests/test-trunc1.c (main): Likewise.
1889         * tests/test-truncf1.c (main): Likewise.
1890         * tests/test-truncl.c (main): Likewise.
1891
1892         isnanl: work around icc bug
1893         * lib/isnan.c (FUNC): Compute run-time NaN under ICC as well.
1894
1895 2010-11-03  Eric Blake  <eblake@redhat.com>
1896
1897         tests: fix compiler warnings
1898         * tests/test-getopt.h (test_getopt): Fix condition.
1899         * tests/test-getopt_long.h (test_getopt_long): Likewise.
1900         * tests/test-pipe2.c (main): Likewise.
1901         * tests/test-quotearg-simple.c (main): Avoid icc warning.
1902
1903         utimens: fix broken m4 test
1904         * m4/utimens.m4 (gl_UTIMENS): Include correct headers.
1905
1906 2010-10-28  Bruno Haible  <bruno@clisp.org>
1907
1908         posix_spawn*, getdtablesize: Relax license.
1909         * modules/posix_spawn (License): Change to LGPLv2+.
1910         * modules/posix_spawnp (License): Likewise.
1911         * modules/posix_spawn-internal (License): Likewise.
1912         * modules/posix_spawnattr_init (License): Likewise.
1913         * modules/posix_spawnattr_getflags (License): Likewise.
1914         * modules/posix_spawnattr_setflags (License): Likewise.
1915         * modules/posix_spawnattr_getpgroup (License): Likewise.
1916         * modules/posix_spawnattr_setpgroup (License): Likewise.
1917         * modules/posix_spawnattr_getschedparam (License): Likewise.
1918         * modules/posix_spawnattr_setschedparam (License): Likewise.
1919         * modules/posix_spawnattr_getschedpolicy (License): Likewise.
1920         * modules/posix_spawnattr_setschedpolicy (License): Likewise.
1921         * modules/posix_spawnattr_getsigdefault (License): Likewise.
1922         * modules/posix_spawnattr_setsigdefault (License): Likewise.
1923         * modules/posix_spawnattr_getsigmask (License): Likewise.
1924         * modules/posix_spawnattr_setsigmask (License): Likewise.
1925         * modules/posix_spawnattr_destroy (License): Likewise.
1926         * modules/posix_spawn_file_actions_init (License): Likewise.
1927         * modules/posix_spawn_file_actions_addclose (License): Likewise.
1928         * modules/posix_spawn_file_actions_adddup2 (License): Likewise.
1929         * modules/posix_spawn_file_actions_addopen (License): Likewise.
1930         * modules/posix_spawn_file_actions_destroy (License): Likewise.
1931         * modules/getdtablesize (License): Likewise.
1932         Requested by Adam Stokes <ajs@redhat.com> for use in netcf.
1933
1934 2010-10-26  Bruno Haible  <bruno@clisp.org>
1935
1936         unistd: Refine workaround from 2009-12-23 against Cygwin bug.
1937         * lib/unistd.in.h: Don't include <stdio.h> and <fcntl.h>, except on
1938         Cygwin and mingw.
1939         Suggested by Eric Blake.
1940
1941 2010-10-26  Bruno Haible  <bruno@clisp.org>
1942
1943         stdio: Work around compilation error due to renameat() on Solaris 10.
1944         * lib/stdio.in.h: Include <unistd.h> on Solaris.
1945         * lib/renameat.c: Don't include <unistd.h> here.
1946         * doc/posix-functions/renameat.texi: Mention the Solaris problem.
1947         Reported by Paul Eggert and Eric Blake.
1948
1949 2010-10-26  Paul Eggert  <eggert@cs.ucla.edu>
1950
1951         renameat: port to Solaris 10, which declares renameat in unistd.h
1952
1953         * lib/renameat.c: Include unistd.h before stdio.h, because
1954         Solaris 10 declares renameat in unistd.h.  Problem encountered
1955         when building GNU tar 1.24 on Solaris 10.
1956
1957 2010-10-26  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
1958
1959         fdopendir: fix C89 compilation
1960         * lib/fdopendir.c (fd_clone_opendir): Move declaration for older
1961         compilers.
1962
1963 2010-10-23  Paul Eggert  <eggert@cs.ucla.edu>
1964
1965         inttostr: simplify by removing unnecessary redundancy
1966         * lib/anytostr.c: Don't include verify.h.
1967         (anytostr): Don't verify that TYPE_SIGNED (inttype) equals
1968         inttype_is_signed.  Instead, disable the bogus GCC warnings, so that
1969         there's no need for inttype_is_signed and for calling TYPE_SIGNED.
1970         * lib/imaxtostr.c (inttype_is_signed): Remove; no longer needed.
1971         * lib/inttostr.c, lib/offtostr.c, lib/uinttostr.c, lib/umaxtostr.c:
1972         Likewise.
1973         * modules/inttostr (Depends-on): Remove 'verify'.
1974
1975 2010-10-23  Bruno Haible  <bruno@clisp.org>
1976
1977         nl_langinfo: Mention problem with CRNCYSTR on NetBSD 5.0.
1978         * doc/posix-functions/nl_langinfo.texi: Mention problem with CRNCYSTR.
1979         Reported by Eric Blake.
1980
1981 2010-10-23  Bruno Haible  <bruno@clisp.org>
1982
1983         Tests: Fix LOCALE_JA on MirBSD 10.
1984         * m4/locale-ja.m4 (gt_LOCALE_JA): Reject a locale identifier that leads
1985         to an UTF-8 locale.
1986         * m4/locale-fr.m4 (gt_LOCALE_FR): Likewise.
1987         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
1988         Reported by Eric Blake.
1989
1990 2010-10-21  Bruno Haible  <bruno@clisp.org>
1991
1992         nl_langinfo test: Avoid test failure on NetBSD 5.
1993         * tests/test-nl_langinfo.c (main): Relax test of nl_langinfo(CRNCYSTR).
1994         Reported by Eric Blake.
1995
1996 2010-10-21  Eric Blake  <eblake@redhat.com>
1997
1998         c-stack: work around libsigsegv 2.8 bug
1999         * lib/c-stack.c (SIGSTKSZ): Increase size to avoid alternate stack
2000         overflow on at least PowerPC64.
2001
2002 2010-10-17  Bruno Haible  <bruno@clisp.org>
2003
2004         userspec: Drop redundant file.
2005         * modules/userspec (Files): Remove lib/inttostr.h.
2006
2007 2010-10-17  Bruno Haible  <bruno@clisp.org>
2008
2009         nl_langinfo tests: Silence some warnings.
2010         * tests/test-nl_langinfo.c: Silence -Wtype-limits warnings.
2011         Reported by Jim Meyering.
2012
2013 2010-10-17  Bruno Haible  <bruno@clisp.org>
2014
2015         Make use of GCC's attribute __alloc_size__.
2016         * lib/xalloc.h (ATTRIBUTE_ALLOC_SIZE): New macro.
2017         (xmalloc, xzalloc, xcalloc, xrealloc, xmemdup, xnmalloc, xnrealloc,
2018         xcharalloc): Declare with ATTRIBUTE_ALLOC_SIZE.
2019         * lib/eealloc.h (eemalloc, eerealloc): Declare with attribute
2020         __alloc_size__.
2021         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
2022         Suggested by Jim Meyering.
2023
2024 2010-10-16  Joel E. Denny  <joeldenny@joeldenny.org>
2025
2026         bootstrap: anchor .gitignore entries.
2027         * build-aux/bootstrap (insert_sorted_if_absent): Replace all uses
2028         with...
2029         (insert_vc_ignore): ... this new function, which prepends `/' to
2030         all .gitignore entries before passing them to
2031         insert_sorted_if_absent.
2032
2033 2010-10-16  Bruno Haible  <bruno@clisp.org>
2034
2035         nextafter: Fix configure check.
2036         * modules/nextafter (configure.ac): Correct expected prototype.
2037
2038 2010-10-16  Bruno Haible  <bruno@clisp.org>
2039
2040         termios: Update documentation.
2041         * doc/posix-headers/termios.texi: Mention remaining mingw problems.
2042
2043 2010-10-16  Bruno Haible  <bruno@clisp.org>
2044
2045         tests: Make them compile with TinyCC.
2046         * tests/test-strstr.c (main): Remove parentheses around array
2047         initializer.
2048
2049 2010-10-15  Eric Blake  <eblake@redhat.com>
2050
2051         ignore-value: make header idempotent
2052         * lib/ignore-value.h: Add double-inclusion guards.
2053         Reported by Stefan Berger.
2054
2055 2010-10-15  Jim Meyering  <meyering@redhat.com>
2056
2057         GNUmakefile: handle "stable" target, not "major"
2058         * top/GNUmakefile (_is-dist-target): s/major/stable/ to match the
2059         lists in maint.mk and announce-gen.  Without this, "make stable"
2060         would fail to ensure that $(VERSION) is up to date.
2061
2062 2010-10-15  Ludovic Courtès  <ludo@gnu.org>
2063
2064         * lib/isnan.c (FUNC): Treat TinyCC (`__TINYC__') like `__SUNPRO_C'
2065         & co.
2066
2067 2010-10-14  Bruno Haible  <bruno@clisp.org>
2068
2069         vasnprintf: Don't set errno to 0.
2070         * lib/vasnprintf.c (VASNPRINTF): Save and restore errno around the
2071         block that sets it to 0.
2072         Reported by Gianluigi Tiesi <sherpya@netfarm.it>.
2073
2074 2010-10-14  Bruno Haible  <bruno@clisp.org>
2075
2076         socketlib: Fix.
2077         * modules/socketlib (Files): Add m4/sys_socket_h.m4. Needed for
2078         gl_PREREQ_SYS_H_WINSOCK2.
2079         Reported by Ian Beckwith <ianb@erislabs.net>.
2080
2081 2010-10-13  Jim Meyering  <meyering@redhat.com>
2082
2083         test-select-stdin.c: avoid warn_unused_result warnings
2084         * tests/test-select-stdin.c: Include "macros.h".
2085         ASSERT that read and fflush succeed.
2086
2087 2010-10-13  Jim Meyering  <meyering@redhat.com>
2088
2089         git-version-gen: do require git-VC'd files in cwd
2090         * build-aux/git-version-gen: Reject a git version string
2091         if there are no commits associated with the current directory.
2092         This avoids an unlikely false-positive (unrelated dir whose parent
2093         repository also contains a tag matching v*), as pointed out
2094         by Giuseppe Scrivano in
2095         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=23664
2096
2097 2010-10-13  Paul Eggert  <eggert@cs.ucla.edu>
2098
2099         argv-iter: omit nonconforming declaration
2100         * lib/argv-iter.h (enum argv_iter_err): Omit the useless
2101         enum arg_iter_err declaration, which doesn't conform to C99.
2102         Solaris 10 cc warns about this.
2103
2104 2010-10-13  Eric Blake  <eblake@redhat.com>
2105
2106         termios: fix compilation on mingw
2107         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Set default.
2108         (gl_TERMIOS_H): Adjust it on mingw.
2109         * modules/termios (Makefile.am): Substitute new key.
2110         * lib/termios.in.h (includes): Make include_next conditional.
2111         * doc/posix-headers/termios.texi (termios.h): Update
2112         documentation.
2113         Reported by Daniel P. Berrange.
2114
2115 2010-10-13  Jim Meyering  <meyering@redhat.com>
2116
2117         git-version-gen: don't require that .git/ be in the current dir
2118         * build-aux/git-version-gen: Adjust this script so that it works
2119         when run from any working directory beneath the top-level .git/-
2120         containing directory.  Inspired by a patch from Giuseppe Scrivano,
2121         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=21847
2122
2123         test-select: avoid warn_unused_result warnings
2124         * tests/test-select.c: Include "macros.h".
2125         ASSERT that each call to read, write, and pipe succeeds.
2126         While not technically required, also check each "close".
2127         * modules/select-tests (Files): Add tests/macros.h.
2128
2129         test-symlinkat: remove declaration of unused local
2130         * tests/test-symlinkat.c (main): Remove unused local, "buf".
2131
2132         test-inttostr: avoid shadowing warnings
2133         * tests/test-inttostr.c (main): Rename local, "buf" to "b",
2134         and use malloc rather than the stack for the same reason as
2135         mentioned in the comment justifying the other allocation.
2136
2137 2010-10-11  Bruno Haible  <bruno@clisp.org>
2138
2139         stdlib: Allow multiple gnulib generated replacements to coexist.
2140         * lib/stdlib.in.h (struct random_data): Avoid identical redefinition.
2141         Reported by Sam Steingold <sds@gnu.org>.
2142
2143 2010-10-11  Jim Meyering  <meyering@redhat.com>
2144
2145         fix a documentation typo
2146         * doc/posix-functions/futimens.texi (futimens): Fix typo: s/itme/item/
2147
2148 2010-10-11  Eric Blake  <eblake@redhat.com>
2149
2150         futimens: work around Solaris 11 bug
2151         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect the bug.
2152         * tests/test-futimens.h (test_futimens): Enhance, rather than
2153         weaken test.
2154         * doc/posix-functions/futimens.texi (futimens): Document the bug.
2155
2156 2010-10-11  Paul Eggert  <eggert@cs.ucla.edu>
2157
2158         Indentation.
2159         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Indent
2160         higher-level operators more to the left.
2161
2162 2010-10-11  Jim Meyering  <meyering@redhat.com>
2163
2164         test-futimens: avoid unwarranted test failure on Solaris 5.11
2165         * tests/test-futimens.h (test_futimens): When provoking EBADF, use an
2166         invalid file descriptor, so we don't provoke EFAULT from Solaris 5.11,
2167         because it tries to dereference the NULL name argument.
2168
2169 2010-10-11  Bruno Haible  <bruno@clisp.org>
2170
2171         Indentation.
2172         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Improve
2173         indentation.
2174
2175 2010-10-11  Jim Meyering  <meyering@redhat.com>
2176
2177         spawn.in.h: make indentation consistent with parentheses
2178         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap):
2179         Make indentation consistent with parentheses.
2180
2181 2010-10-11  Gary V. Vaughan  <gary@gnu.org>
2182
2183         Fix mismatched parens in previous commit
2184         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Fix mismatched
2185         parens.
2186
2187 2010-10-10  Paul Eggert  <eggert@cs.ucla.edu>
2188
2189         rewrite int foo[2*X-1] to verify(X) or to int foo[X?1:-1]
2190
2191         * lib/float+.h (verify_sizeof_flt, verify_sizeof_dbl):
2192         (verify_sizeof_ldbl): Rewrite 2*X-1 to X?1:-1.
2193         * lib/malloca.c: Include "verify.h".
2194         (verify1): Remove, replacing with a verify call.
2195         * lib/relocwrapper.c (verify1): Likewise.
2196         * lib/vasnprintf.c (mp_limb_verify, mp_twolimb_verify, TCHAR_T_verify):
2197         Likewise.
2198         * modules/malloca (Depends-on): Add 'verify'.
2199         * modules/relocatable-prog-wrapper (Depends-on): Add 'verify'.
2200         * modules/vasnprintf (Depends-on): Add 'verify'.
2201         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
2202         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
2203         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
2204         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
2205         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
2206         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
2207         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
2208
2209         prefer (X ? 1 : -1) when converting from boolean (1,0) to int (1,-1)
2210
2211         Formerly the style was sometimes 2*X - 1, because the C standard
2212         was wrongly thought to disallow ?: in integral constant expressions.
2213         * lib/inet_ntop.c (verify_int_size): Rewrite 2*X-7 (!) to 4<=X?1:-1.
2214         * lib/signal.in.h (verify_NSIG_constraint): Rewrite 2*X-1 to X?1:-1.
2215         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
2216         * lib/stdint.in.h (_verify_intmax_size): Likewise.
2217         * lib/time.in.h (struct __time_t_must_be_integral): Rewrite
2218         2 * ((time_t) 1 / 2 == 0) - 1 to (time_t) 1; this suffices to
2219         verify that time_t cannot be floating.
2220
2221 2010-10-08  Eric Blake  <eblake@redhat.com>
2222
2223         time: enforce recent POSIX ruling that time_t is integral
2224         * lib/time.in.h (__time_t_must_be_integral): Detect any
2225         problematic systems, allowing the rest of gnulib to assume POSIX.
2226
2227 2010-10-08  Jim Meyering  <meyering@redhat.com>
2228
2229         fdopendir: fix a bug on systems lacking openat and /proc support
2230         OpenBSD 4.7 is one such system.  The most noticeable effect was
2231         failure of any application making nontrivial use of fts: rm, du,
2232         chown, chmod etc.  E.g., "mkdir -p a/b; ./rm -rf a" would fail with
2233           ./rm: traversal failed: `a': Bad file descriptor
2234         Debugging that, you see that even though FD 6 was closed just
2235         prior to the opendir call in fd_clone_opendir, its resulting
2236         dir->dd_fd was 8, rather than the expected value of 6:
2237
2238         Breakpoint 3, fdopendir_with_dup (fd=6, older_dupfd=-1) at fdopendir.c:93
2239         93                close (fd);
2240         (gdb) n
2241         94                dir = fd_clone_opendir (dupfd);
2242         (gdb) n
2243         95                saved_errno = errno;
2244         (gdb) p dir->dd_fd
2245         $11 = 8
2246
2247         Notice how it closes FD 6, then gets a DIR* pointer using FD 8.
2248         The problem is that on OpenBSD, fd_clone_opendir has to resort
2249         to using the old-style save/restore CWD mechanism, due to its
2250         lack of openat/proc support, and *that* would steal the FD (6)
2251         that opendir was supposed to use.
2252
2253         The fix is to squirrel away the desired FD so that save_cwd uses a
2254         different one, and then free the dest FD right before calling opendir.
2255         That guarantees opendir will use the required file descriptor.
2256
2257         * lib/fdopendir.c (fd_clone_opendir): Handle the above.
2258
2259 2010-10-08  Bruno Haible  <bruno@clisp.org>
2260
2261         sys_select: Avoid warning due to undeclared memset() on OpenBSD 4.5.
2262         * lib/sys_select.in.h: Include <string.h> also on OpenBSD.
2263
2264 2010-10-08  Bruno Haible  <bruno@clisp.org>
2265
2266         nanosleep: Make replacement POSIX compliant.
2267         * lib/nanosleep.c (nanosleep): Return -1/EINVAL if the delay's tv_nsec
2268         is out of range.
2269         Reported by Jim Meyering.
2270
2271 2010-10-08  Paul Eggert  <eggert@cs.ucla.edu>
2272
2273         bootstrap: add hook for altering gnulib.mk, for Bison
2274         * build-aux/bootstrap (gnulib_mk_hook): New function, so that
2275         the Bison bootstrapping process can rewrite file names and variables
2276         in this file before later parts of 'bootstrap' use the file.
2277         Bison wants to include lib/gnulib.mk from the top-level makefile,
2278         so it needs the file names in this file to be relative to the top
2279         level, not relative to lib; plus it needs variable names to be
2280         rewritten.
2281         (slurp): Use the new function.
2282
2283         bootstrap: reformat for readability
2284         * build-aux/bootstrap: Rewrite to avoid lines longer than 80 columns.
2285
2286 2010-10-08  Eric Blake  <eblake@redhat.com>
2287
2288         docs: update cygwin progress
2289         * doc/posix-functions/cacos.texi (cacos): Added after cygwin
2290         1.7.7.
2291         * doc/posix-functions/cacosf.texi (cacosf): Likewise.
2292         * doc/posix-functions/cacosh.texi (cacosh): Likewise.
2293         * doc/posix-functions/cacoshf.texi (cacoshf): Likewise.
2294         * doc/posix-functions/carg.texi (carg): Likewise.
2295         * doc/posix-functions/cargf.texi (cargf): Likewise.
2296         * doc/posix-functions/casin.texi (casin): Likewise.
2297         * doc/posix-functions/casinf.texi (casinf): Likewise.
2298         * doc/posix-functions/casinh.texi (casinh): Likewise.
2299         * doc/posix-functions/casinhf.texi (casinhf): Likewise.
2300         * doc/posix-functions/catan.texi (catan): Likewise.
2301         * doc/posix-functions/catanf.texi (catanf): Likewise.
2302         * doc/posix-functions/catanh.texi (catanh): Likewise.
2303         * doc/posix-functions/catanhf.texi (catanhf): Likewise.
2304         * doc/posix-functions/ccos.texi (ccos): Likewise.
2305         * doc/posix-functions/ccosf.texi (ccosf): Likewise.
2306         * doc/posix-functions/ccosh.texi (ccosh): Likewise.
2307         * doc/posix-functions/ccoshf.texi (ccoshf): Likewise.
2308         * doc/posix-functions/cexp.texi (cexp): Likewise.
2309         * doc/posix-functions/cexpf.texi (cexpf): Likewise.
2310         * doc/posix-functions/cimag.texi (cimag): Likewise.
2311         * doc/posix-functions/cimagf.texi (cimagf): Likewise.
2312         * doc/posix-functions/clog.texi (clog): Likewise.
2313         * doc/posix-functions/clogf.texi (clogf): Likewise.
2314         * doc/posix-functions/conj.texi (conj): Likewise.
2315         * doc/posix-functions/conjf.texi (conjf): Likewise.
2316         * doc/posix-functions/cpow.texi (cpow): Likewise.
2317         * doc/posix-functions/cpowf.texi (cpowf): Likewise.
2318         * doc/posix-functions/cproj.texi (cproj): Likewise.
2319         * doc/posix-functions/cprojf.texi (cprojf): Likewise.
2320         * doc/posix-functions/creal.texi (creal): Likewise.
2321         * doc/posix-functions/crealf.texi (crealf): Likewise.
2322         * doc/posix-functions/csin.texi (csin): Likewise.
2323         * doc/posix-functions/csinf.texi (csinf): Likewise.
2324         * doc/posix-functions/csinh.texi (csinh): Likewise.
2325         * doc/posix-functions/csinhf.texi (csinhf): Likewise.
2326         * doc/posix-functions/csqrt.texi (csqrt): Likewise.
2327         * doc/posix-functions/csqrtf.texi (csqrtf): Likewise.
2328         * doc/posix-functions/ctan.texi (ctan): Likewise.
2329         * doc/posix-functions/ctanf.texi (ctanf): Likewise.
2330         * doc/posix-functions/ctanh.texi (ctanh): Likewise.
2331         * doc/posix-functions/ctanhf.texi (ctanhf): Likewise.
2332         * doc/posix-headers/complex.texi (complex.h): Likewise.
2333
2334 2010-10-07  Jim Meyering  <meyering@redhat.com>
2335
2336         parse-datetime: avoid compilation failure on OpenBSD 4.7
2337         * lib/parse-datetime.y (_STDLIB_H) [_STDLIB_H_]: Define.
2338         This works around a compilation failure on OpenBSD 4.7:
2339         http://thread.gmane.org/gmane.comp.parsers.bison.bugs/3418
2340
2341 2010-10-07  Eric Blake  <eblake@redhat.com>
2342
2343         docs: update cygwin progress
2344         * doc/glibc-functions/mkostemp.texi (mkostemp): Added in cygwin
2345         1.7.6.
2346         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
2347         * doc/posix-headers/fenv.texi (fenv.h): Added after cygwin 1.7.7.
2348         * doc/posix-functions/feclearexcept.texi (feclearexcept): Likewise.
2349         * doc/posix-functions/fegetenv.texi (fegetenv): Likewise.
2350         * doc/posix-functions/fegetexceptflag.texi (fegetexceptflag):
2351         Likewise.
2352         * doc/posix-functions/fegetround.texi (fegetround): Likewise.
2353         * doc/posix-functions/feholdexcept.texi (feholdexcept): Likewise.
2354         * doc/posix-functions/feraiseexcept.texi (feraiseexcept):
2355         Likewise.
2356         * doc/posix-functions/fesetenv.texi (fesetenv): Likewise.
2357         * doc/posix-functions/fesetexceptflag.texi (fesetexceptflag):
2358         Likewise.
2359         * doc/posix-functions/fesetround.texi (fesetround): Likewise.
2360         * doc/posix-functions/fetestexcept.texi (fetestexcept): Likewise.
2361         * doc/posix-functions/feupdateenv.texi (feupdateenv): Likewise.
2362         * doc/glibc-functions/feenableexcept.texi (feenableexcept):
2363         Likewise.
2364         * doc/glibc-functions/fedisableexcept.texi (fedisableexcept):
2365         Likewise.
2366         * doc/glibc-functions/fegetexcept.texi (fegetexcept): Likewise.
2367
2368         docs: update parse-datetime history
2369         * doc/parse-datetime.texi (Authors of parse_datetime): Better
2370         documentation of this function's history and alternatives.
2371
2372         cygwin: use more robust version check
2373         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Don't
2374         exclude an eventual cygwin 1.9.1.
2375         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
2376         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
2377         (gl_FUNC_STRCASESTR): Likewise.
2378         Reported by Bruno Haible.
2379
2380 2010-10-06  Bruno Haible  <bruno@clisp.org>
2381
2382         string, sys_select: Avoid #including large headers unless necessary.
2383         * lib/string.in.h: Don't include <unistd.h> except on NetBSD.
2384         * lib/sys_select.in.h: Don't include <string.h> except on Solaris,
2385         OSF/1, BeOS, Haiku.
2386         Reported by Jim Meyering.
2387
2388 2010-10-05  Eric Blake  <eblake@redhat.com>
2389
2390         memmem, strstr, strcasestr: fix bug with long periodic needle
2391         * lib/str-two-way.h (two_way_long_needle): Avoid bug with long
2392         periodic needle having false positive.
2393         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Detect bug in glibc 2.12
2394         and cygwin 1.7.7.
2395         (gl_FUNC_MEMMEM): Be more pessimistic when cross-compiling.
2396         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
2397         (gl_FUNC_STRCASESTR): Likewise.
2398         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
2399         * tests/test-memmem.c (main): Expose the bug.
2400         * tests/test-strcasestr.c (main): Likewise.
2401         * tests/test-strstr.c (main): Likewise.
2402         * tests/test-c-strcasestr.c (main): Likewise.
2403         * doc/glibc-functions/memmem.texi (memmem): Document the bug.
2404         * doc/posix-functions/strstr.texi (strstr): Likewise.
2405         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
2406         Reported via http://sourceware.org/bugzilla/show_bug.cgi?id=12092
2407
2408 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
2409
2410         parse-datetime: do some more renaming
2411         * doc/parse-datetime.texi (Authors of parse_datetime): Call it
2412         parse_datetime, not get_date.  Mention the renaming.
2413         * lib/parse-datetime.y:  Call it parse_datetime, not getdate,
2414         in comments.
2415         * m4/bison.m4: Likewise.
2416
2417 2010-10-05  Eric Blake  <eblake@redhat.com>
2418
2419         parse-datetime: better name than get_date
2420         * NEWS: Reword the deprecation notice.
2421         * modules/get_date: Rename to modules/parse-datetime.
2422         * modules/get_date-tests: Rename to modules/parse-datetime-tests.
2423         * m4/get_date.m4: Rename to m4/parse-datetime.m4.
2424         * lib/get_date.y: Rename to lib/parse-datetime.y.
2425         * tests/test-get_date.c: Rename to tests/test-parse-datetime.c.
2426         * doc/get_date.texi: Rename to doc/parse-datetime.texi.
2427         * doc/getdate.texi: Provide fallback wrapper.
2428         * lib/getdate.h: Move guts, and wrap...
2429         * lib/parse-datetime.h: ...new file.
2430         * lib/parse-datetime.y (get_date): Rename...
2431         (parse_datetime): ...to this.
2432         * m4/parse-datetime.m4 (gl_GET_DATE): Rename...
2433         (gl_PARSE_DATETIME): ...to this.
2434         * doc/posix-functions/getdate.texi (get_date): Provide fallback
2435         documentation.
2436         * modules/getdate (Files): Provide fallback docs and header.
2437         (Notice, Depends-on): Update references.
2438         * tests/test-parse-datetime.c: Likewise.
2439         * DEPENDENCIES: Likewise.
2440         * MODULES.html.sh (Date and time <time.h>): Likewise.
2441         * doc/parse-datetime.texi (Date input formats)
2442         (Authors of parse_datetime): Likewise.
2443         * modules/parse-datetime (Files, configure.ac, Makefile.am)
2444         (Include): Likewise.
2445         * modules/parse-datetime-tests (Files, Makefile.am): Likewise.
2446         * gnulib-tool: Likewise.
2447         * m4/bison.m4 (gl_BISON): Likewise.
2448         Suggested by Bruno Haible.
2449
2450 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
2451
2452         more ports to Solaris tr, which needs [] around ranges
2453         * gnulib-tool: Solaris tr needs [] around ranges.
2454         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
2455         * tests/test-pipe-filter-gi1.c (main): Likewise.
2456         * tests/test-pipe-filter-ii1.c (main): Likewise.
2457
2458 2010-10-05  Eric Blake  <eblake@redhat.com>
2459
2460         bootstrap: fix Solaris regression
2461         * build-aux/bootstrap (check_versions): Solaris tr still needs []
2462         around ranges.
2463         Reported by Pádraig Brady.
2464
2465         bootstrap: work with pkg-config
2466         * build-aux/bootstrap (check_versions): Also transliterate - in
2467         prerequisite name.
2468         (print_versions): Be robust to any \ in $buildreq.  Avoid listing
2469         prerequisites that were already found, to avoid confusion.
2470         Reported by Justin Clift.
2471
2472         faccessat: remove unused wrappers
2473         * lib/openat.h (accessat, euidaccesat): Delete, since the mere
2474         presence of these wrappers dragged in -lgen on Solaris.
2475         Reported by Clemens Brogi; fix suggested by Paul Eggert.
2476
2477 2010-10-05  Jim Meyering  <meyering@redhat.com>
2478
2479         tests: require @PRAGMA_COLUMNS@ with each @PRAGMA_SYSTEM_HEADER@
2480         * Makefile (sc_pragma_columns): New syntax-check rule.
2481
2482 2010-10-04  Bruno Haible  <bruno@clisp.org>
2483
2484         gnulib-tool: Synthesize appropriate _LDFLAGS for a libtool library.
2485         * gnulib-tool (func_emit_lib_Makefile_am): When preparing for a libtool
2486         library, put '-no-undefined' and the link dependencies into _LDFLAGS.
2487         Reported by Bruce Korb and Eric Blake.
2488
2489 2010-10-04  Bruno Haible  <bruno@clisp.org>
2490
2491         threadlib: Make option --with-libpth-prefix work.
2492         * m4/threadlib.m4 (gl_THREADLIB_BODY): When testing whether pth works,
2493         use $LIBPTH, not just -lpth.
2494
2495 2010-10-04  Bruno Haible  <bruno@clisp.org>
2496
2497         Avoid line length limitation from HP NonStop system header files.
2498         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define also PRAGMA_COLUMNS.
2499         * lib/arpa_inet.in.h: Use PRAGMA_COLUMNS.
2500         * lib/ctype.in.h: Likewise.
2501         * lib/dirent.in.h: Likewise.
2502         * lib/errno.in.h: Likewise.
2503         * lib/fcntl.in.h: Likewise.
2504         * lib/float.in.h: Likewise.
2505         * lib/getopt.in.h: Likewise.
2506         * lib/iconv.in.h: Likewise.
2507         * lib/inttypes.in.h: Likewise.
2508         * lib/langinfo.in.h: Likewise.
2509         * lib/locale.in.h: Likewise.
2510         * lib/math.in.h: Likewise.
2511         * lib/netdb.in.h: Likewise.
2512         * lib/netinet_in.in.h: Likewise.
2513         * lib/poll.in.h: Likewise.
2514         * lib/pthread.in.h: Likewise.
2515         * lib/pty.in.h: Likewise.
2516         * lib/sched.in.h: Likewise.
2517         * lib/se-selinux.in.h: Likewise.
2518         * lib/search.in.h: Likewise.
2519         * lib/signal.in.h: Likewise.
2520         * lib/spawn.in.h: Likewise.
2521         * lib/stdarg.in.h: Likewise.
2522         * lib/stddef.in.h: Likewise.
2523         * lib/stdint.in.h: Likewise.
2524         * lib/stdio.in.h: Likewise.
2525         * lib/stdlib.in.h: Likewise.
2526         * lib/string.in.h: Likewise.
2527         * lib/strings.in.h: Likewise.
2528         * lib/sys_file.in.h: Likewise.
2529         * lib/sys_ioctl.in.h: Likewise.
2530         * lib/sys_select.in.h: Likewise.
2531         * lib/sys_socket.in.h: Likewise.
2532         * lib/sys_stat.in.h: Likewise.
2533         * lib/sys_time.in.h: Likewise.
2534         * lib/sys_times.in.h: Likewise.
2535         * lib/sys_utsname.in.h: Likewise.
2536         * lib/sys_wait.in.h: Likewise.
2537         * lib/sysexits.in.h: Likewise.
2538         * lib/termios.in.h: Likewise.
2539         * lib/time.in.h: Likewise.
2540         * lib/unistd.in.h: Likewise.
2541         * lib/wchar.in.h: Likewise.
2542         * lib/wctype.in.h: Likewise.
2543         * modules/arpa_inet (Makefile.am): Substitute PRAGMA_COLUMNS.
2544         * modules/ctype (Makefile.am): Likewise.
2545         * modules/dirent (Makefile.am): Likewise.
2546         * modules/errno (Makefile.am): Likewise.
2547         * modules/fcntl-h (Makefile.am): Likewise.
2548         * modules/float (Makefile.am): Likewise.
2549         * modules/getopt-posix (Makefile.am): Likewise.
2550         * modules/iconv-h (Makefile.am): Likewise.
2551         * modules/inttypes (Makefile.am): Likewise.
2552         * modules/langinfo (Makefile.am): Likewise.
2553         * modules/locale (Makefile.am): Likewise.
2554         * modules/math (Makefile.am): Likewise.
2555         * modules/netdb (Makefile.am): Likewise.
2556         * modules/netinet_in (Makefile.am): Likewise.
2557         * modules/poll-h (Makefile.am): Likewise.
2558         * modules/pthread (Makefile.am): Likewise.
2559         * modules/pty (Makefile.am): Likewise.
2560         * modules/sched (Makefile.am): Likewise.
2561         * modules/search (Makefile.am): Likewise.
2562         * modules/selinux-h (Makefile.am): Likewise.
2563         * modules/signal (Makefile.am): Likewise.
2564         * modules/spawn (Makefile.am): Likewise.
2565         * modules/stdarg (Makefile.am): Likewise.
2566         * modules/stddef (Makefile.am): Likewise.
2567         * modules/stdint (Makefile.am): Likewise.
2568         * modules/stdio (Makefile.am): Likewise.
2569         * modules/stdlib (Makefile.am): Likewise.
2570         * modules/string (Makefile.am): Likewise.
2571         * modules/strings (Makefile.am): Likewise.
2572         * modules/sys_file (Makefile.am): Likewise.
2573         * modules/sys_ioctl (Makefile.am): Likewise.
2574         * modules/sys_select (Makefile.am): Likewise.
2575         * modules/sys_socket (Makefile.am): Likewise.
2576         * modules/sys_stat (Makefile.am): Likewise.
2577         * modules/sys_time (Makefile.am): Likewise.
2578         * modules/sys_times (Makefile.am): Likewise.
2579         * modules/sys_utsname (Makefile.am): Likewise.
2580         * modules/sys_wait (Makefile.am): Likewise.
2581         * modules/sysexits (Makefile.am): Likewise.
2582         * modules/termios (Makefile.am): Likewise.
2583         * modules/time (Makefile.am): Likewise.
2584         * modules/unistd (Makefile.am): Likewise.
2585         * modules/wchar (Makefile.am): Likewise.
2586         * modules/wctype (Makefile.am): Likewise.
2587
2588 2010-10-04  Bruno Haible  <bruno@clisp.org>
2589
2590         read-file tests: Avoid a test failure on NonStop Kernel.
2591         * tests/test-read-file.c (main): Don't assume that /etc/resolv.conf is
2592         a regular file.
2593         Reported by Joachim Schmitz <schmitz@hp.com>.
2594
2595 2010-10-03  Bruno Haible  <bruno@clisp.org>
2596
2597         gnulib-tool: Fixes for --create-testdir with --libtool.
2598         * gnulib-tool (func_get_automake_snippet): Don't augment
2599         EXTRA_lib_SOURCES for the pt_chown module, since pt_chown.o goes into
2600         an executable.
2601         (func_create_testdir): Handle module 'alloca' like func_import.
2602         Reported by Bruce Korb <bruce.korb@gmail.com>.
2603
2604 2010-10-03  Paul Eggert  <eggert@cs.ucla.edu>
2605
2606         Avoid some lines longer than 80 characters.
2607         * lib/stdint.in.h: Break long comment lines.
2608         * lib/math.in.h: Likewise.
2609         (_GL_NUM_UINT_WORDS): New macro, for readability.
2610         (gl_signbitf, gl_signbitd, gl_signbitl): Use it.
2611         * lib/stdio.in.h: Break lines in _GL_WARN_ON_USE calls.
2612         * lib/stdlib.in.h: Likewise.
2613         * lib/spawn.in.h: Likewise.
2614         * lib/sys_socket.in.h: Update an URL.
2615         * lib/sys_stat.in.h: Break long line.
2616
2617 2010-10-03  Reuben Thomas  <rrt@sc3d.org>
2618
2619         Improve pmccabe2html.
2620         * build-aux/pmccabe2html: Add CYCLO_SRCS variable, and make
2621         cyclo-$(PACKAGE).html depend on it, so the HTML file is remade
2622         when the sources change. Remove the line in the HTML about "Used
2623         ranges" (which implied that there might be other unused ranges),
2624         rename "Resume" to "Summary" (easier to understand for more users).
2625         * build-aux/pmccabe.css: Removing the dashed dividers, some unused
2626         styles, and some unnecessary blank lines.
2627
2628 2010-10-03  Bruno Haible  <bruno@clisp.org>
2629             Joachim Schmitz  <schmitz@hp.com>  (tiny change)
2630
2631         acl: Add support for ACLs on NonStop Kernel.
2632         * m4/acl.m4 (gl_FUNC_ACL): For Solaris, test for facl(), not for acl().
2633         Check whether the function aclsort() exists.
2634         * lib/acl-internal.h: For Solaris, test HAVE_FACL, not HAVE_ACL.
2635         (acl_nontrivial) [HAVE_ACLSORT]: New declaration.
2636         * lib/file-has-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
2637         (acl_nontrivial [HAVE_ACLSORT]: New function.
2638         (file_has_acl): Implement for NonStop Kernel.
2639         * lib/set-mode-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
2640         (qset_acl): Implement for NonStop Kernel.
2641         * lib/copy-acl.c (qcopy_acl): Implement for NonStop Kernel.
2642         * tests/test-sameacls.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
2643         (main): Implement for NonStop Kernel.
2644         * tests/test-file-has-acl.sh (acl_flavor): Set to 'nsk' on NonStop
2645         Kernel. Handle this flavor.
2646         * tests/test-set-mode-acl.sh: Likewise.
2647         * tests/test-copy-acl.sh: Likewise.
2648         * tests/test-copy-file.sh: Likewise.
2649
2650 2010-10-03  Bruno Haible  <bruno@clisp.org>
2651
2652         Info about ACLs on NonStop Kernel.
2653         * doc/acl-resources.txt: Add info about NonStop Kernel.
2654         References by Joachim Schmitz <schmitz@hp.com>.
2655
2656 2010-10-02  Bruno Haible  <bruno@clisp.org>
2657
2658         Define missing EDQUOT on NonStop Kernel.
2659         * lib/errno.in.h (EDQUOT): Assign a value if missing.
2660         * lib/strerror.c (rpl_strerror): Handle missing EDQUOT.
2661         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether EDQUOT is
2662         missing.
2663         * doc/posix-headers/errno.texi: Mention the NSK bug.
2664         * doc/posix-functions/strerror.texi: Mention the workaround on NSK.
2665         Reported by Joachim Schmitz <schmitz@hp.com>.
2666
2667 2010-10-02  Bruno Haible  <bruno@clisp.org>
2668
2669         Update doc for POSIX:2008.
2670         * doc/posix-headers/*.texi [except ucontext.texi, sys_timeb.texi]:
2671         Update URL of POSIX specification.
2672
2673 2010-10-02  Bruno Haible  <bruno@clisp.org>
2674
2675         gnulib-tool: In testdirs, use the newest available config.{guess.sub}.
2676         * gnulib-tool (func_create_testdir): Use config.guess and config.sub
2677         from gnulib, not from Automake.
2678
2679 2010-10-02  Bruno Haible  <bruno@clisp.org>
2680
2681         New module 'system-posix'.
2682         * modules/system-posix: New file.
2683         * lib/stdlib.in.h: Include <sys/wait.h> only when the 'system-posix'
2684         module is present.
2685         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
2686         GNULIB_SYSTEM_POSIX.
2687         * modules/stdlib (Depends-on): Remove sys_wait.
2688         (Makefile.am): Substitute GNULIB_SYSTEM_POSIX.
2689         * doc/posix-functions/system.texi: Mention the new module.
2690         * doc/posix-headers/stdlib.texi: Likewise.
2691         * tests/test-stdlib.c: If GNULIB_TEST_SYSTEM_POSIX is not defined,
2692         define test_sys_wait_macros to a no-op.
2693         Reported by Sam Steingold <sds@gnu.org>.
2694
2695 2010-09-30  Bruno Haible  <bruno@clisp.org>
2696
2697         More renaming from 'getdate' to 'get_date'.
2698         * doc/get_date.texi: Renamed from doc/getdate.texi.
2699         * modules/get_date (Files): Update.
2700         * MODULES.html.sh (Date and time <time.h>): Update.
2701         * DEPENDENCIES: Update.
2702         * gnulib-tool: Update comment.
2703         * m4/bison.m4 (gl_BISON): Likewise.
2704         * m4/get_date.m4 (gl_GET_DATE): Likewise.
2705
2706 2010-09-30  Justin Clift  <jclift@redhat.com>  (tiny change)
2707
2708         bootstrap: support ACLOCAL_FLAGS during aclocal
2709         * build-aux/bootstrap (aclocal): Honor ACLOCAL_FLAGS, so the user
2710         can add additional -I dir for third-party .m4 files.
2711
2712 2010-09-30  Eric Blake  <eblake@redhat.com>
2713
2714         bootstrap: use glibtoolize on MacOS
2715         * build-aux/bootstrap (check_versions): Convert libtool into
2716         libtoolize.
2717         (tool search): Move libtool check earlier, and look for
2718         glibtoolize for MacOS.
2719         (gnulib_tool_options): Auto-add --libtool when appropriate.
2720         Reported by Justin Clift.
2721
2722         poll: fix typo that broke test on MacOS
2723         * m4/poll.m4 (gl_FUNC_POLL): Add missing test.
2724         Reported by Justin Clift.
2725
2726         getdate: rename to get_date
2727         Note: getdate.h is not renamed, to minimize client impact.
2728         * modules/getdate: Mark obsolete.  Move old contents...
2729         * modules/get_date: ...to new module name.
2730         * modules/getdate-tests: Move...
2731         * modules/get_date-tests: ...here.
2732         * m4/getdate.m4: Move...
2733         * m4/get_date.m4: ...here, and rename gl_GETDATE to gl_GET_DATE.
2734         * lib/getdate.y: Move...
2735         * lib/get_date.y: ...here.
2736         * tests/test-getdate.c: Move...
2737         * tests/test-get_date.c: ...here.
2738         * doc/posix-functions/getdate.texi (getdate): Update name.
2739         * NEWS: Mention the change.
2740
2741 2010-09-29  Bruno Haible  <bruno@clisp.org>
2742
2743         Separate the module 'waitpid' from the module 'sys_wait'.
2744         * lib/sys_wait.in.h (waitpid): Declare only if the 'waitpid' module is
2745         present.
2746         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Invoke
2747         gl_MODULE_INDICATOR_FOR_TESTS.
2748         (gl_SYS_WAIT_H_DEFAULTS): Initialize GNULIB_WAITPID.
2749         * modules/sys_wait (Depends-on): Remove waitpid.
2750         (Makefile.am): Substitute GNULIB_WAITPID.
2751         * modules/waitpid (configure.ac): Invoke gl_SYS_WAIT_MODULE_INDICATOR.
2752         * tests/test-sys_wait-c++.cc (GNULIB_NAMESPACE::waitpid): Check the
2753         signature only if the 'waitpid' module is present.
2754         * doc/posix-functions/waitpid.texi: Mention the 'waitpid' module.
2755         * NEWS: Mention the change.
2756         * modules/grantpt (Depends-on): Add waitpid.
2757         * modules/wait-process (Depends-on): Likewise.
2758
2759 2010-09-29  Bruno Haible  <bruno@clisp.org>
2760
2761         More tests for module 'sys_wait'.
2762         * modules/sys_wait-c++-tests: New file.
2763         * tests/test-sys_wait-c++.cc: New file.
2764         * modules/sys_wait-tests (Depends-on): Add sys_wait-c++-tests.
2765         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
2766
2767 2010-09-29  Bruno Haible  <bruno@clisp.org>
2768
2769         New module 'waitpid'.
2770         * lib/waitpid.c: New file, extracted from lib/sys_wait.in.h.
2771         * lib/sys_wait.in.h: Include <sys/types.h>, c++defs.h, warn-on-use.h.
2772         Don't include <process.h>.
2773         (waitpid): Declare only, using modern idiom.
2774         * m4/waitpid.m4: New file.
2775         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Check whether waitpid is declared.
2776         * modules/waitpid: New file.
2777         * modules/sys_wait (Depends-on): Add c++defs, warn-on-use, waitpid.
2778         (Makefile.am): Update.
2779         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
2780
2781 2010-09-28  Bruno Haible  <bruno@clisp.org>
2782
2783         poll: Assume ANSI C.
2784         * lib/poll.c (poll): Use an ANSI C declaration.
2785
2786 2010-09-28  Bruno Haible  <bruno@clisp.org>
2787
2788         poll-h: Create poll.h on all platforms.
2789         * lib/poll.in.h: Use double-inclusion guard. Don't define POLL*,
2790         struct pollfd, nfds_t, INFTIM when the system has <poll.h>.
2791         * m4/poll_h.m4 (gl_POLL_H): Set HAVE_POLL_H. Invoke
2792         gl_CHECK_NEXT_HEADERS. Don't set POLL_H.
2793         (gl_REPLACE_POLL_H): Don't set POLL_H.
2794         (gl_POLL_H_DEFAULTS): Don't initialize POLL_H.
2795         * modules/poll-h (Depends-on): Add include_next.
2796         (Makefile.am): Create poll.h unconditionally. Substitute also
2797         HAVE_POLL_H, INCLUDE_NEXT, PRAGMA_SYSTEM_HEADER, NEXT_POLL_H.
2798
2799 2010-09-28  Bruno Haible  <bruno@clisp.org>
2800
2801         Tests for module 'poll-h'.
2802         * modules/poll-h-c++-tests: New file.
2803         * tests/test-poll-h-c++.cc: New file.
2804
2805         Tests for module 'poll-h'.
2806         * modules/poll-h-tests: New file.
2807         * tests/test-poll-h.c: New file.
2808
2809 2010-09-28  Bruno Haible  <bruno@clisp.org>
2810
2811         poll-h: Ensure POLL{RD,WR}{NORM,BAND} are defined on glibc platforms.
2812         * modules/poll-h (Depends-on): Add 'extensions'.
2813
2814 2010-09-28  Bruno Haible  <bruno@clisp.org>
2815
2816         New module 'poll-h'.
2817         * lib/poll.in.h: Include c++defs.h and warn-on-use.h.
2818         (poll): Use modern idiom.
2819         * modules/poll-h: New file.
2820         * modules/poll (Files): Remove lib/poll.in.h.
2821         (Depends-on): Add poll-h.
2822         (configure.ac): Invoke gl_POLL_MODULE_INDICATOR.
2823         (Makefile.am): Move code for generation of poll.h to modules/poll-h.
2824         * m4/poll_h.m4: New file.
2825         * m4/poll.m4 (gl_FUNC_POLL): Require gl_POLL_H. Don't check for poll.h
2826         here. Don't set POLL_H here. Instead, set HAVE_POLL and REPLACE_POLL
2827         and invoke gl_REPLACE_POLL_H.
2828         * lib/poll.c: Use common idiom.
2829         * tests/test-poll.c: Likewise.
2830         * doc/posix-headers/poll.texi: Mention the poll-h module.
2831         Suggested by Eric Blake.
2832
2833 2010-09-26  Bruno Haible  <bruno@clisp.org>
2834
2835         sys_wait: Implement WSTOPSIG.
2836         * lib/sys_wait.in.h (WSTOPSIG): New macro.
2837         Reported by Simon Josefsson.
2838
2839 2010-09-26  Simon Josefsson  <simon@josefsson.org>
2840
2841         stdlib, sys_wait: Avoid compilation error on mingw.
2842         * lib/sys_wait.in.h: Include <signal.h>, for SIGTERM.
2843
2844 2010-09-26  Bruno Haible  <bruno@clisp.org>
2845
2846         stdlib tests: Avoid code duplication.
2847         * modules/stdlib-tests (Files): Add tests/test-sys_wait.h.
2848         * modules/sys_wait-tests (Files): Likewise.
2849         * tests/test-sys_wait.h: New file, extracted from tests/test-stdlib.c.
2850         * tests/test-stdlib.c: Include test-sys_wait.h.
2851         (main): Invoke test_sys_wait_macros.
2852         * tests/test-sys_wait.c: Include test-sys_wait.h.
2853         (main): Invoke test_sys_wait_macros.
2854
2855 2010-09-25  Simon Josefsson  <simon@josefsson.org>
2856
2857         * modules/getaddrinfo (Depends-on): Depend on the sockets module.
2858         * lib/getaddrinfo.c (use_win32_p): Call gl_sockets_startup to make
2859         sure Windows sockets are working before calling getaddrinfo.
2860         * tests/test-getaddrinfo.c (main): Don't call WSAStartup here.
2861         * doc/gnulib.texi (Windows sockets): Fix typo.
2862
2863 2010-09-25  Bruno Haible  <bruno@clisp.org>
2864
2865         Tests for module 'regex-quote'.
2866         * modules/regex-quote-tests: New file.
2867         * tests/test-regex-quote.c: New file.
2868
2869         New module 'regex-quote'.
2870         * lib/regex-quote.h: New file.
2871         * lib/regex-quote.c: New file.
2872         * modules/regex-quote: New file.
2873         Suggested by Reuben Thomas <rrt@sc3d.org>.
2874
2875 2010-09-24  Bruno Haible  <bruno@clisp.org>
2876
2877         unistr/u8-strchr: Fix a test failure on i586 glibc systems.
2878         * tests/unistr/test-strchr.h (test_strchr): Disable an invalid check.
2879
2880 2010-09-23  Bruno Haible  <bruno@clisp.org>
2881
2882         setenv: Relax license.
2883         * modules/setenv (License): Change to LGPLv2+, with consent by Eric
2884         Blake.
2885         Requested by Eric Blake.
2886
2887 2010-09-22  Bruno Haible  <bruno@clisp.org>
2888
2889         termios: Relax license.
2890         * modules/termios (License): Change to LGPLv2+.
2891         Requested by Eric Blake.
2892
2893 2010-09-22  Bruno Haible  <bruno@clisp.org>
2894
2895         threadlib: Allow the package to change the default to 'no'.
2896         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): When
2897         gl_THREADLIB_DEFAULT_NO is defined, change the default to 'no'.
2898         Reported by Paul Eggert.
2899
2900 2010-09-22  Pádraig Brady  <P@draigbrady.com>
2901             Bruno Haible  <bruno@clisp.org>
2902
2903         Fix endless loop in mbmemcasecoll.
2904         * lib/mbmemcasecoll.c (apply_towlower): When mbrtowc returns 0, copy 1
2905         byte.
2906         * tests/test-mbmemcasecmp.h (test_ascii): Test embedded NULs.
2907
2908 2010-09-22  Bruno Haible  <bruno@clisp.org>
2909
2910         Tests for module 'memcoll'.
2911         * modules/memcoll-tests: New file.
2912         * tests/test-memcoll.c: New file, based on tests/test-memcmp.c.
2913
2914         memcoll, xmemcoll: Clarify size vs. length.
2915         * modules/memcoll.c (memcoll0): Clarify specification.
2916         * modules/xmemcoll.c (xmemcoll0): Likewise. Reduce by 1 the lengths
2917         passed to collate_error.
2918
2919 2010-09-22  Bruno Haible  <bruno@clisp.org>
2920
2921         Tests for module 'memcasecmp'.
2922         * modules/memcasecmp-tests: New file.
2923         * tests/test-memcasecmp.c: New file, based on tests/test-memcmp.c.
2924
2925 2010-09-22  Paul Eggert  <eggert@cs.ucla.edu>
2926
2927         * lib/pthread.in.h: Add split double-inclusion guard, and include
2928         system <pthread.h> if there is one.  Use @@-style as in other
2929         .in.h files.  Define PTHREAD_COND_INITIALIZER etc. only if system
2930         pthread.h doesn't.
2931         (pthread_mutexattr_destroy, pthread_mutexattr_init):
2932         (pthread_mutexattr_settype, pthread_mutex_trylock):
2933         New static inline functions, if there's no system <pthread.h>.
2934         (pthread_spinlock_t, pthread_spin_init, pthread_spin_destroy):
2935         (pthread_spin_lock, pthread_spin_trylock, pthread_spin_unlock):
2936         Approximate with mutexes if the system lacks spinlocks, as in
2937         MacOS.
2938         * m4/pthread.m4 (gl_PTHREAD_CHECK): Require gl_PTHREAD_DEFAULTS.
2939         Add gl_CHECK_NEXT_HEADERS for pthread.h, and support the usual
2940         @@-style.  Check for spinlocks separately.
2941         (gl_PTHREAD_DEFAULTS): New macro.
2942         * modules/pthread: Redo to use a more typical style for in.h files.
2943
2944 2010-09-21  Eric Blake  <eblake@redhat.com>
2945
2946         net_if: enhance tests
2947         * tests/test-net_if.c (main): Move signature checks earlier.
2948         Print failures to stderr.
2949         * doc/posix-functions/if_freenameindex.texi (if_freenameindex):
2950         Document the bug that we do not yet fix.
2951
2952 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
2953
2954         * doc/gnulib.texi (Out of memory handling): Rewrite section to be
2955         about gnulib, not GSS.
2956
2957 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
2958
2959         * build-aux/pmccabe2html: Look for sources in src/ instead of lib/.
2960         * build-aux/pmccabe2html: Set cut_dir properly, and add mode line
2961         for Emacs.
2962         * build-aux/pmccabe2html: Make Makefile.am example code more
2963         cut-and-paste friendly.
2964
2965 2010-09-21  Simon Josefsson  <simon@josefsson.org>
2966
2967         * tests/test-net_if.c: New file.
2968         * modules/net_if-tests: New file.
2969
2970 2010-09-20  Paul Eggert  <eggert@cs.ucla.edu>
2971
2972         pthread: add pthread_spin_destroy
2973         * lib/pthread.in.h (pthread_spin_destroy): New function.
2974
2975 2010-09-19  Bruno Haible  <bruno@clisp.org>
2976
2977         gnulib-tool: Fix --help output.
2978         * gnulib-tool (func_usage): Fix help message.
2979         Reported by Reuben Thomas <rrt@sc3d.org>.
2980
2981 2010-09-18  Jim Meyering  <meyering@redhat.com>
2982
2983         maint.mk: avoid unexpanded \n in two diagnostics
2984         * top/maint.mk (sc_prohibit_always_true_header_tests):
2985         Don't use a literal \n in a halt=... assignment.  It would not be
2986         expanded, and the two \n bytes would appear in the diagnostic output
2987         rather than the desired newline.  Use halt=$$(printf ... instead.
2988         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
2989
2990 2010-09-18  Bruno Haible  <bruno@clisp.org>
2991
2992         netinet_in: Doc tweak.
2993         * doc/posix-headers/netinet_in.texi: Mention an affected platform.
2994         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
2995
2996 2010-09-18  Jim Meyering  <meyering@redhat.com>
2997
2998         init.sh: correct an outdated comment
2999         * tests/init.sh (create_exe_shims_):  s/function/alias/
3000
3001         init.sh: don't let an ephemeral "*.exe" make us skip all dir entries
3002         * tests/init.sh (find_exe_basenames_): Don't give up on a directory if
3003         a file named "*.exe" is removed between the glob expansion and the
3004         processing of that oddly named file.
3005
3006 2010-09-17  Eric Blake  <eblake@redhat.com>
3007
3008         mirbsd: add some more support
3009         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): MirBSD is
3010         in BSD family.
3011         * m4/gc-random.m4 (gl_GC_RANDOM): MirBSD supports same random
3012         devices as OpenBSD.
3013         * m4/host-os.m4 (mirbsd): Add MirBSD.
3014
3015         tests: fix unportable assumption on sys/wait.h
3016         * tests/test-sys_wait.c (main): Relax test.
3017         * tests/test-stdlib.c (main): Likewise.
3018
3019         init.sh: accomodate directory with no .exes
3020         * tests/init.sh: Accomodate directory containing only scripts.
3021
3022         tests: avoid compiler warning
3023         * tests/test-stdlib.c (main): Use the variable.
3024
3025         fdutimens, fdutimensat: update signature, again
3026         * lib/utimens.h (gl_futimens): Delete, and move signature...
3027         (fdutimens): ...here.
3028         (fdutimensat): Rearrange signature.
3029         (lutimensat): Rename variable for clarity.
3030         * lib/fdutimensat.c (fdutimensat): Update signature.
3031         * lib/utimens.c (fdutimens): Likewise.
3032         (gl_futimens): Delete.
3033         (utimens, lutimens): Update callers.
3034         * lib/futimens.c (futimens): Likewise.
3035         * tests/test-fdutimensat.c: Likewise.
3036         * tests/test-utimens.c: Likewise.
3037         * tests/test-futimens.h: Update comment.
3038         * NEWS: Mention this.
3039         Suggested by Paul Eggert.
3040
3041 2010-09-17  Bruno Haible  <bruno@clisp.org>
3042
3043         Take over the maintenance of some older macros from Autoconf.
3044         * m4/error.m4 (AC_FUNC_ERROR_AT_LINE): New macro, from GNU Autoconf.
3045         * m4/lstat.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): New macro, from
3046         GNU Autoconf.
3047         * m4/memcmp.m4 (AC_FUNC_MEMCMP): New macro, from GNU Autoconf.
3048         * m4/mktime.m4 (AC_FUNC_MKTIME): Change comment.
3049
3050 2010-09-17  Eric Blake  <eblake@redhat.com>
3051
3052         fdutimensat: drop atflag validation
3053         * lib/fdutimensat.c (fdutimensat): Allow AT_SYMLINK_NOFOLLOW even
3054         with valid fd, to close a race scenario where futimens is
3055         unsupported and FILE was replaced by a symlink.
3056         * tests/test-fdutimensat.c (do_fdutimens, main): Adjust test
3057         accordingly.
3058         Suggested by Paul Eggert.
3059
3060 2010-09-16  Bruno Haible  <bruno@clisp.org>
3061
3062         unlockpt: Fix declaration within GNULIB_POSIXCHECK.
3063         * lib/stdlib.in.h (unlockpt): Fix warning declaration.
3064
3065 2010-09-16  Bruno Haible  <bruno@clisp.org>
3066
3067         login_tty: Fix detection of function on FreeBSD, OpenBSD, NetBSD.
3068         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Augment LIBS while checking whether
3069         login_tty exists.
3070         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
3071
3072 2010-09-16  Bruno Haible  <bruno@clisp.org>
3073
3074         login_tty: Make the replacement code work on BSD systems.
3075         * lib/login_tty.c: Include <sys/ioctl.h>.
3076         (login_tty): Use ioctl TIOCSCTTY when available.
3077         * modules/login_tty (Depends-on): Add sys_ioctl.
3078         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
3079
3080 2010-09-16  Bruno Haible  <bruno@clisp.org>
3081
3082         login_tty: Stricter unit test.
3083         * modules/login_tty-tests (Depends-on): Add tcgetsid.
3084         * tests/test-login_tty.c (main): Also check the results of tcgetpgrp()
3085         and tcgetsid() after login_tty.
3086         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
3087
3088 2010-09-16  Bruno Haible  <bruno@clisp.org>
3089
3090         New module 'tcgetsid'.
3091         * lib/tcgetsid.c: New file.
3092         * m4/tcgetsid.m4: New file.
3093         * modules/tcgetsid: New file.
3094         * modules/termios (Depends-on): Add c++defs, warn-on-use.
3095         (Makefile.am): Ensure c++defs.h, warn-on-use.h get included. Substitute
3096         GNULIB_TCGETSID, HAVE_TCGETSID.
3097         * lib/termios.in.h: Include <sys/types.h>.
3098         (tcgetsid): New declaration.
3099         * m4/termios_h.m4 (gl_TERMIOS_H): Check whether tcgetsid is declared.
3100         (gl_TERMIOS_H_DEFAULTS): Initialize GNULIB_TCGETSID, HAVE_TCGETSID.
3101         * doc/posix-functions/tcgetsid.texi: Mention the new module.
3102         * tests/test-termios-c++.cc: Check GNULIB_NAMESPACE::tcgetsid.
3103
3104 2010-09-16  Bruno Haible  <bruno@clisp.org>
3105
3106         Tests for module 'termios'.
3107         * modules/termios-c++-tests: New file.
3108         * modules/termios-tests: New file.
3109         * tests/test-termios-c++.cc: New file.
3110         * tests/test-termios.c: New file.
3111
3112         New module 'termios'.
3113         * modules/termios: New file.
3114         * lib/termios.in.h: New file.
3115         * m4/termios_h.m4: New file.
3116         * doc/posix-headers/termios.texi: Mention the new module.
3117
3118 2010-09-16  Eric Blake  <eblake@redhat.com>
3119
3120         fdutimensat: add an atflag parameter
3121         * lib/fdutimensat.c (fdutimensat): Add new parameter.
3122         * lib/utimens.h (fdutimensat): Update prototype.
3123         * tests/test-fdutimensat.c: Adjust test to match.
3124         * NEWS: Document the change.
3125         Suggested by Paul Eggert.
3126
3127 2010-09-16  Bruno Haible  <bruno@clisp.org>
3128
3129         Fix typos in comments.
3130         * lib/striconveh.h: Fix typo in comment.
3131         * lib/login_tty.c (login_tty): Likewise.
3132
3133 2010-09-15  Bruno Haible  <bruno@clisp.org>
3134
3135         stdlib: clarify MirBSD WEXITSTATUS bug
3136         * lib/stdlib.in.h: Clarify the MirBSD bug regarding WEXITSTATUS.
3137         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
3138
3139 2010-09-15  Eric Blake  <eblake@redhat.com>
3140
3141         stdlib: work around MirBSD WEXITSTATUS bug
3142         * lib/stdlib.in.h (includes): Guarantee WEXITSTATUS.
3143         * modules/stdlib (Depends-on): Add sys_wait.
3144         * tests/test-sys_wait.c (main): Enhance test.
3145         * tests/test-stdlib.c (main): Likewise.
3146         * doc/posix-headers/stdlib.texi (stdlib.h): Document the bug.
3147
3148         docs: mention MacOS issue with WEXITSTATUS(constant)
3149         * doc/posix-headers/sys_wait.texi (sys/wait.h): Document the
3150         issue.
3151         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
3152
3153         strnlen: add tests
3154         * modules/strnlen-tests: New file.
3155         * tests/test-strnlen.c: Likewise.
3156
3157 2010-09-14  Bruno Haible  <bruno@clisp.org>
3158
3159         unistr/base: Avoid link errors when module 'libunistring' is also used.
3160         * lib/unistr.in.h (u8_mbtouc_unsafe, u16_mbtouc_unsafe,
3161         u32_mbtouc_unsafe, u8_mbtouc, u16_mbtouc, u32_mbtouc, u8_mbtoucr,
3162         u16_mbtoucr, u32_mbtoucr, u8_uctomb_aux, u16_uctomb_aux, u32_uctomb):
3163         Declare also when HAVE_LIBUNISTRING is set.
3164         Reported by Pádraig Brady <P@draigbrady.com>.
3165
3166 2010-09-14  Eric Blake  <eblake@redhat.com>
3167
3168         test-rawmemchr: make more robust
3169         * modules/rawmemchr-tests (Files): Add zerosize-ptr.h, mmap-anon.m4.
3170         (Depends-on, configure.ac): Add needed prerequisites to use it.
3171         * modules/memchr-tests (Files, Depends-on, configure.ac):
3172         Likewise, to avoid implicit reliance on memchr module prereqs.
3173         * tests/test-memchr.c (main): Ensure proper masking.
3174         * tests/test-rawmemchr.c (main): Likewise.  Detect oversized
3175         reads.
3176
3177         memchr: detect glibc Alpha bug
3178         Avoids http://sourceware.org/bugzilla/show_bug.cgi?id=12019.
3179         * m4/memchr.m4 (gl_FUNC_MEMCHR): Detect glibc 2.11.2 failure on
3180         Alpha.
3181         * doc/posix-functions/memchr.texi (memchr): Tweak wording.
3182         * tests/test-memchr.c (main): Enhance test.
3183         Reported by Nelson H. F. Beebe.
3184
3185 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
3186
3187         fts, getcwd, glob: audit for dirfd returning -1
3188         * lib/fts.c (opendir): Remove #define; no longer used.
3189         (opendirat): New arg PDIR_FD.  All callers changed.
3190         (fts_build, _opendir2): Use new opendirat to avoid the need for
3191         dirfd, or for checking whether dirfd returns a negative value.
3192         Don't use opendir; always use openat followed by fdopendir.
3193         * lib/getcwd.c (__getcwd): Don't reset fd; fdopendir no longer clobbers
3194         it.
3195         * lib/glob.c (link_exists_p): Add comment explaining why dirfd never
3196         returns -1 here.
3197         * modules/fts (Depends-on): Remove dirfd.
3198         * modules/getcwd (Depends-on): Likewise.
3199
3200 2010-09-13  Eric Blake  <eblake@redhat.com>
3201
3202         float: fix broken MirBSD header
3203         * m4/float_h.m4 (gl_FLOAT_H): MirBSD copied OpenBSD's bug.
3204         * doc/posix-headers/float.texi (float.h): Document it.
3205
3206 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
3207
3208         fts: use O_NOFOLLOW to avoid race condition when opening a directory
3209         * lib/fts.c (opendirat): New arg extra_flags.
3210         (__opendir2): Use it to avoid following symlinks when opening
3211         a directory, if symlinks are not supposed to be followed.  See
3212         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00213.html>.
3213
3214         fdopendir: preserve argument fd before returning
3215         * lib/fdopendir.c: Adjust comments to say POSIX, not Solaris.
3216         (fdopendir_with_dup, fd_clone_opendir): New static functions.
3217         (fdopendir): Use them, arranging for FD to be open to the same
3218         directory that it was when it started.  (It might be temporarily
3219         closed while fdopendir is running, so this not thread- or
3220         signal-safe.)  Be careful to do the right thing even when file
3221         descriptors are scarce and dup fails with errno == EMFILE.  See
3222         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00208.html>.
3223
3224 2010-09-10  Paolo Bonzini  <bonzini@gnu.org>
3225
3226         regex: Pass the system regex if its only problem is 32-bit regoff_t.
3227         * NEWS: Document change.
3228         * m4/regex.m4: Disable test for regoff_t size.
3229
3230 2010-09-13  Jim Meyering  <meyering@redhat.com>
3231
3232         fts: don't operate on an invalid file descriptor after failed dup
3233         * lib/fts.c (fts_build): Don't call set_cloexec_flag on a
3234         negative file descriptor.
3235
3236 2010-09-12  Paul Eggert  <eggert@cs.ucla.edu>
3237
3238         savedir: add streamsavedir, deprecate fdsavedir
3239         * NEWS: Mention deprecation of fdsavedir.
3240         * lib/savedir.c (streamsavedir): New extern function, whose name
3241         ends in "savedir" to be consistent with the others.  This differs
3242         from savedirstream in that it doesn't close its argument.  The
3243         next version of GNU tar will use this instead of fdsavedir, to
3244         avoid some race conditions and conserve file descriptors.
3245         (savedirstream): Reimplement as a wrapper around streamsavedir.
3246         (fdsavedir): Add a comment deprecating this function.  As far as
3247         I know, only GNU tar used it, and GNU tar doesn't need it any more.
3248         * lib/savedir.h (streamsavedir): New decl.
3249         (fdsavedir): Add a comment deprecating this.
3250
3251 2010-09-10  Bruno Haible  <bruno@clisp.org>
3252
3253         langinfo: Fix last commit.
3254         * m4/langinfo_h.m4 (gl_LANGINFO_H): Initialize
3255         HAVE_LANGINFO_T_FMT_AMPM, HAVE_LANGINFO_YESEXPR.
3256         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
3257
3258 2010-09-10  Bruno Haible  <bruno@clisp.org>
3259
3260         relocatable-prog-wrapper: Fix compilation failure due to O_EXEC.
3261         * lib/progreloc.c (O_EXEC): Define fallback.
3262
3263 2010-09-10  Paul Eggert  <eggert@cs.ucla.edu>
3264
3265         fcntl-h: define O_CLOEXEC and O_EXEC if not defined; use new defines
3266         * NEWS: Document recent changes to fcntl-h.
3267         * doc/posix-headers/fcntl.texi (fcntl.h): Document that
3268         O_CLOEXEC is now defined to 0 if it is not defined, like other flags.
3269         Also, O_EXEC is now defined to be O_RDONLY if O_EXEC is not defined.
3270         Similarly for O_SEARCH; this last was already true, but not documented.
3271         * lib/fcntl.in.h (O_CLOEXEC): Define to 0 if not defined.
3272         * lib/dup-safer-flag.c (O_CLOEXEC): Remove now-useless #define.
3273         * lib/dup3.c, lib/pipe2.c, tests/test-dup-safer.c, tests/test-fcntl.c:
3274         Likewise.
3275         * lib/popen-safer.c (open_noinherit): Check whether O_CLOEXEC
3276         is zero, not whether it is defined.
3277         * tests/test-dup3.c, tests/test-pipe2.c (main): Likewise.
3278         * lib/progreloc.c (find_executable): Use O_EXEC rather than O_RDONLY.
3279         * lib/open.c (open): Check for O_SEARCH as well as for O_RDONLY.
3280
3281 2010-09-10  Bruno Haible  <bruno@clisp.org>
3282
3283         langinfo, nl_langinfo: Fix for IRIX 5.3.
3284         * m4/langinfo_h.m4 (gl_LANGINFO_H): Test whether langinfo.h defines
3285         T_FMT_AMPM, YESEXPR. Set HAVE_LANGINFO_T_FMT_AMPM,
3286         HAVE_LANGINFO_YESEXPR.
3287         * modules/langinfo (Makefile.am): Substitute HAVE_LANGINFO_T_FMT_AMPM,
3288         HAVE_LANGINFO_YESEXPR.
3289         * lib/langinfo.in.h (T_FMT_AMPM, GNULIB_defined_T_FMT_AMPM): Define if
3290         HAVE_LANGINFO_T_FMT_AMPM is 0.
3291         (YESEXPR, NOEXPR, GNULIB_defined_YESEXPR): Define if
3292         HAVE_LANGINFO_YESEXPR is 0.
3293         * lib/nl_langinfo.c (rpl_nl_langinfo): Handle also T_FMT_AMPM, YESEXPR,
3294         NOEXPR.
3295         * doc/posix-headers/langinfo.texi: Mention the IRIX 5.3 problem.
3296         * doc/posix-functions/nl_langinfo.texi: Likewise.
3297         Reported by Eric Blake.
3298
3299 2010-09-10  Bruno Haible  <bruno@clisp.org>
3300
3301         pty, readutmp: Fix for FreeBSD 8.0 and OpenBSD 4.6.
3302         * doc/glibc-functions/login_tty.texi: Mention the include file problem
3303         on FreeBSD 8.0 and OpenBSD 4.6.
3304         * lib/pty.in.h: Include <sys/types.h> before <libutil.h>.
3305         * m4/pty_h.m4 (gl_PTY_H): Likewise.
3306         * m4/pty.m4 (gl_FUNC_FORKPTY, gl_FUNC_OPENPTY): Likewise.
3307         * m4/readutmp.m4 (gl_READUTMP): Include <sys/types.h> before <utmp.h>.
3308         Invoke AC_INCLUDES_DEFAULT instead of using the undocumented variable
3309         ac_includes_default.
3310         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
3311
3312 2010-09-09  Eric Blake  <eblake@redhat.com>
3313
3314         strsignal: work around NetBSD bug
3315         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check in <unistd.h>.
3316         * lib/string.in.h (includes): Likewise.
3317         * doc/posix-functions/strsignal.texi (strsignal): Document the
3318         bug.
3319         Reported by Nelson H. F. Beebe.
3320
3321         gnulib-tool: work with NetBSD /bin/sh
3322         * gnulib-tool (func_cache_var, func_cache_lookup_module)
3323         (func_get_description, func_get_comment, func_get_status)
3324         (func_get_notice, func_get_applicability, func_get_filelist)
3325         (func_get_dependencies, func_get_autoconf_early_snippet)
3326         (func_get_autoconf_snippet, func_get_automake_snippet)
3327         (func_get_include_directive, func_get_link_directive)
3328         (func_get_license, func_get_maintainer, func_import): Avoid
3329         shell syntax errors from parsing syntax extensions.
3330
3331 2010-09-09  Bruno Haible  <bruno@clisp.org>
3332
3333         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
3334         * gnulib-tool: Don't fiddle with file descriptors 0, 1, 2. Instead, use
3335         a reliable way to determine whether the 'alias' command works.
3336
3337 2010-09-08  Jim Meyering  <meyering@redhat.com>
3338
3339         init.sh: penalize a set-x-impaired shell; don't disqualify it
3340         * tests/init.sh: Too many shells corrupt application stderr when
3341         you set -x, so we can't afford to disqualify them, since at least
3342         on Irix-6.5, that would disqualify all bourne shells.
3343         Instead, use a two-pass approach.
3344         On the first pass, try to find a shell that meets the stricter
3345         condition that set -x does not corrupt stderr.
3346         If no shell meets the stricter condition, retest each candidate
3347         shell, but without that extra condition.  Finally, when
3348         VERBOSE=yes is requested and set -x might cause trouble, simply
3349         issue a warning and refrain from enabling debug output.
3350
3351 2010-09-08  Eric Blake  <eblake@redhat.com>
3352
3353         unsetenv: fix OpenBSD bug
3354         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for OpenBSD bug.
3355         * doc/posix-functions/unsetenv.texi (unsetenv): Update
3356         documentation.
3357         Reported by Jim Meyering.
3358
3359         strtod: work around IRIX 6.5 bug
3360         * lib/strtod.c (strtod): Reparse number on shorter string if
3361         exponent parse was invalid.
3362         * tests/test-strtod.c (main): Add check for "0x1p 2".
3363         Reported by Tom G. Christensen.
3364
3365         getopt: optimize previous patch
3366         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Correctly check for
3367         empty variable.  Speed up awk script.
3368         Reported by Paolo Bonzini.
3369
3370 2010-09-08  Jim Meyering  <meyering@redhat.com>
3371
3372         test.sh: disqualify shells for which set -x corrupts stderr
3373         * tests/init.sh: Add a test to disqualify /bin/sh from SunOS 5.11
3374         and OpenBSD 4.7.  They make it so with "set -x", environment settings
3375         appear in stderr output.  For example, this command:
3376             /bin/sh -c 'set -x; P=1 true 2> err' 2>/dev/null; cat err
3377         prints "P=1" on those two systems:
3378
3379 2010-09-08  Bruno Haible  <bruno@clisp.org>
3380
3381         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
3382         * gnulib-tool: Use stderr redirection around the 'alias' and 'unalias'
3383         commands, because some shells ignore redirections when there is an
3384         error in the command lookup.
3385         Reported by Eric Blake.
3386
3387 2010-09-07  Reuben Thomas  <rrt@sc3d.org>
3388
3389         * lib/regex.h: Fix a mention of `regex_compile' (should be
3390         `re_compile_pattern').
3391         Correct and clarify documentation for RE_CONTEXT_INVALID_DUP.
3392         (re_set_registers): Correct name of parameter in comment.
3393
3394         * doc/regex.texi: Add documentation for missing syntax flags.
3395         Remove commented-out documentation of defunct syntax option
3396         RE_NO_EMPTY_ALTS.
3397         Correct name of RE_CHAR_CLASSES in one incorrect occurrence.
3398         Add documentation of re_set_registers.
3399         Document trick to re-use a pattern buffer by setting fastmap manually.
3400         Update documentation of struct re_pattern_buffer per public members.
3401         Uncomment documentation of equivalence class operators and
3402         collating symbol operators, since they are now implemented,
3403         Explain leftmost-longest matching in relation to alternatives.
3404         Tidy documentation of substring matching.
3405         Remove POSIX documentation, which is done better in
3406         glibc, and refer the reader there. Keep BSD API documentation, as
3407         that is not readily available elsewhere.
3408
3409 2010-09-07  Eric Blake  <eblake@redhat.com>
3410
3411         getopt: handle POSIXLY_CORRECT set but not exported
3412         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Restore pre-existing
3413         export state of POSIXLY_CORRECT, due to bash set -o posix.
3414         Reported by Dustin J. Mitchell.
3415
3416 2010-09-05  Bruno Haible  <bruno@clisp.org>
3417
3418         gnulib-tool: Highlight the changed options.
3419         * gnulib-tool (func_usage): Display the --import, --add-import,
3420         --remove-import explanations in bold font.
3421
3422 2010-09-06  Karl Berry  <karl@gnu.org>
3423
3424         * doc/gnulib-tool.texi (Modified imports): doc tweaks.
3425
3426 2010-09-05  Bruno Haible  <bruno@clisp.org>
3427
3428         uniwidth/width: Update comment.
3429         * lib/uniwidth/width.c (uc_width): Update comment for Unicode >= 3.1.
3430         Reported by Emanuele Giaquinta <emanuele.giaquinta@gmail.com>.
3431
3432 2010-09-05  Bruno Haible  <bruno@clisp.org>
3433
3434         isinf, isnan: Relax license.
3435         * modules/isinf (License): Change from GPL to LGPL, with consent from
3436         Ben Pfaff.
3437         * modules/isnan (License): Likewise.
3438         Requested by Ludovic Courtès.
3439
3440 2010-09-04  Bruno Haible  <bruno@clisp.org>
3441
3442         gnulib-tool: Help migration from --import to --add-import or --update.
3443         * gnulib-tool: Emit a verbose error message when --import is used
3444         without any module name.
3445
3446 2010-09-04  Bruno Haible  <bruno@clisp.org>
3447
3448         Update doc about gnulib-tool.
3449         * doc/gnulib-tool.texi (VCS Issues): Explain 'gnulib-tool --import' vs.
3450         'gnulib-tool --update' in more detail.
3451         Reported by Eric Blake.
3452
3453 2010-09-04  Bruno Haible  <bruno@clisp.org>
3454
3455         gnulib-tool: Change --import. New options --add/remove-import.
3456         * gnulib-tool: New options --add-import, --remove-import.
3457         (func_usage): Document them.
3458         (have_associative): Define always.
3459         (func_import): In import mode, don't merge the specified settings with
3460         the cached settings. Implement remove-import mode.
3461         * doc/gnulib-tool.texi (Modified imports): Mention the new options.
3462         Explain when to use them versus --import.
3463         (Simple update): Use --add-import instead of --import.
3464         * NEWS: Mention the change.
3465
3466 2010-09-04  Bruno Haible  <bruno@clisp.org>
3467
3468         * doc/gnulib-tool.texi (Initial import): Update paragraph about
3469         separate gnulib.mk.
3470
3471 2010-09-04  Bruno Haible  <bruno@clisp.org>
3472
3473         gnulib-tool: Don't talk about CVS any more.
3474         * gnulib-tool (func_usage, func_import): Write "version control"
3475         instead of CVS.
3476
3477 2010-09-04  Jim Meyering  <meyering@redhat.com>
3478
3479         maint.mk: avoid obscure sc_copyright_check failure in coreutils
3480         * top/maint.mk (v_etc_file): Prepend $(gnulib_dir)/, to avoid
3481         false positives (whose names may be ill-chosen) when searching
3482         non-VC'd files.  Otherwise, a file named "a b/lib/version-etc.c"
3483         would cause a false-positive.
3484
3485         avoid coreutils "make distcheck" failure
3486         Coreutils tests with an absolute build directory name that contains
3487         a space.  Not quoting this directory name caused a failure.
3488         * tests/test-vc-list-files-git.sh: Quote PATH dir name.
3489         * tests/test-vc-list-files-cvs.sh: Likewise.
3490
3491 2010-09-04  Bruno Haible  <bruno@clisp.org>
3492
3493         gnulib-tool: Avoid error when run in a package without Makefile.am.
3494         * gnulib-tool: When collecting the m4dirs in a package that does not
3495         have a Makefile.am, eliminate those directories that contain no
3496         gnulib-cache.m4. Fix expression that counts these directories.
3497
3498 2010-09-04  Bruno Haible  <bruno@clisp.org>
3499
3500         update-copyright test: Improve output when perl is missing or too old.
3501         * tests/test-update-copyright.sh: Move test of Perl version down after
3502         the test whether Perl exists. Provide an explanation relating Perl's
3503         error message to Automake's SKIP: message.
3504
3505 2010-09-04  Bruno Haible  <bruno@clisp.org>
3506
3507         Don't augment PATH in TESTS_ENVIRONMENT.
3508         * modules/update-copyright-tests (Makefile.am): In TESTS_ENVIRONMENT,
3509         set abs_aux_dir instead of augmenting PATH.
3510         * modules/vc-list-files-tests (Makefile.am): Likewise.
3511         * tests/test-update-copyright.sh: Augment PATH here.
3512         * tests/test-vc-list-files-cvs.sh: Augment PATH here, through
3513         path_prepend_.
3514         * tests/test-vc-list-files-git.sh: Likewise.
3515
3516 2010-09-04  Jim Meyering  <meyering@redhat.com>
3517
3518         tests: prohibit augmenting PATH via TESTS_ENVIRONMENT
3519         * Makefile (sc_prohibit_augmenting_PATH_via_TESTS_ENVIRONMENT): New rule.
3520
3521 2010-09-04  Bruno Haible  <bruno@clisp.org>
3522
3523         strdup: Fix compilation error in C++ mode.
3524         * lib/string.in.h (strdup): In C++ mode with GNULIB_NAMESPACE, undefine
3525         the macro.
3526
3527 2010-09-04  Bruno Haible  <bruno@clisp.org>
3528
3529         dirfd: Fix compilation error in C++ mode on MacOS X, *BSD, IRIX.
3530         * lib/dirent.in.h (dirfd): In C++ mode with GNULIB_NAMESPACE, turn the
3531         macro into a function.
3532         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
3533
3534 2010-09-04  Bruno Haible  <bruno@clisp.org>
3535
3536         Set PATH_SEPARATOR the same way autoconf does.
3537         * build-aux/relocatable.sh.in (func_find_curr_installdir): Determine
3538         the value of PATH_SEPARATOR the same way autoconf-generated configure
3539         scripts do.
3540         * m4/lib-ld.m4 (AC_LIB_PROG_LD): Likewise.
3541         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
3542
3543 2010-09-04  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
3544
3545         Set PATH_SEPARATOR the same way autoconf does.
3546         * gnulib-tool (func_gnulib_dir): Determine the value of PATH_SEPARATOR
3547         the same way autoconf-generated configure scripts do.
3548         * posix-modules: Likewise.
3549
3550 2010-09-02  Paul Eggert  <eggert@cs.ucla.edu>
3551
3552         hash: fix safe_hasher const typo
3553         * lib/hash.c (safe_hasher): Result is pointer, not pointer to
3554         const; otherwise, there is a type error later.
3555
3556 2010-09-02  Jim Meyering  <meyering@redhat.com>
3557
3558         test-update-copyright.sh: require perl 5.8.0
3559         * tests/test-update-copyright.sh: Require 5.8.0,
3560         which Tom G. Christensen has confirmed is adequate,
3561         while 5.6.1 is not.
3562
3563 2010-09-02  Eric Blake  <eblake@redhat.com>
3564
3565         tests: init.sh improvements for re-exec'ing with zsh
3566         * tests/init.sh: Borrow autoconf POSIX-mode sanitization.  Pass
3567         -vx through shell re-exec.
3568         Reported by Tom G. Christensen.
3569
3570         wctype: fix typo in previous commit
3571         * m4/wctype_h.m4 (gl_WCTYPE_H): Fix spelling.
3572         Reported by Ludovic Courtès.
3573
3574 2010-09-02  Jim Meyering  <meyering@redhat.com>
3575
3576         test-update-copyright.sh: skip test if Perl is too old
3577         * tests/test-update-copyright.sh: Exit 77 if Perl is too old.
3578         Reported by Tom G. Christensen.
3579
3580 2010-09-02  Bruno Haible  <bruno@clisp.org>
3581
3582         wctype: Avoid compilation error on IRIX 6.5.30.
3583         * lib/wctype.in.h (iswblank): Declare with a replacement if
3584         REPLACE_ISWBLANK is set.
3585         * m4/wctype_h.m4 (gl_WCTYPE_H): Check also whether iswblank is
3586         declared. Set REPLACE_ISWBLANK.
3587         * modules/wctype (Makefile.am): Substitute REPLACE_ISWBLANK.
3588         * doc/posix-functions/iswblank.texi: Mention the IRIX 6.5.30 problem.
3589         * doc/posix-headers/wctype.texi: Likewise.
3590         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
3591
3592 2010-09-01  Bruno Haible  <bruno@clisp.org>
3593
3594         New module 'socketlib'.
3595         * modules/socketlib: New file.
3596         * m4/socketlib.m4: New file, extracted from m4/sockets.m4.
3597         * m4/sockets.m4 (gl_SOCKETS): Require gl_SOCKETLIB.
3598         * modules/sockets (Depends-on): Add socketlib.
3599         Suggested by Sam Steingold <sds@gnu.org>.
3600
3601 2010-09-01  Paul Eggert  <eggert@cs.ucla.edu>
3602
3603         fcntl-h, etc.: prefer O_SEARCH to O_RDONLY when applicable
3604
3605         POSIX 2008 specifies a new 'open' flag O_SEARCH, which can be used
3606         when one needs search access to a directory but not read access.
3607         On systems where it is available, it works in some cases where
3608         O_RDONLY does not, namely on directories that are searchable but
3609         not readable, and which need only to be searchable.  If O_SEARCH
3610         is not available, fall back to the traditional method of using
3611         O_RDONLY.
3612
3613         * lib/fcntl.in.h (O_SEARCH): #define to O_RDONLY if not defined.
3614         * lib/chdir-long.c (cdb_advance_fd): Use O_SEARCH, not O_RDONLY,
3615         when opening a directory that needs only to be searchable.
3616         * lib/chdir-safer.c (chdir_no_follow): Likewise.
3617         * lib/fts.c (diropen, fts_open, fd_ring_check): Likewise.
3618         * lib/openat-proc.c (openat_proc_name): Likewise.
3619         * lib/openat.c (openat_needs_fchdir): Likewise.
3620         * lib/save-cwd.c (save_cwd): Likewise.
3621         * lib/savewd.c (savewd_save, savewd_chdir): Likewise.
3622
3623 2010-08-28  Bruno Haible  <bruno@clisp.org>
3624
3625         New module 'host-cpu-c-abi'.
3626         * modules/host-cpu-c-abi: New file.
3627         * m4/host-cpu-c-abi.m4: New file, based on part of
3628         clisp/src/m4/general.m4.
3629         Requested by Sam Steingold <sds@gnu.org>.
3630
3631 2010-08-31  Eric Blake  <eblake@redhat.com>
3632         and Jim Meyering  <meyering@redhat.com>
3633
3634         hash: factor, and guard against misbehaving hasher function
3635         * lib/hash.c (safe_hasher): New function, to encapsulate the checking
3636         of table->hasher's return value.  Also protect against a hash value
3637         so large that adding it to table->bucket results in a NULL pointer.
3638         (hash_lookup, hash_get_next, hash_find_entry, transfer_entries):
3639         Use it in place of open-coded check-and-abort.
3640
3641 2010-08-30  Bruno Haible  <bruno@clisp.org>
3642
3643         hash: silence spurious clang warning
3644         * lib/hash.c (hash_get_next): Remove unnecessary test against NULL.
3645         Reported by Eric Blake.
3646
3647 2010-08-30  Eric Blake  <eblake@redhat.com>
3648
3649         strstr, memmem, strcasestr: avoid leaked shell message
3650         * m4/strstr.m4 (gl_FUNC_STRSTR): Avoid "Alarm clock" message from
3651         FreeBSD.
3652         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
3653         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
3654
3655         tests: silence clang warning
3656         * tests/test-malloca.c (do_allocation): Avoid dead store.
3657
3658 2010-08-29  Bruno Haible  <bruno@clisp.org>
3659
3660         gettext: Fix recent mistake.
3661         * m4/intl.m4 (gt_CHECK_DECL): Fix typo introduced on 2010-08-26.
3662
3663 2010-08-29  Bruno Haible  <bruno@clisp.org>
3664
3665         selinux-h: Offer a --without-selinux option.
3666         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): If
3667         --without-selinux was specified, skip all tests and define
3668         HAVE_SELINUX_SELINUX_H to 0.
3669         (gl_LIBSELINUX): Offer --without-selinux option. If it is specified,
3670         set LIB_SELINUX to empty.
3671         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): Require
3672         gl_LIBSELINUX. If --without-selinux was specified, replace
3673         selinux/context.h.
3674         Reported by Johan Hattne <johan.hattne@utsouthwestern.edu>.
3675
3676 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
3677             Bruno Haible  <bruno@clisp.org>
3678
3679         Make the module 'realloc-gnu' work again on AIX and OSF/1.
3680         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): Define HAVE_REALLOC_GNU instead
3681         of HAVE_REALLOC.
3682         * lib/realloc.c (NEED_REALLOC_GNU): Enable behaviour also when
3683         GNULIB_REALLOC_GNU && !HAVE_REALLOC_GNU.
3684         (SYSTEM_MALLOC_GLIBC_COMPATIBLE): Adjust definition.
3685         * modules/realloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
3686
3687 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
3688             Bruno Haible  <bruno@clisp.org>
3689
3690         Make the module 'calloc-gnu' work again on AIX and OSF/1.
3691         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Define HAVE_CALLOC_GNU instead of
3692         HAVE_CALLOC.
3693         * lib/xmalloc.c: Update accordingly.
3694         * lib/calloc.c (NEED_CALLOC_GNU): Enable also when
3695         GNULIB_CALLOC_GNU && !HAVE_CALLOC_GNU.
3696         * modules/calloc-gnu (configure.ac): Invoke gl_MODULE_INDICATOR.
3697
3698 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
3699             Bruno Haible  <bruno@clisp.org>
3700
3701         Make the module 'malloc-gnu' work again on AIX and OSF/1.
3702         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): Define HAVE_MALLOC_GNU instead of
3703         HAVE_MALLOC.
3704         * lib/malloc.c (NEED_MALLOC_GNU): Enable behaviour also when
3705         GNULIB_MALLOC_GNU && !HAVE_MALLOC_GNU.
3706         * modules/malloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
3707
3708 2010-08-29  Bruno Haible  <bruno@clisp.org>
3709
3710         Update modules list.
3711         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
3712         malloc-gnu, calloc-gnu, realloc-gnu. Remove malloc, calloc, realloc.
3713         (String handling <string.h>): Add astrxfrm.
3714         (File system functions): Add readlinkat.
3715
3716 2010-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3717
3718         Tests for module 'realloc-gnu'.
3719         * modules/realloc-gnu-tests: New file.
3720         * tests/test-realloc-gnu.c: New file.
3721
3722         Tests for module 'calloc-gnu'.
3723         * modules/calloc-gnu-tests: New file.
3724         * tests/test-calloc-gnu.c: New file.
3725
3726         Tests for module 'malloc-gnu'.
3727         * modules/malloc-gnu-tests: New file.
3728         * tests/test-malloc-gnu.c: New file.
3729
3730 2010-08-28  Bruno Haible  <bruno@clisp.org>
3731
3732         Rename module 'realloc' -> 'realloc-gnu'.
3733         * modules/realloc-gnu: New file, copied from modules/realloc.
3734         * modules/realloc: Convert to a redirection to 'realloc-gnu'. Mark as
3735         obsolete.
3736         * modules/mgetgroups (Depends-on): Update.
3737         * doc/posix-functions/realloc.texi: Update.
3738         * NEWS: Mention the change.
3739
3740         Rename module 'calloc' -> 'calloc-gnu'.
3741         * modules/calloc-gnu: New file, copied from modules/calloc.
3742         * modules/calloc: Convert to a redirection to 'calloc-gnu'. Mark as
3743         obsolete.
3744         * doc/posix-functions/calloc.texi: Update.
3745         * NEWS: Mention the change.
3746
3747         Rename module 'malloc' -> 'malloc-gnu'.
3748         * modules/malloc-gnu: New file, copied from modules/malloc.
3749         * modules/malloc: Convert to a redirection to 'malloc-gnu'. Mark as
3750         obsolete.
3751         * modules/argp (Depends-on): Update.
3752         * modules/regex (Depends-on): Update.
3753         * doc/posix-functions/malloc.texi: Update.
3754         * NEWS: Mention the change.
3755
3756 2010-08-28  Eric Blake  <eblake@redhat.com>
3757
3758         pread, pwrite: add missing dependency
3759         * modules/pread (Depends-on): Add extensions.
3760         * modules/pwrite (Depends-on): Likewise.
3761
3762 2010-08-28  Bruno Haible  <bruno@clisp.org>
3763
3764         unistr/u*-strchr: Fix tests dependencies.
3765         * modules/unistr/u8-strchr-tests (Depends-on): Add unistr/u32-to-u8.
3766         * modules/unistr/u16-strchr-tests (Depends-on): Add unistr/u32-to-u16.
3767         Reported by Ian Beckwith <ianb@erislabs.net>.
3768
3769 2010-08-28  Bruno Haible  <bruno@clisp.org>
3770
3771         read-file: Don't occupy too much unused memory.
3772         * lib/read-file.c (fread_file): Shrink the buffer at the end.
3773
3774 2010-08-28  Giuseppe Scrivano  <gscrivano@gnu.org>
3775             Eric Blake  <eblake@redhat.com>
3776             Bruno Haible  <bruno@clisp.org>
3777
3778         read-file: Avoid memory reallocations with regular files.
3779         * lib/read-file.c: Include <sys/stat.h>, <stdio.h>, <stdint.h>.
3780         (fread_file): With regular files, use the remaining length as the
3781         initial buffer size.  Check against overflow.
3782         * modules/read-file (Depends-on): Add ftello, malloc-posix, stdint,
3783         sys_stat.
3784
3785 2010-08-28  Bruno Haible  <bruno@clisp.org>
3786
3787         ftello: Relax license.
3788         * modules/ftello (License): Relax to LGPLv2+.
3789         Reported by Eric Blake.
3790
3791 2010-08-28  Bruno Haible  <bruno@clisp.org>
3792
3793         Avoid relocwrapper link errors due to gnulib replacement functions.
3794         * lib/canonicalize-lgpl.c [IN_RELOCWRAPPER]: Use the system's getcwd
3795         function.
3796         Reported by Ben Pfaff <blp@cs.stanford.edu>.
3797
3798 2010-08-28  Bruno Haible  <bruno@clisp.org>
3799
3800         Prefer using AC_DEFUN_ONCE over AC_DEFUN in projects with gnulib.
3801         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Use AC_DEFUN_ONCE if gl_00GNULIB is
3802         defined.
3803         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): Likewise.
3804         Suggested by Eric Blake.
3805
3806 2010-08-28  Bruno Haible  <bruno@clisp.org>
3807
3808         sys_socket, netdb: Ensure socklen_t gets defined.
3809         * modules/sys_socket (Depends-on): Add socklen.
3810         * modules/netdb (Depends-on): Likewise.
3811         * modules/getaddrinfo (Depends-on): Remove socklen.
3812         * modules/getsockopt (Depends-on): Likewise.
3813         * modules/setsockopt (Depends-on): Likewise.
3814         * tests/test-sys_socket.c: Check that socklen_t is defined.
3815         * tests/test-netdb.c: Likewise.
3816         * m4/socklen.m4: Update comments.
3817         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
3818
3819 2010-08-27  Eric Blake  <eblake@redhat.com>
3820
3821         login_tty: add missing dependency
3822         * modules/login_tty (Depends-on): Add pty.
3823
3824 2010-08-26  Eric Blake  <eblake@redhat.com>
3825
3826         lib-symbol-versions: fix m4 quoting
3827         * m4/ld-version-script.m4 (gl_LD_VERSION_SCRIPT): Use correct
3828         format for AC_LINK_IFELSE.
3829
3830         glob: fix compile test
3831         * m4/glob.m4 (gl_GLOB): Use correct format for AC_COMPILE_IFELSE.
3832
3833         btowc: fix missing file
3834         * modules/btowc (Files): Also ship locale-fr.m4.
3835
3836         lseek: fix link test
3837         * m4/lseek.m4 (gl_FUNC_LSEEK): Use correct format for
3838         AC_LINK_IFELSE.
3839
3840         include_next: silence autoconf 2.68 warning
3841         * m4/include_next.m4 (gl_INCLUDE_NEXT): Mark this use of
3842         AC_COMPILE_IFELSE as special.
3843         (AC_LANG_DEFINES_PROVIDED): Provide dummy implementation for
3844         autoconf < 2.68.
3845
3846         acl: fix compilation test
3847         * m4/acl.m4 (gl_FUNC_ALL): Use correct format for
3848         AC_COMPILE_IFELSE.
3849
3850 2010-08-26  Bruno Haible  <bruno@clisp.org>
3851
3852         Modernize AC_TRY_RUN invocations.
3853         * m4/btowc.m4 (gl_FUNC_BTOWC): Use AC_RUN_IFELSE instead of AC_TRY_RUN.
3854         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
3855         * m4/exponentd.m4 (gl_DOUBLE_EXPONENT_LOCATION): Likewise.
3856         * m4/exponentf.m4 (gl_FLOAT_EXPONENT_LOCATION): Likewise.
3857         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Likewise.
3858         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
3859         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
3860         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
3861         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
3862         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
3863         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
3864         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
3865         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
3866         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
3867         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
3868         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
3869         gl_MBRLEN_NUL_RETVAL): Likewise.
3870         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
3871         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
3872         Likewise.
3873         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
3874         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
3875         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
3876         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
3877         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_N,
3878         gl_PRINTF_DIRECTIVE_LS, gl_PRINTF_POSITIONS, gl_PRINTF_FLAG_GROUPING,
3879         gl_PRINTF_FLAG_LEFTADJUST, gl_PRINTF_FLAG_ZERO, gl_PRINTF_PRECISION,
3880         gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
3881         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99):
3882         Likewise.
3883         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
3884         * m4/signbit.m4 (gl_SIGNBIT, gl_FLOATTYPE_SIGN_LOCATION): Likewise.
3885         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
3886         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
3887         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
3888         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
3889         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
3890         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION): Likewise.
3891         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
3892         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
3893
3894 2010-08-26  Bruno Haible  <bruno@clisp.org>
3895
3896         Modernize AC_TRY_LINK invocations.
3897         * m4/acosl.m4 (gl_FUNC_ACOSL): Use AC_LINK_IFELSE instead of
3898         AC_TRY_LINK.
3899         * m4/argp.m4 (gl_ARGP): Likewise.
3900         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
3901         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
3902         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
3903         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
3904         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
3905         * m4/codeset.m4 (AM_LANGINFO_CODESET): Likewise.
3906         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
3907         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
3908         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
3909         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
3910         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
3911         * m4/frexp.m4 (gl_FUNC_FREXP, gl_CHECK_FREXP_NO_LIBM): Likewise.
3912         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_CHECK_FREXPL_NO_LIBM): Likewise.
3913         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
3914         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
3915         * m4/hostent.m4 (gl_HOSTENT): Likewise.
3916         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
3917         * m4/intl.m4 (gt_INTL_SUBDIR_CORE): Likewise.
3918         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
3919         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM, gl_HAVE_ISNAND_NO_LIBM):
3920         Likewise.
3921         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_HAVE_ISNANF_IN_LIBM):
3922         Likewise.
3923         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM):
3924         Likewise.
3925         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
3926         * m4/ldexpl.m4 (gl_FUNC_LDEXPL, gl_CHECK_LDEXPL_NO_LIBM): Likewise.
3927         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Likewise.
3928         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
3929         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
3930         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
3931         * m4/servent.m4 (gl_SERVENT): Likewise.
3932         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
3933         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
3934         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
3935         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
3936         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
3937         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
3938         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
3939         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
3940         * modules/tsearch-tests (configure.ac): Likewise.
3941
3942 2010-08-26  Bruno Haible  <bruno@clisp.org>
3943
3944         Modernize AC_TRY_COMPILE invocations.
3945         * m4/environ.m4 (gt_CHECK_VAR_DECL): Use AC_COMPILE_IFELSE instead of
3946         AC_TRY_COMPILE.
3947         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Likewise.
3948         * m4/intl.m4 (gt_CHECK_DECL): Likewise.
3949         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
3950         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
3951         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
3952         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
3953         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
3954         * m4/lock.m4 (gl_LOCK): Likewise.
3955         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): Likewise.
3956         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
3957         * m4/minmax.m4 (gl_MINMAX_IN_HEADER): Likewise.
3958         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
3959         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
3960         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Likewise.
3961         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
3962         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Likewise.
3963         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
3964         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
3965         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
3966         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
3967         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Likewise. Remove
3968         extraneous semicolon.
3969
3970 2010-08-26  Jim Meyering  <meyering@redhat.com>
3971
3972         stat-time: relax license LGPL
3973         * modules/stat-time (License): Change from GPL to LGPL,
3974         with consent from all contributors, for use in libguile.
3975         Requested by Ludovic Courtès.
3976
3977 2010-08-26  Erik Faye-Lund  <kusmabite@gmail.com>
3978
3979         poll: return immediately on POLLHUP.
3980         * lib/poll.c (poll): Always set timeout before wait_timeout is
3981         computed.
3982
3983 2010-08-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3984
3985         Fix test-unlinkat, test-rmdir failure on AIX 5.3.
3986         * tests/test-rmdir.h (test_rmdir_func): Also accept EEXIST for
3987         rmdir ("dir/.//"), unlinkat.
3988
3989 2010-08-24  Paul Eggert  <eggert@cs.ucla.edu>
3990
3991         stdbool: avoid spurious failure with modern xlc
3992         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
3993
3994 2010-08-24  Bruno Haible  <bruno@clisp.org>
3995
3996         getloadavg: simplify code
3997         * m4/getloadavg.m4 (gl_GETLOADAVG): Remove useless test of
3998         gl_have_func. Update comments.
3999
4000 2010-08-24  Eric Blake  <eblake@redhat.com>
4001
4002         getloadavg: don't define SVR4 on cygwin
4003         * m4/getloadavg.m4 (gl_GETLOADAVG): Sync with autoconf fix, to
4004         only define SVR4 when -lkvm is required.
4005         Reported by Yaakov Selkowitz.
4006
4007 2010-08-24  Bruno Haible  <bruno@clisp.org>
4008
4009         priv-set: fix comment
4010         * lib/priv-set.c (priv_set_restore): Fix typo in comment.
4011
4012 2010-08-23  Paul Eggert  <eggert@cs.ucla.edu>
4013
4014         priv-set: fix comments
4015         * lib/priv-set.c (priv_set_remove, priv_set_restore): Fix comments
4016         to match code, as suggested by David Bartley in:
4017         http://lists.gnu.org/archive/html/bug-tar/2010-08/msg00018.html
4018
4019 2010-08-23  Eric Blake  <eblake@redhat.com>
4020
4021         stdbool: avoid rejecting clang
4022         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
4023         * tests/test-stdbool.c: Enable more tests if using the system
4024         <stdbool.h> instead of the gnulib replacement.
4025         (main): Move xlc bug test to a runtime test for all compilers.
4026         Reported by Anders Kaseorg.
4027
4028         argz: fix shell quoting issue
4029         * m4/argz.m4 (gl_FUNC_ARGZ): Allow for spaces in argument.
4030         Reported by Charles Wilson.
4031
4032 2010-08-22  Paolo Bonzini  <bonzini@gnu.org>
4033             Erik Faye-Lund <kusmabite@gmail.com>
4034
4035         poll, select: handle ERROR_BROKEN_PIPE.
4036         * lib/poll.c (win32_compute_revents): Return POLLHUP when
4037         PeekNamedPipe fails with ERROR_BROKEN_PIPE.
4038         * lib/select.c (win32_compute_revents): Do not mark a pipe
4039         as writeable if PeekNamedPipe fails with ERROR_BROKEN_PIPE.
4040
4041 2010-08-22  Giuseppe Scrivano  <gscrivano@gnu.org>
4042
4043         fts: allow compilation with C++
4044         * lib/fts_.h: Specify extern "C" linkage with C++.
4045
4046 2010-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
4047
4048         Fix gnulib-tool sed script de-commentation for AIX sed.
4049         * gnulib-tool (sed_comments): Try indented comments, for AIX 5.3
4050         sed.
4051
4052 2010-08-17  Eric Blake  <eblake@redhat.com>
4053
4054         test-stddef: test for (some) offsetof bugs
4055         * tests/test-stddef.c: Enhance test to ensure correct type of
4056         offsetof.
4057         * doc/posix-headers/stddef.texi (stddef.h): Document a Solaris bug
4058         that we are not fixing at this time.
4059
4060 2010-08-15  Bruno Haible  <bruno@clisp.org>
4061
4062         stpncpy: Allow stpncpy to be defined as a macro.
4063         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Don't attempt to redeclare stpncpy
4064         if it's already correctly declared.
4065         * lib/string.in.h (stpncpy): Undefine before redefining.
4066         Reported by Jeremy Huddleston <jeremyhu@macports.org>.
4067
4068 2010-08-14  Bruno Haible  <bruno@clisp.org>
4069
4070         Rename module 'memxfrm' to 'amemxfrm'.
4071         * lib/amemxfrm.h: Renamed from lib/memxfrm.h.
4072         (amemxfrm): Renamed from memxfrm.
4073         * lib/amemxfrm.c: Renamed from lib/memxfrm.h. Include amemxfrm.h.
4074         (amemxfrm): Renamed from memxfrm.
4075         * modules/amemxfrm: Renamed from modules/memxfrm. Update.
4076         * NEWS: Mention the change.
4077         * MODULES.html.sh (String handling <string.h>): Update.
4078         * lib/unicase/u-casexfrm.h: Invoke amemxfrm instead of memxfrm.
4079         * lib/unicase/u8-casexfrm.c: Include amemxfrm.h instead of memxfrm.h.
4080         * lib/unicase/u16-casexfrm.c: Likewise.
4081         * lib/unicase/u32-casexfrm.c: Likewise.
4082         * lib/uninorm/u-normxfrm.h: Invoke amemxfrm instead of memxfrm.
4083         * lib/uninorm/u8-normxfrm.c: Include amemxfrm.h instead of memxfrm.h.
4084         * lib/uninorm/u16-normxfrm.c: Likewise.
4085         * lib/uninorm/u32-normxfrm.c: Likewise.
4086         * modules/unicase/u8-casexfrm (Depends-on): Add amemxfrm, remove
4087         memxfrm.
4088         * modules/unicase/u16-casexfrm (Depends-on): Likewise.
4089         * modules/unicase/u32-casexfrm (Depends-on): Likewise.
4090         * modules/uninorm/u8-normxfrm (Depends-on): Likewise.
4091         * modules/uninorm/u16-normxfrm (Depends-on): Likewise.
4092         * modules/uninorm/u32-normxfrm (Depends-on): Likewise.
4093         Suggested by Paul Eggert.
4094
4095 2010-08-14  Bruno Haible  <bruno@clisp.org>
4096
4097         Tests for module 'astrxfrm'.
4098         * modules/astrxfrm-tests: New file.
4099         * tests/test-astrxfrm.c: New file.
4100
4101         New module 'astrxfrm'.
4102         * lib/astrxfrm.h: New file.
4103         * lib/astrxfrm.c: New file, based on lib/memxfrm.c.
4104         * modules/astrxfrm: New file.
4105
4106 2010-08-14  Reuben Thomas <rrt@sc3d.org>
4107
4108         regex: Tweak doc.
4109         * doc/regex.texi (Overview): Don't mention regex.c.
4110         (GNU Regular Expression Compiling): Likewise.
4111         (Match-end-of-line Operator): Mention 'not_eol'.
4112
4113 2010-08-14  Brian Gough  <bjg@gnu.org>
4114             Bruno Haible  <bruno@clisp.org>
4115
4116         git-merge-changelog: add doc relating to use with bzr and hg.
4117         * lib/git-merge-changelog.c: Add comments regarding bzr, hg, diff3.
4118
4119 2010-08-14  Matthias Bolte  <matthias.bolte@googlemail.com>
4120
4121         pthread: fix pthread.h creation for srcdir != builddir
4122         * modules/pthread (Makefile.am): Fix the rule to work also in a
4123         non-srcdir build.
4124
4125 2010-08-13  Karl Berry  <karl@gnu.org>
4126
4127         * doc/regex.texi (Predefined Syntaxes): @smallexample.
4128         * doc/posix-*/*: force line break before @url of POSIX
4129         specifications.
4130         Suggested by Werner Lemberg.
4131
4132 2010-08-10  Paul Eggert  <eggert@cs.ucla.edu>
4133
4134         strtod: fix const diagnostic
4135         * lib/strtod.c (strtod): Don't assign const char * to char *,
4136         as this elicits a warning from GCC when warnings are enabled.
4137
4138 2010-08-10  Pádraig Brady <P@draigbrady.com>
4139         and Eric Blake  <eblake@redhat.com>
4140
4141         copy-acl: ignore ENOTSUP on HP-UX
4142         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Move definition up,
4143         so that it is available for HP-UX.
4144         * lib/copy-acl.c (qcopy_acl): Use it.
4145         Reported by Patrick M. Callahan.
4146
4147 2010-08-10  Eric Blake  <eblake@redhat.com>
4148
4149         open, chown: relax license
4150         * modules/open (License): Change to LGPLv2+, with consent by all
4151         authors, for use in augeas.
4152         * modules/chown (License): Likewise.
4153         * modules/lchown (Likewise): Likewise.
4154         Requested by Adam Stokes.
4155
4156 2010-08-09  Karl Berry  <karl@gnu.org>
4157
4158         * build-aux/ar-lib: new file, import from Automake.
4159         * config/srclist.txt: autocheck for updates.
4160
4161 2010-08-09  Eric Blake  <eblake@redhat.com>
4162
4163         readlinkat: adjust client modules
4164         * modules/areadlinkat (Depends-on): Use readlinkat, not
4165         symlinkat.
4166         * modules/areadlinkat-with-size (Depends-on): Likewise.
4167
4168         mknod: be more vocal about danger of running tests as root
4169         * m4/mknod.m4 (gl_FUNC_MKNOD): Make it harder to run configure as
4170         root, since that is just asking for problems.
4171         Suggested by Bruno Haible, based on a report by Rainer Tammer.
4172
4173         readlinkat: split into its own module
4174         * modules/symlinkat: Split readlinkat...
4175         * modules/readlinkat: ...into separate module.
4176         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move readlinkat check...
4177         * m4/readlinkat.m4 (gl_FUNC_READLINAT): ...to new file.
4178         * lib/symlinkat.c (readlinkat): Move...
4179         * lib/readlinkat.c: ...into new file.
4180         * modules/symlinkat-tests: Split readlinkat test...
4181         * modules/readlinkat-tests: ...into separate module.
4182         * tests/test-symlinkat.c: Split...
4183         * tests/test-readlinkat.c: ...into new file.
4184         * NEWS: Document the split.
4185         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
4186         * lib/unistd.in.h (readlinkat): Likewise.
4187         Suggested by Bruno Haible.
4188
4189 2010-08-08  Bruno Haible  <bruno@clisp.org>
4190
4191         memxfrm: Speed up.
4192         * lib/memxfrm.c (memxfrm): Allocate enough memory ahead of time, so
4193         that usually only one call to strxfrm is necessary for each string
4194         part.
4195         Reported by Paul Eggert <eggert@cs.ucla.edu>.
4196
4197 2010-08-07  Karl Berry  <karl@gnu.org>
4198
4199         * doc/posix-headers/limits.texi,
4200         * doc/posix-functions/malloc.texi,
4201         * doc/posix-functions/strsignal.texi: missing @item.
4202         * doc/ld-version-script.texi: spurious leading i.
4203         * doc/regex.texi (Interval Operators): no commas inside @var.
4204
4205 2010-08-01  Bruno Haible  <bruno@clisp.org>
4206
4207         Integrate the regex documentation.
4208         * doc/gnulib.texi: Define 'cn' index.
4209         (Regular expressions): New a chapter that includes regex.texi and
4210         regexprops-generic.texi.
4211         * doc/regex.texi: Remove boilerplate stuff. Use simplified @node
4212         syntax.
4213
4214         Whitespace cleanup.
4215         * doc/regex.texi: Remove trailing spaces.
4216
4217         Add regex documentation.
4218         * doc/regex.texi: New file. Taken from regex-0.12/doc/regex.texi in
4219         http://ftp.gnu.org/old-gnu/regex/regex-0.12.tar.gz.
4220         Written by Kathy A. Hargreaves and Karl Berry.
4221
4222 2010-08-01  Bruno Haible  <bruno@clisp.org>
4223
4224         link: Update documentation.
4225         * doc/posix-functions/link.texi: Update regarding Solaris.
4226
4227 2010-07-31  Bruno Haible  <bruno@clisp.org>
4228
4229         Update modules list.
4230         * MODULES.html.sh (Sorting functions <stdlib.h>): Add array-mergesort.
4231         (String handling <string.h>): Add memcmp2, memxfrm.
4232         (Container data structures): Add xlist, xsublist, xoset.
4233         (Core language properties): Add alignof, unused-parameter.
4234         (Process control, Numeric conversion functions <stdlib.h>): Renamed
4235         from Numeric conversion functions <stdlib.h>. Add _Exit, atoll.
4236         (Unibyte characters <ctype.h>): New section.
4237         (String handling <string.h>): New section.
4238         (Mathematics <math.h>): Add acos, acosl, asin, asinl, atan, atan2,
4239         atanl, cbrt, copysign, cos, cosh, cosl, erf, erfc, exp, expl, fabs,
4240         fmod, hypot, j0, j1, jn, ldexp, lgamma, log, log10, log1p, logb, logl,
4241         modf, nextafter, pow, remainder, rint, sin, sinh, sinl, sqrt, sqrtl,
4242         tan, tanh, tanl, y0, y1, yn.
4243         (Support for systems lacking POSIX:2008): Add alphasort, dirent,
4244         dprintf, dprintf-posix, duplocale, fcntl, getlogin, getopt-posix,
4245         grantpt, iconv-h, ioctl, isblank, langinfo, nl_langinfo, pread,
4246         ptsname, pwrite, scandir, servent, sys_utsname, ttyname_r, uname,
4247         unlockpt, vdprintf, vdprintf-posix.
4248         (Enhancements for POSIX:2008 functions): Add getopt-gnu. Remove getopt.
4249         (File system functions): Add concat-filename, sys_file, sys_ioctl,
4250         xconcat-filename.
4251         (File descriptor based Input/Output): Add dup3, fd-safer-flag,
4252         getdtablesize, pipe2, pipe2-safer.
4253         (Security): New section.
4254         (Networking functions): Add accept4.
4255         (Signal handling): Add sigpipe.
4256         (Internationalization functions): Add xstriconveh, mbmemcasecmp,
4257         mbmemcasecoll.
4258         (Unicode string functions): Add libunistring-optional, unistr/u*-cmp2,
4259         unistr/u*-strcoll, uniwbrk/*, uninorm/*, unicase/*.
4260         (Executing programs): Add findprog-lgpl, pipe-filter-gi,
4261         pipe-filter-ii.
4262         (Misc): Add argp-version-etc, login_tty, parse-duration.
4263
4264 2010-07-31  Bruno Haible  <bruno@clisp.org>
4265
4266         Improve doc in MODULES.html.
4267         * modules/linkat (Description): Add the word "function".
4268         * modules/mkfifo (Description): Likewise.
4269         * modules/mknod (Description): Likewise.
4270         * modules/remove (Description): Likewise.
4271         * modules/renameat (Description): Likewise.
4272         * modules/stat (Description): Likewise.
4273         * modules/symlink (Description): Likewise.
4274         * modules/unlink (Description): Likewise.
4275
4276 2010-07-31  Bruno Haible  <bruno@clisp.org>
4277
4278         ansi-c++-opt: Provide option --enable-c++/--disable-c++ when possible.
4279         * m4/ansi-c++.m4 (gl_CXX_CHOICE): In Autoconf 2.66 or newer, provide
4280         option --enable/disable-c++ instead of --enable/disable-cxx.
4281         * NEWS: Mention the change.
4282
4283 2010-07-31  Bruno Haible  <bruno@clisp.org>
4284
4285         readlink, areadlink: Relax test a bit.
4286         * tests/test-readlink.h (test_readlink): Accept EINVAL as an
4287         alternative to ENOTDIR.
4288         * tests/test-areadlink.h (test_areadlink): Likewise.
4289         Reported by Rainer Tammer.
4290
4291 2010-07-31  Bruno Haible  <bruno@clisp.org>
4292
4293         unistr/u8-strstr, unistr/u16-strstr: Optimize the one-character case.
4294         * lib/unistr/u-strstr.h (FUNC): When the needle contains only one
4295         character, perform the search using U_STRCHR.
4296         * lib/unistr/u8-strstr.c (U_STRMBTOUC): New macro.
4297         * lib/unistr/u16-strstr.c (U_STRMBTOUC): Likewise.
4298         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strmbtouc.
4299         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strmbtouc.
4300         Suggested by Paolo Bonzini.
4301
4302 2010-07-31  Bruno Haible  <bruno@clisp.org>
4303
4304         unistr/u*-strstr: Fix dependencies.
4305         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strchr.
4306         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strchr.
4307         * modules/unistr/u32-strstr (Depends-on): Add unistr/u32-strchr.
4308
4309 2010-07-31  Bruno Haible  <bruno@clisp.org>
4310
4311         unistr/u8-chr, unistr/u8-strchr: Optimize and add comments.
4312         * lib/unistr/u8-chr.c (u8_chr): Add comments. Remove a useless test at
4313         the beginning of the loop.
4314         * lib/unistr/u8-strchr.c (u8_strchr): Add comments. Don't fall through
4315         cases in 'switch' statement.
4316
4317         unistr/u8-strchr: Fix several bugs.
4318         * lib/unistr/u8-strchr.c (u8_strchr): Don't search beyond the end of
4319         the string. When not found, return NULL, not a pointer near the end.
4320
4321         More tests for unistr/u8-strchr.
4322         * tests/unistr/test-strchr.h (test_strchr): Renamed from main. Check
4323         that the function does not read past the first occurrence of the byte
4324         being searched.
4325         * tests/unistr/test-u8-strchr.c (main): New function, with more tests.
4326         * tests/unistr/test-u16-strchr.c (main): New function.
4327         * tests/unistr/test-u32-strchr.c (main): New function.
4328
4329 2010-07-31  Bruno Haible  <bruno@clisp.org>
4330
4331         posix-modules: Ignore backup files of documentation files.
4332         * posix-modules: grep only through files named *.texi.
4333
4334 2010-07-31  Bruno Haible  <bruno@clisp.org>
4335
4336         symlinkat: Fix documentation.
4337         * doc/posix-functions/readlinkat.texi: Fix module name.
4338
4339 2010-07-31  Bruno Haible  <bruno@clisp.org>
4340
4341         fchownat: Replace also when chown has the trailing slash bug.
4342         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Move the test of REPLACE_CHOWN
4343         outside the gl_FUNC_FCHOWNAT_DEREF_BUG invocation. Fixes regression
4344         introduced on 2010-04-10.
4345         Reported by Rainer Tammer.
4346
4347 2010-07-31  Bruno Haible  <bruno@clisp.org>
4348
4349         linkat: Work around AIX 7.1 bug.
4350         * m4/linkat.m4 (gl_FUNC_LINKAT): Require AC_CANONICAL_HOST. Test
4351         whether linkat handles trailing slash correctly. If not, replace linkat
4352         and define LINKAT_TRAILING_SLASH_BUG.
4353         * lib/linkat.c (rpl_linkat): If LINKAT_TRAILING_SLASH_BUG is defined,
4354         check whether (fd1,file1) points to a directory if file1 or file2 ends
4355         in a slash. Code taken from lib/link.c.
4356         * doc/posix-functions/linkat.texi: Mention trailing slash bug.
4357         Reported by Rainer Tammer.
4358
4359 2010-07-31  Bruno Haible  <bruno@clisp.org>
4360
4361         Correctly determine whether pow is available in libc on AIX 7 with xlc.
4362         * m4/mathfunc.m4 (gl_MATHFUNC): Actually use the 'funcptr' variable.
4363         This disables an xlc optimization that was causing wrong test results.
4364         Reported by Rainer Tammer.
4365
4366 2010-07-31  Bruno Haible  <bruno@clisp.org>
4367
4368         iconv: Work around AIX 6.1..7.1 bug.
4369         * doc/posix-functions/iconv.texi: Mention AIX 6.1, 7.1 bug.
4370         * m4/iconv.m4 (AM_ICONV_LINK): Test against AIX 6.1, 7.1 bug. When
4371         cross-compiling, guess no on all versions of AIX.
4372         Reported by Rainer Tammer.
4373
4374 2010-07-31  Bruno Haible  <bruno@clisp.org>
4375
4376         readlink: Relax test a bit.
4377         * tests/test-readlink.h (test_readlink): Allow different errno value
4378         when readlink is called with a file name that ends in / and refers to
4379         a file.
4380         Suggested by Eric Blake.
4381         Reported by Rainer Tammer.
4382
4383 2010-07-31  Bruno Haible  <bruno@clisp.org>
4384
4385         copysign: Does not require -lm on glibc systems.
4386         * modules/copysign (configure.ac): Use gl_MATHFUNC, not
4387         gl_COMMON_DOUBLE_MATHFUNC.
4388         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC): Update comments.
4389
4390 2010-07-31  Bruno Haible  <bruno@clisp.org>
4391
4392         duplocale: Work around AIX 7.1 bug.
4393         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Let the test fail also when
4394         duplocale(LC_GLOBAL_LOCALE) returns (locale_t)0.
4395         * lib/duplocale.c (rpl_duplocale): Update comment.
4396         * doc/posix-functions/duplocale.texi: Mention the AIX 7.1 bug.
4397         Reported by Rainer Tammer.
4398
4399 2010-07-30  Bruno Haible  <bruno@clisp.org>
4400
4401         dirfd: Avoid link error on AIX 7.1.
4402         * lib/dirent.in.h (dirfd): Use modern idiom with REPLACE_DIRFD.
4403         * m4/dirfd.m4 (gl_FUNC_DIRFD): If the function is declared but does not
4404         exist, set REPLACE_DIRFD.
4405         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize REPLACE_DIRFD.
4406         * modules/dirent (Makefile.am): Substitute REPLACE_DIRFD.
4407         * doc/posix-functions/dirfd.texi: Update.
4408         Reported by Rainer Tammer.
4409
4410 2010-07-30  Eric Blake  <eblake@redhat.com>
4411
4412         strtod: next round of AIX fixes
4413         * lib/strtod.c (strtod): Work around AIX bug of parsing p with no
4414         exponent.
4415         * tests/test-strtod.c (main): Enhance tests.
4416         * doc/posix-functions/strtod.texi (strtod): Document next bug.
4417         Reported by Rainer Tammer.
4418
4419         futimens: fix configure check
4420         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Use correct logic.
4421         Reported by Bruno Haible.
4422
4423 2010-07-30  Bruno Haible  <bruno@clisp.org>
4424
4425         getline: Update regarding AIX.
4426         * doc/posix-functions/getline.texi: Mention bug on AIX 7.1.
4427         Reported by Rainer Tammer.
4428
4429 2010-07-30  Bruno Haible  <bruno@clisp.org>
4430
4431         wcwidth: Drop replacement on AIX 7.
4432         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): When cross-compiling, guess yes on
4433         AIX 7.
4434         Reported by Rainer Tammer.
4435
4436 2010-07-30  Bruno Haible  <bruno@clisp.org>
4437
4438         strtok_r: Avoid triggering bug in AIX 7.1 xlc compiler.
4439         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't cast an invalid address to
4440         a 'char *'.
4441         Reported by Rainer Tammer.
4442
4443 2010-07-30  Bruno Haible  <bruno@clisp.org>
4444
4445         unlink: Update regarding AIX.
4446         * doc/posix-functions/unlink.texi: Mention bug on AIX 7.1.
4447         * m4/unlink.m4 (gl_FUNC_UNLINK): Update comment.
4448         Reported by Rainer Tammer.
4449
4450 2010-07-30  Bruno Haible  <bruno@clisp.org>
4451
4452         symlink: Update regarding AIX.
4453         * doc/posix-functions/symlink.texi: Mention bug on AIX 7.1.
4454         * m4/symlink.m4 (gl_FUNC_SYMLINK): Update comment.
4455         Reported by Rainer Tammer.
4456
4457 2010-07-30  Bruno Haible  <bruno@clisp.org>
4458
4459         strndup: Update regarding AIX.
4460         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, guess yes on
4461         AIX 7.
4462         Reported by Rainer Tammer.
4463
4464 2010-07-30  Bruno Haible  <bruno@clisp.org>
4465
4466         stat: Update regarding AIX.
4467         * doc/posix-functions/stat.texi: Mention bug on AIX 7.1.
4468         * m4/stat.m4 (gl_FUNC_STAT): Update comment.
4469         Reported by Rainer Tammer.
4470
4471 2010-07-30  Bruno Haible  <bruno@clisp.org>
4472
4473         truncl: Fix autoconf test.
4474         * m4/truncl.m4 (gl_FUNC_TRUNCL): Add TRUNCL_LIBM to LIBS while testing
4475         whether truncl works.
4476         Reported by Rainer Tammer.
4477
4478 2010-07-30  Bruno Haible  <bruno@clisp.org>
4479
4480         round: Update regarding AIX.
4481         * m4/round.m4 (gl_FUNC_ROUND): When cross-compiling, guess no on AIX 7.
4482         * doc/posix-functions/round.texi: Mention bug on AIX 7.1.
4483         Reported by Rainer Tammer.
4484
4485 2010-07-30  Bruno Haible  <bruno@clisp.org>
4486
4487         rename: Update regarding AIX.
4488         * doc/posix-functions/rename.texi: Mention bug on AIX 7.1.
4489         * m4/rename.m4 (gl_FUNC_RENAME): Update comment.
4490         Reported by Rainer Tammer.
4491
4492 2010-07-30  Bruno Haible  <bruno@clisp.org>
4493
4494         printf.m4: Update regarding AIX.
4495         * m4/printf.m4: Update comments regarding AIX.
4496         Reported by Rainer Tammer.
4497
4498 2010-07-30  Bruno Haible  <bruno@clisp.org>
4499
4500         iconv: Update regarding AIX.
4501         * m4/iconv.m4 (AM_ICONV_LINK): When cross-compiling, guess yes on
4502         AIX 7.
4503         Reported by Rainer Tammer.
4504
4505 2010-07-30  Bruno Haible  <bruno@clisp.org>
4506
4507         getopt: Update regarding AIX.
4508         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): When cross-compiling, guess
4509         no on AIX.
4510         * doc/posix-functions/getopt.texi: Mention that AIX has the optind bug.
4511         Reported by Rainer Tammer.
4512
4513 2010-07-30  Bruno Haible  <bruno@clisp.org>
4514
4515         ldexpl; Update regarding AIX.
4516         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): When cross-compiling, guess yes
4517         on AIX 7.
4518         Reported by Rainer Tammer.
4519
4520 2010-07-30  Bruno Haible  <bruno@clisp.org>
4521
4522         frexpl: Update regarding AIX.
4523         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): When cross-compiling, guess yes
4524         on AIX 7.
4525         Reported by Rainer Tammer.
4526
4527 2010-07-30  Bruno Haible  <bruno@clisp.org>
4528
4529         open, fopen: Update regarding AIX.
4530         * m4/open.m4 (gl_FUNC_OPEN): Adjust cross-compiling guess for AIX.
4531         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
4532         * doc/posix-functions/open.texi: Mention the trailing-slash bug on AIX.
4533         * doc/posix-functions/fopen.texi: Likewise.
4534         Reported by Rainer Tammer.
4535
4536 2010-07-30  Bruno Haible  <bruno@clisp.org>
4537
4538         chown: Update doc regarding AIX.
4539         * doc/posix-functions/chown.texi: Mention bug on AIX 7.1.
4540         * m4/chown.m4 (gl_FUNC_CHOWN): Update comment.
4541         Reported by Rainer Tammer.
4542
4543 2010-07-30  Eric Blake  <eblake@redhat.com>
4544
4545         strtod: fix bug in replacement function on AIX
4546         * lib/strtod.c (strtod): Special case broken "0x" parse in
4547         underlying strtod.
4548         * tests/test-strtod.c (main): Document AIX 7.1 bugs.
4549         * doc/posix-functions/strtod.texi (strtod): Likewise.
4550         Reported by Rainer Tammer.
4551
4552 2010-07-30  Bruno Haible  <bruno@clisp.org>
4553
4554         mbrlen: Fix cross-compilation guess for AIX.
4555         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE): Fix cross-compilation
4556         guess. Leftover from 2008-12-22.
4557
4558 2010-07-30  Bruno Haible  <bruno@clisp.org>
4559
4560         mbrtowc: Fix cross-compilation guess for AIX.
4561         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Fix cross-compilation
4562         guess. Leftover from 2008-12-21.
4563
4564 2010-07-29  Peter O'Gorman  <pogma@thewrittenword.com>  (tiny change)
4565
4566         init.sh: work around trap limitation of some shells
4567         * tests/init.sh (setup_): Move exit trap outside of shell function.
4568
4569 2010-07-29  Eric Blake  <eblake@redhat.com>
4570
4571         strtod: aid debugging
4572         * m4/strtod.m4(gl_FUNC_STRTOD): Use distinct exit status to aid
4573         understanding why strtod is rejected.
4574
4575 2010-07-28  Bruno Haible  <bruno@clisp.org>
4576
4577         unistr/u*-chr, unistr/u*-strchr: Fix link errors and warnings.
4578         * lib/unistr/u8-chr.c: Include <string.h>.
4579         * tests/unistr/test-u8-chr.c: Likewise.
4580         * tests/unistr/test-u16-chr.c: Likewise.
4581         * tests/unistr/test-u32-chr.c: Likewise.
4582         * tests/unistr/test-u8-strchr.c: Likewise.
4583         * tests/unistr/test-u16-strchr.c: Likewise.
4584         * tests/unistr/test-u32-strchr.c: Likewise.
4585         * modules/unistr/u8-chr-tests (Depends-on): Add unistr/u32-set.
4586         * modules/unistr/u16-chr-tests (Depends-on): Likewise.
4587         * modules/unistr/u8-strchr-tests (Depends-on): Likewise.
4588         * modules/unistr/u16-strchr-tests (Depends-on): Likewise.
4589
4590 2010-07-28  Bruno Haible  <bruno@clisp.org>
4591
4592         Use spaces for indentation, not tabs.
4593         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
4594
4595 2010-07-27  Bruno Haible  <bruno@clisp.org>
4596
4597         mbspcasecmp: Fix function specification.
4598         * lib/string.in.h (mbspcasecmp): Fix specification comment.
4599         * lib/mbspcasecmp.c (mbspcasecmp): Likewise.
4600         Reported by Eric Blake <eblake@redhat.com>.
4601
4602 2010-07-26  Paul R. Eggert  <eggert@cs.ucla.edu>
4603
4604         timespec: use cast and not conditional, as truncation isn't possible
4605         * lib/timespec.h (timespec_cmp): Use cast to pacify gcc -Wconversion
4606         instead of a conditional.  Comment about the situation in more detail.
4607         This undoes most of the 2009-10-29 patch.
4608
4609 2010-07-23  Paolo Bonzini  <pbonzini@redhat.com>
4610
4611         unistr/u8-chr, unistr/u8-strchr: use Boyer-Moore like algorithm.
4612         * lib/unistr/u8-chr.c: Add Boyer-Moore like operation.
4613         * lib/unistr/u8-strchr.c: Likewise.
4614         * modules/unistr/u8-chr: Depend on memchr.
4615
4616         unistr/u*-strchr: add tests
4617         * modules/unistr/u8-strchr-tests: New file.
4618         * modules/unistr/u16-strchr-tests: New file.
4619         * modules/unistr/u32-strchr-tests: New file.
4620         * tests/unistr/test-strchr.h: New file.
4621         * tests/unistr/test-u8-strchr.c: New file.
4622         * tests/unistr/test-u16-strchr.c: New file.
4623         * tests/unistr/test-u32-strchr.c: New file.
4624
4625         unistr/u*-chr: test multibyte sequences more
4626         * tests/unistr/test-chr.h: Do complete testing of the characters in the
4627         test vector.
4628         * tests/unistr/test-u8-chr.c (U_UCTOMB): Define.
4629         * tests/unistr/test-u16-chr.c (U_UCTOMB): Likewise.
4630         * tests/unistr/test-u32-chr.c (U_UCTOMB): Likewise.
4631
4632         unistr/u*-chr: test multibyte sequences
4633         * tests/unistr/test-chr.h: Put characters above 0-127 in the test input.
4634
4635         unistr/u*-chr: prepare for multibyte tests
4636         * modules/unistr/u8-chr-tests: Depend on u32-to-u8.
4637         * modules/unistr/u16-chr-tests: Depend on u32-to-u16.
4638         * tests/unistr/test-chr.h: Build initial version as UCS-4 then convert.
4639         * tests/unistr/test-u8-chr.c (U32_TO_U): Define.
4640         * tests/unistr/test-u16-chr.c (U32_TO_U): Likewise.
4641         * tests/unistr/test-u32-chr.c (U32_TO_U): Likewise.
4642
4643 2010-07-18  Bruno Haible  <bruno@clisp.org>
4644
4645         unistr/u8-strchr: Optimize non-ASCII argument case.
4646         * lib/unistr/u8-strchr.c (u8_strchr): Compare the last byte first,
4647         because the first byte often matches anyway.
4648         Reported by Pádraig Brady <P@draigbrady.com>.
4649
4650 2010-07-15  Karl Berry  <karl@gnu.org>
4651
4652         * config/srclist.txt (fdl.texi): only one copy, from gnustandards.
4653
4654 2010-07-14  Paul R. Eggert  <eggert@cs.ucla.edu>
4655
4656         getcwd: on Solaris, work better if ancestors are inaccessible
4657         * lib/getcwd.c (__getcwd): If getcwd returns EINVAL for zero
4658         buffer and size, try again with a large buffer.  This works better
4659         on Solaris, since its getcwd succeeds even if the path to the root
4660         is inaccessible, and this is helpful in common cases such as .zfs
4661         hidden directories.  Problem reported by J Chapman Flack in
4662         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00000.html
4663         Use system getcwd if it's declared, not merely if it's partly
4664         working; use the partly-working test only to avoid needless effort
4665         if the system getcwd fails.
4666         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Omit
4667         comment that was already obsolete and is now even more obsolete.
4668         * modules/getcwd (Depends-on): Depend on strdup, since __getcwd
4669         now might call strdup.
4670
4671 2010-07-13  Paul R. Eggert  <eggert@cs.ucla.edu>
4672
4673         pthread: Add enough so that coreutils/src/sort.c compiles.
4674         * lib/pthread.in.h: Add self to author comment.  Conditionalize on
4675         _GL_PTHREAD_H, not PTHREAD_H_, for consistency with the rest of
4676         gnulib. Include <sched.h> and <time.h>, as per POSIX.
4677         Include <sys/types.h>, in case it defines pthread_t.
4678         (pthread_t, pthread_attr_t, pthread_barrier_t, pthread_barrierattr_t):
4679         (pthread_cond_t, pthread_condattr_t, pthread_key_t, pthread_mutex_t):
4680         (pthread_mutexattr_t, pthread_once_t, pthread_rwlock_t):
4681         (pthread_rwlockattr_t, pthread_spinlock_t):
4682         New typedefs, if HAVE_PTHREAD_T is not defined.
4683         (PTHREAD_COND_INITIALIZER, PTHREAD_MUTEX_INITIALIZER):
4684         (PTHREAD_ONCE_INIT, PTHREAD_RWLOCK_INITIALIZER):
4685         (PTHREAD_BARRIER_SERIAL_THREAD, PTHREAD_CANCEL_DEFERRED):
4686         (PTHREAD_CANCEL_ASYNCHRONOUS, PTHREAD_CANCEL_ENABLE):
4687         (PTHREAD_CANCEL_DISABLE, PTHREAD_CANCELED, PTHREAD_CREATE_JOINABLE):
4688         (PTHREAD_CREATE_DETACHED, PTHREAD_INHERIT_SCHED):
4689         (PTHREAD_EXPLICIT_SCHED, PTHREAD_MUTEX_DEFAULT, PTHREAD_MUTEX_NORMAL):
4690         (PTHREAD_MUTEX_ERRORCHECK, PTHREAD_MUTEX_RECURSIVE):
4691         (PTHREAD_MUTEX_STALLED, PTHREAD_MUTEX_ROBUST, PTHREAD_PRIO_NONE):
4692         (PTHREAD_PRIO_INHERIT, PTHREAD_PRIO_PROTECT, PTHREAD_PROCESS_PRIVATE):
4693         (PTHREAD_PROCESS_SHARED, PTHREAD_SCOPE_SYSTEM, PTHREAD_SCOPE_PROCESS):
4694         New macros.
4695         (pthread_cond_destroy, pthread_cond_init, pthread_cond_signal):
4696         (pthread_cond_wait, pthread_exit, pthread_mutex_destroy):
4697         (pthread_mutex_init, pthread_mutex_lock, pthread_mutex_unlock):
4698         (pthread_spin_init, pthread_spin_lock, pthread_spin_trylock);
4699         (pthread_spin_unlock): New dummy functions.
4700         (pthread_create): Return EAGAIN; don't set errno.
4701         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_t, and
4702         require AC_C_INLINE.
4703         * modules/pthread (Depends-on): Add sched, time.
4704         (pthread.h): Use AM_V_GEN.
4705
4706 2010-07-13  Bruno Haible  <bruno@clisp.org>
4707
4708         striconveh: Don't malloc memory if the result buffer is sufficient.
4709         * lib/striconveh.c (mem_cd_iconveh_internal): Use the provided result
4710         buffer if its size is sufficient.
4711         Reported by Ludovic Courtès <ludo@gnu.org>.
4712
4713 2010-07-13  Bruno Haible  <bruno@clisp.org>
4714
4715         strtod: Add safety check.
4716         * lib/strtod.c (ldexp): Abort if this dummy replacement gets called.
4717
4718 2010-07-12  Bruno Haible  <bruno@clisp.org>
4719
4720         Unify tests that set gl_cv_func_ldexpl_no_libm.
4721         * m4/ldexpl.m4 (gl_CHECK_LDEXPL_NO_LIBM): New macro, extracted from
4722         gl_FUNC_LDEXPL.
4723         (gl_FUNC_LDEXPL): Invoke it.
4724         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
4725
4726 2010-07-12  Bruno Haible  <bruno@clisp.org>
4727
4728         Unify tests that set gl_cv_func_ldexp_no_libm.
4729         * m4/ldexp.m4: New file, based on m4/mathfunc.m4.
4730         * m4/strtod.m4 (gl_PREREQ_STRTOD): Require gl_CHECK_LDEXP_NO_LIBM.
4731         * modules/ldexp (Files): Remove m4/mathfunc.m4. Add m4/ldexp.m4.
4732         (configure.ac): Simply invoke gl_FUNC_LDEXP.
4733         * modules/strtod (Files): Add m4/ldexp.m4.
4734
4735 2010-07-12  Bruno Haible  <bruno@clisp.org>
4736
4737         Unify tests that set gl_cv_func_frexpl_no_libm.
4738         * m4/frexpl.m4 (gl_CHECK_FREXPL_NO_LIBM): New macro, extracted from
4739         gl_FUNC_FREXPL_NO_LIBM.
4740         (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Invoke it.
4741         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
4742
4743 2010-07-12  Bruno Haible  <bruno@clisp.org>
4744
4745         Unify tests that set gl_cv_func_frexp_no_libm.
4746         * m4/frexp.m4 (gl_CHECK_FREXP_NO_LIBM): New macro, extracted from
4747         gl_FUNC_FREXP_NO_LIBM.
4748         (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Require it.
4749         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
4750
4751 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
4752
4753         memcoll: clarify sizes versus lengths, document better, and tweak perf
4754         * lib/memcoll.c (strcoll_loop, memcoll0):
4755         Improve quality of descriptive comments.  Name variables
4756         consistently as to whether they are lengths (which do not include
4757         terminating null) versus sizes (which do).
4758         * lib/xmemcoll.c (xmemcoll0): Likewise.
4759         * lib/memcoll.c (strcoll_loop): Tweak the way that the diff is
4760         returned when s1size == 0; this is easier to compile and saves
4761         about 17% of memcoll's code space on x86-64 with GCC 4.1.2.
4762
4763 2010-07-12  Bruno Haible  <bruno@clisp.org>
4764
4765         Tests for module '_Exit'.
4766         * modules/_Exit-tests: New file.
4767         * tests/test-_Exit.sh: New file.
4768         * tests/test-_Exit.c: New file.
4769
4770         New module '_Exit'.
4771         * lib/stdlib.in.h (__attribute__): New macro.
4772         (_Exit): New declaration.
4773         * lib/_Exit.c: New file.
4774         * m4/_Exit.m4: New file.
4775         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether _Exit is declared.
4776         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB__EXIT and HAVE__EXIT.
4777         * modules/stdlib (Makefile.am): Substitute GNULIB__EXIT and HAVE__EXIT.
4778         * modules/_Exit: New file.
4779         * tests/test-stdlib-c++.cc (_Exit): Check signature.
4780         * doc/posix-functions/_Exit_C99.texi: Mention the new module.
4781
4782 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
4783
4784         strtod: make it more-accurate typically, and don't require libm
4785         * lib/strtod.c (_GL_ARG_NONNULL): Remove; no longer needed.
4786         Include limits.h.  Don't include string.h.
4787         (HAVE_LDEXP_IN_LIBC, HAVE_RAW_DECL_STRTOD): Define to 0 if not defined.
4788         (locale_isspace): New function, so that no casts are needed to
4789         check whether *s is a space.
4790         (ldexp): Provide an unused dummy if not available.
4791         (scale_radix_exp, parse_number, underlying_strtod): New functions.
4792         (strtod): Use them.  This implementation prefers to use the
4793         underlying strtod if available, falling back on our own code
4794         only to fix known bugs.  This is more likely to produce an
4795         accurate result.  Also, it avoids the use of libm functions.
4796         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't invoke _AC_LIBOBJ_STRTOD;
4797         no longer needed.  Invoke AC_LIBOBJ([strtod]); don't know why this
4798         was absent, but it caused a test failure with coreutils.
4799         (gl_PREREQ_STRTOD): Check wither ldexp can be used without linking
4800         with libm.
4801         * modules/strtod (Makefile.am, Link): libm is no longer needed.
4802         * modules/strtod-tests (Makefile.am): Likewise.
4803
4804 2010-07-11  Pádraig Brady  <P@draigBrady.com>
4805             Bruno Haible  <bruno@clisp.org>
4806
4807         unistr/u8-strchr: Optimize ASCII argument case.
4808         * lib/unistr/u8-strchr.c (u8_strchr): For ASCII arguments, use strchr.
4809
4810 2010-07-08  Paul Eggert  <eggert@cs.ucla.edu>
4811
4812         (x)memcoll: minor tweaks
4813         * lib/memcoll.c (strcoll_loop): Prefer the style where 'const'
4814         is after the type that it qualifies.
4815         (memcoll0): Likewise.
4816         * lib/memcoll.h (memcoll0): Likewise.
4817         * lib/xmemcoll.c (collate_error, xmemcoll0): Likewise.
4818         * lib/xmemcoll.h (xmemcoll0): Likewise.
4819         * lib/memcoll.c (memcoll0): Correct the comment.  This function
4820         differs from memcoll in that the NUL byte is part of the argument.
4821         Omit the abort-checks, as performance is a real issue here.  Plus,
4822         the checks were wrong anyway (an off-by-one error).  Omit local
4823         variable 'diff', as it's a bit clearer that way.
4824         * m4/memcoll.m4 (gl_MEMCOLL): Omit AC_FUNC_STRCOLL, as it's
4825         no longer needed.
4826
4827 2010-07-08  Chen Guo <chenguo4@yahoo.com>
4828
4829         (x)memcoll: speedup when input is known to be NUL delimited
4830         * lib/memcoll.c: Include stdlib.
4831         (memcoll0) New function.
4832         (strcoll_loop) New function, refactored for use in both memcoll
4833         and memcoll0.
4834         * lib/memcoll.h: Add prototype for memcoll0.
4835         * lib/xmemcoll.c: (xmemcoll0) New function.
4836         (collate_error) New function, refactored for use in both xmemcoll
4837         and xmemcoll0.
4838         * lib/xmemcoll.h: Add prototype for xmemcoll0.
4839         * m4/memcoll.m4: add inline invocation.
4840
4841 2010-07-06  Pádraig Brady  <P@draigBrady.com>
4842
4843         * build-aux/bootstrap: Remove any local translations
4844         from the translation project synchronization directory,
4845         so that local only translations are not distributed.
4846
4847 2010-07-04  Bruno Haible  <bruno@clisp.org>
4848
4849         fsusage: Clarify which code applies to which platforms.
4850         * m4/fsusage.m4 (gl_FSUSAGE): Clarify which test succeeds on which
4851         platform.
4852         * lib/fsusage.c (get_fs_usage): Likewise.
4853
4854 2010-07-04  Bruno Haible  <bruno@clisp.org>
4855
4856         havelib: Fix bug when AC_LIB_FROMPACKAGE is used more than twice.
4857         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): Use m4_defn.
4858         Reported by Martin Lambers <marlam@marlam.de>.
4859
4860 2010-07-04  Jim Meyering  <meyering@redhat.com>
4861
4862         hash: once again explicitly disallow insertion of NULL
4863         * lib/hash.c (hash_insert0): Reinstate just-removed test:
4864         inserting a NULL pointer cannot work with these functions.
4865         Add a comment with details.
4866         This reverts part of the 2010-07-01 commit, 5bef1a35
4867         "hash: extend module to deal with non-pointer keys".
4868
4869 2010-07-01  Bruno Haible  <bruno@clisp.org>
4870
4871         stdbool: Update doc.
4872         * doc/posix-headers/stdbool.texi: Mention OpenBSD bug.
4873         Info from Christian Weisgerber <naddy@mips.inka.de>.
4874
4875 2010-07-01  Jim Meyering  <meyering@redhat.com>
4876
4877         hash: extend module to deal with non-pointer keys
4878         * lib/hash.c (hash_insert0): New interface, much like hash_insert
4879         but that allows insertion of non-pointer entries.
4880         Do not disallow an ENTRY value of NULL.
4881         (hash_insert): This is now just a thin wrapper.  Call hash_insert0.
4882         * lib/hash.h (hash_insert0): Declare.
4883
4884 2010-07-01  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
4885
4886         gettext: Use AC_GNU_SOURCE as a fallback for AC_USE_SYSTEM_EXTENSIONS.
4887         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): When AC_USE_SYSTEM_EXTENSIONS is
4888         not present (i.e. with autoconf 2.59 and when using gettextize, not
4889         gnulib), require AC_GNU_SOURCE instead.
4890
4891 2010-07-01  Ian Beckwith  <ianb@erislabs.net>
4892
4893         idpriv-drop: Fix tests.
4894         * tests/test-idpriv-drop.su.sh: Refer to the test-idpriv-drop program,
4895         not to the test-idpriv-droptemp program.
4896
4897 2010-06-29  Bruno Haible  <bruno@clisp.org>
4898
4899         string: Fix syntax error with g++ 2.96.
4900         * lib/string.in.h (__pure__): Remove definition.
4901         (_GL_ATTRIBUTE_PURE): New macro.
4902         (memchr, memmem, memrchr, rawmemchr, strchrnul, strnlen, strpbrk,
4903         strstr, strcasestr): Use it instead of __attribute__ ((__pure__)).
4904         Reported by Christian Weisgerber <naddy@mips.inka.de>.
4905
4906 2010-06-28  Ian Beckwith  <ianb@erislabs.net>
4907
4908         unitypes: Fix bug introduced on 2010-05-18.
4909         * modules/unitypes (Files): Really add m4/libunistring-base.m4.
4910
4911 2010-06-22  Eric Blake  <eblake@redhat.com>
4912
4913         memmem: slight optimization
4914         * lib/str-two-way.h (critical_factorization): Update comments.
4915         Reduce work during factorization phase.
4916         Reported by Carlos Bueno <carlos@bueno.org>.
4917
4918 2010-06-21  Bruno Haible  <bruno@clisp.org>
4919
4920         Fix HAVE_CALLOC_POSIX misnomer.
4921         * lib/stdlib.in.h (calloc): Use REPLACE_CALLOC instead of
4922         !HAVE_CALLOC_POSIX.
4923         * m4/calloc.m4 (gl_REPLACE_CALLOC): Set REPLACE_CALLOC instead of
4924         HAVE_CALLOC_POSIX.
4925         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_CALLOC
4926         instead of HAVE_CALLOC_POSIX.
4927         * modules/stdlib (Makefile.am): Substitute REPLACE_CALLOC instead of
4928         HAVE_CALLOC_POSIX.
4929
4930         Use modern idiom for calloc() replacement.
4931         * modules/calloc (configure.ac): Invoke gl_FUNC_CALLOC_GNU instead of
4932         AC_FUNC_CALLOC.
4933         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Renamed from AC_FUNC_CALLOC.
4934         Require gl_STDLIB_H_DEFAULTS. Invoke gl_REPLACE_CALLOC.
4935         (gl_FUNC_CALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
4936         HAVE_CALLOC_POSIX. Invoke gl_REPLACE_CALLOC.
4937         (gl_REPLACE_CALLOC): New macro.
4938
4939 2010-06-21  Bruno Haible  <bruno@clisp.org>
4940
4941         Fix HAVE_REALLOC_POSIX misnomer.
4942         * lib/stdlib.in.h (realloc): Use REPLACE_REALLOC instead of
4943         !HAVE_REALLOC_POSIX.
4944         * m4/realloc.m4 (gl_REPLACE_REALLOC): Set REPLACE_REALLOC instead of
4945         HAVE_REALLOC_POSIX.
4946         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_REALLOC
4947         instead of HAVE_REALLOC_POSIX.
4948         * modules/stdlib (Makefile.am): Substitute REPLACE_REALLOC instead of
4949         HAVE_REALLOC_POSIX.
4950
4951         Use modern idiom for realloc() replacement.
4952         * modules/realloc (configure.ac): Invoke gl_FUNC_REALLOC_GNU instead of
4953         AC_FUNC_REALLOC.
4954         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): New macro, mostly copied from
4955         Autoconf's AC_FUNC_REALLOC.
4956         (gl_FUNC_REALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
4957         HAVE_REALLOC_POSIX. Invoke gl_REPLACE_REALLOC.
4958         (gl_REPLACE_REALLOC): New macro.
4959         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
4960
4961 2010-06-21  Bruno Haible  <bruno@clisp.org>
4962
4963         Fix HAVE_MALLOC_POSIX misnomer.
4964         * lib/stdlib.in.h (malloc): Use REPLACE_MALLOC instead of
4965         !HAVE_MALLOC_POSIX.
4966         * m4/malloc.m4 (gl_REPLACE_MALLOC): Set REPLACE_MALLOC instead of
4967         HAVE_MALLOC_POSIX.
4968         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_MALLOC
4969         instead of HAVE_MALLOC_POSIX.
4970         * modules/stdlib (Makefile.am): Substitute REPLACE_MALLOC instead of
4971         HAVE_MALLOC_POSIX.
4972
4973         Use modern idiom for malloc() replacement.
4974         * modules/malloc (configure.ac): Invoke gl_FUNC_MALLOC_GNU instead of
4975         AC_FUNC_MALLOC.
4976         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): New macro, mostly copied from
4977         Autoconf's AC_FUNC_MALLOC.
4978         (gl_FUNC_MALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
4979         HAVE_MALLOC_POSIX. Invoke gl_REPLACE_MALLOC.
4980         (gl_REPLACE_MALLOC): New macro.
4981         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
4982
4983 2010-06-20  Richard Lloyd  <richard.lloyd@connectinternetsolutions.com>
4984
4985         stdio.in.h: fix compilation failure when using HP-UX 11's C compiler
4986         * lib/stdio.in.h: Remove excess _GL_CXXALIAS_RPL macro argument.
4987         This macro takes 3 arguments, not 4.
4988
4989 2010-06-15  Giuseppe Scrivano  <gscrivano@gnu.org>
4990
4991         ipv6: fix detection under mingw
4992         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Include <ws2tcpip.h> for struct
4993         in6_addr.
4994
4995 2010-06-14  Ben Pfaff  <blp@cs.stanford.edu>
4996
4997         * m4/strtod.m4 (gl_FUNC_STRTOD): Factor out common code.  Assume
4998         that strtod() works when cross-compiling to a glibc version known
4999         to work.
5000
5001 2010-06-15  Bruno Haible  <bruno@clisp.org>
5002
5003         * m4/strtod.m4 (gl_FUNC_STRTOD): Stop using AC_FUNC_STRTOD.
5004
5005 2010-06-15  René Berber  <r.berber@computer.org>  (tiny change)
5006
5007         select: Correct timeout.
5008         * lib/select.c (rpl_select): Compute wait_timeout correctly.
5009
5010 2010-06-14  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
5011
5012         git-version-gen: init shell var to avoid env var influence
5013         * build-aux/git-version-gen (v): Init shell var to empty.
5014
5015 2010-06-14  Paul Eggert  <eggert@cs.ucla.edu>
5016
5017         priv-set: Don't assume that priv.h exists merely because getppriv does.
5018         See Jan Andersen's bug report about AIX 5L in
5019         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00019.html
5020         * m4/priv-set.m4 (gl_PRIV_SET): Check for priv.h.
5021         * lib/priv-set.c: Do nothing unless HAVE_PRIV_H.
5022         * lib/priv-set.h: Likewise.
5023         * tests/test-priv-set.c: Likewise.
5024
5025 2010-06-13  Bruno Haible  <bruno@clisp.org>
5026
5027         relocatable: Make it easier to test whether to install wrappers.
5028         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): New automake conditional
5029         RELOCATABLE_VIA_WRAPPER.
5030
5031 2010-06-13  Bruno Haible  <bruno@clisp.org>
5032
5033         gnulib-tool: Display specified modules and dependencies differently.
5034         * gnulib-tool (func_show_module_list): New function.
5035         (func_import, func_create_testdir): Invoke it.
5036         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
5037
5038 2010-06-13  Bruno Haible  <bruno@clisp.org>
5039
5040         gnulib-tool: Align code of func_import and func_create_testdir.
5041         * gnulib-tool (func_create_testdir): Rename variable saved_modules to
5042         specified_modules.
5043
5044 2010-06-12  Jim Meyering  <meyering@redhat.com>
5045
5046         test-inttostr: avoid spurious failure on Solaris 9
5047         * tests/test-inttostr.c (main): Skip the test when snprintf fails
5048         to accept "%ju".  Reported by Bruno Haible.
5049
5050 2010-06-11  Jim Meyering  <meyering@redhat.com>
5051
5052         test-sys_socket: mark variables as used more readably
5053         * tests/test-sys_socket.c (main): Mark otherwise unused variables
5054         as "used" explicitly via (void) statement casts.  This is more
5055         readable than using them in an artificial return expression.
5056         Suggestion from Bruno Haible.
5057
5058 2010-06-11  Bruno Haible  <bruno@clisp.org>
5059
5060         Avoid some more warnings from "gcc -Wwrite-strings".
5061         * tests/test-argp.c (test_optional): Change 5th and 6th argument type
5062         to 'const char *'.
5063         * tests/test-c-strstr.c (main): Add 'const' to variable declaration.
5064         * tests/test-c-strcasestr.c (main): Likewise.
5065         * tests/test-mbscasestr1.c (main): Likewise.
5066         * tests/test-mbscasestr2.c (main): Likewise.
5067         * tests/test-memmem.c (main): Likewise.
5068         * tests/test-strstr.c (main): Likewise.
5069         * tests/test-strcasestr.c (main): Likewise.
5070
5071 2010-06-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5072
5073         init.sh: change framework_failure_ to fail with status 99, not 1
5074         * tests/init.sh (framework_failure_): Exit 99, not 1.  This informs
5075         automake's parallel-tests rule that this is an unexpected failure,
5076         even if the test is listed in XFAIL_TESTS.
5077
5078 2010-06-11  Jim Meyering  <meyering@redhat.com>
5079
5080         test-inttostr: avoid warnings about 4-6KB literal strings
5081         * tests/test-inttostr.c: Don't use <assert.h>.  Instead, ...
5082         Include "macros.h", for its definition of ASSERT.
5083         (CK): s/assert/ASSERT/
5084         * modules/inttostr-tests (Files): Add macros.h.
5085
5086         init.sh: don't use $ME_ or skip_ before they are defined
5087         * tests/init.sh: Hoist definitions of $ME_ and skip_ to precede
5088         their first uses.  Also hoist their companions: warn_, fail_,
5089         framework_failure_, $stderr_fileno.  Prompted by a patch from
5090         Stefano Lattarini.
5091
5092         test-sys_socket: avoid set-but-not-used warnings from gcc
5093         * tests/test-sys_socket.c (main): Use "i" and "x", in order to
5094         avoid warning about set-but-not-used variables.
5095
5096         test-xvasprintf: avoid 'const' discard warnings
5097         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Use
5098         "const" when assigning from literal strings.
5099         (test_xasprintf): Add "void" in function argument list to placate
5100         -Wstrict-prototypes and to be consistent with test_xvasprintf above.
5101
5102         tests: avoid compilation warnings in argmatch and exclude tests...
5103         in packages that define ARGMATCH_DIE_DECL, like coreutils.
5104         * tests/test-exclude.c [ARGMATCH_DIE_DECL]: Also declare the function.
5105         Since it always exits, declare with the "noreturn" attribute.
5106         * tests/test-argmatch.c: Likewise.
5107
5108         tests: avoid 'const' discard warnings in mbsstr tests
5109         * tests/test-mbsstr1.c (main): Add "const" to avoid trivial warning.
5110         * tests/test-mbsstr2.c (main): Likewise.
5111
5112         test-verify: avoid warning from gcc's -Wmissing-declarations
5113         * tests/test-verify.c (function): Declare to be static.
5114
5115         test-inttostr.c: include <string.h> for use of strcmp
5116         * tests/test-inttostr.c: Include <string.h> for strcmp declaration.
5117
5118         test-linkat: avoid failed assertion on "other" architectures
5119         * tests/test-linkat.c: Include <sys/stat.h>, for declarations of stat,
5120         lstat, mkdir.  Patch by John Rigby, to fix FTBFS on armel, powerpc,
5121         sparc: https://bugs.launchpad.net/bugs/591968
5122
5123 2010-06-11  Jim Meyering  <meyering@redhat.com>
5124
5125         printf.m4: avoid autoconf's "Expanded Before Required" warning
5126         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Define using AC_DEFUN_ONCE,
5127         rather than AC_DEFUN, to avoid the classic "Expanded Before Required"
5128         autoconf warning.
5129
5130 2010-06-10  Ben Pfaff  <blp@cs.stanford.edu>
5131
5132         Replacement header templates are now named with ".in", not "_".
5133         * doc/gnulib-intro.texi: Correct.
5134
5135 2010-06-10  Jim Meyering  <meyering@redhat.com>
5136
5137         inttostr-tests: depend on snprintf, not snprintf-posix
5138         * modules/inttostr-tests (Depends-on): Depend on snprintf, not
5139         snprintf-posix, to avoid this aclocal failure:
5140           missing file gnulib-tests/vasnprintf.c
5141           configure.ac:45: error: expected source file, required through \
5142           AC_LIBSOURCES, not found
5143
5144 2010-06-10  Jim Meyering  <meyering@redhat.com>
5145
5146         inttostr: add a new function, inttostr, and tests
5147         The namesake function was not available.  The existence of the
5148         template file, inttostr.c makes its addition nontrivial.
5149         * lib/anytostr.c: Rename from inttostr.c.
5150         (anytostr): Rename from inttostr.
5151         * lib/inttostr.c: New file.
5152         * modules/inttostr (Files): Add anytostr.c.
5153         (Makefile.am): Set lib_SOURCES instead of ...
5154         * m4/inttostr.m4: Remove uses of AC_LIBOBJ.
5155         * lib/imaxtostr.c: Update use.  s/inttostr/anytostr/
5156         * lib/offtostr.c: Likewise.
5157         * lib/uinttostr.c: Likewise.
5158         * lib/umaxtostr.c: Likewise.
5159         * modules/inttostr-tests: New file.
5160         * tests/test-inttostr.c: New file.  Test these functions.
5161
5162 2010-06-09  Ben Pfaff  <blp@cs.stanford.edu>
5163             Bruno Haible  <bruno@clisp.org>
5164
5165         Add "Extending Gnulib" chapter to manual.
5166         * doc/gnulib.texi (Writing Modules): Add cross-reference to new
5167         chapter.
5168         (Extending Gnulib): New chapter.
5169         * doc/gnulib-intro.texi (Openness): Add cross-reference to new
5170         chapter.
5171
5172 2010-06-09  Bruno Haible  <bruno@clisp.org>
5173
5174         Avoid relocwrapper link errors due to gnulib replacement functions.
5175         * lib/areadlink.c: Use the system's malloc, realloc functions.
5176         (areadlink): Set errno to ENOMEM explicitly.
5177         * modules/areadlink (Depends-on): Remove malloc-posix.
5178         Reported by Ben Pfaff <blp@cs.stanford.edu>.
5179
5180 2010-06-09  Bruno Haible  <bruno@clisp.org>
5181
5182         Avoid relocwrapper link errors due to gnulib replacement functions.
5183         * lib/canonicalize-lgpl.c: Use the system's malloc function.
5184         * lib/malloca.c: Likewise.
5185         * lib/relocatable.c: Likewise.
5186         * lib/progreloc.c: Use the system's malloc, sprintf functions.
5187         * lib/relocwrapper.c: Use the system's fprintf, malloc functions.
5188         * lib/setenv.c: Use the system's malloc, realloc functions.
5189         * lib/strerror.c: Use the system's sprintf function.
5190         Reported by Ben Pfaff <blp@cs.stanford.edu>.
5191
5192 2010-06-04  Bruno Haible  <bruno@clisp.org>
5193
5194         Prefer documented low-level autoconf macro names.
5195         * m4/lib-link.m4: Use m4_translit instead of translit.
5196         * m4/environ.m4: Likewise.
5197         * m4/mathfunc.m4: Likewise.
5198         * m4/onceonly.m4: Likewise.
5199         * m4/stdint.m4: Likewise.
5200         Suggested by Eric Blake.
5201
5202 2010-06-04  Martin Lambers  <marlam@marlam.de>
5203             Bruno Haible  <bruno@clisp.org>
5204
5205         havelib: Allow library names with '+' characters.
5206         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
5207         AC_LIB_FROMPACKAGE, AC_LIB_LINKFLAGS_BODY): Convert '+' in name to '_'.
5208
5209 2010-06-09  Bruno Haible  <bruno@clisp.org>
5210
5211         Module setenv does not depend on 'malloc-posix', 'realloc-posix'.
5212         * lib/setenv.c (__add_to_environ): Set errno to ENOMEM when malloc or
5213         realloc failed.
5214
5215 2010-06-08  Peter Simons  <simons@cryp.to>
5216
5217         maint.mk: make the news-check rule more configurable
5218         * top/maint.mk (news-check-lines-spec) New variable.
5219         (news-check): Use "sed -n 1,10p" in place of "head".
5220
5221 2010-06-07  Jim Meyering  <meyering@redhat.com>
5222
5223         do-release-commit-and-tag: fix typo in --help
5224         * build-aux/do-release-commit-and-tag (Usage): Fix typo in --help.
5225
5226         regex: avoid new dead-code warning with gcc-4.6.0
5227         * lib/regex_internal.c (re_string_reconstruct): #if-0-out a dead
5228         if-block containing a while-loop.  It's been unused for at least
5229         5 years.
5230
5231 2010-06-05  Bruno Haible  <bruno@clisp.org>
5232
5233         * doc/posix-functions/strcoll.texi: Mention Solaris limitation.
5234         Reported by River Tarnell <river.tarnell@wikimedia.de> via Eric Blake.
5235
5236 2010-06-04  Bruno Haible  <bruno@clisp.org>
5237
5238         Update to GNU gettext 0.18.1.
5239         * modules/gettext (configure.ac): Require gettext infrastructure from
5240         version 0.18.1.
5241
5242 2010-06-03  Bruno Haible  <bruno@clisp.org>
5243
5244         Don't use AC_LIBOBJ with file names in subdirectories.
5245         * m4/libunistring-base.m4 (gl_LIBUNISTRING_MODULE): Renamed from
5246         gl_LIBUNISTRING_LIBSOURCE. Take a module name as argument, not a file
5247         name. Define an automake conditional. Don't invoke AC_LIBOBJ.
5248         * m4/libunistring.m4 (gl_LIBUNISTRING): Update AC_BEFORE invocation.
5249         * modules/uni*/* (configure.ac): Use gl_LIBUNISTRING_MODULE instead of
5250         gl_LIBUNISTRING_LIBSOURCE.
5251         (Makefile.am): Augment lib_SOURCES here, conditionally.
5252         * NEWS: Drop requirement for Automake option 'subdir-objects'.
5253
5254 2010-06-03  Bruno Haible  <bruno@clisp.org>
5255
5256         Simplify gl_LIBUNISTRING_VERSION_CMP expansion.
5257         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Ensure
5258         expansion does not end with a newline.
5259         (gl_LIBUNISTRING_LIBSOURCE, gl_LIBUNISTRING_LIBHEADER): Avoid
5260         unnecessary newline.
5261
5262 2010-06-03  Bruno Haible  <bruno@clisp.org>
5263
5264         Reduce dependencies.
5265         * tests/test-quotearg.h: New file, extracted from
5266         tests/test-quotearg.c.
5267         * tests/test-quotearg-simple.c: New file, extracted from
5268         tests/test-quotearg.c.
5269         * tests/test-quotearg.c: Don't include <ctype.h>.
5270         (struct result_strings, struct result_groups, LQ, RQ, LQ_ENC, RQ_ENC,
5271         RQ_ESC, inputs, compare, use_quotearg_buffer, use_quotearg,
5272         use_quote_double_quotes, use_quotearg_colon): Moved to
5273         tests/test-quotearg.h.
5274         (results_g, flag_results, custom_quotes, custom_results): Moved
5275         to tests/test-quotearg-simple.c.
5276         (main): Moved the part that does not depend on gettext to
5277         tests/test-quotearg-simple.c. Return 77 if the test cannot be
5278         performed.
5279         * modules/quotearg-simple: New file.
5280         * modules/quotearg-simple-tests: New file.
5281         * modules/quotearg (Depends-on): Add quotearg-simple.
5282         * modules/quotearg-tests (Status): Mark as gettext-dependent-test.
5283         (Files): Add tests/test-quotearg.h.
5284         Reported by Paolo Bonzini.
5285
5286 2010-06-03  Bruno Haible  <bruno@clisp.org>
5287
5288         Reduce dependencies.
5289         * modules/acl (Depends-on): Add gettext-h. Remove gettext.
5290
5291 2010-06-03  Bruno Haible  <bruno@clisp.org>
5292
5293         time: Undefine more broken macros.
5294         * lib/time.in.h: Undefine broken localtime_r and gmtime_r macros only
5295         for pthread-win32. Undefine also asctime_r, ctime_r, rand_r, strtok_r.
5296         Reported by Eric Blake.
5297
5298 2010-06-03  Bruno Haible  <bruno@clisp.org>
5299
5300         Choose among AC_DEFUN_ONCE, AC_DEFUN in a way that aclocal understands.
5301         * m4/iconv.m4 (gl_iconv_AC_DEFUN): New macro.
5302         (AM_ICONV): Define it through gl_iconv_AC_DEFUN.
5303         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): New macro.
5304         (gl_LIBUNISTRING): Define it through gl_libunistring_AC_DEFUN.
5305         Reported by Ludovic Courtès <ludo@gnu.org>.
5306
5307 2010-06-02  Eric Blake  <eblake@redhat.com>
5308
5309         time: work with mingw + pthreads-win32 library
5310         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Set new variable
5311         if timespec is defined only in pthread.h.
5312         * modules/time (Makefile.am): Substitute it.
5313         * lib/time.in.h (!TIME_H_DEFINES_STRUCT_TIMESPEC): Include
5314         <pthread.h>, when needed.
5315         (GNULIB_TIME_R): Undefine broken localtime_r and gmtime_r macros
5316         from the library.
5317
5318 2010-05-31  Bruno Haible  <bruno@clisp.org>
5319
5320         Avoid expanding two macros in the wrong order.
5321         * m4/libunistring-base.m4 (gl_LIBUNISTRING_LIB_PREPARE): Require
5322         gl_LIBUNISTRING if it is defined.
5323         * m4/libunistring.m4 (gl_LIBUNISTRING): Define using AC_DEFUN_ONCE for
5324         autoconf >= 2.64.
5325         Reported by Ludovic Courtès <ludo@gnu.org>.
5326
5327 2010-05-27  Jim Meyering  <meyering@redhat.com>
5328
5329         maint.mk: also prohibit "#undef" of always-defined symbols
5330         * top/maint.mk (def_sym_regex): Handle #undef as well as #define.
5331         Allow more than one space before the symbol name.
5332         (sc_prohibit_always-defined_macros): Use grep's -E, now that
5333         the regexp uses alternation.
5334
5335 2010-05-26  Eric Blake  <eblake@redhat.com>
5336
5337         maint.mk: avoid echo -e
5338         * top/maint.mk (gzip_rsyncable, _ignore_case, _sc_say_and_exit):
5339         Convert all uses of echo -* to printf.
5340         Reported by Matthias Bolte.
5341
5342 2010-05-25  Bruno Haible  <bruno@clisp.org>
5343
5344         Update to GNU gettext 0.18, part 2.
5345         * build-aux/po/Makefile.in.in: Update to GNU gettext 0.18.
5346         Reported by Martin von Gagern <Martin.vGagern@gmx.net>.
5347
5348 2010-05-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5349
5350         Add missing include in test-pwrite.c.
5351         * tests/test-pwrite.c: Include string.h, for strcmp.
5352
5353 2010-05-24  Bruno Haible  <bruno@clisp.org>
5354
5355         * NEWS: Mention requirement for Automake option 'subdir-objects'.
5356
5357 2010-05-24  Bruno Haible  <bruno@clisp.org>
5358
5359         Don't use conversion with transliteration in u{8,16,32}_strcoll.
5360         * lib/unistr/u-strcoll.h (FUNC): Use U_STRCONV_TO_ENCODING with
5361         iconveh_error argument.
5362         * lib/unistr/u8-strcoll.c: Define U_STRCONV_TO_ENCODING instead of
5363         U_STRCONV_TO_LOCALE.
5364         * lib/unistr/u16-strcoll.c: Likewise.
5365         * lib/unistr/u32-strcoll.c: Likewise.
5366         * modules/unistr/u8-strcoll (Depends-on): Add
5367         uniconv/u8-strconv-to-enc, localcharset. Remove
5368         uniconv/u8-strconv-to-locale.
5369         (configure.ac): Bump version number.
5370         * modules/unistr/u16-strcoll (Depends-on): Add
5371         uniconv/u16-strconv-to-enc, localcharset. Remove
5372         uniconv/u16-strconv-to-locale.
5373         (configure.ac): Bump version number.
5374         * modules/unistr/u32-strcoll (Depends-on): Add
5375         uniconv/u32-strconv-to-enc, localcharset. Remove
5376         uniconv/u32-strconv-to-locale.
5377         (configure.ac): Bump version number.
5378
5379 2010-05-24  Bruno Haible  <bruno@clisp.org>
5380
5381         Avoid a test failure on NetBSD 5.0.
5382         * tests/test-striconveh.c (main): On NetBSD, skip a test that triggers
5383         an iconv() bug.
5384
5385 2010-05-24  Bruno Haible  <bruno@clisp.org>
5386
5387         Adjust #include directive style.
5388         * modules/regex (Includes): Recommend to write <regex.h>.
5389
5390 2010-05-24  Bruno Haible  <bruno@clisp.org>
5391
5392         regex: Don't require alloca.
5393         * modules/regex (Depends-on): Remove alloca. Add alloca-opt.
5394         * lib/regex_internal.h (alloca): Ensure it's defined even if we call it
5395         only inside if (0).
5396
5397 2010-05-23  Jim Meyering  <meyering@redhat.com>
5398
5399         test-renameat.c: include <sys/stat.h>
5400         * tests/test-renameat.c: Include <sys/stat.h>; required for
5401         definition of S_IS* macros.
5402
5403 2010-05-23  Ben Pfaff  <blp@cs.stanford.edu>
5404
5405         Update maintainer documentation for 'relocatable-prog' module.
5406         * doc/relocatable-maint.texi: Update.
5407         Comments by Bruno Haible.
5408
5409 2010-05-23  Bruno Haible  <bruno@clisp.org>
5410
5411         git-merge-changelog: Enable --split-merged-entry by default.
5412         * lib/git-merge-changelog.c (main): Set split_merged_entry to true.
5413         (usage): Don't mention this option any more.
5414         Reported by Ralf Wildenhues.
5415
5416 2010-05-23  Jim Meyering  <meyering@redhat.com>
5417
5418         test-pwrite: do not leave behind a test file named "out"
5419         Revert commit d8fa18472a54c1cb2674c296b3d82443f234d5f7.
5420         The trivial-looking use of init.sh is really necessary.
5421         It ensures that the temporary file, "out", is created in
5422         a temporary directory, and removed upon termination.
5423         * tests/test-pwrite.sh: Re-add file.
5424         * modules/pwrite-tests: Reference it.
5425
5426 2010-05-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5427
5428         Fix output redirection buglet in init.sh.
5429         * tests/init.sh: Fix redirection of stderr.
5430
5431 2010-05-20  Simon Josefsson  <simon@josefsson.org>
5432
5433         * modules/valgrind-tests (configure.ac): Invoke gl_VALGRIND_TESTS.
5434
5435 2010-05-17  Simon Josefsson  <simon@josefsson.org>
5436
5437         * modules/valgrind-tests: New file.
5438         * m4/valgrind-tests.m4: New file.
5439         * doc/valgrind-tests.texi: New file.
5440         * doc/gnulib.texi (Running self-tests under valgrind): New
5441         section.
5442
5443 2010-05-19  Bruno Haible  <bruno@clisp.org>
5444
5445         Clean up dead code in recent commit.
5446         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Include the
5447         body of gl_LIBUNISTRING_VERSION_CMP_ORIG as fallback.
5448         (gl_LIBUNISTRING_VERSION_CMP_ORIG): Remove macro.
5449         Suggested by Paolo Bonzini.
5450
5451 2010-05-19  Bruno Haible  <bruno@clisp.org>
5452
5453         Avoid valgrind error reports from libunistring.
5454         * lib/libunistring.valgrind: New file, based on lib/malloca.valgrind.
5455         * modules/libunistring (Files): Add it.
5456         * modules/libunistring-optional (Files): Likewise.
5457
5458 2010-05-18  Paolo Bonzini  <bonzini@gnu.org>
5459             Bruno Haible  <bruno@clisp.org>
5460
5461         New module 'libunistring-optional'.
5462         * modules/libunistring-optional: New file.
5463         * m4/libunistring-base.m4: New file.
5464         * m4/libunistring-optional.m4: New file.
5465         * lib/unicase.in.h: Renamed from lib/unicase.h.
5466         * lib/uniconv.in.h: Renamed from lib/uniconv.h.
5467         * lib/unictype.in.h: Renamed from lib/unictype.h.
5468         * lib/unilbrk.in.h: Renamed from lib/unilbrk.h.
5469         * lib/uniname.in.h: Renamed from lib/uniname.h.
5470         * lib/uninorm.in.h: Renamed from lib/uninorm.h.
5471         * lib/unistdio.in.h: Renamed from lib/unistdio.h.
5472         * lib/unistr.in.h: Renamed from lib/unistr.h.
5473         * lib/unitypes.in.h: Renamed from lib/unitypes.h.
5474         * lib/uniwbrk.in.h: Renamed from lib/uniwbrk.h.
5475         * lib/uniwidth.in.h: Renamed from lib/uniwidth.h.
5476         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Renamed from
5477         gl_LIBUNISTRING. If the library was found, determine the installed
5478         version and set LIBUNISTRING_VERSION.
5479         (gl_LIBUNISTRING): New macro, as a wrapper arount it. Document that it
5480         sets LIBUNISTRING_VERSION. If the module libunistring-optional is used,
5481         handle a configuration option --with-included-libunistring.
5482         * modules/libunistring (Files): Add m4/absolute-header.m4.
5483         * modules/unicase/base (Files): Use unicase.in.h instead of unicase.h.
5484         Add m4/libunistring-base.m4.
5485         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
5486         (Makefile.am): Build unicase.h from unicase.in.h.
5487         * modules/uniconv/base (Files): Use uniconv.in.h instead of uniconv.h.
5488         Add m4/libunistring-base.m4.
5489         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
5490         (Makefile.am): Build uniconv.h from uniconv.in.h.
5491         * modules/unictype/base (Files): Use unictype.in.h instead of
5492         unictype.h. Add m4/libunistring-base.m4.
5493         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
5494         (Makefile.am): Build unictype.h from unictype.in.h.
5495         * modules/unilbrk/base (Files): Use unilbrk.in.h instead of unilbrk.h.
5496         Add m4/libunistring-base.m4.
5497         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
5498         (Makefile.am): Build unilbrk.h from unilbrk.in.h.
5499         * modules/uniname/base (Files): Use uniname.in.h instead of uniname.h.
5500         Add m4/libunistring-base.m4.
5501         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
5502         (Makefile.am): Build uniname.h from uniname.in.h.
5503         * modules/uninorm/base (Files): Use uninorm.in.h instead of uninorm.h.
5504         Add m4/libunistring-base.m4.
5505         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
5506         (Makefile.am): Build uninorm.h from uninorm.in.h.
5507         * modules/unistdio/base (Files): Use unistdio.in.h instead of
5508         unistdio.h. Add m4/libunistring-base.m4.
5509         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
5510         (Makefile.am): Build unistdio.h from unistdio.in.h.
5511         * modules/unistr/base (Files): Use unistr.in.h instead of unistr.h.
5512         Add m4/libunistring-base.m4.
5513         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
5514         (Makefile.am): Build unistr.h from unistr.in.h.
5515         * modules/unitypes (Files): Use unitypes.in.h instead of unitypes.h.
5516         Add m4/libunistring-base.m4.
5517         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
5518         (Makefile.am): Build unitypes.h from unitypes.in.h.
5519         * modules/uniwbrk/base (Files): Use uniwbrk.in.h instead of uniwbrk.h.
5520         Add m4/libunistring-base.m4.
5521         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
5522         (Makefile.am): Build uniwbrk.h from uniwbrk.in.h.
5523         * modules/uniwidth/base (Files): Use uniwidth.in.h instead of
5524         uniwidth.h. Add m4/libunistring-base.m4.
5525         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
5526         (Makefile.am): Build uniwidth.h from uniwidth.in.h.
5527         * modules/unicase/empty-prefix-context: Use gl_LIBUNISTRING_LIBSOURCE
5528         instead of augmenting lib_SOURCES.
5529         * modules/unicase/empty-suffix-context: Likewise.
5530         * modules/unicase/locale-language: Likewise.
5531         * modules/unicase/tolower: Likewise.
5532         * modules/unicase/totitle: Likewise.
5533         * modules/unicase/toupper: Likewise.
5534         * modules/unicase/u8-casecmp: Likewise.
5535         * modules/unicase/u8-casecoll: Likewise.
5536         * modules/unicase/u8-casefold: Likewise.
5537         * modules/unicase/u8-casexfrm: Likewise.
5538         * modules/unicase/u8-ct-casefold: Likewise.
5539         * modules/unicase/u8-ct-tolower: Likewise.
5540         * modules/unicase/u8-ct-totitle: Likewise.
5541         * modules/unicase/u8-ct-toupper: Likewise.
5542         * modules/unicase/u8-is-cased: Likewise.
5543         * modules/unicase/u8-is-casefolded: Likewise.
5544         * modules/unicase/u8-is-lowercase: Likewise.
5545         * modules/unicase/u8-is-titlecase: Likewise.
5546         * modules/unicase/u8-is-uppercase: Likewise.
5547         * modules/unicase/u8-prefix-context: Likewise.
5548         * modules/unicase/u8-suffix-context: Likewise.
5549         * modules/unicase/u8-tolower: Likewise.
5550         * modules/unicase/u8-totitle: Likewise.
5551         * modules/unicase/u8-toupper: Likewise.
5552         * modules/unicase/u16-casecmp: Likewise.
5553         * modules/unicase/u16-casecoll: Likewise.
5554         * modules/unicase/u16-casefold: Likewise.
5555         * modules/unicase/u16-casexfrm: Likewise.
5556         * modules/unicase/u16-ct-casefold: Likewise.
5557         * modules/unicase/u16-ct-tolower: Likewise.
5558         * modules/unicase/u16-ct-totitle: Likewise.
5559         * modules/unicase/u16-ct-toupper: Likewise.
5560         * modules/unicase/u16-is-cased: Likewise.
5561         * modules/unicase/u16-is-casefolded: Likewise.
5562         * modules/unicase/u16-is-lowercase: Likewise.
5563         * modules/unicase/u16-is-titlecase: Likewise.
5564         * modules/unicase/u16-is-uppercase: Likewise.
5565         * modules/unicase/u16-prefix-context: Likewise.
5566         * modules/unicase/u16-suffix-context: Likewise.
5567         * modules/unicase/u16-tolower: Likewise.
5568         * modules/unicase/u16-totitle: Likewise.
5569         * modules/unicase/u16-toupper: Likewise.
5570         * modules/unicase/u32-casecmp: Likewise.
5571         * modules/unicase/u32-casecoll: Likewise.
5572         * modules/unicase/u32-casefold: Likewise.
5573         * modules/unicase/u32-casexfrm: Likewise.
5574         * modules/unicase/u32-ct-casefold: Likewise.
5575         * modules/unicase/u32-ct-tolower: Likewise.
5576         * modules/unicase/u32-ct-totitle: Likewise.
5577         * modules/unicase/u32-ct-toupper: Likewise.
5578         * modules/unicase/u32-is-cased: Likewise.
5579         * modules/unicase/u32-is-casefolded: Likewise.
5580         * modules/unicase/u32-is-lowercase: Likewise.
5581         * modules/unicase/u32-is-titlecase: Likewise.
5582         * modules/unicase/u32-is-uppercase: Likewise.
5583         * modules/unicase/u32-prefix-context: Likewise.
5584         * modules/unicase/u32-suffix-context: Likewise.
5585         * modules/unicase/u32-tolower: Likewise.
5586         * modules/unicase/u32-totitle: Likewise.
5587         * modules/unicase/u32-toupper: Likewise.
5588         * modules/unicase/ulc-casecmp: Likewise.
5589         * modules/unicase/ulc-casecoll: Likewise.
5590         * modules/unicase/ulc-casexfrm: Likewise.
5591         * modules/uniconv/u8-conv-from-enc: Likewise.
5592         * modules/uniconv/u8-conv-to-enc: Likewise.
5593         * modules/uniconv/u8-strconv-from-enc: Likewise.
5594         * modules/uniconv/u8-strconv-from-locale: Likewise.
5595         * modules/uniconv/u8-strconv-to-enc: Likewise.
5596         * modules/uniconv/u8-strconv-to-locale: Likewise.
5597         * modules/uniconv/u16-conv-from-enc: Likewise.
5598         * modules/uniconv/u16-conv-to-enc: Likewise.
5599         * modules/uniconv/u16-strconv-from-enc: Likewise.
5600         * modules/uniconv/u16-strconv-from-locale: Likewise.
5601         * modules/uniconv/u16-strconv-to-enc: Likewise.
5602         * modules/uniconv/u16-strconv-to-locale: Likewise.
5603         * modules/uniconv/u32-conv-from-enc: Likewise.
5604         * modules/uniconv/u32-conv-to-enc: Likewise.
5605         * modules/uniconv/u32-strconv-from-enc: Likewise.
5606         * modules/uniconv/u32-strconv-from-locale: Likewise.
5607         * modules/uniconv/u32-strconv-to-enc: Likewise.
5608         * modules/uniconv/u32-strconv-to-locale: Likewise.
5609         * modules/unictype/bidicategory-byname: Likewise.
5610         * modules/unictype/bidicategory-name: Likewise.
5611         * modules/unictype/bidicategory-of: Likewise.
5612         * modules/unictype/bidicategory-test: Likewise.
5613         * modules/unictype/block-list: Likewise.
5614         * modules/unictype/block-test: Likewise.
5615         * modules/unictype/category-C: Likewise.
5616         * modules/unictype/category-Cc: Likewise.
5617         * modules/unictype/category-Cf: Likewise.
5618         * modules/unictype/category-Cn: Likewise.
5619         * modules/unictype/category-Co: Likewise.
5620         * modules/unictype/category-Cs: Likewise.
5621         * modules/unictype/category-L: Likewise.
5622         * modules/unictype/category-Ll: Likewise.
5623         * modules/unictype/category-Lm: Likewise.
5624         * modules/unictype/category-Lo: Likewise.
5625         * modules/unictype/category-Lt: Likewise.
5626         * modules/unictype/category-Lu: Likewise.
5627         * modules/unictype/category-M: Likewise.
5628         * modules/unictype/category-Mc: Likewise.
5629         * modules/unictype/category-Me: Likewise.
5630         * modules/unictype/category-Mn: Likewise.
5631         * modules/unictype/category-N: Likewise.
5632         * modules/unictype/category-Nd: Likewise.
5633         * modules/unictype/category-Nl: Likewise.
5634         * modules/unictype/category-No: Likewise.
5635         * modules/unictype/category-P: Likewise.
5636         * modules/unictype/category-Pc: Likewise.
5637         * modules/unictype/category-Pd: Likewise.
5638         * modules/unictype/category-Pe: Likewise.
5639         * modules/unictype/category-Pf: Likewise.
5640         * modules/unictype/category-Pi: Likewise.
5641         * modules/unictype/category-Po: Likewise.
5642         * modules/unictype/category-Ps: Likewise.
5643         * modules/unictype/category-S: Likewise.
5644         * modules/unictype/category-Sc: Likewise.
5645         * modules/unictype/category-Sk: Likewise.
5646         * modules/unictype/category-Sm: Likewise.
5647         * modules/unictype/category-So: Likewise.
5648         * modules/unictype/category-Z: Likewise.
5649         * modules/unictype/category-Zl: Likewise.
5650         * modules/unictype/category-Zp: Likewise.
5651         * modules/unictype/category-Zs: Likewise.
5652         * modules/unictype/category-and: Likewise.
5653         * modules/unictype/category-and-not: Likewise.
5654         * modules/unictype/category-byname: Likewise.
5655         * modules/unictype/category-name: Likewise.
5656         * modules/unictype/category-none: Likewise.
5657         * modules/unictype/category-of: Likewise.
5658         * modules/unictype/category-or: Likewise.
5659         * modules/unictype/category-test: Likewise.
5660         * modules/unictype/combining-class: Likewise.
5661         * modules/unictype/ctype-alnum: Likewise.
5662         * modules/unictype/ctype-alpha: Likewise.
5663         * modules/unictype/ctype-blank: Likewise.
5664         * modules/unictype/ctype-cntrl: Likewise.
5665         * modules/unictype/ctype-digit: Likewise.
5666         * modules/unictype/ctype-graph: Likewise.
5667         * modules/unictype/ctype-lower: Likewise.
5668         * modules/unictype/ctype-print: Likewise.
5669         * modules/unictype/ctype-punct: Likewise.
5670         * modules/unictype/ctype-space: Likewise.
5671         * modules/unictype/ctype-upper: Likewise.
5672         * modules/unictype/ctype-xdigit: Likewise.
5673         * modules/unictype/decimal-digit: Likewise.
5674         * modules/unictype/digit: Likewise.
5675         * modules/unictype/mirror: Likewise.
5676         * modules/unictype/numeric: Likewise.
5677         * modules/unictype/property-alphabetic: Likewise.
5678         * modules/unictype/property-ascii-hex-digit: Likewise.
5679         * modules/unictype/property-bidi-arabic-digit: Likewise.
5680         * modules/unictype/property-bidi-arabic-right-to-left: Likewise.
5681         * modules/unictype/property-bidi-block-separator: Likewise.
5682         * modules/unictype/property-bidi-boundary-neutral: Likewise.
5683         * modules/unictype/property-bidi-common-separator: Likewise.
5684         * modules/unictype/property-bidi-control: Likewise.
5685         * modules/unictype/property-bidi-embedding-or-override: Likewise.
5686         * modules/unictype/property-bidi-eur-num-separator: Likewise.
5687         * modules/unictype/property-bidi-eur-num-terminator: Likewise.
5688         * modules/unictype/property-bidi-european-digit: Likewise.
5689         * modules/unictype/property-bidi-hebrew-right-to-left: Likewise.
5690         * modules/unictype/property-bidi-left-to-right: Likewise.
5691         * modules/unictype/property-bidi-non-spacing-mark: Likewise.
5692         * modules/unictype/property-bidi-other-neutral: Likewise.
5693         * modules/unictype/property-bidi-pdf: Likewise.
5694         * modules/unictype/property-bidi-segment-separator: Likewise.
5695         * modules/unictype/property-bidi-whitespace: Likewise.
5696         * modules/unictype/property-byname: Likewise.
5697         * modules/unictype/property-combining: Likewise.
5698         * modules/unictype/property-composite: Likewise.
5699         * modules/unictype/property-currency-symbol: Likewise.
5700         * modules/unictype/property-dash: Likewise.
5701         * modules/unictype/property-decimal-digit: Likewise.
5702         * modules/unictype/property-default-ignorable-code-point: Likewise.
5703         * modules/unictype/property-deprecated: Likewise.
5704         * modules/unictype/property-diacritic: Likewise.
5705         * modules/unictype/property-extender: Likewise.
5706         * modules/unictype/property-format-control: Likewise.
5707         * modules/unictype/property-grapheme-base: Likewise.
5708         * modules/unictype/property-grapheme-extend: Likewise.
5709         * modules/unictype/property-grapheme-link: Likewise.
5710         * modules/unictype/property-hex-digit: Likewise.
5711         * modules/unictype/property-hyphen: Likewise.
5712         * modules/unictype/property-id-continue: Likewise.
5713         * modules/unictype/property-id-start: Likewise.
5714         * modules/unictype/property-ideographic: Likewise.
5715         * modules/unictype/property-ids-binary-operator: Likewise.
5716         * modules/unictype/property-ids-trinary-operator: Likewise.
5717         * modules/unictype/property-ignorable-control: Likewise.
5718         * modules/unictype/property-iso-control: Likewise.
5719         * modules/unictype/property-join-control: Likewise.
5720         * modules/unictype/property-left-of-pair: Likewise.
5721         * modules/unictype/property-line-separator: Likewise.
5722         * modules/unictype/property-logical-order-exception: Likewise.
5723         * modules/unictype/property-lowercase: Likewise.
5724         * modules/unictype/property-math: Likewise.
5725         * modules/unictype/property-non-break: Likewise.
5726         * modules/unictype/property-not-a-character: Likewise.
5727         * modules/unictype/property-numeric: Likewise.
5728         * modules/unictype/property-other-alphabetic: Likewise.
5729         * modules/unictype/property-other-default-ignorable-code-point: Likewise.
5730         * modules/unictype/property-other-grapheme-extend: Likewise.
5731         * modules/unictype/property-other-id-continue: Likewise.
5732         * modules/unictype/property-other-id-start: Likewise.
5733         * modules/unictype/property-other-lowercase: Likewise.
5734         * modules/unictype/property-other-math: Likewise.
5735         * modules/unictype/property-other-uppercase: Likewise.
5736         * modules/unictype/property-paired-punctuation: Likewise.
5737         * modules/unictype/property-paragraph-separator: Likewise.
5738         * modules/unictype/property-pattern-syntax: Likewise.
5739         * modules/unictype/property-pattern-white-space: Likewise.
5740         * modules/unictype/property-private-use: Likewise.
5741         * modules/unictype/property-punctuation: Likewise.
5742         * modules/unictype/property-quotation-mark: Likewise.
5743         * modules/unictype/property-radical: Likewise.
5744         * modules/unictype/property-sentence-terminal: Likewise.
5745         * modules/unictype/property-soft-dotted: Likewise.
5746         * modules/unictype/property-space: Likewise.
5747         * modules/unictype/property-terminal-punctuation: Likewise.
5748         * modules/unictype/property-test: Likewise.
5749         * modules/unictype/property-titlecase: Likewise.
5750         * modules/unictype/property-unassigned-code-value: Likewise.
5751         * modules/unictype/property-unified-ideograph: Likewise.
5752         * modules/unictype/property-uppercase: Likewise.
5753         * modules/unictype/property-variation-selector: Likewise.
5754         * modules/unictype/property-white-space: Likewise.
5755         * modules/unictype/property-xid-continue: Likewise.
5756         * modules/unictype/property-xid-start: Likewise.
5757         * modules/unictype/property-zero-width: Likewise.
5758         * modules/unictype/scripts: Likewise.
5759         * modules/unictype/syntax-c-ident: Likewise.
5760         * modules/unictype/syntax-c-whitespace: Likewise.
5761         * modules/unictype/syntax-java-ident: Likewise.
5762         * modules/unictype/syntax-java-whitespace: Likewise.
5763         * modules/unilbrk/u8-possible-linebreaks: Likewise.
5764         * modules/unilbrk/u8-width-linebreaks: Likewise.
5765         * modules/unilbrk/u16-possible-linebreaks: Likewise.
5766         * modules/unilbrk/u16-width-linebreaks: Likewise.
5767         * modules/unilbrk/u32-possible-linebreaks: Likewise.
5768         * modules/unilbrk/u32-width-linebreaks: Likewise.
5769         * modules/unilbrk/ulc-possible-linebreaks: Likewise.
5770         * modules/unilbrk/ulc-width-linebreaks: Likewise.
5771         * modules/uniname/uniname: Likewise.
5772         * modules/uninorm/canonical-decomposition: Likewise.
5773         * modules/uninorm/composition: Likewise.
5774         * modules/uninorm/decomposing-form: Likewise.
5775         * modules/uninorm/decomposition: Likewise.
5776         * modules/uninorm/filter: Likewise.
5777         * modules/uninorm/nfc: Likewise.
5778         * modules/uninorm/nfd: Likewise.
5779         * modules/uninorm/nfkc: Likewise.
5780         * modules/uninorm/nfkd: Likewise.
5781         * modules/uninorm/u8-normalize: Likewise.
5782         * modules/uninorm/u8-normcmp: Likewise.
5783         * modules/uninorm/u8-normcoll: Likewise.
5784         * modules/uninorm/u8-normxfrm: Likewise.
5785         * modules/uninorm/u16-normalize: Likewise.
5786         * modules/uninorm/u16-normcmp: Likewise.
5787         * modules/uninorm/u16-normcoll: Likewise.
5788         * modules/uninorm/u16-normxfrm: Likewise.
5789         * modules/uninorm/u32-normalize: Likewise.
5790         * modules/uninorm/u32-normcmp: Likewise.
5791         * modules/uninorm/u32-normcoll: Likewise.
5792         * modules/uninorm/u32-normxfrm: Likewise.
5793         * modules/unistdio/u8-asnprintf: Likewise.
5794         * modules/unistdio/u8-asprintf: Likewise.
5795         * modules/unistdio/u8-snprintf: Likewise.
5796         * modules/unistdio/u8-sprintf: Likewise.
5797         * modules/unistdio/u8-u8-asnprintf: Likewise.
5798         * modules/unistdio/u8-u8-asprintf: Likewise.
5799         * modules/unistdio/u8-u8-snprintf: Likewise.
5800         * modules/unistdio/u8-u8-sprintf: Likewise.
5801         * modules/unistdio/u8-u8-vasnprintf: Likewise.
5802         * modules/unistdio/u8-u8-vasprintf: Likewise.
5803         * modules/unistdio/u8-u8-vsnprintf: Likewise.
5804         * modules/unistdio/u8-u8-vsprintf: Likewise.
5805         * modules/unistdio/u8-vasnprintf: Likewise.
5806         * modules/unistdio/u8-vasprintf: Likewise.
5807         * modules/unistdio/u8-vsnprintf: Likewise.
5808         * modules/unistdio/u8-vsprintf: Likewise.
5809         * modules/unistdio/u16-asnprintf: Likewise.
5810         * modules/unistdio/u16-asprintf: Likewise.
5811         * modules/unistdio/u16-snprintf: Likewise.
5812         * modules/unistdio/u16-sprintf: Likewise.
5813         * modules/unistdio/u16-u16-asnprintf: Likewise.
5814         * modules/unistdio/u16-u16-asprintf: Likewise.
5815         * modules/unistdio/u16-u16-snprintf: Likewise.
5816         * modules/unistdio/u16-u16-sprintf: Likewise.
5817         * modules/unistdio/u16-u16-vasnprintf: Likewise.
5818         * modules/unistdio/u16-u16-vasprintf: Likewise.
5819         * modules/unistdio/u16-u16-vsnprintf: Likewise.
5820         * modules/unistdio/u16-u16-vsprintf: Likewise.
5821         * modules/unistdio/u16-vasnprintf: Likewise.
5822         * modules/unistdio/u16-vasprintf: Likewise.
5823         * modules/unistdio/u16-vsnprintf: Likewise.
5824         * modules/unistdio/u16-vsprintf: Likewise.
5825         * modules/unistdio/u32-asnprintf: Likewise.
5826         * modules/unistdio/u32-asprintf: Likewise.
5827         * modules/unistdio/u32-snprintf: Likewise.
5828         * modules/unistdio/u32-sprintf: Likewise.
5829         * modules/unistdio/u32-u32-asnprintf: Likewise.
5830         * modules/unistdio/u32-u32-asprintf: Likewise.
5831         * modules/unistdio/u32-u32-snprintf: Likewise.
5832         * modules/unistdio/u32-u32-sprintf: Likewise.
5833         * modules/unistdio/u32-u32-vasnprintf: Likewise.
5834         * modules/unistdio/u32-u32-vasprintf: Likewise.
5835         * modules/unistdio/u32-u32-vsnprintf: Likewise.
5836         * modules/unistdio/u32-u32-vsprintf: Likewise.
5837         * modules/unistdio/u32-vasnprintf: Likewise.
5838         * modules/unistdio/u32-vasprintf: Likewise.
5839         * modules/unistdio/u32-vsnprintf: Likewise.
5840         * modules/unistdio/u32-vsprintf: Likewise.
5841         * modules/unistdio/ulc-asnprintf: Likewise.
5842         * modules/unistdio/ulc-asprintf: Likewise.
5843         * modules/unistdio/ulc-fprintf: Likewise.
5844         * modules/unistdio/ulc-snprintf: Likewise.
5845         * modules/unistdio/ulc-sprintf: Likewise.
5846         * modules/unistdio/ulc-vasnprintf: Likewise.
5847         * modules/unistdio/ulc-vasprintf: Likewise.
5848         * modules/unistdio/ulc-vfprintf: Likewise.
5849         * modules/unistdio/ulc-vsnprintf: Likewise.
5850         * modules/unistdio/ulc-vsprintf: Likewise.
5851         * modules/unistr/u8-check: Likewise.
5852         * modules/unistr/u8-chr: Likewise.
5853         * modules/unistr/u8-cmp: Likewise.
5854         * modules/unistr/u8-cmp2: Likewise.
5855         * modules/unistr/u8-cpy: Likewise.
5856         * modules/unistr/u8-cpy-alloc: Likewise.
5857         * modules/unistr/u8-endswith: Likewise.
5858         * modules/unistr/u8-mblen: Likewise.
5859         * modules/unistr/u8-mbsnlen: Likewise.
5860         * modules/unistr/u8-mbtouc: Likewise.
5861         * modules/unistr/u8-mbtouc-unsafe: Likewise.
5862         * modules/unistr/u8-mbtoucr: Likewise.
5863         * modules/unistr/u8-move: Likewise.
5864         * modules/unistr/u8-next: Likewise.
5865         * modules/unistr/u8-prev: Likewise.
5866         * modules/unistr/u8-set: Likewise.
5867         * modules/unistr/u8-startswith: Likewise.
5868         * modules/unistr/u8-stpcpy: Likewise.
5869         * modules/unistr/u8-stpncpy: Likewise.
5870         * modules/unistr/u8-strcat: Likewise.
5871         * modules/unistr/u8-strchr: Likewise.
5872         * modules/unistr/u8-strcmp: Likewise.
5873         * modules/unistr/u8-strcoll: Likewise.
5874         * modules/unistr/u8-strcpy: Likewise.
5875         * modules/unistr/u8-strcspn: Likewise.
5876         * modules/unistr/u8-strdup: Likewise.
5877         * modules/unistr/u8-strlen: Likewise.
5878         * modules/unistr/u8-strmblen: Likewise.
5879         * modules/unistr/u8-strmbtouc: Likewise.
5880         * modules/unistr/u8-strncat: Likewise.
5881         * modules/unistr/u8-strncmp: Likewise.
5882         * modules/unistr/u8-strncpy: Likewise.
5883         * modules/unistr/u8-strnlen: Likewise.
5884         * modules/unistr/u8-strpbrk: Likewise.
5885         * modules/unistr/u8-strrchr: Likewise.
5886         * modules/unistr/u8-strspn: Likewise.
5887         * modules/unistr/u8-strstr: Likewise.
5888         * modules/unistr/u8-strtok: Likewise.
5889         * modules/unistr/u8-to-u16: Likewise.
5890         * modules/unistr/u8-to-u32: Likewise.
5891         * modules/unistr/u8-uctomb: Likewise.
5892         * modules/unistr/u16-check: Likewise.
5893         * modules/unistr/u16-chr: Likewise.
5894         * modules/unistr/u16-cmp: Likewise.
5895         * modules/unistr/u16-cmp2: Likewise.
5896         * modules/unistr/u16-cpy: Likewise.
5897         * modules/unistr/u16-cpy-alloc: Likewise.
5898         * modules/unistr/u16-endswith: Likewise.
5899         * modules/unistr/u16-mblen: Likewise.
5900         * modules/unistr/u16-mbsnlen: Likewise.
5901         * modules/unistr/u16-mbtouc: Likewise.
5902         * modules/unistr/u16-mbtouc-unsafe: Likewise.
5903         * modules/unistr/u16-mbtoucr: Likewise.
5904         * modules/unistr/u16-move: Likewise.
5905         * modules/unistr/u16-next: Likewise.
5906         * modules/unistr/u16-prev: Likewise.
5907         * modules/unistr/u16-set: Likewise.
5908         * modules/unistr/u16-startswith: Likewise.
5909         * modules/unistr/u16-stpcpy: Likewise.
5910         * modules/unistr/u16-stpncpy: Likewise.
5911         * modules/unistr/u16-strcat: Likewise.
5912         * modules/unistr/u16-strchr: Likewise.
5913         * modules/unistr/u16-strcmp: Likewise.
5914         * modules/unistr/u16-strcoll: Likewise.
5915         * modules/unistr/u16-strcpy: Likewise.
5916         * modules/unistr/u16-strcspn: Likewise.
5917         * modules/unistr/u16-strdup: Likewise.
5918         * modules/unistr/u16-strlen: Likewise.
5919         * modules/unistr/u16-strmblen: Likewise.
5920         * modules/unistr/u16-strmbtouc: Likewise.
5921         * modules/unistr/u16-strncat: Likewise.
5922         * modules/unistr/u16-strncmp: Likewise.
5923         * modules/unistr/u16-strncpy: Likewise.
5924         * modules/unistr/u16-strnlen: Likewise.
5925         * modules/unistr/u16-strpbrk: Likewise.
5926         * modules/unistr/u16-strrchr: Likewise.
5927         * modules/unistr/u16-strspn: Likewise.
5928         * modules/unistr/u16-strstr: Likewise.
5929         * modules/unistr/u16-strtok: Likewise.
5930         * modules/unistr/u16-to-u32: Likewise.
5931         * modules/unistr/u16-to-u8: Likewise.
5932         * modules/unistr/u16-uctomb: Likewise.
5933         * modules/unistr/u32-check: Likewise.
5934         * modules/unistr/u32-chr: Likewise.
5935         * modules/unistr/u32-cmp: Likewise.
5936         * modules/unistr/u32-cmp2: Likewise.
5937         * modules/unistr/u32-cpy: Likewise.
5938         * modules/unistr/u32-cpy-alloc: Likewise.
5939         * modules/unistr/u32-endswith: Likewise.
5940         * modules/unistr/u32-mblen: Likewise.
5941         * modules/unistr/u32-mbsnlen: Likewise.
5942         * modules/unistr/u32-mbtouc: Likewise.
5943         * modules/unistr/u32-mbtouc-unsafe: Likewise.
5944         * modules/unistr/u32-mbtoucr: Likewise.
5945         * modules/unistr/u32-move: Likewise.
5946         * modules/unistr/u32-next: Likewise.
5947         * modules/unistr/u32-prev: Likewise.
5948         * modules/unistr/u32-set: Likewise.
5949         * modules/unistr/u32-startswith: Likewise.
5950         * modules/unistr/u32-stpcpy: Likewise.
5951         * modules/unistr/u32-stpncpy: Likewise.
5952         * modules/unistr/u32-strcat: Likewise.
5953         * modules/unistr/u32-strchr: Likewise.
5954         * modules/unistr/u32-strcmp: Likewise.
5955         * modules/unistr/u32-strcoll: Likewise.
5956         * modules/unistr/u32-strcpy: Likewise.
5957         * modules/unistr/u32-strcspn: Likewise.
5958         * modules/unistr/u32-strdup: Likewise.
5959         * modules/unistr/u32-strlen: Likewise.
5960         * modules/unistr/u32-strmblen: Likewise.
5961         * modules/unistr/u32-strmbtouc: Likewise.
5962         * modules/unistr/u32-strncat: Likewise.
5963         * modules/unistr/u32-strncmp: Likewise.
5964         * modules/unistr/u32-strncpy: Likewise.
5965         * modules/unistr/u32-strnlen: Likewise.
5966         * modules/unistr/u32-strpbrk: Likewise.
5967         * modules/unistr/u32-strrchr: Likewise.
5968         * modules/unistr/u32-strspn: Likewise.
5969         * modules/unistr/u32-strstr: Likewise.
5970         * modules/unistr/u32-strtok: Likewise.
5971         * modules/unistr/u32-to-u16: Likewise.
5972         * modules/unistr/u32-to-u8: Likewise.
5973         * modules/unistr/u32-uctomb: Likewise.
5974         * modules/uniwbrk/u8-wordbreaks: Likewise.
5975         * modules/uniwbrk/u16-wordbreaks: Likewise.
5976         * modules/uniwbrk/u32-wordbreaks: Likewise.
5977         * modules/uniwbrk/ulc-wordbreaks: Likewise.
5978         * modules/uniwbrk/wordbreak-property: Likewise.
5979         * modules/uniwidth/u8-strwidth: Likewise.
5980         * modules/uniwidth/u8-width: Likewise.
5981         * modules/uniwidth/u16-strwidth: Likewise.
5982         * modules/uniwidth/u16-width: Likewise.
5983         * modules/uniwidth/u32-strwidth: Likewise.
5984         * modules/uniwidth/u32-width: Likewise.
5985         * modules/uniwidth/width: Likewise.
5986         * modules/unicase/cased-tests (Makefile.am): Link all test programs
5987         with $(LIBUNISTRING).
5988         * modules/unicase/ignorable-tests: Likewise.
5989         * modules/unicase/locale-language-tests: Likewise.
5990         * modules/unicase/tolower-tests: Likewise.
5991         * modules/unicase/totitle-tests: Likewise.
5992         * modules/unicase/toupper-tests: Likewise.
5993         * modules/unicase/u8-casecmp-tests: Likewise.
5994         * modules/unicase/u8-casecoll-tests: Likewise.
5995         * modules/unicase/u8-casefold-tests: Likewise.
5996         * modules/unicase/u8-is-cased-tests: Likewise.
5997         * modules/unicase/u8-is-casefolded-tests: Likewise.
5998         * modules/unicase/u8-is-lowercase-tests: Likewise.
5999         * modules/unicase/u8-is-titlecase-tests: Likewise.
6000         * modules/unicase/u8-is-uppercase-tests: Likewise.
6001         * modules/unicase/u8-tolower-tests: Likewise.
6002         * modules/unicase/u8-totitle-tests: Likewise.
6003         * modules/unicase/u8-toupper-tests: Likewise.
6004         * modules/unicase/u16-casecmp-tests: Likewise.
6005         * modules/unicase/u16-casecoll-tests: Likewise.
6006         * modules/unicase/u16-casefold-tests: Likewise.
6007         * modules/unicase/u16-is-cased-tests: Likewise.
6008         * modules/unicase/u16-is-casefolded-tests: Likewise.
6009         * modules/unicase/u16-is-lowercase-tests: Likewise.
6010         * modules/unicase/u16-is-titlecase-tests: Likewise.
6011         * modules/unicase/u16-is-uppercase-tests: Likewise.
6012         * modules/unicase/u16-tolower-tests: Likewise.
6013         * modules/unicase/u16-totitle-tests: Likewise.
6014         * modules/unicase/u16-toupper-tests: Likewise.
6015         * modules/unicase/u32-casecmp-tests: Likewise.
6016         * modules/unicase/u32-casecoll-tests: Likewise.
6017         * modules/unicase/u32-casefold-tests: Likewise.
6018         * modules/unicase/u32-is-cased-tests: Likewise.
6019         * modules/unicase/u32-is-casefolded-tests: Likewise.
6020         * modules/unicase/u32-is-lowercase-tests: Likewise.
6021         * modules/unicase/u32-is-titlecase-tests: Likewise.
6022         * modules/unicase/u32-is-uppercase-tests: Likewise.
6023         * modules/unicase/u32-tolower-tests: Likewise.
6024         * modules/unicase/u32-totitle-tests: Likewise.
6025         * modules/unicase/u32-toupper-tests: Likewise.
6026         * modules/unicase/ulc-casecmp-tests: Likewise.
6027         * modules/unicase/ulc-casecoll-tests: Likewise.
6028         * modules/uniconv/u8-conv-from-enc-tests: Likewise.
6029         * modules/uniconv/u8-conv-to-enc-tests: Likewise.
6030         * modules/uniconv/u8-strconv-from-enc-tests: Likewise.
6031         * modules/uniconv/u8-strconv-to-enc-tests: Likewise.
6032         * modules/uniconv/u16-conv-from-enc-tests: Likewise.
6033         * modules/uniconv/u16-conv-to-enc-tests: Likewise.
6034         * modules/uniconv/u16-strconv-from-enc-tests: Likewise.
6035         * modules/uniconv/u16-strconv-to-enc-tests: Likewise.
6036         * modules/uniconv/u32-conv-from-enc-tests: Likewise.
6037         * modules/uniconv/u32-conv-to-enc-tests: Likewise.
6038         * modules/uniconv/u32-strconv-from-enc-tests: Likewise.
6039         * modules/uniconv/u32-strconv-to-enc-tests: Likewise.
6040         * modules/unictype/bidicategory-byname-tests: Likewise.
6041         * modules/unictype/bidicategory-name-tests: Likewise.
6042         * modules/unictype/bidicategory-of-tests: Likewise.
6043         * modules/unictype/bidicategory-test-tests: Likewise.
6044         * modules/unictype/block-list-tests: Likewise.
6045         * modules/unictype/block-of-tests: Likewise.
6046         * modules/unictype/block-test-tests: Likewise.
6047         * modules/unictype/category-C-tests: Likewise.
6048         * modules/unictype/category-Cc-tests: Likewise.
6049         * modules/unictype/category-Cf-tests: Likewise.
6050         * modules/unictype/category-Cn-tests: Likewise.
6051         * modules/unictype/category-Co-tests: Likewise.
6052         * modules/unictype/category-Cs-tests: Likewise.
6053         * modules/unictype/category-L-tests: Likewise.
6054         * modules/unictype/category-Ll-tests: Likewise.
6055         * modules/unictype/category-Lm-tests: Likewise.
6056         * modules/unictype/category-Lo-tests: Likewise.
6057         * modules/unictype/category-Lt-tests: Likewise.
6058         * modules/unictype/category-Lu-tests: Likewise.
6059         * modules/unictype/category-M-tests: Likewise.
6060         * modules/unictype/category-Mc-tests: Likewise.
6061         * modules/unictype/category-Me-tests: Likewise.
6062         * modules/unictype/category-Mn-tests: Likewise.
6063         * modules/unictype/category-N-tests: Likewise.
6064         * modules/unictype/category-Nd-tests: Likewise.
6065         * modules/unictype/category-Nl-tests: Likewise.
6066         * modules/unictype/category-No-tests: Likewise.
6067         * modules/unictype/category-P-tests: Likewise.
6068         * modules/unictype/category-Pc-tests: Likewise.
6069         * modules/unictype/category-Pd-tests: Likewise.
6070         * modules/unictype/category-Pe-tests: Likewise.
6071         * modules/unictype/category-Pf-tests: Likewise.
6072         * modules/unictype/category-Pi-tests: Likewise.
6073         * modules/unictype/category-Po-tests: Likewise.
6074         * modules/unictype/category-Ps-tests: Likewise.
6075         * modules/unictype/category-S-tests: Likewise.
6076         * modules/unictype/category-Sc-tests: Likewise.
6077         * modules/unictype/category-Sk-tests: Likewise.
6078         * modules/unictype/category-Sm-tests: Likewise.
6079         * modules/unictype/category-So-tests: Likewise.
6080         * modules/unictype/category-Z-tests: Likewise.
6081         * modules/unictype/category-Zl-tests: Likewise.
6082         * modules/unictype/category-Zp-tests: Likewise.
6083         * modules/unictype/category-Zs-tests: Likewise.
6084         * modules/unictype/category-and-not-tests: Likewise.
6085         * modules/unictype/category-and-tests: Likewise.
6086         * modules/unictype/category-byname-tests: Likewise.
6087         * modules/unictype/category-name-tests: Likewise.
6088         * modules/unictype/category-none-tests: Likewise.
6089         * modules/unictype/category-of-tests: Likewise.
6090         * modules/unictype/category-or-tests: Likewise.
6091         * modules/unictype/category-test-withtable-tests: Likewise.
6092         * modules/unictype/combining-class-tests: Likewise.
6093         * modules/unictype/ctype-alnum-tests: Likewise.
6094         * modules/unictype/ctype-alpha-tests: Likewise.
6095         * modules/unictype/ctype-blank-tests: Likewise.
6096         * modules/unictype/ctype-cntrl-tests: Likewise.
6097         * modules/unictype/ctype-digit-tests: Likewise.
6098         * modules/unictype/ctype-graph-tests: Likewise.
6099         * modules/unictype/ctype-lower-tests: Likewise.
6100         * modules/unictype/ctype-print-tests: Likewise.
6101         * modules/unictype/ctype-punct-tests: Likewise.
6102         * modules/unictype/ctype-space-tests: Likewise.
6103         * modules/unictype/ctype-upper-tests: Likewise.
6104         * modules/unictype/ctype-xdigit-tests: Likewise.
6105         * modules/unictype/decimal-digit-tests: Likewise.
6106         * modules/unictype/digit-tests: Likewise.
6107         * modules/unictype/mirror-tests: Likewise.
6108         * modules/unictype/numeric-tests: Likewise.
6109         * modules/unictype/property-alphabetic-tests: Likewise.
6110         * modules/unictype/property-ascii-hex-digit-tests: Likewise.
6111         * modules/unictype/property-bidi-arabic-digit-tests: Likewise.
6112         * modules/unictype/property-bidi-arabic-right-to-left-tests: Likewise.
6113         * modules/unictype/property-bidi-block-separator-tests: Likewise.
6114         * modules/unictype/property-bidi-boundary-neutral-tests: Likewise.
6115         * modules/unictype/property-bidi-common-separator-tests: Likewise.
6116         * modules/unictype/property-bidi-control-tests: Likewise.
6117         * modules/unictype/property-bidi-embedding-or-override-tests: Likewise.
6118         * modules/unictype/property-bidi-eur-num-separator-tests: Likewise.
6119         * modules/unictype/property-bidi-eur-num-terminator-tests: Likewise.
6120         * modules/unictype/property-bidi-european-digit-tests: Likewise.
6121         * modules/unictype/property-bidi-hebrew-right-to-left-tests: Likewise.
6122         * modules/unictype/property-bidi-left-to-right-tests: Likewise.
6123         * modules/unictype/property-bidi-non-spacing-mark-tests: Likewise.
6124         * modules/unictype/property-bidi-other-neutral-tests: Likewise.
6125         * modules/unictype/property-bidi-pdf-tests: Likewise.
6126         * modules/unictype/property-bidi-segment-separator-tests: Likewise.
6127         * modules/unictype/property-bidi-whitespace-tests: Likewise.
6128         * modules/unictype/property-byname-tests: Likewise.
6129         * modules/unictype/property-combining-tests: Likewise.
6130         * modules/unictype/property-composite-tests: Likewise.
6131         * modules/unictype/property-currency-symbol-tests: Likewise.
6132         * modules/unictype/property-dash-tests: Likewise.
6133         * modules/unictype/property-decimal-digit-tests: Likewise.
6134         * modules/unictype/property-default-ignorable-code-point-tests: Likewise.
6135         * modules/unictype/property-deprecated-tests: Likewise.
6136         * modules/unictype/property-diacritic-tests: Likewise.
6137         * modules/unictype/property-extender-tests: Likewise.
6138         * modules/unictype/property-format-control-tests: Likewise.
6139         * modules/unictype/property-grapheme-base-tests: Likewise.
6140         * modules/unictype/property-grapheme-extend-tests: Likewise.
6141         * modules/unictype/property-grapheme-link-tests: Likewise.
6142         * modules/unictype/property-hex-digit-tests: Likewise.
6143         * modules/unictype/property-hyphen-tests: Likewise.
6144         * modules/unictype/property-id-continue-tests: Likewise.
6145         * modules/unictype/property-id-start-tests: Likewise.
6146         * modules/unictype/property-ideographic-tests: Likewise.
6147         * modules/unictype/property-ids-binary-operator-tests: Likewise.
6148         * modules/unictype/property-ids-trinary-operator-tests: Likewise.
6149         * modules/unictype/property-ignorable-control-tests: Likewise.
6150         * modules/unictype/property-iso-control-tests: Likewise.
6151         * modules/unictype/property-join-control-tests: Likewise.
6152         * modules/unictype/property-left-of-pair-tests: Likewise.
6153         * modules/unictype/property-line-separator-tests: Likewise.
6154         * modules/unictype/property-logical-order-exception-tests: Likewise.
6155         * modules/unictype/property-lowercase-tests: Likewise.
6156         * modules/unictype/property-math-tests: Likewise.
6157         * modules/unictype/property-non-break-tests: Likewise.
6158         * modules/unictype/property-not-a-character-tests: Likewise.
6159         * modules/unictype/property-numeric-tests: Likewise.
6160         * modules/unictype/property-other-alphabetic-tests: Likewise.
6161         * modules/unictype/property-other-default-ignorable-code-point-tests:
6162         Likewise.
6163         * modules/unictype/property-other-grapheme-extend-tests: Likewise.
6164         * modules/unictype/property-other-id-continue-tests: Likewise.
6165         * modules/unictype/property-other-id-start-tests: Likewise.
6166         * modules/unictype/property-other-lowercase-tests: Likewise.
6167         * modules/unictype/property-other-math-tests: Likewise.
6168         * modules/unictype/property-other-uppercase-tests: Likewise.
6169         * modules/unictype/property-paired-punctuation-tests: Likewise.
6170         * modules/unictype/property-paragraph-separator-tests: Likewise.
6171         * modules/unictype/property-pattern-syntax-tests: Likewise.
6172         * modules/unictype/property-pattern-white-space-tests: Likewise.
6173         * modules/unictype/property-private-use-tests: Likewise.
6174         * modules/unictype/property-punctuation-tests: Likewise.
6175         * modules/unictype/property-quotation-mark-tests: Likewise.
6176         * modules/unictype/property-radical-tests: Likewise.
6177         * modules/unictype/property-sentence-terminal-tests: Likewise.
6178         * modules/unictype/property-soft-dotted-tests: Likewise.
6179         * modules/unictype/property-space-tests: Likewise.
6180         * modules/unictype/property-terminal-punctuation-tests: Likewise.
6181         * modules/unictype/property-test-tests: Likewise.
6182         * modules/unictype/property-titlecase-tests: Likewise.
6183         * modules/unictype/property-unassigned-code-value-tests: Likewise.
6184         * modules/unictype/property-unified-ideograph-tests: Likewise.
6185         * modules/unictype/property-uppercase-tests: Likewise.
6186         * modules/unictype/property-variation-selector-tests: Likewise.
6187         * modules/unictype/property-white-space-tests: Likewise.
6188         * modules/unictype/property-xid-continue-tests: Likewise.
6189         * modules/unictype/property-xid-start-tests: Likewise.
6190         * modules/unictype/property-zero-width-tests: Likewise.
6191         * modules/unictype/scripts-tests: Likewise.
6192         * modules/unictype/syntax-c-ident-tests: Likewise.
6193         * modules/unictype/syntax-c-whitespace-tests: Likewise.
6194         * modules/unictype/syntax-java-ident-tests: Likewise.
6195         * modules/unictype/syntax-java-whitespace-tests: Likewise.
6196         * modules/unilbrk/u8-possible-linebreaks-tests: Likewise.
6197         * modules/unilbrk/u8-width-linebreaks-tests: Likewise.
6198         * modules/unilbrk/u16-possible-linebreaks-tests: Likewise.
6199         * modules/unilbrk/u16-width-linebreaks-tests: Likewise.
6200         * modules/unilbrk/u32-possible-linebreaks-tests: Likewise.
6201         * modules/unilbrk/u32-width-linebreaks-tests: Likewise.
6202         * modules/unilbrk/ulc-possible-linebreaks-tests: Likewise.
6203         * modules/unilbrk/ulc-width-linebreaks-tests: Likewise.
6204         * modules/uniname/uniname-tests: Likewise.
6205         * modules/uninorm/canonical-decomposition-tests: Likewise.
6206         * modules/uninorm/compat-decomposition-tests: Likewise.
6207         * modules/uninorm/composition-tests: Likewise.
6208         * modules/uninorm/decomposing-form-tests: Likewise.
6209         * modules/uninorm/decomposition-tests: Likewise.
6210         * modules/uninorm/filter-tests: Likewise.
6211         * modules/uninorm/nfc-tests: Likewise.
6212         * modules/uninorm/nfd-tests: Likewise.
6213         * modules/uninorm/nfkc-tests: Likewise.
6214         * modules/uninorm/nfkd-tests: Likewise.
6215         * modules/uninorm/u8-normcmp-tests: Likewise.
6216         * modules/uninorm/u8-normcoll-tests: Likewise.
6217         * modules/uninorm/u16-normcmp-tests: Likewise.
6218         * modules/uninorm/u16-normcoll-tests: Likewise.
6219         * modules/uninorm/u32-normcmp-tests: Likewise.
6220         * modules/uninorm/u32-normcoll-tests: Likewise.
6221         * modules/unistdio/u8-asnprintf-tests: Likewise.
6222         * modules/unistdio/u8-vasnprintf-tests: Likewise.
6223         * modules/unistdio/u8-vasprintf-tests: Likewise.
6224         * modules/unistdio/u8-vsnprintf-tests: Likewise.
6225         * modules/unistdio/u8-vsprintf-tests: Likewise.
6226         * modules/unistdio/u16-asnprintf-tests: Likewise.
6227         * modules/unistdio/u16-vasnprintf-tests: Likewise.
6228         * modules/unistdio/u16-vasprintf-tests: Likewise.
6229         * modules/unistdio/u16-vsnprintf-tests: Likewise.
6230         * modules/unistdio/u16-vsprintf-tests: Likewise.
6231         * modules/unistdio/u32-asnprintf-tests: Likewise.
6232         * modules/unistdio/u32-vasnprintf-tests: Likewise.
6233         * modules/unistdio/u32-vasprintf-tests: Likewise.
6234         * modules/unistdio/u32-vsnprintf-tests: Likewise.
6235         * modules/unistdio/u32-vsprintf-tests: Likewise.
6236         * modules/unistdio/ulc-asnprintf-tests: Likewise.
6237         * modules/unistdio/ulc-vasnprintf-tests: Likewise.
6238         * modules/unistdio/ulc-vasprintf-tests: Likewise.
6239         * modules/unistdio/ulc-vsnprintf-tests: Likewise.
6240         * modules/unistdio/ulc-vsprintf-tests: Likewise.
6241         * modules/unistr/u8-check-tests: Likewise.
6242         * modules/unistr/u8-chr-tests: Likewise.
6243         * modules/unistr/u8-cmp-tests: Likewise.
6244         * modules/unistr/u8-cmp2-tests: Likewise.
6245         * modules/unistr/u8-cpy-alloc-tests: Likewise.
6246         * modules/unistr/u8-cpy-tests: Likewise.
6247         * modules/unistr/u8-mblen-tests: Likewise.
6248         * modules/unistr/u8-mbsnlen-tests: Likewise.
6249         * modules/unistr/u8-mbtouc-tests: Likewise.
6250         * modules/unistr/u8-mbtouc-unsafe-tests: Likewise.
6251         * modules/unistr/u8-mbtoucr-tests: Likewise.
6252         * modules/unistr/u8-move-tests: Likewise.
6253         * modules/unistr/u8-next-tests: Likewise.
6254         * modules/unistr/u8-prev-tests: Likewise.
6255         * modules/unistr/u8-set-tests: Likewise.
6256         * modules/unistr/u8-stpcpy-tests: Likewise.
6257         * modules/unistr/u8-stpncpy-tests: Likewise.
6258         * modules/unistr/u8-strcat-tests: Likewise.
6259         * modules/unistr/u8-strcmp-tests: Likewise.
6260         * modules/unistr/u8-strcoll-tests: Likewise.
6261         * modules/unistr/u8-strcpy-tests: Likewise.
6262         * modules/unistr/u8-strdup-tests: Likewise.
6263         * modules/unistr/u8-strlen-tests: Likewise.
6264         * modules/unistr/u8-strmblen-tests: Likewise.
6265         * modules/unistr/u8-strmbtouc-tests: Likewise.
6266         * modules/unistr/u8-strncat-tests: Likewise.
6267         * modules/unistr/u8-strncmp-tests: Likewise.
6268         * modules/unistr/u8-strncpy-tests: Likewise.
6269         * modules/unistr/u8-strnlen-tests: Likewise.
6270         * modules/unistr/u8-to-u16-tests: Likewise.
6271         * modules/unistr/u8-to-u32-tests: Likewise.
6272         * modules/unistr/u8-uctomb-tests: Likewise.
6273         * modules/unistr/u16-check-tests: Likewise.
6274         * modules/unistr/u16-chr-tests: Likewise.
6275         * modules/unistr/u16-cmp-tests: Likewise.
6276         * modules/unistr/u16-cmp2-tests: Likewise.
6277         * modules/unistr/u16-cpy-alloc-tests: Likewise.
6278         * modules/unistr/u16-cpy-tests: Likewise.
6279         * modules/unistr/u16-mblen-tests: Likewise.
6280         * modules/unistr/u16-mbsnlen-tests: Likewise.
6281         * modules/unistr/u16-mbtouc-tests: Likewise.
6282         * modules/unistr/u16-mbtouc-unsafe-tests: Likewise.
6283         * modules/unistr/u16-mbtoucr-tests: Likewise.
6284         * modules/unistr/u16-move-tests: Likewise.
6285         * modules/unistr/u16-next-tests: Likewise.
6286         * modules/unistr/u16-prev-tests: Likewise.
6287         * modules/unistr/u16-set-tests: Likewise.
6288         * modules/unistr/u16-stpcpy-tests: Likewise.
6289         * modules/unistr/u16-stpncpy-tests: Likewise.
6290         * modules/unistr/u16-strcat-tests: Likewise.
6291         * modules/unistr/u16-strcmp-tests: Likewise.
6292         * modules/unistr/u16-strcoll-tests: Likewise.
6293         * modules/unistr/u16-strcpy-tests: Likewise.
6294         * modules/unistr/u16-strdup-tests: Likewise.
6295         * modules/unistr/u16-strlen-tests: Likewise.
6296         * modules/unistr/u16-strmblen-tests: Likewise.
6297         * modules/unistr/u16-strmbtouc-tests: Likewise.
6298         * modules/unistr/u16-strncat-tests: Likewise.
6299         * modules/unistr/u16-strncmp-tests: Likewise.
6300         * modules/unistr/u16-strncpy-tests: Likewise.
6301         * modules/unistr/u16-strnlen-tests: Likewise.
6302         * modules/unistr/u16-to-u32-tests: Likewise.
6303         * modules/unistr/u16-to-u8-tests: Likewise.
6304         * modules/unistr/u16-uctomb-tests: Likewise.
6305         * modules/unistr/u32-check-tests: Likewise.
6306         * modules/unistr/u32-chr-tests: Likewise.
6307         * modules/unistr/u32-cmp-tests: Likewise.
6308         * modules/unistr/u32-cmp2-tests: Likewise.
6309         * modules/unistr/u32-cpy-alloc-tests: Likewise.
6310         * modules/unistr/u32-cpy-tests: Likewise.
6311         * modules/unistr/u32-mblen-tests: Likewise.
6312         * modules/unistr/u32-mbsnlen-tests: Likewise.
6313         * modules/unistr/u32-mbtouc-tests: Likewise.
6314         * modules/unistr/u32-mbtouc-unsafe-tests: Likewise.
6315         * modules/unistr/u32-mbtoucr-tests: Likewise.
6316         * modules/unistr/u32-move-tests: Likewise.
6317         * modules/unistr/u32-next-tests: Likewise.
6318         * modules/unistr/u32-prev-tests: Likewise.
6319         * modules/unistr/u32-set-tests: Likewise.
6320         * modules/unistr/u32-stpcpy-tests: Likewise.
6321         * modules/unistr/u32-stpncpy-tests: Likewise.
6322         * modules/unistr/u32-strcat-tests: Likewise.
6323         * modules/unistr/u32-strcmp-tests: Likewise.
6324         * modules/unistr/u32-strcoll-tests: Likewise.
6325         * modules/unistr/u32-strcpy-tests: Likewise.
6326         * modules/unistr/u32-strdup-tests: Likewise.
6327         * modules/unistr/u32-strlen-tests: Likewise.
6328         * modules/unistr/u32-strmblen-tests: Likewise.
6329         * modules/unistr/u32-strmbtouc-tests: Likewise.
6330         * modules/unistr/u32-strncat-tests: Likewise.
6331         * modules/unistr/u32-strncmp-tests: Likewise.
6332         * modules/unistr/u32-strncpy-tests: Likewise.
6333         * modules/unistr/u32-strnlen-tests: Likewise.
6334         * modules/unistr/u32-to-u16-tests: Likewise.
6335         * modules/unistr/u32-to-u8-tests: Likewise.
6336         * modules/unistr/u32-uctomb-tests: Likewise.
6337         * modules/uniwbrk/u8-wordbreaks-tests: Likewise.
6338         * modules/uniwbrk/u16-wordbreaks-tests: Likewise.
6339         * modules/uniwbrk/u32-wordbreaks-tests: Likewise.
6340         * modules/uniwbrk/ulc-wordbreaks-tests: Likewise.
6341         * modules/uniwidth/u8-strwidth-tests: Likewise.
6342         * modules/uniwidth/u8-width-tests: Likewise.
6343         * modules/uniwidth/u16-strwidth-tests: Likewise.
6344         * modules/uniwidth/u16-width-tests: Likewise.
6345         * modules/uniwidth/u32-strwidth-tests: Likewise.
6346         * modules/uniwidth/u32-width-tests: Likewise.
6347         * modules/uniwidth/width-tests: Likewise.
6348
6349 2010-05-18  Richard Jones  <rjones@redhat.com>
6350
6351         doc: users.txt: list hivex
6352         * users.txt: Add hivex.
6353
6354 2010-05-18  Richard Jones  <rjones@redhat.com>
6355
6356         doc: users.txt: list febootstrap
6357         * users.txt: Add febootstrap.
6358
6359 2010-05-17  Giuseppe Scrivano  <gscrivano@gnu.org>
6360
6361         bootstrap: fix an error when gnulib is not used as a git submodule
6362         * build-aux/bootstrap (gnulib_path): If its length is zero then
6363         assign "gnulib" to it.
6364         * build-aux/bootstrap: Redirect "git clone -h" stderr to stdout.
6365
6366 2010-05-16  Bruno Haible  <bruno@clisp.org>
6367
6368         Avoid autoconf warnings about AM_ICONV.
6369         * m4/iconv.m4 (AM_ICONV): Define using AC_DEFUN_ONCE for autoconf >=
6370         2.64.
6371
6372 2010-05-16  Bruno Haible  <bruno@clisp.org>
6373
6374         absolute-header: Make the macro usable in more situations.
6375         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): New macro, extracted
6376         from gl_ABSOLUTE_HEADER.
6377         (gl_ABSOLUTE_HEADER): Use it. Fix comment.
6378
6379 2010-05-16  James Youngman  <jay@gnu.org>
6380
6381         doc: update users.txt
6382         * users.txt: Add CSSC.
6383
6384 2010-05-16  Jim Meyering  <meyering@redhat.com>
6385
6386         init.sh: fix an error in the previous change; add more comments
6387         * tests/init.sh: Compare exit code in loop against 9, not 2.
6388         Patch by Bruno Haible.
6389         Make the two tests more similar by adding an empty "then" clause.
6390         Add comments.
6391
6392         init.sh: avoid unnecessary shell re-exec
6393         * tests/init.sh: Improve the re-exec-required check to first test the
6394         current shell.  If it passes the test, do not search for a shell that
6395         does pass, and do not re-exec.  This test is particularly contorted to
6396         avoid triggering misbehavior in Solaris 10's /bin/sh whereby any use
6397         of $(...) evokes a syntax error and causes immediate shell exit with
6398         status 2.  Bruno Haible reported that the re-exec made it impossible
6399         to single-step through any init.sh-using script.
6400
6401 2010-05-16  Bruno Haible  <bruno@clisp.org>
6402
6403         Fix collision between gnulib's and libintl's printf replacements.
6404         * lib/stdio.in.h (_GL_STDIO_STRINGIZE,
6405         _GL_STDIO_MACROEXPAND_AND_STRINGIZE): New macros.
6406         (printf): When using GNU C, map the __printf__ function to rpl_printf
6407         via __asm__. When not using GNU C, define rpl_printf instead of
6408         __printf__.
6409         * lib/printf.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2010-03-25
6410         commit.
6411         * lib/stdio-write.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2009-08-10
6412         commit.
6413         * m4/asm-underscore.m4: New file.
6414         * m4/stdio_h.m4 (gl_STDIO_H): Require gl_ASM_SYMBOL_PREFIX.
6415         * modules/stdio (Files): Add m4/asm-underscore.m4.
6416         (Makefile.am): Substitute ASM_SYMBOL_PREFIX.
6417         Reported by Ben Pfaff.
6418
6419 2010-05-16  Bruno Haible  <bruno@clisp.org>
6420
6421         verify: Avoid skipping the test on openSUSE 11.0.
6422         * tests/test-verify.sh: Unset MALLOC_PERTURB_.
6423
6424 2010-05-13  Bruno Haible  <bruno@clisp.org>
6425
6426         Avoid useless warnings from G++.
6427         * build-aux/c++defs.h (_GL_CXXALIASWARN_2, _GL_CXXALIASWARN1_2): Don't
6428         use _GL_WARN_ON_USE or _GL_WARN_ON_USE_CXX when optimizing.
6429         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
6430
6431 2010-05-11  Jim Meyering  <meyering@redhat.com>
6432
6433         maint.mk: tweak preceding change
6434         * top/maint.mk (gl_extract_significant_defines_): Make exclusion
6435         regexps tighter by anchoring at EOL, and make the new group "shy"
6436         for slightly decreased overhead.
6437
6438 2010-05-11  Eric Blake  <eblake@redhat.com>
6439
6440         maint.mk: gnulib doesn't guarantee NSIG
6441         * top/maint.mk (gl_extract_significant_defines_): Exclude NSIG.
6442
6443 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
6444
6445         test-pwrite.c: Remove unused variable declaration.
6446         * tests/test-pwrite.c (main): Remove read_buf declaration.
6447
6448         Remove useless test-pwrite.sh file.
6449         * tests/test-pwrite.sh: Delete file.
6450         * modules/pwrite-tests: Remove references.
6451         Reported by Bruno Haible.
6452
6453 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
6454
6455         init.sh: fix a typo
6456         * tests/init.sh: Correct typo in MALLOC_PERTURB_ initialization.
6457
6458 2010-05-10  Jim Meyering  <meyering@redhat.com>
6459
6460         maint.mk: avoid using a temporary file in the always-defined-macros check
6461         * top/maint.mk (.re-defmac): Remove rule.
6462         (gl_trap_): Remove definition.
6463         (sc_prohibit_always-defined_macros): Rewrite not to create and
6464         depend on a temporary file.  Instead, depend on GNU grep's ability
6465         to read a list of regular expressions from stdin when given "-f -".
6466
6467 2010-05-09  Bruno Haible  <bruno@clisp.org>
6468
6469         Update to GNU gettext 0.18, part 1.
6470         * m4/gettext.m4: Update to GNU gettext 0.18.
6471         * m4/intl.m4: Likewise.
6472         * m4/po.m4: Likewise.
6473         * modules/gettext (Files): Add m4/fcntl-o.m4.
6474         (configure.ac): Require gettext infrastructure from version 0.18.
6475
6476 2010-05-09  Jim Meyering  <meyering@redhat.com>
6477
6478         init.sh: enable MALLOC_PERTURB_
6479         * tests/init.sh: Enable glibc's malloc-perturbing option.
6480
6481         maint.mk: improve sc_cross_check_PATH_usage_in_tests
6482         With my recent change in init.sh from the two-line form:
6483             -#   : ${srcdir=.}
6484             -#   . "$srcdir/init.sh"; path_prepend_ .
6485             +#   . "${srcdir=.}/init.sh"; path_prepend_ .
6486         I noticed that using the one-line form would cause this test
6487         to fail with a false-positive, or to stop working altogether,
6488         depending on whether help-version changed or all the tests did.
6489         * top/maint.mk (_hv_regex): Remove this definition.
6490         (_hv_regex_weak): Use a weak regex to select all init.sh-sourcing files.
6491         (_hv_regex_strong): Use a stronger regex to check for conformance.
6492         (sc_cross_check_PATH_usage_in_tests): Rewrite to use the above.
6493         Give a separate diagnostic for lack of conforming use.
6494
6495         maint.mk: prohibit definition of symbols defined by gnulib
6496         * top/maint.mk (sc_prohibit_always-defined_macros): Reject the
6497         definition of symbols defined by gnulib.
6498
6499 2010-05-09  Bruno Haible  <bruno@clisp.org>
6500
6501         acl: Avoid test failure on Cygwin-hosted mingw.
6502         * tests/test-set-mode-acl.sh: Skip test if USE_ACL is 0.
6503
6504 2010-05-09  Bruno Haible  <bruno@clisp.org>
6505
6506         error: Use system's fcntl function.
6507         * lib/error.c (fcntl): Undefine.
6508
6509 2010-05-09  Jim Meyering  <meyering@redhat.com>
6510
6511         verify: adjust formatting to be more consistent
6512         * lib/verify.h (_GL_GENSYM): Add a space before each of a few
6513         argument-list '('s, and after one comma.
6514
6515 2010-05-09  Bruno Haible  <bruno@clisp.org>
6516
6517         error: More reliable output on mingw.
6518         * lib/error.c: Include <windows.h>.
6519         (is_open): New function.
6520         (flush_stdout): Call it instead of fcntl, also if F_GETFL is not
6521         defined.
6522
6523 2010-05-09  Bruno Haible  <bruno@clisp.org>
6524
6525         vasnprintf: Fix syntax errors in libintl build on mingw.
6526         * lib/vasnprintf.c (VASNPRINTF): Move a closing brace. Undefine
6527         pad_ourselves and prec_ourselves after use.
6528
6529 2010-05-08  Bruno Haible  <bruno@clisp.org>
6530
6531         * lib/config.charset: Update comments for Cygwin 1.7.
6532         * lib/localcharset.c: Likewise.
6533
6534 2010-05-07  Jim Meyering  <meyering@redhat.com>
6535
6536         init.sh: improve comments
6537         * tests/init.sh: Recommend the one-line init.sh-sourcing idiom:
6538         . "${srcdir=.}/init.sh"; path_prepend_ .
6539         Add a note about path_prepend_ and the alternative of using
6540         TESTS_ENVIRONMENT.
6541
6542 2010-05-06  Sergey Poznyakoff  <gray@gnu.org.ua>
6543
6544         exclude: Unescape hashed patterns in wildcard mode.
6545         * lib/exclude.c (add_exclude): Unescape the pattern before adding it
6546         to the hash list.
6547         * tests/test-exclude8.sh: New test case.
6548         * modules/exclude-tests: Add new test.
6549
6550 2010-05-05  Eric Blake  <eblake@redhat.com>
6551
6552         verify: automate tests
6553         * modules/verify-tests: New module.
6554         * tests/test-verify.sh: New file.
6555         * tests/test-verify.c: Guard each negative test with a unique id.
6556         Also avoid warning about unused left hand of comma expressions.
6557
6558 2010-05-05  Paul Eggert  <eggert@cs.ucla.edu>
6559
6560         Further improvements to verify.h, suggested by Eric Blake.
6561         * lib/verify.h (_GL_CONCAT, _GL_CONCAT0, _GL_GENSYM): Renamed from
6562         the GL_* versions, to avoid collision with OpenGL.
6563         (_GL_COUNTER): New macro, so that we can fall back on __LINE__ if
6564         __COUNTER__ doesn't work.  Test that __COUNTER__ increments rather
6565         than testing merely whether it's defined.
6566
6567         Modify verify.h to pacify gcc -Wredundant_decls.
6568         * lib/verify.h (GL_CONCAT, GL_CONCAT0, GL_GENSYM): New macros.
6569         These use the prefix "GL_" since they're likely to be useful elsewhere.
6570         We may need to break them out into a different .h file.
6571         (__COUNTER__): Define to 0 if the compiler doesn't support it.
6572         (verify) [!defined __cplusplus]: Use them to avoid duplicate decls
6573         of verify_function__.
6574
6575 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
6576
6577         Tests for module pwrite.
6578         * modules/pwrite-tests: New file.
6579         * tests/test-pwrite.sh: New file.
6580         * tests/test-pwrite.c: New file.
6581
6582         New module pwrite.
6583         * lib/unistd.in.h (pwrite): New declaration.
6584         * lib/pwrite.c: New file, from glibc with modifications.
6585         * m4/pwrite.m4: New file.
6586         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether pwrite is declared.
6587         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PWRITE, HAVE_PWRITE,
6588         REPLACE_PWRITE.
6589         * modules/pwrite: New file.
6590         * modules/unistd (Makefile.am): Substitute GNULIB_PWRITE, HAVE_PWRITE,
6591         REPLACE_PWRITE.
6592         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::pwrite.
6593         * doc/posix-functions/pwrite.texi: Mention the new module.
6594
6595 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
6596
6597         pread: Update documentation.
6598         * doc/posix-functions/pread.texi: Mention the 'pread' module.
6599
6600 2010-05-04  Eric Blake  <eblake@redhat.com>
6601
6602         docs: update cygwin progress
6603         * doc/posix-functions/wctob.texi (wctob): Cygwin 1.7.6 will fix
6604         this bug.
6605         * doc/glibc-functions/get_nprocs_conf.texi (get_nprocs_conf):
6606         Added in cygwin 1.7.2.
6607         * doc/glibc-functions/get_phys_pages.texi (get_phys_pages):
6608         Likewise.
6609         * doc/glibc-functions/get_avphys_pages.texi (get_avphys_pages):
6610         Likewise.
6611         * doc/glibc-functions/dup3.texi (dup3): Likewise.
6612         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
6613         * doc/glibc-functions/accept4.texi (accept4): Likewise.
6614         * doc/posix-functions/strfmon.texi (strfmon): Likewise.
6615         * doc/glibc-functions/get_nprocs.texi (get_nprocs): Likewise.
6616         Mention nproc module.
6617         * doc/glibc-functions/xdr_uint16_t.texi (xdr_uint16_t): Mention
6618         bug in cygwin 1.7.5 addition.
6619         * doc/glibc-functions/xdr_uint32_t.texi (xdr_uint32_t): Likewise.
6620         * doc/glibc-functions/xdr_uint64_t.texi (xdr_uint64_t): Likewise.
6621         * doc/glibc-functions/xdr_uint8_t.texi (xdr_uint8_t): Likewise.
6622         * doc/glibc-functions/xdr_array.texi (xdr_array): Added in cygwin
6623         1.7.5.
6624         * doc/glibc-functions/xdr_bool.texi (xdr_bool): Likewise.
6625         * doc/glibc-functions/xdr_bytes.texi (xdr_bytes): Likewise.
6626         * doc/glibc-functions/xdr_char.texi (xdr_char): Likewise.
6627         * doc/glibc-functions/xdr_double.texi (xdr_double): Likewise.
6628         * doc/glibc-functions/xdr_enum.texi (xdr_enum): Likewise.
6629         * doc/glibc-functions/xdr_float.texi (xdr_float): Likewise.
6630         * doc/glibc-functions/xdr_free.texi (xdr_free): Likewise.
6631         * doc/glibc-functions/xdr_hyper.texi (xdr_hyper): Likewise.
6632         * doc/glibc-functions/xdr_int.texi (xdr_int): Likewise.
6633         * doc/glibc-functions/xdr_int16_t.texi (xdr_int16_t): Likewise.
6634         * doc/glibc-functions/xdr_int32_t.texi (xdr_int32_t): Likewise.
6635         * doc/glibc-functions/xdr_int64_t.texi (xdr_int64_t): Likewise.
6636         * doc/glibc-functions/xdr_int8_t.texi (xdr_int8_t): Likewise.
6637         * doc/glibc-functions/xdr_long.texi (xdr_long): Likewise.
6638         * doc/glibc-functions/xdr_longlong_t.texi (xdr_longlong_t):
6639         Likewise.
6640         * doc/glibc-functions/xdr_netobj.texi (xdr_netobj): Likewise.
6641         * doc/glibc-functions/xdr_opaque.texi (xdr_opaque): Likewise.
6642         * doc/glibc-functions/xdr_pointer.texi (xdr_pointer): Likewise.
6643         * doc/glibc-functions/xdr_reference.texi (xdr_reference):
6644         Likewise.
6645         * doc/glibc-functions/xdr_short.texi (xdr_short): Likewise.
6646         * doc/glibc-functions/xdr_sizeof.texi (xdr_sizeof): Likewise.
6647         * doc/glibc-functions/xdr_string.texi (xdr_string): Likewise.
6648         * doc/glibc-functions/xdr_u_char.texi (xdr_u_char): Likewise.
6649         * doc/glibc-functions/xdr_u_hyper.texi (xdr_u_hyper): Likewise.
6650         * doc/glibc-functions/xdr_u_int.texi (xdr_u_int): Likewise.
6651         * doc/glibc-functions/xdr_u_long.texi (xdr_u_long): Likewise.
6652         * doc/glibc-functions/xdr_u_longlong_t.texi (xdr_u_longlong_t):
6653         Likewise.
6654         * doc/glibc-functions/xdr_u_short.texi (xdr_u_short): Likewise.
6655         * doc/glibc-functions/xdr_union.texi (xdr_union): Likewise.
6656         * doc/glibc-functions/xdr_vector.texi (xdr_vector): Likewise.
6657         * doc/glibc-functions/xdr_void.texi (xdr_void): Likewise.
6658         * doc/glibc-functions/xdr_wrapstring.texi (xdr_wrapstring):
6659         Likewise.
6660         * doc/glibc-functions/xdrmem_create.texi (xdrmem_create):
6661         Likewise.
6662         * doc/glibc-functions/xdrrec_create.texi (xdrrec_create):
6663         Likewise.
6664         * doc/glibc-functions/xdrrec_endofrecord.texi
6665         (xdrrec_endofrecord): Likewise.
6666         * doc/glibc-functions/xdrrec_eof.texi (xdrrec_eof): Likewise.
6667         * doc/glibc-functions/xdrrec_skiprecord.texi (xdrrec_skiprecord):
6668         Likewise.
6669         * doc/glibc-functions/xdrstdio_create.texi (xdrstdio_create):
6670         Likewise.
6671
6672 2010-05-04  Jim Meyering  <meyering@redhat.com>
6673
6674         gendocs.sh: make its "-s FILE" option more useful
6675         * build-aux/gendocs.sh: When honoring the -s FILE option, update
6676         $PACKAGE to reflect the probably-different basename of "FILE".
6677
6678 2010-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
6679
6680         bootstrap: don't ignore download_po_files failure
6681         * build-aux/bootstrap (update_po_files): Don't ignore download_po_files
6682         failure.
6683
6684 2010-05-03  Jim Meyering  <meyering@redhat.com>
6685
6686         maint.mk: allow to pass options to gendocs.sh
6687         * top/maint.mk (web-manual): Pass gendocs_options_ to gendocs.sh.
6688         (gendocs_options_): New overridable variable.
6689
6690         gnu-web-doc-update: don't ignore configure or build failure
6691         * build-aux/gnu-web-doc-update: Exit nonzero upon internal failure.
6692
6693         announce-gen: backslash-escape '@'s in --help output
6694         * build-aux/announce-gen: Fix syntax errors.
6695
6696         maint.mk, announce-gen: allow project-specific announcement mail headers
6697         * top/maint.mk (translation_project_): Define default.
6698         (announcement_Cc_, announcement_mail_headers_): Likewise.
6699         (announcement): Invoke announce-gen with new --mail-headers option.
6700         * build-aux/announce-gen: New option: --mail-headers=HEADERS.
6701
6702         test-xalloc-die: avoid unwarranted test failure on OpenSolaris 5.11
6703         * tests/test-xalloc-die.sh: Redirect stdout before stderr, (i.e.,
6704         "> out 2> err", rather than "2> err > out").  Otherwise, with /bin/sh
6705         on OpenSolaris 5.11 snv_134, we would end up with a stray "1> out"
6706         line in the "err2" output file when running "make check" in verbose
6707         mode (i.e., with set -x enabled).
6708
6709 2010-05-03  Bruno Haible  <bruno@clisp.org>
6710
6711         wctob: Fix for weird platforms.
6712         * lib/wctob.c (wctob): When wint_t is larger than wchar_t, check the
6713         argument value.
6714
6715 2010-05-03  Jim Meyering  <meyering@redhat.com>
6716
6717         maint.mk: prohibit unwarranted use of <strings.h>
6718         * top/maint.mk (sc_prohibit_strings_without_use): Reject inclusion of
6719         strings.h in a file that does not also use strcasecmp, strncasecmp,
6720         ffs or ffsll.
6721
6722         maint.mk: remove obsolete comments
6723         * top/maint.mk: Remove stale, commented-out rules.
6724
6725 2010-05-02  Bruno Haible  <bruno@clisp.org>
6726
6727         wcwidth: Declare also when it's aliased.
6728         * lib/wchar.in.h (wcwidth): Don't test whether wcwidth is defined as a
6729         macro.
6730
6731 2010-05-02  Bruno Haible  <bruno@clisp.org>
6732
6733         Fix regression from 2010-04-25.
6734         * gnulib-tool (func_modules_transitive_closure): Check the status of
6735         all modules, not only of the tests that are of the form foo-tests where
6736         foo is a module.
6737
6738 2010-05-02  Bruno Haible  <bruno@clisp.org>
6739
6740         wctob: Work around nasty Cygwin 1.7.2 bug.
6741         * m4/wctob.m4 (gl_FUNC_WCTOB): Detect the Cygwin bug.
6742         * doc/posix-functions/wctob.texi: Mention the Cygwin bug.
6743
6744 2010-05-01  Bruno Haible  <bruno@clisp.org>
6745
6746         fpurge: Sharper test.
6747         * tests/test-fpurge.c (main): Add one more ftell check.
6748         * modules/fpurge-tests (Depends-on): Add ftell.
6749         Suggested by Eric Blake.
6750
6751 2010-05-01  Bruno Haible  <bruno@clisp.org>
6752
6753         ftello: Another test.
6754         * tests/test-ftello3.c: New file.
6755         * modules/ftello-tests (Files): Add it.
6756         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
6757         MOSTLYCLEANFILES.
6758
6759         ftell: Another test.
6760         * tests/test-ftell3.c: New file.
6761         * modules/ftell-tests (Files): Add it.
6762         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
6763         MOSTLYCLEANFILES.
6764
6765 2010-05-01  Bruno Haible  <bruno@clisp.org>
6766
6767         ftell, ftello: Work around Solaris bug.
6768         * m4/ftello.m4 (gl_FUNC_FTELLO): Detect Solaris bug.
6769         * lib/ftello.c: Include stdio-impl.h.
6770         (ftello): On Solaris, when _IOWRT is set, compute the result without
6771         looking at _IOREAD.
6772         * modules/ftello (Files): Add lib/stdio-impl.h.
6773         * doc/posix-functions/ftell.texi: Mention Solaris bug.
6774         * doc/posix-functions/ftello.texi: Likewise.
6775         Reported by Eric Blake.
6776
6777 2010-05-01  Bruno Haible  <bruno@clisp.org>
6778
6779         freading: Adapt to special meaning of _IOREAD flag on Solaris.
6780         * lib/freading.c (freading): On Solaris, ignore the _IOREAD flag if
6781         the _IOWRT flag is also set.
6782
6783 2010-05-01  Bruno Haible  <bruno@clisp.org>
6784
6785         Fix doc about a HP-UX stdio bug.
6786         * doc/posix-functions/ftell.texi: Mark HP-UX bug as unfixed.
6787         * doc/posix-functions/ftello.texi: Likewise.
6788
6789 2010-05-01  Bruno Haible  <bruno@clisp.org>
6790
6791         lseek test: Fix failure on Solaris.
6792         * tests/test-lseek.sh: Partially revert 2010-04-20 commit. Consume all
6793         output.
6794
6795 2010-04-30  Jim Meyering  <meyering@redhat.com>
6796
6797         bootstrap: don't ignore failure to generate po*/Makevars
6798         * build-aux/bootstrap (with_gettext): Don't ignore failure
6799         to create po/Makevars or runtime-po/Makevars.
6800
6801 2010-04-29  Eric Blake  <eblake@redhat.com>
6802
6803         headers: relax license to LGPLv2+
6804         * modules/fcntl-h (License): Relax license.
6805         * modules/getopt-posix (License): Likewise.
6806         * modules/locale (License): Likewise.
6807         * modules/math (License): Likewise.
6808         * modules/pty (License): Likewise.
6809         * modules/sched (License): Likewise.
6810         * modules/search (License): Likewise.
6811         * modules/spawn (License): Likewise.
6812         * modules/stdarg (License): Likewise.
6813         * modules/sysexits (License): Likewise.
6814
6815 2010-04-29  Jim Meyering  <meyering@redhat.com>
6816
6817         inttypes: relax license to LGPLv2+
6818         * modules/inttypes (License): Relax license.
6819
6820 2010-04-29  Simon Josefsson  <simon@josefsson.org>
6821
6822         * top/maint.mk (indent): Run twice to produce idempotent results.
6823
6824 2010-04-28  Bruno Haible  <bruno@clisp.org>
6825
6826         getdate: Generate getdate.c in the source directory.
6827         * modules/getdate (Makefile.am): Add rule for getdate.c. Augment
6828         MOSTLYCLEANFILES.
6829         Suggested by Daniel Richard G. <skunk@iskunk.org> and Ralf Wildenhues.
6830
6831 2010-04-27  Andreas Gruenbacher  <agruen@suse.de>  (tiny change)
6832
6833         * lib/utimens.c: On Tru64, the timestamp parameter of utimens(2)
6834         is not declared as a const *; avoid warnings in that case.
6835
6836 2010-04-28  Eric Blake  <eblake@redhat.com>
6837
6838         canonicalize-lgpl: avoid compiler warning
6839         * lib/canonicalize-lgpl.c (versioned_symbol): Avoid an 'empty
6840         declaration' / 'extraneous semicolon' warning with some compilers.
6841         Reported by Andreas Gruenbacher.
6842
6843 2010-04-28  Jim Meyering  <meyering@redhat.com>
6844
6845         init.sh: ensure a more reliable exit status when exiting via trap
6846         * tests/init.sh (setup_): Don't rely on $? in signal handler.
6847         Inspired by patches from Dmitry V. Levin.
6848         Also trap on signal 3 (SIGQUIT).
6849
6850 2010-04-27  Bruno Haible  <bruno@clisp.org>
6851
6852         Update doc about utimes().
6853         * doc/posix-functions/utimes.texi: Mention the OSF/1 problem and the
6854         'utimens' module.
6855         Reported by Andreas Gruenbacher <agruen@suse.de>.
6856
6857 2010-04-27  Eric Blake  <eblake@redhat.com>
6858
6859         full-read, full-write: relax license
6860         * modules/full-read (License): Drop to LGPLv2+.
6861         * modules/full-write (License): Likewise.
6862         * modules/safe-read (License): Likewise.
6863         * modules/safe-write (License): Likewise.
6864
6865         pthread: mention library for linking
6866         * modules/pthread (Link): Mention $(LIB_PTHREAD).
6867
6868 2010-04-27  Jim Meyering  <meyering@redhat.com>
6869
6870         maint.mk: fix a bug introduced in last change
6871         * top/maint.mk (gl_assured_headers_): Now that all names are on
6872         one line, use sed's "g" modifier.  Note that while the \.in\.h LHS
6873         is not anchored to end of word, it should be adequate.
6874
6875         maint.mk: avoid side-effect in latest syntax-check
6876         * top/maint.mk (sc_prohibit_always_true_header_tests): Rework not
6877         to run commands via $(shell...), and hence to incur cost only when
6878         the new rule is actually run.
6879
6880         maint.mk: syntax-check: prohibit HAVE_<header>_H that are always true
6881         Derive the list of guaranteed header names from gnulib/lib/*.in.h,
6882         and use that to create a regexp used to detect all #if HAVE_..._H uses.
6883         * top/maint.mk (sc_prohibit_always_true_header_tests): New rule.
6884         (gl_assured_headers_, az_, AZ_): Define.
6885         (gl_header_upper_case_or_, gl_have_header_regex_): Define.
6886
6887 2010-04-26  Jim Meyering  <jim@meyering.net>
6888             Bruno Haible  <bruno@clisp.org>
6889
6890         gnulib-common.m4: make glibc write diagnostics to stderr, not /dev/tty
6891         * m4/gnulib-common.m4 (gl_COMMON_BODY): Set LIBC_FATAL_STDERR_.
6892         Prompted by an exchange with Gilles Espinasse.
6893
6894 2010-04-26  Jim Meyering  <meyering@redhat.com>
6895
6896         git-version-gen: aesthetic tweak
6897         * build-aux/git-version-gen: Use "$nl" rather than a literal,
6898         so that the command remains on a single line.
6899
6900 2010-04-26  Eric Blake  <eblake@redhat.com>
6901
6902         git-version-gen: allow use on EBCDIC hosts
6903         * build-aux/git-version-gen (dirty): Use literal rather than tying
6904         ourselves to ascii.
6905         Reported by Steve Goetze.
6906
6907 2010-04-25  Bruno Haible  <bruno@clisp.org>
6908
6909         netdb: Add support for GNULIB_POSIXCHECK.
6910         * lib/netdb.in.h: Include warn-on-use.h.
6911         (getaddrinfo, freeaddrinfo, gai_strerror, getnameinfo): Warn if these
6912         functions are used when GNULIB_POSIXCHECK is defined and the
6913         getaddrinfo module is not in use.
6914         * m4/netdb_h.m4 (gl_HEADER_NETDB): Test whether getaddrinfo,
6915         freeaddrinfo, gai_strerror, getnameinfo are declared.
6916         * modules/netdb (Depends-on): Add warn-on-use.
6917         (Makefile.am): Include warn-on-use.h in netdb.h.
6918
6919 2010-04-24  Ian Beckwith  <ianb@erislabs.net>
6920
6921         build: avoid "make check" failure without .git/ directory
6922         * Makefile (sc_prefer_ac_check_funcs_once): Skip this test when
6923         there is no .git/ directory.
6924
6925 2010-04-25  Bruno Haible  <bruno@clisp.org>
6926
6927         ptsname: Fix misuse of ttyname_r.
6928         * lib/ptsname.c (__ptsname_r): Use __ttyname_r's return value instead
6929         of errno.
6930
6931 2010-04-25  Bruno Haible  <bruno@clisp.org>
6932
6933         ttyname_r: Make it work on Solaris 10.
6934         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Define HAVE_POSIXDECL_TTYNAME_R
6935         if the system function has the POSIX declaration. Test whether the
6936         function fails if the buffer is less than 128 bytes large.
6937         * lib/ttyname_r.c (ttyname_r): Handle both possible declarations of the
6938         system's ttyname_r function. Provide a reasonably large buffer.
6939         * modules/ttyname_r (Depends-on): Add extensions.
6940         * doc/posix-functions/ttyname_r.texi: Mention the Solaris problem.
6941
6942 2010-04-25  Bruno Haible  <bruno@clisp.org>
6943
6944         Use the 'extensions' module for some more functions on Solaris.
6945         * doc/posix-functions/asctime_r.texi: Recommend to use the 'extensions'
6946         module.
6947         * doc/posix-functions/ctime_r.texi: Likewise.
6948         * doc/posix-functions/getgrgid_r.texi: Likewise.
6949         * doc/posix-functions/getgrnam_r.texi: Likewise.
6950         * doc/posix-functions/getpwnam_r.texi: Likewise.
6951         * doc/posix-functions/getpwuid_r.texi: Likewise.
6952         * doc/posix-functions/readdir_r.texi: Likewise.
6953         * doc/posix-functions/sigwait.texi: Likewise.
6954         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Add comment.
6955         * doc/posix-functions/getlogin_r.texi: Mark Solaris problem as fixed.
6956
6957 2010-04-25  Bruno Haible  <bruno@clisp.org>
6958
6959         ttyname_r: Make it work on MacOS X 10.4 and Solaris 10.
6960         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether the system function
6961         has the POSIX declaration. Set REPLACE_TTYNAME_R if not.
6962         * lib/ttyname_r.c: Include <limits.h>.
6963         (ttyname_r): Define using the system's ttyname_r function, if it exists
6964         and not on Solaris.
6965         * lib/unistd.in.h (ttyname_r): Replace function if REPLACE_TTYNAME_R is
6966         set.
6967         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_TTYNAME_R.
6968         * modules/unistd (Makefile.am): Substitute REPLACE_TTYNAME_R.
6969         * doc/posix-functions/ttyname_r.texi: Mark the problem as fixed.
6970         Reported by Simon Josefsson.
6971
6972 2010-04-25  Bruno Haible  <bruno@clisp.org>
6973
6974         Mention effects of _POSIX_PTHREAD_SEMANTICS on Solaris.
6975         * doc/posix-functions/asctime_r.texi: Mention the Solaris problem.
6976         * doc/posix-functions/ctime_r.texi: Likewise.
6977         * doc/posix-functions/getgrgid_r.texi: Likewise.
6978         * doc/posix-functions/getgrnam_r.texi: Likewise.
6979         * doc/posix-functions/getlogin_r.texi: Likewise.
6980         * doc/posix-functions/getpwnam_r.texi: Likewise.
6981         * doc/posix-functions/getpwuid_r.texi: Likewise.
6982         * doc/posix-functions/readdir_r.texi: Likewise.
6983         * doc/posix-functions/sigwait.texi: Likewise.
6984         * doc/posix-functions/ttyname_r.texi: Likewise.
6985         Reported by Simon Josefsson.
6986
6987 2010-04-25  Bruno Haible  <bruno@clisp.org>
6988
6989         gnulib-tool: Don't include hairy tests of dependencies in testdirs.
6990         * gnulib-tool (func_usage): Document that --with-*-tests options apply
6991         also to --create-testdir.
6992         (func_acceptable): Don't consider the status of *-tests modules here.
6993         (func_modules_transitive_closure): Consider it here, before including a
6994         test module.
6995         (func_import, func_create_testdir): Set inc_all_direct_tests,
6996         inc_all_indirect_tests.
6997         * doc/gnulib.texi (Extra tests modules): Document new behaviour of
6998         --create-testdir and --create-megatestdir.
6999
7000 2010-04-25  Bruno Haible  <bruno@clisp.org>
7001
7002         gnulib-tool: Add --without-*-tests options.
7003         * gnulib-tool (func_usage): Document the --without-*-tests options.
7004         (excl_cxx_tests, excl_longrunning_tests, excl_privileged_tests,
7005         excl_unportable_tests): New variables.
7006         Fail if they are specified with --import or --update.
7007         (func_acceptable): Respect the excl_*_tests variables.
7008         (func_import): Set the excl_*_tests variables to empty.
7009
7010 2010-04-25  Simon Josefsson  <simon@josefsson.org>
7011             Bruno Haible  <bruno@clisp.org>
7012
7013         Work around a MacOS X 10.4 bug with openpty.
7014         * doc/glibc-functions/openpty.texi: Mention the MacOS X 10.4 bug.
7015         * tests/test-openpty.c (main): Close the master side explicitly.
7016
7017 2010-04-25  Bruno Haible  <bruno@clisp.org>
7018
7019         strnlen: Fix a C++ test error on MacOS X and Solaris.
7020         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Don't set REPLACE_STRNLEN to 1 if
7021         the function is not declared.
7022         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com> and
7023         Simon Josefsson.
7024
7025 2010-04-24  Bruno Haible  <bruno@clisp.org>
7026
7027         Avoid a gcc warning.
7028         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Pass argument
7029         of correct type for %08lx directive.
7030         Reported by Eric Blake.
7031
7032 2010-04-24  Bruno Haible  <bruno@clisp.org>
7033
7034         vasnprintf: Correct errno value in case of out-of-memory.
7035         * lib/vasnprintf.c (VASNPRINTF): Set errno to 0 before calling SNPRINTF
7036         or sprintf. Use the errno value from SNPRINTF or sprintf.
7037         Reported by Ian Beckwith <ianb@erislabs.net>.
7038
7039 2010-04-24  Bruno Haible  <bruno@clisp.org>
7040
7041         ansi-c++-opt: Find correct compiler when cross-compiling.
7042         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Use AC_CHECK_TOOLS instead of
7043         AC_CHECK_PROGS.
7044         Reported by Simon Josefsson.
7045
7046 2010-04-24  Giuseppe Scrivano  <gscrivano@gnu.org>
7047
7048         vc-list-files: Add support for subversion
7049         * build-aux/vc-list-files: Use "svn list" to generate the list of
7050         files controlled by subversion.
7051
7052 2010-04-23  Jim Meyering  <meyering@redhat.com>
7053
7054         vc-list-files tests: convert to use init.sh
7055         * tests/test-vc-list-files-cvs.sh: Invoke "$srcdir/init.sh" and
7056         path_prepend_.
7057         Use Exit, not exit.
7058         Use skip_ rather than open coding it.
7059         Remove trap set-up and compare definitions.
7060         * tests/test-vc-list-files-git.sh: Likewise.
7061         * modules/vc-list-files-tests (Files): Add tests/init.sh.
7062
7063 2010-04-22  Simon Josefsson  <simon@josefsson.org>
7064
7065         * top/maint.mk (sc_prohibit_backup_files): Prohibit checked in
7066         backup files.
7067
7068 2010-04-21  Simon Josefsson  <simon@josefsson.org>
7069
7070         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Test %08lx.
7071
7072 2010-04-20  Eric Blake  <eblake@redhat.com>
7073
7074         tests: be robust to ignored SIGPIPE
7075         * tests/test-select-in.sh: Consume all output.
7076         * tests/test-lseek.sh: Check correct exit status, while avoiding
7077         EPIPE.
7078
7079 2010-04-20  Simon Josefsson  <simon@josefsson.org>
7080             Bruno Haible  <bruno@clisp.org>
7081
7082         visibility: Don't use -fvisibility if it leads to a warning.
7083         * m4/visibility.m4 (gl_VISIBILITY): Check whether -Werror is usable. If
7084         yes, don't pretend that visibility works if it leads to a warning.
7085         Reported by Mike Gran <spk121@yahoo.com>.
7086
7087 2010-04-20  Andreas Gruenbacher  <agruen@suse.de>
7088
7089         * build-aux/bootstrap: Use "git -h" for testing for supported options
7090         instead of "git --help".  The short-form option only shows a summary,
7091         and doesn't layout the full man page.  Grep for the full option name
7092         in the summary, too.
7093
7094 2010-04-19  Bruno Haible  <bruno@clisp.org>
7095
7096         relocatable: Drop the need to define RELOCATABLE_STRIP in Makefile.am.
7097         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Set RELOCATABLE_STRIP.
7098         * doc/relocatable-maint.texi (Supporting Relocation): Remove the
7099         mention of RELOCATABLE_STRIP.
7100         Reported by Sylvain Beucler <beuc@beuc.net>.
7101
7102 2010-04-19  Bruno Haible  <bruno@clisp.org>
7103
7104         * lib/diffseq.h: Fix typo in comment.
7105         Reported by Eric Blake.
7106
7107 2010-04-19  Bruno Haible  <bruno@clisp.org>
7108
7109         ioctl: Move autoconf macro to a .m4 file.
7110         * m4/ioctl.m4: New file, extracted from modules/ioctl.
7111         * modules/ioctl (Files): Add it.
7112         (configure.ac): Simply invoke gl_FUNC_IOCTL.
7113         Reported by Ian Beckwith <ianb@erislabs.net>.
7114
7115 2010-04-18  Andreas Gruenbacher  <agruen@suse.de>
7116             Bruno Haible  <bruno@clisp.org>
7117
7118         diffseq: Accommodate use-case with abstract arrays.
7119         * lib/diffseq.h (struct context): Remove xvec, yvec fields if ELEMENT
7120         is not defined.
7121         (diag, compareseq): Remove local variables xv, yv if ELEMENT is not
7122         defined. Use local macro XREF_YREF_EQUAL instead of EQUAL.
7123
7124 2010-04-18  Bruno Haible  <bruno@clisp.org>
7125
7126         * doc/posix-headers/stdbool.texi: More precise wording.
7127
7128 2010-04-17  Jim Meyering  <meyering@redhat.com>
7129
7130         maint.mk: use gnu-style indentation in an embedded perl script
7131         * top/maint.mk (detect_empty_lines_at_EOF_): Clean up formatting.
7132         Rename variable: s/two/last_two_bytes/
7133
7134 2010-04-16  Eric Blake  <eblake@redhat.com>
7135
7136         test-stdbool: skip test that fails with Solaris CC
7137         * tests/test-stdbool.c (f): Skip test that causes compilation
7138         error under buggy C++ compiler.
7139         * lib/stdbool.in.h: Document the limitation.
7140         * doc/posix-headers/stdbool.texi (stdbool.h): Likewise.
7141
7142         setenv: allow compilation with C++
7143         * lib/setenv.c (__add_to_environ): Add a cast.  Also, drop use of
7144         register keyword.
7145
7146         stdint: allow test to pass with C++
7147         * tests/test-stdint.c: Define __STDC_CONSTANT_MACROS, for glibc.
7148
7149         getopt: allow compilation with C++
7150         * lib/getopt_int.h (__ordering): Hoist enum declaration outside
7151         struct.
7152         * lib/getopt.c (_getopt_internal_r): Use correct type.
7153         Reported by Dagobert Michelson, via Joel E. Denny.
7154
7155 2010-04-16  Bruno Haible  <bruno@clisp.org>
7156
7157         Override netdb.h always.
7158         * modules/netdb (Makefile.am): Augment BUILT_SOURCES always.
7159         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't set NETDB_H.
7160         Reported by Ludovic Courtès <ludo@gnu.org>.
7161
7162 2010-04-15  Bruno Haible  <bruno@clisp.org>
7163
7164         openpty: Fix mistake from 2010-03-21.
7165         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when openpty exists.
7166         Reported by Simon Josefsson.
7167
7168 2010-04-15  Eric Blake  <eblake@redhat.com>
7169
7170         test-forkpty: fix expected signature
7171         * tests/test-forkpty.c (SIGNATURE_CHECK): Add appropriate const.
7172         Reported by Simon Josefsson.
7173
7174 2010-04-15  Jim Meyering  <meyering@redhat.com>
7175
7176         maint.mk: texinfo_suffix_re_: correct the default regexp
7177         * top/maint.mk (texinfo_suffix_re_): Fix default regexp.
7178
7179         * top/maint.mk (sc_texinfo_acronym): Improve filename regexp, and
7180         make it configurable via texinfo_suffix_re_.
7181
7182 2010-04-14  Eric Blake  <eblake@redhat.com>
7183
7184         strtok_r: relax license to LGPLv2+
7185         * modules/strtok_r (License): Relax license.
7186         Reported by Matthias Bolte.
7187
7188 2010-04-14  Simon Josefsson  <simon@josefsson.org>
7189
7190         * lib/gc-libgcrypt.c (gc_init): Use MIN_GCRYPT_VERSION set to
7191         version 1.4.4 by default instead of requiring the libgcrypt
7192         version used during build.  This makes it possible to use the
7193         application with older but still binary compatible libgcrypt
7194         versions.
7195
7196 2010-04-13  Eric Blake  <eblake@redhat.com>
7197
7198         getopt-gnu: match recent glibc fixes and posix ruling
7199         * tests/test-getopt.h (test_getopt): Strengthen tests of leading
7200         '+' handling, when requesting extensions.
7201         * tests/test-getopt_long.h (test_getopt_long): Strengthen test of
7202         'W;' handling.
7203         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Detect glibc 2.11 bug.
7204         * doc/posix-functions/getopt.texi (getopt): Document this.
7205         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
7206         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
7207         Likewise.
7208
7209         getopt: merge bug fixes from glibc
7210         * lib/getopt.c (_getopt_internal_r): Use correct message for 'W;'
7211         diagnostics.  Honor '+:' correctly.  Reject ';'.
7212
7213         getopt-posix: detect MacOS bug
7214         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Reject MacOS botch of
7215         optind when missing a required argument.
7216         * doc/posix-functions/getopt.texi (getopt): Document the bug.
7217         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
7218         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
7219         Likewise.
7220
7221         getopt-posix: avoid spurious failure on Solaris
7222         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for getopt_clip as
7223         an indicator that setting optind=1 is sufficient for reset.
7224
7225         getopt-posix: avoid spurious failure on FreeBSD
7226         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for optreset even
7227         in POSIX mode, since the m4 test uses it.
7228
7229         gnulib-tool: silence warning on BSD sh
7230         * gnulib-tool: Avoid leaking warning about unknown 'declare'.
7231
7232 2010-04-13  Jim Meyering  <meyering@redhat.com>
7233
7234         doc: users.txt: GNU patch now uses gnulib
7235         * users.txt: Add patch.
7236
7237 2010-04-12  Jim Meyering  <meyering@redhat.com>
7238
7239         maint.mk: generate more concise timing data for syntax-check rules
7240         * top/maint.mk ($(sc_z_rules_)): Remove the ":", "sc_" prefix and
7241         " done" from each line that reports a syntax-check test duration.
7242
7243 2010-04-12  Andreas Gruenbacher  <agruen@suse.de>
7244
7245         git-version-gen: use "git update-index..." rather than "git status"
7246         * build-aux/git-version-gen: Use git update-index --refresh, not
7247         "git status".  With some versions of git, "git status" would fail
7248         to update the index and result in an unwarranted "-dirty" suffix.
7249
7250 2010-04-11  Jim Meyering  <meyering@redhat.com>
7251
7252         openat: correct formatting (no semantic change)
7253         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Correct formatting in AC_DEFINE.
7254         Suggested by Bruno Haible.
7255
7256 2010-04-11  Bruno Haible  <bruno@clisp.org>
7257
7258         Stricter declaration checking in testdirs.
7259         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
7260         If for_tests is true, augment AM_CPPFLAGS to define
7261         GNULIB_STRICT_CHECKING.
7262         * build-aux/warn-on-use.h (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): When
7263         GNULIB_STRICT_CHECKING is defined, verify that the function is
7264         declared.
7265
7266 2010-04-11  Paolo Bonzini  <bonzini@gnu.org>
7267             Bruno Haible  <bruno@clisp.org>
7268
7269         libunistring: Improve configure output.
7270         * m4/libunistring.m4 (gl_LIBUNISTRING): Check for libiconv first.
7271         Don't say "consider installing GNU libunistring" when checking again
7272         with libiconv.
7273
7274 2010-04-11  Bruno Haible  <bruno@clisp.org>
7275
7276         libunistring: Correct value of $LTLIBUNISTRING.
7277         * m4/libunistring.m4 (gl_LIBUNISTRING): When it depends on libiconv,
7278         correct the value of $LTLIBUNISTRING.
7279
7280 2010-04-11  Bruno Haible  <bruno@clisp.org>
7281
7282         havelib: Add static libraries to LIBS in the right order.
7283         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): When $LIB[]NAME contains no
7284         -l options, prepend it to $LIBS, instead of appending it to $LIBS.
7285
7286 2010-04-11  Bruno Haible  <bruno@clisp.org>
7287
7288         libunistring: Detect libunistring also when it depends on libiconv.
7289         * m4/libunistring.m4 (gl_LIBUNISTRING): Unset the cached result before
7290         the second AC_LIB_HAVE_LINKFLAGS invocation.
7291
7292 2010-04-11  James Youngman  <jay@gnu.org>
7293
7294         close-stream: declare local scalars to be "const"
7295         * lib/close-stream.c (close_stream): Make boolean variables const
7296         to document the fact that we set but do not change them.
7297
7298 2010-04-11  Bruno Haible  <bruno@clisp.org>
7299
7300         * m4/libunistring.m4 (gl_LIBUNISTRING): Fix typo in comment.
7301
7302 2010-04-11  Jim Meyering  <meyering@redhat.com>
7303
7304         maint.mk: don't include dist-check.mk
7305         * top/maint.mk: Remove bogus include directive.
7306
7307         maint.mk: improve empty-line-at-EOF check
7308         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Use Perl-based
7309         solution, rather than tail+Perl-based one.  The latter would read
7310         a few kilobytes from the end of each file, and did not handle empty
7311         files properly.
7312
7313         maint.mk: print the elapsed time for each syntax-check rule
7314         * top/maint.mk (sc_m_rules_): Save start time in a file.
7315         (sc_z_rules_): New rules: remove temp file and print elapsed time.
7316         (local-check): Interpose the .z rules
7317
7318 2010-04-11  Jim Meyering  <meyering@redhat.com>
7319
7320         maint.mk: detect_empty_lines_at_EOF_: avoid FP for an empty file
7321         * top/maint.mk (detect_empty_lines_at_EOF_): Don't confuse an
7322         empty file with one that ends in an empty line.
7323
7324 2010-04-10  Bruno Haible  <bruno@clisp.org>
7325
7326         mkdir: Make it work on mingw64.
7327         * lib/sys_stat.in.h: Include <direct.h> together with <io.h>.
7328         * lib/mkdir.c: Update comment.
7329         Reported by Roman Donchenko (Роман Ð”онченко) <dxdragon@yandex.ru>.
7330
7331 2010-04-10  Bruno Haible  <bruno@clisp.org>
7332
7333         Don't override improved macro from newer autoconf.
7334         * m4/gnulib-common.m4 (AC_C_RESTRICT): Don't define for
7335         autoconf >= 2.62.
7336         Reported by Joel E. Denny <jdenny@clemson.edu>.
7337
7338 2010-04-10  Jim Meyering  <meyering@redhat.com>
7339
7340         maint.mk: new syntax-check rule: prohibit empty lines at end of file
7341         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): New rule.
7342
7343         maint.mk: correct a diagnostic
7344         * top/maint.mk (sc_prohibit_HAVE_MBRTOWC): Fix obsolete use of $re
7345         in diagnostic; now use $prohibit.
7346
7347 2010-04-10  Bruno Haible  <address@hidden>
7348
7349         fchownat: Fix a C++ test error on Solaris 8.
7350         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Don't set REPLACE_FCHOWNAT to 1 if
7351         the function does not exist.
7352
7353 2010-04-10  Bruno Haible  <bruno@clisp.org>
7354
7355         vasnprintf: Add more tests.
7356         * tests/test-vasnprintf-posix.c: Include <errno.h>.
7357         (test_function): Test converting an invalid wide string.
7358
7359         vasnprintf: Correct handling of unconvertible wide string arguments.
7360         * lib/vasnprintf.c (MAX_ROOM_NEEDED): New function, extracted from
7361         VASNPRINTF.
7362         (VASNPRINTF): Use it. After snprintf failed, allocate more memory only
7363         if HAVE_SNPRINTF_RETVAL_C99 is false and the allocated memory is
7364         smaller than the expected maximum need for the directive. Set errno to
7365         EILSEQ, not EINVAL, when the directive is 'c' or 's'.
7366         (local_strnlen, local_wcslen, local_wcsnlen): Update conditions.
7367         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require AC_C_INLINE and
7368         gl_SNPRINTF_RETVAL_C99. Define HAVE_SNPRINTF_RETVAL_C99.
7369         * modules/vasnprintf (Files): Add m4/printf.m4.
7370         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
7371
7372 2010-04-10  Bruno Haible  <bruno@clisp.org>
7373
7374         vasnprintf: Fix crash in %ls directive.
7375         * lib/vasnprintf.c (VASNPRINTF): Don't abort when a unconvertible wide
7376         string is passed as argument to %ls, with no precision and no width.
7377         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
7378
7379 2010-04-10  Bruno Haible  <bruno@clisp.org>
7380
7381         vasnprintf: Fix multiple test failures on mingw.
7382         * lib/vasnprintf.c (SNPRINTF) [mingw]: Define to snprintf, not
7383         _snprintf, or snwprintf, not _snwprintf.
7384
7385 2010-04-10  Bruno Haible  <bruno@clisp.org>
7386
7387         write: Fix a C++ test error on mingw.
7388         * lib/unistd.in.h (write): Use _GL_CXXALIAS_SYS_CAST.
7389
7390 2010-04-10  Bruno Haible  <bruno@clisp.org>
7391
7392         vasnprintf test: Reduce code duplication.
7393         * tests/test-vasnprintf.c (test_function): New function, extracted from
7394         test_vasnprintf.
7395         (test_vasnprintf, test_asnprintf): Invoke it.
7396
7397 2010-04-10  Bruno Haible  <bruno@clisp.org>
7398
7399         strnlen: Fix warning in C++ mode on MacOS X.
7400         * lib/string.in.h (strnlen): Use the modern idiom.
7401         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set REPLACE_STRNLEN to 1, instead of
7402         defining strnlen as a macro already in <config.h>.
7403         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
7404         REPLACE_STRNLEN.
7405         * modules/string (Makefile.am): Substitute REPLACE_STRNLEN.
7406         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
7407
7408 2010-04-08  James Youngman  <jay@gnu.org>
7409
7410         * doc/manywarnings.texi (manywarnings): Add missing parenthesis in
7411         the example.
7412
7413 2010-04-09  Jim Meyering  <meyering@redhat.com>
7414
7415         maint.mk: print better diagnostic when there is no $(_hv_file)
7416         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): Skip test and
7417         announce that when $(_hv_file) (aka help-version) does not exist.
7418
7419         init.sh: run tr in the "C" locale to avoid multibyte interpretation
7420         * tests/init.sh (rand_bytes_): Run tr in the "C" locale so it does
7421         not try to interpret its random input bytes.  Jarno Rajahalme reported
7422         that ./test-xalloc-die.sh would fail with "tr: Illegal byte sequence".
7423         on Darwin 10.3.0 with LC_CTYPE=UTF-8.
7424         (mktempd_): Likewise, just in case.
7425
7426         ftruncate: add two years to projected module removal date: 2012
7427         * m4/ftruncate.m4: Adjust comments.
7428
7429         ftruncate: mark module as obsolete; even MinGW provides it, now
7430         * modules/ftruncate (Status): Obsolete.
7431         (Notice): Say that.
7432         * doc/posix-functions/ftruncate.texi: Don't say MinGW lacks it.
7433         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/9203
7434
7435 2010-04-08  Bruno Haible  <bruno@clisp.org>
7436
7437         Fix side effects from tests-related modules.
7438         * modules/dprintf-posix (Comment): New section.
7439         * modules/fprintf-posix (Comment): Likewise.
7440         * modules/obstack-printf-posix (Comment): Likewise.
7441         * modules/printf-posix (Comment): Likewise.
7442         * modules/snprintf-posix (Comment): Likewise.
7443         * modules/sprintf-posix (Comment): Likewise.
7444         * modules/vasnprintf-posix (Comment): Likewise.
7445         * modules/vasprintf-posix (Comment): Likewise.
7446         * modules/vdprintf-posix (Comment): Likewise.
7447         * modules/vfprintf-posix (Comment): Likewise.
7448         * modules/vprintf-posix (Comment): Likewise.
7449         * modules/vsnprintf-posix (Comment): Likewise.
7450         * modules/vsprintf-posix (Comment): Likewise.
7451         * modules/xprintf-posix (Comment): Likewise.
7452         * modules/xvasprintf-posix (Comment): Likewise.
7453         * modules/ceilf-tests (Depends-on): Remove fprintf-posix.
7454         * modules/floorf-tests (Depends-on): Likewise.
7455         * modules/round-tests (Depends-on): Likewise.
7456         * modules/roundf-tests (Depends-on): Likewise.
7457         * modules/trunc-tests (Depends-on): Likewise.
7458         * modules/truncf-tests (Depends-on): Likewise.
7459         * tests/test-ceilf2.c (check): Don't invoke fprintf if the
7460         'fprintf-posix' module is not present.
7461         * tests/test-floorf2.c (check): Likewise.
7462         * tests/test-trunc2.c (check): Likewise.
7463         * tests/test-truncf2.c (check): Likewise.
7464         * tests/test-round2.c (equal): Likewise.
7465         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
7466
7467 2010-04-07  Karl Berry  <karl@gnu.org>
7468
7469         * config/srclist.txt,
7470         * config/srclistvars.sh,
7471         * config/srclist-update: doc fixes.
7472
7473 2010-04-07  Jim Meyering  <meyering@redhat.com>
7474
7475         maint.mk: add a PATH crosschecking syntax-check rule
7476         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): New rule.
7477         Useful if you use a test like the one in help-version (coreutils,
7478         diffutils, grep, gzip) that ensures $(VERSION) matches what is
7479         printed by prog --version.
7480
7481 2010-04-06  Bruno Haible  <bruno@clisp.org>
7482
7483         Fix link error on mingw.
7484         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add LIBSOCKET.
7485         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Likewise.
7486
7487 2010-04-06  Bruno Haible  <bruno@clisp.org>
7488
7489         Assume rmdir exists.
7490         * lib/rmdir.c (rpl_rmdir): Remove code that invokes the rmdir program.
7491
7492 2010-04-06  Giuseppe Scrivano <gscrivano@gnu.org>
7493
7494         doc: update users.txt
7495         * users.txt: Add gcal.
7496
7497 2010-04-06  Jim Meyering  <meyering@redhat.com>
7498
7499         init.sh: simply unset TMPDIR rather than risking env -i
7500         * tests/init.sh (mktempd_): Using env -i is rather harsh, and
7501         although it probably works fine on all Unix-based systems, some
7502         systems (Cygwin?) cannot tolerate a totally cleared environment.
7503         Suggestion from Eric Blake.
7504
7505 2010-04-06  Jim Meyering  <meyering@redhat.com>
7506
7507         init.sh: portability fix: use env's POSIX-specified -i option not -u
7508         * tests/init.sh (mktempd_): Use env -i and set PATH explicitly rather
7509         than unportable env -u.  Solaris 5.11's env lacks support for -u.
7510
7511 2010-04-05  Bruno Haible  <bruno@clisp.org>
7512
7513         btowc: Work around Cygwin 1.7.2 bug.
7514         * m4/btowc.m4 (gl_FUNC_BTOWC): Set REPLACE_BTOWC to 1 if the function
7515         does not map NUL to 0.
7516         * doc/posix-functions/btowc.texi: Mention the Cygwin bug.
7517
7518 2010-04-05  Bruno Haible  <bruno@clisp.org>
7519
7520         Make the multithread modules work on Cygwin 1.7.2.
7521         * m4/threadlib.m4 (gl_THREADLIB_BODY): Improve the test whether
7522         imported symbols can be declared weak, so that it returns "no" on
7523         Cygwin 1.7.2.
7524
7525 2010-04-05  Bruno Haible  <bruno@clisp.org>
7526
7527         Use the module 'strncat'.
7528         * modules/unistr/u8-strncat (Depends-on): Add strncat.
7529
7530         Tests for module 'strncat'.
7531         * modules/strncat-tests: New file.
7532         * tests/test-strncat.c: New file.
7533
7534         New module 'strncat'.
7535         * lib/string.in.h (strncat): New declaration.
7536         * lib/strncat.c: New file, based on lib/unistr/u-strncat.h.
7537         * m4/strncat.m4: New file, based on m4/memchr.m4.
7538         * modules/strncat: New file.
7539         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Also check whether strncat
7540         is declared.
7541         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRNCAT,
7542         REPLACE_STRNCAT.
7543         * modules/string (Makefile.am): Substitute GNULIB_STRNCAT,
7544         REPLACE_STRNCAT.
7545         * doc/posix-functions/strncat.texi: Mention the Solaris bug and the new
7546         module.
7547         * tests/test-string-c++.cc: Check signature of strncat.
7548
7549 2010-04-05  Jim Meyering  <meyering@redhat.com>
7550
7551         xstrtoumax-tests: convert to use init.sh
7552         * modules/xstrtoumax-tests (Files): Add tests/init.sh.
7553         * tests/test-xstrtoumax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
7554         Use Exit, not exit.
7555         Remove uses of $EXEEXT and "./" to run a program in the current dir.
7556
7557         xstrtoimax-tests: convert to use init.sh
7558         * modules/xstrtoimax-tests (Files): Add tests/init.sh.
7559         * tests/test-xstrtoimax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
7560         Use Exit, not exit.
7561         Remove uses of $EXEEXT and "./" to run a program in the current dir.
7562
7563 2010-04-05  Bruno Haible  <bruno@clisp.org>
7564
7565         sys_socket: Avoid #define replacements in C++ mode.
7566         * lib/sys_socket.in.h (close, gethostname, select): In C++, attach a
7567         warning to the function if possible, rather than #defining the symbol
7568         to a dysfunctional alias.
7569
7570 2010-04-05  Bruno Haible  <bruno@clisp.org>
7571
7572         fseeko: Fix C++ test error on mingw.
7573         * m4/fseeko.m4 (gl_HAVE_FSEEKO): New macro, extracted from
7574         gl_FUNC_FSEEKO.
7575         (gl_REPLACE_FSEEKO): Also set REPLACE_FSEEKO if appropriate.
7576         (gl_FUNC_FSEEKO): Require gl_HAVE_FSEEKO. Update.
7577         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't fiddle with internals of the
7578         fseeko module. Instead, invoke gl_REPLACE_FSEEKO.
7579
7580 2010-04-05  Bruno Haible  <bruno@clisp.org>
7581
7582         duplocale: Improve test output.
7583         * tests/test-duplocale.c (main): Print reason for skipped test.
7584
7585 2010-04-05  Bruno Haible  <bruno@clisp.org>
7586
7587         Assume rmdir exists.
7588         * m4/rmdir.m4 (gl_FUNC_RMDIR): Remove test whether rmdir exists.
7589         * doc/posix-functions/rmdir.texi: Remove mention of "old platforms".
7590
7591 2010-04-05  Bruno Haible  <bruno@clisp.org>
7592
7593         Fix link error on Solaris 8 with cc.
7594         * modules/pty-c++-tests (test_pty_c___LDADD): Add LIBINTL.
7595
7596 2010-04-05  Bruno Haible  <bruno@clisp.org>
7597
7598         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
7599         * lib/math.in.h (frexpl): Fix condition on _GL_CXXALIASWARN invocation.
7600
7601 2010-04-05  Bruno Haible  <bruno@clisp.org>
7602
7603         vasprintf: Update documentation.
7604         * doc/glibc-functions/asprintf.texi: Mention the 'vasprintf' module.
7605
7606 2010-04-05  Bruno Haible  <bruno@clisp.org>
7607
7608         ptsname: Improve test.
7609         * tests/test-ptsname.c (main): Also try the various master names of BSD
7610         systems.
7611
7612 2010-04-05  Bruno Haible  <bruno@clisp.org>
7613
7614         memchr: Avoid a possible C++ test error.
7615         * lib/string.in.h (memchr): Provide declaration if function is missing.
7616         * m4/memchr.m4 (gl_FUNC_MEMCHR): If the function is missing, set
7617         HAVE_MEMCHR to 0, not REPLACE_MEMCHR to 1.
7618         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MEMCHR.
7619         * modules/string (Makefile.am): Substitute HAVE_MEMCHR.
7620
7621 2010-04-05  Bruno Haible  <bruno@clisp.org>
7622
7623         strtok_r: Improve idiom.
7624         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Invoke gl_PREREQ_STRDUP only when
7625         AC_LIBOBJ is used.
7626
7627 2010-04-05  Bruno Haible  <bruno@clisp.org>
7628
7629         strdup: Improve idiom.
7630         * m4/strdup.m4 (gl_FUNC_STRDUP): Invoke gl_PREREQ_STRDUP only when
7631         AC_LIBOBJ is used.
7632         (gl_FUNC_STRDUP_POSIX): When strdup is missing and malloc is not POSIX
7633         compliant, don't set REPLACE_STRDUP to 1. Invoke gl_PREREQ_STRDUP only
7634         when AC_LIBOBJ is used.
7635
7636 2010-04-05  Bruno Haible  <bruno@clisp.org>
7637
7638         mbsinit, mbrtowc, wcrtomb: Improve idioms.
7639         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): When the function does not exist,
7640         don't set REPLACE_MBSINIT to 1.
7641         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): When the function does not exist,
7642         don't set REPLACE_MBRTOWC to 1.
7643         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): When the function does not
7644         exist, don't set REPLACE_MBSRTOWCS to 1.
7645         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): When the function does not
7646         exist, don't set REPLACE_MBSNRTOWCS to 1.
7647         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): When the function does not exist,
7648         don't set REPLACE_WCRTOMB to 1.
7649         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): When the function does not
7650         exist, don't set REPLACE_WCSRTOMBS to 1.
7651         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): When the function does not
7652         exist, don't set REPLACE_WCSNRTOMBS to 1.
7653
7654 2010-04-05  Bruno Haible  <bruno@clisp.org>
7655
7656         ldexpl: Improve idiom.
7657         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When the function is not declared,
7658         make sure to set HAVE_DECL_LDEXPL to 0.
7659
7660 2010-04-05  Jim Meyering  <meyering@redhat.com>
7661
7662         xstrtol-tests: convert to use init.sh
7663         * modules/xstrtol-tests (Files): Add tests/init.sh.
7664         * tests/test-xstrtol.sh: Invoke "$srcdir/init.sh" and path_prepend_.
7665         Use Exit, not exit.
7666         Remove uses of $EXEEXT and "./" to run a program in the current dir.
7667
7668         atexit-tests: convert to use init.sh
7669         * modules/atexit-tests (Files): Add tests/init.sh.
7670         * tests/test-atexit.sh: Invoke "$srcdir/init.sh" and path_prepend_.
7671         Use Exit, not exit.
7672         Remove uses of $EXEEXT and "./" to run a program in the current dir.
7673
7674         init.sh: fix typo
7675         * tests/init.sh: Restore omitted ":" before stderr_fileno_ initialization.
7676
7677         init.sh: make it easier for a test script to write to the tty, ...
7678         when using automake's parallel-tests mode.
7679         * tests/init.sh (stderr_fileno_): Define overridable variable.
7680         (warn_): New function, to use it.
7681         (fail_, skip_, framework_failure_): Use warn_.
7682
7683 2010-04-04  Bruno Haible  <bruno@clisp.org>
7684
7685         btowc: Avoid warning.
7686         * lib/btowc.c: Include <stdlib.h>.
7687         Reported by Hauke Fath <hauke@espresso.rhein-neckar.de>.
7688
7689 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
7690             Bruno Haible  <bruno@clisp.org>
7691
7692         wchar: Port to NetBSD 1.5.
7693         * lib/wchar.in.h (WEOF): Provide fallback also when wint_t exists.
7694         * lib/wctype.in.h (WEOF): Likewise.
7695
7696 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
7697             Bruno Haible  <bruno@clisp.org>
7698
7699         Port extended stdio to NetBSD 1.5.
7700         * lib/stdio-impl.h [NetBSD]: Include <sys/param.h>.
7701         (struct __sfileext, fp_ub): Define the "old way" for NetBSD 1.5Z and
7702         older.
7703
7704 2010-04-04  Bruno Haible  <bruno@clisp.org>
7705
7706         string: Remove unused substitution.
7707         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
7708         HAVE_DECL_STRERROR.
7709         * modules/string (Makefile.am): Don't substitute HAVE_DECL_STRERROR.
7710
7711 2010-04-04  Bruno Haible  <bruno@clisp.org>
7712
7713         strtod: Avoid a possible C++ test error.
7714         * m4/strtod.m4 (gl_FUNC_STRTOD): When setting HAVE_STRTOD to 0, don't
7715         set REPLACE_STRTOD.
7716
7717 2010-04-04  Bruno Haible  <bruno@clisp.org>
7718
7719         strerror: Update documentation.
7720         * doc/posix-functions/strerror.texi: Remove mention of old platforms.
7721
7722 2010-04-04  Bruno Haible  <bruno@clisp.org>
7723
7724         stdio: Fix some C++ test errors on Solaris 8 with GCC.
7725         * lib/stdio.in.h (vdprintf, vfprintf, vprintf, vsprintf): Use
7726         _GL_CXXALIAS_SYS_CAST.
7727
7728 2010-04-04  Bruno Haible  <bruno@clisp.org>
7729
7730         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
7731         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): When the
7732         function is not declared, set HAVE_DECL_FREXPL to 0, instead of setting
7733         REPLACE_FREXPL to 1.
7734         * doc/posix-functions/frexpl.texi: Update documentation.
7735
7736 2010-04-04  Bruno Haible  <bruno@clisp.org>
7737
7738         math: Fix some C++ test errors on Solaris 8 and Cygwin.
7739         * lib/math.in.h (cosl, logl, sinl): Use simpler idiom.
7740
7741 2010-04-04  Bruno Haible  <bruno@clisp.org>
7742
7743         Implement nanosleep for native Windows.
7744         * lib/nanosleep.c (nanosleep): New implementation for native Windows.
7745
7746 2010-04-04  Bruno Haible  <bruno@clisp.org>
7747
7748         math: Fix some C++ test errors on Solaris 8.
7749         * lib/math.in.h (truncf, trunc): Use simpler idiom.
7750
7751 2010-04-04  Bruno Haible  <bruno@clisp.org>
7752
7753         math: Fix some C++ test errors on Cygwin.
7754         * lib/math.in.h (ceilf, ceill, floorf, floorl, roundf, round, roundl,
7755         truncl): Provide declaration if the system does not have it.
7756         * m4/ceilf.m4 (gl_FUNC_CEILF): If the function is not declared, set
7757         HAVE_DECL_CEILF to 0, not REPLACE_CEILF to 1.
7758         * m4/ceill.m4 (gl_FUNC_CEILL): If the function is not declared, set
7759         HAVE_DECL_CEILL to 0, not REPLACE_CEILL to 1.
7760         * m4/floorf.m4 (gl_FUNC_FLOORF): If the function is not declared, set
7761         HAVE_DECL_FLOORF to 0, not REPLACE_FLOORF to 1.
7762         * m4/floorl.m4 (gl_FUNC_FLOORL): If the function is not declared, set
7763         HAVE_DECL_FLOORL to 0, not REPLACE_FLOORL to 1.
7764         * m4/round.m4 (gl_FUNC_ROUND): If the function is not declared, set
7765         HAVE_DECL_ROUND to 0, not REPLACE_ROUND to 1.
7766         * m4/roundf.m4 (gl_FUNC_ROUNDF): If the function is not declared, set
7767         HAVE_DECL_ROUNDF to 0, not REPLACE_ROUNDF to 1.
7768         * m4/roundl.m4 (gl_FUNC_ROUNDL): If the function is not declared, set
7769         HAVE_DECL_ROUNDL to 0, not REPLACE_ROUNDL to 1.
7770         * m4/truncl.m4 (gl_FUNC_TRUNCL): If the function is not declared, set
7771         HAVE_DECL_TRUNCL to 0, not REPLACE_TRUNCL to 1.
7772         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_CEILF,
7773         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
7774         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
7775         * modules/math (Makefile.am): Substitute HAVE_DECL_CEILF,
7776         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
7777         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
7778
7779 2010-04-04  Bruno Haible  <bruno@clisp.org>
7780
7781         * m4/ceilf.m4 (gl_FUNC_CEILF): Remove redundant AC_SUBST invocation.
7782         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
7783         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
7784         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
7785         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
7786         * m4/isinf.m4 (gl_ISINF): Likewise.
7787         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
7788
7789 2010-04-04  Bruno Haible  <bruno@clisp.org>
7790
7791         * m4/trunc.m4 (gl_FUNC_TRUNC): Remove redundant AC_SUBST invocation.
7792         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
7793
7794 2010-04-04  Bruno Haible  <bruno@clisp.org>
7795
7796         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Renamed from gl_TMPFILE.
7797         * modules/tmpfile (configure.ac): Update.
7798
7799         tmpfile: Fix C++ test error on mingw.
7800         * lib/stdio.in.h (tmpfile): New declaration.
7801         * m4/tmpfile.m4 (gl_TMPFILE): Require gl_STDIO_H_DEFAULTS. Set
7802         REPLACE_TMPFILE instead of defining tmpfile as a macro in config.h.
7803         * modules/tmpfile (Depends-on): Add stdio.
7804         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
7805         * m4/stdio_h.m4 (gl_STDIO_H): Also check whether tmpfile is declared.
7806         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_TMPFILE and REPLACE_TMPFILE.
7807         * modules/stdio (Makefile.am): Substitute GNULIB_TMPFILE and
7808         REPLACE_TMPFILE.
7809         * tests/test-stdio-c++.cc (tmpfile): Verify signature.
7810
7811 2010-04-04  Bruno Haible  <bruno@clisp.org>
7812
7813         ioctl: Fix C++ test error on mingw.
7814         * lib/ioctl.c (ioctl): Renamed from rpl_ioctl.
7815         * lib/sys_ioctl.in.h (ioctl): When SYS_IOCTL_H_HAVE_WINSOCK2_H is 1,
7816         use _GL_FUNCDECL_SYS, not _GL_FUNCDECL_RPL.
7817
7818 2010-04-03  Bruno Haible  <bruno@clisp.org>
7819
7820         wcwidth: Fix C++ test error on mingw.
7821         * lib/wcwidth.c (wcwidth): Renamed from rpl_wcwidth.
7822         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): If the wcwidth function does not
7823         exist, don't set REPLACE_WCWIDTH. Instead, rely on HAVE_DECL_WCWIDTH.
7824
7825 2010-04-03  Bruno Haible  <bruno@clisp.org>
7826
7827         nanosleep: Fix C++ test error on mingw.
7828         * lib/nanosleep.c (nanosleep): Renamed from rpl_nanosleep.
7829         * lib/time.in.h (nanosleep): Use modern idiom.
7830         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): When the system does not have a
7831         nanosleep function, set HAVE_NANOSLEEP to 0, instead of setting
7832         REPLACE_NANOSLEEP to 1.
7833         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_NANOSLEEP.
7834         * modules/time (Makefile.am): Substitute HAVE_NANOSLEEP.
7835
7836 2010-04-03  Bruno Haible  <bruno@clisp.org>
7837
7838         strptime: Fix C++ test error on mingw.
7839         * lib/time.in.h (strptime): Use HAVE_STRPTIME, not REPLACE_STRPTIME.
7840         * m4/strptime.m4 (gl_FUNC_STRPTIME): Set HAVE_STRPTIME, not
7841         REPLACE_STRPTIME. Invoke gl_PREREQ_STRPTIME.
7842         (gl_PREREQ_STRPTIME): New macro, extracted from gl_FUNC_STRPTIME.
7843         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_STRPTIME,
7844         not REPLACE_STRPTIME.
7845         * modules/time (Makefile.am): Substitute HAVE_STRPTIME, not
7846         REPLACE_STRPTIME.
7847
7848 2010-04-03  Bruno Haible  <bruno@clisp.org>
7849
7850         timegm: Fix C++ test error on mingw.
7851         * lib/time.in.h (timegm): Use modern idiom.
7852         * m4/timegm.m4 (gl_FUNC_TIMEGM): When timegm does not exist, set
7853         HAVE_TIMEGM to 0, not REPLACE_TIMEGM to 1.
7854         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_TIMEGM.
7855         * modules/time (Makefile.am): Substitute HAVE_TIMEGM.
7856
7857 2010-04-03  Bruno Haible  <bruno@clisp.org>
7858
7859         timegm: Assume declaration if function exists.
7860         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume timegm is declared if and only
7861         if it exists. Don't clobber ac_cv_func_timegm.
7862
7863 2010-04-03  Bruno Haible  <bruno@clisp.org>
7864
7865         time_r: Fix C++ test error on mingw.
7866         * lib/time.in.h (localtime_r, gmtime_r): Use modern idiom.
7867         * m4/time_r.m4 (gl_TIME_R): When localtime_r does not exist, set
7868         HAVE_LOCALTIME_R to 0, not REPLACE_LOCALTIME_R to 1.
7869         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_LOCALTIME_R.
7870         * modules/time (Makefile.am): Substitute HAVE_LOCALTIME_R.
7871
7872 2010-04-03  Bruno Haible  <bruno@clisp.org>
7873
7874         time_r: Minor updates.
7875         * modules/time_r (Description): Mention the provided functions.
7876         * lib/time_r.c: Don't include <string.h>.
7877         * doc/posix-functions/gmtime_r.texi: Mention the 'time_r' module.
7878         * doc/posix-functions/localtime_r.texi: Likewise.
7879
7880 2010-04-03  Bruno Haible  <bruno@clisp.org>
7881
7882         time: Fix regression introduced on 2010-03-08.
7883         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Require
7884         gl_HEADER_TIME_H_DEFAULTS, not gl_HEADER_STRING_H_DEFAULTS.
7885
7886 2010-04-03  Jim Meyering  <meyering@redhat.com>
7887
7888         maint.mk: don't silently disable project-specific syntax-check rules
7889         * top/maint.mk (_prohibit_regexp): Define, to help people realize
7890         that they need to convert their project-specific syntax-check rules
7891         to use the new _sc_search_regexp.
7892
7893 2010-04-03  Bruno Haible  <bruno@clisp.org>
7894
7895         fchdir: Fix regression introduced on 2010-03-08.
7896         * lib/unistd.in.h (fchdir): Fix declaration.
7897         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set HAVE_FCHDIR, not REPLACE_FCHDIR.
7898         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_FCHDIR, not
7899         REPLACE_FCHDIR.
7900         * modules/unistd (Makefile.am): Substitute HAVE_FCHDIR, not
7901         REPLACE_FCHDIR.
7902
7903 2010-04-03  Bruno Haible  <bruno@clisp.org>
7904
7905         getpagesize: Fix C++ test error on mingw.
7906         * lib/unistd.in.h (getpagesize): Don't use _GL_CXXALIASWARN if the
7907         system does not declare the function.
7908         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Also check whether it's
7909         declared.
7910         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
7911         HAVE_DECL_GETPAGESIZE.
7912         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETPAGESIZE.
7913
7914 2010-04-03  Bruno Haible  <bruno@clisp.org>
7915
7916         stdio: Make C++ tests work on mingw.
7917         * lib/stdio.in.h (getline): Don't use _GL_CXXALIASWARN if the system
7918         does not declare the function.
7919
7920 2010-04-03  Bruno Haible  <bruno@clisp.org>
7921
7922         ftello: Fix C++ test error on mingw.
7923         * lib/stdio.in.h (ftello): Use modern idiom.
7924         * lib/ftello.c (ftello): Renamed from rpl_ftello.
7925         * m4/ftello.m4 (gl_FUNC_FTELLO): Distinguish the case that the function
7926         is missing and that it needs to be replaced.
7927         (gl_REPLACE_FTELLO): Don't set REPLACE_FTELLO here.
7928         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FTELLO.
7929         * modules/stdio (Makefile.am): Substitute HAVE_FTELLO.
7930
7931 2010-04-03  Bruno Haible  <bruno@clisp.org>
7932
7933         fseeko: Fix C++ test error on mingw.
7934         * lib/stdio.in.h (fseeko): Use modern idiom.
7935         * lib/fseeko.c (fseeko): Renamed from rpl_fseeko.
7936         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Distinguish the case that the function
7937         is missing and that it needs to be replaced.
7938         (gl_REPLACE_FSEEKO): Don't set REPLACE_FSEEKO here.
7939         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FSEEKO.
7940         * modules/stdio (Makefile.am): Substitute HAVE_FSEEKO.
7941
7942 2010-04-03  Bruno Haible  <bruno@clisp.org>
7943
7944         mkstemp: Fix C++ test error on mingw.
7945         * lib/stdlib.in.h (mkstemp): Use modern idiom.
7946         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Distinguish the case that the
7947         function is missing and that it needs to be replaced.
7948         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_MKSTEMP.
7949         * modules/stdlib (Makefile.am): Substitute HAVE_MKSTEMP.
7950
7951 2010-04-03  Bruno Haible  <bruno@clisp.org>
7952
7953         stpncpy: Fix C++ test error on mingw.
7954         * lib/string.in.h (stpncpy): Use modern idiom.
7955         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Distinguish the case that the
7956         function is missing and that it needs to be replaced.
7957         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
7958         REPLACE_STPNCPY.
7959         * modules/string (Makefile.am): Substitute REPLACE_STPNCPY.
7960
7961 2010-04-03  Bruno Haible  <bruno@clisp.org>
7962
7963         sys_stat: Fix C++ test error on mingw.
7964         * build-aux/c++defs.h (_GL_CXXALIAS_RPL_CAST_1): New macro.
7965         * lib/sys_stat.in.h (lchmod): Use it instead of _GL_CXXALIAS_RPL_1.
7966
7967 2010-04-03  Bruno Haible  <bruno@clisp.org>
7968
7969         pty: Update doc.
7970         * doc/glibc-headers/pty.texi: Mention changes done since 2010-03-18.
7971
7972 2010-04-03  Bruno Haible  <bruno@clisp.org>
7973
7974         unistd: Fix C++ test error on mingw.
7975         * lib/unistd.in.h (getcwd): Use _GL_CXXALIAS_SYS_CAST.
7976
7977 2010-04-03  Bruno Haible  <bruno@clisp.org>
7978
7979         Update doc regarding mingw.
7980         * doc/glibc-functions/openpty.texi: Update regarding mingw.
7981         * doc/glibc-functions/login_tty.texi: Likewise.
7982         * doc/glibc-functions/forkpty.texi: Likewise.
7983
7984 2010-04-03  Bruno Haible  <bruno@clisp.org>
7985
7986         stdlib: Avoid compilation failure of c-strtold on mingw.
7987         * lib/stdlib.in.h: Don't include <unistd.h> on native Windows systems.
7988
7989 2010-04-03  Bruno Haible  <bruno@clisp.org>
7990
7991         locale: Make C++ tests work on Cygwin and mingw.
7992         * lib/locale.in.h (duplocale): Don't use _GL_CXXALIASWARN if gnulib
7993         cannot provide the function.
7994         Reported by Simon Josefsson.
7995
7996 2010-04-03  Bruno Haible  <bruno@clisp.org>
7997
7998         localename: Port to MacOS X 10.6.
7999         * lib/localename.c (gl_locale_name_thread_unsafe): On MacOS X, try the
8000         memory layout of the locales in MacOS X 10.6 as well.
8001         Reported by Panu Kekäläinen <panu@kekalainen.eu>.
8002
8003 2010-04-02  Bruno Haible  <bruno@clisp.org>
8004
8005         gnulib-tool: Ensure that long-running tests are executed last.
8006         * gnulib-tool (func_emit_tests_Makefile_am): Emit the code for long-
8007         running tests after the one for the other tests.
8008
8009 2010-04-02  Bruno Haible  <bruno@clisp.org>
8010
8011         gnulib-tool: Ensure the tests in the main directory are executed first.
8012         * gnulib-tool (func_emit_tests_Makefile_am): Initialize SUBDIRS to
8013         start with the current directory.
8014
8015 2010-04-02  Bruno Haible  <bruno@clisp.org>
8016
8017         Tests for module 'havelib', moved here from GNU gettext.
8018         * modules/havelib-tests: New file, from gettext/autoconf-lib-link with
8019         modifications.
8020         * tests/havelib/README: New file, from gettext/autoconf-lib-link.
8021         * tests/havelib/Makefile.am: New file, from gettext/autoconf-lib-link
8022         with modifications.
8023         * tests/havelib/rpath-1: New file, from gettext/autoconf-lib-link with
8024         modifications.
8025         * tests/havelib/rpath-1a: New file, from gettext/autoconf-lib-link.
8026         * tests/havelib/rpath-1b: New file, from gettext/autoconf-lib-link.
8027         * tests/havelib/rpath-2_a: New file, from gettext/autoconf-lib-link
8028         with modifications.
8029         * tests/havelib/rpath-2_b: New file, from gettext/autoconf-lib-link
8030         with modifications.
8031         * tests/havelib/rpath-2aaa: New file, from gettext/autoconf-lib-link.
8032         * tests/havelib/rpath-2aab: New file, from gettext/autoconf-lib-link.
8033         * tests/havelib/rpath-2aac: New file, from gettext/autoconf-lib-link.
8034         * tests/havelib/rpath-2aad: New file, from gettext/autoconf-lib-link.
8035         * tests/havelib/rpath-2aba: New file, from gettext/autoconf-lib-link.
8036         * tests/havelib/rpath-2abb: New file, from gettext/autoconf-lib-link.
8037         * tests/havelib/rpath-2abc: New file, from gettext/autoconf-lib-link.
8038         * tests/havelib/rpath-2abd: New file, from gettext/autoconf-lib-link.
8039         * tests/havelib/rpath-2baa: New file, from gettext/autoconf-lib-link.
8040         * tests/havelib/rpath-2bab: New file, from gettext/autoconf-lib-link.
8041         * tests/havelib/rpath-2bac: New file, from gettext/autoconf-lib-link.
8042         * tests/havelib/rpath-2bad: New file, from gettext/autoconf-lib-link.
8043         * tests/havelib/rpath-2bba: New file, from gettext/autoconf-lib-link.
8044         * tests/havelib/rpath-2bbb: New file, from gettext/autoconf-lib-link.
8045         * tests/havelib/rpath-2bbc: New file, from gettext/autoconf-lib-link.
8046         * tests/havelib/rpath-2bbd: New file, from gettext/autoconf-lib-link.
8047         * tests/havelib/rpath-3_a: New file, from gettext/autoconf-lib-link
8048         with modifications.
8049         * tests/havelib/rpath-3_b: New file, from gettext/autoconf-lib-link
8050         with modifications.
8051         * tests/havelib/rpath-3aaa: New file, from gettext/autoconf-lib-link.
8052         * tests/havelib/rpath-3aab: New file, from gettext/autoconf-lib-link.
8053         * tests/havelib/rpath-3aac: New file, from gettext/autoconf-lib-link.
8054         * tests/havelib/rpath-3aad: New file, from gettext/autoconf-lib-link.
8055         * tests/havelib/rpath-3aae: New file, from gettext/autoconf-lib-link.
8056         * tests/havelib/rpath-3aaf: New file, from gettext/autoconf-lib-link.
8057         * tests/havelib/rpath-3aag: New file, from gettext/autoconf-lib-link.
8058         * tests/havelib/rpath-3aah: New file, from gettext/autoconf-lib-link.
8059         * tests/havelib/rpath-3aba: New file, from gettext/autoconf-lib-link.
8060         * tests/havelib/rpath-3abb: New file, from gettext/autoconf-lib-link.
8061         * tests/havelib/rpath-3abc: New file, from gettext/autoconf-lib-link.
8062         * tests/havelib/rpath-3abd: New file, from gettext/autoconf-lib-link.
8063         * tests/havelib/rpath-3abe: New file, from gettext/autoconf-lib-link.
8064         * tests/havelib/rpath-3abf: New file, from gettext/autoconf-lib-link.
8065         * tests/havelib/rpath-3abg: New file, from gettext/autoconf-lib-link.
8066         * tests/havelib/rpath-3abh: New file, from gettext/autoconf-lib-link.
8067         * tests/havelib/rpath-3baa: New file, from gettext/autoconf-lib-link.
8068         * tests/havelib/rpath-3bab: New file, from gettext/autoconf-lib-link.
8069         * tests/havelib/rpath-3bac: New file, from gettext/autoconf-lib-link.
8070         * tests/havelib/rpath-3bad: New file, from gettext/autoconf-lib-link.
8071         * tests/havelib/rpath-3bae: New file, from gettext/autoconf-lib-link.
8072         * tests/havelib/rpath-3baf: New file, from gettext/autoconf-lib-link.
8073         * tests/havelib/rpath-3bag: New file, from gettext/autoconf-lib-link.
8074         * tests/havelib/rpath-3bah: New file, from gettext/autoconf-lib-link.
8075         * tests/havelib/rpath-3bba: New file, from gettext/autoconf-lib-link.
8076         * tests/havelib/rpath-3bbb: New file, from gettext/autoconf-lib-link.
8077         * tests/havelib/rpath-3bbc: New file, from gettext/autoconf-lib-link.
8078         * tests/havelib/rpath-3bbd: New file, from gettext/autoconf-lib-link.
8079         * tests/havelib/rpath-3bbe: New file, from gettext/autoconf-lib-link.
8080         * tests/havelib/rpath-3bbf: New file, from gettext/autoconf-lib-link.
8081         * tests/havelib/rpath-3bbg: New file, from gettext/autoconf-lib-link.
8082         * tests/havelib/rpath-3bbh: New file, from gettext/autoconf-lib-link.
8083         * tests/havelib/rpathx/rpathx.c: New file, from
8084         gettext/autoconf-lib-link.
8085         * tests/havelib/rpathx/Makefile.am: New file, from
8086         gettext/autoconf-lib-link.
8087         * tests/havelib/rpathx/configure.ac: New file, from
8088         gettext/autoconf-lib-link with modifications.
8089         * tests/havelib/rpathy/rpathy.c: New file, from
8090         gettext/autoconf-lib-link.
8091         * tests/havelib/rpathy/Makefile.am: New file, from
8092         gettext/autoconf-lib-link.
8093         * tests/havelib/rpathy/configure.ac: New file, from
8094         gettext/autoconf-lib-link with modifications.
8095         * tests/havelib/rpathz/rpathz.c: New file, from
8096         gettext/autoconf-lib-link.
8097         * tests/havelib/rpathz/Makefile.am: New file, from
8098         gettext/autoconf-lib-link.
8099         * tests/havelib/rpathz/configure.ac: New file, from
8100         gettext/autoconf-lib-link with modifications.
8101         * tests/havelib/rpathlx/usex.c: New file, from
8102         gettext/autoconf-lib-link.
8103         * tests/havelib/rpathlx/Makefile.am: New file, from
8104         gettext/autoconf-lib-link.
8105         * tests/havelib/rpathlx/configure.ac: New file, from
8106         gettext/autoconf-lib-link with modifications.
8107         * tests/havelib/rpathly/usey.c: New file, from
8108         gettext/autoconf-lib-link.
8109         * tests/havelib/rpathly/Makefile.am: New file, from
8110         gettext/autoconf-lib-link.
8111         * tests/havelib/rpathly/configure.ac: New file, from
8112         gettext/autoconf-lib-link with modifications.
8113         * tests/havelib/rpathlz/usez.c: New file, from
8114         gettext/autoconf-lib-link.
8115         * tests/havelib/rpathlz/Makefile.am: New file, from
8116         gettext/autoconf-lib-link.
8117         * tests/havelib/rpathlz/configure.ac: New file, from
8118         gettext/autoconf-lib-link with modifications.
8119         * tests/havelib/rpathlyx/usey.c: New file, from
8120         gettext/autoconf-lib-link.
8121         * tests/havelib/rpathlyx/Makefile.am: New file, from
8122         gettext/autoconf-lib-link.
8123         * tests/havelib/rpathlyx/configure.ac: New file, from
8124         gettext/autoconf-lib-link with modifications.
8125         * tests/havelib/rpathlzyx/usez.c: New file, from
8126         gettext/autoconf-lib-link.
8127         * tests/havelib/rpathlzyx/Makefile.am: New file, from
8128         gettext/autoconf-lib-link.
8129         * tests/havelib/rpathlzyx/configure.ac: New file, from
8130         gettext/autoconf-lib-link with modifications.
8131         * tests/havelib/rpathcfg.sh: New file, from gettext/autoconf-lib-link
8132         with modifications.
8133
8134 2010-04-02  Bruno Haible  <bruno@clisp.org>
8135
8136         gnulib-tool: Create distributed built sources also for the tests.
8137         * gnulib-tool (func_create_testdir): Also generate distributed built
8138         sources in the tests directory.
8139
8140 2010-04-02  Bruno Haible  <bruno@clisp.org>
8141
8142         gnulib-tool: Obey user's environment variables.
8143         * gnulib-tool (func_create_testdir): When creating built sources,
8144         respect the environment variables for autoconf, automake, etc. given by
8145         the user.
8146
8147 2010-04-02  Bruno Haible  <bruno@clisp.org>
8148
8149         gnulib-tool: Provide the value of --m4-base to modules.
8150         * gnulib-tool (func_import, func_create_testdir): Emit a definition
8151         of gl_m4_base.
8152
8153 2010-04-02  Eric Blake  <eblake@redhat.com>
8154
8155         maint.mk: fix some fallout
8156         * NEWS: Document the incompatible change, and its effect on cfg.mk.
8157         * top/maint.mk (sc_prohibit_test_minus_ao): Update.
8158
8159 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
8160
8161         maint.mk: _sc_search_regexp: generalize and rename from _prohibit_regexp
8162         * top/maint.mk (_sc_search_regexp): Rename from _prohibit_regexp.
8163         (sc_cast_of_argument_to_free): Adapt to use _sc_search_regexp.
8164         (sc_cast_of_x_alloc_return_value): Likewise.
8165         (sc_cast_of_alloca_return_value): Likewise.
8166         (sc_space_tab): Likewise.
8167         (sc_prohibit_atoi_atof): Likewise.
8168         (sc_prohibit_magic_number_exit): Likewise.
8169         (sc_error_exit_success): Likewise.
8170         (sc_file_system): Likewise.
8171         (sc_prohibit_have_config_h): Likewise.
8172         (sc_require_config_h): Likewise.
8173         (sc_prohibit_HAVE_MBRTOWC): Likewise.
8174         (sc_obsolete_symbols): Likewise.
8175         (sc_changelog): Likewise.
8176         (sc_program_name): Likewise.
8177         (sc_the_the): Likewise.
8178         (sc_trailing_blank): Likewise.
8179         (sc_two_space_separator_in_usage): Likewise.
8180         (sc_useless_cpp_parens): Likewise.
8181         (sc_GPL_version): Likewise.
8182         (sc_GFDL_version): Likewise.
8183         (sc_texinfo_acronym): Likewise.
8184         (sc_prohibit_cvs_keyword): Likewise.
8185         (sc_prohibit_stat_st_blocks): Likewise.
8186         (sc_prohibit_S_IS_definition): Likewise.
8187         (sc_redundant_const): Likewise.
8188         (sc_makefile_TAB_only_indentation): Likewise.
8189         (sc_m4_quote_check): Likewise.
8190         (sc_makefile_path_separator_check): Likewise.
8191         (sc_copyright_check): Likewise.
8192         (sc_Wundef_boolean): Likewise.
8193         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
8194
8195         maint.mk: match 0 or more whitespace-before-function-call '('
8196         * top/maint.mk (sc_error_exit_success): Relax regexp to match uses
8197         that have zero or two-and-more spaces between the function name
8198         and the open parenthesis.
8199         (sc_error_message_warn_fatal): Likewise.
8200         (sc_error_message_uppercase): Likewise.
8201         (sc_error_message_period): Likewise.
8202
8203 2010-03-31  Eric Blake  <eblake@redhat.com>
8204
8205         maint.mk: check for [ as well as test
8206         * top/maint.mk (sc_prohibit_test_minus_ao): Extend test.
8207         Based on a libvirt report by Matthias Bolte.
8208
8209         gnumakefile: don't squelch _version output
8210         * top/GNUmakefile (_version): Create one-shot dependency rather
8211         than using $(shell) when version must be regenerated.
8212         (_autoreconf): Run verbosely, by default.
8213
8214         sys_time: avoid compiler warnings
8215         * lib/sys_time.in.h (includes): Ensure gcc pragma is
8216         unconditional, fixing regression from 2010-03-29.
8217         Reported by Simon Josefsson.
8218
8219 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
8220
8221         maint.mk: s/_header_without_use/_sc_header_without_use/
8222         * top/maint.mk (_sc_header_without_use): Rename from _header_without_use.
8223         (sc_prohibit_assert_without_use): Use the new name.
8224         (sc_prohibit_close_stream_without_use): Likewise.
8225         (sc_prohibit_getopt_without_use): Likewise.
8226         (sc_prohibit_quotearg_without_use): Likewise.
8227         (sc_prohibit_quote_without_use): Likewise.
8228         (sc_prohibit_long_options_without_use): Likewise.
8229         (sc_prohibit_inttostr_without_use): Likewise.
8230         (sc_prohibit_ignore_value_without_use): Likewise.
8231         (sc_prohibit_error_without_use): Likewise.
8232         (sc_prohibit_xalloc_without_use): Likewise.
8233         (sc_prohibit_hash_without_use): Likewise.
8234         (sc_prohibit_hash_pjw_without_use): Likewise.
8235         (sc_prohibit_safe_read_without_use): Likewise.
8236         (sc_prohibit_argmatch_without_use): Likewise.
8237         (sc_prohibit_canonicalize_without_use): Likewise.
8238         (sc_prohibit_root_dev_ino_without_use): Likewise.
8239         (sc_prohibit_openat_without_use): Likewise.
8240         (sc_prohibit_c_ctype_without_use): Likewise.
8241         (sc_prohibit_signal_without_use): Likewise.
8242         (sc_prohibit_intprops_without_use): Likewise.
8243
8244 2010-03-30  Eric Blake  <eblake@redhat.com>
8245
8246         maint: improve module indicators
8247         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE)
8248         (gl_MODULE_INDICATOR, gl_MODULE_INDICATOR_FOR_TESTS): Fit in 80
8249         columns, and avoid extra macro expansion.
8250
8251         fdopendir: work around FreeBSD bug
8252         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
8253         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Set it.
8254         * modules/dirent (Makefile.am): Substitute it.
8255         * lib/dirent.in.h (fdopendir): Supply missing FreeBSD
8256         declaration.
8257         * doc/posix-functions/fdopendir.texi (fdopendir): Document the
8258         fix.
8259         Reported by Christian Weisgerber <naddy@mips.inka.de>.
8260
8261 2010-03-29  Bruno Haible  <bruno@clisp.org>
8262
8263         Emit #pragma system_header after the inclusion guard, not before.
8264         * lib/arpa_inet.in.h: Emit #pragma system_header after the inclusion
8265         guard that spans the entire file, not before. This enables an
8266         optimization in GCC's preprocessor.
8267         * lib/ctype.in.h: Likewise.
8268         * lib/dirent.in.h: Likewise.
8269         * lib/errno.in.h: Likewise.
8270         * lib/float.in.h: Likewise.
8271         * lib/getopt.in.h: Likewise.
8272         * lib/iconv.in.h: Likewise.
8273         * lib/langinfo.in.h: Likewise.
8274         * lib/locale.in.h: Likewise.
8275         * lib/math.in.h: Likewise.
8276         * lib/netdb.in.h: Likewise.
8277         * lib/netinet_in.in.h: Likewise.
8278         * lib/pty.in.h: Likewise.
8279         * lib/sched.in.h: Likewise.
8280         * lib/se-selinux.in.h: Likewise.
8281         * lib/search.in.h: Likewise.
8282         * lib/spawn.in.h: Likewise.
8283         * lib/stdarg.in.h: Likewise.
8284         * lib/stdint.in.h: Likewise.
8285         * lib/string.in.h: Likewise.
8286         * lib/strings.in.h: Likewise.
8287         * lib/sys_file.in.h: Likewise.
8288         * lib/sys_ioctl.in.h: Likewise.
8289         * lib/sys_time.in.h: Likewise.
8290         * lib/sys_times.in.h: Likewise.
8291         * lib/sys_utsname.in.h: Likewise.
8292         * lib/sys_wait.in.h: Likewise.
8293         * lib/sysexits.in.h: Likewise.
8294         * lib/wctype.in.h: Likewise.
8295
8296 2010-03-28  James Youngman  <jay@gnu.org>
8297
8298         save-cwd: don't leak a file descriptor when the caller execs.
8299         * lib/save-cwd.c (save_cwd): set the close-on-exec flag for the
8300         saved file descriptor.
8301         * modules/save-cwd (Depends-on): Depend on cloexec.
8302
8303 2010-03-29  Bruno Haible  <bruno@clisp.org>
8304
8305         Remove vestiges of fts-lgpl module.
8306         * lib/fts_.h: Assume GNULIB_FTS is 1.
8307         * lib/fts.c: Likewise.
8308         * modules/fts (configure.ac): Remove gl_MODULE_INDICATOR invocation.
8309
8310 2010-03-28  Bruno Haible  <bruno@clisp.org>
8311
8312         Fix definition of tests witness macro.
8313         * gnulib-tool (func_import): Fix definition of witness macro.
8314
8315 2010-03-28  Bruno Haible  <bruno@clisp.org>
8316
8317         Fix ioctl's protoype on glibc systems.
8318         * lib/sys_ioctl.in.h (ioctl): If REPLACE_IOCTL is 1, use a wrapper. Use
8319         _GL_CXXALIAS_SYS, not _GL_CXXALIAS_SYS_CAST.
8320         * lib/ioctl.c (rpl_ioctl) [HAVE_IOCTL]: New wrapper.
8321         * modules/ioctl (configure.ac): Test whether ioctl has the POSIX
8322         signature. If not, arrange to replace the ioctl function.
8323         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
8324         REPLACE_IOCTL.
8325         * modules/sys_ioctl (Makefile.am): Substitute REPLACE_IOCTL.
8326         * doc/posix-functions/ioctl.texi: Mention the glibc problem.
8327         Reported by Ludovic Courtès <ludo@gnu.org>.
8328
8329 2010-03-28  Javier Villavicencio  <the_paya@gentoo.org>
8330
8331         exclude: fix the case of globs vs. EXCLUDE_INCLUDE
8332         * lib/exclude.c (excluded_file_pattern_p): Fix logic error that
8333         made it so grep -r --include=GLOB* ... did not work.
8334
8335 2010-03-26  Jim Meyering  <meyering@redhat.com>
8336             Eric Blake  <eblake@redhat.com>
8337
8338         maint.mk: prohibit use of test's -o and -a operators
8339         * top/maint.mk (sc_prohibit_test_minus_ao): New rule.
8340
8341 2010-03-28  Bruno Haible  <bruno@clisp.org>
8342
8343         Remove unused GNULIB_XYZ macro definitions.
8344         * modules/crypto/gc-camellia (configure.ac): Remove gl_MODULE_INDICATOR
8345         invocation.
8346
8347 2010-03-28  Bruno Haible  <bruno@clisp.org>
8348
8349         Mark privileged tests modules.
8350         * modules/idpriv-drop-tests (Status): New section.
8351         * modules/idpriv-droptemp-tests (Status): New section.
8352
8353 2010-03-28  Bruno Haible  <bruno@clisp.org>
8354
8355         Split C++ tests into separate tests modules.
8356         * modules/dirent-c++-tests: New file, extracted from
8357         modules/dirent-tests.
8358         * modules/dirent-tests: Depend on it.
8359         * modules/fcntl-h-c++-tests: New file, extracted from
8360         modules/fcntl-h-tests.
8361         * modules/fcntl-h-tests: Depend on it.
8362         * modules/glob-c++-tests: New file, extracted from modules/glob-tests.
8363         * modules/glob-tests: Depend on it.
8364         * modules/iconv-h-c++-tests: New file, extracted from
8365         modules/iconv-h-tests.
8366         * modules/iconv-h-tests: Depend on it.
8367         * modules/langinfo-c++-tests: New file, extracted from
8368         modules/langinfo-tests.
8369         * modules/langinfo-tests: Depend on it.
8370         * modules/locale-c++-tests: New file, extracted from
8371         modules/locale-tests.
8372         * modules/locale-tests: Depend on it.
8373         * modules/math-c++-tests: New file, extracted from modules/math-tests.
8374         * modules/math-tests: Depend on it.
8375         * modules/pty-c++-tests: New file, extracted from modules/pty-tests.
8376         * modules/pty-tests: Depend on it.
8377         * modules/search-c++-tests: New file, extracted from
8378         modules/search-tests.
8379         * modules/search-tests: Depend on it.
8380         * modules/signal-c++-tests: New file, extracted from
8381         modules/signal-tests.
8382         * modules/signal-tests: Depend on it.
8383         * modules/spawn-c++-tests: New file, extracted from
8384         modules/spawn-tests.
8385         * modules/spawn-tests: Depend on it.
8386         * modules/stdio-c++-tests: New file, extracted from
8387         modules/stdio-tests.
8388         * modules/stdio-tests: Depend on it.
8389         * modules/stdlib-c++-tests: New file, extracted from
8390         modules/stdlib-tests.
8391         * modules/stdlib-tests: Depend on it.
8392         * modules/string-c++-tests: New file, extracted from
8393         modules/string-tests.
8394         * modules/string-tests: Depend on it.
8395         * modules/sys_ioctl-c++-tests: New file, extracted from
8396         modules/sys_ioctl-tests.
8397         * modules/sys_ioctl-tests: Depend on it.
8398         * modules/sys_select-c++-tests: New file, extracted from
8399         modules/sys_select-tests.
8400         * modules/sys_select-tests: Depend on it.
8401         * modules/sys_socket-c++-tests: New file, extracted from
8402         modules/sys_socket-tests.
8403         * modules/sys_socket-tests: Depend on it.
8404         * modules/sys_stat-c++-tests: New file, extracted from
8405         modules/sys_stat-tests.
8406         * modules/sys_stat-tests: Depend on it.
8407         * modules/sys_time-c++-tests: New file, extracted from
8408         modules/sys_time-tests.
8409         * modules/sys_time-tests: Depend on it.
8410         * modules/time-c++-tests: New file, extracted from modules/time-tests.
8411         * modules/time-tests: Depend on it.
8412         * modules/unistd-c++-tests: New file, extracted from
8413         modules/unistd-tests.
8414         * modules/unistd-tests: Depend on it.
8415         * modules/wchar-c++-tests: New file, extracted from
8416         modules/wchar-tests.
8417         * modules/wchar-tests: Depend on it.
8418         * modules/wctype-c++-tests: New file, extracted from
8419         modules/wctype-tests.
8420         * modules/wctype-tests: Depend on it.
8421         Reported by Simon Josefsson.
8422
8423 2010-03-28  Bruno Haible  <bruno@clisp.org>
8424
8425         gnulib-tool: Allow 'foo-tests' module even if there is no module 'foo'.
8426         * gnulib-tool (func_exists_module): New function, extracted from
8427         func_verify_module.
8428         (func_verify_module): Use it.
8429         (func_get_dependencies): Synthetize a dependency from 'foo-tests' to
8430         'foo' only if 'foo' exists.
8431         * doc/gnulib.texi (Extra tests modules): Explain how to split a tests
8432         module.
8433
8434 2010-03-28  Bruno Haible  <bruno@clisp.org>
8435
8436         gnulib-tool: Add support for special categories of tests.
8437         * gnulib-tool: New options --with-c++-tests, --with-longrunning-tests,
8438         --with-privileged-tests, --with-unportable-tests, --with-all-tests.
8439         (func_usage): Document them.
8440         (inc_cxx_tests, inc_longrunning_tests, inc_privileged_tests,
8441         inc_unportable_tests, inc_all_tests): New variables.
8442         (func_acceptable): Consider these variables.
8443         (func_modules_transitive_closure): Make it work when the 'Status' field
8444         consists of multiple words.
8445         (func_import): Store and restore the values of inc_cxx_tests,
8446         inc_longrunning_tests, inc_privileged_tests, inc_unportable_tests,
8447         inc_all_tests in gnulib-comp.m4.
8448         (func_create_testdir): Set inc_all_tests to true.
8449         * doc/gnulib.texi (Extra tests modules): New section.
8450         Suggested by Jim Meyering.
8451
8452 2010-03-28  Bruno Haible  <bruno@clisp.org>
8453
8454         ansi-c++-opt: Allow turning off the C++ build by default.
8455         * m4/ansi-c++.m4 (gl_CXX_CHOICE): Let CXX_CHOICE default to 'no' if
8456         gl_CXX_CHOICE_DEFAULT_NO is defined.
8457         Requested by Eric Blake.
8458
8459 2010-03-28  Bruno Haible  <bruno@clisp.org>
8460
8461         unistd: Avoid #define replacements in C++ mode.
8462         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
8463         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
8464         setsockopt, shutdown, select): In C++, attach a warning to the function
8465         if possible, rather than #defining the symbol to a dysfunctional alias.
8466         Reported by John W. Eaton <jwe@gnu.org>.
8467
8468 2010-03-28  Bruno Haible  <bruno@clisp.org>
8469
8470         Fix link errors on mingw.
8471         * lib/sys_ioctl.in.h (ioctl): Fix declaration idiom.
8472         * modules/sys_ioctl-tests (Makefile.am): Link test-sys_ioctl-c++ with
8473         $(LIBSOCKET).
8474         * modules/sys_select-tests (Makefile.am): Link test-sys_select-c++ with
8475         $(LIBSOCKET).
8476
8477 2010-03-28  Bruno Haible  <bruno@clisp.org>
8478             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8479
8480         lib-ignore: Determine different options for different compilers.
8481         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Set a variable which
8482         depends on the current language (C/C++/Fortran). Don't set LDFLAGS.
8483         Add comments.
8484         (_gl_IGNORE_UNUSED_LIBRARIES_OPTIONS): New macro.
8485         * NEWS: Mention the change.
8486
8487 2010-03-27  Bruno Haible  <bruno@clisp.org>
8488
8489         Remove unused GNULIB_XYZ macro definitions.
8490         * modules/dup3 (configure.ac): Remove gl_MODULE_INDICATOR invocation.
8491         * modules/fseek (configure.ac): Likewise.
8492         * modules/ioctl (configure.ac): Likewise.
8493         * modules/open (configure.ac): Likewise.
8494         * modules/stdlib-safer (configure.ac): Likewise.
8495
8496 2010-03-27  Bruno Haible  <bruno@clisp.org>
8497
8498         Add a remark about certain modules.
8499         * modules/malloc (Comment): New section.
8500         * modules/realloc (Comment): Likewise.
8501         * modules/sigpipe (Comment): Likewise.
8502
8503 2010-03-27  Bruno Haible  <bruno@clisp.org>
8504
8505         Resolve conflict between the two kinds of module indicators.
8506         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Define
8507         GNULIB_TEST_XYZ instead of GNULIB_XYZ.
8508         * modules/canonicalize (configure.ac): Invoke
8509         gl_MODULE_INDICATOR_FOR_TESTS.
8510         * tests/test-canonicalize-lgpl.c: Test GNULIB_TEST_XYZ instead of
8511         GNULIB_XYZ.
8512         * tests/test-dirent-c++.cc: Likewise.
8513         * tests/test-dirent-safer.c: Likewise.
8514         * tests/test-dup2.c: Likewise.
8515         * tests/test-fchdir.c: Likewise.
8516         * tests/test-fcntl-h-c++.cc: Likewise.
8517         * tests/test-getopt.c: Likewise.
8518         * tests/test-getopt.h: Likewise.
8519         * tests/test-langinfo-c++.cc: Likewise.
8520         * tests/test-locale-c++.cc: Likewise.
8521         * tests/test-math-c++.cc: Likewise.
8522         * tests/test-pty-c++.cc: Likewise.
8523         * tests/test-search-c++.cc: Likewise.
8524         * tests/test-signal-c++.cc: Likewise.
8525         * tests/test-spawn-c++.cc: Likewise.
8526         * tests/test-stdio-c++.cc: Likewise.
8527         * tests/test-stdlib-c++.cc: Likewise.
8528         * tests/test-string-c++.cc: Likewise.
8529         * tests/test-sys_ioctl-c++.cc: Likewise.
8530         * tests/test-sys_select-c++.cc: Likewise.
8531         * tests/test-sys_socket-c++.cc: Likewise.
8532         * tests/test-sys_stat-c++.cc: Likewise.
8533         * tests/test-sys_time-c++.cc: Likewise.
8534         * tests/test-time-c++.cc: Likewise.
8535         * tests/test-unistd-c++.cc: Likewise.
8536         * tests/test-wchar-c++.cc: Likewise.
8537         * tests/uninorm/test-u8-nfc.c: Likewise.
8538         * tests/uninorm/test-u8-nfd.c: Likewise.
8539         * tests/uninorm/test-u8-nfkc.c: Likewise.
8540         * tests/uninorm/test-u8-nfkd.c: Likewise.
8541         * tests/uninorm/test-u16-nfc.c: Likewise.
8542         * tests/uninorm/test-u16-nfd.c: Likewise.
8543         * tests/uninorm/test-u16-nfkc.c: Likewise.
8544         * tests/uninorm/test-u16-nfkd.c: Likewise.
8545         * tests/uninorm/test-u32-nfc.c: Likewise.
8546         * tests/uninorm/test-u32-nfc-big.c: Likewise.
8547         * tests/uninorm/test-u32-nfd.c: Likewise.
8548         * tests/uninorm/test-u32-nfd-big.c: Likewise.
8549         * tests/uninorm/test-u32-nfkc.c: Likewise.
8550         * tests/uninorm/test-u32-nfkc-big.c: Likewise.
8551         * tests/uninorm/test-u32-nfkd.c: Likewise.
8552         * tests/uninorm/test-u32-nfkd-big.c: Likewise.
8553         * tests/uninorm/test-u32-normalize-big.c: Likewise.
8554
8555 2010-03-27  Bruno Haible  <bruno@clisp.org>
8556
8557         Distinguish two kinds of module indicators.
8558         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Renamed from
8559         gl_MODULE_INDICATOR.
8560         (gl_MODULE_INDICATOR): New macro.
8561         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
8562         gl_MODULE_INDICATOR_FOR_TESTS instead of gl_MODULE_INDICATOR.
8563         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
8564         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
8565         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
8566         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
8567         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
8568         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
8569         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
8570         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
8571         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
8572         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
8573         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
8574         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
8575         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
8576         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
8577         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
8578         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
8579         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
8580         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
8581         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
8582         * modules/cloexec (configure.ac): Likewise.
8583         * modules/getopt-gnu (configure.ac): Likewise.
8584         * modules/uninorm/u8-normalize (configure.ac): Likewise.
8585         * modules/uninorm/u16-normalize (configure.ac): Likewise.
8586         * modules/uninorm/u32-normalize (configure.ac): Likewise.
8587         * modules/fdopendir (configure.ac): Invoke gl_MODULE_INDICATOR.
8588
8589 2010-03-27  Bruno Haible  <bruno@clisp.org>
8590
8591         New module description field 'Comment'.
8592         * gnulib-tool: New option --extract-comment.
8593         (func_usage): Document it.
8594         (sed_extract_prog, sed_extract_field_header): Support 'Comment' field.
8595         (func_get_comment): New function.
8596         * modules/TEMPLATE-EXTENDED: Add a blank Comment field.
8597
8598 2010-03-27  Bruno Haible  <bruno@clisp.org>
8599
8600         Addendum to 2010-02-07 commit.
8601         * gnulib-tool (func_usage): Document --extract-applicability option.
8602
8603 2010-03-27  Bruno Haible  <bruno@clisp.org>
8604
8605         Use GNULIB_POSIXCHECK instead of GNULIB_PORTCHECK.
8606         * lib/time.in.h (asctime, asctime_r, ctime, ctime_r): Test
8607         GNULIB_POSIXCHECK, not GNULIB_PORTCHECK. Provide compile-time warnings
8608         rather than link errors.
8609
8610 2010-03-27  Bruno Haible  <bruno@clisp.org>
8611
8612         Avoid side effects from tests-related modules on the compilation of lib.
8613         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): New macro.
8614         (gl_MODULE_INDICATOR_SET_VARIABLE): Use its expansion as a value.
8615         * gnulib-tool (func_emit_tests_Makefile_am): Accept a witness_macro
8616         parameter. Emit into AM_CPPFLAGS a definition of the designated C
8617         macro.
8618         (func_import): Define a witness macro. Assign it a value that depends
8619         on the current package. Override gl_MODULE_INDICATOR_CONDITION for the
8620         tests-related modules.
8621         (func_create_testdir): Update func_emit_tests_Makefile_am invocation.
8622         Reported by Jim Meyering.
8623
8624 2010-03-27  Bruno Haible  <bruno@clisp.org>
8625
8626         Factorize common .m4 code.
8627         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE): New macro.
8628         * m4/arpa_inet_h.m4 (gl_ARPA_INET_MODULE_INDICATOR): Use it.
8629         * m4/ctype.m4 (gl_CTYPE_MODULE_INDICATOR): Likewise.
8630         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Likewise.
8631         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
8632         * m4/iconv_h.m4 (gl_ICONV_MODULE_INDICATOR): Likewise.
8633         * m4/inttypes.m4 (gl_INTTYPES_MODULE_INDICATOR): Likewise.
8634         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
8635         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
8636         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
8637         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Likewise.
8638         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
8639         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
8640         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
8641         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
8642         * m4/stddef_h.m4 (gl_STDDEF_MODULE_INDICATOR): Likewise.
8643         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
8644         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
8645         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
8646         * m4/strings_h.m4 (gl_STRINGS_MODULE_INDICATOR): Likewise.
8647         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_MODULE_INDICATOR): Likewise.
8648         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
8649         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
8650         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
8651         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
8652         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
8653         * m4/sys_times_h.m4 (gl_SYS_TIMES_MODULE_INDICATOR): Likewise.
8654         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_MODULE_INDICATOR): Likewise.
8655         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Likewise.
8656         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
8657         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
8658         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
8659
8660 2010-03-27  Bruno Haible  <bruno@clisp.org>
8661
8662         Fix a compilation error on Cygwin with g++ >= 4.3.
8663         * lib/sys_stat.in.h (lchmod): Don't warn about the use of this function
8664         if it is undefined or if we alias it to chmod.
8665         (lstat): Don't warn about the use of this function if it is undefined
8666         or if we alias it to stat.
8667         Reported by Simon Josefsson.
8668
8669 2010-03-27  Bruno Haible  <bruno@clisp.org>
8670
8671         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Renamed from gl_GETLOGIN.
8672         * modules/getlogin (configure.ac): Update.
8673
8674         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Renamed from gl_GETLOGIN_R.
8675         * modules/getlogin_r (configure.ac): Update.
8676
8677         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Renamed from gl_INET_NTOP.
8678         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Update.
8679         * modules/inet_ntop (configure.ac): Update.
8680
8681         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Renamed from gl_INET_PTON.
8682         * modules/inet_pton (configure.ac): Update.
8683
8684         * m4/mbslen.m4 (gl_FUNC_MBSLEN): Renamed from gl_MBSLEN.
8685         * modules/mbslen (configure.ac): Update.
8686
8687         * m4/pty.m4 (gl_FUNC_FORKPTY): Renamed from gl_FORKPTY.
8688         (gl_FUNC_OPENPTY): Renamed from gl_OPENPTY.
8689         * modules/forkpty (configure.ac): Update.
8690         * modules/openpty (configure.ac): Update.
8691
8692 2010-03-26  Simon Josefsson  <simon@josefsson.org>
8693
8694         * top/maint.mk (sc_texinfo_acronym): Don't infloop if there is
8695         no *.texi files.  Reported by Eric Blake <eblake@redhat.com>.
8696
8697 2010-03-25  Eric Blake  <eblake@redhat.com>
8698
8699         maint: use pragma consistently across replacement headers
8700         * lib/ctype.in.h (system_header): Hoist for consistent placement.
8701         * lib/dirent.in.h (system_header): Likewise.
8702         * lib/errno.in.h (system_header): Likewise.
8703         * lib/float.in.h (system_header): Likewise.
8704         * lib/getopt.in.h (system_header): Likewise.
8705         * lib/iconv.in.h (system_header): Likewise.
8706         * lib/inttypes.in.h (system_header): Likewise.
8707         * lib/langinfo.in.h (system_header): Likewise.
8708         * lib/locale.in.h (system_header): Likewise.
8709         * lib/math.in.h (system_header): Likewise.
8710         * lib/netdb.in.h (system_header): Likewise.
8711         * lib/netinet_in.in.h (system_header): Likewise.
8712         * lib/pty.in.h (system_header): Likewise.
8713         * lib/sched.in.h (system_header): Likewise.
8714         * lib/se-selinux.in.h (system_header): Likewise.
8715         * lib/search.in.h (system_header): Likewise.
8716         * lib/spawn.in.h (system_header): Likewise.
8717         * lib/stdarg.in.h (system_header): Likewise.
8718         * lib/stdint.in.h (system_header): Likewise.
8719         * lib/string.in.h (system_header): Likewise.
8720         * lib/strings.in.h (system_header): Likewise.
8721         * lib/sys_file.in.h (system_header): Likewise.
8722         * lib/sys_ioctl.in.h (system_header): Likewise.
8723         * lib/sys_socket.in.h (system_header): Likewise.
8724         * lib/sys_times.in.h (system_header): Likewise.
8725         * lib/sys_utsname.in.h (system_header): Likewise.
8726         * lib/sys_wait.in.h (system_header): Likewise.
8727         * lib/sysexits.in.h (system_header): Likewise.
8728         * lib/unistd.in.h (system_header): Likewise.
8729         * lib/wctype.in.h (system_header): Likewise.
8730
8731         arpa/inet: fix mingw compilation warning
8732         * lib/arpa_inet.in.h (system_header): Hoist to be unconditional.
8733         Reported by Matthew Bolte.
8734
8735 2010-03-25  Bruno Haible  <bruno@clisp.org>
8736
8737         Avoid collision between gnulib wrapper and libintl wrapper.
8738         * lib/printf.c (printf): Don't define if a printf wrapper is already
8739         defined in intl/printf.c.
8740         Reported by Michel Boaventura <michel@michelboaventura.com>.
8741
8742 2010-03-25  Bruno Haible  <bruno@clisp.org>
8743
8744         Use ANSI C.
8745         * lib/readutmp.h (getutent): Provide ANSI C prototype.
8746
8747 2010-03-25  Bruno Haible  <bruno@clisp.org>
8748
8749         Minor formatting changes.
8750         * lib/acosl.c: Insert space before function argument list.
8751         * lib/argz.c: Likewise.
8752         * lib/asinl.c: Likewise.
8753         * lib/expl.c: Likewise.
8754         * lib/gen-uni-tables.c: Likewise.
8755         * lib/gettext.h: Likewise.
8756         * lib/glthread/lock.h: Likewise.
8757         * lib/tanl.c: Likewise.
8758         * lib/uniname/uniname.c: Likewise.
8759         * tests/test-idpriv-drop.c: Likewise.
8760         * tests/test-idpriv-droptemp.c: Likewise.
8761         * tests/test-lock.c: Likewise.
8762         * tests/test-tls.c: Likewise.
8763         * lib/argp-help.c: Insert space before function-like macro argument
8764         list.
8765         * lib/memcmp.c: Likewise.
8766         * tests/test-base64.c: Likewise.
8767         * lib/localename.c: Insert space before sizeof's argument list.
8768         * lib/safe-alloc.h: Likewise.
8769         * lib/file-set.h: Insert space before macro argument list.
8770         * tests/test-argp.c: Likewise.
8771         * lib/argp-namefrob.h: Insert space before function parameter list.
8772         * lib/getaddrinfo.c: Likewise.
8773         * lib/netdb.in.h: Likewise.
8774         * lib/parse-duration.h: Likewise.
8775         * lib/parse-duration.c: Likewise.
8776         * lib/poll.c: Likewise.
8777         * lib/select.c: Likewise.
8778         * lib/trim.h: Likewise.
8779         * tests/test-usleep.c: Likewise.
8780         * lib/ldexpl.c: Insert space before function parameter list and before
8781         function argument list.
8782         * lib/logl.c: Likewise.
8783         * lib/sqrtl.c: Likewise.
8784         * lib/trim.c: Likewise.
8785         * lib/cosl.c: Use GNU style indentation. Insert space before function
8786         argument list.
8787         * lib/sinl.c: Likewise.
8788         * lib/tsearch.c: Insert space after 'for'.
8789         Reported by Jim Meyering.
8790
8791 2010-03-23  Pádraig Brady  <P@draigBrady.com>  (tiny change)
8792
8793         * maint.mk (sc_Wundef_boolean): Check for the presence of the
8794         config header before grepping, as it's not present before
8795         autoreconf/configure are run.  Reported by Simon Josefsson.
8796
8797 2010-03-23  Bruno Haible  <bruno@clisp.org>
8798
8799         pt_chown: Make it work with automake < 1.11.
8800         * modules/pt_chown (Makefile.am): Define pkglibexecdir.
8801         Reported by Simon Josefsson.
8802
8803 2010-03-23  Bruno Haible  <bruno@clisp.org>
8804
8805         pt_chown: Don't depend on GPLed modules.
8806         * lib/pt_chown.c: Don't include idpriv.h.
8807         (main): Don't drop privileges.
8808         * modules/pt_chown (Depends-on): Remove idpriv-drop.
8809         Reported by Simon Josefsson.
8810
8811 2010-03-24  Simon Josefsson  <simon@josefsson.org>
8812
8813         * top/maint.mk (sc_texinfo_acronym): Add rule, based on
8814         suggestions from karl@freefriends.org (Karl Berry).
8815
8816 2010-03-22  Eric Blake  <eblake@redhat.com>
8817
8818         gethostname: further tweaks
8819         * lib/unistd.in.h (includes): Only worry about <winsock2.h> if we
8820         are overriding gethostname.
8821         Suggested by Bruno Haible.
8822
8823 2010-03-21  Bruno Haible  <bruno@clisp.org>
8824
8825         Fix comments.
8826         * lib/forkpty.c (rpl_forkpty): Fix comment.
8827         * lib/openpty.c (rpl_openpty): Likewise.
8828         Reported by Eric Blake.
8829
8830 2010-03-22  Eric Blake  <eblake@redhat.com>
8831
8832         gethostname: fix build on mingw
8833         * lib/unistd.in.h (includes): Work around fact that mingw
8834         <winsock2.h> re-includes <unistd.h>, by avoiding any
8835         redeclarations if we are being included by <winsock2.h>.
8836         Reported by Matthias Bolte.
8837
8838 2010-03-21  Bruno Haible  <bruno@clisp.org>
8839
8840         forkpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
8841         * lib/forkpty.c (forkpty): New replacement function, from glibc with
8842         modifications.
8843         * lib/pty.in.h (forkpty): Update declaration. Add comments.
8844         * m4/pty.m4 (gl_FORKPTY): If forkpty is not declared, arrange to
8845         provide the replacement.
8846         * modules/forkpty (Depends-on): Add openpty, login_tty.
8847         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_FORKPTY.
8848         * modules/pty (Makefile.am): Substitute HAVE_FORKPTY.
8849         * doc/glibc-functions/forkpty.texi: More supported platforms.
8850         * config/srclist.txt: Add forkpty.c (commented).
8851
8852 2010-03-21  Bruno Haible  <bruno@clisp.org>
8853
8854         * modules/forkpty-tests: Use the common TEMPLATE-TESTS.
8855         (Makefile.am): Verify that PTY_LIB is defined.
8856
8857         * modules/openpty-tests: Use the common TEMPLATE-TESTS.
8858
8859 2010-03-21  Bruno Haible  <bruno@clisp.org>
8860
8861         Tests for module 'login_tty'.
8862         * modules/login_tty-tests: New file.
8863         * tests/test-login_tty.c: New file.
8864
8865         New module 'login_tty'.
8866         * lib/login_tty.c: New file.
8867         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): New macro.
8868         * modules/login_tty: New file.
8869         * doc/glibc-functions/login_tty.texi: Mention the new module.
8870
8871 2010-03-21  Bruno Haible  <bruno@clisp.org>
8872
8873         login_tty: Documentation.
8874         * doc/glibc-functions/login_tty.texi: New file.
8875         * doc/gnulib.texi (Glibc <utmp.h>): Include it.
8876
8877 2010-03-21  Bruno Haible  <bruno@clisp.org>
8878
8879         pty: Consistent macro naming.
8880         * m4/pty_h.m4 (gl_PTY_H): Renamed from gl_PTY.
8881         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): Update.
8882         * modules/pty (configure.ac): Update.
8883
8884 2010-03-21  Bruno Haible  <bruno@clisp.org>
8885
8886         Tests for openpty: Make stricter.
8887         * tests/test-openpty.c (main): Add test of canonical processing and
8888         erase.
8889         * modules/openpty-tests (Makefile.am): Verify that PTY_LIB is defined.
8890
8891         openpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
8892         * lib/openpty.c (openpty): New replacement function.
8893         * lib/pty.in.h: Include <termios.h>.
8894         (openpty): Update declaration. Add comments.
8895         * m4/pty.m4 (gl_OPENPTY): Require AC_USE_SYSTEM_EXTENSIONS. If openpty
8896         is not declared, arrange to provide the replacement. Check for _getpty
8897         and posix_openpt.
8898         * modules/openpty (Depends-on): Add extensions, fcntl-h, ioctl.
8899         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_OPENPTY.
8900         * modules/pty (Makefile.am): Substitute HAVE_OPENPTY.
8901         * modules/pty-tests (test_pty_c___LDADD): New variable.
8902         * doc/glibc-functions/openpty.texi: More supported platforms.
8903
8904 2010-03-21  Bruno Haible  <bruno@clisp.org>
8905
8906         setenv: Tweaks.
8907         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Include necessary headers in
8908         the test program.
8909         * doc/posix-functions/setenv.texi: Update platforms list.
8910
8911 2010-03-21  Bruno Haible  <bruno@clisp.org>
8912
8913         New module 'unlockpt'.
8914         * lib/unlockpt.c: New file, from glibc with modifications.
8915         * m4/unlockpt.m4: New file.
8916         * modules/unlockpt: New file.
8917         * lib/stdlib.in.h (unlockpt): New declaration.
8918         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether unlockpt is declared.
8919         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_UNLOCKPT, HAVE_UNLOCKPT.
8920         * modules/stdlib (Makefile.am): Substitute GNULIB_UNLOCKPT,
8921         HAVE_UNLOCKPT.
8922         * doc/posix-functions/unlockpt.texi: Mention the new module.
8923         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::unlockpt.
8924         * config/srclist.txt: Add unlockpt.c (commented).
8925
8926 2010-03-21  Jim Meyering  <meyering@redhat.com>
8927
8928         maint.mk: prohibit inclusion of "intprops.h" without use
8929         * top/maint.mk (sc_prohibit_intprops_without_use): New rule.
8930
8931 2010-03-21  Bruno Haible  <bruno@clisp.org>
8932
8933         New module 'grantpt'.
8934         * lib/grantpt.c: New file, from glibc with modifications.
8935         * m4/grantpt.m4: New file.
8936         * modules/grantpt: New file.
8937         * lib/stdlib.in.h (grantpt): New declaration.
8938         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether grantpt is declared.
8939         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GRANTPT, HAVE_GRANTPT.
8940         * modules/stdlib (Makefile.am): Substitute GNULIB_GRANTPT,
8941         HAVE_GRANTPT.
8942         * doc/posix-functions/grantpt.texi: Mention the new module.
8943         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::grantpt.
8944         * config/srclist.txt: Add grantpt.c (commented).
8945
8946 2010-03-21  Bruno Haible  <bruno@clisp.org>
8947
8948         New module 'pt_chown'.
8949         * lib/pt_chown.c: New file, from glibc with modifications.
8950         * lib/pty-private.h: New file, from glibc with modifications.
8951         * modules/pt_chown: New file.
8952         * config/srclist.txt: Add pt_chown.c, pty-private.h (commented).
8953
8954 2010-03-21  Bruno Haible  <bruno@clisp.org>
8955
8956         Tests for module 'ptsname'.
8957         * modules/ptsname-tests: New file.
8958         * tests/test-ptsname.c: New file.
8959
8960         New module 'ptsname'.
8961         * lib/ptsname.c: New file, from glibc with modifications.
8962         * m4/ptsname.m4: New file.
8963         * modules/ptsname: New file.
8964         * lib/stdlib.in.h (ptsname): New declaration.
8965         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether ptsname is declared.
8966         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PTSNAME, HAVE_PTSNAME.
8967         * modules/stdlib (Makefile.am): Substitute GNULIB_PTSNAME,
8968         HAVE_PTSNAME.
8969         * doc/posix-functions/ptsname.texi: Mention the new module.
8970         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::ptsname.
8971         * config/srclist.txt: Add ptsname.c (commented).
8972
8973 2010-03-21  Bruno Haible  <bruno@clisp.org>
8974
8975         Tests for module 'ttyname_r'.
8976         * modules/ttyname_r-tests: New file.
8977         * tests/test-ttyname_r.c: New file.
8978
8979         New module 'ttyname_r'.
8980         * lib/ttyname_r.c: New file.
8981         * m4/ttyname_r.m4: New file.
8982         * modules/ttyname_r: New file.
8983         * lib/unistd.in.h (ttyname_r): New declaration.
8984         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether ttyname_r is declared.
8985         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_TTYNAME_R, HAVE_TTYNAME_R.
8986         * modules/unistd (Makefile.am): Substitute GNULIB_TTYNAME_R,
8987         HAVE_TTYNAME_R.
8988         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::ttyname_r.
8989         * doc/posix-functions/ttyname_r.texi: Mention the new module.
8990
8991 2010-03-20  Bruno Haible  <bruno@clisp.org>
8992
8993         signal: Undefine macro definitions in C++ mode.
8994         * lib/signal.in.h (sigismember, sigemptyset, sigaddset, sigdelset,
8995         sigfillset): Undefine macro definitions from the system header in C++
8996         mode.
8997         Reported by John W. Eaton <jwe@gnu.org>.
8998
8999 2010-03-20  Bruno Haible  <bruno@clisp.org>
9000
9001         Ensure no #include statements inside extern "C" { ... }.
9002         * lib/obstack.h: Shrink extern "C" { ... } region so that it does not
9003         contain #include statements.
9004         * lib/time.in.h: Likewise.
9005
9006 2010-03-20  Bruno Haible  <bruno@clisp.org>
9007
9008         Make _GL_WARN_ON_USE usable in C++ and C mode in the same compilation.
9009         * build-aux/warn-on-use.h (_GL_WARN_EXTERN_C): New macro.
9010         (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): Likewise.
9011         Reported by John W. Eaton <jwe@gnu.org>.
9012
9013 2010-03-20  Bruno Haible  <bruno@clisp.org>
9014
9015         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix last commit.
9016         Reported by Jim Meyering.
9017
9018 2010-03-20  Bruno Haible  <bruno@clisp.org>
9019
9020         pipe: Set errno upon failure.
9021         * lib/pipe.h: Specify that when -1 is returned, errno is set.
9022         * lib/pipe.c (create_pipe): Set errno when returning -1. Use the right
9023         errno value in error message.
9024
9025 2010-03-20  Bruno Haible  <bruno@clisp.org>
9026             Jim Meyering  <meyering@redhat.com>
9027
9028         lchown: Avoid "unused variable" warning.
9029         * lib/lchown.c (rpl_lchown): Move variable 'st' into #if block.
9030
9031 2010-03-20  Bruno Haible  <bruno@clisp.org>
9032
9033         Work around unlink() bug on MacOS X 10.5.6.
9034         * lib/unlink.c (rpl_unlink): If UNLINK_PARENT_BUG is defined, fail when
9035         attempting to unlink a parent directory.
9036         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. Test for
9037         MacOS X 10.5 bug. If the bug is present, define UNLINK_PARENT_BUG and
9038         activate for the replacement function.
9039         * doc/posix-functions/unlink.texi: Mention the MacOS X 10.5 bug.
9040
9041 2010-03-20  Bruno Haible  <bruno@clisp.org>
9042
9043         Fix link errors on Solaris 8.
9044         * modules/dirent-tests (test_dirent_c___LDADD): Add LIB_NANOSLEEP.
9045         * modules/wctype-tests (test_wctype_c___LDADD): Likewise.
9046
9047 2010-03-19  Jim Meyering  <meyering@redhat.com>
9048
9049         regcomp.c: make non-_LIBC implementation of build_range_exp consistent
9050         The _LIBC implementation of build_range_exp correctly honors the
9051         RE_NO_EMPTY_RANGES flag when checking for reversed range endpoints.
9052         However, the non-_LIBC implementation would ignore that syntax-bit
9053         flag and return REG_ERANGE unconditionally.
9054         This change makes it honor that flag.
9055         * lib/regcomp.c (build_range_exp) [!_LIBC]: Add a parameter: "syntax".
9056         Make two pointer parameters "const".
9057         Use "syntax" bits in order to honor RE_NO_EMPTY_RANGES.
9058         (parse_bracket_exp): Update caller.
9059
9060         regex.m4: correct the reversed range endpoint ([b-a]) test
9061         * m4/regex.m4: When requiring that [b-a] evoke failure,
9062         use RE_NO_EMPTY_RANGES.  This makes this entire configure-time
9063         test pass once again for x86-based systems.
9064
9065 2010-03-19  Bruno Haible  <bruno@clisp.org>
9066
9067         scandir: Fix link error on Solaris 8.
9068         * lib/scandir.c (_D_EXACT_NAMLEN, _D_ALLOC_NAMLEN): New fallback
9069         macros.
9070
9071 2010-03-19  Bruno Haible  <bruno@clisp.org>
9072
9073         getusershell: Fix documentation.
9074         * doc/glibc-functions/endusershell.texi: Refer to the getusershell
9075         module.
9076         * doc/glibc-functions/setusershell.texi: Likewise.
9077
9078         getusershell: Provide declaration, missing on Solaris 9.
9079         * lib/unistd.in.h (getusershell, setusershell, endusershell): Declare
9080         also if HAVE_GETUSERSHELL && !HAVE_DECL_GETUSERSHELL.
9081         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): When the function exists,
9082         check whether it is declared. Set HAVE_DECL_GETUSERSHELL.
9083         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
9084         HAVE_DECL_GETUSERSHELL, not HAVE_GETUSERSHELL.
9085         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETUSERSHELL, not
9086         HAVE_GETUSERSHELL.
9087         * doc/glibc-functions/getusershell.texi: Mention the Solaris problem.
9088
9089 2010-03-19  Bruno Haible  <bruno@clisp.org>
9090
9091         wctype: Provide iswblank function.
9092         * lib/wctype.in.h (iswblank): Provide a replacement also when iswcntrl
9093         exists and is fine.
9094         * m4/wctype_h.m4 (gl_WCTYPE_H): Also check whether iswcntrl exists.
9095         * modules/wctype (Makefile.am): Substitute HAVE_ISWBLANK.
9096         * tests/test-wctype.c (main): Re-enable the iswblank tests.
9097         * doc/posix-functions/iswblank.texi: Update.
9098
9099 2010-03-19  Bruno Haible  <bruno@clisp.org>
9100
9101         Tests of module 'pty' in C++ mode.
9102         * modules/pty-tests: New file.
9103         * tests/test-pty-c++.cc: New file.
9104         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
9105
9106 2010-03-19  Eric Blake  <eblake@redhat.com>
9107
9108         logb: fix documentation
9109         * doc/posix-functions/logb.texi (logb): Gnulib fixes the cygwin
9110         1.5 declaration bug.
9111
9112         forkpty, openpty: prefer glibc's const-safe prototype
9113         * lib/forkpty.c (rpl_forkpty): New file.
9114         * lib/openpty.c (rpl_openpty): Likewise.
9115         * modules/forkpty (Files): Distribute it.
9116         * modules/openpty (Files): Likewise.
9117         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.  Move decl
9118         check...
9119         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): ...here.  Request
9120         replacement for for non-const BSD signature.
9121         * modules/pty (Makefile.am): Substitute witnesses.
9122         * lib/pty.in.h (forkpty, openpty): Declare replacements.
9123         * tests/test-forkpty.c: Update signature check.
9124         * tests/test-openpty.c: Likewise.
9125         * doc/glibc-functions/forkpty.texi (forkpty): Document the fix.
9126         * doc/glibc-functions/openpty.texi (openpty): Likewise.
9127
9128         forkpty, openpty: split functions into new modules
9129         * modules/pty (Makefile.am): Substitute new witnesses.
9130         (Libraries): Move library detection...
9131         * modules/forkpty: ...into new module.
9132         * modules/openpty: Another new module.
9133         * modules/pty-tests: Rename and split...
9134         * modules/forkpty-tests: ...to this...
9135         * modules/openpty-tests: ...and this.
9136         * tests/test-pty.c: Rename and split...
9137         * tests/test-forkpty.c: ...to this...
9138         * tests/test-openpty.c: ...and this.
9139         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.
9140         (gl_PTY): Split library searching...
9141         * m4/pty.m4 (gl_PTY_LIB): ...into new file.
9142         (gl_FORKPTY, gl_OPENPTY): New macros.
9143         * lib/pty.in.h (forkpty, openpty): Honor new witnesses.
9144         * NEWS: Mention the split.
9145         * MODULES.html.sh (Misc): Document the modules.
9146         * doc/glibc-functions/forkpty.texi (forkpty): Likewise.
9147         * doc/glibc-functions/openpty.texi (openpty): Likewise.
9148
9149         pty: improve replacement header
9150         * lib/pty.in.h: New file.
9151         * modules/pty (Files): Ship it.
9152         (Makefile.am): Always build replacement.
9153         * m4/pty.m4: Rename...
9154         * m4/pty_h.m4: ...to this.
9155         (gl_PTY): Modernize setting of witness macros; update check of
9156         forkpty to take proper advantage of cache.
9157         (gl_PTY_MODULE_INDICATOR, gl_PTY_H_DEFAULTS): New macros.
9158
9159         getopt: avoid compiler warning
9160         * lib/getopt.c (attribute_hidden): Remove unused macro.
9161
9162 2010-03-18  Bruno Haible  <bruno@clisp.org>
9163
9164         Fix link errors on Solaris 8.
9165         * modules/iconv-h-tests (test_iconv_h_c___LDADD): Add LIB_NANOSLEEP.
9166         * modules/search-tests (test_search_c___LDADD): Likewise.
9167         * modules/signal-tests (test_signal_c___LDADD): Likewise.
9168         * modules/spawn-tests (test_spawn_c___LDADD): Likewise.
9169         * modules/stdio-tests (test_stdio_c___LDADD): Likewise.
9170         * modules/sys_select-tests (test_sys_select_c___LDADD): Likewise.
9171         * modules/sys_socket-tests (test_sys_socket_c___LDADD): Likewise.
9172         * modules/sys_time-tests (test_sys_time_c___LDADD): Likewise.
9173         * modules/wchar-tests (test_wchar_c___LDADD): Likewise.
9174
9175 2010-03-18  Bruno Haible  <bruno@clisp.org>
9176
9177         Fix bug introduced on 2010-03-14.
9178         * m4/spawn_h.m4 (gl_HAVE_POSIX_SPAWN): New macro.
9179         (gl_SPAWN_H): Require it.
9180         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Likewise.
9181         Reported by Simon Josefsson.
9182
9183 2010-03-18  Bruno Haible  <bruno@clisp.org>
9184
9185         Fix typo introduced on 2009-12-31.
9186         * m4/spawn_h.m4 (gl_SPAWN_H): Check for the declaration of
9187         posix_spawn_file_actions_adddup2.
9188
9189 2010-03-17  Bert Wesarg  <bert.wesarg@googlemail.com>  (tiny change)
9190         and Eric Blake  <eblake@redhat.com>
9191
9192         test-vc-list-files-git: make more robust
9193         * tests/test-vc-list-files-git.sh: Unset problematic environment
9194         variables.  Chain commands together.
9195
9196 2010-03-17  Ludovic Courtès <ludo@gnu.org>  (tiny change)
9197
9198         * m4/pty.m4: Unset $ac_cv_have_decl_forkpty before the second
9199         `AC_CHECK_DECL' invocation.
9200
9201 2010-03-15  Sergey Poznyakoff  <gray@gnu.org.ua>
9202
9203         * lib/inttostr.c (inttostr): Make sure the invocation of verify
9204         appears before executable statements. Suggested by Petr Sumbera
9205         <Petr.Sumbera@Sun.COM>.
9206
9207 2010-03-14  Bruno Haible  <bruno@clisp.org>
9208
9209         * tests/test-flock.c (test_exclusive): Comment out a test that causes
9210         portability problems. Instead use a simpler test.
9211         (main): Check that invalid arguments are rejected only on Linux.
9212
9213 2010-03-14  Bruno Haible  <bruno@clisp.org>
9214
9215         Fix bug introduced on 2009-12-31.
9216         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
9217         gl_PREREQ_SYS_H_WINSOCK2 always.
9218         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise. Remove
9219         SYS_SOCKET_H variable.
9220         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Remove test for flock.
9221         Update comments.
9222         * m4/ctype.m4 (gl_CTYPE_H): Update comments.
9223         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
9224         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
9225         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
9226         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
9227
9228 2010-03-14  Bruno Haible  <bruno@clisp.org>
9229
9230         Fix values returned by sinl, cosl.
9231         * lib/trigl.h: Add specification comments.
9232         * lib/sincosl.c (kernel_sinl, kernel_cosl): Fix comments and formula
9233         that combines the values from the precomputed table with the values of
9234         the Chebyshev polynomials.
9235
9236 2010-03-14  Bruno Haible  <bruno@clisp.org>
9237
9238         Fix compilation error when modules 'posix_spawn[p]' are not used.
9239         * m4/spawn_h.m4 (gl_SPAWN_H): Set HAVE_POSIX_SPAWN here.
9240         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): ... not here.
9241
9242 2010-03-14  Bruno Haible  <bruno@clisp.org>
9243
9244         Fix compilation error on mingw when module 'time_r' is not used.
9245         * lib/time.in.h (localtime_r, gmtime_r): Declare only if GNULIB_TIME_R
9246         is 1.
9247         * tests/test-time-c++.cc (localtime_r, gmtime_r): Likewise.
9248         * modules/time_r (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
9249         * modules/time (Makefile.am): Substitute GNULIB_TIME_R.
9250         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_TIME_R.
9251
9252 2010-03-14  Bruno Haible  <bruno@clisp.org>
9253
9254         Fix compilation error with Sun C.
9255         * lib/strtol.c: Use LLONG_MIN instead of GCC specific LONG_LONG_MIN.
9256         Use LLONG_MAX instead of GCC specific LONG_LONG_MAX. Use ULLONG_MAX
9257         instead of GCC specific ULONG_LONG_MAX.
9258         * lib/xstrtoll.c: Likewise.
9259         * lib/xstrtoull.c: Likewise.
9260
9261 2010-03-13  Bruno Haible  <bruno@clisp.org>
9262
9263         Allow the user to disable C++ code and tests.
9264         * m4/ansi-c++.m4 (gl_CXX_CHOICE): New macro.
9265         (gl_PROG_ANSI_CXX): Require it.
9266
9267 2010-03-13  Bruno Haible  <bruno@clisp.org>
9268
9269         * DEPENDENCIES (libtool): Mention libtool 2.2.x requirement in special
9270         cases.
9271
9272 2010-03-13  Bruno Haible  <bruno@clisp.org>
9273
9274         Test that gnulib does not break the standard C++ headers.
9275         * tests/test-locale-c++2.cc: New file.
9276         * modules/locale-tests (Files): Add it.
9277         (Makefile.am): Compile it for test-locale-c++.
9278         * tests/test-math-c++2.cc: New file.
9279         * modules/math-tests (Files): Add it.
9280         (Makefile.am): Compile it for test-math-c++.
9281         * tests/test-signal-c++2.cc: New file.
9282         * modules/signal-tests (Files): Add it.
9283         (Makefile.am): Compile it for test-signal-c++.
9284         * tests/test-stdio-c++2.cc: New file.
9285         * modules/stdio-tests (Files): Add it.
9286         (Makefile.am): Compile it for test-stdio-c++.
9287         * tests/test-stdlib-c++2.cc: New file.
9288         * modules/stdlib-tests (Files): Add it.
9289         (Makefile.am): Compile it for test-stdlib-c++.
9290         * tests/test-string-c++2.cc: New file.
9291         * modules/string-tests (Files): Add it.
9292         (Makefile.am): Compile it for test-string-c++.
9293         * tests/test-time-c++2.cc: New file.
9294         * modules/time-tests (Files): Add it.
9295         (Makefile.am): Compile it for test-time-c++.
9296         Reported by John W. Eaton <jwe@gnu.org>.
9297
9298 2010-03-13  Bruno Haible  <bruno@clisp.org>
9299
9300         * gnulib-tool (func_usage): Clarify which options are available for
9301         --create-testdir and --create-megatestdir.
9302
9303 2010-03-13  Bruno Haible  <bruno@clisp.org>
9304
9305         Fix compilation error with glibc >= 2.10 and g++ >= 4.4.
9306         * build-aux/warn-on-use.h (_GL_WARN_ON_USE_CXX): New macro.
9307         * build-aux/c++defs.h (_GL_CXXALIASWARN1): New macro.
9308         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
9309         strstr, strcasestr): Use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN
9310         when appropriate.
9311         Reported by Jim Meyering.
9312
9313 2010-03-12  Simon Josefsson  <simon@josefsson.org>
9314
9315         * gnulib-tool (func_import): Explain origin of code.
9316
9317 2010-03-12  Bruno Haible  <bruno@clisp.org>
9318
9319         Fix problem with automake's definition of CXXLINK.
9320         * gnulib-tool (func_create_testdir): After LT_INIT, also use LT_LANG.
9321         Reported by Simon Josefsson and Ludovic Courtès.
9322
9323 2010-03-12  Bruno Haible  <bruno@clisp.org>
9324
9325         * doc/gnulib-intro.texi (Steady Development): Mention Ian Beckwith's
9326         stable releases.
9327
9328 2010-03-11  Bruno Haible  <bruno@clisp.org>
9329
9330         Fix problems with overloaded C++ definitions of memchr, strpbrk, etc.
9331         * build-aux/c++defs.h (_GL_CXXALIAS_SYS_CAST2): Make it work regardless
9332         whether the system provides one variant or multiple variants of the
9333         function.
9334         * lib/string.in.h (memchr, strpbrk): Use _GL_CXXALIAS_SYS_CAST2 for all
9335         C++ compilers.
9336         (memrchr, rawmemchr, strchrnul, strstr, strcasestr): Use
9337         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS.
9338         Reported by Jim Meyering.
9339
9340 2010-03-09  Simon Josefsson  <simon@josefsson.org>
9341
9342         * gnulib-tool (LIBTOOLPATH): Fix cut'n'paste bug.
9343
9344 2010-03-08  Bruno Haible  <bruno@clisp.org>
9345
9346         gnulib-tool: Add support for --libtool in --create-testdir.
9347         * gnulib-tool (LIBTOOLPATH, LIBTOOLIZE): New variables.
9348         (func_create_testdir): Emit LT_INIT invocations. Invoke LIBTOOLIZE.
9349
9350 2010-03-08  Eric Blake  <eblake@redhat.com>
9351
9352         gnulib-tool.texi: mention possibility of git submodule
9353         * doc/gnulib-tool.texi (VCS Issues): Add details about using git
9354         submodules.
9355         * doc/.gitignore: Ignore another generated file.
9356
9357 2010-03-08  Karl Berry  <karl@gnu.org>
9358
9359         * doc/gnulib-tool.texi (VCS Issues): Mention third option
9360         of committing gnulib files while skipping others.
9361
9362 2010-03-07  Bruno Haible  <bruno@clisp.org>
9363
9364         Tests of module 'wctype' in C++ mode.
9365         * tests/test-wctype-c++.cc: New file.
9366         * modules/wctype-tests (Files): Add it and tests/signature.h.
9367         (Depends-on): Add ansi-c++-opt.
9368         (Makefile.am): Arrange to compile and run test-wctype-c++.
9369
9370         Tests of module 'wchar' in C++ mode.
9371         * tests/test-wchar-c++.cc: New file.
9372         * modules/wchar-tests (Files): Add it and tests/signature.h.
9373         (Depends-on): Add ansi-c++-opt.
9374         (Makefile.am): Arrange to compile and run test-wchar-c++.
9375         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Invoke
9376         gl_MODULE_INDICATOR.
9377
9378         Tests of module 'unistd' in C++ mode.
9379         * tests/test-unistd-c++.cc: New file.
9380         * modules/unistd-tests (Files): Add it and tests/signature.h.
9381         (Depends-on): Add ansi-c++-opt.
9382         (Makefile.am): Arrange to compile and run test-unistd-c++.
9383         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Invoke
9384         gl_MODULE_INDICATOR.
9385
9386         Tests of module 'time' in C++ mode.
9387         * tests/test-time-c++.cc: New file.
9388         * modules/time-tests (Files): Add it and tests/signature.h.
9389         (Depends-on): Add ansi-c++-opt.
9390         (Makefile.am): Arrange to compile and run test-time-c++.
9391         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
9392
9393         Tests of module 'sys_time' in C++ mode.
9394         * tests/test-sys_time-c++.cc: New file.
9395         * modules/sys_time-tests (Files): Add it and tests/signature.h.
9396         (Depends-on): Add ansi-c++-opt.
9397         (Makefile.am): Arrange to compile and run test-sys_time-c++.
9398         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Invoke
9399         gl_MODULE_INDICATOR.
9400
9401         Tests of module 'sys_stat' in C++ mode.
9402         * tests/test-sys_stat-c++.cc: New file.
9403         * modules/sys_stat-tests (Files): Add it and tests/signature.h.
9404         (Depends-on): Add ansi-c++-opt.
9405         (Makefile.am): Arrange to compile and run test-sys_stat-c++.
9406         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Invoke
9407         gl_MODULE_INDICATOR.
9408
9409         Tests of module 'sys_socket' in C++ mode.
9410         * tests/test-sys_socket-c++.cc: New file.
9411         * modules/sys_socket-tests (Files): Add it and tests/signature.h.
9412         (Depends-on): Add ansi-c++-opt.
9413         (Makefile.am): Arrange to compile and run test-sys_socket-c++.
9414         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Invoke
9415         gl_MODULE_INDICATOR.
9416
9417         Tests of module 'sys_select' in C++ mode.
9418         * tests/test-sys_select-c++.cc: New file.
9419         * modules/sys_select-tests (Files): Add it and tests/signature.h.
9420         (Depends-on): Add ansi-c++-opt.
9421         (Makefile.am): Arrange to compile and run test-sys_select-c++.
9422         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Invoke
9423         gl_MODULE_INDICATOR.
9424
9425         Tests of module 'sys_ioctl' in C++ mode.
9426         * tests/test-sys_ioctl-c++.cc: New file.
9427         * modules/sys_ioctl-tests (Files): Add it and tests/signature.h.
9428         (Depends-on): Add ansi-c++-opt.
9429         (Makefile.am): Arrange to compile and run test-sys_ioctl-c++.
9430         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Invoke
9431         gl_MODULE_INDICATOR.
9432
9433         Tests of module 'string' in C++ mode.
9434         * tests/test-string-c++.cc: New file.
9435         * modules/string-tests (Files): Add it and tests/signature.h.
9436         (Depends-on): Add ansi-c++-opt.
9437         (Makefile.am): Arrange to compile and run test-string-c++.
9438         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Invoke
9439         gl_MODULE_INDICATOR.
9440
9441         Tests of module 'stdlib' in C++ mode.
9442         * tests/test-stdlib-c++.cc: New file.
9443         * modules/stdlib-tests (Files): Add it and tests/signature.h.
9444         (Depends-on): Add ansi-c++-opt.
9445         (Makefile.am): Arrange to compile and run test-stdlib-c++.
9446         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Invoke
9447         gl_MODULE_INDICATOR.
9448
9449         Tests of module 'stdio' in C++ mode.
9450         * tests/test-stdio-c++.cc: New file.
9451         * modules/stdio-tests (Files): Add it and tests/signature.h.
9452         (Depends-on): Add ansi-c++-opt.
9453         (Makefile.am): Arrange to compile and run test-stdio-c++.
9454         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Invoke
9455         gl_MODULE_INDICATOR.
9456
9457         Tests of module 'spawn' in C++ mode.
9458         * tests/test-spawn-c++.cc: New file.
9459         * modules/spawn-tests (Files): Add it and tests/signature.h.
9460         (Depends-on): Add ansi-c++-opt.
9461         (Makefile.am): Arrange to compile and run test-spawn-c++.
9462         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Invoke
9463         gl_MODULE_INDICATOR.
9464
9465         Tests of module 'signal' in C++ mode.
9466         * tests/test-signal-c++.cc: New file.
9467         * modules/signal-tests (Files): Add it and tests/signature.h.
9468         (Depends-on): Add ansi-c++-opt.
9469         (Makefile.am): Arrange to compile and run test-signal-c++.
9470         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Invoke
9471         gl_MODULE_INDICATOR.
9472
9473         Tests of module 'search' in C++ mode.
9474         * tests/test-search-c++.cc: New file.
9475         * modules/search-tests (Files): Add it and tests/signature.h.
9476         (Depends-on): Add ansi-c++-opt.
9477         (Makefile.am): Arrange to compile and run test-search-c++.
9478         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Invoke
9479         gl_MODULE_INDICATOR.
9480
9481         Tests of module 'math' in C++ mode.
9482         * tests/test-math-c++.cc: New file.
9483         * modules/math-tests (Files): Add it and tests/signature.h.
9484         (Depends-on): Add ansi-c++-opt.
9485         (Makefile.am): Arrange to compile and run test-math-c++.
9486         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
9487
9488         Tests of module 'locale' in C++ mode.
9489         * tests/test-locale-c++.cc: New file.
9490         * modules/locale-tests (Files): Add it and tests/signature.h.
9491         (Depends-on): Add ansi-c++-opt.
9492         (Makefile.am): Arrange to compile and run test-locale-c++.
9493         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Invoke
9494         gl_MODULE_INDICATOR.
9495
9496         Tests of module 'langinfo' in C++ mode.
9497         * tests/test-langinfo-c++.cc: New file.
9498         * modules/langinfo-tests (Files): Add it and tests/signature.h.
9499         (Depends-on): Add ansi-c++-opt.
9500         (Makefile.am): Arrange to compile and run test-langinfo-c++.
9501         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Invoke
9502         gl_MODULE_INDICATOR.
9503
9504         Tests of module 'iconv-h' in C++ mode.
9505         * tests/test-iconv-h-c++.cc: New file.
9506         * modules/iconv-h-tests (Files): Add it and tests/signature.h.
9507         (Depends-on): Add ansi-c++-opt.
9508         (Makefile.am): Arrange to compile and run test-iconv-h-c++.
9509
9510         Tests of module 'glob' in C++ mode.
9511         * tests/test-glob-c++.cc: New file.
9512         * modules/glob-tests (Files): Add it.
9513         (Depends-on): Add ansi-c++-opt.
9514         (Makefile.am): Arrange to compile and run test-glob-c++.
9515
9516         Tests of module 'fcntl-h' in C++ mode.
9517         * tests/test-fcntl-h-c++.cc: New file.
9518         * modules/fcntl-h-tests (Files): Add it and tests/signature.h.
9519         (Depends-on): Add ansi-c++-opt.
9520         (Makefile.am): Arrange to compile and run test-fcntl-h-c++.
9521         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Invoke
9522         gl_MODULE_INDICATOR.
9523
9524         Tests of module 'dirent' in C++ mode.
9525         * tests/test-dirent-c++.cc: New file.
9526         * modules/dirent-tests (Files): Add it and tests/signature.h.
9527         (Depends-on): Add ansi-c++-opt.
9528         (Makefile.am): Arrange to compile and run test-dirent-c++.
9529         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
9530         gl_MODULE_INDICATOR.
9531
9532         New module 'ansi-c++-opt'.
9533         * modules/ansi-c++-opt: New file.
9534         * m4/ansi-c++.m4: New file, from GNU gettext with modifications.
9535
9536         Document C++ namespace mode.
9537         * doc/gnulib.texi (A C++ namespace for gnulib): New section.
9538
9539         wctype: Avoid #define replacements in C++ mode.
9540         * lib/wctype.in.h: Include c++defs.h, warn-on-use.h.
9541         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower,
9542         iswprint, iswpunct, iswspace, iswupper, iswxdigit, towlower, towupper):
9543         In C++, define a namespaced alias symbol.
9544         * m4/wctype_h.m4 (gl_WCTYPE_H): Don't set WCTYPE_H.
9545         * modules/wctype (Depends-on): Add c++defs, warn-on-use.
9546         (Makefile.am): Provide a wctype.h replacement always. Update wctype.h
9547         rule.
9548
9549         wchar: Avoid #define replacements in C++ mode.
9550         * lib/wchar.in.h: Include c++defs.h.
9551         (btowc, wctob, mbsinit, mbrtowc, mbrlen, mbsrtowcs, mbsnrtowcs,
9552         wcrtomb, wcsrtombs, wcsnrtombs): In C++, define a namespaced alias
9553         symbol.
9554         (wcwidth): Likewise. Fix prototype to be POSIX compliant.
9555         * modules/wchar (Depends-on): Add c++defs.
9556         (Makefile.am): Update wchar.h rule.
9557
9558         unistd: Avoid #define replacements in C++ mode.
9559         * lib/unistd.in.h: Include c++defs.h.
9560         (chown, close, dup, dup2, dup3, euidaccess, faccessat, fchdir,
9561         fchownat, fsync, ftruncate, getcwd, getdomainname, getdtablesize,
9562         getgroups, gethostname, getlogin, getlogin_r, getpagesize,
9563         getusershell, setusershell, endusershell, lchown, link, linkat, lseek,
9564         pipe2, pread, readlink, readlinkat, rmdir, sleep, symlink, symlinkat,
9565         unlink, unlinkat, usleep, write): In C++, define a namespaced alias
9566         symbol.
9567         (environ): Update.
9568         * modules/unistd (Depends-on): Add c++defs.
9569         (Makefile.am): Update unistd.h rule.
9570
9571         time: Avoid #define replacements in C++ mode.
9572         * lib/time.in.h: Include c++defs.h, warn-on-use.h.
9573         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): In C++,
9574         define a namespaced alias symbol.
9575         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): New macro.
9576         (gl_HEADER_TIME_H_DEFAULTS): Initialize also GNULIB_MKTIME,
9577         GNULIB_NANOSLEEP, GNULIB_STRPTIME, GNULIB_TIMEGM.
9578         * modules/time (Depends-on): Add c++defs, warn-on-use.
9579         (Makefile.am): Update time.h rule.
9580         * modules/mktime (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
9581         * modules/nanosleep (configure.ac): Likewise.
9582         * modules/strptime (configure.ac): Likewise.
9583         * modules/timegm (configure.ac): Likewise.
9584
9585         sys_time: Avoid #define replacements in C++ mode.
9586         * lib/sys_time.in.h: Include c++defs.h.
9587         (gettimeofday): In C++, define a namespaced alias symbol.
9588         * modules/sys_time (Depends-on): Add c++defs.
9589         (Makefile.am): Update sys/time.h rule.
9590
9591         sys_stat: Avoid #define replacements in C++ mode.
9592         * lib/sys_stat.in.h: Include c++defs.h.
9593         (fchmodat, fstat, fstatat, futimens, lchmod, lstat, mkdir, mkdirat,
9594         mkfifo, mkfifoat, mknod, mknodat, utimensat): In C++, define a
9595         namespaced alias symbol.
9596         In C++, define a namespaced alias symbol.
9597         * modules/sys_stat (Depends-on): Add c++defs.
9598         (Makefile.am): Update sys/stat.h rule.
9599
9600         sys_socket: Avoid #define replacements in C++ mode.
9601         * lib/sys_socket.in.h: Handle the case of recursive include on Cygwin.
9602         Include c++defs.h. Include warn-on-use.h earlier. Enable the function
9603         definitions also when the system has a <sys/socket.h>.
9604         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
9605         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, accept4):
9606         In C++, define a namespaced alias symbol.
9607         * modules/sys_socket (Depends-on): Add c++defs.
9608         (Makefile.am): Update sys/socket.h rule.
9609
9610         sys_select: Avoid #define replacements in C++ mode.
9611         * lib/sys_select.in.h: Include c++defs.h. Enable the function
9612         definitions also when the system has a <sys/select.h>.
9613         (select): In C++, define a namespaced alias symbol.
9614         * modules/sys_select (Depends-on): Add c++defs.
9615         (Makefile.am): Update sys/select.h rule.
9616
9617         sys_ioctl: Avoid #define replacements in C++ mode.
9618         * lib/sys_ioctl.in.h: Include c++defs.h.
9619         (ioctl): In C++, define a namespaced alias symbol.
9620         * modules/sys_ioctl (Depends-on): Add c++defs.
9621         (Makefile.am): Update sys/ioctl.h rule.
9622
9623         string: Avoid #define replacements in C++ mode.
9624         * lib/string.in.h: Include c++defs.h.
9625         (stpncpy): Define to rpl_stpncpy, not gnu_stpncpy.
9626         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
9627         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
9628         strcasestr, strtok_r, mbslen, mbschr, mbsrchr, mbspbrk, strerror,
9629         strsignal, strverscmp): In C++, define a namespaced alias symbol.
9630         * modules/string (Depends-on): Add c++defs.
9631         (Makefile.am): Update string.h rule.
9632
9633         stdlib: Avoid #define replacements in C++ mode.
9634         * lib/stdlib.in.h: Include c++defs.h.
9635         (atoll, calloc, canonicalize_file_name, getloadavg, getsubopt, malloc,
9636         mkdtemp, mkostemp, mkostemps, mkstemp, mkstemps, putenv, random_r,
9637         srandom_r, initstate_r, setstate_r, realloc, realpath, rpmatch, setenv,
9638         strtod, strtoll, strtoull, unsetenv): In C++, define a namespaced alias
9639         symbol.
9640         * modules/stdlib (Depends-on): Add c++defs.
9641         (Makefile.am): Update stdlib.h rule.
9642
9643         stdio: Avoid #define replacements in C++ mode.
9644         * lib/stdio.in.h: Include c++defs.h.
9645         (dprintf, fclose, fflush, fopen, fprintf, fpurge, fputc, fputs,
9646         freopen, fseek, fseeko, ftell, ftello, fwrite, getdelim, getline,
9647         obstack_printf, obstack_vprintf, perror, popen, printf, fputc, putchar,
9648         puts, remove, rename, renameat, snprintf, sprintf, asprintf, vasprintf,
9649         vdprintf, vfprintf, vprintf, vsnprintf, vsprintf): In C++, define a
9650         namespaced alias symbol.
9651         * modules/stdio (Depends-on): Add c++defs.
9652         (Makefile.am): Update stdio.h rule.
9653
9654         spawn: Avoid #define replacements in C++ mode.
9655         * lib/spawn.in.h: Include c++defs.h.
9656         (posix_spawn, posix_spawnp, posix_spawnattr_init,
9657         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
9658         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
9659         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
9660         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
9661         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
9662         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
9663         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
9664         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
9665         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
9666         In C++, define a namespaced alias symbol.
9667         * modules/spawn (Depends-on): Add c++defs.
9668         (Makefile.am): Update spawn.h rule.
9669
9670         signal: Avoid #define replacements in C++ mode.
9671         * lib/signal.in.h: Include c++defs.h.
9672         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
9673         sigpending, sigprocmask, signal, raise, sigaction): In C++, define a
9674         namespaced alias symbol.
9675         * modules/signal (Depends-on): Add c++defs.
9676         (Makefile.am): Update signal.h rule.
9677
9678         search: Avoid #define replacements in C++ mode.
9679         * lib/search.in.h: Include c++defs.h.
9680         (_gl_search_compar_fn, _gl_search_action_fn): New types.
9681         (tsearch, tfind, tdelete, twalk): In C++, define a namespaced alias
9682         symbol.
9683         * modules/search (Depends-on): Add c++defs.
9684         (Makefile.am): Update search.h rule.
9685
9686         math: Avoid #define replacements in C++ mode.
9687         * lib/math.in.h: Include c++defs.h.
9688         (frexp, acosl, asinl, atanl, ceilf, ceill, cosl, expl, floorf, floorl,
9689         frexpl, ldexpl, logl, roundf, round, roundl, sinl, sqrtl, tanl, truncf,
9690         trunc, truncl): In C++, define a namespaced alias symbol.
9691         * modules/math (Depends-on): Add c++defs.
9692         (Makefile.am): Update math.h rule.
9693
9694         locale: Avoid #define replacements in C++ mode.
9695         * lib/locale.in.h: Include c++defs.h.
9696         (duplocale): In C++, define a namespaced alias symbol.
9697         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize HAVE_DUPLOCALE.
9698         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Set HAVE_DUPLOCALE.
9699         * modules/locale (Depends-on): Add c++defs.
9700         (Makefile.am): Update locale.h rule. Substitute HAVE_DUPLOCALE.
9701
9702         langinfo: Avoid #define replacements in C++ mode.
9703         * lib/langinfo.in.h: Include c++defs.h.
9704         (nl_langinfo): In C++, define a namespaced alias symbol.
9705         * modules/langinfo (Depends-on): Add c++defs.
9706         (Makefile.am): Update langinfo.h rule.
9707
9708         iconv-h: Avoid #define replacements in C++ mode.
9709         * lib/iconv.in.h: Include c++defs.h, warn-on-use.h.
9710         (iconv_open, iconv, iconv_close): In C++, define a namespaced alias
9711         symbol.
9712         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
9713         whenever iconv is present.
9714         * modules/iconv-h (Depends-on): Add c++defs, warn-on-use.
9715         (Makefile.am): Update iconv.h rule.
9716
9717         glob: Avoid #define replacements in C++ mode.
9718         * lib/glob.in.h: Include c++defs.h, warn-on-use.h.
9719         (_gl_glob_errfunc_fn): New type.
9720         (glob, globfree, glob_pattern_p): In C++, define a namespaced alias
9721         symbol.
9722         * modules/glob (Depends-on): Add c++defs, warn-on-use.
9723         (Makefile.am): Update glob.h rule.
9724
9725         fcntl-h: Avoid #define replacements in C++ mode.
9726         * lib/fcntl.in.h: Include c++defs.h.
9727         (fcntl, open, openat): In C++, define a namespaced alias symbol.
9728         * modules/fcntl-h (Depends-on): Add c++defs.
9729         (Makefile.am): Update fcntl.h rule.
9730
9731         dirent: Avoid #define replacements in C++ mode.
9732         * lib/dirent.in.h: Include c++defs.h.
9733         (closedir, fdopendir, opendir, scandir, alphasort): In C++, define a
9734         namespaced alias symbol.
9735         (dirfd): Update declaration.
9736         * modules/dirent (Depends-on): Add c++defs.
9737         (Makefile.am): Update dirent.h rule.
9738
9739         ctype: Make it usable in C++ code.
9740         * lib/ctype.in.h: Include c++defs.h.
9741         (isblank): Declare as extern "C".
9742         * modules/ctype (Depends-on): Add c++defs.
9743         (Makefile.am): Update ctype.h rule.
9744
9745         New module 'c++defs'.
9746         * modules/c++defs: New file.
9747         * build-aux/c++defs.h: New file.
9748         Reported by John W. Eaton <jwe@gnu.org>.
9749
9750 2010-03-07  Bruno Haible  <bruno@clisp.org>
9751
9752         logb: Provide missing declaration for Cygwin.
9753         * lib/math.in.h (logb): New declaration.
9754         * m4/logb.m4: New file.
9755         * modules/logb (Files): Add m4/logb.m4.
9756         (Depends-on): Add math.
9757         (configure.ac): Invoke gl_FUNC_LOGB, gl_MATH_MODULE_INDICATOR.
9758         * m4/math_h.m4 (gl_MATH_H): Check also for logb declaration.
9759         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGB, HAVE_DECL_LOGB.
9760         * modules/math (Makefile.am): Substitute GNULIB_LOGB, HAVE_DECL_LOGB.
9761         * doc/posix-functions/logb.texi: Mention the Cygwin bug.
9762
9763 2010-03-07  Bruno Haible  <bruno@clisp.org>
9764
9765         Fix test-cond link error.
9766         * tests/test-cond.c: Include <stdio.h>.
9767
9768 2010-03-07  Bruno Haible  <bruno@clisp.org>
9769
9770         Fix test-dirent-safer link error.
9771         * modules/dirent-safer-tests (Makefile.am): Define
9772         test_dirent_safer_LDADD.
9773
9774 2010-03-07  Bruno Haible  <bruno@clisp.org>
9775
9776         * gnulib-tool (func_create_testdir): Don't use 'lib-ignore' module
9777         among default module list.
9778
9779 2010-03-07  Bruno Haible  <bruno@clisp.org>
9780
9781         Fix link error on platforms with GNU libiconv.
9782         * modules/unistr/u8-strcoll-tests (Makefile): Define
9783         test_u8_strcoll_LDADD.
9784         * modules/unistr/u16-strcoll-tests (Makefile): Define
9785         test_u16_strcoll_LDADD.
9786         * modules/unistr/u32-strcoll-tests (Makefile): Define
9787         test_u32_strcoll_LDADD.
9788
9789 2010-03-07  Bruno Haible  <bruno@clisp.org>
9790
9791         Use POSIX declarations for socket functions.
9792         * lib/sys_socket.in.h (rpl_connect, rpl_accept, rpl_bind,
9793         rpl_getpeername, rpl_getsockname, rpl_recv, rpl_send, rpl_recvfrom,
9794         rpl_sendto): Change declaration to match POSIX.
9795         * lib/connect.c (rpl_connect): Likewise.
9796         * lib/accept.c (rpl_accept): Likewise.
9797         * lib/bind.c (rpl_bind): Likewise.
9798         * lib/getpeername.c (rpl_getpeername): Likewise.
9799         * lib/getsockname.c (rpl_getsockname): Likewise.
9800         * lib/recv.c (rpl_recv): Likewise.
9801         * lib/send.c (rpl_send): Likewise.
9802         * lib/recvfrom.c (rpl_recvfrom): Likewise.
9803         * lib/sendto.c (rpl_sendto): Likewise.
9804
9805 2010-03-06  Bruno Haible  <bruno@clisp.org>
9806
9807         Clarify access, euidaccess, faccessat.
9808         * doc/posix-functions/faccessat.texi: Mention security problem under
9809         "Other problems", not "Portability problems".
9810         * doc/posix-functions/access.texi: Likewise. Mention a related security
9811         problem.
9812         * doc/glibc-functions/euidaccess.texi: Mention security problems.
9813         * lib/euidaccess.c: Add comments about platforms.
9814         * lib/unistd.in.h (access, euidaccess): Add warnings.
9815
9816 2010-03-07  Bruno Haible  <bruno@clisp.org>
9817
9818         Ensure posix_spawnattr_{get,set}sched{policy,param} are defined.
9819         * lib/spawn.in.h (POSIX_SPAWN_SETSCHEDPARAM): Define fallback.
9820         (POSIX_SPAWN_SETSCHEDULER): Likewise.
9821         (POSIX_SPAWN_USEVFORK): Define in a way that works when
9822         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
9823         (posix_spawnattr_getschedpolicy, posix_spawnattr_setschedpolicy): Also
9824         declare when POSIX_SPAWN_SETSCHEDULER is zero.
9825         (posix_spawnattr_getschedparam, posix_spawnattr_setschedparam): Also
9826         declare when POSIX_SPAWN_SETSCHEDPARAM is zero.
9827         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Test whether
9828         POSIX_SPAWN_SETSCHEDULER or POSIX_SPAWN_SETSCHEDPARAM are zero.
9829         * modules/posix_spawnattr_getschedparam (configure.ac): Enable the
9830         replacement also when POSIX_SPAWN_SETSCHEDPARAM is zero.
9831         * modules/posix_spawnattr_setschedparam (configure.ac): Likewise.
9832         * modules/posix_spawnattr_getschedpolicy (configure.ac): Enable the
9833         replacement also when POSIX_SPAWN_SETSCHEDULER is zero.
9834         * modules/posix_spawnattr_setschedpolicy (configure.ac): Likewise.
9835         * lib/spawnattr_getschedparam.c (posix_spawnattr_getschedparam): Do
9836         nothing if POSIX_SPAWN_SETSCHEDPARAM is zero.
9837         * lib/spawnattr_setschedparam.c (posix_spawnattr_setschedparam):
9838         Likewise.
9839         * lib/spawnattr_getschedpolicy.c (posix_spawnattr_getschedpolicy): Do
9840         nothing if POSIX_SPAWN_SETSCHEDULER is zero.
9841         * lib/spawnattr_setschedpolicy.c (posix_spawnattr_setschedpolicy):
9842         Likewise.
9843         * tests/test-spawn.c (main): Make it work when
9844         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
9845
9846 2010-03-07  Bruno Haible  <bruno@clisp.org>
9847
9848         Fix incorrect Makefile.am generation in German locale.
9849         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
9850         Execute sed command with character range in C locale.
9851
9852 2010-03-06  Bruno Haible  <bruno@clisp.org>
9853
9854         Tests for module 'iconv-h'.
9855         * modules/iconv-h-tests: New file.
9856         * tests/test-iconv-h.c: New file.
9857
9858         New module 'iconv-h'.
9859         * modules/iconv-h: New file.
9860         * modules/iconv_open (Files): Remove lib/iconv.in.h, m4/iconv_h.m4.
9861         (Depends-on): Add iconv-h. Remove include_next, arg-nonnull.
9862         (configure.ac): Remove gl_ICONV_H.
9863         (Makefile.am): Remove rule for iconv.h.
9864
9865 2010-03-06  Bruno Haible  <bruno@clisp.org>
9866
9867         More consistent naming of *.m4 files.
9868         * m4/wctype_h.m4: Renamed from m4/wctype.m4.
9869         * modules/wctype (Files): Update.
9870
9871         More consistent naming of *.m4 files.
9872         * m4/wchar_h.m4: Renamed from m4/wchar.m4.
9873         * modules/wchar (Files): Update.
9874
9875 2010-03-06  Jim Meyering  <meyering@redhat.com>
9876
9877         euidaccess: relax license to LGPLv2+
9878         * modules/euidaccess (License): Relax to LGPLv2+.
9879
9880 2010-03-06  Bruno Haible  <bruno@clisp.org>
9881
9882         Prefer lib_SOURCES over unconditional AC_LIBOBJ.
9883         * modules/exitfail (configure.ac): Remove AC_LIBOBJ invocation.
9884         (Makefile.am): Augment lib_SOURCES instead.
9885
9886 2010-03-04  Jim Meyering  <meyering@redhat.com>
9887
9888         utime: remove obsolete module
9889         This module, like autoconf's AC_FUNC_UTIME_NULL macro, has been
9890         unnecessary for years, and has been marked as obsolete for 10 months.
9891         * modules/utime: Remove file.
9892         * lib/utime.c: Remove file.
9893         * m4/utime.m4: Remove file.
9894         * m4/utimes-null.m4: Remove file.
9895         * doc/posix-functions/utime.texi (utime): Remove reference to
9896         the module.  Move the sole "fixed by gnulib" item into the
9897         "problems not fixed by Gnulib" list.
9898         * MODULES.html.sh (func_all_modules): Remove reference to "utime".
9899
9900 2010-03-05  Simon Josefsson  <simon@josefsson.org>
9901
9902         * modules/exit (License): Relax license to LGPLv2+.
9903         (Status): Mark as obsolete.
9904         * NEWS: Mention deprecated 'exit' module.
9905         * doc/posix-functions/exit.texi: Recommend 'stdlib' module instead
9906         of now obsolete 'exit'.
9907
9908 2010-03-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9909
9910         fts-lgpl: remove unused module
9911         * modules/fts-lgpl: Remove.
9912         * MODULES.html.sh (func_all_modules): Adjust.
9913         * check-module (find_included_lib_files): Adjust.
9914         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove.
9915
9916 2010-03-02  Ben Walton  <bwalton@artsci.utoronto.ca>  (tiny change)
9917
9918         copy-acl: enhance Solaris ACL error handling
9919         * lib/copy-acl.c (qcopy_acl): Also ignore EOPNOTSUPP.
9920         * lib/set-mode-acl.c (qset_acl): Likewise.
9921
9922 2010-03-02  Bruno Haible  <bruno@clisp.org>
9923
9924         spawn: Don't override the system defined values on FreeBSD 8.
9925         * lib/spawn.in.h (POSIX_SPAWN_RESETIDS, POSIX_SPAWN_SETPGROUP,
9926         POSIX_SPAWN_SETSIGDEF, POSIX_SPAWN_SETSIGMASK,
9927         POSIX_SPAWN_SETSCHEDPARAM, POSIX_SPAWN_SETSCHEDULER): Don't redefine
9928         if HAVE_POSIX_SPAWN is 1.
9929         Reported by Johan van Selst <johans@stack.nl> via Eric Blake.
9930
9931 2010-03-01  Bruno Haible  <bruno@clisp.org>
9932
9933         * doc/gnulib-tool.texi (Initial import): Clarify the requirements
9934         regarding Automake.
9935
9936 2010-02-25  Bruno Haible  <bruno@clisp.org>
9937
9938         Fix breakage of gnulib-tool with ksh, introduced on 2010-02-21.
9939         * gnulib-tool: Define 'echo' as a function only before the ksh alias
9940         setting, not afterwards.
9941         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
9942
9943 2010-02-24  Eric Blake  <eblake@redhat.com>
9944
9945         bootstrap, git-version-gen: use timestamp
9946         * build-aux/git-version-gen (scriptversion): Force UTC.
9947         * build-aux/bootstrap (scriptversion): New variable.
9948
9949         bootstrap: allow older git
9950         * build-aux/bootstrap (GNULIB_SRCDIR): Add fallback if git is
9951         older than 1.6.4.  Requested by the libvirt project.
9952
9953 2010-02-23  Eric Blake  <eblake@redhat.com>
9954
9955         warn-on-use: work with old autoconf
9956         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Accomodate older
9957         AS_VAR semantics of autoconf 2.60.
9958         Reported by Bruno Haible.
9959
9960         bootstrap: improve some comments
9961         * build-aux/bootstrap: Drop unneeded emacs hint.  Add some
9962         clarification comments.
9963
9964         gettimeofday: provide correct function
9965         * lib/gettimeofday.c (gettimeofday): Provide rpl_gettimeofday only
9966         when replacement is declared, otherwise provide gettimeofday.
9967         Reported by Michael Goffioul.
9968
9969 2010-02-23  Jim Meyering  <meyering@redhat.com>
9970
9971         lib-ignore: relax license to "unlimited", not LGPLv2+
9972         * modules/lib-ignore (License): Relax to "unlimited".
9973
9974 2010-02-23  Jim Meyering  <meyering@redhat.com>
9975
9976         lib-ignore: relax license to LGPLv2+
9977         * modules/lib-ignore (License): Relax to LGPLv2+.
9978
9979 2010-02-22  Eric Blake  <eblake@redhat.com>
9980
9981         lseek: avoid bash 3.2 broken pipe bug
9982         * m4/lseek.m4 (gl_FUNC_LSEEK): Drain pipe, to avoid spurious
9983         warning from bash 3.2.
9984         Reported by Ben Pfaff, with analysis from Bruno Haible.
9985
9986         bootstrap: support non-FSF copyright holder
9987         * build-aux/bootstrap (COPYRIGHT_HOLDER, with_gettext): Allow
9988         bootstrap.conf override of COPYRIGHT_HOLDER.
9989         (MSGID_BUGS_ADDRESS): Allow URL rather than email.
9990
9991         bootstrap: interoperate with gettext 0.14.1
9992         * build-aux/bootstrap (slurp): Fix typo when using older gettext.
9993
9994         bootstrap: allow for alternate submodule location
9995         * build-aux/bootstrap (gnulib_path): New variable; use instead of
9996         hardcoding submodule location.
9997         (gnulib_mk): Allow direct use of Makefile.am.
9998
9999         bootstrap: use GNULIB_SRCDIR to reduce disk usage
10000         * build-aux/bootstrap (GNULIB_SRCDIR): If set, use as a reference,
10001         rather than reconfiguring where the submodule points.
10002
10003         gettimeofday: restore support for platforms that lack function
10004         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Also compile
10005         replacement if function is missing.
10006         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS): New witness.
10007         * modules/sys_time (Makefile.am): Substitute it.
10008         * lib/sys_time.in.h (gettimeofday): Check it.
10009         Reported by Michael Goffioul.
10010
10011 2010-02-21  Bruno Haible  <bruno@clisp.org>
10012
10013         * lib/stdio.in.h (obstack_printf): Fix typo.
10014
10015 2010-02-21  Jose E. Marchesi  <jemarch@gnu.org>
10016
10017         vc-list-files: use bzr ls's -R option
10018         * build-aux/vc-list-files: Invoke bazaar to generate a recursive
10019         list of versioned files based on 'dir' (usage of -R in 'bzr ls').
10020
10021 2010-02-21  Jim Meyering  <meyering@redhat.com>
10022
10023         init.sh: fix EXEEXT shims to work also for names like test-prog
10024         * tests/init.sh: Re-exec a better shell, when needed.
10025         If the current shell lacks support for posix $(...), an init.sh-using
10026         test will now try to find a shell that supports that.  If EXEEXT is
10027         nonempty, we also require support for hyphen-in-alias-name and shell
10028         substitutions like ${var#glob}.  Failure to find such a shell results
10029         in a skipped test.
10030
10031 2010-02-21  Bruno Haible  <bruno@clisp.org>
10032
10033         Really work around around "broken pipe" error message from bash 3.2.
10034         * gnulib-tool (func_reset_sigpipe): Remove function.
10035         (echo): In bash 3.2, define to a function that uses printf.
10036         Analyzed by Ralf Wildenhues, Chet Ramey, Ben Pfaff.
10037
10038 2010-02-20  Bruno Haible  <bruno@clisp.org>
10039
10040         Restore support for automake 1.9.6 with autoconf 2.61.
10041         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Ensure MKDIR_P is AC_SUBSTed.
10042         Reported by James Youngman <jay@gnu.org>.
10043
10044 2010-02-20  Bruno Haible  <bruno@clisp.org>
10045
10046         Improve *printf warning condition.
10047         * lib/stdio.in.h (fprintf, printf, vfprintf, vprintf): Emit warning
10048         also if GNULIB_POSIXCHECK is defined, the *-posix module is not used,
10049         and the function is overridden due to SIGPIPE emulation.
10050
10051 2010-02-20  Bruno Haible  <bruno@clisp.org>
10052
10053         * lib/stdio.in.h: Tweak comments.
10054
10055 2010-02-19  Bruno Haible  <bruno@clisp.org>
10056
10057         Make it easier to find modules. New gnulib-tool option '--find'.
10058         * gnulib-tool: New option --find.
10059         (func_usage): Document it.
10060         (func_sanitize_modulelist): New function, extracted from
10061         func_all_modules.
10062         (func_all_modules): Invoke it.
10063         * doc/gnulib-tool.texi (Which modules?): New node.
10064
10065 2010-02-18  Markus Duft <mduft@gentoo.org>  (tiny change)
10066
10067         * lib/sys_select.in.h: Provide select replacement even if
10068         sys/select.h exists on a system, for Interix.
10069
10070 2010-02-18  Jim Meyering  <meyering@redhat.com>
10071
10072         init.sh: don't use $(...) just yet
10073         * tests/init.sh (create_exe_shim_functions_): Use `...`, not $(...),
10074         to accommodate e.g., Solaris' /bin/sh.
10075
10076 2010-02-17  Bruno Haible  <bruno@clisp.org>
10077
10078         * doc/posix-headers/netdb.texi: Mention NetBSD 5.0 problem.
10079         Reported by Ludovic Courtès <ludo@gnu.org>.
10080
10081 2010-02-16  Simon Josefsson  <simon@josefsson.org>
10082
10083         * modules/userspec-tests (test_userspec_LDADD): Add variable, for
10084         linking with -lintl.
10085
10086 2010-02-17  Simon Josefsson  <simon@josefsson.org>
10087
10088         * lib/netdb.in.h (AI_V4MAPPED, AI_ALL, AI_ADDRCONFIG): Define to 0
10089         if not provided by the system's netdb.h.  Reported by
10090         ludo@gnu.org (Ludovic Courtès).
10091
10092 2010-02-15  Jim Meyering  <meyering@redhat.com>
10093
10094         init.sh: improve portability and efficiency
10095         * tests/init.sh (find_exe_basenames_): Remove unnecessary use of
10096         "dummy" in a for loop.
10097         Use '!', not '^' to select the complement of a character set used
10098         in a "case" statement.
10099         Use shell variable manipulation, a la ${...%.exe}, rather than sed.
10100         Suggestions from Eric Blake.
10101
10102         init.sh: automatically accommodate programs with the .exe suffix
10103         Automatically arrange for an invocation of "prog" to execute the
10104         program named "prog$EXEEXT" (usually prog.exe).  Thus, all invocations
10105         may use the simpler "prog", yet still work when built on a system
10106         that requires specifying the added suffix.
10107         Do this by constructing a function named "prog" that invokes
10108         "prog.exe" for each .exe file in selected directories.
10109         * tests/init.sh (find_exe_basenames_): New function.
10110         (create_exe_shim_functions_): New function.
10111         (path_prepend_): Use it.
10112
10113         maint.mk: mark syntax-check sc_*.m rules as .PHONY
10114         * top/maint.mk ($(syntax-check-rules)): Add .PHONY, so that
10115         "make -t syntax-check" doesn't create a ton of sc_*.m files.
10116
10117 2010-02-14  Jim Meyering  <meyering@redhat.com>
10118
10119         maint.mk: prohibit inclusion of "hash-pjw.h" without_use
10120         * top/maint.mk (sc_prohibit_hash_without_use): Re-add "@".
10121         (sc_prohibit_hash_pjw_without_use): New rule.
10122
10123         maint.mk: allow the default upload destination dir to be overridden
10124         * top/maint.mk (upload_dest_dir_): Define with a default that
10125         preserves the status quo.
10126         (emit_upload_commands): Use it, rather than hard-coding $(PACKAGE).
10127         Reported by Peter Simons.
10128
10129         maint.mk: prohibit inclusion of "hash.h" without_use
10130         * top/maint.mk (sc_prohibit_hash_without_use): New rule.
10131
10132 2010-02-10  Jim Meyering  <meyering@redhat.com>
10133
10134         maint.mk: prohibit inclusion of "ignore-value.h" without_use
10135         * top/maint.mk (sc_prohibit_ignore_value_without_use): New rule.
10136
10137 2010-02-09  Eric Blake  <ebb9@byu.net>
10138         and Bruno Haible  <bruno@clisp.org>
10139
10140         obstack-printf-posix: ensure declaration
10141         * m4/obstack-printf.m4 (gl_DECL_OBSTACK_PRINTF): New macro,
10142         extracted from gl_FUNC_OBSTACK_PRINTF.
10143         (gl_FUNC_OBSTACK_PRINTF): Invoke it.
10144         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
10145         Likewise.
10146         * lib/stdio.in.h (obstack_printf, obstack_vprintf): Declare also
10147         if GNULIB_OBSTACK_PRINTF_POSIX is 1 and GNULIB_OBSTACK_PRINTF is
10148         0.
10149
10150 2010-02-08  Bruno Haible  <bruno@clisp.org>
10151
10152         gnulib-tool: Fix typo in 2010-02-07 commit.
10153         * gnulib-tool (func_get_dependencies): Fix typo in last commit.
10154         Reported by Eric Blake.
10155
10156 2010-02-07  Bruno Haible  <bruno@clisp.org>
10157
10158         gnulib-tool: Fix up caching patches.
10159         * gnulib-tool: New options --cache-modules, --no-cache-modules. Remove
10160         option --no-cache. Use associative arrays when supported by the shell.
10161         (sed_comments): New variable.
10162         (modcache): Renamed from do_cache.
10163         (sed_extract_field_header): Renamed from sed_extract_cache_prog. Don't
10164         abbreviate unnecessarily.
10165         (have_associative): New variable.
10166         (func_cache_var): Define correctly for bash 1.x. Define in an optimized
10167         way also for ksh and zsh.
10168         (func_init_sed_convert_to_cache_statements): New function, extracted
10169         from func_cache_lookup_module. Add support for associative arrays.
10170         Don't set the c_MODULE_cached variable here. Ignore all lines before
10171         the first field header. Remove only the final newline, not all trailing
10172         newlines. Support empty fields correctly. Limit the use of 'eval' to
10173         assignments.
10174         (func_get_description, func_get_status, func_get_notice,
10175         func_get_applicability, func_get_filelist, func_get_dependencies,
10176         func_get_autoconf_early_snippet, func_get_autoconf_snippet,
10177         func_get_automake_snippet, func_get_include_directive,
10178         func_get_link_directive, func_get_license, func_get_maintainer):
10179         Update documentation. List the unoptimized code first. Add support for
10180         associative arrays. Limit the use of 'eval' to assignments.
10181         (func_get_applicability): Undo stylistic pessimisations.
10182         (func_get_automake_snippet, func_get_include_directive): Reduce code
10183         duplication.
10184         (func_modules_transitive_closure, func_modules_add_dummy,
10185         func_modules_notice, func_modules_to_filelist, func_add_file,
10186         func_update_file, func_emit_lib_Makefile_am, func_emit_po_Makevars,
10187         func_emit_po_POTFILES_in, func_emit_tests_Makefile_am, func_import,
10188         func_create_testdir, func_create_megatestdir): Update documentation.
10189
10190 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
10191
10192         * gnulib-tool (func_cache_lookup_module): Store the module name
10193         belonging to the cache variable; error out if two different
10194         module names map to the same cache variable name.
10195
10196 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
10197
10198         gnulib-tool: Make caching optional.
10199         * gnulib-tool: Accept option --no-cache, turning off $do_cache.
10200         Update matching short versions of --no-changelog.
10201         (func_usage): Update.
10202         (sed_extract_cache_prog): Renamed from ...
10203         (sed_extract_prog): ... this; revert to old extraction script.
10204         (func_get_description, func_get_status)
10205         (func_get_notice, func_get_applicability, func_get_filelist)
10206         (func_get_dependencies, func_get_autoconf_early_snippet)
10207         (func_get_autoconf_snippet, func_get_automake_snippet)
10208         (func_get_include_directive, func_get_link_directive)
10209         (func_get_license, func_get_maintainer): If $do_cache is false,
10210         use old, non-caching extraction scripts.
10211         Suggestion by Bruno Haible.
10212
10213 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
10214
10215         gnulib-tool: cache module metainformation.
10216         * gnulib-tool (sed_extract_prog): Match newline before each
10217         header, and rewrite header to a shell variable suffix.
10218         (func_cache_var, func_cache_lookup_module): New functions,
10219         to turn a module name into a cache variable prefix, and to
10220         look up and cache module metainformation.
10221         (func_get_description, func_get_status)
10222         (func_get_notice, func_get_applicability, func_get_filelist)
10223         (func_get_dependencies, func_get_autoconf_early_snippet)
10224         (func_get_autoconf_snippet, func_get_automake_snippet)
10225         (func_get_include_directive, func_get_link_directive)
10226         (func_get_license, func_get_maintainer): Use
10227         func_cache_lookup_module.
10228
10229 2010-02-07  Bruno Haible  <bruno@clisp.org>
10230
10231         fnctl: Fix missing dependency.
10232         * modules/fcntl (Depends-on): Add getdtablesize.
10233         Reported by John W. Eaton <jwe@gnu.org>.
10234
10235 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
10236
10237         Argp: fix recognition of short alias options.
10238
10239         * lib/argp-parse.c (convert_options): Fix improper use of
10240         `|' between character values.
10241         * tests/test-argp.c (group1_option): New alias option
10242         --read (-r).
10243         (group1_parser): Special handling for 'r'.
10244         (test15): New test case.
10245         (test_fun): Add test15.
10246         * tests/test-argp-2.sh: Update expected --help and --usage
10247         outputs.
10248
10249 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
10250
10251         * tests/test-argp.c: Fix indentation.
10252
10253 2010-02-04  Eric Blake  <ebb9@byu.net>
10254
10255         gettimeofday: expose type of second argument
10256         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Do better detection
10257         of glibc extension signature, and define GETTIMEOFDAY_TIMEZONE.
10258         * tests/test-gettimeofday.c: Use it to silence warning.
10259         * doc/posix-functions/gettimeofday.texi (gettimeofday): Document
10260         the issue.
10261
10262 2010-02-03  Jim Meyering  <meyering@redhat.com>
10263
10264         regcomp.c: avoid the sole warning from gcc's -Wtype-limits
10265         * lib/regcomp.c (TYPE_SIGNED): Define.
10266         (parse_dup_op): Use it to avoid the sole warning from -Wtype-limits.
10267
10268         regcomp.c: avoid a new -Wshadow warning
10269         * lib/regcomp.c (create_initial_state): Do not shadow local "err".
10270
10271 2010-02-01  Jim Meyering  <meyering@redhat.com>
10272
10273         removing useless parentheses in cpp #define directives
10274         For motivation, see commit c0221df4, "define STREQ(a,b)
10275         consistently, removing useless parentheses"
10276         * lib/memcmp.c (CMP_LT_OR_GT): Remove useless parentheses.
10277         * lib/mountlist.c (MNT_IGNORE): Likewise.
10278         * lib/trim.h (trim, trim_trailing, trim_leading): Likewise.
10279
10280 2010-02-01  Eric Blake  <ebb9@byu.net>
10281
10282         sys_time: use link-warning
10283         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Split defaults...
10284         (gl_HEADER_SYS_TIME_H_DEFAULTS): ...into new macro.
10285         (gl_SYS_TIME_MODULE_INDICATOR): New macro.
10286         * modules/sys_time (Depends-on): Add warn-on-use.
10287         (Makefile.am): Always build replacement.
10288         (configure.ac): Update substitutions.
10289         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY)
10290         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Include defaults, and no longer
10291         bother with SYS_TIME_H.
10292         * modules/gettimeofday (configure.ac): Declare indicator.
10293         * lib/sys_time.in.h (gettimeofday): Warn if gnulib module is not
10294         in use.
10295
10296         closein-tests: silence compiler warning
10297         * tests/test-closein.c (main): Ignore fread result.
10298         * modules/closein-tests (Depends-on): Add ignore-value.
10299
10300         tests: silence warning about system return
10301         * tests/test-areadlink-with-size.c (main): Ignore system result.
10302         * tests/test-areadlink.c (main): Likewise.
10303         * tests/test-areadlinkat-with-size.c (main): Likewise.
10304         * tests/test-areadlinkat.c (main): Likewise.
10305         * tests/test-canonicalize-lgpl.c (main): Likewise.
10306         * tests/test-canonicalize.c (main): Likewise.
10307         * tests/test-chown.c (main): Likewise.
10308         * tests/test-fchownat.c (main): Likewise.
10309         * tests/test-fdutimensat.c (main): Likewise.
10310         * tests/test-fstatat.c (main): Likewise.
10311         * tests/test-futimens.c (main): Likewise.
10312         * tests/test-lchown.c (main): Likewise.
10313         * tests/test-link.c (main): Likewise.
10314         * tests/test-linkat.c (main): Likewise.
10315         * tests/test-lstat.c (main): Likewise.
10316         * tests/test-mkdir.c (main): Likewise.
10317         * tests/test-mkdirat.c (main): Likewise.
10318         * tests/test-mkfifo.c (main): Likewise.
10319         * tests/test-mkfifoat.c (main): Likewise.
10320         * tests/test-mknod.c (main): Likewise.
10321         * tests/test-readlink.c (main): Likewise.
10322         * tests/test-remove.c (main): Likewise.
10323         * tests/test-rename.c (main): Likewise.
10324         * tests/test-renameat.c (main): Likewise.
10325         * tests/test-rmdir.c (main): Likewise.
10326         * tests/test-symlink.c (main): Likewise.
10327         * tests/test-symlinkat.c (main): Likewise.
10328         * tests/test-unlink.c (main): Likewise.
10329         * tests/test-unlinkat.c (main): Likewise.
10330         * tests/test-utimens.c (main): Likewise.
10331         * tests/test-utimensat.c (main): Likewise.
10332         * modules/areadlink-tests (Depends-on): Add ignore-value.
10333         * modules/areadlink-with-size-tests (Depends-on): Likewise.
10334         * modules/areadlinkat-tests (Depends-on): Likewise.
10335         * modules/areadlinkat-with-size-tests (Depends-on): Likewise.
10336         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
10337         * modules/canonicalize-tests (Depends-on): Likewise.
10338         * modules/chown-tests (Depends-on): Likewise.
10339         * modules/fdutimensat-tests (Depends-on): Likewise.
10340         * modules/futimens-tests (Depends-on): Likewise.
10341         * modules/lchown-tests (Depends-on): Likewise.
10342         * modules/link-tests (Depends-on): Likewise.
10343         * modules/linkat-tests (Depends-on): Likewise.
10344         * modules/lstat-tests (Depends-on): Likewise.
10345         * modules/mkdir-tests (Depends-on): Likewise.
10346         * modules/mkfifo-tests (Depends-on): Likewise.
10347         * modules/mkfifoat-tests (Depends-on): Likewise.
10348         * modules/mknod-tests (Depends-on): Likewise.
10349         * modules/openat-tests (Depends-on): Likewise.
10350         * modules/readlink-tests (Depends-on): Likewise.
10351         * modules/remove-tests (Depends-on): Likewise.
10352         * modules/rename-tests (Depends-on): Likewise.
10353         * modules/renameat-tests (Depends-on): Likewise.
10354         * modules/rmdir-tests (Depends-on): Likewise.
10355         * modules/symlink-tests (Depends-on): Likewise.
10356         * modules/symlinkat-tests (Depends-on): Likewise.
10357         * modules/unlink-tests (Depends-on): Likewise.
10358         * modules/utimens-tests (Depends-on): Likewise.
10359         * modules/utimensat-tests (Depends-on): Likewise.
10360
10361 2010-01-31  Bruno Haible  <bruno@clisp.org>
10362
10363         Perform the same test for many <math.h> functions.
10364         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC,
10365         gl_COMMON_DOUBLE_MATHFUNC_TEST): New macros.
10366         * m4/sqrt.m4 (gl_FUNC_SQRT): Invoke gl_COMMON_DOUBLE_MATHFUNC instead
10367         of gl_MATHFUNC.
10368         * modules/acos (configure.ac): Likewise.
10369         * modules/asin (configure.ac): Likewise.
10370         * modules/atan (configure.ac): Likewise.
10371         * modules/atan2 (configure.ac): Likewise.
10372         * modules/cbrt (configure.ac): Likewise.
10373         * modules/copysign (configure.ac): Likewise.
10374         * modules/cos (configure.ac): Likewise.
10375         * modules/cosh (configure.ac): Likewise.
10376         * modules/erf (configure.ac): Likewise.
10377         * modules/erfc (configure.ac): Likewise.
10378         * modules/exp (configure.ac): Likewise.
10379         * modules/fmod (configure.ac): Likewise.
10380         * modules/hypot (configure.ac): Likewise.
10381         * modules/j0 (configure.ac): Likewise.
10382         * modules/j1 (configure.ac): Likewise.
10383         * modules/jn (configure.ac): Likewise.
10384         * modules/lgamma (configure.ac): Likewise.
10385         * modules/log (configure.ac): Likewise.
10386         * modules/log10 (configure.ac): Likewise.
10387         * modules/log1p (configure.ac): Likewise.
10388         * modules/pow (configure.ac): Likewise.
10389         * modules/remainder (configure.ac): Likewise.
10390         * modules/sin (configure.ac): Likewise.
10391         * modules/sinh (configure.ac): Likewise.
10392         * modules/tan (configure.ac): Likewise.
10393         * modules/tanh (configure.ac): Likewise.
10394         * modules/y0 (configure.ac): Likewise.
10395         * modules/y1 (configure.ac): Likewise.
10396         * modules/yn (configure.ac): Likewise.
10397         Suggested by Paolo Bonzini.
10398
10399 2010-01-31  Bruno Haible  <bruno@clisp.org>
10400
10401         * m4/getline.m4 (gl_FUNC_GETLINE): Add comment about REPLACE_GETLINE.
10402
10403 2010-01-31  Bruno Haible  <bruno@clisp.org>
10404
10405         Work around getdelim() bug on FreeBSD 8.0.
10406         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Test whether getdelim supports an
10407         initially NULL line. Set REPLACE_GETDELIM if getdelim exists but does
10408         not work.
10409         * lib/stdio.in.h (getdelim): Define as an alias if REPLACE_GETDELIM
10410         is 1.
10411         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize REPLACE_GETDELIM.
10412         * modules/stdio (Makefile.am): Also substitute REPLACE_GETDELIM.
10413         * tests/test-getdelim.c (main): Also test result for a NULL buffer and
10414         a non-zero size.
10415         * doc/posix-functions/getdelim.texi: Mention the FreeBSD bug.
10416
10417 2010-01-31  Bruno Haible  <bruno@clisp.org>
10418
10419         Work around getline() bug on FreeBSD 8.0.
10420         * m4/getline.m4 (gl_FUNC_GETLINE): Also test result for a NULL buffer
10421         and a non-zero size.
10422         * tests/test-getline.c (main): Likewise.
10423         * doc/posix-functions/getline.texi: Mention the FreeBSD bug.
10424         Reported by Dennis <noordsij@cs.helsinki.fi> via Eric Blake.
10425
10426 2010-01-28  Eric Blake  <ebb9@byu.net>
10427
10428         regex: fix build failure
10429         * lib/regex_internal.h (__GNUC_PREREQ): Define for non-glibc
10430         platforms.
10431
10432 2010-01-28  Jim Meyering  <meyering@redhat.com>
10433
10434         regex: do not ignore memory allocation failure
10435         * lib/regex_internal.c (create_cd_newstate): Detect
10436         re_node_set_init_copy failure.   Extracted from glibc commit
10437         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
10438
10439         regex: sync more white-space changes from libc
10440         * lib/regex_internal.c: White-space only changes.
10441         * lib/regexec.c: Likewise.
10442
10443         regex: add many uses of __attribute_warn_unused_result__
10444         * lib/regex_internal.c: Use __attribute_warn_unused_result__.
10445         * lib/regexec.c: Likewise.
10446         Extracted from a messy glibc commit.
10447
10448         regcomp.c: spelling and merge-artifact from glibc
10449         * lib/regcomp.c: Merge remainder of glibc's
10450         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
10451
10452         regcomp.c: sync white-space changes from glibc
10453         * lib/regcomp.c: Merge to accommodate white space
10454         changes from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
10455
10456         regcomp.c: do not ignore internal return values
10457         * lib/regcomp.c: Do not ignore internal return values.
10458         This is from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c,
10459         but without its white-space changes and spelling fixes.
10460
10461         regex_internal.h: define __attribute_warn_unused_result__
10462         * lib/regex_internal.h (__attribute_warn_unused_result__): Define.
10463
10464         maint: add a syntax-check rule to check for vulnerable Makefile.in
10465         * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): New rule.
10466
10467 2010-01-27  Jim Meyering  <meyering@redhat.com>
10468
10469         ncftpput-ftp: clean up spaces
10470         * build-aux/ncftpput-ftp: Make Copyright line consistent.
10471         Remove trailing blanks.
10472
10473 2010-01-27  Simon Josefsson  <simon@josefsson.org>
10474
10475         * build-aux/git-version-gen: Fix copyright statement.
10476         * build-aux/gnupload: Likewise.
10477         * tests/test-arcfour.c: Likewise.
10478         * tests/test-arctwo.c: Likewise.
10479         * tests/test-count-one-bits.c: Likewise.
10480         * tests/test-crc.c: Likewise.
10481         * tests/test-des.c: Likewise.
10482         * tests/test-gc-arcfour.c: Likewise.
10483         * tests/test-gc-arctwo.c: Likewise.
10484         * tests/test-gc-des.c: Likewise.
10485         * tests/test-gc-hmac-md5.c: Likewise.
10486         * tests/test-gc-hmac-sha1.c: Likewise.
10487         * tests/test-gc-md2.c: Likewise.
10488         * tests/test-gc-md4.c: Likewise.
10489         * tests/test-gc-md5.c: Likewise.
10490         * tests/test-gc-pbkdf2-sha1.c: Likewise.
10491         * tests/test-gc-rijndael.c: Likewise.
10492         * tests/test-gc-sha1.c: Likewise.
10493         * tests/test-gc.c: Likewise.
10494         * tests/test-gethostname.c: Likewise.
10495         * tests/test-gettimeofday.c: Likewise.
10496         * tests/test-hash.c: Likewise.
10497         * tests/test-hmac-md5.c: Likewise.
10498         * tests/test-hmac-sha1.c: Likewise.
10499         * tests/test-md2.c: Likewise.
10500         * tests/test-md4.c: Likewise.
10501         * tests/test-md5.c: Likewise.
10502         * tests/test-memchr.c: Likewise.
10503         * tests/test-memchr2.c: Likewise.
10504         * tests/test-memcmp.c: Likewise.
10505         * tests/test-memmem.c: Likewise.
10506         * tests/test-memrchr.c: Likewise.
10507         * tests/test-rawmemchr.c: Likewise.
10508         * tests/test-read-file.c: Likewise.
10509         * tests/test-rijndael.c: Likewise.
10510         * tests/test-sockets.c: Likewise.
10511         * tests/test-strchrnul.c: Likewise.
10512         * tests/test-strstr.c: Likewise.
10513         * tests/test-strtod.c: Likewise.
10514         * build-aux/ncftpput-ftp: Likewise.
10515
10516 2010-01-26  Eric Blake  <ebb9@byu.net>
10517
10518         ignore-value: update recommended header name
10519         * modules/ignore-value (Include): Only use <> for headers that
10520         exist in glibc.
10521
10522 2010-01-26  Jim Meyering  <meyering@redhat.com>
10523
10524         test-userspec.c: avoid compiler warnings
10525         * tests/test-userspec.c (main): Avoid shadowing ("uid"),
10526         and "initialization discards qualifiers..." warnings.
10527         Put the first "uid" in its own scope, and make char* members "const".
10528
10529 2010-01-25  Bruno Haible  <bruno@clisp.org>
10530
10531         gnulib-tool: Make warning diagnostics consistent.
10532         * gnulib-tool (func_warning): New function.
10533         Use it everywhere where gnulib-tool produces output to stderr and it is
10534         not a fatal error.
10535
10536 2010-01-25  Bruno Haible  <bruno@clisp.org>
10537
10538         Fix test dependencies.
10539         * modules/xstrtol-tests (Depends-on): Add inttypes.
10540         * modules/xstrtoll-tests (Depends-on): Likewise. Remove xstrtoll.
10541
10542 2010-01-25 Pádraig Brady <P@draigBrady.com>
10543
10544         syntax-check: detect incorrect boolean macro values in config.h
10545         * modules/maintainer-makefile (configure.ac): Parameterize the location
10546         of config.h which will be available to makefiles as $(CONFIG_INCLUDE).
10547         The logic is from Eric Blake and the location indicated by Jim Meyering.
10548         Note the more natural CONFIG_HEADER name is prohibited by automake
10549         for backwards compatibility reasons.
10550         * top/maint.mk (sc_Wundef_boolean): New rule.
10551
10552 2010-01-25  Jim Meyering  <meyering@redhat.com>
10553
10554         bootstrap: detect MacOS 10.6's shasum, too
10555         * build-aux/bootstrap: Also recognize MacOS 10.6's shasum.
10556         Suggested by Thomas Treichl <Thomas.Treichl@gmx.net>.
10557
10558 2010-01-23  Jim Meyering  <meyering@redhat.com>
10559
10560         xstrtoll: new module
10561         * modules/xstrtoll: New file.
10562         * MODULES.html.sh (Numeric conversion functions): Add xstrtoll.
10563         * lib/xstrtol.h [HAVE_LONG_LONG_INT]: Declare xstrtoll and xstrtoull.
10564         * lib/xstrtoll.c, lib/xstrtoull.c: New files.
10565         ./configure fails if you use this module and lack "long long".
10566         * modules/xstrtoll-tests: New module.
10567         * tests/test-xstrtoll.c, tests/test-xstrtoull.c: New files.
10568         * tests/test-xstrtoll.sh: Like test-xstrtol.c, but use the
10569         new init.sh-based test framework.
10570
10571 2010-01-24  Bruno Haible  <bruno@clisp.org>
10572
10573         Tests for module 'yn'.
10574         * modules/yn-tests: New file.
10575         * tests/test-yn.c: New file.
10576
10577         Tests for module 'y1'.
10578         * modules/y1-tests: New file.
10579         * tests/test-y1.c: New file.
10580
10581         Tests for module 'y0'.
10582         * modules/y0-tests: New file.
10583         * tests/test-y0.c: New file.
10584
10585         Tests for module 'tanh'.
10586         * modules/tanh-tests: New file.
10587         * tests/test-tanh.c: New file.
10588
10589         Tests for module 'tan'.
10590         * modules/tan-tests: New file.
10591         * tests/test-tan.c: New file.
10592
10593         Tests for module 'sqrt'.
10594         * modules/sqrt-tests: New file.
10595         * tests/test-sqrt.c: New file.
10596
10597         Tests for module 'sinh'.
10598         * modules/sinh-tests: New file.
10599         * tests/test-sinh.c: New file.
10600
10601         Tests for module 'sin'.
10602         * modules/sin-tests: New file.
10603         * tests/test-sin.c: New file.
10604
10605         Tests for module 'rint'.
10606         * modules/rint-tests: New file.
10607         * tests/test-rint.c: New file.
10608
10609         Tests for module 'remainder'.
10610         * modules/remainder-tests: New file.
10611         * tests/test-remainder.c: New file.
10612
10613         Tests for module 'pow'.
10614         * modules/pow-tests: New file.
10615         * tests/test-pow.c: New file.
10616
10617         Tests for module 'nextafter'.
10618         * modules/nextafter-tests: New file.
10619         * tests/test-nextafter.c: New file.
10620
10621         Tests for module 'modf'.
10622         * modules/modf-tests: New file.
10623         * tests/test-modf.c: New file.
10624
10625         Tests for module 'logb'.
10626         * modules/logb-tests: New file.
10627         * tests/test-logb.c: New file.
10628
10629         Tests for module 'log1p'.
10630         * modules/log1p-tests: New file.
10631         * tests/test-log1p.c: New file.
10632
10633         Tests for module 'log10'.
10634         * modules/log10-tests: New file.
10635         * tests/test-log10.c: New file.
10636
10637         Tests for module 'log'.
10638         * modules/log-tests: New file.
10639         * tests/test-log.c: New file.
10640
10641         Tests for module 'lgamma'.
10642         * modules/lgamma-tests: New file.
10643         * tests/test-lgamma.c: New file.
10644
10645         Tests for module 'ldexp'.
10646         * modules/ldexp-tests: New file.
10647         * tests/test-ldexp.c: New file.
10648
10649         Tests for module 'jn'.
10650         * modules/jn-tests: New file.
10651         * tests/test-jn.c: New file.
10652
10653         Tests for module 'j1'.
10654         * modules/j1-tests: New file.
10655         * tests/test-j1.c: New file.
10656
10657         Tests for module 'j0'.
10658         * modules/j0-tests: New file.
10659         * tests/test-j0.c: New file.
10660
10661         Tests for module 'hypot'.
10662         * modules/hypot-tests: New file.
10663         * tests/test-hypot.c: New file.
10664
10665         Tests for module 'fmod'.
10666         * modules/fmod-tests: New file.
10667         * tests/test-fmod.c: New file.
10668
10669         Tests for module 'fabs'.
10670         * modules/fabs-tests: New file.
10671         * tests/test-fabs.c: New file.
10672
10673         Tests for module 'exp'.
10674         * modules/exp-tests: New file.
10675         * tests/test-exp.c: New file.
10676
10677         Tests for module 'erfc'.
10678         * modules/erfc-tests: New file.
10679         * tests/test-erfc.c: New file.
10680
10681         Tests for module 'erf'.
10682         * modules/erf-tests: New file.
10683         * tests/test-erf.c: New file.
10684
10685         Tests for module 'cosh'.
10686         * modules/cosh-tests: New file.
10687         * tests/test-cosh.c: New file.
10688
10689         Tests for module 'cos'.
10690         * modules/cos-tests: New file.
10691         * tests/test-cos.c: New file.
10692
10693         Tests for module 'copysign'.
10694         * modules/copysign-tests: New file.
10695         * tests/test-copysign.c: New file.
10696
10697         Tests for module 'cbrt'.
10698         * modules/cbrt-tests: New file.
10699         * tests/test-cbrt.c: New file.
10700
10701         Tests for module 'atan2'.
10702         * modules/atan2-tests: New file.
10703         * tests/test-atan2.c: New file.
10704
10705         Tests for module 'atan'.
10706         * modules/atan-tests: New file.
10707         * tests/test-atan.c: New file.
10708
10709         Tests for module 'asin'.
10710         * modules/asin-tests: New file.
10711         * tests/test-asin.c: New file.
10712
10713         Tests for module 'acos'.
10714         * modules/acos-tests: New file.
10715         * tests/test-acos.c: New file.
10716
10717 2010-01-24  Bruno Haible  <bruno@clisp.org>
10718
10719         Fix tests for common <math.h> functions.
10720         * m4/mathfunc.m4 (gl_MATHFUNC): Take two additional parameters. Use a
10721         code snippet that references the function pointer, rather than merely
10722         calling the function. Substitute the FUNC_LIBM variable.
10723         * m4/sqrt.m4 (gl_FUNC_SQRT): Update gl_MATHFUNC invocation.
10724         * modules/acos (configure.ac): Likewise.
10725         * modules/asin (configure.ac): Likewise.
10726         * modules/atan (configure.ac): Likewise.
10727         * modules/atan2 (configure.ac): Likewise.
10728         * modules/cbrt (configure.ac): Likewise.
10729         * modules/copysign (configure.ac): Likewise.
10730         * modules/cos (configure.ac): Likewise.
10731         * modules/cosh (configure.ac): Likewise.
10732         * modules/erf (configure.ac): Likewise.
10733         * modules/erfc (configure.ac): Likewise.
10734         * modules/exp (configure.ac): Likewise.
10735         * modules/fabs (configure.ac): Likewise.
10736         * modules/fmod (configure.ac): Likewise.
10737         * modules/hypot (configure.ac): Likewise.
10738         * modules/j0 (configure.ac): Likewise.
10739         * modules/j1 (configure.ac): Likewise.
10740         * modules/jn (configure.ac): Likewise.
10741         * modules/ldexp (configure.ac): Likewise.
10742         * modules/lgamma (configure.ac): Likewise.
10743         * modules/log (configure.ac): Likewise.
10744         * modules/log10 (configure.ac): Likewise.
10745         * modules/log1p (configure.ac): Likewise.
10746         * modules/logb (configure.ac): Likewise.
10747         * modules/modf (configure.ac): Likewise.
10748         * modules/nextafter (configure.ac): Likewise.
10749         * modules/pow (configure.ac): Likewise.
10750         * modules/remainder (configure.ac): Likewise.
10751         * modules/rint (configure.ac): Likewise.
10752         * modules/sin (configure.ac): Likewise.
10753         * modules/sinh (configure.ac): Likewise.
10754         * modules/tan (configure.ac): Likewise.
10755         * modules/tanh (configure.ac): Likewise.
10756         * modules/y0 (configure.ac): Likewise.
10757         * modules/y1 (configure.ac): Likewise.
10758         * modules/yn (configure.ac): Likewise.
10759
10760 2010-01-24  Bruno Haible  <bruno@clisp.org>
10761
10762         Tests: Defeat inlining of math functions by GCC >= 4.3.0.
10763         * tests/test-acosl.c (x): New variable.
10764         (main): Store argument in x and fetch it from x.
10765         * tests/test-asinl.c (x): New variable.
10766         (main): Store argument in x and fetch it from x.
10767         * tests/test-atanl.c (x): New variable.
10768         (main): Store argument in x and fetch it from x.
10769         * tests/test-cosl.c (x): New variable.
10770         (main): Store argument in x and fetch it from x.
10771         * tests/test-expl.c (x): New variable.
10772         (main): Store argument in x and fetch it from x.
10773         * tests/test-logl.c (x): New variable.
10774         (main): Store argument in x and fetch it from x.
10775         * tests/test-sinl.c (x): New variable.
10776         (main): Store argument in x and fetch it from x.
10777         * tests/test-sqrtl.c (x): New variable.
10778         (main): Store argument in x and fetch it from x.
10779         * tests/test-tanl.c (x): New variable.
10780         (main): Store argument in x and fetch it from x.
10781
10782 2010-01-24  Bruno Haible  <bruno@clisp.org>
10783
10784         Provide EXEEXT and srcdir in TESTS_ENVIRONMENT by default.
10785         * gnulib-tool (func_emit_tests_Makefile_am): Add EXEEXT and srcdir
10786         assignments to the initial TESTS_ENVIRONMENT.
10787         * doc/gnulib.texi (Unit test modules): Document it.
10788         * modules/acl-tests (Makefile.am): Drop EXEEXT assignment from
10789         TESTS_ENVIRONMENT.
10790         * modules/btowc-tests (Makefile.am): Likewise.
10791         * modules/c-stack-tests (Makefile.am): Likewise.
10792         * modules/c-strcase-tests (Makefile.am): Likewise.
10793         * modules/copy-file-tests (Makefile.am): Likewise.
10794         * modules/mbmemcasecmp-tests (Makefile.am): Likewise.
10795         * modules/mbmemcasecoll-tests (Makefile.am): Likewise.
10796         * modules/mbrtowc-tests (Makefile.am): Likewise.
10797         * modules/mbscasecmp-tests (Makefile.am): Likewise.
10798         * modules/mbscasestr-tests (Makefile.am): Likewise.
10799         * modules/mbschr-tests (Makefile.am): Likewise.
10800         * modules/mbscspn-tests (Makefile.am): Likewise.
10801         * modules/mbsinit-tests (Makefile.am): Likewise.
10802         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
10803         * modules/mbsnrtowcs-tests (Makefile.am): Likewise.
10804         * modules/mbspbrk-tests (Makefile.am): Likewise.
10805         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
10806         * modules/mbsrchr-tests (Makefile.am): Likewise.
10807         * modules/mbsrtowcs-tests (Makefile.am): Likewise.
10808         * modules/mbsspn-tests (Makefile.am): Likewise.
10809         * modules/mbsstr-tests (Makefile.am): Likewise.
10810         * modules/nl_langinfo-tests (Makefile.am): Likewise.
10811         * modules/unicase/locale-language-tests (Makefile.am): Likewise.
10812         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
10813         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
10814         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
10815         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
10816         * modules/uniwbrk/ulc-wordbreaks-tests (Makefile.am): Likewise.
10817         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
10818         * modules/wcrtomb-tests (Makefile.am): Likewise.
10819         * modules/wcsnrtombs-tests (Makefile.am): Likewise.
10820         * modules/wcsrtombs-tests (Makefile.am): Likewise.
10821         * modules/quotearg-tests (Makefile.am): Drop EXEEXT and srcdir
10822         assignments from TESTS_ENVIRONMENT.
10823         * modules/argp-tests (Makefile.am): Drop TESTS_ENVIRONMENT
10824         augmentation.
10825         * modules/argp-version-etc-tests (Makefile.am): Likewise.
10826         * modules/atexit-tests (Makefile.am): Likewise.
10827         * modules/binary-io-tests (Makefile.am): Likewise.
10828         * modules/closein-tests (Makefile.am): Likewise.
10829         * modules/dprintf-posix-tests (Makefile.am): Likewise.
10830         * modules/exclude-tests (Makefile.am): Likewise.
10831         * modules/fflush-tests (Makefile.am): Likewise.
10832         * modules/fpending-tests (Makefile.am): Likewise.
10833         * modules/fprintf-posix-tests (Makefile.am): Likewise.
10834         * modules/freadahead-tests (Makefile.am): Likewise.
10835         * modules/freadptr-tests (Makefile.am): Likewise.
10836         * modules/freadseek-tests (Makefile.am): Likewise.
10837         * modules/fseek-tests (Makefile.am): Likewise.
10838         * modules/fseeko-tests (Makefile.am): Likewise.
10839         * modules/ftell-tests (Makefile.am): Likewise.
10840         * modules/ftello-tests (Makefile.am): Likewise.
10841         * modules/idpriv-drop-tests (Makefile.am): Likewise.
10842         * modules/idpriv-droptemp-tests (Makefile.am): Likewise.
10843         * modules/lseek-tests (Makefile.am): Likewise.
10844         * modules/parse-duration-tests (Makefile.am): Likewise.
10845         * modules/perror-tests (Makefile.am): Likewise.
10846         * modules/pipe-filter-gi-tests (Makefile.am): Likewise.
10847         * modules/pipe-filter-ii-tests (Makefile.am): Likewise.
10848         * modules/pipe-tests (Makefile.am): Likewise.
10849         * modules/pread-tests (Makefile.am): Likewise.
10850         * modules/printf-posix-tests (Makefile.am): Likewise.
10851         * modules/select-tests (Makefile.am): Likewise.
10852         * modules/sigpipe-tests (Makefile.am): Likewise.
10853         * modules/tsearch-tests (Makefile.am): Likewise.
10854         * modules/unicase/ulc-casecmp-tests (Makefile.am): Likewise.
10855         * modules/unicase/ulc-casecoll-tests (Makefile.am): Likewise.
10856         * modules/uniname/uniname-tests (Makefile.am): Likewise.
10857         * modules/uniwidth/width-tests (Makefile.am): Likewise.
10858         * modules/vdprintf-posix-tests (Makefile.am): Likewise.
10859         * modules/version-etc-tests (Makefile.am): Likewise.
10860         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
10861         * modules/vprintf-posix-tests (Makefile.am): Likewise.
10862         * modules/xalloc-die-tests (Makefile.am): Likewise.
10863         * modules/xprintf-posix-tests (Makefile.am): Likewise.
10864         * modules/xstrtoimax-tests (Makefile.am): Likewise.
10865         * modules/xstrtol-tests (Makefile.am): Likewise.
10866         * modules/xstrtoumax-tests (Makefile.am): Likewise.
10867         * modules/yesno-tests (Makefile.am): Likewise.
10868         Suggested by Jim Meyering.
10869
10870 2010-01-24  Bruno Haible  <bruno@clisp.org>
10871
10872         More documentation.
10873         * doc/gnulib.texi (Writing modules): New chapter.
10874         (Miscellaneous Notes): Move sections "Comments" and "Header files" to
10875         the new chapter.
10876
10877 2010-01-24  Jim Meyering  <meyering@redhat.com>
10878
10879         maint.mk: do not prepend "./" after filtering
10880         * top/maint.mk (_prepend_srcdir_prefix): New variable
10881         (VC_LIST_EXCEPT): Use it to avoid prepending (post-filter)
10882         "./" when $(srcdir) is ".".
10883
10884         define STREQ(a,b) consistently, removing useless parentheses
10885         #define STREQ(a, b) (strcmp ((a), (b)) == 0) is over-parenthesized,
10886         since the only risk is that "a" or "b" contains an unparenthesized
10887         comma, but if either did that, STREQ would have 3 or more arguments.
10888         Hence, #define STREQ(a, b) (strcmp (a, b) == 0) is better.
10889         * lib/fts.c (STREQ): Remove unnecessary parentheses.
10890         * lib/hash-triple.c (STREQ): Likewise.
10891         * tests/test-argv-iter.c (STREQ): Use a and b, not s1 and s2.
10892         * lib/getugroups.c (STREQ): Likewise.
10893
10894 2010-01-23  Jim Meyering  <meyering@redhat.com>
10895
10896         maint.mk: fix syntax-check in a non-srcdir build directory
10897         * top/maint.mk (_dot_escaped_srcdir): Remove erroneous backslash,
10898         introduced in my 2010-01-21 commit, a6da6c45.  Reported by Eric Blake.
10899
10900 2010-01-22  Jim Meyering  <meyering@redhat.com>
10901
10902         userspec: add unit tests
10903         * tests/test-userspec.c: New file.
10904         * modules/userspec-tests: Likewise.
10905
10906 2010-01-21  Jim Meyering  <meyering@redhat.com>
10907
10908         maint.mk: handle source file names containing "." robustly
10909         * top/maint.mk (_dot_escaped_srcdir): Define.
10910         (VC_LIST): Use it in LHS of sed substitution.
10911
10912 2010-01-21  Jiri Denemark  <jdenemar@redhat.com>
10913
10914         maint.mk: fix VC_LIST_EXCEPT for srcdir != builddir
10915         * top/maint.mk (VC_LIST_EXCEPT): Preprocess the output of
10916         $(VC_LIST) to remove a prefix of '$(srcdir)/', so that it works
10917         from a non-srcdir build.
10918
10919 2010-01-20  Eric Blake  <ebb9@byu.net>
10920
10921         warn-on-use: use instead of link-warning
10922         * modules/stdio (Depends-on, Makefile.am): Drop link-warning.
10923         * modules/unistd (Depends-on, Makefile.am): Likewise.
10924         * modules/arpa_inet (Depends-on): Replace link-warning with
10925         warn-on-use.
10926         (Makefile.am): Update rules accordingly.
10927         * modules/ctype (Depends-on, Makefile.am): Likewise.
10928         * modules/dirent (Depends-on, Makefile.am): Likewise.
10929         * modules/fcntl-h (Depends-on, Makefile.am): Likewise.
10930         * modules/inttypes (Depends-on, Makefile.am): Likewise.
10931         * modules/langinfo (Depends-on, Makefile.am): Likewise.
10932         * modules/locale (Depends-on, Makefile.am): Likewise.
10933         * modules/math (Depends-on, Makefile.am): Likewise.
10934         * modules/search (Depends-on, Makefile.am): Likewise.
10935         * modules/signal (Depends-on, Makefile.am): Likewise.
10936         * modules/spawn (Depends-on, Makefile.am): Likewise.
10937         * modules/stdlib (Depends-on, Makefile.am): Likewise.
10938         * modules/string (Depends-on, Makefile.am): Likewise.
10939         * modules/strings (Depends-on, Makefile.am): Likewise.
10940         * modules/sys_file (Depends-on, Makefile.am): Likewise.
10941         * modules/sys_ioctl (Depends-on, Makefile.am): Likewise.
10942         * modules/sys_select (Depends-on, Makefile.am): Likewise.
10943         * modules/sys_socket (Depends-on, Makefile.am): Likewise.
10944         * modules/sys_stat (Depends-on, Makefile.am): Likewise.
10945         * modules/sys_times (Depends-on, Makefile.am): Likewise.
10946         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
10947         * modules/wchar (Depends-on, Makefile.am): Likewise.
10948         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Check which functions
10949         should be poisoned.
10950         * m4/ctype.m4 (gl_CTYPE_H): Likewise.
10951         * m4/dirent_h.m4 (gl_DIRENT_H): Likewise.
10952         * m4/fcntl_h.m4 (gl_FCNTL_H): Likewise.
10953         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
10954         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
10955         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
10956         * m4/math_h.m4 (gl_MATH_H): Likewise.
10957         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
10958         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
10959         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
10960         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
10961         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
10962         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
10963         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
10964         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H_DEFAULTS): Likewise.
10965         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
10966         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
10967         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
10968         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
10969         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
10970         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
10971         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
10972         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
10973         * lib/arpa_inet.in.h: Use _GL_WARN_ON_USE instead of
10974         GL_LINK_WARNING.
10975         * lib/ctype.in.h: Likewise.
10976         * lib/dirent.in.h: Likewise.
10977         * lib/fcntl.in.h: Likewise.
10978         * lib/inttypes.in.h: Likewise.
10979         * lib/langinfo.in.h: Likewise.
10980         * lib/locale.in.h: Likewise.
10981         * lib/math.in.h: Likewise.
10982         * lib/search.in.h: Likewise.
10983         * lib/signal.in.h: Likewise.
10984         * lib/spawn.in.h: Likewise.
10985         * lib/stdio.in.h: Likewise.
10986         * lib/stdlib.in.h: Likewise.
10987         * lib/string.in.h: Likewise.
10988         * lib/strings.in.h: Likewise.
10989         * lib/sys_file.in.h: Likewise.
10990         * lib/sys_ioctl.in.h: Likewise.
10991         * lib/sys_select.in.h: Likewise.
10992         * lib/sys_socket.in.h: Likewise.
10993         * lib/sys_stat.in.h: Likewise.
10994         * lib/sys_times.in.h: Likewise.
10995         * lib/sys_utsname.in.h: Likewise.
10996         * lib/unistd.in.h: Likewise.
10997         * lib/wchar.in.h: Likewise.
10998
10999 2010-01-20  Bruno Haible  <bruno@clisp.org>
11000
11001         Avoid duplicate -lm.
11002         * m4/isnan.m4 (gl_ISNAN): Avoid duplicate -lm in $ISNAN_LIBM.
11003         * m4/round.m4 (gl_FUNC_ROUND): Avoid duplicate -lm in $ROUND_LIBM.
11004         * m4/roundf.m4 (gl_FUNC_ROUNDF): Avoid duplicate -lm in $ROUNDF_LIBM.
11005         * m4/roundl.m4 (gl_FUNC_ROUNDL): Avoid duplicate -lm in $ROUNDL_LIBM.
11006         * m4/acosl.m4 (gl_FUNC_ACOSL): Avoid duplicate -lm in $ACOSL_LIBM.
11007         * m4/cosl.m4 (gl_FUNC_COSL): Avoid duplicate -lm in $COSL_LIBM.
11008         * m4/logl.m4 (gl_FUNC_LOGL): Avoid duplicate -lm in $LOGL_LIBM.
11009         * m4/sinl.m4 (gl_FUNC_SINL): Avoid duplicate -lm in $SINL_LIBM.
11010         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Avoid duplicate -lm in $SQRTL_LIBM.
11011         * m4/tanl.m4 (gl_FUNC_TANL): Avoid duplicate -lm in $TANL_LIBM.
11012         * m4/asinl.m4 (gl_FUNC_ASINL): Same change, for consistency.
11013         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
11014         Reported by Paolo Bonzini.
11015
11016 2010-01-19  Bruno Haible  <bruno@clisp.org>
11017
11018         langinfo, nl_langinfo: Relicense under LGPLv2+.
11019         * modules/langinfo (License): Change to LGPLv2+.
11020         * modules/nl_langinfo (License): Likewise.
11021         Patch by David Lutterkort <lutter@redhat.com>.
11022
11023 2010-01-19  Bruno Haible  <bruno@clisp.org>
11024
11025         Avoid compilation error with cc on OSF/1 5.1.
11026         * lib/fcntl.in.h: Include <unistd.h> after the #include_next <fcntl.h>
11027         statement, not before.
11028         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
11029
11030 2010-01-18  Bruno Haible  <bruno@clisp.org>
11031
11032         Avoid a link error due to the __printf__ symbol.
11033         * lib/stdio.in.h (__attribute__): Define to empty also for gcc 2.5.x
11034         and 2.6.x.
11035         (__format__, __printf__): Remove definitions.
11036         * lib/argp-fmtstream.h: Likewise.
11037         * lib/argp.h: Likewise.
11038         * lib/error.h: Likewise.
11039         * lib/vasnprintf.h: Likewise.
11040         * lib/xprintf.h: Likewise.
11041         * lib/xvasprintf.h: Likewise.
11042         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
11043
11044 2010-01-18  Bruno Haible  <bruno@clisp.org>
11045
11046         Tests for module 'tanl'.
11047         * modules/tanl-tests: New file.
11048         * tests/test-tanl.c: New file.
11049
11050         Tests for module 'sqrtl'.
11051         * modules/sqrtl-tests: New file.
11052         * tests/test-sqrtl.c: New file.
11053
11054         Tests for module 'sinl'.
11055         * modules/sinl-tests: New file.
11056         * tests/test-sinl.c: New file.
11057
11058         Tests for module 'logl'.
11059         * modules/logl-tests: New file.
11060         * tests/test-logl.c: New file.
11061
11062         Tests for module 'expl'.
11063         * modules/expl-tests: New file.
11064         * tests/test-expl.c: New file.
11065
11066         Tests for module 'cosl'.
11067         * modules/cosl-tests: New file.
11068         * tests/test-cosl.c: New file.
11069
11070         Tests for module 'atanl'.
11071         * modules/atanl-tests: New file.
11072         * tests/test-atanl.c: New file.
11073
11074         Tests for module 'asinl'.
11075         * modules/asinl-tests: New file.
11076         * tests/test-asinl.c: New file.
11077
11078         Tests for module 'acosl'.
11079         * modules/acosl-tests: New file.
11080         * tests/test-acosl.c: New file.
11081
11082         New modules acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
11083         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
11084         tanl): Use the standard gnulib idiom.
11085         * lib/cosl.c: Don't include trigl.c and sincosl.c.
11086         * lib/sinl.c: Likewise.
11087         * lib/tanl.c: Don't include trigl.c.
11088         (kernel_tanl): Make static.
11089         * lib/sincosl.c: Include trigl.h first.
11090         * lib/trigl.c: Likewise.
11091         * m4/acosl.m4: New file.
11092         * m4/asinl.m4: New file.
11093         * m4/atanl.m4: New file.
11094         * m4/cosl.m4: New file.
11095         * m4/expl.m4: New file.
11096         * m4/logl.m4: New file.
11097         * m4/sinl.m4: New file.
11098         * m4/sqrtl.m4: New file.
11099         * m4/tanl.m4: New file.
11100         * m4/mathl.m4: Remove file.
11101         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_* and HAVE_*
11102         variables for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
11103         Don't initialize GNULIB_MATHL.
11104         * modules/acosl: New file.
11105         * modules/asinl: New file.
11106         * modules/atanl: New file.
11107         * modules/cosl: New file.
11108         * modules/expl: New file.
11109         * modules/logl: New file.
11110         * modules/sinl: New file.
11111         * modules/sqrtl: New file.
11112         * modules/tanl: New file.
11113         * modules/math (Makefile.am): Substitute GNULIB_* and HAVE_* variables
11114         for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl. Don't
11115         substitute GNULIB_MATHL.
11116         * modules/mathl: Rewritten.
11117         * doc/posix-functions/acosl.texi: Mention the 'acosl' module.
11118         * doc/posix-functions/asinl.texi: Mention the 'asinl' module.
11119         * doc/posix-functions/atanl.texi: Mention the 'atanl' module.
11120         * doc/posix-functions/cosl.texi: Mention the 'cosl' module.
11121         * doc/posix-functions/expl.texi: Mention the 'expl' module.
11122         * doc/posix-functions/logl.texi: Mention the 'logl' module.
11123         * doc/posix-functions/sinl.texi: Mention the 'sinl' module.
11124         * doc/posix-functions/sqrtl.texi: Mention the 'sqrtl' module.
11125         * doc/posix-functions/tanl.texi: Mention the 'tanl' module.
11126
11127 2010-01-18  Bruno Haible  <bruno@clisp.org>
11128
11129         sqrt: Make gl_FUNC_SQRT requirable.
11130         * m4/sqrt.m4: New file.
11131         * modules/sqrt (Files): Add it.
11132         (configure.ac): Invoke gl_FUNC_SQRT.
11133
11134 2010-01-18  Bruno Haible  <bruno@clisp.org>
11135
11136         New modules for common <math.h> functions.
11137         * m4/mathfunc.m4: New file.
11138         * modules/acos: New file.
11139         * modules/asin: New file.
11140         * modules/atan: New file.
11141         * modules/atan2: New file.
11142         * modules/cbrt: New file.
11143         * modules/copysign: New file.
11144         * modules/cos: New file.
11145         * modules/cosh: New file.
11146         * modules/erf: New file.
11147         * modules/erfc: New file.
11148         * modules/exp: New file.
11149         * modules/fabs: New file.
11150         * modules/fmod: New file.
11151         * modules/hypot: New file.
11152         * modules/j0: New file.
11153         * modules/j1: New file.
11154         * modules/jn: New file.
11155         * modules/ldexp: New file.
11156         * modules/lgamma: New file.
11157         * modules/log: New file.
11158         * modules/log10: New file.
11159         * modules/log1p: New file.
11160         * modules/logb: New file.
11161         * modules/modf: New file.
11162         * modules/nextafter: New file.
11163         * modules/pow: New file.
11164         * modules/remainder: New file.
11165         * modules/rint: New file.
11166         * modules/sin: New file.
11167         * modules/sinh: New file.
11168         * modules/sqrt: New file.
11169         * modules/tan: New file.
11170         * modules/tanh: New file.
11171         * modules/y0: New file.
11172         * modules/y1: New file.
11173         * modules/yn: New file.
11174         * doc/posix-functions/acos.texi: Mention the 'acos' module.
11175         * doc/posix-functions/asin.texi: Mention the 'asin' module.
11176         * doc/posix-functions/atan.texi: Mention the 'atan' module.
11177         * doc/posix-functions/atan2.texi: Mention the 'atan2' module.
11178         * doc/posix-functions/cbrt.texi: Mention the 'cbrt' module.
11179         * doc/posix-functions/copysign.texi: Mention the 'copysign' module.
11180         * doc/posix-functions/cos.texi: Mention the 'cos' module.
11181         * doc/posix-functions/cosh.texi: Mention the 'cosh' module.
11182         * doc/posix-functions/erf.texi: Mention the 'erf' module.
11183         * doc/posix-functions/erfc.texi: Mention the 'erfc' module.
11184         * doc/posix-functions/exp.texi: Mention the 'exp' module.
11185         * doc/posix-functions/fabs.texi: Mention the 'fabs' module.
11186         * doc/posix-functions/fmod.texi: Mention the 'fmod' module.
11187         * doc/posix-functions/hypot.texi: Mention the 'hypot' module.
11188         * doc/posix-functions/j0.texi: Mention the 'j0' module.
11189         * doc/posix-functions/j1.texi: Mention the 'j1' module.
11190         * doc/posix-functions/jn.texi: Mention the 'jn' module.
11191         * doc/posix-functions/ldexp.texi: Mention the 'ldexp' module.
11192         * doc/posix-functions/lgamma.texi: Mention the 'lgamma' module.
11193         * doc/posix-functions/log.texi: Mention the 'log' module.
11194         * doc/posix-functions/log10.texi: Mention the 'log10' module.
11195         * doc/posix-functions/log1p.texi: Mention the 'log1p' module.
11196         * doc/posix-functions/logb.texi: Mention the 'logb' module.
11197         * doc/posix-functions/modf.texi: Mention the 'modf' module.
11198         * doc/posix-functions/nextafter.texi: Mention the 'nextafter' module.
11199         * doc/posix-functions/pow.texi: Mention the 'pow' module.
11200         * doc/posix-functions/remainder.texi: Mention the 'remainder' module.
11201         * doc/posix-functions/rint.texi: Mention the 'rint' module.
11202         * doc/posix-functions/sin.texi: Mention the 'sin' module.
11203         * doc/posix-functions/sinh.texi: Mention the 'sinh' module.
11204         * doc/posix-functions/sqrt.texi: Mention the 'sqrt' module.
11205         * doc/posix-functions/tan.texi: Mention the 'tan' module.
11206         * doc/posix-functions/tanh.texi: Mention the 'tanh' module.
11207         * doc/posix-functions/y0.texi: Mention the 'y0' module.
11208         * doc/posix-functions/y1.texi: Mention the 'y1' module.
11209         * doc/posix-functions/yn.texi: Mention the 'yn' module.
11210
11211 2010-01-18  Jim Meyering  <meyering@redhat.com>
11212
11213         ignore-value: relax license to LGPLv2+
11214         * modules/ignore-value (License): Relax to LGPLv2+.
11215
11216         getdate: don't leak when TZ contains two or more '"'s
11217         * lib/getdate.y (get_date): Don't leak a copy of TZ for each
11218         double quote in TZ after the first one.
11219
11220         readtokens: do not leak internal token_lengths buffer
11221         * lib/readtokens.c (readtokens): Free the local, lengths,
11222         when the supplied "token_lengths" parameter is NULL.
11223
11224 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11225
11226         Fix a couple of missing LIBTHREAD link failures on AIX.
11227         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add
11228         $(LIBTHREAD).
11229         * modules/strsignal-tests (test_strsignal_LDADD): Likewise.
11230
11231         Link test-poll against INET_PTON_LIB.
11232         * modules/poll-tests (test_poll_LDADD): Add $(INET_PTON_LIB),
11233         for inet_pton on Solaris 10.
11234
11235 2010-01-17  Bruno Haible  <bruno@clisp.org>
11236
11237         unistdio/*-sprintf: Fix typo in module description.
11238         * modules/unistdio/u8-sprintf (Depends-on): Fix typo.
11239         * modules/unistdio/u8-u8-sprintf (Depends-on): Likewise.
11240         * modules/unistdio/u16-sprintf (Depends-on): Likewise.
11241         * modules/unistdio/u16-u16-sprintf (Depends-on): Likewise.
11242         * modules/unistdio/u32-sprintf (Depends-on): Likewise.
11243         * modules/unistdio/u32-u32-sprintf (Depends-on): Likewise.
11244         * modules/unistdio/ulc-sprintf (Depends-on): Likewise.
11245         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
11246
11247 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11248
11249         gnulib-tool: fix filelist for AIX, HP-UX ksh.
11250         * gnulib-tool (func_filter_filelist): Do not quote possibly-empty
11251         variables in shell case patterns, for AIX and HP-UX ksh.
11252
11253         Split large sed scripts, for HP-UX sed.
11254         * modules/stdio: Split sed scripts around 50 sed commands,
11255         to avoid HP-UX limit of 99 commands, in the near future.
11256         * modules/string: Likewise.
11257         * modules/unistd: Likewise.
11258
11259         gnulib-tool: avoid writing in the current directory.
11260         * gnulib-tool (func_emit_lib_Makefile_am)
11261         (func_emit_tests_Makefile_am): Put temporary files in $tmp,
11262         not in the current directory, so concurrent gnulib-tool
11263         instances do not interfere.
11264
11265 2010-01-16  Jim Meyering  <meyering@redhat.com>
11266
11267         doc: update users.txt
11268         * users.txt: Add grep.
11269         (diffutils, gzip): Update URLs.
11270
11271 2010-01-12  Bruno Haible  <bruno@clisp.org>
11272
11273         posix_spawn: Avoid test failure on Cygwin.
11274         * tests/test-posix_spawn3.c (DATA_FILENAME) [CYGWIN]: Use less risky
11275         characters.
11276         Reported by Simon Josefsson.
11277
11278 2010-01-12  Bruno Haible  <bruno@clisp.org>
11279
11280         * tests/test-cond.c (main): When skipping the test, show the reason.
11281
11282 2010-01-12  Simon Josefsson  <simon@josefsson.org>
11283
11284         * lib/striconv.c (str_cd_iconv): Avoid if before free.
11285
11286 2010-01-12  Simon Josefsson  <simon@josefsson.org>
11287
11288         * top/maint.mk (VC_LIST_EXCEPT): Filter list through
11289         VC_LIST_ALWAYS_EXCLUDE_REGEX.
11290
11291 2010-01-12  Eric Blake  <ebb9@byu.net>
11292
11293         build: guarantee AS_VAR_IF
11294         * m4/warnings.m4 (gl_WARN_ADD): Use autoconf name.
11295         (gl_AS_VAR_IF): Move...
11296         * m4/gnulib-common.m4 (AS_VAR_IF): ...here.
11297         Reported by Simon Josefsson.
11298
11299 2010-01-12  Simon Josefsson  <simon@josefsson.org>
11300
11301         * lib/stdio.in.h: Fix typo.
11302
11303 2010-01-12  Simon Josefsson  <simon@josefsson.org>
11304
11305         * m4/gc.m4: Check if linking to libgcrypt also needs linking to
11306         libgpg-error.
11307
11308 2010-01-12  Simon Josefsson  <simon@josefsson.org>
11309
11310         * tests/test-xalloc-die.sh: Use $EXEEXT.
11311
11312 2010-01-12  Simon Josefsson  <simon@josefsson.org>
11313             Bruno Haible  <bruno@clisp.org>
11314
11315         getlogin, getlogin_r: Avoid test failure.
11316         * tests/test-getlogin.c: Include <stdio.h>.
11317         (main): Skip the test when the function fails because stdin is not a
11318         tty.
11319         * tests/test-getlogin_r.c: Include <stdio.h>.
11320         (main): Skip the test when the function fails because stdin is not a
11321         tty.
11322
11323 2010-01-11  Eric Blake  <ebb9@byu.net>
11324
11325         tests: avoid more large file warnings
11326         * tests/test-fflush.c: Avoid warning about ftell use.
11327         * tests/test-fseek.c: Avoid warning about fseek use.
11328
11329 2010-01-10  Bruno Haible  <bruno@clisp.org>
11330
11331         nproc: Work better on Linux when /proc and /sys are not mounted.
11332         * lib/nproc.c (num_processors): Use num_processors_via_affinity_mask ()
11333         as lower bound when, on glibc/Linux systems,
11334         sysconf (_SC_NPROCESSORS_CONF) returns 1.
11335         Suggested by Pádraig Brady <P@draigbrady.com>.
11336         Reported by Dmitry V. Levin <ldv@altlinux.org>.
11337
11338         nproc: Refactor.
11339         * lib/nproc.c (num_processors_via_affinity_mask): New function,
11340         extracted from num_processors.
11341         (num_processors): Call it.
11342
11343 2010-01-11  Jim Meyering  <meyering@redhat.com>
11344
11345         utimecmp: avoid new warning from upcoming gcc-4.5.0
11346         * lib/utimecmp.c (BILLION): Define using #define rather than an
11347         anonymous enum, to placate upcoming gcc-4.5.0's -Wenum-compare.
11348
11349 2010-01-11  Eric Blake  <ebb9@byu.net>
11350
11351         math: add portability warnings for classification macros
11352         * modules/math (Depends-on): Add warn-on-use.
11353         (Makefile.am): Provide new substitutions.
11354         * m4/math_h.m4 (gl_MATH_H): Require inline.
11355         * lib/math.in.h (_GL_WARN_REAL_FLOATING_DECL)
11356         (_GL_WARN_REAL_FLOATING_IMPL): New helper macros.
11357         (isfinite, isinf, isnan, signbit) [GNULIB_POSIXCHECK]: Use them to
11358         implement warnings.
11359
11360         unistd: warn on use of environ without module
11361         * modules/unistd (Depends-on): Add warn-on-use.
11362         (Makefile.am): Provide new substitutions.
11363         * m4/unistd_h.m4 (gl_UNISTD_H): Check for inline and environ.
11364         * lib/unistd.in.h (environ): Wrap with a warning helper function.
11365
11366         stdio: warn on suspicious uses
11367         * modules/stdio (Depends-on): Add warn-on-use.
11368         (Makefile.am): Provide new substitutions.
11369         * m4/stdio_h.m4 (gl_STDIO_H): Check for inline, ftello, and
11370         fseeko.
11371         * lib/stdio.in.h (gets): Always warn on use.
11372         (fseek, ftell): Adjust when warnings are issued, and honor
11373         _GL_NO_LARGE_FILES as a way to silence the warning.
11374         * tests/test-fpurge.c [!GNULIB_FSEEK]: Use new means to squelch
11375         any warning about large file offsets.
11376         * tests/test-freadable.c [!GNULIB_FSEEK]: Likewise.
11377         * tests/test-freading.c [!GNULIB_FSEEK]: Likewise.
11378         * tests/test-fseeko.c [!GNULIB_FSEEK]: Likewise.
11379         * tests/test-ftell.c [!GNULIB_FSEEK]: Likewise.
11380         * tests/test-ftello.c [!GNULIB_FSEEK]: Likewise.
11381         * tests/test-fwritable.c [!GNULIB_FSEEK]: Likewise.
11382         * tests/test-fwriting.c [!GNULIB_FSEEK]: Likewise.
11383         * tests/test-getopt.c [!GNULIB_FTELL]: Likewise.
11384
11385         warn-on-use: new module
11386         * modules/warn-on-use: New file.
11387         * build-aux/warn-on-use.h: Likewise.
11388         * m4/warn-on-use.m4: Likewise.
11389         * MODULES.html.sh (Support for building): Mention it.
11390
11391 2010-01-10  Bruno Haible  <bruno@clisp.org>
11392
11393         Tests for module 'unistr/u32-strdup'.
11394         * modules/unistr/u32-strdup-tests: New file.
11395         * tests/unistr/test-u32-strdup.c: New file.
11396
11397         Tests for module 'unistr/u16-strdup'.
11398         * modules/unistr/u16-strdup-tests: New file.
11399         * tests/unistr/test-u16-strdup.c: New file.
11400
11401         Tests for module 'unistr/u8-strdup'.
11402         * modules/unistr/u8-strdup-tests: New file.
11403         * tests/unistr/test-u8-strdup.c: New file.
11404         * tests/unistr/test-strdup.h: New file.
11405
11406         Tests for module 'unistr/u32-strncmp'.
11407         * modules/unistr/u32-strncmp-tests: New file.
11408         * tests/unistr/test-u32-strncmp.c: New file.
11409
11410         Tests for module 'unistr/u16-strncmp'.
11411         * modules/unistr/u16-strncmp-tests: New file.
11412         * tests/unistr/test-u16-strncmp.c: New file.
11413
11414         Tests for module 'unistr/u8-strncmp'.
11415         * modules/unistr/u8-strncmp-tests: New file.
11416         * tests/unistr/test-u8-strncmp.c: New file.
11417         * tests/unistr/test-strncmp.h: New file.
11418
11419         Tests for module 'unistr/u32-strcoll'.
11420         * modules/unistr/u32-strcoll-tests: New file.
11421         * tests/unistr/test-u32-strcoll.c: New file.
11422
11423         Tests for module 'unistr/u16-strcoll'.
11424         * modules/unistr/u16-strcoll-tests: New file.
11425         * tests/unistr/test-u16-strcoll.c: New file.
11426
11427         Tests for module 'unistr/u8-strcoll'.
11428         * modules/unistr/u8-strcoll-tests: New file.
11429         * tests/unistr/test-u8-strcoll.c: New file.
11430
11431         Tests for module 'unistr/u32-strcmp'.
11432         * modules/unistr/u32-strcmp-tests: New file.
11433         * tests/unistr/test-u32-strcmp.c: New file.
11434         * tests/unistr/test-u32-strcmp.h: New file.
11435
11436         Tests for module 'unistr/u16-strcmp'.
11437         * modules/unistr/u16-strcmp-tests: New file.
11438         * tests/unistr/test-u16-strcmp.c: New file.
11439         * tests/unistr/test-u16-strcmp.h: New file.
11440
11441         Tests for module 'unistr/u8-strcmp'.
11442         * modules/unistr/u8-strcmp-tests: New file.
11443         * tests/unistr/test-u8-strcmp.c: New file.
11444         * tests/unistr/test-u8-strcmp.h: New file.
11445         * tests/unistr/test-strcmp.h: New file.
11446
11447         Tests for module 'unistr/u32-strncat'.
11448         * modules/unistr/u32-strncat-tests: New file.
11449         * tests/unistr/test-u32-strncat.c: New file.
11450
11451         Tests for module 'unistr/u16-strncat'.
11452         * modules/unistr/u16-strncat-tests: New file.
11453         * tests/unistr/test-u16-strncat.c: New file.
11454
11455         Tests for module 'unistr/u8-strncat'.
11456         * modules/unistr/u8-strncat-tests: New file.
11457         * tests/unistr/test-u8-strncat.c: New file.
11458         * tests/unistr/test-strncat.h: New file.
11459
11460         Tests for module 'unistr/u32-strcat'.
11461         * modules/unistr/u32-strcat-tests: New file.
11462         * tests/unistr/test-u32-strcat.c: New file.
11463
11464         Tests for module 'unistr/u16-strcat'.
11465         * modules/unistr/u16-strcat-tests: New file.
11466         * tests/unistr/test-u16-strcat.c: New file.
11467
11468         Tests for module 'unistr/u8-strcat'.
11469         * modules/unistr/u8-strcat-tests: New file.
11470         * tests/unistr/test-u8-strcat.c: New file.
11471         * tests/unistr/test-strcat.h: New file.
11472
11473         Tests for module 'unistr/u32-stpncpy'.
11474         * modules/unistr/u32-stpncpy-tests: New file.
11475         * tests/unistr/test-u32-stpncpy.c: New file.
11476
11477         Tests for module 'unistr/u16-stpncpy'.
11478         * modules/unistr/u16-stpncpy-tests: New file.
11479         * tests/unistr/test-u16-stpncpy.c: New file.
11480
11481         Tests for module 'unistr/u8-stpncpy'.
11482         * modules/unistr/u8-stpncpy-tests: New file.
11483         * tests/unistr/test-u8-stpncpy.c: New file.
11484         * tests/unistr/test-stpncpy.h: New file.
11485
11486         Tests for module 'unistr/u32-strncpy'.
11487         * modules/unistr/u32-strncpy-tests: New file.
11488         * tests/unistr/test-u32-strncpy.c: New file.
11489
11490         Tests for module 'unistr/u16-strncpy'.
11491         * modules/unistr/u16-strncpy-tests: New file.
11492         * tests/unistr/test-u16-strncpy.c: New file.
11493
11494         Tests for module 'unistr/u8-strncpy'.
11495         * modules/unistr/u8-strncpy-tests: New file.
11496         * tests/unistr/test-u8-strncpy.c: New file.
11497         * tests/unistr/test-strncpy.h: New file.
11498
11499         Tests for module 'unistr/u32-stpcpy'.
11500         * modules/unistr/u32-stpcpy-tests: New file.
11501         * tests/unistr/test-u32-stpcpy.c: New file.
11502
11503         Tests for module 'unistr/u16-stpcpy'.
11504         * modules/unistr/u16-stpcpy-tests: New file.
11505         * tests/unistr/test-u16-stpcpy.c: New file.
11506
11507         Tests for module 'unistr/u8-stpcpy'.
11508         * modules/unistr/u8-stpcpy-tests: New file.
11509         * tests/unistr/test-u8-stpcpy.c: New file.
11510         * tests/unistr/test-stpcpy.h: New file.
11511
11512         Tests for module 'unistr/u32-strcpy'.
11513         * modules/unistr/u32-strcpy-tests: New file.
11514         * tests/unistr/test-u32-strcpy.c: New file.
11515
11516         Tests for module 'unistr/u16-strcpy'.
11517         * modules/unistr/u16-strcpy-tests: New file.
11518         * tests/unistr/test-u16-strcpy.c: New file.
11519
11520         Tests for module 'unistr/u8-strcpy'.
11521         * modules/unistr/u8-strcpy-tests: New file.
11522         * tests/unistr/test-u8-strcpy.c: New file.
11523         * tests/unistr/test-strcpy.h: New file.
11524
11525         Tests for module 'unistr/u32-strnlen'.
11526         * modules/unistr/u32-strnlen-tests: New file.
11527         * tests/unistr/test-u32-strnlen.c: New file.
11528
11529         Tests for module 'unistr/u16-strnlen'.
11530         * modules/unistr/u16-strnlen-tests: New file.
11531         * tests/unistr/test-u16-strnlen.c: New file.
11532
11533         Tests for module 'unistr/u8-strnlen'.
11534         * modules/unistr/u8-strnlen-tests: New file.
11535         * tests/unistr/test-u8-strnlen.c: New file.
11536         * tests/unistr/test-strnlen.h: New file.
11537
11538         Tests for module 'unistr/u32-strlen'.
11539         * modules/unistr/u32-strlen-tests: New file.
11540         * tests/unistr/test-u32-strlen.c: New file.
11541
11542         Tests for module 'unistr/u16-strlen'.
11543         * modules/unistr/u16-strlen-tests: New file.
11544         * tests/unistr/test-u16-strlen.c: New file.
11545
11546         Tests for module 'unistr/u8-strlen'.
11547         * modules/unistr/u8-strlen-tests: New file.
11548         * tests/unistr/test-u8-strlen.c: New file.
11549
11550         Tests for module 'unistr/u32-prev'.
11551         * modules/unistr/u32-prev-tests: New file.
11552         * tests/unistr/test-u32-prev.c: New file.
11553
11554         Tests for module 'unistr/u16-prev'.
11555         * modules/unistr/u16-prev-tests: New file.
11556         * tests/unistr/test-u16-prev.c: New file.
11557
11558         Tests for module 'unistr/u8-prev'.
11559         * modules/unistr/u8-prev-tests: New file.
11560         * tests/unistr/test-u8-prev.c: New file.
11561
11562         Tests for module 'unistr/u32-next'.
11563         * modules/unistr/u32-next-tests: New file.
11564         * tests/unistr/test-u32-next.c: New file.
11565
11566         Tests for module 'unistr/u16-next'.
11567         * modules/unistr/u16-next-tests: New file.
11568         * tests/unistr/test-u16-next.c: New file.
11569
11570         Tests for module 'unistr/u8-next'.
11571         * modules/unistr/u8-next-tests: New file.
11572         * tests/unistr/test-u8-next.c: New file.
11573
11574         Tests for module 'unistr/u32-strmbtouc'.
11575         * modules/unistr/u32-strmbtouc-tests: New file.
11576         * tests/unistr/test-u32-strmbtouc.c: New file.
11577
11578         Tests for module 'unistr/u16-strmbtouc'.
11579         * modules/unistr/u16-strmbtouc-tests: New file.
11580         * tests/unistr/test-u16-strmbtouc.c: New file.
11581
11582         Tests for module 'unistr/u8-strmbtouc'.
11583         * modules/unistr/u8-strmbtouc-tests: New file.
11584         * tests/unistr/test-u8-strmbtouc.c: New file.
11585
11586         Tests for module 'unistr/u32-strmblen'.
11587         * modules/unistr/u32-strmblen-tests: New file.
11588         * tests/unistr/test-u32-strmblen.c: New file.
11589
11590         Tests for module 'unistr/u16-strmblen'.
11591         * modules/unistr/u16-strmblen-tests: New file.
11592         * tests/unistr/test-u16-strmblen.c: New file.
11593
11594         Tests for module 'unistr/u8-strmblen'.
11595         * modules/unistr/u8-strmblen-tests: New file.
11596         * tests/unistr/test-u8-strmblen.c: New file.
11597
11598         Tests for module 'unistr/u32-cpy-alloc'.
11599         * modules/unistr/u32-cpy-alloc-tests: New file.
11600         * tests/unistr/test-u32-cpy-alloc.c: New file.
11601
11602         Tests for module 'unistr/u16-cpy-alloc'.
11603         * modules/unistr/u16-cpy-alloc-tests: New file.
11604         * tests/unistr/test-u16-cpy-alloc.c: New file.
11605
11606         Tests for module 'unistr/u8-cpy-alloc'.
11607         * modules/unistr/u8-cpy-alloc-tests: New file.
11608         * tests/unistr/test-u8-cpy-alloc.c: New file.
11609         * tests/unistr/test-cpy-alloc.h: New file.
11610
11611         Tests for module 'unistr/u32-mbsnlen'.
11612         * modules/unistr/u32-mbsnlen-tests: New file.
11613         * tests/unistr/test-u32-mbsnlen.c: New file.
11614
11615         Tests for module 'unistr/u16-mbsnlen'.
11616         * modules/unistr/u16-mbsnlen-tests: New file.
11617         * tests/unistr/test-u16-mbsnlen.c: New file.
11618
11619         Tests for module 'unistr/u8-mbsnlen'.
11620         * modules/unistr/u8-mbsnlen-tests: New file.
11621         * tests/unistr/test-u8-mbsnlen.c: New file.
11622
11623         Tests for module 'unistr/u32-chr'.
11624         * modules/unistr/u32-chr-tests: New file.
11625         * tests/unistr/test-u32-chr.c: New file.
11626
11627         Tests for module 'unistr/u16-chr'.
11628         * modules/unistr/u16-chr-tests: New file.
11629         * tests/unistr/test-u16-chr.c: New file.
11630
11631         Tests for module 'unistr/u8-chr'.
11632         * modules/unistr/u8-chr-tests: New file.
11633         * tests/unistr/test-u8-chr.c: New file.
11634         * tests/unistr/test-chr.h: New file, based on tests/test-memchr.c.
11635
11636         Tests for module 'unistr/u32-cmp2'.
11637         * modules/unistr/u32-cmp2-tests: New file.
11638         * tests/unistr/test-u32-cmp2.c: New file.
11639
11640         Tests for module 'unistr/u16-cmp2'.
11641         * modules/unistr/u16-cmp2-tests: New file.
11642         * tests/unistr/test-u16-cmp2.c: New file.
11643
11644         Tests for module 'unistr/u8-cmp2'.
11645         * modules/unistr/u8-cmp2-tests: New file.
11646         * tests/unistr/test-u8-cmp2.c: New file.
11647         * tests/unistr/test-cmp2.h: New file, based on tests/unistr/test-cmp.h.
11648
11649         Tests for module 'unistr/u32-cmp'.
11650         * modules/unistr/u32-cmp-tests: New file.
11651         * tests/unistr/test-u32-cmp.c: New file.
11652
11653         Tests for module 'unistr/u16-cmp'.
11654         * modules/unistr/u16-cmp-tests: New file.
11655         * tests/unistr/test-u16-cmp.c: New file.
11656
11657         Tests for module 'unistr/u8-cmp'.
11658         * modules/unistr/u8-cmp-tests: New file.
11659         * tests/unistr/test-u8-cmp.c: New file.
11660         * tests/unistr/test-cmp.h: New file, based on tests/test-memcmp.c.
11661
11662         Tests for module 'unistr/u32-set'.
11663         * modules/unistr/u32-set-tests: New file.
11664         * tests/unistr/test-u32-set.c: New file.
11665
11666         Tests for module 'unistr/u16-set'.
11667         * modules/unistr/u16-set-tests: New file.
11668         * tests/unistr/test-u16-set.c: New file.
11669
11670         Tests for module 'unistr/u8-set'.
11671         * modules/unistr/u8-set-tests: New file.
11672         * tests/unistr/test-u8-set.c: New file.
11673         * tests/unistr/test-set.h: New file.
11674
11675         Tests for module 'unistr/u32-move'.
11676         * modules/unistr/u32-move-tests: New file.
11677         * tests/unistr/test-u32-move.c: New file.
11678
11679         Tests for module 'unistr/u16-move'.
11680         * modules/unistr/u16-move-tests: New file.
11681         * tests/unistr/test-u16-move.c: New file.
11682
11683         Tests for module 'unistr/u8-move'.
11684         * modules/unistr/u8-move-tests: New file.
11685         * tests/unistr/test-u8-move.c: New file.
11686         * tests/unistr/test-move.h: New file.
11687
11688         Tests for module 'unistr/u32-cpy'.
11689         * modules/unistr/u32-cpy-tests: New file.
11690         * tests/unistr/test-u32-cpy.c: New file.
11691
11692         Tests for module 'unistr/u16-cpy'.
11693         * modules/unistr/u16-cpy-tests: New file.
11694         * tests/unistr/test-u16-cpy.c: New file.
11695
11696         Tests for module 'unistr/u8-cpy'.
11697         * modules/unistr/u8-cpy-tests: New file.
11698         * tests/unistr/test-u8-cpy.c: New file.
11699         * tests/unistr/test-cpy.h: New file.
11700
11701 2010-01-09  Bruno Haible  <bruno@clisp.org>
11702
11703         Tests for module 'unistr/u32-uctomb'.
11704         * modules/unistr/u32-uctomb-tests: New file.
11705         * tests/unistr/test-u32-uctomb.c: New file.
11706
11707         Tests for module 'unistr/u16-uctomb'.
11708         * modules/unistr/u16-uctomb-tests: New file.
11709         * tests/unistr/test-u16-uctomb.c: New file.
11710
11711         Tests for module 'unistr/u8-uctomb'.
11712         * modules/unistr/u8-uctomb-tests: New file.
11713         * tests/unistr/test-u8-uctomb.c: New file.
11714
11715         Tests for module 'unistr/u32-mbtoucr'.
11716         * modules/unistr/u32-mbtoucr-tests: New file.
11717         * tests/unistr/test-u32-mbtoucr.c: New file.
11718
11719         Tests for module 'unistr/u16-mbtoucr'.
11720         * modules/unistr/u16-mbtoucr-tests: New file.
11721         * tests/unistr/test-u16-mbtoucr.c: New file.
11722
11723         Tests for module 'unistr/u8-mbtoucr'.
11724         * modules/unistr/u8-mbtoucr-tests: New file.
11725         * tests/unistr/test-u8-mbtoucr.c: New file.
11726
11727         Tests for module 'unistr/u32-mbtouc'.
11728         * modules/unistr/u32-mbtouc-tests: New file.
11729         * tests/unistr/test-u32-mbtouc.c: New file.
11730
11731         Tests for module 'unistr/u16-mbtouc'.
11732         * modules/unistr/u16-mbtouc-tests: New file.
11733         * tests/unistr/test-u16-mbtouc.c: New file.
11734
11735         Tests for module 'unistr/u8-mbtouc'.
11736         * modules/unistr/u8-mbtouc-tests: New file.
11737         * tests/unistr/test-u8-mbtouc.c: New file.
11738
11739         Tests for module 'unistr/u32-mbtouc-unsafe'.
11740         * modules/unistr/u32-mbtouc-unsafe-tests: New file.
11741         * tests/unistr/test-u32-mbtouc-unsafe.c: New file.
11742         * tests/unistr/test-u32-mbtouc.h: New file.
11743
11744         Tests for module 'unistr/u16-mbtouc-unsafe'.
11745         * modules/unistr/u16-mbtouc-unsafe-tests: New file.
11746         * tests/unistr/test-u16-mbtouc-unsafe.c: New file.
11747         * tests/unistr/test-u16-mbtouc.h: New file.
11748
11749         Tests for module 'unistr/u8-mbtouc-unsafe'.
11750         * modules/unistr/u8-mbtouc-unsafe-tests: New file.
11751         * tests/unistr/test-u8-mbtouc-unsafe.c: New file.
11752         * tests/unistr/test-u8-mbtouc.h: New file.
11753
11754         Tests for module 'unistr/u32-mblen'.
11755         * modules/unistr/u32-mblen-tests: New file.
11756         * tests/unistr/test-u32-mblen.c: New file.
11757
11758         Tests for module 'unistr/u16-mblen'.
11759         * modules/unistr/u16-mblen-tests: New file.
11760         * tests/unistr/test-u16-mblen.c: New file.
11761
11762         Tests for module 'unistr/u8-mblen'.
11763         * modules/unistr/u8-mblen-tests: New file.
11764         * tests/unistr/test-u8-mblen.c: New file.
11765
11766         Tests for module 'unistr/u32-to-u16'.
11767         * modules/unistr/u32-to-u16-tests: New file.
11768         * tests/unistr/test-u32-to-u16.c: New file.
11769
11770         Tests for module 'unistr/u32-to-u8'.
11771         * modules/unistr/u32-to-u8-tests: New file.
11772         * tests/unistr/test-u32-to-u8.c: New file.
11773
11774         Tests for module 'unistr/u16-to-u32'.
11775         * modules/unistr/u16-to-u32-tests: New file.
11776         * tests/unistr/test-u16-to-u32.c: New file.
11777
11778         Tests for module 'unistr/u16-to-u8'.
11779         * modules/unistr/u16-to-u8-tests: New file.
11780         * tests/unistr/test-u16-to-u8.c: New file.
11781
11782         Tests for module 'unistr/u8-to-u32'.
11783         * modules/unistr/u8-to-u32-tests: New file.
11784         * tests/unistr/test-u8-to-u32.c: New file.
11785
11786         Tests for module 'unistr/u8-to-u16'.
11787         * modules/unistr/u8-to-u16-tests: New file.
11788         * tests/unistr/test-u8-to-u16.c: New file.
11789
11790         Tests for module 'unistr/u32-check'.
11791         * modules/unistr/u32-check-tests: New file.
11792         * tests/unistr/test-u32-check.c: New file.
11793
11794         Tests for module 'unistr/u16-check'.
11795         * modules/unistr/u16-check-tests: New file.
11796         * tests/unistr/test-u16-check.c: New file.
11797
11798         Tests for module 'unistr/u8-check'.
11799         * modules/unistr/u8-check-tests: New file.
11800         * tests/unistr/test-u8-check.c: New file.
11801
11802         * tests/unictype/test-categ_byname.c: Include <stdbool.h>.
11803         (category_equals): New function.
11804         (main): Add more tests.
11805         * modules/unictype/category-byname-tests (Depends-on): Add stdbool.
11806
11807         * tests/unictype/test-bidi_byname.c (main): Add more tests.
11808
11809 2010-01-10  Bruno Haible  <bruno@clisp.org>
11810
11811         unistr/u*-strcoll: Try harder to distinguish different strings.
11812         * lib/unistr/u-strcoll.h (FUNC): When sl1 and sl2 are the same,
11813         compare s1 and s2 to see if they are different.
11814
11815 2010-01-10  Bruno Haible  <bruno@clisp.org>
11816
11817         unistr/u*-stpncpy: Fix the return value.
11818         * lib/unistr.h (u8_stpncpy, u16_stpncpy, u32_stpncpy): Make the
11819         description of the return value consistent with stpncpy in glibc.
11820         * lib/unistr/u-stpncpy.h (FUNC): Return the pointer past the last
11821         written non-NUL unit.
11822
11823 2010-01-10  Bruno Haible  <bruno@clisp.org>
11824
11825         unistr/u*-next: Add missing dependencies.
11826         * modules/unistr/u8-next (Depends-on): Add unistr/u8-strmbtouc.
11827         * modules/unistr/u16-next (Depends-on): Add unistr/u16-strmbtouc.
11828         * modules/unistr/u32-next (Depends-on): Add unistr/u32-strmbtouc.
11829
11830 2010-01-10  Bruno Haible  <bruno@clisp.org>
11831
11832         unistr/u8-mbsnlen: Fix return value for incomplete character.
11833         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtoucr instead of
11834         u8_mblen.
11835         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtoucr.
11836         Remove unistr/u8-mblen.
11837         * lib/unistr/u16-mbsnlen.c (u16_mbsnlen): Use u16_mbtoucr instead of
11838         u16_mblen.
11839         * modules/unistr/u16-mbsnlen (Depends-on): Add unistr/u16-mbtoucr.
11840         Remove unistr/u16-mblen.
11841
11842 2010-01-10  Bruno Haible  <bruno@clisp.org>
11843
11844         wchar: Fix compilation error when <wchar.h> is used from coreutils.
11845         * lib/wchar.in.h: Treat __need_wint_t like __need_mbstate_t.
11846         Reported by Brian Gough <bjg@gnu.org> and
11847         Chris Clayton <chris2553@googlemail.com> via
11848         Mike Frysinger <vapier@gentoo.org> and Jim Meyering <jim@meyering.net>.
11849
11850 2010-01-09  Bruno Haible  <bruno@clisp.org>
11851
11852         unistr/u16-to-u32: Reject invalid input.
11853         * lib/unistr/u16-to-u32.c (u16_to_u32): Call u16_mbtoucr instead of
11854         u16_mbtouc.
11855         * modules/unistr/u16-to-u32 (Depends-on): Add unistr/u16-mbtoucr.
11856         Remove unistr/u16-mbtouc.
11857
11858         unistr/u16-to-u8: Reject invalid input.
11859         * lib/unistr/u16-to-u8.c (u16_to_u8): Call u16_mbtoucr instead of
11860         u16_mbtouc.
11861         * modules/unistr/u16-to-u8 (Depends-on): Add unistr/u16-mbtoucr.
11862         Remove unistr/u16-mbtouc.
11863
11864         unistr/u8-to-u32: Reject invalid input.
11865         * lib/unistr/u8-to-u32.c (u8_to_u32): Call u8_mbtoucr instead of
11866         u8_mbtouc.
11867         * modules/unistr/u8-to-u32 (Depends-on): Add unistr/u8-mbtoucr.
11868         Remove unistr/u8-mbtouc.
11869
11870         unistr/u8-to-u16: Reject invalid input.
11871         * lib/unistr/u8-to-u16.c (u8_to_u16): Call u8_mbtoucr instead of
11872         u8_mbtouc.
11873         * modules/unistr/u8-to-u16 (Depends-on): Add unistr/u8-mbtoucr.
11874         Remove unistr/u8-mbtouc.
11875
11876 2010-01-09  Bruno Haible  <bruno@clisp.org>
11877
11878         Tests for module 'getlogin'.
11879         * modules/getlogin-tests: New file.
11880         * tests/test-getlogin.c: New file.
11881
11882         New module 'getlogin'.
11883         * lib/unistd.in.h (getlogin): New declaration.
11884         * lib/getlogin.c: New file.
11885         * m4/getlogin.m4: New file.
11886         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETLOGIN,
11887         HAVE_GETLOGIN.
11888         * modules/unistd (Makefile.am): Substitute GNULIB_GETLOGIN,
11889         HAVE_GETLOGIN.
11890         * modules/getlogin: New file.
11891         * doc/posix-functions/getlogin.texi: Mention the new module.
11892         Reported by John W. Eaton <jwe@gnu.org>.
11893
11894 2010-01-09  Bruno Haible  <bruno@clisp.org>
11895
11896         getlogin_r: Support for native Windows.
11897         * lib/getlogin_r.c: Include <windows.h>
11898         (getlogin_r): Implement for native Windows.
11899         * tests/test-getlogin_r.c (main): Also test with a huge buffer.
11900         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>
11901         via John W. Eaton <jwe@gnu.org>.
11902
11903 2010-01-09  Bruno Haible  <bruno@clisp.org>
11904
11905         getlogin_r: Small fixes.
11906         * lib/getlogin_r.c (getlogin_r): Don't set errno if the function
11907         succeeds.
11908         * m4/getlogin_r.m4 (gl_GETLOGIN_R): Require gl_USE_SYSTEM_EXTENSIONS
11909         before testing whether getlogin_r is declared. No need to set
11910         HAVE_DECL_GETLOGIN_R to 1.
11911         (gl_PREREQ_GETLOGIN_R): Don't check for the getlogin_r declaration.
11912
11913 2010-01-09  Bruno Haible  <bruno@clisp.org>
11914
11915         * lib/unistd.in.h (getlogin_r): Add comment.
11916
11917 2010-01-09  Bruno Haible  <bruno@clisp.org>
11918
11919         Tests for module 'getlogin_r'.
11920         * modules/getlogin_r-tests: New file.
11921         * tests/test-getlogin_r.c: New file.
11922
11923 2010-01-09  Jim Meyering  <meyering@redhat.com>
11924
11925         maint.mk: extend proper_name_utf8-vs-LIBICONV-checking rule
11926         * top/maint.mk (sc_proper_name_utf8_requires_ICONV): Adapt to work
11927         also when $(LIBICONV) is part of LDADD, rather than ${prog}_LDADD.
11928
11929 2010-01-08  Simon Josefsson  <simon@josefsson.org>
11930
11931         * lib/dup2.c (rpl_dup2): Improve comment.
11932
11933 2010-01-08  Eric Blake  <ebb9@byu.net>
11934
11935         maint.mk: allow packages to add makefile @@ exceptions
11936         * top/maint.mk (_makefile_at_at_check_exceptions): New hook.
11937         (sc_makefile_check): Rename...
11938         (sc_makefile_at_at_check): ...to this, and use hook.
11939
11940         dup2: work around mingw bug
11941         * lib/dup2.c (rpl_dup2): Sanitize return value on mingw.
11942         Reported by Simon Josefsson.
11943
11944 2010-01-07  John W. Eaton  <jwe@octave.org>  (tiny change)
11945
11946         glob: Fix C++ compilation.
11947         * lib/glob.in.h [__cplusplus]: Define __BEGIN_DECLS and __END_DECLS for
11948         C++.
11949
11950 2010-01-07  Bruno Haible  <bruno@clisp.org>
11951
11952         Fix indentation of wctype.in.h, broken since 2007-01-06.
11953         * lib/wctype.in.h: Fix indentation of preprocessor directives.
11954
11955 2010-01-07  Bruno Haible  <bruno@clisp.org>
11956
11957         mbslen: Avoid collision with system function.
11958         * lib/string.in.h [MirBSD]: Include <wchar.h>.
11959         (mbslen): Undefine first. Alias mbslen to rpl_mbslen.
11960         * m4/mbslen.m4: New file.
11961         * modules/mbslen (Files): Add it.
11962         (configure.ac): Invoke gl_MBSLEN.
11963         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MBSLEN.
11964         * modules/string (Makefile.am): Substitute HAVE_MBSLEN.
11965         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>
11966         via Ian Beckwith <ianb@erislabs.net>.
11967
11968 2010-01-07  Bruno Haible  <bruno@clisp.org>
11969
11970         dirent: Document the last fix.
11971         * doc/posix-headers/dirent.texi: Document the bug of missing 'ino_t'.
11972
11973 2010-01-07  Bruno Haible  <bruno@clisp.org>
11974
11975         stdio: Ensure <stdio.h> defines off_t, ssize_t, va_list.
11976         * lib/stdio.in.h: Include <sys/types.h> unconditionally.
11977         * tests/test-stdio.c: Verify that fpos_t, off_t, size_t, ssize_t,
11978         va_list are defined.
11979         * doc/posix-headers/stdio.texi: Document the bug of missing types.
11980         Reported by Eric Blake.
11981
11982 2010-01-07  Bruno Haible  <bruno@clisp.org>
11983
11984         xlist, xoset: Fix missing dependency bug, introduced on 2009-12-13.
11985         * modules/xlist (Depends-on): Add 'list',
11986         * modules/xoset (Depends-on): Add 'oset'.
11987         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
11988
11989 2010-01-07  Bruno Haible  <bruno@clisp.org>
11990
11991         * doc/posix-functions/strcasecmp.texi: Clarify the platforms.
11992         * doc/posix-functions/strncasecmp.texi: Likewise.
11993
11994 2010-01-07  Bruno Haible  <bruno@clisp.org>
11995
11996         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Simplify logic.
11997
11998 2010-01-07  John W. Eaton  <jwe@octave.org>
11999
12000         wctype: allow C++ use
12001         * lib/wctype.in.h: Add extern "C" block for C++.
12002
12003 2010-01-06  Eric Blake  <ebb9@byu.net>
12004
12005         maint.mk: detect incorrect GFDL usage
12006         * top/maint.mk (_GFDL_regexp, sc_GFDL_version): New rule.
12007
12008 2010-01-06  Jim Meyering  <meyering@redhat.com>
12009         and Eric Blake  <ebb9@byu.net>
12010
12011         maint.mk: ignore multi-line copyright in NEWS
12012         * top/maint.mk (NEWS_hash): Add immunity to multi-line copyright.
12013
12014 2010-01-06  Eric Blake  <ebb9@byu.net>
12015
12016         select: add missing dependency
12017         * modules/select-tests (Depends-on): Move sockets dependency...
12018         * modules/select (Depends-on): ...here.
12019         Reported by Ian Beckwith.
12020
12021         doc: regenerate INSTALL
12022         * doc/INSTALL: Reflect recent autoconf update.
12023         * doc/INSTALL.ISO: Likewise.
12024         * doc/INSTALL.UTF-8: Likewise.
12025
12026         pread: fix compilation on glibc
12027         * m4/pread.m4 (gl_FUNC_PREAD): Request all interfaces.
12028         Reported by Ralf Wildenhues.
12029
12030         dirent: fix test failure
12031         * lib/dirent.in.h (includes): Guarantee ino_t.
12032         Reported by Ralf Wildenhues.
12033
12034 2010-01-06  Petr Salinger  <Petr.Salinger@seznam.cz>  (tiny change)
12035
12036         linkat, renameat: avoid bad free
12037         * lib/at-func2.c (at_func2): Fix typo.
12038         Reported via Ian Beckwith, from http://bugs.debian.org/561117.
12039
12040 2010-01-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
12041
12042         cleanup after gl_FUNC_READLINK, for gl_FUNC_SYMLINK test
12043         * m4/readlink.m4 (gl_FUNC_READLINK): Remove conftest.lnk2,
12044         to avoid failure of symlink test later.
12045
12046 2010-01-06  Eric Blake  <ebb9@byu.net>
12047
12048         stdio, unistd: guarantee ssize_t
12049         * lib/unistd.in.h (includes): Ensure that types required by POSIX
12050         2008 are exposed when needed.
12051         * lib/stdio.in.h (includes): Likewise.
12052         Reported by Ralf Wildenhues.
12053
12054 2010-01-06  Paolo Bonzini  <bonzini@gnu.org>
12055
12056         nl_langinfo: do not call AC_CHECK_FUNC_ONCE inside if.
12057         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Do not call
12058         AC_CHECK_FUNC_ONCE inside if, do not adjust ac_cv_func_nl_langinfo.
12059
12060 2010-01-06  Jim Meyering  <meyering@redhat.com>
12061
12062         readtokens: this module *does* require xalloc.h
12063         It uses only functions that were omitted by the old syntax-check rule.
12064         * lib/readtokens.c: Include "xalloc.h" once again.
12065         * modules/readtokens (Depends-on): Add xalloc.
12066         This reverts part of 0e0f8f12ec241c0f1c1f21f960bb5cf908a0fa3c.
12067
12068 2010-01-05  Eric Blake  <ebb9@byu.net>
12069
12070         maint: support 'make announcement' from a VPATH build
12071         * top/maint.mk (announcement): Look for correct NEWS file.
12072
12073 2010-01-05  Aurelien Jarno  <aurelien@aurel32.net>  (tiny change)
12074
12075         utimens (fdutimens): ignore a negative FD, per contract
12076         * lib/utimens.c (fdutimens) [HAVE_FUTIMENS]: Call futimens only
12077         when we have a valid file descriptor.  Otherwise, using a brand
12078         new glibc (with just-patched futimens that now fails with EBADF)
12079         would cause this function to fail with ENOSYS.
12080         Reported by Guillaume Ayoub in http://bugs.debian.org/563726.
12081         See also http://bugzilla.redhat.com/552320.
12082
12083 2010-01-05  Eric Blake  <ebb9@byu.net>
12084
12085         strcase: document what it provides
12086         * doc/posix-functions/strcasecmp.texi (strcasecmp): Mention the
12087         gnulib module.
12088         * doc/posix-functions/strncasecmp.texi (strncasecmp): Likewise.
12089         Reported by Dilyan Palauzov <Dilyan.Palauzov@aegee.org>.
12090
12091 2010-01-05  Jim Meyering  <meyering@redhat.com>
12092
12093         maint: remove useless inclusions of "xalloc.h"
12094         * lib/getloadavg.c: Remove useless inclusion of "xalloc.h".
12095         * lib/readtokens.c: Likewise.
12096         * lib/same.c: Likewise.
12097         * modules/getloadavg (Depends-on): Remove xalloc.
12098         * modules/readtokens: Likewise.
12099         * modules/same: Likewise.
12100
12101         maint.mk: include 4 more function names in alloca.h-checking regexp
12102         * top/maint.mk (sc_prohibit_xalloc_without_use): Use more complete
12103         regexp.  Before, we would give a false-positive (saying alloca.h
12104         is included unnecessarily) when the only uses involved omitted symbols.
12105
12106         xalloc.h: use consistent formatting
12107         * lib/xalloc.h: Move declarations to start in the first column.
12108
12109 2010-01-05  Eric Blake  <ebb9@byu.net>
12110
12111         mkdir: avoid xalloc
12112         * lib/mkdir.c (includes): Drop unused header.
12113         Reported by John W. Eaton.
12114
12115 2010-01-04  Jim Meyering  <meyering@redhat.com>
12116
12117         nl_langinfo: avoid configure-time syntax error
12118         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): When we've already tested
12119         for nl_langinfo.h, AC_CHECK_FUNCS_ONCE([nl_langinfo]) expands to
12120         the empty string.  Don't let that provoke a shell syntax error.
12121
12122         regcomp, regexec, fnmatch: avoid array bounds read error
12123         * lib/regcomp.c (build_equiv_class): From glibc:
12124         Use only the low 24 bits of a findidx return value as an index
12125         into the weights array.  Patch by Ulrich Drepper:
12126         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commit;h=b7d1c5fa30
12127         * lib/regexec.c (check_node_accept_bytes): Likewise.
12128         * lib/fnmatch_loop.c (FCT): Likewise.
12129
12130         regcomp: skip collseq lookup when there are no rules
12131         * lib/regcomp.c (lookup_collation_sequence_value): From glibc:
12132         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a532a41df58
12133
12134         regcomp: recognize ill-formed { } expressions
12135         * lib/regcomp.c (parse_dup_op): From glibc:
12136         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a87cd2894cb
12137
12138         regcomp: fix typo in comment
12139         * lib/regcomp.c (duplicate_node_closure): Sync from glibc.
12140         s/satisfy/satisfies/.
12141
12142         regcomp: sync from glibc: remove dead store
12143         * lib/regcomp.c (duplicate_node_closure): Remove useless
12144         search_duplicated_node call and dead store.
12145
12146         regcomp: sync from glibc; always use nl_langinfo
12147         * lib/regcomp.c (init_dfa) [!LIBC]: Always use nl_langinfo (CODESET),
12148         now that gnulib provides it.  Recognize UTF8 as well as UTF-8.
12149         * modules/regex (Depends-on): Add nl_langinfo.
12150
12151 2010-01-04  Eric Blake  <ebb9@byu.net>
12152
12153         fdopendir: fix configure test
12154         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for existing file.
12155
12156 2010-01-01  Bruno Haible  <bruno@clisp.org>
12157
12158         wchar: Remove unused configure check.
12159         * m4/wchar.m4 (gl_WCHAR_H): Don't test whether <wchar.h> is standalone.
12160
12161 2010-01-01  Eric Blake  <ebb9@byu.net>
12162
12163         headers: make check of system header explicit
12164         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't exploit knowledge of
12165         gl_CHECK_NEXT_HEADER internals, but call AC_CHECK_HEADERS_ONCE
12166         ourselves.
12167         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
12168         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
12169         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
12170         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise, for gt_INTTYPES_PRI
12171         internals.
12172         * m4/wchar.m4 (gl_WCHAR_H): Skip followup test if header is
12173         missing.
12174         Suggested by Bruno Haible.
12175
12176 2010-01-01  Jim Meyering  <meyering@redhat.com>
12177
12178         ChangeLog: tweak to eliminate unnecessary copyright line
12179         * ChangeLog: Remove a copyright line that was mistakenly updated
12180         by today's update-copyright run.  Reported by Eric Blake.
12181
12182         test-update-copyright: don't let envvar setting cause test failure
12183         * tests/test-update-copyright.sh: Set UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
12184
12185 2010-01-01  Bruno Haible  <bruno@clisp.org>
12186
12187         localename: Avoid gcc warning.
12188         * lib/localename.c (gl_locale_name_thread_unsafe): Don't define this
12189         function if it is not used.
12190
12191 2010-01-01  Jim Meyering  <meyering@redhat.com>
12192
12193         update nearly all FSF copyright year lists to include 2010
12194         Use the same procedure as for 2009, outlined in
12195         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/20081
12196
12197         version-etc: set COPYRIGHT_YEAR to 2010
12198         * lib/version-etc.c (COPYRIGHT_YEAR): Manually update the enum.
12199
12200 2009-12-31  Eric Blake  <ebb9@byu.net>
12201
12202         doc: correct availability of cygwin 1.5.x getopt
12203         * doc/posix-functions/optarg.texi (optarg): Cygwin supplies getopt
12204         variables.
12205         * doc/posix-functions/opterr.texi (opterr): Likewise.
12206         * doc/posix-functions/optind.texi (optind): Likewise.
12207         * doc/posix-functions/optopt.texi (optopt): Likewise.
12208         * doc/posix-functions/tzname.texi (tzname): Likewise.
12209
12210         openat: update maintainer
12211         * modules/openat (Maintainer): Add myself.
12212
12213         utimens: avoid shadowing warning
12214         * lib/utimens.c (fdutimens, lutimens): Consolidate separate stat
12215         buffers into one, to avoid shadowing, as well as avoiding a
12216         redundant stat.
12217         Reported by Jim Meyering.
12218
12219         test-dup2: avoid compiler warning
12220         * tests/test-dup2.c (is_inheritable): Only define if used.
12221
12222 2010-01-01  Bruno Haible  <bruno@clisp.org>
12223
12224         vasnprintf: Avoid passing an 'rpl_mbstate_t *' to the system's wcrtomb.
12225         * lib/vasnprintf.c (VASNPRINTF): If GNULIB_defined_mbstate_t is
12226         defined, use wctomb instead of wcrtomb.
12227
12228 2010-01-01  Bruno Haible  <bruno@clisp.org>
12229
12230         iconv: Reject native Solaris iconv.
12231         * m4/iconv.m4 (AM_ICONV_LINK): Recognize native Solaris iconv() bug.
12232         * doc/posix-functions/iconv.texi: Document native Solaris iconv() bug.
12233
12234 2009-12-31  Bruno Haible  <bruno@clisp.org>
12235
12236         * tests/test-signal.c (main): Remove test of 'SIG'.
12237
12238 2009-12-31  Bruno Haible  <bruno@clisp.org>
12239
12240         spawn: Fix incomplete fix.
12241         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
12242         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
12243         warnings for GNULIB_POSIXCHECK again.
12244         Reported by Eric Blake.
12245
12246 2009-12-31  Bruno Haible  <bruno@clisp.org>
12247
12248         Avoid namespace pollution on glibc systems.
12249         * lib/spawn.in.h: Don't include <sched.h>, <signal.h> on glibc systems.
12250         * lib/sys_times.in.h: Don't include <time.h> on glibc systems.
12251         * lib/wchar.in.h: Don't include <stddef.h>, <stdio.h>, <time.h> on
12252         glibc systems.
12253
12254 2009-12-31  Bruno Haible  <bruno@clisp.org>
12255
12256         * m4/wchar.m4 (gl_WCHAR_H): Remove gl_STDDEF_H invocation.
12257         (gl_REPLACE_WCHAR_H): Turn into a no-op.
12258         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Likewise.
12259         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
12260         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
12261         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
12262         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
12263
12264 2009-12-31  Bruno Haible  <bruno@clisp.org>
12265
12266         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
12267         gl_CHECK_NEXT_HEADERS before testing ac_cv_header_sys_select_h, not
12268         afterwards.
12269
12270 2009-12-31  Bruno Haible  <bruno@clisp.org>
12271
12272         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H_DEFAULTS): Don't set
12273         SYS_UTSNAME_H.
12274
12275 2009-12-31  Bruno Haible  <bruno@clisp.org>
12276
12277         spawn: Fix misapplied patch.
12278         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
12279         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
12280         warnings for GNULIB_POSIXCHECK.
12281
12282 2009-12-31  Bruno Haible  <bruno@clisp.org>
12283
12284         times: Update after sys_times changed.
12285         * m4/times.m4: New file, extracted from modules/times. Set HAVE_TIMES.
12286         * modules/times (Files): Add it.
12287         (configure.ac): Invoke gl_FUNC_TIMES.
12288
12289 2009-12-31  Bruno Haible  <bruno@clisp.org>
12290
12291         Use AC_C_INLINE where necessary.
12292         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Require AC_C_INLINE.
12293         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
12294         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
12295         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
12296         * m4/mbfile.m4 (gl_MBFILE): Likewise.
12297         * m4/mbiter.m4 (gl_MBITER): Likewise.
12298         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
12299         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
12300         * m4/wait-process.m4 (gl_WAIT_PROCESS): Likewise.
12301         * modules/u64 (configure.ac): Likewise.
12302
12303 2009-12-31  Bruno Haible  <bruno@clisp.org>
12304
12305         Use AC_C_INLINE instead of module 'inline' where possible.
12306         * modules/inline (Description): Clarify purpose.
12307         * m4/count-one-bits.m4 (gl_COUNT_ONE_BITS): Require AC_C_INLINE.
12308         * modules/count-one-bits (Depends-on): Remove inline.
12309         * m4/openat.m4 (gl_PREREQ_OPENAT): Require AC_C_INLINE.
12310         * modules/openat (Depends-on): Remove inline.
12311         * modules/fdutimensat (Depends-on, configure.ac): Require AC_C_INLINE
12312         instead of depending on module 'inline'.
12313         * modules/filevercmp (Depends-on, configure.ac): Likewise.
12314         * modules/unicase/cased (Depends-on, configure.ac): Likewise.
12315         * modules/unicase/ignorable (Depends-on, configure.ac): Likewise.
12316         * modules/unictype/category-of (Depends-on, configure.ac): Likewise.
12317         * modules/unictype/category-test (Depends-on, configure.ac): Likewise.
12318         * modules/unictype/ctype-alnum (Depends-on, configure.ac): Likewise.
12319         * modules/unictype/ctype-alpha (Depends-on, configure.ac): Likewise.
12320         * modules/unictype/ctype-blank (Depends-on, configure.ac): Likewise.
12321         * modules/unictype/ctype-cntrl (Depends-on, configure.ac): Likewise.
12322         * modules/unictype/ctype-digit (Depends-on, configure.ac): Likewise.
12323         * modules/unictype/ctype-graph (Depends-on, configure.ac): Likewise.
12324         * modules/unictype/ctype-lower (Depends-on, configure.ac): Likewise.
12325         * modules/unictype/ctype-print (Depends-on, configure.ac): Likewise.
12326         * modules/unictype/ctype-punct (Depends-on, configure.ac): Likewise.
12327         * modules/unictype/ctype-space (Depends-on, configure.ac): Likewise.
12328         * modules/unictype/ctype-upper (Depends-on, configure.ac): Likewise.
12329         * modules/unictype/ctype-xdigit (Depends-on, configure.ac): Likewise.
12330         * modules/unictype/property-alphabetic (Depends-on, configure.ac):
12331         Likewise.
12332         * modules/unictype/property-ascii-hex-digit (Depends-on,
12333         configure.ac): Likewise.
12334         * modules/unictype/property-bidi-arabic-digit (Depends-on,
12335         configure.ac): Likewise.
12336         * modules/unictype/property-bidi-arabic-right-to-left (Depends-on,
12337         configure.ac): Likewise.
12338         * modules/unictype/property-bidi-block-separator (Depends-on,
12339         configure.ac): Likewise.
12340         * modules/unictype/property-bidi-boundary-neutral (Depends-on,
12341         configure.ac): Likewise.
12342         * modules/unictype/property-bidi-common-separator (Depends-on,
12343         configure.ac): Likewise.
12344         * modules/unictype/property-bidi-control (Depends-on, configure.ac):
12345         Likewise.
12346         * modules/unictype/property-bidi-embedding-or-override (Depends-on,
12347         configure.ac): Likewise.
12348         * modules/unictype/property-bidi-eur-num-separator (Depends-on,
12349         configure.ac): Likewise.
12350         * modules/unictype/property-bidi-eur-num-terminator (Depends-on,
12351         configure.ac): Likewise.
12352         * modules/unictype/property-bidi-european-digit (Depends-on,
12353         configure.ac): Likewise.
12354         * modules/unictype/property-bidi-hebrew-right-to-left (Depends-on,
12355         configure.ac): Likewise.
12356         * modules/unictype/property-bidi-left-to-right (Depends-on,
12357         configure.ac): Likewise.
12358         * modules/unictype/property-bidi-non-spacing-mark (Depends-on,
12359         configure.ac): Likewise.
12360         * modules/unictype/property-bidi-other-neutral (Depends-on,
12361         configure.ac): Likewise.
12362         * modules/unictype/property-bidi-pdf (Depends-on, configure.ac):
12363         Likewise.
12364         * modules/unictype/property-bidi-segment-separator (Depends-on,
12365         configure.ac): Likewise.
12366         * modules/unictype/property-bidi-whitespace (Depends-on,
12367         configure.ac): Likewise.
12368         * modules/unictype/property-combining (Depends-on, configure.ac):
12369         Likewise.
12370         * modules/unictype/property-composite (Depends-on, configure.ac):
12371         Likewise.
12372         * modules/unictype/property-currency-symbol (Depends-on,
12373         configure.ac): Likewise.
12374         * modules/unictype/property-dash (Depends-on, configure.ac): Likewise.
12375         * modules/unictype/property-decimal-digit (Depends-on, configure.ac):
12376         Likewise.
12377         * modules/unictype/property-default-ignorable-code-point (Depends-on,
12378         configure.ac): Likewise.
12379         * modules/unictype/property-deprecated (Depends-on, configure.ac):
12380         Likewise.
12381         * modules/unictype/property-diacritic (Depends-on, configure.ac):
12382         Likewise.
12383         * modules/unictype/property-extender (Depends-on, configure.ac):
12384         Likewise.
12385         * modules/unictype/property-format-control (Depends-on, configure.ac):
12386         Likewise.
12387         * modules/unictype/property-grapheme-base (Depends-on, configure.ac):
12388         Likewise.
12389         * modules/unictype/property-grapheme-extend (Depends-on, configure.ac):
12390         Likewise.
12391         * modules/unictype/property-grapheme-link (Depends-on, configure.ac):
12392         Likewise.
12393         * modules/unictype/property-hex-digit (Depends-on, configure.ac):
12394         Likewise.
12395         * modules/unictype/property-hyphen (Depends-on, configure.ac):
12396         Likewise.
12397         * modules/unictype/property-id-continue (Depends-on, configure.ac):
12398         Likewise.
12399         * modules/unictype/property-id-start (Depends-on, configure.ac):
12400         Likewise.
12401         * modules/unictype/property-ideographic (Depends-on, configure.ac):
12402         Likewise.
12403         * modules/unictype/property-ids-binary-operator (Depends-on,
12404         configure.ac): Likewise.
12405         * modules/unictype/property-ids-trinary-operator (Depends-on,
12406         configure.ac): Likewise.
12407         * modules/unictype/property-ignorable-control (Depends-on,
12408         configure.ac): Likewise.
12409         * modules/unictype/property-iso-control (Depends-on, configure.ac):
12410         Likewise.
12411         * modules/unictype/property-join-control (Depends-on, configure.ac):
12412         Likewise.
12413         * modules/unictype/property-left-of-pair (Depends-on, configure.ac):
12414         Likewise.
12415         * modules/unictype/property-line-separator (Depends-on, configure.ac):
12416         Likewise.
12417         * modules/unictype/property-logical-order-exception (Depends-on,
12418         configure.ac): Likewise.
12419         * modules/unictype/property-lowercase (Depends-on, configure.ac):
12420         Likewise.
12421         * modules/unictype/property-math (Depends-on, configure.ac): Likewise.
12422         * modules/unictype/property-non-break (Depends-on, configure.ac):
12423         Likewise.
12424         * modules/unictype/property-not-a-character (Depends-on, configure.ac):
12425         Likewise.
12426         * modules/unictype/property-numeric (Depends-on, configure.ac):
12427         Likewise.
12428         * modules/unictype/property-other-alphabetic (Depends-on,
12429         configure.ac): Likewise.
12430         * modules/unictype/property-other-default-ignorable-code-point
12431         (Depends-on, configure.ac): Likewise.
12432         * modules/unictype/property-other-grapheme-extend (Depends-on,
12433         configure.ac): Likewise.
12434         * modules/unictype/property-other-id-continue (Depends-on,
12435         configure.ac): Likewise.
12436         * modules/unictype/property-other-id-start (Depends-on, configure.ac):
12437         Likewise.
12438         * modules/unictype/property-other-lowercase (Depends-on, configure.ac):
12439         Likewise.
12440         * modules/unictype/property-other-math (Depends-on, configure.ac):
12441         Likewise.
12442         * modules/unictype/property-other-uppercase (Depends-on, configure.ac):
12443         Likewise.
12444         * modules/unictype/property-paired-punctuation (Depends-on,
12445         configure.ac): Likewise.
12446         * modules/unictype/property-paragraph-separator (Depends-on,
12447         configure.ac): Likewise.
12448         * modules/unictype/property-pattern-syntax (Depends-on, configure.ac):
12449         Likewise.
12450         * modules/unictype/property-pattern-white-space (Depends-on,
12451         configure.ac): Likewise.
12452         * modules/unictype/property-private-use (Depends-on, configure.ac):
12453         Likewise.
12454         * modules/unictype/property-punctuation (Depends-on, configure.ac):
12455         Likewise.
12456         * modules/unictype/property-quotation-mark (Depends-on, configure.ac):
12457         Likewise.
12458         * modules/unictype/property-radical (Depends-on, configure.ac):
12459         Likewise.
12460         * modules/unictype/property-sentence-terminal (Depends-on,
12461         configure.ac): Likewise.
12462         * modules/unictype/property-soft-dotted (Depends-on, configure.ac):
12463         Likewise.
12464         * modules/unictype/property-space (Depends-on, configure.ac): Likewise.
12465         * modules/unictype/property-terminal-punctuation (Depends-on,
12466         configure.ac): Likewise.
12467         * modules/unictype/property-titlecase (Depends-on, configure.ac):
12468         Likewise.
12469         * modules/unictype/property-unassigned-code-value (Depends-on,
12470         configure.ac): Likewise.
12471         * modules/unictype/property-unified-ideograph (Depends-on,
12472         configure.ac): Likewise.
12473         * modules/unictype/property-uppercase (Depends-on, configure.ac):
12474         Likewise.
12475         * modules/unictype/property-variation-selector (Depends-on,
12476         configure.ac): Likewise.
12477         * modules/unictype/property-white-space (Depends-on, configure.ac):
12478         Likewise.
12479         * modules/unictype/property-xid-continue (Depends-on, configure.ac):
12480         Likewise.
12481         * modules/unictype/property-xid-start (Depends-on, configure.ac):
12482         Likewise.
12483         * modules/unictype/property-zero-width (Depends-on, configure.ac):
12484         Likewise.
12485         * modules/unictype/syntax-c-ident (Depends-on, configure.ac): Likewise.
12486         * modules/unictype/syntax-java-ident (Depends-on, configure.ac):
12487         Likewise.
12488
12489 2009-12-31  Bruno Haible  <bruno@clisp.org>
12490
12491         Remove unnecessary AC_C_INLINE invocation.
12492         * m4/popen.m4 (gl_PREREQ_POPEN): Don't invoke AC_C_INLINE. Not needed
12493         since 2009-08-21.
12494
12495 2009-12-31  Jim Meyering  <meyering@redhat.com>
12496
12497         maint.mk: don't require explicit gpg_key_ID in cfg.mk
12498         * top/maint.mk (gpg_key_ID): Derive key ID from signed release tag.
12499         With this change, we can all remove the gpg_key_ID = ... definition
12500         from our respective cfg.mk files.
12501
12502         maint.mk: create announcement template in ~/, not in /tmp
12503         * top/maint.mk (emit_upload_commands): Adjust.
12504         (release-prep): Emit into ~/announce-..., not /tmp/announce-...
12505         Remove temporary file, .ci-msg.
12506
12507 2009-12-31  Eric Blake  <ebb9@byu.net>
12508
12509         link-warning: always build headers with link warnings
12510         * modules/arpa_inet (Makefile.am): Always build replacement
12511         header.
12512         * modules/ctype (Makefile.am): Likewise.
12513         * modules/dirent (Makefile.am): Likewise.
12514         * modules/inttypes (Makefile.am): Likewise.
12515         * modules/langinfo (Makefile.am): Likewise.
12516         * modules/locale (Makefile.am): Likewise.
12517         * modules/spawn (Makefile.am): Likewise.
12518         * modules/sys_file (Makefile.am): Likewise.
12519         * modules/sys_ioctl (Makefile.am): Likewise.
12520         * modules/sys_select (Makefile.am): Likewise.
12521         * modules/sys_socket (Makefile.am): Likewise.
12522         * modules/sys_times (Makefile.am): Likewise.
12523         * modules/sys_utsname (Makefile.am): Likewise.
12524         * modules/sys_wait (Makefile.am): Likewise.
12525         * modules/wchar (Makefile.am): Likewise.
12526         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET)
12527         (gl_ARPA_INET_H_DEFAULTS): Drop unneeded variable.
12528         * m4/ctype.m4 (gl_CTYPE_H_DEFAULTS): Likewise.
12529         * m4/isblank.m4 (gl_FUNC_ISBLANK): Likewise.
12530         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H, gl_DIRENT_H_DEFAULTS):
12531         Likewise.
12532         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
12533         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
12534         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_H_DEFAULTS):
12535         Likewise.
12536         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H, gl_SPAWN_H_DEFAULTS):
12537         Likewise.
12538         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
12539         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H, gl_REPLACE_SYS_IOCTL_H)
12540         (gl_SYS_IOCTL_H_DEFAULTS): Likewise.
12541         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
12542         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
12543         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
12544         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
12545         * m4/wchar.m4 (gl_WCHAR_H, gl_REPLACE_WCHAR_H)
12546         (gl_WCHAR_H_DEFAULTS): Likewise.
12547
12548 2009-12-31  Eric Blake  <ebb9@byu.net>
12549
12550         signal, spawn: use link warnings
12551         * lib/signal.in.h (sigset_t): Make unconditional.
12552         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset)
12553         (sigpending, sigprocmask, sigaction): Add link warnings.
12554         * lib/spawn.in.h (posix_spawn, posix_spawnp, posix_spawnattr_init)
12555         (posix_spawnattr_destroy, posix_spawnattr_getsigdefault)
12556         (posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask)
12557         (posix_spawnattr_setsigmask, posix_spawnattr_getflags)
12558         (posix_spawnattr_setflags, posix_spawnattr_getpgroup)
12559         (posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy)
12560         (posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam)
12561         (posix_spawnattr_setschedparam, posix_spawn_file_actions_init)
12562         (posix_spawn_file_actions_destroy)
12563         (posix_spawn_file_actions_addopen)
12564         (posix_spawn_file_actions_addclose)
12565         (posix_spawn_file_actions_adddup2): Likewise.
12566         * m4/signal_h.m4 (gl_SIGNAL_H): Guarantee uid_t.
12567         * tests/test-signal.c (main): Enhance test.
12568
12569         spawn: improve wrapper support
12570         * m4/spawn_h.m4 (gl_SPAWN_H): Check for type existence.
12571         (gl_SPAWN_H_DEFAULTS): New defaults.
12572         * modules/spawn (Makefile.am): Substitute them.
12573         * lib/spawn.in.h: (posix_spawnattr_t, posix_spawn_file_actions_t):
12574         Only declare if missing or broken.
12575
12576         sys_times, sys_utsname: use include_next
12577         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Support wrapping an existing
12578         header.
12579         (gl_SYS_TIMES_H_DEFAULTS): Add another variable.
12580         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
12581         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
12582         * modules/sys_times (Depends-on): Add include_next.
12583         (Makefile.am): Substitute additional values.
12584         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
12585         * lib/sys_times.in.h (includes): Include native header, if
12586         available.
12587         * lib/sys_utsname.in.h (includes): Likewise.
12588         * tests/test-sys_times.c (main): Enhance test.
12589
12590         fdutimensat: revert prior patch
12591         * modules/fdutimensat (Depends-on): Re-add inline; it is needed by
12592         utimens.h.
12593         Reported by Bruno Haible.
12594
12595 2009-12-30  Eric Blake  <ebb9@byu.net>
12596
12597         sys_wait: drop link-warning dependency
12598         * modules/sys_wait (Depends-on, Makefile.am): Drop unneeded
12599         link-warning efforts.
12600         * lib/sys_wait.in.h: Likewise.
12601
12602         fdutimensat: remove bogus dependency
12603         * modules/fdutimensat (Depends-on): Drop inline.
12604
12605         unistd: fix typo
12606         * lib/unistd.in.h (linkat) [GNULIB_POSIXCHECK]: Fix typo.
12607
12608 2009-12-30  Bruno Haible  <bruno@clisp.org>
12609
12610         Fix compilation error with Solaris cc.
12611         * lib/unicase/u8-is-invariant.c: Include <stdbool.h>.
12612         * lib/unicase/u16-is-invariant.c: Likewise.
12613         * lib/unicase/u32-is-invariant.c: Likewise.
12614         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
12615
12616 2009-12-30  Bruno Haible  <bruno@clisp.org>
12617
12618         Fix test crash.
12619         * tests/test-localename.c (test_locale_name_thread): Skip unavailable
12620         locales.
12621         Reported by Simon Josefsson <simon@josefsson.org>.
12622
12623 2009-12-30  Bruno Haible  <bruno@clisp.org>
12624
12625         Fix compilation error on most platforms.
12626         * tests/test-localename.c (categories): Define only if HAVE_NEWLOCALE.
12627         Reported by Simon Josefsson <simon@josefsson.org>
12628         and Nelson H. F. Beebe <beebe@math.utah.edu>.
12629
12630 2009-12-30  Eric Blake  <ebb9@byu.net>
12631
12632         futimens, utimensat: work around ntfs-3g bug
12633         * lib/utimensat.c (rpl_utimensat): Drop attempts to cache whether
12634         a ctime bug is present, and expand workaround to cover ntfs-3g.
12635         * lib/utimens.c (fdutimens, lutimens): Likewise.
12636         (utimensat_ctime_really, detect_ctime_bug): Drop cache mechanism.
12637         (validate_timespec): Adjust return value.
12638         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Update comment.
12639         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
12640         Reported by ctrn3e8 <ctrn3e8@gmail.com>.
12641
12642 2009-12-29  Eric Blake  <ebb9@byu.net>
12643
12644         link-warning: make usage consistent
12645         * modules/ctype (Depends-on): Add link-warning.
12646         (Makefile.am): Update rules accordingly.
12647         * modules/langinfo (Depends-on, Makefile.am): Likewise.
12648         * modules/locale (Depends-on, Makefile.am): Likewise.
12649         * modules/sys_file (Makefile.am): Likewise.
12650         * modules/getopt-posix (Makefile.am): Delete unused link warning
12651         efforts.
12652         * lib/ctype.in.h (GL_LINK_WARNING): Ensure definition before use.
12653         * lib/langinfo.in.h (GL_LINK_WARNING): Likewise.
12654         * lib/locale.in.h (GL_LINK_WARNING): Likewise.
12655         * lib/sys_file.in.h (GL_LINK_WARNING): Likewise.
12656
12657         stdio: remove unused variables
12658         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Remove unused variables.
12659         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Likewise.
12660         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
12661
12662         tests: test more substitute headers
12663         * modules/ctype-tests: New file.
12664         * modules/dirent-tests: Likewise.
12665         * modules/spawn-tests: Likewise.
12666         * modules/sys_file-tests: Likewise.
12667         * modules/sys_ioctl-tests: Likewise.
12668         * modules/sys_wait-tests: Likewise.
12669         * tests/test-ctype.c: Likewise.
12670         * tests/test-dirent.c: Likewise.
12671         * tests/test-spawn.c: Likewise.
12672         * tests/test-sys_file.c: Likewise.
12673         * tests/test-sys_ioctl.c: Likewise.
12674         * tests/test-sys_wait.c: Likewise.
12675         * m4/spawn_h.m4 (gl_SPAWN_H): Replace header if it is missing.
12676         * lib/sys_file.in.h (LOCK_SH, LOCK_EX, LOCK_UN, LOCK_NB): Provide
12677         whether or not flock is in use.
12678
12679         tests: remove License section from module
12680         * modules/arpa_inet-tests: Remove unneeded section.
12681         * modules/byteswap-tests: Likewise.
12682         * modules/ceilf-tests: Likewise.
12683         * modules/ceill-tests: Likewise.
12684         * modules/crypto/des-tests: Likewise.
12685         * modules/crypto/gc-arcfour-tests: Likewise.
12686         * modules/crypto/gc-arctwo-tests: Likewise.
12687         * modules/crypto/gc-des-tests: Likewise.
12688         * modules/crypto/gc-hmac-md5-tests: Likewise.
12689         * modules/crypto/gc-hmac-sha1-tests: Likewise.
12690         * modules/crypto/gc-md2-tests: Likewise.
12691         * modules/crypto/gc-md4-tests: Likewise.
12692         * modules/crypto/gc-md5-tests: Likewise.
12693         * modules/crypto/gc-pbkdf2-sha1-tests: Likewise.
12694         * modules/crypto/gc-rijndael-tests: Likewise.
12695         * modules/crypto/gc-sha1-tests: Likewise.
12696         * modules/crypto/gc-tests: Likewise.
12697         * modules/crypto/md2-tests: Likewise.
12698         * modules/crypto/md4-tests: Likewise.
12699         * modules/fcntl-h-tests: Likewise.
12700         * modules/floorf-tests: Likewise.
12701         * modules/floorl-tests: Likewise.
12702         * modules/frexp-nolibm-tests: Likewise.
12703         * modules/frexp-tests: Likewise.
12704         * modules/frexpl-nolibm-tests: Likewise.
12705         * modules/frexpl-tests: Likewise.
12706         * modules/getaddrinfo-tests: Likewise.
12707         * modules/inttypes-tests: Likewise.
12708         * modules/isfinite-tests: Likewise.
12709         * modules/isinf-tests: Likewise.
12710         * modules/ldexpl-tests: Likewise.
12711         * modules/locale-tests: Likewise.
12712         * modules/math-tests: Likewise.
12713         * modules/netdb-tests: Likewise.
12714         * modules/netinet_in-tests: Likewise.
12715         * modules/printf-frexp-tests: Likewise.
12716         * modules/printf-frexpl-tests: Likewise.
12717         * modules/priv-set-tests: Likewise.
12718         * modules/random_r-tests: Likewise.
12719         * modules/round-tests: Likewise.
12720         * modules/roundf-tests: Likewise.
12721         * modules/roundl-tests: Likewise.
12722         * modules/search-tests: Likewise.
12723         * modules/select-tests: Likewise.
12724         * modules/signal-tests: Likewise.
12725         * modules/stdbool-tests: Likewise.
12726         * modules/stddef-tests: Likewise.
12727         * modules/stdint-tests: Likewise.
12728         * modules/stdio-tests: Likewise.
12729         * modules/stdlib-tests: Likewise.
12730         * modules/string-tests: Likewise.
12731         * modules/strings-tests: Likewise.
12732         * modules/sys_select-tests: Likewise.
12733         * modules/sys_socket-tests: Likewise.
12734         * modules/sys_stat-tests: Likewise.
12735         * modules/sys_time-tests: Likewise.
12736         * modules/sys_utsname-tests: Likewise.
12737         * modules/sysexits-tests: Likewise.
12738         * modules/time-tests: Likewise.
12739         * modules/trunc-tests: Likewise.
12740         * modules/truncf-tests: Likewise.
12741         * modules/truncl-tests: Likewise.
12742         * modules/tsearch-tests: Likewise.
12743         * modules/unistd-tests: Likewise.
12744         * modules/wchar-tests: Likewise.
12745         * modules/wctype-tests: Likewise.
12746
12747         tests: fix license on several tests
12748         * tests/test-des.c: Update to GPLv3+.
12749         * tests/test-flock.c: Likewise.
12750         * tests/test-fsync.c: Likewise.
12751         * tests/test-futimens.h: Likewise.
12752         * tests/test-gc-arcfour.c: Likewise.
12753         * tests/test-gc-arctwo.c: Likewise.
12754         * tests/test-gc-des.c: Likewise.
12755         * tests/test-gc-hmac-md5.c: Likewise.
12756         * tests/test-gc-hmac-sha1.c: Likewise.
12757         * tests/test-gc-md2.c: Likewise.
12758         * tests/test-gc-md4.c: Likewise.
12759         * tests/test-gc-md5.c: Likewise.
12760         * tests/test-gc-pbkdf2-sha1.c: Likewise.
12761         * tests/test-gc-rijndael.c: Likewise.
12762         * tests/test-gc-sha1.c: Likewise.
12763         * tests/test-gc.c: Likewise.
12764         * tests/test-getcwd.c: Likewise.
12765         * tests/test-link.c: Likewise.
12766         * tests/test-link.h: Likewise.
12767         * tests/test-lutimens.h: Likewise.
12768         * tests/test-md2.c: Likewise.
12769         * tests/test-md4.c: Likewise.
12770         * tests/test-mkdir.h: Likewise.
12771         * tests/test-rename.c: Likewise.
12772         * tests/test-rename.h: Likewise.
12773         * tests/test-safe-alloc.c: Likewise.
12774         * tests/test-utimens-common.h: Likewise.
12775         * tests/test-utimens.h: Likewise.
12776
12777         maint: sync license texts
12778         * config/srclist.txt: Add gpl-1.3.texi, lgpl-1.3.texi.
12779         * doc/gpl-3.0.texi: Revert copyright year update.
12780         * doc/lgpl-3.0.texi: Likewise.
12781
12782 2009-12-29  Jim Meyering  <meyering@redhat.com>
12783
12784         update nearly all FSF copyright year lists to include 2009
12785         The files named by the following are exempted:
12786             grep -v '^#' config/srclist.txt|grep -v '^$' | while read src dst; do
12787               test -f "$dst" && { echo "$dst"; continue; }
12788               test -d "$dst" || continue
12789               echo "$dst"/$(basename "$src")
12790             done > exempt
12791             git ls-files tests/unictype >> exempt
12792         In the remaining files, convert to all-interval notation if
12793         - there is already at least one year interval like 2000-2003
12794         - the file is maintained by me
12795         - the file is in lib/uni*/, where that style already prevails
12796         Otherwise, use update-copyright's default.
12797
12798 2009-12-29  Simon Josefsson  <simon@josefsson.org>
12799         and Eric Blake  <ebb9@byu.net>
12800
12801         tests: don't require debug system() to pass
12802         * tests/test-lstat.h (test_lstat_func): Move debug cleanup...
12803         * tests/test-rmdir.h (test_rmdir_func): Likewise.
12804         * tests/test-unlink.h (test_unlink_func): Likewise.
12805         * tests/test-fstatat.c (main): ...into callers.
12806         * tests/test-lstat.c (main): Likewise.
12807         * tests/test-rmdir.c (main): Likewise.
12808         * tests/test-unlink.c (main): Likewise.
12809         * tests/test-unlinkat.c (main): Likewise.
12810         * tests/test-areadlink-with-size.c (main): Don't require a
12811         debug-only system call to pass, aiding cross-testing to mingw.
12812         * tests/test-areadlink.c (main): Likewise.
12813         * tests/test-areadlinkat-with-size.c (main): Likewise.
12814         * tests/test-areadlinkat.c (main): Likewise.
12815         * tests/test-canonicalize-lgpl.c (main): Likewise.
12816         * tests/test-canonicalize.c (main): Likewise.
12817         * tests/test-chown.c (main): Likewise.
12818         * tests/test-fchownat.c (main): Likewise.
12819         * tests/test-lchown.c (main): Likewise.
12820         * tests/test-fdutimensat.c (main): Likewise.
12821         * tests/test-futimens.c (main): Likewise.
12822         * tests/test-link.c (main): Likewise.
12823         * tests/test-linkat.c (main): Likewise.
12824         * tests/test-mkdir.c (main): Likewise.
12825         * tests/test-mkdirat.c (main): Likewise.
12826         * tests/test-mkfifo.c (main): Likewise.
12827         * tests/test-mkfifoat.c (main): Likewise.
12828         * tests/test-mknod.c (main): Likewise.
12829         * tests/test-readlink.c (main): Likewise.
12830         * tests/test-remove.c (main): Likewise.
12831         * tests/test-rename.c (main): Likewise.
12832         * tests/test-renameat.c (main): Likewise.
12833         * tests/test-symlink.c (main): Likewise.
12834         * tests/test-symlinkat.c (main): Likewise.
12835         * tests/test-utimens.c (main): Likewise.
12836         * tests/test-utimensat.c (main): Likewise.
12837
12838 2009-12-29  Simon Josefsson  <simon@josefsson.org>
12839
12840         * modules/selinux-h (selinux/selinux.h, selinux/context.h): Depend
12841         on $(UNUSED_PARAMETER_H) to avoid build failure.
12842
12843 2009-12-28  Jim Meyering  <meyering@redhat.com>
12844
12845         update-copyright: you may specify a max. line length other than 72
12846         * build-aux/update-copyright: Honor $UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
12847
12848         maint: use consistent FSF copyright line syntax
12849         * lib/posixtm.c: Add missing comma in FSF copyright line.
12850         * lib/posixtm.h: Likewise.
12851         * lib/getugroups.c: Add missing ", Inc.".
12852
12853         pmccabe2html: emit consistent FSF copyright; remove trailing blanks
12854         * build-aux/pmccabe2html: Insert comma before "Inc." in emitted
12855         FSF copyright line.  Remove trailing blanks.
12856
12857 2009-12-28  Eric Blake  <ebb9@byu.net>
12858
12859         test-dup2: reduce dependencies
12860         * modules/cloexec (Configure.ac): Set witness.
12861         * modules/dup2-tests (Depends-on): Drop cloexec.
12862         * tests/test-dup2.c (main): Skip portion of test if cloexec module
12863         not present.
12864         Suggested by Bruno Haible.
12865
12866 2009-12-26  Bruno Haible  <bruno@clisp.org>
12867
12868         Remove an unneeded dependency.
12869         * modules/fseterr (Depends-on): Remove dup2.
12870
12871 2009-12-26  Eric Blake  <ebb9@byu.net>
12872
12873         tests: use macros.h in more places
12874         * tests/macros.h (ASSERT): Depend on ASSERT_STREAM.
12875         (ASSERT_STREAM): Provide default of stderr.
12876         * tests/test-dirent-safer.c: Include macros.h, using alternate
12877         stream for assertions.
12878         * tests/test-dup-safer.c: Likewise.
12879         * tests/test-freopen-safer.c: Likewise.
12880         * tests/test-getopt.c: Likewise.
12881         * tests/test-openat-safer.c: Likewise.
12882         * tests/test-pipe.c: Likewise.
12883         * tests/test-popen-safer.c: Likewise.
12884         * modules/dirent-safer-tests (Files): Include macros.h.
12885         * modules/unistd-safer-tests (Files): Likewise.
12886         * modules/freopen-safer-tests (Files): Likewise.
12887         * modules/getopt-posix-tests (Files): Likewise.
12888         * modules/openat-safer-tests (Files): Likewise.
12889         * modules/pipe-tests (Files): Likewise.
12890
12891 2009-12-26  Bruno Haible  <bruno@clisp.org>
12892
12893         javacomp: Portability fix.
12894         * m4/javacomp.m4 (gt_JAVACOMP): Fix creation of conftestver.class so
12895         that it also works on Solaris.
12896
12897 2009-12-26  Bruno Haible  <bruno@clisp.org>
12898
12899         localename: Fix storage allocation of gl_locale_name_thread's result.
12900         * lib/localename.c (SIZE_BITS, string_hash, struct hash_node,
12901         HASH_TABLE_SIZE, struniq_hash_table, struniq_lock, struniq): Define on
12902         all platforms that have 'uselocale'.
12903         (gl_locale_name_thread_unsafe): New function, extracted from
12904         gl_locale_name_thread.
12905         (gl_locale_name_thread): Call struniq on all platforms that have
12906         'uselocale'.
12907         * tests/test-localename.c (test_locale_name_thread): Check that the
12908         resulting strings are permanently allocated.
12909         * modules/localename-tests (Depends-on): Add strdup.
12910
12911 2009-12-26  Bruno Haible  <bruno@clisp.org>
12912
12913         * tests/test-localename.c (categories): Fill in the strings.
12914
12915 2009-12-26  Jim Meyering  <meyering@redhat.com>
12916
12917         isdir: complete the removal of m4/isdir.m4
12918         * modules/isdir (configure.ac): Remove reference to gl_ISDIR.
12919
12920         isdir: clean up, since at least grep still uses it
12921         * lib/isdir.c: Include "isdir.h".
12922         (S_ISDIR): Remove now-unneeded definition.
12923         * modules/isdir (Files): Add lib/isdir.h.
12924         * lib/isdir.h: New file, with declaration.
12925         * m4/isdir.m4: Remove file -- unneeded.
12926
12927 2009-12-25  Bruno Haible  <bruno@clisp.org>
12928
12929         selinux-h: Make generated .h files standalone.
12930         * lib/se-context.in.h: Arrange to include _GL_UNUSED_PARAMETER
12931         definition. Use _GL_UNUSED_PARAMETER instead of _GL_UNUSED.
12932         * lib/se-selinux.in.h: Likewise.
12933         * modules/selinux-h (Depends-on): Add unused-parameter.
12934         (Makefile.am): Insert definition of _GL_UNUSED_PARAMETER into
12935         selinux/selinux.h and selinux/context.h.
12936         Suggested by Eric Blake.
12937
12938 2009-12-25  Bruno Haible  <bruno@clisp.org>
12939
12940         Move gl_FCNTL_O_FLAGS to a separate .m4 file.
12941         * m4/fcntl-o.m4: New file, extracted from m4/fcntl_h.m4.
12942         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): Remove macro.
12943         * modules/fcntl-h (Files): Add m4/fcntl-o.m4.
12944         * modules/localcharset (Files): Likewise. Remove m4/fcntl_h.m4.
12945
12946 2009-12-24  Bruno Haible  <bruno@clisp.org>
12947
12948         openat: Fix warning.
12949         * lib/openat-proc.c: Include <unistd.h>.
12950
12951 2009-12-24  Bruno Haible  <bruno@clisp.org>
12952
12953         New module 'unused-parameter'.
12954         * build-aux/unused-parameter.h: New file, extracted from earlier
12955         gnulib-common.m4.
12956         * modules/unused-parameter: New file.
12957         * lib/unistr.h: Include unused-parameter.h.
12958         (u32_mbtouc_unsafe, u32_mbtouc): Use _GL_UNUSED_PARAMETER instead of
12959         _GL_UNUSED.
12960         * modules/unistr/base (Depends-on): Add unused-parameter.
12961
12962 2009-12-24  Bruno Haible  <bruno@clisp.org>
12963
12964         Add missing dependencies to 'extensions' module.
12965         * m4/extensions.m4: Add comment.
12966         * modules/accept4 (Depends-on): Add extensions.
12967         * modules/dup3 (Depends-on): Likewise.
12968         * modules/fcntl (Depends-on): Likewise.
12969         * modules/futimens (Depends-on): Likewise.
12970         * modules/mknod (Depends-on): Likewise.
12971         * modules/pipe2 (Depends-on): Likewise.
12972         * modules/stat-time (Depends-on): Likewise.
12973         * modules/strcasestr-simple (Depends-on): Likewise.
12974         * modules/strsignal (Depends-on): Likewise.
12975         * modules/utimensat (Depends-on): Likewise.
12976         * modules/localcharset (Depends-on): Likewise. Needed because of
12977         gl_FCNTL_O_FLAGS.
12978         * modules/wcrtomb (Depends-on): Likewise. Needed because of
12979         AC_TYPE_MBSTATE_T.
12980         * modules/wcsnrtombs (Depends-on): Likewise.
12981         * modules/wcsrtombs (Depends-on): Likewise.
12982
12983 2009-12-24  Bruno Haible  <bruno@clisp.org>
12984
12985         binary-io: Avoid gcc warning due to SET_BINARY.
12986         * lib/binary-io.h (SET_BINARY): Cast the result to void.
12987         Reported by Jim Meyering <jim@meyering.net>. Suggestion by Eric Blake.
12988
12989 2009-12-24  Bruno Haible  <bruno@clisp.org>
12990
12991         Avoid future namespace pollution on glibc systems.
12992         * lib/arpa_inet.in.h: Don't include <sys/socket.h> on glibc systems.
12993         * lib/sys_ioctl.in.h: Don't include <unistd.h> on glibc systems.
12994         * lib/sys_select.in.h: Don't include <sys/time.h> and <string.h> on
12995         glibc systems.
12996
12997 2009-12-24  Bruno Haible  <bruno@clisp.org>
12998
12999         Refactor common macros used in tests.
13000         * tests/macros.h: New file.
13001         * tests/test-areadlink.c: Include macros.h. Don't include <stdio.h>
13002         and/or <stdlib.h>, if appropriate.
13003         (ASSERT, SIZEOF): Remove macros.
13004         * tests/test-areadlink-with-size.c: Likewise.
13005         * tests/test-areadlinkat.c: Likewise.
13006         * tests/test-areadlinkat-with-size.c: Likewise.
13007         * tests/test-argmatch.c: Likewise.
13008         * tests/test-argv-iter.c: Likewise.
13009         * tests/test-array-mergesort.c: Likewise.
13010         * tests/test-array_list.c: Likewise.
13011         * tests/test-array_oset.c: Likewise.
13012         * tests/test-avltree_list.c: Likewise.
13013         * tests/test-avltree_oset.c: Likewise.
13014         * tests/test-avltreehash_list.c: Likewise.
13015         * tests/test-base64.c: Likewise.
13016         * tests/test-binary-io.c: Likewise.
13017         * tests/test-bitrotate.c: Likewise.
13018         * tests/test-btowc.c: Likewise.
13019         * tests/test-byteswap.c: Likewise.
13020         * tests/test-c-ctype.c: Likewise.
13021         * tests/test-c-stack.c: Likewise.
13022         * tests/test-c-strcasecmp.c: Likewise.
13023         * tests/test-c-strcasestr.c: Likewise.
13024         * tests/test-c-strncasecmp.c: Likewise.
13025         * tests/test-c-strstr.c: Likewise.
13026         * tests/test-canonicalize-lgpl.c: Likewise.
13027         * tests/test-canonicalize.c: Likewise.
13028         * tests/test-carray_list.c: Likewise.
13029         * tests/test-ceilf1.c: Likewise.
13030         * tests/test-ceilf2.c: Likewise.
13031         * tests/test-ceill.c: Likewise.
13032         * tests/test-chown.c: Likewise.
13033         * tests/test-cloexec.c: Likewise.
13034         * tests/test-copy-acl.c: Likewise.
13035         * tests/test-copy-file.c: Likewise.
13036         * tests/test-count-one-bits.c: Likewise.
13037         * tests/test-dprintf-posix.c: Likewise.
13038         * tests/test-dup2.c: Likewise.
13039         * tests/test-dup3.c: Likewise.
13040         * tests/test-duplocale.c: Likewise.
13041         * tests/test-fbufmode.c: Likewise.
13042         * tests/test-fchdir.c: Likewise.
13043         * tests/test-fchownat.c: Likewise.
13044         * tests/test-fcntl-safer.c: Likewise.
13045         * tests/test-fcntl.c: Likewise.
13046         * tests/test-fdopendir.c: Likewise.
13047         * tests/test-fdutimensat.c: Likewise.
13048         * tests/test-fflush2.c: Likewise.
13049         * tests/test-file-has-acl.c: Likewise.
13050         * tests/test-filevercmp.c: Likewise.
13051         * tests/test-flock.c: Likewise.
13052         * tests/test-floorf1.c: Likewise.
13053         * tests/test-floorf2.c: Likewise.
13054         * tests/test-floorl.c: Likewise.
13055         * tests/test-fnmatch.c: Likewise.
13056         * tests/test-fopen.h: Likewise.
13057         * tests/test-fpending.c: Likewise.
13058         * tests/test-fprintf-posix.c: Likewise.
13059         * tests/test-fpurge.c: Likewise.
13060         * tests/test-freadable.c: Likewise.
13061         * tests/test-freadahead.c: Likewise.
13062         * tests/test-freading.c: Likewise.
13063         * tests/test-freadptr.c: Likewise.
13064         * tests/test-freadptr2.c: Likewise.
13065         * tests/test-freadseek.c: Likewise.
13066         * tests/test-freopen.c: Likewise.
13067         * tests/test-frexp.c: Likewise.
13068         * tests/test-frexpl.c: Likewise.
13069         * tests/test-fseek.c: Likewise.
13070         * tests/test-fseeko.c: Likewise.
13071         * tests/test-fstatat.c: Likewise.
13072         * tests/test-fstrcmp.c: Likewise.
13073         * tests/test-fsync.c: Likewise.
13074         * tests/test-ftell.c: Likewise.
13075         * tests/test-ftello.c: Likewise.
13076         * tests/test-func.c: Likewise.
13077         * tests/test-futimens.c: Likewise.
13078         * tests/test-fwritable.c: Likewise.
13079         * tests/test-fwriting.c: Likewise.
13080         * tests/test-getcwd.c: Likewise.
13081         * tests/test-getdate.c: Likewise.
13082         * tests/test-getdelim.c: Likewise.
13083         * tests/test-getdtablesize.c: Likewise.
13084         * tests/test-getgroups.c: Likewise.
13085         * tests/test-getline.c: Likewise.
13086         * tests/test-getndelim2.c: Likewise.
13087         * tests/test-glob.c: Likewise.
13088         * tests/test-hash.c: Likewise.
13089         * tests/test-i-ring.c: Likewise.
13090         * tests/test-iconv-utf.c: Likewise.
13091         * tests/test-iconv.c: Likewise.
13092         * tests/test-idpriv-drop.c: Likewise.
13093         * tests/test-idpriv-droptemp.c: Likewise.
13094         * tests/test-inet_ntop.c: Likewise.
13095         * tests/test-inet_pton.c: Likewise.
13096         * tests/test-isblank.c: Likewise.
13097         * tests/test-isfinite.c: Likewise.
13098         * tests/test-isinf.c: Likewise.
13099         * tests/test-isnan.c: Likewise.
13100         * tests/test-isnand.h: Likewise.
13101         * tests/test-isnanf.h: Likewise.
13102         * tests/test-isnanl.h: Likewise.
13103         * tests/test-lchown.c: Likewise.
13104         * tests/test-ldexpl.c: Likewise.
13105         * tests/test-link.c: Likewise.
13106         * tests/test-linkat.c: Likewise.
13107         * tests/test-linked_list.c: Likewise.
13108         * tests/test-linkedhash_list.c: Likewise.
13109         * tests/test-localename.c: Likewise.
13110         * tests/test-lseek.c: Likewise.
13111         * tests/test-lstat.c: Likewise.
13112         * tests/test-mbmemcasecmp.c: Likewise.
13113         * tests/test-mbmemcasecoll.c: Likewise.
13114         * tests/test-mbrtowc.c: Likewise.
13115         * tests/test-mbscasecmp.c: Likewise.
13116         * tests/test-mbscasestr1.c: Likewise.
13117         * tests/test-mbscasestr2.c: Likewise.
13118         * tests/test-mbscasestr3.c: Likewise.
13119         * tests/test-mbscasestr4.c: Likewise.
13120         * tests/test-mbschr.c: Likewise.
13121         * tests/test-mbscspn.c: Likewise.
13122         * tests/test-mbsinit.c: Likewise.
13123         * tests/test-mbsncasecmp.c: Likewise.
13124         * tests/test-mbsnrtowcs.c: Likewise.
13125         * tests/test-mbspbrk.c: Likewise.
13126         * tests/test-mbspcasecmp.c: Likewise.
13127         * tests/test-mbsrchr.c: Likewise.
13128         * tests/test-mbsrtowcs.c: Likewise.
13129         * tests/test-mbsspn.c: Likewise.
13130         * tests/test-mbsstr1.c: Likewise.
13131         * tests/test-mbsstr2.c: Likewise.
13132         * tests/test-mbsstr3.c: Likewise.
13133         * tests/test-memchr.c: Likewise.
13134         * tests/test-memchr2.c: Likewise.
13135         * tests/test-memcmp.c: Likewise.
13136         * tests/test-memmem.c: Likewise.
13137         * tests/test-memrchr.c: Likewise.
13138         * tests/test-mkdir.c: Likewise.
13139         * tests/test-mkdirat.c: Likewise.
13140         * tests/test-mkfifo.c: Likewise.
13141         * tests/test-mkfifoat.c: Likewise.
13142         * tests/test-mknod.c: Likewise.
13143         * tests/test-nanosleep.c: Likewise.
13144         * tests/test-nl_langinfo.c: Likewise.
13145         * tests/test-obstack-printf.c: Likewise.
13146         * tests/test-open.c: Likewise.
13147         * tests/test-openat.c: Likewise.
13148         * tests/test-pipe-filter-gi1.c: Likewise.
13149         * tests/test-pipe-filter-gi2-main.c: Likewise.
13150         * tests/test-pipe-filter-ii1.c: Likewise.
13151         * tests/test-pipe-filter-ii2-main.c: Likewise.
13152         * tests/test-pipe2.c: Likewise.
13153         * tests/test-popen.h: Likewise.
13154         * tests/test-posixtm.c: Likewise.
13155         * tests/test-pread.c: Likewise.
13156         * tests/test-printf-frexp.c: Likewise.
13157         * tests/test-printf-frexpl.c: Likewise.
13158         * tests/test-printf-posix.c: Likewise.
13159         * tests/test-priv-set.c: Likewise.
13160         * tests/test-quotearg.c: Likewise.
13161         * tests/test-random_r.c: Likewise.
13162         * tests/test-rawmemchr.c: Likewise.
13163         * tests/test-rbtree_list.c: Likewise.
13164         * tests/test-rbtree_oset.c: Likewise.
13165         * tests/test-rbtreehash_list.c: Likewise.
13166         * tests/test-readlink.c: Likewise.
13167         * tests/test-remove.c: Likewise.
13168         * tests/test-rename.c: Likewise.
13169         * tests/test-renameat.c: Likewise.
13170         * tests/test-rmdir.c: Likewise.
13171         * tests/test-round1.c: Likewise.
13172         * tests/test-roundf1.c: Likewise.
13173         * tests/test-roundl.c: Likewise.
13174         * tests/test-safe-alloc.c: Likewise.
13175         * tests/test-sameacls.c: Likewise.
13176         * tests/test-set-mode-acl.c: Likewise.
13177         * tests/test-setenv.c: Likewise.
13178         * tests/test-sigaction.c: Likewise.
13179         * tests/test-signbit.c: Likewise.
13180         * tests/test-sleep.c: Likewise.
13181         * tests/test-snprintf-posix.c: Likewise.
13182         * tests/test-snprintf.c: Likewise.
13183         * tests/test-sprintf-posix.c: Likewise.
13184         * tests/test-stat-time.c: Likewise.
13185         * tests/test-stat.c: Likewise.
13186         * tests/test-strcasestr.c: Likewise.
13187         * tests/test-strchrnul.c: Likewise.
13188         * tests/test-strerror.c: Likewise.
13189         * tests/test-striconv.c: Likewise.
13190         * tests/test-striconveh.c: Likewise.
13191         * tests/test-striconveha.c: Likewise.
13192         * tests/test-strsignal.c: Likewise.
13193         * tests/test-strstr.c: Likewise.
13194         * tests/test-strtod.c: Likewise.
13195         * tests/test-strverscmp.c: Likewise.
13196         * tests/test-symlink.c: Likewise.
13197         * tests/test-symlinkat.c: Likewise.
13198         * tests/test-trunc1.c: Likewise.
13199         * tests/test-trunc2.c: Likewise.
13200         * tests/test-truncf1.c: Likewise.
13201         * tests/test-truncf2.c: Likewise.
13202         * tests/test-truncl.c: Likewise.
13203         * tests/test-uname.c: Likewise.
13204         * tests/test-unlink.c: Likewise.
13205         * tests/test-unlinkat.c: Likewise.
13206         * tests/test-unsetenv.c: Likewise.
13207         * tests/test-usleep.c: Likewise.
13208         * tests/test-utimens.c: Likewise.
13209         * tests/test-utimensat.c: Likewise.
13210         * tests/test-vasnprintf-posix.c: Likewise.
13211         * tests/test-vasnprintf-posix2.c: Likewise.
13212         * tests/test-vasnprintf.c: Likewise.
13213         * tests/test-vasprintf-posix.c: Likewise.
13214         * tests/test-vasprintf.c: Likewise.
13215         * tests/test-vdprintf-posix.c: Likewise.
13216         * tests/test-vfprintf-posix.c: Likewise.
13217         * tests/test-vprintf-posix.c: Likewise.
13218         * tests/test-vsnprintf-posix.c: Likewise.
13219         * tests/test-vsnprintf.c: Likewise.
13220         * tests/test-vsprintf-posix.c: Likewise.
13221         * tests/test-wcrtomb.c: Likewise.
13222         * tests/test-wcsnrtombs.c: Likewise.
13223         * tests/test-wcsrtombs.c: Likewise.
13224         * tests/test-wctype.c: Likewise.
13225         * tests/test-wcwidth.c: Likewise.
13226         * tests/test-xfprintf-posix.c: Likewise.
13227         * tests/test-xmemdup0.c: Likewise.
13228         * tests/test-xprintf-posix.c: Likewise.
13229         * tests/test-xvasprintf.c: Likewise.
13230         * tests/unicase/test-locale-language.c: Likewise.
13231         * tests/unicase/test-mapping-part1.h: Likewise.
13232         * tests/unicase/test-predicate-part1.h: Likewise.
13233         * tests/unicase/test-u8-casecmp.c: Likewise.
13234         * tests/unicase/test-u8-casecoll.c: Likewise.
13235         * tests/unicase/test-u8-casefold.c: Likewise.
13236         * tests/unicase/test-u8-is-cased.c: Likewise.
13237         * tests/unicase/test-u8-is-casefolded.c: Likewise.
13238         * tests/unicase/test-u8-is-lowercase.c: Likewise.
13239         * tests/unicase/test-u8-is-titlecase.c: Likewise.
13240         * tests/unicase/test-u8-is-uppercase.c: Likewise.
13241         * tests/unicase/test-u8-tolower.c: Likewise.
13242         * tests/unicase/test-u8-totitle.c: Likewise.
13243         * tests/unicase/test-u8-toupper.c: Likewise.
13244         * tests/unicase/test-u16-casecmp.c: Likewise.
13245         * tests/unicase/test-u16-casecoll.c: Likewise.
13246         * tests/unicase/test-u16-casefold.c: Likewise.
13247         * tests/unicase/test-u16-is-cased.c: Likewise.
13248         * tests/unicase/test-u16-is-casefolded.c: Likewise.
13249         * tests/unicase/test-u16-is-lowercase.c: Likewise.
13250         * tests/unicase/test-u16-is-titlecase.c: Likewise.
13251         * tests/unicase/test-u16-is-uppercase.c: Likewise.
13252         * tests/unicase/test-u16-tolower.c: Likewise.
13253         * tests/unicase/test-u16-totitle.c: Likewise.
13254         * tests/unicase/test-u16-toupper.c: Likewise.
13255         * tests/unicase/test-u32-casecmp.c: Likewise.
13256         * tests/unicase/test-u32-casecoll.c: Likewise.
13257         * tests/unicase/test-u32-casefold.c: Likewise.
13258         * tests/unicase/test-u32-is-cased.c: Likewise.
13259         * tests/unicase/test-u32-is-casefolded.c: Likewise.
13260         * tests/unicase/test-u32-is-lowercase.c: Likewise.
13261         * tests/unicase/test-u32-is-titlecase.c: Likewise.
13262         * tests/unicase/test-u32-is-uppercase.c: Likewise.
13263         * tests/unicase/test-u32-tolower.c: Likewise.
13264         * tests/unicase/test-u32-totitle.c: Likewise.
13265         * tests/unicase/test-u32-toupper.c: Likewise.
13266         * tests/unicase/test-ulc-casecmp.c: Likewise.
13267         * tests/unicase/test-ulc-casecoll.c: Likewise.
13268         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
13269         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
13270         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
13271         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
13272         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
13273         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
13274         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
13275         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
13276         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
13277         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
13278         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
13279         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
13280         * tests/unictype/test-bidi_byname.c: Likewise.
13281         * tests/unictype/test-bidi_name.c: Likewise.
13282         * tests/unictype/test-bidi_of.c: Likewise.
13283         * tests/unictype/test-bidi_test.c: Likewise.
13284         * tests/unictype/test-block_list.c: Likewise.
13285         * tests/unictype/test-block_of.c: Likewise.
13286         * tests/unictype/test-block_test.c: Likewise.
13287         * tests/unictype/test-categ_and.c: Likewise.
13288         * tests/unictype/test-categ_and_not.c: Likewise.
13289         * tests/unictype/test-categ_byname.c: Likewise.
13290         * tests/unictype/test-categ_name.c: Likewise.
13291         * tests/unictype/test-categ_none.c: Likewise.
13292         * tests/unictype/test-categ_of.c: Likewise.
13293         * tests/unictype/test-categ_or.c: Likewise.
13294         * tests/unictype/test-categ_test_withtable.c: Likewise.
13295         * tests/unictype/test-combining.c: Likewise.
13296         * tests/unictype/test-decdigit.c: Likewise.
13297         * tests/unictype/test-digit.c: Likewise.
13298         * tests/unictype/test-mirror.c: Likewise.
13299         * tests/unictype/test-numeric.c: Likewise.
13300         * tests/unictype/test-pr_byname.c: Likewise.
13301         * tests/unictype/test-pr_test.c: Likewise.
13302         * tests/unictype/test-predicate-part1.h: Likewise.
13303         * tests/unictype/test-scripts.c: Likewise.
13304         * tests/unictype/test-sy_c_ident.c: Likewise.
13305         * tests/unictype/test-sy_java_ident.c: Likewise.
13306         * tests/unilbrk/test-u8-possible-linebreaks.c: Likewise.
13307         * tests/unilbrk/test-u8-width-linebreaks.c: Likewise.
13308         * tests/unilbrk/test-u16-possible-linebreaks.c: Likewise.
13309         * tests/unilbrk/test-u16-width-linebreaks.c: Likewise.
13310         * tests/unilbrk/test-u32-possible-linebreaks.c: Likewise.
13311         * tests/unilbrk/test-u32-width-linebreaks.c: Likewise.
13312         * tests/unilbrk/test-ulc-possible-linebreaks.c: Likewise.
13313         * tests/unilbrk/test-ulc-width-linebreaks.c: Likewise.
13314         * tests/uninorm/test-canonical-decomposition.c: Likewise.
13315         * tests/uninorm/test-compat-decomposition.c: Likewise.
13316         * tests/uninorm/test-composition.c: Likewise.
13317         * tests/uninorm/test-decomposing-form.c: Likewise.
13318         * tests/uninorm/test-decomposition.c: Likewise.
13319         * tests/uninorm/test-u8-nfc.c: Likewise.
13320         * tests/uninorm/test-u8-nfd.c: Likewise.
13321         * tests/uninorm/test-u8-nfkc.c: Likewise.
13322         * tests/uninorm/test-u8-nfkd.c: Likewise.
13323         * tests/uninorm/test-u8-normcmp.c: Likewise.
13324         * tests/uninorm/test-u8-normcoll.c: Likewise.
13325         * tests/uninorm/test-u16-nfc.c: Likewise.
13326         * tests/uninorm/test-u16-nfd.c: Likewise.
13327         * tests/uninorm/test-u16-nfkc.c: Likewise.
13328         * tests/uninorm/test-u16-nfkd.c: Likewise.
13329         * tests/uninorm/test-u16-normcmp.c: Likewise.
13330         * tests/uninorm/test-u16-normcoll.c: Likewise.
13331         * tests/uninorm/test-u32-nfc.c: Likewise.
13332         * tests/uninorm/test-u32-nfd.c: Likewise.
13333         * tests/uninorm/test-u32-nfkc.c: Likewise.
13334         * tests/uninorm/test-u32-nfkd.c: Likewise.
13335         * tests/uninorm/test-u32-normalize-big.c: Likewise.
13336         * tests/uninorm/test-u32-normcmp.c: Likewise.
13337         * tests/uninorm/test-u32-normcoll.c: Likewise.
13338         * tests/uninorm/test-uninorm-filter-nfc.c: Likewise.
13339         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
13340         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
13341         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
13342         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
13343         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
13344         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
13345         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
13346         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
13347         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
13348         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
13349         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
13350         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
13351         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
13352         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
13353         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
13354         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
13355         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
13356         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
13357         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
13358         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
13359         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
13360         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
13361         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
13362         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
13363         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
13364         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
13365         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
13366         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
13367         * tests/uniwbrk/test-u8-wordbreaks.c: Likewise.
13368         * tests/uniwbrk/test-u16-wordbreaks.c: Likewise.
13369         * tests/uniwbrk/test-u32-wordbreaks.c: Likewise.
13370         * tests/uniwbrk/test-ulc-wordbreaks.c: Likewise.
13371         * tests/uniwidth/test-u8-strwidth.c: Likewise.
13372         * tests/uniwidth/test-u8-width.c: Likewise.
13373         * tests/uniwidth/test-u16-strwidth.c: Likewise.
13374         * tests/uniwidth/test-u16-width.c: Likewise.
13375         * tests/uniwidth/test-u32-strwidth.c: Likewise.
13376         * tests/uniwidth/test-u32-width.c: Likewise.
13377         * tests/uniwidth/test-uc_width.c: Likewise.
13378         * tests/uniwidth/test-uc_width2.c: Likewise.
13379         * modules/acl-tests (Files): Add tests/macros.h.
13380         * modules/areadlink-tests (Files): Likewise.
13381         * modules/areadlink-with-size-tests (Files): Likewise.
13382         * modules/areadlinkat-tests (Files): Likewise.
13383         * modules/areadlinkat-with-size-tests (Files): Likewise.
13384         * modules/argmatch-tests (Files): Likewise.
13385         * modules/argv-iter-tests (Files): Likewise.
13386         * modules/array-list-tests (Files): Likewise.
13387         * modules/array-mergesort-tests (Files): Likewise.
13388         * modules/array-oset-tests (Files): Likewise.
13389         * modules/avltree-list-tests (Files): Likewise.
13390         * modules/avltree-oset-tests (Files): Likewise.
13391         * modules/avltreehash-list-tests (Files): Likewise.
13392         * modules/base64-tests (Files): Likewise.
13393         * modules/binary-io-tests (Files): Likewise.
13394         * modules/bitrotate-tests (Files): Likewise.
13395         * modules/btowc-tests (Files): Likewise.
13396         * modules/byteswap-tests (Files): Likewise.
13397         * modules/c-ctype-tests (Files): Likewise.
13398         * modules/c-stack-tests (Files): Likewise.
13399         * modules/c-strcase-tests (Files): Likewise.
13400         * modules/c-strcasestr-tests (Files): Likewise.
13401         * modules/c-strstr-tests (Files): Likewise.
13402         * modules/canonicalize-lgpl-tests (Files): Likewise.
13403         * modules/canonicalize-tests (Files): Likewise.
13404         * modules/carray-list-tests (Files): Likewise.
13405         * modules/ceilf-tests (Files): Likewise.
13406         * modules/ceill-tests (Files): Likewise.
13407         * modules/chown-tests (Files): Likewise.
13408         * modules/cloexec-tests (Files): Likewise.
13409         * modules/copy-file-tests (Files): Likewise.
13410         * modules/count-one-bits-tests (Files): Likewise.
13411         * modules/dprintf-posix-tests (Files): Likewise.
13412         * modules/dup2-tests (Files): Likewise.
13413         * modules/dup3-tests (Files): Likewise.
13414         * modules/duplocale-tests (Files): Likewise.
13415         * modules/fbufmode-tests (Files): Likewise.
13416         * modules/fchdir-tests (Files): Likewise.
13417         * modules/fcntl-safer-tests (Files): Likewise.
13418         * modules/fcntl-tests (Files): Likewise.
13419         * modules/fdopendir-tests (Files): Likewise.
13420         * modules/fdutimensat-tests (Files): Likewise.
13421         * modules/fflush-tests (Files): Likewise.
13422         * modules/filevercmp-tests (Files): Likewise.
13423         * modules/flock-tests (Files): Likewise.
13424         * modules/floorf-tests (Files): Likewise.
13425         * modules/floorl-tests (Files): Likewise.
13426         * modules/fnmatch-tests (Files): Likewise.
13427         * modules/fopen-safer-tests (Files): Likewise.
13428         * modules/fopen-tests (Files): Likewise.
13429         * modules/fpending-tests (Files): Likewise.
13430         * modules/fprintf-posix-tests (Files): Likewise.
13431         * modules/fpurge-tests (Files): Likewise.
13432         * modules/freadable-tests (Files): Likewise.
13433         * modules/freadahead-tests (Files): Likewise.
13434         * modules/freading-tests (Files): Likewise.
13435         * modules/freadptr-tests (Files): Likewise.
13436         * modules/freadseek-tests (Files): Likewise.
13437         * modules/freopen-tests (Files): Likewise.
13438         * modules/frexp-nolibm-tests (Files): Likewise.
13439         * modules/frexp-tests (Files): Likewise.
13440         * modules/frexpl-nolibm-tests (Files): Likewise.
13441         * modules/frexpl-tests (Files): Likewise.
13442         * modules/fseek-tests (Files): Likewise.
13443         * modules/fseeko-tests (Files): Likewise.
13444         * modules/fstrcmp-tests (Files): Likewise.
13445         * modules/fsync-tests (Files): Likewise.
13446         * modules/ftell-tests (Files): Likewise.
13447         * modules/ftello-tests (Files): Likewise.
13448         * modules/func-tests (Files): Likewise.
13449         * modules/futimens-tests (Files): Likewise.
13450         * modules/fwritable-tests (Files): Likewise.
13451         * modules/fwriting-tests (Files): Likewise.
13452         * modules/getcwd-tests (Files): Likewise.
13453         * modules/getdate-tests (Files): Likewise.
13454         * modules/getdelim-tests (Files): Likewise.
13455         * modules/getdtablesize-tests (Files): Likewise.
13456         * modules/getgroups-tests (Files): Likewise.
13457         * modules/getline-tests (Files): Likewise.
13458         * modules/getndelim2-tests (Files): Likewise.
13459         * modules/glob-tests (Files): Likewise.
13460         * modules/hash-tests (Files): Likewise.
13461         * modules/i-ring-tests (Files): Likewise.
13462         * modules/iconv-tests (Files): Likewise.
13463         * modules/iconv_open-utf-tests (Files): Likewise.
13464         * modules/idpriv-drop-tests (Files): Likewise.
13465         * modules/idpriv-droptemp-tests (Files): Likewise.
13466         * modules/inet_ntop-tests (Files): Likewise.
13467         * modules/inet_pton-tests (Files): Likewise.
13468         * modules/isblank-tests (Files): Likewise.
13469         * modules/isfinite-tests (Files): Likewise.
13470         * modules/isinf-tests (Files): Likewise.
13471         * modules/isnan-tests (Files): Likewise.
13472         * modules/isnand-nolibm-tests (Files): Likewise.
13473         * modules/isnand-tests (Files): Likewise.
13474         * modules/isnanf-nolibm-tests (Files): Likewise.
13475         * modules/isnanf-tests (Files): Likewise.
13476         * modules/isnanl-nolibm-tests (Files): Likewise.
13477         * modules/isnanl-tests (Files): Likewise.
13478         * modules/lchown-tests (Files): Likewise.
13479         * modules/ldexpl-tests (Files): Likewise.
13480         * modules/link-tests (Files): Likewise.
13481         * modules/linkat-tests (Files): Likewise.
13482         * modules/linked-list-tests (Files): Likewise.
13483         * modules/linkedhash-list-tests (Files): Likewise.
13484         * modules/localename-tests (Files): Likewise.
13485         * modules/lseek-tests (Files): Likewise.
13486         * modules/lstat-tests (Files): Likewise.
13487         * modules/mbmemcasecmp-tests (Files): Likewise.
13488         * modules/mbmemcasecoll-tests (Files): Likewise.
13489         * modules/mbrtowc-tests (Files): Likewise.
13490         * modules/mbscasecmp-tests (Files): Likewise.
13491         * modules/mbscasestr-tests (Files): Likewise.
13492         * modules/mbschr-tests (Files): Likewise.
13493         * modules/mbscspn-tests (Files): Likewise.
13494         * modules/mbsinit-tests (Files): Likewise.
13495         * modules/mbsncasecmp-tests (Files): Likewise.
13496         * modules/mbsnrtowcs-tests (Files): Likewise.
13497         * modules/mbspbrk-tests (Files): Likewise.
13498         * modules/mbspcasecmp-tests (Files): Likewise.
13499         * modules/mbsrchr-tests (Files): Likewise.
13500         * modules/mbsrtowcs-tests (Files): Likewise.
13501         * modules/mbsspn-tests (Files): Likewise.
13502         * modules/mbsstr-tests (Files): Likewise.
13503         * modules/memchr-tests (Files): Likewise.
13504         * modules/memchr2-tests (Files): Likewise.
13505         * modules/memcmp-tests (Files): Likewise.
13506         * modules/memmem-tests (Files): Likewise.
13507         * modules/memrchr-tests (Files): Likewise.
13508         * modules/mkdir-tests (Files): Likewise.
13509         * modules/mkfifo-tests (Files): Likewise.
13510         * modules/mkfifoat-tests (Files): Likewise.
13511         * modules/mknod-tests (Files): Likewise.
13512         * modules/nanosleep-tests (Files): Likewise.
13513         * modules/nl_langinfo-tests (Files): Likewise.
13514         * modules/obstack-printf-tests (Files): Likewise.
13515         * modules/open-tests (Files): Likewise.
13516         * modules/openat-tests (Files): Likewise.
13517         * modules/pipe-filter-gi-tests (Files): Likewise.
13518         * modules/pipe-filter-ii-tests (Files): Likewise.
13519         * modules/pipe2-tests (Files): Likewise.
13520         * modules/popen-safer-tests (Files): Likewise.
13521         * modules/popen-tests (Files): Likewise.
13522         * modules/posixtm-tests (Files): Likewise.
13523         * modules/pread-tests (Files): Likewise.
13524         * modules/printf-frexp-tests (Files): Likewise.
13525         * modules/printf-frexpl-tests (Files): Likewise.
13526         * modules/printf-posix-tests (Files): Likewise.
13527         * modules/priv-set-tests (Files): Likewise.
13528         * modules/quotearg-tests (Files): Likewise.
13529         * modules/random_r-tests (Files): Likewise.
13530         * modules/rawmemchr-tests (Files): Likewise.
13531         * modules/rbtree-list-tests (Files): Likewise.
13532         * modules/rbtree-oset-tests (Files): Likewise.
13533         * modules/rbtreehash-list-tests (Files): Likewise.
13534         * modules/readlink-tests (Files): Likewise.
13535         * modules/remove-tests (Files): Likewise.
13536         * modules/rename-tests (Files): Likewise.
13537         * modules/renameat-tests (Files): Likewise.
13538         * modules/rmdir-tests (Files): Likewise.
13539         * modules/round-tests (Files): Likewise.
13540         * modules/roundf-tests (Files): Likewise.
13541         * modules/roundl-tests (Files): Likewise.
13542         * modules/safe-alloc-tests (Files): Likewise.
13543         * modules/setenv-tests (Files): Likewise.
13544         * modules/sigaction-tests (Files): Likewise.
13545         * modules/signbit-tests (Files): Likewise.
13546         * modules/sleep-tests (Files): Likewise.
13547         * modules/snprintf-posix-tests (Files): Likewise.
13548         * modules/snprintf-tests (Files): Likewise.
13549         * modules/sprintf-posix-tests (Files): Likewise.
13550         * modules/stat-tests (Files): Likewise.
13551         * modules/stat-time-tests (Files): Likewise.
13552         * modules/strcasestr-tests (Files): Likewise.
13553         * modules/strchrnul-tests (Files): Likewise.
13554         * modules/strerror-tests (Files): Likewise.
13555         * modules/striconv-tests (Files): Likewise.
13556         * modules/striconveh-tests (Files): Likewise.
13557         * modules/striconveha-tests (Files): Likewise.
13558         * modules/strsignal-tests (Files): Likewise.
13559         * modules/strstr-tests (Files): Likewise.
13560         * modules/strtod-tests (Files): Likewise.
13561         * modules/strverscmp-tests (Files): Likewise.
13562         * modules/symlink-tests (Files): Likewise.
13563         * modules/symlinkat-tests (Files): Likewise.
13564         * modules/trunc-tests (Files): Likewise.
13565         * modules/truncf-tests (Files): Likewise.
13566         * modules/truncl-tests (Files): Likewise.
13567         * modules/uname-tests (Files): Likewise.
13568         * modules/unicase/cased-tests (Files): Likewise.
13569         * modules/unicase/ignorable-tests (Files): Likewise.
13570         * modules/unicase/locale-language-tests (Files): Likewise.
13571         * modules/unicase/tolower-tests (Files): Likewise.
13572         * modules/unicase/totitle-tests (Files): Likewise.
13573         * modules/unicase/toupper-tests (Files): Likewise.
13574         * modules/unicase/u8-casecmp-tests (Files): Likewise.
13575         * modules/unicase/u8-casecoll-tests (Files): Likewise.
13576         * modules/unicase/u8-casefold-tests (Files): Likewise.
13577         * modules/unicase/u8-is-cased-tests (Files): Likewise.
13578         * modules/unicase/u8-is-casefolded-tests (Files): Likewise.
13579         * modules/unicase/u8-is-lowercase-tests (Files): Likewise.
13580         * modules/unicase/u8-is-titlecase-tests (Files): Likewise.
13581         * modules/unicase/u8-is-uppercase-tests (Files): Likewise.
13582         * modules/unicase/u8-tolower-tests (Files): Likewise.
13583         * modules/unicase/u8-totitle-tests (Files): Likewise.
13584         * modules/unicase/u8-toupper-tests (Files): Likewise.
13585         * modules/unicase/u16-casecmp-tests (Files): Likewise.
13586         * modules/unicase/u16-casecoll-tests (Files): Likewise.
13587         * modules/unicase/u16-casefold-tests (Files): Likewise.
13588         * modules/unicase/u16-is-cased-tests (Files): Likewise.
13589         * modules/unicase/u16-is-casefolded-tests (Files): Likewise.
13590         * modules/unicase/u16-is-lowercase-tests (Files): Likewise.
13591         * modules/unicase/u16-is-titlecase-tests (Files): Likewise.
13592         * modules/unicase/u16-is-uppercase-tests (Files): Likewise.
13593         * modules/unicase/u16-tolower-tests (Files): Likewise.
13594         * modules/unicase/u16-totitle-tests (Files): Likewise.
13595         * modules/unicase/u16-toupper-tests (Files): Likewise.
13596         * modules/unicase/u32-casecmp-tests (Files): Likewise.
13597         * modules/unicase/u32-casecoll-tests (Files): Likewise.
13598         * modules/unicase/u32-casefold-tests (Files): Likewise.
13599         * modules/unicase/u32-is-cased-tests (Files): Likewise.
13600         * modules/unicase/u32-is-casefolded-tests (Files): Likewise.
13601         * modules/unicase/u32-is-lowercase-tests (Files): Likewise.
13602         * modules/unicase/u32-is-titlecase-tests (Files): Likewise.
13603         * modules/unicase/u32-is-uppercase-tests (Files): Likewise.
13604         * modules/unicase/u32-tolower-tests (Files): Likewise.
13605         * modules/unicase/u32-totitle-tests (Files): Likewise.
13606         * modules/unicase/u32-toupper-tests (Files): Likewise.
13607         * modules/unicase/ulc-casecmp-tests (Files): Likewise.
13608         * modules/unicase/ulc-casecoll-tests (Files): Likewise.
13609         * modules/uniconv/u8-conv-from-enc-tests (Files): Likewise.
13610         * modules/uniconv/u8-conv-to-enc-tests (Files): Likewise.
13611         * modules/uniconv/u8-strconv-from-enc-tests (Files): Likewise.
13612         * modules/uniconv/u8-strconv-to-enc-tests (Files): Likewise.
13613         * modules/uniconv/u16-conv-from-enc-tests (Files): Likewise.
13614         * modules/uniconv/u16-conv-to-enc-tests (Files): Likewise.
13615         * modules/uniconv/u16-strconv-from-enc-tests (Files): Likewise.
13616         * modules/uniconv/u16-strconv-to-enc-tests (Files): Likewise.
13617         * modules/uniconv/u32-conv-from-enc-tests (Files): Likewise.
13618         * modules/uniconv/u32-conv-to-enc-tests (Files): Likewise.
13619         * modules/uniconv/u32-strconv-from-enc-tests (Files): Likewise.
13620         * modules/uniconv/u32-strconv-to-enc-tests (Files): Likewise.
13621         * modules/unictype/bidicategory-byname-tests (Files): Likewise.
13622         * modules/unictype/bidicategory-name-tests (Files): Likewise.
13623         * modules/unictype/bidicategory-of-tests (Files): Likewise.
13624         * modules/unictype/bidicategory-test-tests (Files): Likewise.
13625         * modules/unictype/block-list-tests (Files): Likewise.
13626         * modules/unictype/block-of-tests (Files): Likewise.
13627         * modules/unictype/block-test-tests (Files): Likewise.
13628         * modules/unictype/category-C-tests (Files): Likewise.
13629         * modules/unictype/category-Cc-tests (Files): Likewise.
13630         * modules/unictype/category-Cf-tests (Files): Likewise.
13631         * modules/unictype/category-Cn-tests (Files): Likewise.
13632         * modules/unictype/category-Co-tests (Files): Likewise.
13633         * modules/unictype/category-Cs-tests (Files): Likewise.
13634         * modules/unictype/category-L-tests (Files): Likewise.
13635         * modules/unictype/category-Ll-tests (Files): Likewise.
13636         * modules/unictype/category-Lm-tests (Files): Likewise.
13637         * modules/unictype/category-Lo-tests (Files): Likewise.
13638         * modules/unictype/category-Lt-tests (Files): Likewise.
13639         * modules/unictype/category-Lu-tests (Files): Likewise.
13640         * modules/unictype/category-M-tests (Files): Likewise.
13641         * modules/unictype/category-Mc-tests (Files): Likewise.
13642         * modules/unictype/category-Me-tests (Files): Likewise.
13643         * modules/unictype/category-Mn-tests (Files): Likewise.
13644         * modules/unictype/category-N-tests (Files): Likewise.
13645         * modules/unictype/category-Nd-tests (Files): Likewise.
13646         * modules/unictype/category-Nl-tests (Files): Likewise.
13647         * modules/unictype/category-No-tests (Files): Likewise.
13648         * modules/unictype/category-P-tests (Files): Likewise.
13649         * modules/unictype/category-Pc-tests (Files): Likewise.
13650         * modules/unictype/category-Pd-tests (Files): Likewise.
13651         * modules/unictype/category-Pe-tests (Files): Likewise.
13652         * modules/unictype/category-Pf-tests (Files): Likewise.
13653         * modules/unictype/category-Pi-tests (Files): Likewise.
13654         * modules/unictype/category-Po-tests (Files): Likewise.
13655         * modules/unictype/category-Ps-tests (Files): Likewise.
13656         * modules/unictype/category-S-tests (Files): Likewise.
13657         * modules/unictype/category-Sc-tests (Files): Likewise.
13658         * modules/unictype/category-Sk-tests (Files): Likewise.
13659         * modules/unictype/category-Sm-tests (Files): Likewise.
13660         * modules/unictype/category-So-tests (Files): Likewise.
13661         * modules/unictype/category-Z-tests (Files): Likewise.
13662         * modules/unictype/category-Zl-tests (Files): Likewise.
13663         * modules/unictype/category-Zp-tests (Files): Likewise.
13664         * modules/unictype/category-Zs-tests (Files): Likewise.
13665         * modules/unictype/category-and-not-tests (Files): Likewise.
13666         * modules/unictype/category-and-tests (Files): Likewise.
13667         * modules/unictype/category-byname-tests (Files): Likewise.
13668         * modules/unictype/category-name-tests (Files): Likewise.
13669         * modules/unictype/category-none-tests (Files): Likewise.
13670         * modules/unictype/category-of-tests (Files): Likewise.
13671         * modules/unictype/category-or-tests (Files): Likewise.
13672         * modules/unictype/category-test-withtable-tests (Files): Likewise.
13673         * modules/unictype/combining-class-tests (Files): Likewise.
13674         * modules/unictype/ctype-alnum-tests (Files): Likewise.
13675         * modules/unictype/ctype-alpha-tests (Files): Likewise.
13676         * modules/unictype/ctype-blank-tests (Files): Likewise.
13677         * modules/unictype/ctype-cntrl-tests (Files): Likewise.
13678         * modules/unictype/ctype-digit-tests (Files): Likewise.
13679         * modules/unictype/ctype-graph-tests (Files): Likewise.
13680         * modules/unictype/ctype-lower-tests (Files): Likewise.
13681         * modules/unictype/ctype-print-tests (Files): Likewise.
13682         * modules/unictype/ctype-punct-tests (Files): Likewise.
13683         * modules/unictype/ctype-space-tests (Files): Likewise.
13684         * modules/unictype/ctype-upper-tests (Files): Likewise.
13685         * modules/unictype/ctype-xdigit-tests (Files): Likewise.
13686         * modules/unictype/decimal-digit-tests (Files): Likewise.
13687         * modules/unictype/digit-tests (Files): Likewise.
13688         * modules/unictype/mirror-tests (Files): Likewise.
13689         * modules/unictype/numeric-tests (Files): Likewise.
13690         * modules/unictype/property-alphabetic-tests (Files): Likewise.
13691         * modules/unictype/property-ascii-hex-digit-tests (Files): Likewise.
13692         * modules/unictype/property-bidi-arabic-digit-tests (Files): Likewise.
13693         * modules/unictype/property-bidi-arabic-right-to-left-tests (Files):
13694         Likewise.
13695         * modules/unictype/property-bidi-block-separator-tests (Files):
13696         Likewise.
13697         * modules/unictype/property-bidi-boundary-neutral-tests (Files):
13698         Likewise.
13699         * modules/unictype/property-bidi-common-separator-tests (Files):
13700         Likewise.
13701         * modules/unictype/property-bidi-control-tests (Files): Likewise.
13702         * modules/unictype/property-bidi-embedding-or-override-tests (Files):
13703         Likewise.
13704         * modules/unictype/property-bidi-eur-num-separator-tests (Files):
13705         Likewise.
13706         * modules/unictype/property-bidi-eur-num-terminator-tests (Files):
13707         Likewise.
13708         * modules/unictype/property-bidi-european-digit-tests (Files): Likewise.
13709         * modules/unictype/property-bidi-hebrew-right-to-left-tests (Files):
13710         Likewise.
13711         * modules/unictype/property-bidi-left-to-right-tests (Files): Likewise.
13712         * modules/unictype/property-bidi-non-spacing-mark-tests (Files):
13713         Likewise.
13714         * modules/unictype/property-bidi-other-neutral-tests (Files): Likewise.
13715         * modules/unictype/property-bidi-pdf-tests (Files): Likewise.
13716         * modules/unictype/property-bidi-segment-separator-tests (Files):
13717         Likewise.
13718         * modules/unictype/property-bidi-whitespace-tests (Files): Likewise.
13719         * modules/unictype/property-byname-tests (Files): Likewise.
13720         * modules/unictype/property-combining-tests (Files): Likewise.
13721         * modules/unictype/property-composite-tests (Files): Likewise.
13722         * modules/unictype/property-currency-symbol-tests (Files): Likewise.
13723         * modules/unictype/property-dash-tests (Files): Likewise.
13724         * modules/unictype/property-decimal-digit-tests (Files): Likewise.
13725         * modules/unictype/property-default-ignorable-code-point-tests (Files):
13726         Likewise.
13727         * modules/unictype/property-deprecated-tests (Files): Likewise.
13728         * modules/unictype/property-diacritic-tests (Files): Likewise.
13729         * modules/unictype/property-extender-tests (Files): Likewise.
13730         * modules/unictype/property-format-control-tests (Files): Likewise.
13731         * modules/unictype/property-grapheme-base-tests (Files): Likewise.
13732         * modules/unictype/property-grapheme-extend-tests (Files): Likewise.
13733         * modules/unictype/property-grapheme-link-tests (Files): Likewise.
13734         * modules/unictype/property-hex-digit-tests (Files): Likewise.
13735         * modules/unictype/property-hyphen-tests (Files): Likewise.
13736         * modules/unictype/property-id-continue-tests (Files): Likewise.
13737         * modules/unictype/property-id-start-tests (Files): Likewise.
13738         * modules/unictype/property-ideographic-tests (Files): Likewise.
13739         * modules/unictype/property-ids-binary-operator-tests (Files): Likewise.
13740         * modules/unictype/property-ids-trinary-operator-tests (Files):
13741         Likewise.
13742         * modules/unictype/property-ignorable-control-tests (Files): Likewise.
13743         * modules/unictype/property-iso-control-tests (Files): Likewise.
13744         * modules/unictype/property-join-control-tests (Files): Likewise.
13745         * modules/unictype/property-left-of-pair-tests (Files): Likewise.
13746         * modules/unictype/property-line-separator-tests (Files): Likewise.
13747         * modules/unictype/property-logical-order-exception-tests (Files):
13748         Likewise.
13749         * modules/unictype/property-lowercase-tests (Files): Likewise.
13750         * modules/unictype/property-math-tests (Files): Likewise.
13751         * modules/unictype/property-non-break-tests (Files): Likewise.
13752         * modules/unictype/property-not-a-character-tests (Files): Likewise.
13753         * modules/unictype/property-numeric-tests (Files): Likewise.
13754         * modules/unictype/property-other-alphabetic-tests (Files): Likewise.
13755         * modules/unictype/property-other-default-ignorable-code-point-tests
13756         (Files): Likewise.
13757         * modules/unictype/property-other-grapheme-extend-tests (Files):
13758         Likewise.
13759         * modules/unictype/property-other-id-continue-tests (Files): Likewise.
13760         * modules/unictype/property-other-id-start-tests (Files): Likewise.
13761         * modules/unictype/property-other-lowercase-tests (Files): Likewise.
13762         * modules/unictype/property-other-math-tests (Files): Likewise.
13763         * modules/unictype/property-other-uppercase-tests (Files): Likewise.
13764         * modules/unictype/property-paired-punctuation-tests (Files): Likewise.
13765         * modules/unictype/property-paragraph-separator-tests (Files): Likewise.
13766         * modules/unictype/property-pattern-syntax-tests (Files): Likewise.
13767         * modules/unictype/property-pattern-white-space-tests (Files): Likewise.
13768         * modules/unictype/property-private-use-tests (Files): Likewise.
13769         * modules/unictype/property-punctuation-tests (Files): Likewise.
13770         * modules/unictype/property-quotation-mark-tests (Files): Likewise.
13771         * modules/unictype/property-radical-tests (Files): Likewise.
13772         * modules/unictype/property-sentence-terminal-tests (Files): Likewise.
13773         * modules/unictype/property-soft-dotted-tests (Files): Likewise.
13774         * modules/unictype/property-space-tests (Files): Likewise.
13775         * modules/unictype/property-terminal-punctuation-tests (Files):
13776         Likewise.
13777         * modules/unictype/property-test-tests (Files): Likewise.
13778         * modules/unictype/property-titlecase-tests (Files): Likewise.
13779         * modules/unictype/property-unassigned-code-value-tests (Files):
13780         Likewise.
13781         * modules/unictype/property-unified-ideograph-tests (Files): Likewise.
13782         * modules/unictype/property-uppercase-tests (Files): Likewise.
13783         * modules/unictype/property-variation-selector-tests (Files): Likewise.
13784         * modules/unictype/property-white-space-tests (Files): Likewise.
13785         * modules/unictype/property-xid-continue-tests (Files): Likewise.
13786         * modules/unictype/property-xid-start-tests (Files): Likewise.
13787         * modules/unictype/property-zero-width-tests (Files): Likewise.
13788         * modules/unictype/scripts-tests (Files): Likewise.
13789         * modules/unictype/syntax-c-ident-tests (Files): Likewise.
13790         * modules/unictype/syntax-c-whitespace-tests (Files): Likewise.
13791         * modules/unictype/syntax-java-ident-tests (Files): Likewise.
13792         * modules/unictype/syntax-java-whitespace-tests (Files): Likewise.
13793         * modules/unilbrk/u8-possible-linebreaks-tests (Files): Likewise.
13794         * modules/unilbrk/u8-width-linebreaks-tests (Files): Likewise.
13795         * modules/unilbrk/u16-possible-linebreaks-tests (Files): Likewise.
13796         * modules/unilbrk/u16-width-linebreaks-tests (Files): Likewise.
13797         * modules/unilbrk/u32-possible-linebreaks-tests (Files): Likewise.
13798         * modules/unilbrk/u32-width-linebreaks-tests (Files): Likewise.
13799         * modules/unilbrk/ulc-possible-linebreaks-tests (Files): Likewise.
13800         * modules/unilbrk/ulc-width-linebreaks-tests (Files): Likewise.
13801         * modules/uninorm/canonical-decomposition-tests (Files): Likewise.
13802         * modules/uninorm/compat-decomposition-tests (Files): Likewise.
13803         * modules/uninorm/composition-tests (Files): Likewise.
13804         * modules/uninorm/decomposing-form-tests (Files): Likewise.
13805         * modules/uninorm/decomposition-tests (Files): Likewise.
13806         * modules/uninorm/filter-tests (Files): Likewise.
13807         * modules/uninorm/nfc-tests (Files): Likewise.
13808         * modules/uninorm/nfd-tests (Files): Likewise.
13809         * modules/uninorm/nfkc-tests (Files): Likewise.
13810         * modules/uninorm/nfkd-tests (Files): Likewise.
13811         * modules/uninorm/u8-normcmp-tests (Files): Likewise.
13812         * modules/uninorm/u8-normcoll-tests (Files): Likewise.
13813         * modules/uninorm/u16-normcmp-tests (Files): Likewise.
13814         * modules/uninorm/u16-normcoll-tests (Files): Likewise.
13815         * modules/uninorm/u32-normcmp-tests (Files): Likewise.
13816         * modules/uninorm/u32-normcoll-tests (Files): Likewise.
13817         * modules/unistdio/u8-asnprintf-tests (Files): Likewise.
13818         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
13819         * modules/unistdio/u8-vasprintf-tests (Files): Likewise.
13820         * modules/unistdio/u8-vsnprintf-tests (Files): Likewise.
13821         * modules/unistdio/u8-vsprintf-tests (Files): Likewise.
13822         * modules/unistdio/u16-asnprintf-tests (Files): Likewise.
13823         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
13824         * modules/unistdio/u16-vasprintf-tests (Files): Likewise.
13825         * modules/unistdio/u16-vsnprintf-tests (Files): Likewise.
13826         * modules/unistdio/u16-vsprintf-tests (Files): Likewise.
13827         * modules/unistdio/u32-asnprintf-tests (Files): Likewise.
13828         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
13829         * modules/unistdio/u32-vasprintf-tests (Files): Likewise.
13830         * modules/unistdio/u32-vsnprintf-tests (Files): Likewise.
13831         * modules/unistdio/u32-vsprintf-tests (Files): Likewise.
13832         * modules/unistdio/ulc-asnprintf-tests (Files): Likewise.
13833         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
13834         * modules/unistdio/ulc-vasprintf-tests (Files): Likewise.
13835         * modules/unistdio/ulc-vsnprintf-tests (Files): Likewise.
13836         * modules/unistdio/ulc-vsprintf-tests (Files): Likewise.
13837         * modules/uniwbrk/u8-wordbreaks-tests (Files): Likewise.
13838         * modules/uniwbrk/u16-wordbreaks-tests (Files): Likewise.
13839         * modules/uniwbrk/u32-wordbreaks-tests (Files): Likewise.
13840         * modules/uniwbrk/ulc-wordbreaks-tests (Files): Likewise.
13841         * modules/uniwidth/u8-strwidth-tests (Files): Likewise.
13842         * modules/uniwidth/u8-width-tests (Files): Likewise.
13843         * modules/uniwidth/u16-strwidth-tests (Files): Likewise.
13844         * modules/uniwidth/u16-width-tests (Files): Likewise.
13845         * modules/uniwidth/u32-strwidth-tests (Files): Likewise.
13846         * modules/uniwidth/u32-width-tests (Files): Likewise.
13847         * modules/uniwidth/width-tests (Files): Likewise.
13848         * modules/unlink-tests (Files): Likewise.
13849         * modules/unsetenv-tests (Files): Likewise.
13850         * modules/usleep-tests (Files): Likewise.
13851         * modules/utimens-tests (Files): Likewise.
13852         * modules/utimensat-tests (Files): Likewise.
13853         * modules/vasnprintf-posix-tests (Files): Likewise.
13854         * modules/vasnprintf-tests (Files): Likewise.
13855         * modules/vasprintf-posix-tests (Files): Likewise.
13856         * modules/vasprintf-tests (Files): Likewise.
13857         * modules/vdprintf-posix-tests (Files): Likewise.
13858         * modules/vfprintf-posix-tests (Files): Likewise.
13859         * modules/vprintf-posix-tests (Files): Likewise.
13860         * modules/vsnprintf-posix-tests (Files): Likewise.
13861         * modules/vsnprintf-tests (Files): Likewise.
13862         * modules/vsprintf-posix-tests (Files): Likewise.
13863         * modules/wcrtomb-tests (Files): Likewise.
13864         * modules/wcsnrtombs-tests (Files): Likewise.
13865         * modules/wcsrtombs-tests (Files): Likewise.
13866         * modules/wctype-tests (Files): Likewise.
13867         * modules/wcwidth-tests (Files): Likewise.
13868         * modules/xmemdup0-tests (Files): Likewise.
13869         * modules/xprintf-posix-tests (Files): Likewise.
13870         * modules/xvasprintf-tests (Files): Likewise.
13871
13872 2009-12-24  Eric Blake  <ebb9@byu.net>
13873
13874         test-nanosleep: fix typo
13875         * tests/test-nanosleep.c (SIGNATURE_CHECK): Fix typo in previous
13876         patch.
13877         Reported by Bruno Haible.
13878
13879 2009-12-24  Bruno Haible  <bruno@clisp.org>
13880
13881         Reduce namespace pollution on glibc systems.
13882         * lib/inttypes.in.h: Don't include <stdint.h> on glibc systems.
13883         * lib/stdlib.in.h: Don't include <stdint.h>, <unistd.h> on glibc
13884         systems.
13885         * lib/unistd.in.h: Don't include <stdio.h>, <fcntl.h>, <stdlib.h>,
13886         <getopt.h> on glibc systems.
13887         * lib/fcntl.in.h: Don't include <sys/stat.h>, <unistd.h> on glibc
13888         systems.
13889         * lib/fcntl.c: Include <unistd.h> here instead.
13890
13891 2009-12-24  Bruno Haible  <bruno@clisp.org>
13892
13893         * lib/stdlib.in.h (includes): Fix typo in today's commit.
13894
13895 2009-12-24  Eric Blake  <ebb9@byu.net>
13896
13897         tests: add signature checks
13898         * tests/signature.h (SIGNATURE_CHECK): New file.
13899         * modules/atexit-tests (Files): Use it.
13900         * modules/btowc-tests (Files): Likewise.
13901         * modules/canonicalize-lgpl-tests (Files): Likewise.
13902         * modules/ceilf-tests (Files): Likewise.
13903         * modules/ceill-tests (Files): Likewise.
13904         * modules/chown-tests (Files): Likewise.
13905         * modules/dprintf-posix-tests (Files): Likewise.
13906         * modules/dup2-tests (Files): Likewise.
13907         * modules/dup3-tests (Files): Likewise.
13908         * modules/duplocale-tests (Files): Likewise.
13909         * modules/fchdir-tests (Files): Likewise.
13910         * modules/fcntl-tests (Files): Likewise.
13911         * modules/fdopendir-tests (Files): Likewise.
13912         * modules/fflush-tests (Files): Likewise.
13913         * modules/flock-tests (Files): Likewise.
13914         * modules/floorf-tests (Files): Likewise.
13915         * modules/floorl-tests (Files): Likewise.
13916         * modules/fnmatch-tests (Files): Likewise.
13917         * modules/fopen-tests (Files): Likewise.
13918         * modules/fprintf-posix-tests (Files): Likewise.
13919         * modules/freopen-tests (Files): Likewise.
13920         * modules/frexp-nolibm-tests (Files): Likewise.
13921         * modules/frexp-tests (Files): Likewise.
13922         * modules/frexpl-nolibm-tests (Files): Likewise.
13923         * modules/frexpl-tests (Files): Likewise.
13924         * modules/fseek-tests (Files): Likewise.
13925         * modules/fseeko-tests (Files): Likewise.
13926         * modules/fsync-tests (Files): Likewise.
13927         * modules/ftell-tests (Files): Likewise.
13928         * modules/ftello-tests (Files): Likewise.
13929         * modules/futimens-tests (Files): Likewise.
13930         * modules/getaddrinfo-tests (Files): Likewise.
13931         * modules/getcwd-tests (Files): Likewise.
13932         * modules/getdelim-tests (Files): Likewise.
13933         * modules/getdtablesize-tests (Files): Likewise.
13934         * modules/getgroups-tests (Files): Likewise.
13935         * modules/gethostname-tests (Files): Likewise.
13936         * modules/getline-tests (Files): Likewise.
13937         * modules/getopt-posix-tests (Files): Likewise.
13938         * modules/gettimeofday-tests (Files): Likewise.
13939         * modules/glob-tests (Files): Likewise.
13940         * modules/iconv-tests (Files): Likewise.
13941         * modules/inet_ntop-tests (Files): Likewise.
13942         * modules/inet_pton-tests (Files): Likewise.
13943         * modules/isblank-tests (Files): Likewise.
13944         * modules/lchown-tests (Files): Likewise.
13945         * modules/ldexpl-tests (Files): Likewise.
13946         * modules/link-tests (Files): Likewise.
13947         * modules/linkat-tests (Files): Likewise.
13948         * modules/lseek-tests (Files): Likewise.
13949         * modules/lstat-tests (Files): Likewise.
13950         * modules/mbrtowc-tests (Files): Likewise.
13951         * modules/mbsinit-tests (Files): Likewise.
13952         * modules/mbsnrtowcs-tests (Files): Likewise.
13953         * modules/mbsrtowcs-tests (Files): Likewise.
13954         * modules/memchr-tests (Files): Likewise.
13955         * modules/memcmp-tests (Files): Likewise.
13956         * modules/memmem-tests (Files): Likewise.
13957         * modules/memrchr-tests (Files): Likewise.
13958         * modules/mkdir-tests (Files): Likewise.
13959         * modules/mkfifo-tests (Files): Likewise.
13960         * modules/mkfifoat-tests (Files): Likewise.
13961         * modules/mknod-tests (Files): Likewise.
13962         * modules/nanosleep-tests (Files): Likewise.
13963         * modules/nl_langinfo-tests (Files): Likewise.
13964         * modules/obstack-printf-tests (Files): Likewise.
13965         * modules/open-tests (Files): Likewise.
13966         * modules/openat-tests (Files): Likewise.
13967         * modules/perror-tests (Files): Likewise.
13968         * modules/pipe2-tests (Files): Likewise.
13969         * modules/poll-tests (Files): Likewise.
13970         * modules/popen-tests (Files): Likewise.
13971         * modules/posix_spawn-tests (Files): Likewise.
13972         * modules/posix_spawnp-tests (Files): Likewise.
13973         * modules/pread-tests (Files): Likewise.
13974         * modules/printf-posix-tests (Files): Likewise.
13975         * modules/pty-tests (Files): Likewise.
13976         * modules/random_r-tests (Files): Likewise.
13977         * modules/rawmemchr-tests (Files): Likewise.
13978         * modules/readlink-tests (Files): Likewise.
13979         * modules/remove-tests (Files): Likewise.
13980         * modules/rename-tests (Files): Likewise.
13981         * modules/renameat-tests (Files): Likewise.
13982         * modules/rmdir-tests (Files): Likewise.
13983         * modules/round-tests (Files): Likewise.
13984         * modules/roundf-tests (Files): Likewise.
13985         * modules/roundl-tests (Files): Likewise.
13986         * modules/select-tests (Files): Likewise.
13987         * modules/setenv-tests (Files): Likewise.
13988         * modules/sigaction-tests (Files): Likewise.
13989         * modules/sleep-tests (Files): Likewise.
13990         * modules/snprintf-posix-tests (Files): Likewise.
13991         * modules/snprintf-tests (Files): Likewise.
13992         * modules/sprintf-posix-tests (Files): Likewise.
13993         * modules/stat-tests (Files): Likewise.
13994         * modules/strcasestr-tests (Files): Likewise.
13995         * modules/strchrnul-tests (Files): Likewise.
13996         * modules/strerror-tests (Files): Likewise.
13997         * modules/strsignal-tests (Files): Likewise.
13998         * modules/strstr-tests (Files): Likewise.
13999         * modules/strtod-tests (Files): Likewise.
14000         * modules/strverscmp-tests (Files): Likewise.
14001         * modules/symlink-tests (Files): Likewise.
14002         * modules/symlinkat-tests (Files): Likewise.
14003         * modules/times-tests (Files): Likewise.
14004         * modules/trunc-tests (Files): Likewise.
14005         * modules/truncf-tests (Files): Likewise.
14006         * modules/truncl-tests (Files): Likewise.
14007         * modules/tsearch-tests (Files): Likewise.
14008         * modules/uname-tests (Files): Likewise.
14009         * modules/unlink-tests (Files): Likewise.
14010         * modules/unsetenv-tests (Files): Likewise.
14011         * modules/usleep-tests (Files): Likewise.
14012         * modules/utimensat-tests (Files): Likewise.
14013         * modules/vasprintf-tests (Files): Likewise.
14014         * modules/vdprintf-posix-tests (Files): Likewise.
14015         * modules/vfprintf-posix-tests (Files): Likewise.
14016         * modules/vprintf-posix-tests (Files): Likewise.
14017         * modules/vsnprintf-posix-tests (Files): Likewise.
14018         * modules/vsnprintf-tests (Files): Likewise.
14019         * modules/vsprintf-posix-tests (Files): Likewise.
14020         * modules/wcrtomb-tests (Files): Likewise.
14021         * modules/wcsnrtombs-tests (Files): Likewise.
14022         * modules/wcsrtombs-tests (Files): Likewise.
14023         * modules/wcwidth-tests (Files): Likewise.
14024         * tests/test-isfinite.c (isfinite): Ensure macro declaration.
14025         * tests/test-isinf.c (isinf): Likewise.
14026         * tests/test-isnan.c (isnan): Likewise.
14027         * tests/test-signbit.c (signbit): Likewise.
14028         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Ensure
14029         declaration, either as macro or with correct signature.
14030         (select): Ensure function under test is declared with correct
14031         signature in correct header.
14032         * tests/test-atexit.c (atexit): Likewise.
14033         * tests/test-btowc.c (btowc): Likewise.
14034         * tests/test-canonicalize-lgpl.c (realpath)
14035         (canonicalize_file_name): Likewise.
14036         * tests/test-ceilf1.c (ceilf): Likewise.
14037         * tests/test-ceill.c (ceill): Likewise.
14038         * tests/test-chown.c (chown): Likewise.
14039         * tests/test-dprintf-posix.c (dprintf): Likewise.
14040         * tests/test-dup2.c (dup2): Likewise.
14041         * tests/test-dup3.c (dup3): Likewise.
14042         * tests/test-duplocale.c (duplocale): Likewise.
14043         * tests/test-fchdir.c (fchdir): Likewise.
14044         * tests/test-fchownat.c (fchownat): Likewise.
14045         * tests/test-fcntl.c (fcntl): Likewise.
14046         * tests/test-fdopendir.c (fdopendir): Likewise.
14047         * tests/test-fflush.c (fflush): Likewise.
14048         * tests/test-flock.c (flock): Likewise.
14049         * tests/test-floorf1.c (floorf): Likewise.
14050         * tests/test-floorl.c (floorl): Likewise.
14051         * tests/test-fnmatch.c (fnmatch): Likewise.
14052         * tests/test-fopen.c (fopen): Likewise.
14053         * tests/test-fprintf-posix.c (fprintf): Likewise.
14054         * tests/test-freopen.c (freopen): Likewise.
14055         * tests/test-frexp.c (frexp): Likewise.
14056         * tests/test-frexpl.c (frexpl): Likewise.
14057         * tests/test-fseek.c (fseek): Likewise.
14058         * tests/test-fseeko.c (fseeko): Likewise.
14059         * tests/test-fstatat.c (fstatat): Likewise.
14060         * tests/test-fsync.c (fsync): Likewise.
14061         * tests/test-ftell.c (ftell): Likewise.
14062         * tests/test-ftello.c (ftello): Likewise.
14063         * tests/test-futimens.c (futimens): Likewise.
14064         * tests/test-getaddrinfo.c (getaddrinfo, freeaddrinfo)
14065         (gai_strerror): Likewise.
14066         * tests/test-getcwd.c (getcwd): Likewise.
14067         * tests/test-getdelim.c (getdelim): Likewise.
14068         * tests/test-getdtablesize.c (getdtablesize): Likewise.
14069         * tests/test-getgroups.c (getgroups): Likewise.
14070         * tests/test-gethostname.c (gethostname): Likewise.
14071         * tests/test-getline.c (getline): Likewise.
14072         * tests/test-getopt.c (getopt, getopt_long, getopt_long_only):
14073         Likewise.
14074         * tests/test-gettimeofday.c (gettimeofday): Likewise.
14075         * tests/test-glob.c (glob, globfree): Likewise.
14076         * tests/test-iconv.c (iconv, iconv_open, iconv_close): Likewise.
14077         * tests/test-inet_ntop.c (inet_ntop): Likewise.
14078         * tests/test-inet_pton.c (inet_pton): Likewise.
14079         * tests/test-isblank.c (isblank): Likewise.
14080         * tests/test-lchown.c (lchown): Likewise.
14081         * tests/test-ldexpl.c (ldexpl): Likewise.
14082         * tests/test-link.c (link): Likewise.
14083         * tests/test-linkat.c (linkat): Likewise.
14084         * tests/test-lseek.c (lseek): Likewise.
14085         * tests/test-lstat.c (lstat): Likewise.
14086         * tests/test-mbrtowc.c (mbrtowc): Likewise.
14087         * tests/test-mbsinit.c (mbsinit): Likewise.
14088         * tests/test-mbsnrtowcs.c (mbsnrtowcs): Likewise.
14089         * tests/test-mbsrtowcs.c (mbsrtowcs): Likewise.
14090         * tests/test-memchr.c (memchr): Likewise.
14091         * tests/test-memcmp.c (memcmp): Likewise.
14092         * tests/test-memmem.c (memmem): Likewise.
14093         * tests/test-memrchr.c (memrchr): Likewise.
14094         * tests/test-mkdir.c (mkdir): Likewise.
14095         * tests/test-mkdirat.c (mkdirat): Likewise.
14096         * tests/test-mkfifo.c (mkfifo): Likewise.
14097         * tests/test-mkfifoat.c (mkfifoat, mknodat): Likewise.
14098         * tests/test-mknod.c (mknod): Likewise.
14099         * tests/test-nanosleep.c (nanosleep): Likewise.
14100         * tests/test-nl_langinfo.c (nl_langinfo): Likewise.
14101         * tests/test-obstack-printf.c (obstack_printf, obstack_vprintf):
14102         Likewise.
14103         * tests/test-open.c (open): Likewise.
14104         * tests/test-openat.c (openat): Likewise.
14105         * tests/test-perror.c (perror): Likewise.
14106         * tests/test-pipe2.c (pipe2): Likewise.
14107         * tests/test-poll.c (poll): Likewise.
14108         * tests/test-popen.c (popen, pclose): Likewise.
14109         * tests/test-posix_spawn1.c (posix_spawnp, posix_spawnattr_init)
14110         (posix_spawnattr_destroy, posix_spawnattr_setsigmask)
14111         (posix_spawnattr_setflags, posix_spawn_file_actions_init)
14112         (posix_spawn_file_actions_destroy)
14113         (posix_spawn_file_actions_addclose)
14114         (posix_spawn_file_actions_addopen)
14115         (posix_spawn_file_actions_adddup2): Likewise.
14116         * tests/test-posix_spawn3.c (posix_spawn): Likewise.
14117         * tests/test-pread.c (pread): Likewise.
14118         * tests/test-printf-posix.c (printf): Likewise.
14119         * tests/test-pty.c (openpty, forkpty): Likewise.
14120         * tests/test-random_r.c (srandom_r, initstate_r, setstate_r)
14121         (random_r): Likewise.
14122         * tests/test-rawmemchr.c (rawmemchr): Likewise.
14123         * tests/test-readlink.c (readlink): Likewise.
14124         * tests/test-remove.c (remove): Likewise.
14125         * tests/test-rename.c (rename): Likewise.
14126         * tests/test-renameat.c (renameat): Likewise.
14127         * tests/test-rmdir.c (rmdir): Likewise.
14128         * tests/test-round1.c (round): Likewise.
14129         * tests/test-roundf1.c (roundf): Likewise.
14130         * tests/test-roundl.c (roundl): Likewise.
14131         * tests/test-setenv.c (setenv): Likewise.
14132         * tests/test-sigaction.c (sigaction): Likewise.
14133         * tests/test-sleep.c (sleep): Likewise.
14134         * tests/test-snprintf.c (snprintf): Likewise.
14135         * tests/test-sprintf-posix.c (sprintf): Likewise.
14136         * tests/test-stat.c (stat): Likewise.
14137         * tests/test-stpncpy.c (stpncpy): Likewise.
14138         * tests/test-strcasestr.c (strcasestr): Likewise.
14139         * tests/test-strchrnul.c (strchrnul): Likewise.
14140         * tests/test-strerror.c (strerror): Likewise.
14141         * tests/test-strsignal.c (strsignal): Likewise.
14142         * tests/test-strstr.c (strstr): Likewise.
14143         * tests/test-strtod.c (strtod): Likewise.
14144         * tests/test-strverscmp.c (strverscmp): Likewise.
14145         * tests/test-symlink.c (symlink): Likewise.
14146         * tests/test-symlinkat.c (symlinkat, readlinkat): Likewise.
14147         * tests/test-times.c (times): Likewise.
14148         * tests/test-trunc1.c (trunc): Likewise.
14149         * tests/test-truncf1.c (truncf): Likewise.
14150         * tests/test-truncl.c (truncl): Likewise.
14151         * tests/test-tsearch.c (tdelete, tfind, tsearch, twalk):
14152         Likewise.
14153         * tests/test-uname.c (uname): Likewise.
14154         * tests/test-unlink.c (unlink): Likewise.
14155         * tests/test-unlinkat.c (unlinkat): Likewise.
14156         * tests/test-unsetenv.c (unsetenv): Likewise.
14157         * tests/test-usleep.c (usleep): Likewise.
14158         * tests/test-utimensat.c (utimensat): Likewise.
14159         * tests/test-vasprintf.c (asprintf, vasprintf): Likewise.
14160         * tests/test-vdprintf-posix.c (vdprintf): Likewise.
14161         * tests/test-vfprintf-posix.c (vfprintf): Likewise.
14162         * tests/test-vprintf-posix.c (vprintf): Likewise.
14163         * tests/test-vsnprintf.c (vsnprintf): Likewise.
14164         * tests/test-vsprintf-posix.c (vsprintf): Likewise.
14165         * tests/test-wcrtomb.c (wcrtomb): Likewise.
14166         * tests/test-wcsnrtombs.c (wcsnrtombs): Likewise.
14167         * tests/test-wcsrtombs.c (wcsrtombs): Likewise.
14168         * tests/test-wcwidth.c (wcwidth): Likewise.
14169
14170         build: pull in conditional headers during GNULIB_POSIXCHECK
14171         * lib/stdio.in.h (includes): Using GNULIB_POSIXCHECK also requires
14172         definitions from any conditionally-included headers.
14173         * lib/stdlib.in.h (includes): Likewise.
14174         * lib/unistd.in.h (includes): Likewise.
14175
14176 2009-12-24  Bruno Haible  <bruno@clisp.org>
14177
14178         * tests/test-argv-iter.c: Include header file being tested immediately
14179         after config.h.
14180         * tests/test-base64.c: Likewise.
14181         * tests/test-flock.c: Likewise.
14182         * tests/test-fsync.c: Likewise.
14183         * tests/test-getdate.c: Likewise.
14184         * tests/test-getndelim2.c: Likewise.
14185         * tests/test-isfinite.c: Likewise.
14186         * tests/test-isinf.c: Likewise.
14187         * tests/test-strerror.c: Likewise.
14188         * tests/test-strsignal.c: Likewise.
14189
14190 2009-12-23  Eric Blake  <ebb9@byu.net>
14191
14192         unistd: work around cygwin bug
14193         * lib/unistd.in.h (includes): Pick up headers needed for cygwin.
14194         * doc/posix-functions/unlinkat.texi (unlinkat): Document the bug.
14195         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
14196
14197 2009-12-23  Bruno Haible  <bruno@clisp.org>
14198
14199         localename: More tests.
14200         * tests/test-localename.c (SIZEOF): New macro.
14201         (categories): New variable.
14202         (test_locale_name, test_locale_name_posix, test_locale_name_environ,
14203         test_locale_name_default): Add test w.r.t. thread locale.
14204         (test_locale_name_thread): New function.
14205         (main): Invoke it.
14206
14207         localename: Make aware of thread locale.
14208         * lib/localename.h (gl_locale_name_thread): New declaration.
14209         (gl_locale_name, gl_locale_name_posix, gl_locale_name_default): Clarify
14210         behaviour with respect to thread locale.
14211         * lib/localename.c: Include <limits.h>, <stddef.h>, <xlocale.h>,
14212         <langinfo.h>, glthread/lock.h.
14213         (SIZE_BITS): New macro.
14214         (string_hash): New function.
14215         (struct hash_node): New type.
14216         (HASH_TABLE_SIZE): New macro.
14217         (struniq_hash_table, struniq_lock): New variables.
14218         (struniq): New function.
14219         (gl_locale_name_thread): New function.
14220         (gl_locale_name): Invoke it.
14221         * m4/localename.m4 (gl_LOCALENAME): Test for uselocale function.
14222         * modules/localename (Depends-on): Add lock.
14223         Reported by Mike Gran <spk121@yahoo.com>.
14224
14225 2009-12-23  Eric Blake  <ebb9@byu.net>
14226
14227         va-args: new module
14228         * modules/va-args: New file.
14229         * m4/va-args.m4 (gl_VA_ARGS): Likewise.
14230         * MODULES.html.sh (Core language properties): Mention it.
14231
14232         gnulib-common: prefer _GL_UNUSED over _UNUSED_PARAMETER_
14233         * m4/gnulib-common.m4 (gl_COMMON): Create a more-appropriately
14234         named alias for __attribute__((__unused__)).
14235         * lib/chown.c: Update client.
14236         * lib/fchmodat.c: Likewise.
14237         * lib/fts.c: Likewise.
14238         * lib/getdate.y: Likewise.
14239         * lib/getgroups.c: Likewise.
14240         * lib/getopt.c: Likewise.
14241         * lib/getugroups.c: Likewise.
14242         * lib/mkdir.c: Likewise.
14243         * lib/mkfifo.c: Likewise.
14244         * lib/mkfifoat.c: Likewise.
14245         * lib/mknod.c: Likewise.
14246         * lib/mknodat.c: Likewise.
14247         * lib/readlink.c: Likewise.
14248         * lib/se-context.in.h: Likewise.
14249         * lib/se-selinux.in.h: Likewise.
14250         * lib/sockets.c: Likewise.
14251         * lib/symlink.c: Likewise.
14252         * lib/symlinkat.c: Likewise.
14253         * lib/unicodeio.c: Likewise.
14254         * lib/unistr.h: Likewise.
14255         * tests/test-areadlink.c: Likewise.
14256         * tests/test-areadlinkat.c: Likewise.
14257         * tests/test-filenamecat.c: Likewise.
14258         * tests/test-fseeko.c: Likewise.
14259         * tests/test-ftello.c: Likewise.
14260         * tests/test-getdate.c: Likewise.
14261         * tests/test-getgroups.c: Likewise.
14262         * tests/test-gethostname.c: Likewise.
14263         * tests/test-quotearg.c: Likewise.
14264         * tests/test-version-etc.c: Likewise.
14265         * tests/test-xalloc-die.c: Likewise.
14266         * tests/test-xfprintf-posix.c: Likewise.
14267         * tests/test-xprintf-posix.c: Likewise.
14268         * tests/test-xvasprintf.c: Likewise.
14269
14270         tests: avoid compiler warnings
14271         * tests/test-fcntl.c (main): Delete unused parameters.
14272         * tests/test-freopen-safer.c (main): Likewise.
14273         * tests/test-xalloc-die.c (main): Mark unused parameters.
14274         * tests/test-fseeko.c (main): Likewise.
14275         * tests/test-ftello.c (main): Likewise.
14276         * tests/test-nanosleep.c (main): Avoid declaration warning.
14277         * tests/test-sleep.c (main): Likewise.
14278         * tests/test-unsetenv.c (main): Silence warning about string
14279         literal.
14280         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
14281
14282 2009-12-23  Bruno Haible  <bruno@clisp.org>
14283
14284         * tests/test-localename.c (test_locale_name): New function, extracted
14285         from main. Also test mixed situations.
14286         (test_locale_name_posix, test_locale_name_environ,
14287         test_locale_name_default): New functions.
14288         (main): Invoke them all.
14289         * modules/localename-tests (configure.ac): Test for newlocale.
14290
14291 2009-12-23  Bruno Haible  <bruno@clisp.org>
14292
14293         unistd: Ensure getcwd gets declared before being overridden.
14294         * lib/unistd.in.h: Conditionally include <io.h>.
14295
14296 2009-12-22  Bruno Haible  <bruno@clisp.org>
14297
14298         wchar: Diagnose broken combination of glibc and gcc versions and flags.
14299         * m4/wchar.m4 (gl_WCHAR_H_INLINE_OK): New macro.
14300         (gl_WCHAR_H): Invoke it.
14301         * m4/btowc.m4 (gl_FUNC_BTOWC): Require it.
14302         * doc/posix-headers/wchar.texi: Mention the interoperability problem.
14303         Reported by Karl Berry <karl@freefriends.org>.
14304
14305 2009-12-22  Eric Blake  <ebb9@byu.net>
14306
14307         math, unistd: avoid redundant includes
14308         * lib/math.in.h (isnan): No need to re-include <math.h>.
14309         * lib/unistd.in.h (getcwd): Likewise, for <stdlib.h>.
14310
14311         getsubopt: work around cygwin bug
14312         * lib/stdlib.in.h (includes): Move unistd inclusion sooner, to
14313         avoid conflicting with system getsubopt.
14314         * doc/posix-functions/getsubopt.texi (getsubopt): Document the
14315         bug.
14316
14317         getopt: synchronize from glibc
14318         * lib/getopt.c (_getopt_initialize, _getopt_internal_r): Swap
14319         parameter order.  Adjust all callers.
14320         (_getopt_internal_r, main): Adjust quoting in error messages.
14321         Drop considerations for outdated POSIX 1003.2 error message.
14322         * lib/getopt1.c (_getopt_long_r, _getopt_long_only_r): Adjust
14323         callers.
14324         * lib/getopt_int.h (_getopt_internal_r): Adjust prototype.
14325
14326         test-getopt: test stderr behavior
14327         * modules/getopt-posix-tests (Depends-on): Add dup2.
14328         * tests/test-getopt.c (ASSERT): Avoid stderr.
14329         (main): Move stderr to a temporary file.
14330         * tests/test-getopt.h (getopt_loop): No longer manipulate opterr.
14331         Instead, add parameter to inform caller if output occurred.
14332         (test_getopt): Adjust all existing tests to expect silence, and
14333         add new tests of leading ":".
14334         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
14335         glibc shortcomings with leading "-:" or "+:" in optstring.
14336         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
14337         Likewise.
14338         * doc/posix-functions/getopt.texi (getopt): Likewise.
14339
14340         test-getopt: enhance test
14341         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require that getopt_long
14342         supports optind=0.
14343         * tests/test-getopt.c (OPTIND_MIN): Move...
14344         * tests/test-getopt.h (OPTIND_MIN): ...here.
14345         * tests/test-getopt_long.h (test_getopt_long): Add more coverage.
14346         Require that optind=0 works, since modern BSD supports it in
14347         addition to optreset, and since coreutils expects it.
14348         (test_getopt_long_only): New test.
14349         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
14350         glibc shortcomings with 'W;', and enforcement of optind=0.
14351         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
14352         Likewise.
14353
14354 2009-12-21  Bruno Haible  <bruno@clisp.org>
14355
14356         localename: Improvements for MacOS X and Cygwin.
14357         * lib/localename.h (gl_locale_name_environ): New declaration.
14358         * lib/localename.c (gl_locale_name_environ): New function, extracted from
14359         gl_locale_name_posix. Ignore dummy LANG values on MacOS X and Cygwin.
14360         (gl_locale_name_posix): Invoke it.
14361         (gl_locale_name_default): Add comments. Use Windows native API also on
14362         Cygwin.
14363
14364 2009-12-21  Bruno Haible  <bruno@clisp.org>
14365
14366         Update list of Win32 locale ids.
14367         * lib/localename.c (LANG_ROMANSH): Renamed from LANG_RHAETO_ROMANCE.
14368         (LANG_SAMI): Renamed from LANG_SAAMI.
14369         (LANG_BASHKIR, LANG_LUXEMBOURGISH, LANG_GREENLANDIC,
14370         LANG_MAPUDUNGUN, LANG_MOHAWK, LANG_BRETON, LANG_OCCITAN, LANG_CORSICAN,
14371         LANG_ALSATIAN, LANG_YAKUT, LANG_KICHE, LANG_KINYARWANDA, LANG_WOLOF,
14372         LANG_DARI, LANG_SCOTTISH_GAELIC): New macros.
14373         (SUBLANG_AFRIKAANS_SOUTH_AFRICA, SUBLANG_ALBANIAN_ALBANIA,
14374         SUBLANG_ALSATIAN_FRANCE, SUBLANG_AMHARIC_ETHIOPIA,
14375         SUBLANG_ARMENIAN_ARMENIA, SUBLANG_ASSAMESE_INDIA,
14376         SUBLANG_BASHKIR_RUSSIA, SUBLANG_BASQUE_BASQUE,
14377         SUBLANG_BELARUSIAN_BELARUS, SUBLANG_BRETON_FRANCE,
14378         SUBLANG_BULGARIAN_BULGARIA, SUBLANG_CAMBODIAN_CAMBODIA,
14379         SUBLANG_CATALAN_SPAIN, SUBLANG_CORSICAN_FRANCE,
14380         SUBLANG_CZECH_CZECH_REPUBLIC, SUBLANG_DANISH_DENMARK,
14381         SUBLANG_DARI_AFGHANISTAN, SUBLANG_DIVEHI_MALDIVES,
14382         SUBLANG_DUTCH_SURINAM, SUBLANG_ESTONIAN_ESTONIA,
14383         SUBLANG_FAEROESE_FAROE_ISLANDS, SUBLANG_FARSI_IRAN,
14384         SUBLANG_FINNISH_FINLAND, SUBLANG_FRISIAN_NETHERLANDS,
14385         SUBLANG_GALICIAN_SPAIN, SUBLANG_GEORGIAN_GEORGIA,
14386         SUBLANG_GREEK_GREECE, SUBLANG_GREENLANDIC_GREENLAND,
14387         SUBLANG_GUJARATI_INDIA, SUBLANG_HAUSA_NIGERIA_LATIN,
14388         SUBLANG_HEBREW_ISRAEL, SUBLANG_HINDI_INDIA, SUBLANG_HUNGARIAN_HUNGARY,
14389         SUBLANG_ICELANDIC_ICELAND, SUBLANG_IGBO_NIGERIA,
14390         SUBLANG_INDONESIAN_INDONESIA, SUBLANG_INUKTITUT_CANADA,
14391         SUBLANG_INUKTITUT_CANADA_LATIN, SUBLANG_IRISH_IRELAND,
14392         SUBLANG_JAPANESE_JAPAN, SUBLANG_KANNADA_INDIA,
14393         SUBLANG_KAZAK_KAZAKHSTAN, SUBLANG_KICHE_GUATEMALA,
14394         SUBLANG_KINYARWANDA_RWANDA, SUBLANG_KONKANI_INDIA,
14395         SUBLANG_KYRGYZ_KYRGYZSTAN, SUBLANG_LAO_LAOS, SUBLANG_LATVIAN_LATVIA,
14396         SUBLANG_LITHUANIAN_LITHUANIA, SUBLANG_LOWER_SORBIAN_GERMANY,
14397         SUBLANG_LUXEMBOURGISH_LUXEMBOURG, SUBLANG_MACEDONIAN_MACEDONIA,
14398         SUBLANG_MALAYALAM_INDIA, SUBLANG_MALTESE_MALTA,
14399         SUBLANG_MAORI_NEW_ZEALAND, SUBLANG_MAPUDUNGUN_CHILE,
14400         SUBLANG_MARATHI_INDIA, SUBLANG_MOHAWK_CANADA, SUBLANG_NEPALI_NEPAL,
14401         SUBLANG_OCCITAN_FRANCE, SUBLANG_ORIYA_INDIA,
14402         SUBLANG_PASHTO_AFGHANISTAN, SUBLANG_POLISH_POLAND,
14403         SUBLANG_ROMANSH_SWITZERLAND, SUBLANG_SAMI_NORTHERN_NORWAY,
14404         SUBLANG_SAMI_NORTHERN_SWEDEN, SUBLANG_SAMI_NORTHERN_FINLAND,
14405         SUBLANG_SAMI_LULE_NORWAY, SUBLANG_SAMI_LULE_SWEDEN,
14406         SUBLANG_SAMI_SOUTHERN_NORWAY, SUBLANG_SAMI_SOUTHERN_SWEDEN,
14407         SUBLANG_SAMI_SKOLT_FINLAND, SUBLANG_SAMI_INARI_FINLAND,
14408         SUBLANG_SANSKRIT_INDIA, SUBLANG_SINHALESE_SRI_LANKA,
14409         SUBLANG_SLOVAK_SLOVAKIA, SUBLANG_SLOVENIAN_SLOVENIA,
14410         SUBLANG_SOTHO_SOUTH_AFRICA, SUBLANG_SWAHILI_KENYA,
14411         SUBLANG_SWEDISH_SWEDEN, SUBLANG_SYRIAC_SYRIA,
14412         SUBLANG_TAGALOG_PHILIPPINES, SUBLANG_TAJIK_TAJIKISTAN,
14413         SUBLANG_TAMIL_INDIA, SUBLANG_TATAR_RUSSIA, SUBLANG_TELUGU_INDIA,
14414         SUBLANG_THAI_THAILAND, SUBLANG_TSWANA_SOUTH_AFRICA,
14415         SUBLANG_TURKISH_TURKEY, SUBLANG_TURKMEN_TURKMENISTAN,
14416         SUBLANG_UKRAINIAN_UKRAINE, SUBLANG_UPPER_SORBIAN_GERMANY,
14417         SUBLANG_VIETNAMESE_VIETNAM, SUBLANG_WELSH_UNITED_KINGDOM,
14418         SUBLANG_WOLOF_SENEGAL, SUBLANG_XHOSA_SOUTH_AFRICA,
14419         SUBLANG_YAKUT_RUSSIA, SUBLANG_YI_PRC, SUBLANG_YORUBA_NIGERIA,
14420         SUBLANG_ZULU_SOUTH_AFRICA): New macros.
14421         (gl_locale_name_from_win32_LANGID): Handle also the territory neutral
14422         locale ids. Add support for Alsatian, Bashkir, Breton, Corsican, Dari,
14423         Greenlandic, K'iche', Kinyarwanda, Luxembourgish, Mapudungun, Mohawk,
14424         Occitan, Scottish Gaelic, Wolof, Yakut. Change language code for Yi.
14425         Add more languages and countries for Sami, Sorbian. Add more countries
14426         for Serbian, Dutch. Add more scripts for Inuktitut. Be more precise
14427         for Pashto. Change country for Syriac, Tswana.
14428
14429 2009-12-21  Eric Blake  <ebb9@byu.net>
14430
14431         test-utimens: avoid spurious failure
14432         * tests/test-chown.h (nap): Factor...
14433         * tests/nap.h: ...into new file.
14434         * tests/test-lchown.h (nap): Avoid duplication.
14435         * tests/test-utimens-common.h (nap): Use shared implementation,
14436         necessary on file systems with 1-second resolution.
14437         * modules/chown-tests (Files): Include new file.
14438         * modules/fdutimensat-tests (Files): Likewise.
14439         * modules/futimens-tests (Files): Likewise.
14440         * modules/lchown-tests (Files): Likewise.
14441         * modules/openat-tests (Files): Likewise.
14442         * modules/utimens-tests (Files): Likewise.
14443         * modules/utimensat-tests (Files): Likewise.
14444
14445 2009-12-19  Eric Blake  <ebb9@byu.net>
14446
14447         futimens, utimensat: work around Linux bug
14448         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect ctime bug.
14449         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
14450         * lib/utimensat.c (rpl_utimensat): Work around it.
14451         * lib/futimens.c (rpl_futimens): Adjust comment.
14452
14453         utimens: work around Linux ctime bug
14454         * lib/utimens.c (detect_ctime_bug): New helper function.
14455         (update_timespec): Differentiate between workaround needed for
14456         this bug vs. what is needed for systems that lack utimensat.
14457         (fdutimens, lutimens): Work around bug.
14458
14459         utimens: check for ctime update
14460         * tests/test-utimens-common.h (check_ctime): Define.
14461         * tests/test-utimens.h (test_utimens): Expose the Linux bug.
14462         * tests/test-futimens.h (test_futimens): Likewise.
14463         * tests/test-lutimens.h (test_lutimens): Likewise.
14464         * doc/posix-functions/futimens.texi (futimens): Document the bug.
14465         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
14466
14467 2009-12-19  Bruno Haible  <bruno@clisp.org>
14468
14469         dprintf-posix: Check against memory leak fixed on 2009-12-15.
14470         * tests/test-dprintf-posix2.sh: New file.
14471         * tests/test-dprintf-posix2.c: New file.
14472         * modules/dprintf-posix-tests (Files): Add them.
14473         (configure.ac): Check for getrlimit and setrlimit.
14474         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
14475
14476 2009-12-19  Bruno Haible  <bruno@clisp.org>
14477
14478         fprintf-posix: Check against memory leak fixed on 2009-12-15.
14479         * tests/test-fprintf-posix3.sh: New file.
14480         * tests/test-fprintf-posix3.c: New file.
14481         * modules/fprintf-posix-tests (Files): Add them.
14482         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
14483
14484 2009-12-19  Eric Blake  <ebb9@byu.net>
14485
14486         dirfd: fix prototype
14487         * lib/dirent.in.h (dirfd): Argument is not const, per POSIX.
14488         * lib/dirfd.c (dirfd): Likewise.
14489
14490         canonicalize: reduce memory usage
14491         * lib/canonicalize.c (canonicalize_filename_mode): Trim the
14492         allocation to size.
14493         Reported by Solar Designer <solar@openwall.com>.
14494
14495 2009-12-19  Bruno Haible  <bruno@clisp.org>
14496
14497         New module attribute 'Applicability'.
14498         * modules/TEMPLATE-EXTENDED: New field 'Applicability'.
14499         * gnulib-tool: New option --extract-applicability.
14500         (func_usage): Document it.
14501         (sed_extract_prog): Recognize it.
14502         (func_get_applicability): New function.
14503         (func_import): Generalize handling of 'link-warning' module.
14504         * modules/link-warning (Applicability): New section.
14505         * modules/arg-nonnull (Applicability): New section.
14506         Repoted by Simon Josefsson <simon@josefsson.org>.
14507
14508 2009-12-19  Bruno Haible  <bruno@clisp.org>
14509
14510         fflush: tweak
14511         * lib/fflush.c (update_fpos_cache): Don't use fpos_t on Cygwin.
14512         * lib/fseeko.c (rpl_fseeko): Likewise.
14513
14514 2009-12-16  José E. Marchesi  <jemarch@gnu.org>  (tiny change)
14515
14516         * lib/gl_list.h: Fix typo in comment.
14517
14518 2009-12-16  Eric Blake  <ebb9@byu.net>
14519
14520         fcntl: use to simplify other modules
14521         * modules/cloexec (Depends-on): Add fcntl.
14522         * modules/fchdir (Depends-on): Likewise.
14523         * modules/fd-safer-flag (Depends-on): Likewise.
14524         * modules/unistd-safer (Depends-on): Likewise.
14525         * modules/dup3 (configure.ac): Set module indicator.
14526         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Replace fcntl if fchdir is
14527         missing.
14528         * lib/fchdir.c (_gl_register_dup): Fix comment.
14529         * lib/cloexec.c (dup_cloexec): Simplify, by relying on fcntl.
14530         * lib/dup-safer.c (dup_safer): Likewise.
14531         * lib/dup-safer-flag.c (dup_safer_flag): Likewise.
14532         * lib/dup3.c (dup3): Likewise.
14533         * tests/test-fchdir.c (main): Enhance test.
14534         Fixes a dup_cloexec bug reported by OndÅ™ej Vašík.
14535
14536         fcntl: port portions of fcntl to mingw
14537         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also build fcntl.c on mingw.
14538         * lib/fcntl.c (fcntl) <F_DUPFD, F_DUPFD_CLOEXEC, F_GETFD>: Provide
14539         replacement for mingw.
14540         * modules/fcntl (Description): Update.
14541         (Depends-on): Add dup2.
14542         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness.
14543         * modules/fcntl-h (Makefile.am): Substitute it.
14544         * lib/fcntl.in.h (fcntl): Update declaration.
14545         (F_DUPFD, F_GETFD): New macros, when needed.
14546         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
14547         * doc/posix-functions/fcntl.texi (fcntl): Likewise.
14548         * tests/test-fcntl.c (check_flags, main): Enhance test for items
14549         we now guarantee.
14550
14551         fcntl: work around cygwin bug in F_DUPFD
14552         * m4/fcntl.m4 (gl_REPLACE_FCNTL): New macro.
14553         (gl_FUNC_FCNTL): Use it.  Test for F_DUPFD bug.
14554         * lib/fcntl.c (rpl_fcntl) <F_DUPFD>: Work around it.
14555         <F_DUPFD_CLOEXEC>: Reduce calls to _gl_register_dup.
14556         * doc/posix-functions/fcntl.texi (fcntl): Document it.
14557
14558         fcntl: support F_DUPFD_CLOEXEC on systems with fcntl
14559         * modules/fcntl (Files): List new files.
14560         (configure.ac): Run a test.
14561         * m4/fcntl.m4 (gl_FUNC_FCNTL): New file.
14562         * lib/fcntl.c (rpl_fcntl): Likewise.
14563         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness defaults.
14564         (gl_FCNTL_H): Always replace fcntl.h.
14565         * modules/fcntl-h (Makefile.am): Substitute witnesses.
14566         * lib/fcntl.in.h (fcntl): Declare replacement.
14567         (F_DUPFD_CLOEXEC, GNULIB_defined_F_DUPFD_CLOEXEC): New macro when
14568         needed, plus a witness.
14569         * doc/posix-functions/fcntl.texi (fcntl): Document this.
14570         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
14571         * tests/test-fcntl.c: New file.
14572         * modules/fcntl-tests: Likewise.
14573
14574         binary-io: avoid potential compilation warning
14575         * lib/binary-io.h [__DJGPP__]: Avoid null preprocessor
14576         directives.
14577
14578         fflush: avoid compilation error on NetBSD
14579         * lib/fflush.c (update_fpos_cache): Use a union to safely convert
14580         between off_t and fpos_t, since the latter is sometimes a struct.
14581         * lib/fseeko.c (rpl_fseeko): Likewise.
14582         Reported by Alexander Nasonov <alnsn@yandex.ru>.
14583
14584 2009-12-15  Eric Blake  <ebb9@byu.net>
14585
14586         fcntl-h, stdio, sys_ioctl: fix declarations
14587         * lib/stdio.in.h (dprintf): Use of link warning on a variadic
14588         function must not take arguments.
14589         * lib/sys_ioctl.in.h (ioctl): Likewise.
14590         * lib/fcntl.in.h (openat): Likewise.  Declare extern.
14591         (open): Add a link warning.
14592
14593 2009-12-15  Jim Meyering  <meyering@redhat.com>
14594
14595         areadlink, areadlink-with-size: relax license to LGPLv2+
14596         * modules/areadlink (License): Relax to LGPLv2+.
14597         * modules/areadlink-with-size (License): Likewise.
14598
14599 2009-12-15  Joel E. Denny  <jdenny@clemson.edu>
14600             Bruno Haible  <bruno@clisp.org>
14601
14602         *printf: Fix memory leak.
14603         * lib/fprintf.c (fprintf): Free memory allocated by vasnprintf.
14604         * lib/vfprintf.c (vfprintf): Likewise.
14605         * lib/dprintf.c (dprintf): Likewise.
14606         * lib/vdprintf.c (vdprintf): Likewise.
14607
14608 2009-12-14  Eric Blake  <ebb9@byu.net>
14609
14610         accept4: adjust module dependencies
14611         * modules/accept4 (Depends-on): Use fcntl-h, not fcntl.
14612
14613         utimens: one more try at avoiding compiler warning
14614         * lib/utimens.c (lutimens): Lower scope of result.
14615
14616 2009-12-13  Bruno Haible  <bruno@clisp.org>
14617
14618         Move the malloc checking from module 'list' to new module 'xlist'.
14619         * modules/xlist: New file.
14620         * lib/gl_xlist.h: New file.
14621         * lib/gl_xlist.c: New file.
14622         * lib/gl_list.h (gl_list_create_empty, gl_list_create,
14623         gl_list_node_set_value, gl_list_set_at, gl_list_add_first,
14624         gl_list_add_last, gl_list_add_before, gl_list_add_after,
14625         gl_list_nx_add_at, gl_sortedlist_add): Disable declarations.
14626         (gl_list_nx_create_empty, gl_list_nx_create, gl_list_node_nx_set_value,
14627         gl_list_nx_set_at, gl_list_nx_add_first, gl_list_nx_add_last,
14628         gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at,
14629         gl_sortedlist_nx_add): New declarations.
14630         (struct gl_list_implementation): Rename and change methods accordingly.
14631         (gl_list_nx_create_empty): Renamed from gl_list_create_empty.
14632         (gl_list_nx_create): Renamed from gl_list_create.
14633         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
14634         (gl_list_nx_set_at): Renamed from gl_list_set_at.
14635         (gl_list_nx_add_first): Renamed from gl_list_add_first.
14636         (gl_list_nx_add_last): Renamed from gl_list_add_last.
14637         (gl_list_nx_add_before): Renamed from gl_list_add_before.
14638         (gl_list_nx_add_after): Renamed from gl_list_add_after.
14639         (gl_list_nx_add_at): Renamed from gl_list_add_at.
14640         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
14641         * lib/gl_list.c (gl_list_nx_create_empty): Renamed from
14642         gl_list_create_empty.
14643         (gl_list_nx_create): Renamed from gl_list_create.
14644         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
14645         (gl_list_nx_set_at): Renamed from gl_list_set_at.
14646         (gl_list_nx_add_first): Renamed from gl_list_add_first.
14647         (gl_list_nx_add_last): Renamed from gl_list_add_last.
14648         (gl_list_nx_add_before): Renamed from gl_list_add_before.
14649         (gl_list_nx_add_after): Renamed from gl_list_add_after.
14650         (gl_list_nx_add_at): Renamed from gl_list_add_at.
14651         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
14652         * lib/gl_array_list.c: Don't include xalloc.h.
14653         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Return
14654         NULL upon out-of-memory.
14655         (gl_array_nx_create): Renamed from gl_array_create. Return NULL upon
14656         out-of-memory.
14657         (gl_array_node_nx_set_value): Renamed from gl_array_node_set_value.
14658         Change return type to 'int'.
14659         (gl_array_nx_set_at): Renamed from gl_array_set_at.
14660         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
14661         (gl_array_nx_add_first): Renamed from gl_array_add_first. Return NULL
14662         upon out-of-memory.
14663         (gl_array_nx_add_last): Renamed from gl_array_add_last. Return NULL
14664         upon out-of-memory.
14665         (gl_array_nx_add_before): Renamed from gl_array_add_before. Return NULL
14666         upon out-of-memory.
14667         (gl_array_nx_add_after): Renamed from gl_array_add_after. Return NULL
14668         upon out-of-memory.
14669         (gl_array_nx_add_at): Renamed from gl_array_add_at. Return NULL upon
14670         out-of-memory.
14671         (gl_array_sortedlist_nx_add): Renamed from gl_array_sortedlist_add.
14672         Update.
14673         (gl_array_list_implementation): Update.
14674         * lib/gl_carray_list.c: Don't include xalloc.h.
14675         (gl_carray_nx_create_empty): Renamed from gl_carray_create_empty.
14676         Return NULL upon out-of-memory.
14677         (gl_carray_nx_create): Renamed from gl_carray_create. Return NULL upon
14678         out-of-memory.
14679         (gl_carray_node_nx_set_value): Renamed from gl_carray_node_set_value.
14680         Change return type to 'int'.
14681         (gl_carray_nx_set_at): Renamed from gl_carray_set_at.
14682         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
14683         (gl_carray_nx_add_first): Renamed from gl_carray_add_first. Return NULL
14684         upon out-of-memory.
14685         (gl_carray_nx_add_last): Renamed from gl_carray_add_last. Return NULL
14686         upon out-of-memory.
14687         (gl_carray_nx_add_at): Renamed from gl_carray_add_at. Return NULL upon
14688         out-of-memory.
14689         (gl_carray_nx_add_before): Renamed from gl_carray_add_before. Update.
14690         (gl_carray_nx_add_after): Renamed from gl_carray_add_after. Update.
14691         (gl_carray_sortedlist_nx_add): Renamed from gl_carray_sortedlist_add.
14692         Update.
14693         (gl_carray_list_implementation): Update.
14694         * lib/gl_anyhash_list2.h (hash_resize): Do nothing upon out-of-memory.
14695         * lib/gl_anylinked_list2.h (gl_linked_nx_create_empty): Renamed from
14696         gl_linked_create_empty. Return NULL upon out-of-memory.
14697         (gl_linked_nx_create): Renamed from gl_linked_create. Return NULL upon
14698         out-of-memory.
14699         (gl_linked_node_nx_set_value): Renamed from gl_linked_node_set_value.
14700         Change return type to 'int'. Return -1 upon out-of-memory.
14701         (gl_linked_nx_set_at): Renamed from gl_linked_set_at. Return NULL upon
14702         out-of-memory.
14703         (gl_linked_nx_add_first): Renamed from gl_linked_add_first. Return NULL
14704         upon out-of-memory.
14705         (gl_linked_nx_add_last): Renamed from gl_linked_add_last. Return NULL
14706         upon out-of-memory.
14707         (gl_linked_nx_add_before): Renamed from gl_linked_add_before. Return
14708         NULL upon out-of-memory.
14709         (gl_linked_nx_add_after): Renamed from gl_linked_add_after. Return NULL
14710         upon out-of-memory.
14711         (gl_linked_nx_add_at): Renamed from gl_linked_add_at. Return NULL upon
14712         out-of-memory.
14713         (gl_linked_sortedlist_nx_add): Renamed from gl_linked_sortedlist_add.
14714         Update.
14715         * lib/gl_linked_list.c: Don't include xalloc.h.
14716         (gl_linked_list_implementation): Update.
14717         * lib/gl_linkedhash_list.c: Don't include xalloc.h.
14718         (add_to_bucket): Change return type to 'int'.
14719         (gl_linkedhash_list_implementation): Update.
14720         * lib/gl_anytree_list1.h (free_subtree): New function.
14721         * lib/gl_anytree_list2.h (gl_tree_nx_create_empty): Renamed from
14722         gl_tree_create_empty. Return NULL upon out-of-memory.
14723         (gl_tree_node_nx_set_value): Renamed from gl_tree_node_set_value.
14724         Change return type to 'int'. Return -1 upon out-of-memory.
14725         (gl_tree_nx_set_at): Renamed from gl_tree_set_at. Return NULL upon
14726         out-of-memory.
14727         (gl_tree_nx_add_at): Renamed from gl_tree_add_at. Update.
14728         (gl_tree_remove_node): New function, moved here from
14729         lib/gl_anyavltree_list2.h and lib/gl_anyrbtree_list2.h.
14730         (gl_tree_sortedlist_nx_add): Renamed from gl_tree_sortedlist_add.
14731         Update.
14732         * lib/gl_anyavltree_list2.h (create_subtree_with_contents): Use
14733         malloc, not xmalloc. Return NULL upon out-of-memory.
14734         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
14735         out-of-memory.
14736         (gl_tree_remove_node_from_tree): New function, extracted from
14737         gl_tree_remove_node.
14738         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
14739         upon out-of-memory.
14740         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
14741         out-of-memory.
14742         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
14743         upon out-of-memory.
14744         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
14745         upon out-of-memory.
14746         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
14747         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents): Use malloc,
14748         not xmalloc. Return NULL upon out-of-memory.
14749         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
14750         out-of-memory.
14751         (gl_tree_remove_node_from_tree): New function, extracted from
14752         gl_tree_remove_node.
14753         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
14754         upon out-of-memory.
14755         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
14756         out-of-memory.
14757         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
14758         upon out-of-memory.
14759         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
14760         upon out-of-memory.
14761         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
14762         * lib/gl_avltree_list.c: Don't include xalloc.h. Include
14763         gl_anytree_list1.h before gl_anyavltree_list2.h.
14764         (gl_avltree_list_implementation): Update.
14765         * lib/gl_rbtree_list.c: Don't include xalloc.h. Include
14766         gl_anytree_list1.h before gl_anyavltree_list2.h.
14767         (gl_rbtree_list_implementation): Update.
14768         * lib/gl_anytreehash_list1.h (add_to_bucket, add_nodes_to_buckets):
14769         Change return type to 'int'. Return -1 upon out-of-memory. Use
14770         __builtin_expect.
14771         * lib/gl_avltreehash_list.c: Don't include xalloc.h.
14772         (gl_avltreehash_list_implementation): Update.
14773         * lib/gl_rbtreehash_list.c: Don't include xalloc.h.
14774         (gl_rbtreehash_list_implementation): Update.
14775         * modules/array-list (Depends-on): Remove xalloc.
14776         * modules/carray-list (Depends-on): Likewise.
14777         * modules/linked-list (Depends-on): Likewise.
14778         * modules/linkedhash-list (Depends-on): Likewise.
14779         * modules/avltree-list (Depends-on): Likewise.
14780         * modules/rbtree-list (Depends-on): Likewise.
14781         * modules/avltreehash-list (Depends-on): Likewise.
14782         * modules/rbtreehash-list (Depends-on): Likewise.
14783
14784         * modules/xsublist: New file.
14785         * lib/gl_xsublist.h: New file.
14786         * lib/gl_xsublist.c: New file.
14787         * lib/gl_sublist.h (gl_sublist_create): Disable declaration.
14788         (gl_sublist_nx_create): New declaration.
14789         * lib/gl_sublist.c: Don't include xalloc.h.
14790         (gl_sublist_nx_create_empty): Renamed from gl_sublist_create_empty.
14791         (gl_sublist_nx_create_fill): Renamed from gl_sublist_create_fill.
14792         (gl_sublist_node_nx_set_value): Renamed from gl_sublist_node_set_value.
14793         Change return type to 'int'. Return -1 upon out-of-memory.
14794         (gl_sublist_nx_set_at): Renamed from gl_sublist_set_at. Return NULL
14795         upon out-of-memory.
14796         (gl_sublist_nx_add_first): Renamed from gl_sublist_add_first. Return
14797         NULL upon out-of-memory.
14798         (gl_sublist_nx_add_last): Renamed from gl_sublist_add_last. Return NULL
14799         upon out-of-memory.
14800         (gl_sublist_nx_add_before): Renamed from gl_sublist_add_before. Return
14801         NULL upon out-of-memory.
14802         (gl_sublist_nx_add_after): Renamed from gl_sublist_add_after. Return
14803         NULL upon out-of-memory.
14804         (gl_sublist_nx_add_at): Renamed from gl_sublist_add_at. Return NULL
14805         upon out-of-memory.
14806         (gl_sublist_sortedlist_nx_add): Renamed from gl_sublist_sortedlist_add.
14807         (gl_sublist_list_implementation): Update.
14808         (gl_sublist_nx_create): Renamed from gl_sublist_create. Return NULL
14809         upon out-of-memory.
14810         * modules/sublist (Depends-on): Remove xalloc.
14811
14812         * tests/test-array_list.c: Use gl_list_nx_* functions where possible.
14813         * tests/test-carray_list.c: Likewise.
14814         * tests/test-linked_list.c: Likewise.
14815         * tests/test-linkedhash_list.c: Likewise.
14816         * tests/test-avltree_list.c: Likewise.
14817         * tests/test-rbtree_list.c: Likewise.
14818         * tests/test-avltreehash_list.c: Likewise.
14819         * tests/test-rbtreehash_list.c: Likewise.
14820         * modules/array-list-tests (Makefile.am): Don't link with @LIBINTL@.
14821         * modules/carray-list-tests (Makefile.am): Likewise.
14822         * modules/linked-list-tests (Makefile.am): Likewise.
14823         * modules/linkedhash-list-tests (Makefile.am): Likewise.
14824         * modules/avltree-list-tests (Makefile.am): Likewise.
14825         * modules/rbtree-list-tests (Makefile.am): Likewise.
14826         * modules/avltreehash-list-tests (Makefile.am): Likewise.
14827         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
14828
14829         * NEWS: Mention the changes.
14830
14831         * lib/clean-temp.c: Include gl_xlist.h.
14832         * modules/clean-temp (Depends-on): Add xlist.
14833
14834         * lib/git-merge-changelog.c: Include gl_xlist.h instead of gl_list.h.
14835         * modules/git-merge-changelog (Depends-on): Add xlist. Remove list.
14836
14837         * tests/test-array_oset.c: Include gl_xlist.h.
14838         * modules/array-oset-tests (Depends-on): Add xlist.
14839
14840         Reported by José E. Marchesi <jemarch@gnu.org>.
14841
14842 2009-12-13  Bruno Haible  <bruno@clisp.org>
14843
14844         Move the malloc checking from module 'oset' to new module 'xoset'.
14845         * modules/xoset: New file.
14846         * lib/gl_xoset.h: New file.
14847         * lib/gl_xoset.c: New file.
14848         * lib/gl_oset.h (gl_oset_create_empty, gl_oset_add): Disable
14849         declarations.
14850         (gl_oset_nx_create_empty, gl_oset_nx_add): New declarations.
14851         (struct gl_oset_implementation): Rename and change methods accordingly.
14852         (gl_oset_nx_create_empty): Renamed from gl_oset_create_empty.
14853         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
14854         'int'. Mark as __warn_unused_result__.
14855         * lib/gl_oset.c (gl_oset_nx_create_empty): Renamed from
14856         gl_oset_create_empty.
14857         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
14858         'int'.
14859         * lib/gl_array_oset.c: Don't include xalloc.h.
14860         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Use
14861         malloc, not xmalloc.
14862         (grow): Change return type to 'int'. Don't call xalloc_die.
14863         (gl_array_nx_add_at): Renamed from gl_array_add_at. Change return type
14864         to 'int'.
14865         (gl_array_nx_add): Renamed from gl_array_add. Change return type to
14866         'int'.
14867         (gl_array_oset_implementation): Update.
14868         * lib/gl_anytree_oset.h (gl_tree_nx_create_empty): Renamed from
14869         gl_tree_create_empty.
14870         (gl_tree_nx_add): Renamed from gl_tree_add. Change return type to
14871         'int'.
14872         * lib/gl_avltree_oset.c: Don't include xalloc.h.
14873         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
14874         xmalloc.
14875         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
14876         not xmalloc.
14877         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
14878         xmalloc.
14879         (gl_avltree_oset_implementation): Update.
14880         * lib/gl_rbtree_oset.c: Don't include xalloc.h.
14881         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
14882         xmalloc.
14883         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
14884         not xmalloc.
14885         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
14886         xmalloc.
14887         (gl_rbtree_oset_implementation): Update.
14888         * modules/array-oset (Depends-on): Remove xalloc.
14889         * modules/avltree-oset (Depends-on): Likewise.
14890         * modules/rbtree-oset (Depends-on): Likewise.
14891         * tests/test-array_oset.c: Use gl_oset_nx_* functions where possible.
14892         * tests/test-avltree_oset.c: Likewise.
14893         * tests/test-rbtree_oset.c: Likewise.
14894         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
14895         * modules/avltree-oset-tests (Makefile.am): Don't link with @LIBINTL@.
14896         * modules/rbtree-oset-tests (Makefile.am): Likewise.
14897         * NEWS: Mention the change.
14898
14899 2009-12-05  Alfred M. Szmidt  <ams@gnu.org>
14900
14901         maint.mk: allow a project to override release-prep commands
14902         * top/maint.mk (alpha, beta, stable): Move release-preparatory
14903         commands into a new rule.
14904         (release-prep): New rule.
14905         (release-prep-hook): New overridable variable.
14906
14907 2009-12-13  Bruno Haible  <bruno@clisp.org>
14908
14909         * lib/localcharset.c (locale_charset): Fix comment about use of GetACP.
14910
14911 2009-12-13  Jim Meyering  <meyering@redhat.com>
14912
14913         maint.mk (null_AM_MAKEFLAGS, built_programs): remove unused definitions
14914         * top/maint.mk (null_AM_MAKEFLAGS, built_programs): Remove definitions.
14915
14916 2009-12-12  Bruno Haible  <bruno@clisp.org>
14917
14918         duplocale: Tweak.
14919         * lib/duplocale.c (rpl_duplocale): Mark categories array as 'const'.
14920
14921 2009-12-12  Karl Berry  <karl@gnu.org>
14922
14923         * config/srclist.txt (strtoll.c): tab changes, no more sync.
14924
14925 2009-12-12  Bruno Haible  <bruno@clisp.org>
14926
14927         * m4/po.m4: Undo incorrect untabification.
14928
14929 2009-12-12  Bruno Haible  <bruno@clisp.org>
14930
14931         c-strtod, c-strtold: Use multithread-safe implementation on MacOS X.
14932         * modules/c-strtod (Depends-on): Add locale.
14933         * modules/c-strtold (Depends-on): Likewise.
14934
14935 2009-12-12  Bruno Haible  <bruno@clisp.org>
14936
14937         * lib/localcharset.c (locale_charset): Add comment about use of GetACP.
14938
14939 2009-12-11  Eric Blake  <ebb9@byu.net>
14940
14941         setenv: relax requirement in light of POSIX ruling
14942         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test handling of "" but
14943         not NULL.
14944         * tests/test-setenv.c (main): Relax test.
14945         * tests/test-unsetenv.c (main): Likewise.
14946         * doc/posix-functions/setenv.texi (setenv): Document this.
14947         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
14948
14949 2009-12-11  Bruno Haible  <bruno@clisp.org>
14950
14951         New module 'fd-safer-flag'.
14952         * lib/dup-safer-flag.c: New file, extracted from lib/dup-safer.c.
14953         * lib/dup-safer.c (dup_safer_flag): Remove function.
14954         * lib/fd-safer-flag.c: New file, extracted from lib/fd-safer.c.
14955         * lib/fd-safer.c (fd_safer_flag): Remove function.
14956         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): Update condition.
14957         * modules/cloexec (configure.ac): Drop indicator macro.
14958         * modules/fd-safer-flag: New file.
14959         * modules/pipe2-safer (Depends-on): Add fd-safer-flag. Remove cloexec.
14960         * modules/stdlib-safer (Depends-on): Add fd-safer-flag.
14961         * modules/unistd-safer-tests (Depends-on): Add fd-safer-flag.
14962
14963 2009-12-11  Bruno Haible  <bruno@clisp.org>
14964
14965         Tests for module 'nl_langinfo'.
14966         * modules/nl_langinfo-tests: New file.
14967         * tests/test-nl_langinfo.sh: New file.
14968         * tests/test-nl_langinfo.c: New file.
14969
14970         New module 'nl_langinfo'.
14971         * lib/nl_langinfo.c: New file.
14972         * m4/nl_langinfo.m4: New file.
14973         * modules/nl_langinfo: New file.
14974         * doc/posix-functions/nl_langinfo.texi: Mention the new module.
14975
14976 2009-12-11  Bruno Haible  <bruno@clisp.org>
14977
14978         Tests for module 'langinfo'.
14979         * modules/langinfo-tests: New file.
14980         * tests/test-langinfo.c: New file.
14981
14982         New module 'langinfo'.
14983         * lib/langinfo.in.h: New file.
14984         * m4/langinfo_h.m4: New file.
14985         * modules/langinfo: New file.
14986         * doc/posix-headers/langinfo.texi: Mention the new module.
14987
14988 2009-12-11  Bruno Haible  <bruno@clisp.org>
14989
14990         * lib/config.charset: Untabify.
14991
14992 2009-12-11  Bruno Haible  <bruno@clisp.org>
14993
14994         * modules/unistd-safer (configure.ac): Drop indicator macro.
14995
14996 2009-12-11  Bruno Haible  <bruno@clisp.org>
14997
14998         Move pipe2-safer code to its own file.
14999         * lib/pipe2-safer.c: New file, extracted from lib/pipe-safer.c.
15000         * lib/pipe-safer.c (pipe2_safer): Remove function.
15001         * modules/pipe2-safer (Files): Add lib/pipe2-safer.c.
15002         (Makefile.am): Add it to lib_SOURCES.
15003
15004 2009-12-10  Bruno Haible  <bruno@clisp.org>
15005
15006         * lib/recvfrom.c (rpl_recvfrom): Allow the from argument to be NULL.
15007
15008 2009-12-10  Bruno Haible  <bruno@clisp.org>
15009
15010         Declare which arguments expect non-NULL values, for GCC and clang.
15011         * build-aux/arg-nonnull.h: New file.
15012         * modules/arg-nonnull: New file.
15013         * lib/arpa_inet.in.h (_GL_ARG_NONNULL): New placeholder.
15014         (inet_ntop, inet_pton): Use it.
15015         * lib/dirent.in.h (_GL_ARG_NONNULL): New placeholder.
15016         (closedir, dirfd, opendir, scandir, alphasort): Use it.
15017         * lib/fcntl.in.h (_GL_ARG_NONNULL): New placeholder.
15018         (open, openat): Use it.
15019         * lib/fnmatch.in.h (_GL_ARG_NONNULL): New placeholder.
15020         (fnmatch): Use it.
15021         * lib/getopt.in.h (_GL_ARG_NONNULL): New placeholder.
15022         (getopt, getopt_long, getopt_long_only): Use it.
15023         * lib/glob.in.h (_GL_ARG_NONNULL): New placeholder.
15024         * lib/glob-libc.h (glob, globfree, glob64, globfree64, glob_pattern_p):
15025         Use it.
15026         * lib/iconv.in.h (_GL_ARG_NONNULL): New placeholder.
15027         (iconv_open): Use it.
15028         * lib/inttypes.in.h (_GL_ARG_NONNULL): New placeholder.
15029         (strtoimax, strtoumax): Use it.
15030         * lib/locale.in.h (_GL_ARG_NONNULL): New placeholder.
15031         (duplocale): Use it.
15032         * lib/math.in.h (_GL_ARG_NONNULL): New placeholder.
15033         (frexp, frexpl): Use it.
15034         * lib/netdb.in.h (_GL_ARG_NONNULL): New placeholder.
15035         (getaddrinfo, freeaddrinfo, getnameinfo): Use it.
15036         * lib/search.in.h (_GL_ARG_NONNULL): New placeholder.
15037         (tsearch, tfind, tdelete, twalk): Use it.
15038         * lib/signal.in.h (_GL_ARG_NONNULL): New placeholder.
15039         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
15040         sigpending): Use it.
15041         * lib/spawn.in.h (_GL_ARG_NONNULL): New placeholder.
15042         (posix_spawn, posix_spawnp, posix_spawnattr_init,
15043         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
15044         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
15045         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
15046         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
15047         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
15048         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
15049         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
15050         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
15051         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
15052         Use it.
15053         * lib/stdio.in.h (_GL_ARG_NONNULL): New placeholder.
15054         (dprintf, fclose, fopen, fprintf, fpurge, fputc, fputs, freopen,
15055         rpl_fseek, fseeko, rpl_ftell, ftello, fwrite, getdelim, getline,
15056         obstack_printf, obstack_vprintf, popen, printf, putc, puts, remove,
15057         rename, renameat, snprintf, sprintf, asprintf, vasprintf, vdprintf,
15058         vfprintf, vprintf, vsnprintf, vsprintf): Use it.
15059         * lib/stdlib.in.h (_GL_ARG_NONNULL): New placeholder.
15060         (atoll, canonicalize_file_name, getloadavg, getsubopt, mkdtemp,
15061         mkostemp, mkostemps, mkstemp, mkstemps, putenv, srandom_r, initstate_r,
15062         setstate_r, random_r, realpath, rpmatch, setenv, strtod, strtoll,
15063         strtoull, unsetenv): Use it.
15064         * lib/string.in.h (_GL_ARG_NONNULL): New placeholder.
15065         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
15066         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
15067         strcasestr, strtok_r, mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
15068         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
15069         mbsspn, mbssep, mbstok_r, strverscmp): Use it.
15070         * lib/strings.in.h (_GL_ARG_NONNULL): New placeholder.
15071         (strcasecmp, strncasecmp): Use it.
15072         * lib/sys_socket.in.h (_GL_ARG_NONNULL): New placeholder.
15073         (rpl_connect, rpl_bind, rpl_getpeername, rpl_getsockname,
15074         rpl_getsockopt, rpl_recv, rpl_send, rpl_recvfrom, rpl_sendto,
15075         rpl_setsockopt): Use it.
15076         * lib/sys_stat.in.h (_GL_ARG_NONNULL): New placeholder.
15077         (fchmodat, fstat, fstatat, lchmod, rpl_lstat, mkdir, mkdirat, mkfifo,
15078         mkfifoat, mknod, mknodat, stat, utimensat): Use it.
15079         * lib/sys_time.in.h (_GL_ARG_NONNULL): New placeholder.
15080         (gettimeofday): Use it.
15081         * lib/sys_times.in.h (_GL_ARG_NONNULL): New placeholder.
15082         (times): Use it.
15083         * lib/sys_utsname.in.h (_GL_ARG_NONNULL): New placeholder.
15084         (uname): Use it.
15085         * lib/time.in.h (_GL_ARG_NONNULL): New placeholder.
15086         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): Use it.
15087         * lib/unistd.in.h (_GL_ARG_NONNULL): New placeholder.
15088         (chown, euidaccess, faccessat, _gl_register_fd, fchownat,
15089         getdomainname, gethostname, getlogin_r, lchown, link, linkat, pipe2,
15090         pread, readlink, readlinkat, rmdir, symlink, symlinkat, unlink,
15091         unlinkat, write): Use it.
15092         * lib/wchar.in.h (_GL_ARG_NONNULL): New placeholder.
15093         (mbsrtowcs, mbsnrtowcs, wcsrtombs, wcsnrtombs): Use it.
15094         * lib/argv-iter.h: Include arg-nonnull.h.
15095         (_ATTRIBUTE_NONNULL_): Remove macro.
15096         (argv_iter_init_argv, argv_iter_init_stream, argv_iter,
15097         argv_iter_n_args, argv_iter_free): Use _GL_ARG_NONNULL.
15098         * lib/canonicalize-lgpl.c (_GL_ARG_NONNULL): Define, to defeat gcc
15099         optimization.
15100         * lib/getaddrinfo.c (_GL_ARG_NONNULL): Likewise.
15101         * lib/getdelim.c (_GL_ARG_NONNULL): Likewise.
15102         * lib/glob.c (_GL_ARG_NONNULL): Likewise.
15103         * lib/random_r.c (_GL_ARG_NONNULL): Likewise.
15104         * lib/setenv.c (_GL_ARG_NONNULL): Likewise.
15105         * lib/strtod.c (_GL_ARG_NONNULL): Likewise.
15106         * lib/tsearch.c (_GL_ARG_NONNULL): Likewise.
15107         * lib/unsetenv.c (_GL_ARG_NONNULL): Likewise.
15108         * modules/arpa_inet (Depends-on): Add arg-nonnull.
15109         (Makefile.am): Insert arg-nonnull.h into arpa/inet.h.
15110         * modules/dirent (Depends-on): Add arg-nonnull.
15111         (Makefile.am): Insert arg-nonnull.h into dirent.h.
15112         * modules/fcntl-h (Depends-on): Add arg-nonnull.
15113         (Makefile.am): Insert arg-nonnull.h into fcntl.h.
15114         * modules/fnmatch (Depends-on): Add arg-nonnull.
15115         (Makefile.am): Insert arg-nonnull.h into fnmatch.h.
15116         * modules/getopt-posix (Depends-on): Add arg-nonnull.
15117         (Makefile.am): Insert arg-nonnull.h into getopt.h.
15118         * modules/glob (Depends-on): Add arg-nonnull.
15119         (Makefile.am): Insert arg-nonnull.h into glob.h.
15120         * modules/iconv_open (Depends-on): Add arg-nonnull.
15121         (Makefile.am): Insert arg-nonnull.h into iconv.h.
15122         * modules/inttypes (Depends-on): Add arg-nonnull.
15123         (Makefile.am): Insert arg-nonnull.h into inttypes.h.
15124         * modules/locale (Depends-on): Add arg-nonnull.
15125         (Makefile.am): Insert arg-nonnull.h into locale.h.
15126         * modules/math (Depends-on): Add arg-nonnull.
15127         (Makefile.am): Insert arg-nonnull.h into math.h.
15128         * modules/netdb (Depends-on): Add arg-nonnull.
15129         (Makefile.am): Insert arg-nonnull.h into netdb.h.
15130         * modules/search (Depends-on): Add arg-nonnull.
15131         (Makefile.am): Insert arg-nonnull.h into search.h.
15132         * modules/signal (Depends-on): Add arg-nonnull.
15133         (Makefile.am): Insert arg-nonnull.h into signal.h.
15134         * modules/spawn (Depends-on): Add arg-nonnull.
15135         (Makefile.am): Insert arg-nonnull.h into spawn.h.
15136         * modules/stdio (Depends-on): Add arg-nonnull.
15137         (Makefile.am): Insert arg-nonnull.h into stdio.h.
15138         * modules/stdlib (Depends-on): Add arg-nonnull.
15139         (Makefile.am): Insert arg-nonnull.h into stdlib.h.
15140         * modules/string (Depends-on): Add arg-nonnull.
15141         (Makefile.am): Insert arg-nonnull.h into string.h.
15142         * modules/strings (Depends-on): Add arg-nonnull.
15143         (Makefile.am): Insert arg-nonnull.h into strings.h.
15144         * modules/sys_socket (Depends-on): Add arg-nonnull.
15145         (Makefile.am): Insert arg-nonnull.h into sys/socket.h.
15146         * modules/sys_stat (Depends-on): Add arg-nonnull.
15147         (Makefile.am): Insert arg-nonnull.h into sys/stat.h.
15148         * modules/sys_time (Depends-on): Add arg-nonnull.
15149         (Makefile.am): Insert arg-nonnull.h into sys/time.h.
15150         * modules/sys_times (Depends-on): Add arg-nonnull.
15151         (Makefile.am): Insert arg-nonnull.h into sys/times.h.
15152         * modules/sys_utsname (Depends-on): Add arg-nonnull.
15153         (Makefile.am): Insert arg-nonnull.h into sys/utsname.h.
15154         * modules/time (Depends-on): Add arg-nonnull.
15155         (Makefile.am): Insert arg-nonnull.h into time.h.
15156         * modules/unistd (Depends-on): Add arg-nonnull.
15157         (Makefile.am): Insert arg-nonnull.h into unistd.h.
15158         * modules/wchar (Depends-on): Add arg-nonnull.
15159         (Makefile.am): Insert arg-nonnull.h into wchar.h.
15160         * modules/argv-iter (Depends-on): Add arg-nonnull.
15161         * tests/test-canonicalize.c (null_ptr): New function.
15162         (main): Use it.
15163         * tests/test-canonicalize-lgpl.c (null_ptr): New function.
15164         (main): Use it.
15165         * tests/test-memmem.c (null_ptr): New function.
15166         (main): Use it.
15167         Reported by Jim Meyering.
15168
15169 2009-12-10  Bruno Haible  <bruno@clisp.org>
15170
15171         Use spaces for indentation, not tabs.
15172         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
15173         * m4/*.m4: Untabify.
15174         * build-aux/*.h: Untabify.
15175         * tests/**/*.[hc]: Untabify.
15176         * README: New section "Indent with spaces, not TABs", based on
15177         coreutils/HACKING and comments by Pádraig Brady and Paolo Bonzini.
15178         * NEWS: Mention the change.
15179
15180 2009-12-10  Bruno Haible  <bruno@clisp.org>
15181
15182         pty test: Fix link error.
15183         * modules/pty-tests (Makefile.am): Add the default LDADD value to
15184         test_pty_LDADD.
15185
15186 2009-12-07  Simon Josefsson  <simon@josefsson.org>
15187
15188         * modules/pty: New file.
15189         * modules/pty-tests: New file.
15190         * m4/pty.m4: New file.
15191         * tests/test-pty.c: New file.
15192         * doc/glibc-headers/pty.texi: Modified.
15193         * doc/glibc-functions/forkpty.texi: Modified.
15194         * doc/glibc-functions/openpty.texi: Modified.
15195
15196 2009-12-10  Bruno Haible  <bruno@clisp.org>
15197
15198         Avoid syntax error in C++ mode.
15199         * lib/stdio.in.h (rename): Don't use parameter name 'new'.
15200
15201 2009-12-10  Bruno Haible  <bruno@clisp.org>
15202
15203         Use sed with option -e.
15204         * gnulib-tool (func_version, func_emit_copyright_notice,
15205         func_emit_initmacro_end, func_import, func_create_testdir): Pass
15206         option -e to sed.
15207         * modules/link-warning (Makefile.am): Likewise.
15208
15209 2009-12-10  Jim Meyering  <meyering@redhat.com>
15210
15211         mgetgroups: do not write bytes beyond end of malloc'd buffer
15212         * lib/mgetgroups.c: Fix an off-by-one error.  When we have no
15213         username, we call getgroups with a one-element-shorter buffer,
15214         but still told it the length was original, max_n_groups.
15215
15216 2009-12-09  Eric Blake  <ebb9@byu.net>
15217
15218         cloexec: relax license
15219         * modules/cloexec (Maintainer): Add myself.
15220         (License): Use LGPL, not GPL.
15221
15222         link-warning: optimize generation
15223         * modules/link-warning (Makefile.am): Reduce process usage.
15224
15225 2009-12-09  Bruno Haible  <bruno@clisp.org>
15226
15227         * doc/posix-functions/unsetenv.texi: Mention Solaris 10 bug for which a
15228         workaround was added on 2009-11-17.
15229
15230 2009-12-09  Jim Meyering  <meyering@redhat.com>
15231             Bruno Haible  <bruno@clisp.org>
15232
15233         link-warning: Allow extra lines at the top of build-aux/link-warning.h.
15234         * modules/link-warning (Makefile.am): Make the comment-removing sed
15235         command more robust in the face of bootstrap-prepended comment lines.
15236
15237 2009-12-09  Bruno Haible  <bruno@clisp.org>
15238
15239         * lib/mgetgroups.c (mgetgroups): Don't remove duplicates if there is at
15240         most one group.
15241
15242 2009-12-09  Simon Josefsson <simon@josefsson.org>
15243             Bruno Haible  <bruno@clisp.org>
15244
15245         * build-aux/link-warning.h: Add copyright notice.
15246         * modules/link-warning (Makefile.am): Generate link-warning.h from
15247         build-aux/link-warning.h. Update LINK_WARNING_H accordingly.
15248         * NEWS: Mention change in link-warning module.
15249         * modules/arpa_inet (Makefile.am): Add dependency to arpa/inet.h.
15250         * modules/dirent (Makefile.am): Add dependency to dirent.h.
15251         * modules/fcntl-h (Makefile.am): Add dependency to fcntl.h.
15252         * modules/getopt-posix (Makefile.am): Add dependency to getopt.h.
15253         * modules/inttypes (Makefile.am): Add dependency to inttypes.h.
15254         * modules/math (Makefile.am): Add dependency to math.h.
15255         * modules/search (Makefile.am): Add dependency to search.h.
15256         * modules/signal (Makefile.am): Add dependency to signal.h.
15257         * modules/spawn (Makefile.am): Add dependency to spawn.h.
15258         * modules/stdio (Makefile.am): Add dependency to stdio.h.
15259         * modules/stdlib (Makefile.am): Add dependency to stdlib.h.
15260         * modules/string (Makefile.am): Add dependency to string.h.
15261         * modules/strings (Makefile.am): Add dependency to strings.h.
15262         * modules/sys_ioctl (Makefile.am): Add dependency to sys/ioctl.h.
15263         * modules/sys_select (Makefile.am): Add dependency to sys/select.h.
15264         * modules/sys_socket (Makefile.am): Add dependency to sys/socket.h.
15265         * modules/sys_stat (Makefile.am): Add dependency to sys/stat.h.
15266         * modules/sys_times (Makefile.am): Add dependency to sys/times.h.
15267         * modules/sys_utsname (Makefile.am): Add dependency to sys/utsname.h.
15268         * modules/sys_wait (Makefile.am): Add dependency to sys/wait.h.
15269         * modules/unistd (Makefile.am): Add dependency to unistd.h.
15270         * modules/wchar (Makefile.am): Add dependency to wchar.h.
15271
15272 2009-12-09  Bruno Haible  <bruno@clisp.org>
15273
15274         fchdir: Optimize away rpl_fstat when possible.
15275         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set REPLACE_FSTAT only together with
15276         REPLACE_OPEN_DIRECTORY.
15277         * lib/fchdir.c (rpl_fstat): Define only when REPLACE_OPEN_DIRECTORY.
15278
15279 2009-12-09  Bruno Haible  <bruno@clisp.org>
15280
15281         * lib/fchdir.c: Update comment.
15282
15283 2009-12-09  Bruno Haible  <bruno@clisp.org>
15284
15285         * lib/cloexec.c (set_cloexec_flag): Clarify intent of dup2 call.
15286
15287 2009-12-08  Eric Blake  <ebb9@byu.net>
15288
15289         fchdir: avoid memory leak on re-registration.
15290         * lib/fchdir.c (ensure_dirs_slot): Avoid memory leak.
15291
15292 2009-12-08  Jim Meyering  <meyering@redhat.com>
15293
15294         init.sh: avoid Solaris 10 /bin/sh portability problem
15295         Solaris 10's /bin/sh does not pass '.' arguments 2.. to the
15296         sourced script:
15297           $ printf 'echo "$@"\n' > f; /bin/sh -c '. ./f bar'
15298           $ printf 'echo "$@"\n' > f; /bin/bash -c '. ./f bar'
15299           bar
15300         tests/init.sh relied on that, accepting a --set-path=DIR argument,
15301         and two tests used that idiom.
15302         * tests/init.sh: Update suggested usage comments.
15303         (path_prepend_): New function, to be used in place
15304         of the --src-path=DIR option.
15305         (setup_): Move PATH-prepending code into path_prepend_.
15306         * tests/test-pread.sh: Adapt to new usage.
15307         * tests/test-xalloc-die.sh: Likewise.
15308
15309 2009-12-08  Simon Josefsson  <simon@josefsson.org>
15310
15311         * doc/gnulib.texi (Glibc pty.h): Add.
15312         * doc/glibc-functions/forkpty.texi: Add.
15313         * doc/glibc-functions/openpty.texi: Add.
15314         Suggested by Bruno Haible.
15315
15316 2009-12-08  Eric Blake  <ebb9@byu.net>
15317
15318         fchdir: fix logic bugs
15319         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Fix logic bug.
15320         * tests/test-fchdir.c (main): Enhance test.
15321         * lib/fchdir.c (rpl_fstat): Always provide if fchdir replacement
15322         is in use.
15323
15324         dup2: fix logic bugs
15325         * lib/dup2.c (dup2): Fix logic bugs.  Use HAVE_DUP2 rather than
15326         REPLACE_DUP2 to decide when rpl_dup2 is needed.
15327         * m4/dup2.m4 (gl_REPLACE_DUP2): Only define REPLACE_DUP2 when dup2
15328         exists.
15329         (gl_FUNC_DUP2): Drop unneeded AC_DEFINE.
15330
15331 2009-12-07  Eric Blake  <ebb9@byu.net>
15332
15333         unlink: fix m4 detection
15334         * m4/unlink.m4 (gl_FUNC_UNLINK): Include correct header.
15335
15336         unistd-safer: add unit test
15337         * modules/unistd-safer-tests: New file.
15338         * tests/test-dup-safer.c: Likewise.
15339         * tests/test-cloexec.c (setmode): Avoid compiler warning.
15340         * tests/test-dup2.c (setmode): Likewise.
15341         * lib/cloexec.c (dup_cloexec): Fix mingw compile error.
15342
15343         cloexec: preserve text vs. binary across dup_cloexec
15344         * lib/cloexec.c (dup_cloexec) [W32]: Query and use translation
15345         mode.
15346         * modules/dup2-tests (Depends-on): Add binary-io.
15347         * modules/cloexec-tests (Depends-on): Likewise.
15348         * tests/test-dup2.c (setmode, is_mode): New helpers.
15349         (main): Add tests that translation mode is preserved.
15350         * tests/test-cloexec.c (setmode, is_mode, main): Likewise.
15351         Reported by Bruno Haible.
15352
15353         mgetgroups: reduce duplicate listings
15354         * lib/mgetgroups.c (mgetgroups): Reduce duplicates from the
15355         resulting array.
15356         * tests/test-chown.h (test_chown): Simplify client.
15357         * tests/test-lchown.h (test_lchown): Likewise.
15358
15359 2009-12-06  Bruno Haible  <bruno@clisp.org>
15360
15361         * lib/cloexec.c (dup_cloexec): Fix handling of _gl_register_dup return
15362         value.
15363
15364 2009-12-06  Bruno Haible  <bruno@clisp.org>
15365
15366         * lib/progname.c: Include stdio.h, stdlib.h.
15367         (set_program_name): Reject a NULL argument.
15368
15369 2009-12-05  Eric Blake  <ebb9@byu.net>
15370
15371         pipe2-safer: new module
15372         * modules/pipe2-safer: New file.
15373         * lib/unistd-safer.h (pipe2_safer): New prototype.
15374         * lib/unistd--.h (pipe2): New wrapper.
15375         * lib/pipe-safer.c (pipe2_safer): New function.
15376         * modules/pipe (Depends-on): Add pipe2-safer.
15377         * lib/pipe.c (create_pipe) [WIN32]: Let pipe2_safer do the work.
15378
15379         stdlib-safer: preserve cloexec flag for mkostemp[s]
15380         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer): Use new
15381         fd_safer_flag.
15382
15383         unistd-safer: allow preservation of cloexec status via flag
15384         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): New
15385         prototypes.
15386         * lib/dup-safer.c (dup_safer_flag): New function.
15387         * lib/fd-safer.c (fd_safer_flag): Likewise.
15388         * modules/cloexec (configure.ac): Set witness.
15389
15390         test-dup2: enhance test
15391         * modules/dup2-tests (Depends-on): Add cloexec.
15392         * tests/test-dup2.c (main): Enhance test.
15393
15394         cloexec: add dup_cloexec
15395         * lib/cloexec.h (dup_cloexec): New prototype.  Add copyright
15396         header and comments.
15397         * lib/cloexec.c (set_cloexec_flag): Add comments.
15398         (dup_cloexec): New function, with mingw implementation borrowed
15399         from...
15400         * lib/w32spawn.h (dup_noinherit): ...here.
15401         * modules/execute (Depends-on): Add cloexec.
15402         * modules/pipe (Depends-on): Likewise.
15403         * modules/cloexec (Depends-on): Add dup2.
15404         * modules/cloexec-tests (Files): New file.
15405         * tests/test-cloexec.c: Likewise.
15406
15407         test-xalloc-die: fix test for mingw
15408         * modules/xalloc-die-tests (Files): Add tests/init.sh.
15409         * tests/test-xalloc-die.sh: Rewrite to use init.sh.  Strip
15410         directory and .exe suffix off argv[0] output.
15411
15412         test-fseeko: fix test for mingw
15413         * tests/test-fseeko.c (fseek): Redefine GL_LINK_WARNING, rather
15414         than undefining fseek, so test will pass on mingw.
15415
15416 2009-12-05  Bruno Haible  <bruno@clisp.org>
15417
15418         * lib/progname.h (set_program_name): Clarify specification.
15419         * lib/progname.c (set_program_name): Likewise.
15420         Reported by Jim Meyering.
15421
15422 2009-12-05  Jim Meyering  <meyering@redhat.com>
15423
15424         maint.mk: backslash-escape parens in default regexp
15425         * top/maint.mk (news-check-regexp): Now that we're using grep -E,
15426         backslash-escape the literal parentheses.
15427
15428         maint.mk: news-date-check: use grep -E
15429         * top/maint.mk (today): Define a Make variable, not a...
15430         (news-date-check): ...shell variable.
15431         (news-date-regexp): Use the Make variable.
15432         Use grep's -E option.  Change the failing diagnostic to mention
15433         the variable, $(news-date-regexp).
15434
15435 2009-12-04  Alfred M. Szmidt  <ams@gnu.org>
15436
15437         maintainer-makefile: allow customization of NEWS entry format
15438         * top/maint.mk (news-date-regexp): New overridable variable.
15439         (news-date-check): Use it.
15440
15441 2009-12-04  Eric Blake  <ebb9@byu.net>
15442
15443         mgetgroups: add xgetgroups, and avoid ENOSYS failures
15444         * lib/mgetgroups.h (xgetgroups): New prototype.
15445         * lib/mgetgroups.c (xgetgroups): New wrapper.
15446         (mgetgroups): Handle ENOSYS.
15447         * modules/mgetgroups (Depends-on): Add realloc.
15448         Reported by Scott Harrison <scott.gnu.2009@scottrix.co.uk>.
15449
15450         mgetgroups: avoid argument promotion issues with -1
15451         * lib/mgetgroups.c (mgetgroups): A cast is required when checking
15452         for invalid gid_t.
15453         * tests/test-chown.h (getegid, test_chown): Likewise.
15454         * tests/test-lchown.h (getegid, test_lchown): Likewise.
15455
15456 2009-12-03  Paolo Bonzini  <bonzini@gnu.org>
15457
15458         exclude: Fix header file problems.
15459         * lib/exclude.h: Add multiple inclusion guards and include stdbool.h.
15460
15461 2009-12-01  Jim Meyering  <meyering@redhat.com>
15462
15463         fts: fts_open: do not let an empty string cause immediate failure
15464         This is required in support of GNU rm, for which the command
15465         "rm A '' B" must process and remove both A and B, in spite of
15466         the empty string argument.
15467         * lib/fts.c (fts_open): Do not let the presence of an empty string
15468         cause fts_open to fail immediately.  Most fts-using tools must be
15469         able to process all arguments, in order, and can be expected to
15470         diagnose such arguments themselves.
15471
15472 2009-11-30  Eric Blake  <ebb9@byu.net>
15473
15474         utimens: fix compilation error
15475         * lib/utimens.c (lutimens) [!HAVE_UTIMENSAT && HAVE_LUTIMES]:
15476         Declare variable at right scope.
15477
15478 2009-11-29  Jim Meyering  <meyering@redhat.com>
15479
15480         bootstrap: handle perl-5.11's changed --version output
15481         * build-aux/bootstrap (get_version): Handle perl separately,
15482         since perl-5.11's --version output is different.
15483
15484 2009-11-28  Jim Meyering  <meyering@redhat.com>
15485
15486         userspec: depend on the inttostr module, too
15487         * modules/userspec (Depends-on): Add inttostr.
15488
15489         userspec: disallow an ID that maps to (uid_t)-1 or (gid_t)-1
15490         * lib/userspec.c (parse_with_separator): Do not accept a user ID
15491         number of MAXUID when it evaluates to (uid_t) -1.
15492         Likewise for group ID.  Reported by Matt McCutchen in
15493         <http://savannah.gnu.org/bugs/?28113>
15494
15495         userspec: reformat to use spaces, not TABs
15496         * lib/userspec.c: Expand TABs to spaces.
15497         Add Emacs' "indent-tabs-mode: nil" hint.
15498
15499 2009-11-27  Eric Blake  <ebb9@byu.net>
15500
15501         getopt-gnu: flush out another BSD bug
15502         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Test for the bug.
15503         * tests/test-getopt.c (main): Check POSIXLY_CORRECT first, to
15504         flush out BSD bug.
15505         * tests/test-getopt.h (test_getopt): End lists with NULL.
15506         * tests/test-getopt_long.h (test_getopt_long): Likewise.
15507         (test_getopt_long_posix): Enhance test.
15508         * modules/getopt-posix-tests (Depends-on): Add stdbool.
15509         * doc/glibc-functions/getopt_long.texi (getopt_long): Mention
15510         getopt-gnu.
15511         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
15512         Likewise.
15513
15514 2009-11-27  Simon Josefsson  <simon@josefsson.org>
15515
15516         * modules/idpriv-droptemp-tests (Notice): Fix text.
15517
15518 2009-11-27  Jim Meyering  <meyering@redhat.com>
15519
15520         test-xalloc-die: avoid spurious failure due to libtool argv difference
15521         In a libtool-enabled project, this test would fail due to a difference
15522         in the emitted program name, e.g.,
15523         -test-xalloc-die: memory exhausted
15524         +/tmp/.../tests/.libs/lt-test-xalloc-die: memory exhausted
15525         Use program to avoid that.
15526         * modules/xalloc-die-tests (Depends-on): Add progname.
15527         * tests/test-xalloc-die.c: Include progname.h".
15528         (program_name): Remove decl.
15529         (main): Call set_program_name.
15530         * tests/test-xalloc-die.sh (compare): Remove unnecessary ${EXE}.
15531
15532 2009-11-26  Richard Jones  <rjones@redhat.com>
15533
15534         w32sock: leave win32 error in place.
15535         * lib/w32sock.h (set_winsock_errno): Do not call WSASetLastError.
15536
15537 2009-11-26  Eric Blake  <ebb9@byu.net>
15538
15539         init.sh: suggest to use skip_ and fail_ functions in comments
15540         * tests/init.sh: Add a sentence.
15541
15542 2009-11-25  Bruno Haible  <bruno@clisp.org>
15543
15544         init.sh: add documentation in comments
15545         * tests/init.sh: Add some developer and user documentation.
15546
15547 2009-11-26  Jim Meyering  <meyering@redhat.com>
15548
15549         init.sh: accommodate even those who specify bogus srcdir manually
15550         * tests/init.sh: Normally, srcdir is guaranteed by automake and
15551         configure-time tests to be sanitized, so that there is no need to
15552         use "$srcdir" in Makefile rules and shell scripts.  Using $srcdir
15553         (with no double quotes) suffices.  However, since tests may be
15554         invoked manually, and since you may explicitly set srcdir to the
15555         name of a directory containing spaces, do quote its uses here.
15556         * tests/test-pread.sh: Likewise.
15557         Suggested by Bruno Haible.
15558
15559         test-pread.sh: avoid diagnostics for those who ignore SIGPIPE
15560         * tests/test-pread.sh: Write no data into the pipe, because
15561         test-pread actually reads none.  This avoids a diagnostic,
15562         "bash: echo: write error: Broken pipe", that arises in the unusual
15563         event something is ignoring SIGPIPE, and might be interpreted
15564         as some sort of failure.  Reported by Bruno Haible.
15565
15566 2009-11-25  Jim Meyering  <meyering@redhat.com>
15567
15568         test-pread: cover failure with ESPIPE and EINVAL
15569         * tests/test-pread.c (main): Test for failure, too.
15570         * tests/test-pread.sh: Invoke with stdin on a pipe.
15571         Suggested by Eric Blake.
15572
15573         pread: improvement and fix
15574         * modules/pread (Depends-on): Depend on lseek, for portability to
15575         e.g., mingw.  Suggested by Eric Blake.
15576         * lib/pread.c (__libc_read): Define.  Reported by Richard W.M. Jones.
15577
15578         unistd.in.h: correct declaration of pread
15579         * lib/unistd.in.h: Correct type of "buf" parameter: void*, not char*
15580         Reported by Richard W.M. Jones.
15581
15582         test-pread.sh: distribute the test script
15583         * modules/pread-tests (Files): Include test-pread.sh.
15584
15585         test-pread.sh: clean up
15586         * tests/test-pread.sh: Don't refer to $builddir. Just use equivalent ".".
15587         * modules/pread-tests (TESTS_ENVIRONMENT): Don't export builddir.
15588         That is unnecessary, since it's always ".".
15589         Suggestion from Eric Blake.
15590
15591         test-pread.sh: make executable
15592         * tests/test-pread.sh: Set executable bit.
15593         Reported by Eric Blake.
15594
15595         correct typo in test-pread.sh
15596         * tests/test-pread.sh: Add #! line.
15597
15598         test pread
15599         * tests/test-pread.c: New file.
15600         * tests/test-pread.sh: Likewise.
15601         * modules/pread-tests: Likewise.
15602
15603         pread: new module
15604         * modules/pread: New file.
15605         * lib/unistd.in.h (pread): Define/declare.
15606         * lib/pread.c (pread): New file.
15607         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define defaults.
15608         * modules/unistd (Makefile.am): Substitute witnesses.
15609         * doc/posix-functions/pread.texi (pread): Update.
15610         * MODULES.html.sh: Add pread.
15611
15612 2009-11-25  Jim Meyering  <meyering@redhat.com>
15613
15614         tests/init.sh: new file to be used via most *.sh tests
15615         * tests/init.sh: New file.
15616
15617 2009-11-25  Eric Blake  <ebb9@byu.net>
15618
15619         utimens: work around older Linux failure with symlinks
15620         * lib/utimens.c (lutimensat_works_really): New variable.
15621         (fdutimens, lutimens): Use it to manage kernels that support
15622         nanosecond times on files, but not on symlinks.
15623         Reported by OndÅ™ej Vašík.
15624
15625         utimes: fix configure grammar
15626         * m4/utimes.m4 (gl_FUNC_UTIMES): Delete spurious word.
15627
15628 2009-11-25  Paolo Bonzini  <bonzini@gnu.org>
15629
15630         regex: Fix fastmap for multibyte character ranges.
15631         * lib/regcomp.c (re_compute_fastmap_iter): Add all multibyte lead
15632         characters when a multibyte character range is included.
15633
15634 2009-11-22  Andy Wingo  <wingo@pobox.com>
15635
15636         version-etc: work also with AM_INIT_AUTOMAKE's no-define option
15637         * lib/version-etc.c [!defined PACKAGE]: Define to PACKAGE_TARNAME.
15638
15639 2009-11-24  Bruno Haible  <bruno@clisp.org>
15640
15641         doc: Most *_l functions exist in MacOS X 10.5.
15642         * doc/posix-functions/duplocale.texi: Update platforms list.
15643         * doc/posix-functions/freelocale.texi: Likewise.
15644         * doc/posix-functions/newlocale.texi: Likewise.
15645         * doc/posix-functions/uselocale.texi: Likewise.
15646         * doc/posix-functions/isalnum_l.texi: Likewise.
15647         * doc/posix-functions/isalpha_l.texi: Likewise.
15648         * doc/posix-functions/isblank_l.texi: Likewise.
15649         * doc/posix-functions/iscntrl_l.texi: Likewise.
15650         * doc/posix-functions/isdigit_l.texi: Likewise.
15651         * doc/posix-functions/isgraph_l.texi: Likewise.
15652         * doc/posix-functions/islower_l.texi: Likewise.
15653         * doc/posix-functions/isprint_l.texi: Likewise.
15654         * doc/posix-functions/ispunct_l.texi: Likewise.
15655         * doc/posix-functions/isspace_l.texi: Likewise.
15656         * doc/posix-functions/isupper_l.texi: Likewise.
15657         * doc/posix-functions/iswalnum_l.texi: Likewise.
15658         * doc/posix-functions/iswalpha_l.texi: Likewise.
15659         * doc/posix-functions/iswblank_l.texi: Likewise.
15660         * doc/posix-functions/iswcntrl_l.texi: Likewise.
15661         * doc/posix-functions/iswctype_l.texi: Likewise.
15662         * doc/posix-functions/iswdigit_l.texi: Likewise.
15663         * doc/posix-functions/iswgraph_l.texi: Likewise.
15664         * doc/posix-functions/iswlower_l.texi: Likewise.
15665         * doc/posix-functions/iswprint_l.texi: Likewise.
15666         * doc/posix-functions/iswpunct_l.texi: Likewise.
15667         * doc/posix-functions/iswspace_l.texi: Likewise.
15668         * doc/posix-functions/iswupper_l.texi: Likewise.
15669         * doc/posix-functions/iswxdigit_l.texi: Likewise.
15670         * doc/posix-functions/isxdigit_l.texi: Likewise.
15671         * doc/posix-functions/nl_langinfo_l.texi: Likewise.
15672         * doc/posix-functions/strcasecmp_l.texi: Likewise.
15673         * doc/posix-functions/strcoll_l.texi: Likewise.
15674         * doc/posix-functions/strfmon_l.texi: Likewise.
15675         * doc/posix-functions/strftime_l.texi: Likewise.
15676         * doc/posix-functions/strncasecmp_l.texi: Likewise.
15677         * doc/posix-functions/strxfrm_l.texi: Likewise.
15678         * doc/posix-functions/tolower_l.texi: Likewise.
15679         * doc/posix-functions/toupper_l.texi: Likewise.
15680         * doc/posix-functions/towctrans_l.texi: Likewise.
15681         * doc/posix-functions/towlower_l.texi: Likewise.
15682         * doc/posix-functions/towupper_l.texi: Likewise.
15683         * doc/posix-functions/wcscoll_l.texi: Likewise.
15684         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
15685         * doc/posix-functions/wctrans_l.texi: Likewise.
15686         * doc/posix-functions/wctype_l.texi: Likewise.
15687         * doc/glibc-functions/strptime_l.texi: Likewise.
15688         * doc/glibc-functions/strtod_l.texi: Likewise.
15689         * doc/glibc-functions/strtof_l.texi: Likewise.
15690         * doc/glibc-functions/strtol_l.texi: Likewise.
15691         * doc/glibc-functions/strtold_l.texi: Likewise.
15692         * doc/glibc-functions/strtoll_l.texi: Likewise.
15693         * doc/glibc-functions/strtoul_l.texi: Likewise.
15694         * doc/glibc-functions/strtoull_l.texi: Likewise.
15695         * doc/glibc-functions/wcsftime_l.texi: Likewise.
15696         * doc/glibc-functions/wcstod_l.texi: Likewise.
15697         * doc/glibc-functions/wcstof_l.texi: Likewise.
15698         * doc/glibc-functions/wcstol_l.texi: Likewise.
15699         * doc/glibc-functions/wcstold_l.texi: Likewise.
15700         * doc/glibc-functions/wcstoll_l.texi: Likewise.
15701         * doc/glibc-functions/wcstoul_l.texi: Likewise.
15702         * doc/glibc-functions/wcstoull_l.texi: Likewise.
15703
15704 2009-11-24  Bruno Haible  <bruno@clisp.org>
15705
15706         duplocale: Fix logic bug.
15707         * lib/duplocale.c: Don't include <langinfo.h>.
15708         (_NL_LOCALE_NAME): Remove macro.
15709         (rpl_duplocale): Use setlocale instead of nl_langinfo.
15710         * tests/test-duplocale.c (main): Also test duplocale after uselocale.
15711
15712 2009-11-23  Jim Meyering  <meyering@redhat.com>
15713
15714         test-update-copyright: don't hard-code /usr/bin/perl
15715         * tests/test-update-copyright.sh (YEAR): Use date +%Y, rather than
15716         perl to print the current year.  Gilles Espinasse reported that
15717         the replaced use of perl was hard-coded as /usr/bin/perl.
15718
15719 2009-11-23  Bruno Haible  <bruno@clisp.org>
15720
15721         duplocale: Add support for glibc 2.3.x.
15722         * lib/duplocale.c (rpl_duplocale): Add fallback code for glibc 2.3.x.
15723
15724 2009-11-22  Bruno Haible  <bruno@clisp.org>
15725
15726         vasnprintf: Tiny optimization.
15727         * lib/vasnprintf.c (decimal_point_char): Choose the fast path also on
15728         MacOS X.
15729
15730 2009-11-22  Bruno Haible  <bruno@clisp.org>
15731
15732         Tests for module 'duplocale'.
15733         * modules/duplocale-tests: New file.
15734         * tests/test-duplocale.c: New file.
15735
15736         New module 'duplocale'.
15737         * m4/duplocale.m4: New file.
15738         * lib/locale.in.h (duplocale): New declaration.
15739         * lib/duplocale.c: New file.
15740         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_MODULE_INDICATOR,
15741         gl_LOCALE_H_DEFAULTS): New macros.
15742         (gl_LOCALE_H): Require gl_LOCALE_H_DEFAULTS. Invoke
15743         gl_CHECK_NEXT_HEADERS unconditionally. Invoke gl_REPLACE_LOCALE_H.
15744         * modules/locale (Makefile.am): Substitute also GNULIB_DUPLOCALE,
15745         REPLACE_DUPLOCALE.
15746         * modules/duplocale: New file.
15747         * doc/posix-functions/duplocale.texi: Mention the glibc bug.
15748
15749 2009-11-22  Bruno Haible  <bruno@clisp.org>
15750
15751         * modules/locale-tests (configure.ac): Test for newlocale function.
15752         * tests/test-locale.c: When the system has extended locale functions,
15753         verify that <locale.h> defines locale_t and LC_GLOBAL_LOCALE.
15754
15755         locale: Make locale_t available when possible.
15756         * lib/locale.in.h: Include <xlocale.h> when it exists.
15757         * m4/locale_h.m4 (gl_LOCALE_H): Check for <xlocale.h> and arrange to
15758         replace <locale.h> if it does not define locale_t but <xlocale.h> does.
15759         * modules/locale (Depends-on): Add extensions.
15760         (Makefile.am): Also substitute HAVE_XLOCALE_H.
15761         * doc/posix-headers/locale.texi: Document the problem with locale_t.
15762
15763 2009-11-22  Bruno Haible  <bruno@clisp.org>
15764
15765         Add comments.
15766         * m4/dirent_h.m4 (gl_DIRENT_H): Add comment about gl_CHECK_NEXT_HEADERS
15767         invocation.
15768         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
15769         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
15770         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
15771
15772 2009-11-22  Bruno Haible  <bruno@clisp.org>
15773
15774         error: account for the possibility of freopen (stdout).
15775         * lib/error.c: Include <unistd.h>.
15776         (flush_stdout): New function, extracted from error and error_at_line.
15777         Determine stdout's fd dynamically.
15778         (error, error_at_line): Invoke flush_stdout.
15779         * m4/error.m4 (gl_PREREQ_ERROR): Require AC_C_INLINE.
15780         * modules/error (Depends-on): Add unistd.
15781
15782 2009-11-22  Bruno Haible  <bruno@clisp.org>
15783
15784         diffseq: Add comment.
15785         * lib/diffseq.h (IF_LINT): Add comment about pitfall.
15786
15787 2009-11-22  Jim Meyering  <meyering@redhat.com>
15788
15789         c-stack: avoid defining an unused static function
15790         * lib/c-stack.c (find_stack_direction): Do not define this function
15791         when it will not be used.
15792
15793         diffseq: avoid spurious gcc warnings
15794         * lib/diffseq.h (IF_LINT2): Define.
15795         (compareseq): Use it to initialize two members of "part".
15796         This avoids two used-uninitialized warnings.
15797
15798 2009-11-21  Jim Meyering  <meyering@redhat.com>
15799
15800         c-stack: avoid "ignoring return value of `write'" warning
15801         * lib/c-stack.c: Include "ignore-value.h".
15802         (die): Explicitly ignore each write return value.
15803         * modules/c-stack (Depends-on): Add ignore-value.
15804
15805 2009-11-21  Bruno Haible  <bruno@clisp.org>
15806
15807         diffseq: reduce scope of variable 'best'.
15808         * lib/diffseq.h (diag) [USE_HEURISTIC]: Reduce scope of 'best'
15809         variable, earlier used for two different purposes.
15810
15811 2009-11-21  Jim Meyering  <meyering@redhat.com>
15812
15813         diffseq: remove useless assignment to "best"
15814         * lib/diffseq.h (diag) [USE_HEURISTIC]: Remove useless "best = 0"
15815         assignment.  At that point "best" is already guaranteed to be zero.
15816
15817 2009-11-20  Eric Blake  <ebb9@byu.net>
15818
15819         build: mention ftp redirector in release announcements
15820         * top/maint.mk (gnu_rel_host, url_dir_list): Provide defaults for
15821         values that used to come from cfg.mk; mention FTP redirect URL.
15822         * build-aux/announce-gen: Mention the mirror list.
15823         Suggested by Karl Berry.
15824
15825         nanosleep: improve port to mingw
15826         * lib/nanosleep.c (rpl_nanosleep): Reject invalid arguments.
15827         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Incorporate LIBSOCKET into
15828         LIB_NANOSLEEP, but only when needed.
15829         * modules/select (Link): Document LIBSOCKET.
15830         * m4/select.m4 (gl_FUNC_SELECT): Ensure LIBSOCKET is defined early
15831         enough.
15832
15833         nanosleep: work around cygwin bug
15834         * lib/nanosleep.c (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]:
15835         Fix logic bug when nanosleep fails.  Work around cygwin 1.5.x
15836         bug.
15837         (getnow): Delete, not needed.
15838         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): No longer require
15839         LIB_CLOCK_GETTIME.
15840         * modules/nanosleep (Depends-on): Add intprops and verify.  Drop
15841         clock-time, gettime.
15842         * doc/posix-functions/nanosleep.texi (nanosleep): Document the
15843         bug.
15844         * modules/nanosleep-tests: New test.
15845         * tests/test-nanosleep.c: New file.
15846
15847         sleep: work around cygwin bug
15848         * lib/sleep.c (rpl_sleep): Work around the bug.
15849         * m4/sleep.m4 (gl_FUNC_SLEEP): Detect the bug.
15850         (gl_PREREQ_SLEEP): Delete unused macro.
15851         * modules/sleep (Depends-on): Add verify.
15852         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
15853         * modules/unistd (Makefile.am): Substitute witness.
15854         * lib/unistd.in.h (sleep): Update prototype.
15855         * doc/posix-functions/sleep.texi (sleep): Document the bug.
15856         * tests/test-sleep.c (main) [HAVE_DECL_ALARM]: Test it.
15857         * modules/sleep-tests (Depends-on): Check for alarm.
15858
15859 2009-11-20  Jim Meyering  <meyering@redhat.com>
15860
15861         maint.mk: improve sc_prohibit_magic_number_exit
15862         * top/maint.mk (sc_prohibit_magic_number_exit): Tighten regexp
15863         so it does not match uses like System.exit(1).
15864         Add comments showing how to correct all offenders.
15865
15866 2009-11-19  Eric Blake  <ebb9@byu.net>
15867
15868         xalloc-die-tests: add missing library
15869         * modules/xalloc-die-tests (Makefile.am): Add LDADD line.
15870
15871         test-xvasprintf: silence compiler warnings
15872         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Mask
15873         empty string from gcc.
15874
15875 2009-11-19  Jim Meyering  <meyering@redhat.com>
15876
15877         xfreopen: new module, from coreutils
15878         * modules/xfreopen: New module.
15879         * lib/xfreopen.c: New file.
15880         * lib/xfreopen.h: New file.
15881         * MODULES.html.sh (File stream based Input/Output"): Add it.
15882
15883 2009-11-19  Eric Blake  <ebb9@byu.net>
15884
15885         manywarnings: depend on warnings
15886         * modules/manywarnings (Depends-on): Add warnings.
15887
15888         build: avoid compiler warnings
15889         * lib/select.c (rpl_select): Delete unused variable.
15890         * lib/setsockopt.c (rpl_setsockopt): Avoid incompatible pointer.
15891
15892 2009-11-18  Eric Blake  <ebb9@byu.net>
15893
15894         tests: avoid false negative with --with-packager
15895         * tests/test-version-etc.sh: Discard packager information.
15896         * tests/test-argp-version-etc-1.sh: Likewise.
15897         Reported by Mike Frysinger.
15898
15899         utimens: fix regression on Solaris
15900         * m4/utimens.m4 (gl_UTIMENS): Check for BSD bug.
15901         * lib/utimens.c (fdutimens): Revert 2009-11-08 change; Solaris 10
15902         can only change fd timestamps via futimesat.  Instead, use an
15903         additional witness macro to avoid BSD bug.
15904         Reported by Jim Meyering.
15905
15906 2009-11-17  Eric Blake  <ebb9@byu.net>
15907
15908         usleep: use it to simplify tests
15909         * modules/stat-time-tests (Depends-on): Add usleep.
15910         (configure.ac): Drop usleep check.
15911         * modules/chown-tests (Depends-on, configure.ac): Likewise.
15912         * modules/lchown-tests (Depends-on, configure.ac): Likewise.
15913         * modules/fdutimensat-tests (Depends-on, configure.ac): Likewise.
15914         * modules/futimens-tests (Depends-on, configure.ac): Likewise.
15915         * modules/openat-tests (Depends-on, configure.ac): Likewise.
15916         * modules/utimens-tests (Depends-on, configure.ac): Likewise.
15917         * modules/utimensat-tests (Depends-on, configure.ac): Likewise.
15918         * modules/pipe-filter-gi-tests (Depends-on, configure.ac):
15919         Likewise.
15920         * tests/test-chown.h (nap): Rely on nicer usleep semantics.
15921         * tests/test-lchown.h (nap): Likewise.
15922         * tests/test-pipe-filter-gi2-main.c (small_nap): Likewise.
15923         * tests/test-stat-time.c (nap): Likewise.
15924         * tests/test-utimens-common.h (nap): Update comments.
15925
15926         usleep: new module
15927         * modules/usleep: New file.
15928         * m4/usleep.m4 (gl_FUNC_USLEEP): Likewise.
15929         * lib/usleep.c (usleep): Likewise.
15930         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
15931         * modules/unistd (Makefile.am): Substitute witnesses.
15932         * lib/unistd.in.h (usleep): Add declaration.
15933         * doc/pastposix-functions/usleep.texi (usleep): Document this.
15934         * MODULES.html.sh (Date and time): Likewise.
15935         * modules/usleep-tests (Depends-on): New test.
15936         * tests/test-usleep.c: New file.
15937
15938         chown: work around OpenBSD bug
15939         * lib/chown.c (rpl_chown): Work around the bug.
15940         * lib/lchown.c (rpl_lchown): Attempt to do likewise.
15941         * m4/chown.m4 (gl_FUNC_CHOWN): Test for ctime bug.
15942         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for lchmod.
15943         * modules/chown (Depends-on): Add stdbool.
15944         * modules/lchown (Depends-on): Likewise.
15945         * doc/posix-functions/chown.texi (chown): Document the bug.
15946         * doc/posix-functions/lchown.texi (lchown): Likewise.
15947         * tests/test-lchown.h (test_chown): Relax test.
15948
15949         mkstemp: avoid conflict with C++ keyword template
15950         * lib/mkdtemp.c (mkdtemp): Change spelling of template.
15951         * lib/mkostemp.c (mkostemp): Likewise.
15952         * lib/mkostemps.c (mkostemps): Likewise.
15953         * lib/mkstemp.c (mkstemp): Likewise.
15954         * lib/mkstemps.c (mkstemps): Likewise.
15955
15956         xalloc-die-tests: optimize
15957         * tests/test-xalloc-die.sh: Reduce number of processes.
15958
15959 2009-11-17  Simon Josefsson  <simon@josefsson.org>
15960
15961         * gnulib-tool: Support LGPLv3+ licenses in module files.  Tiny
15962         patch from ludo@gnu.org (Ludovic Courtès).
15963
15964 2009-11-17  Jim Meyering  <meyering@redhat.com>
15965
15966         version-etc: use proper license string
15967         * modules/version-etc (License): Use LGPL, not LGPLv3+.
15968         * modules/version-etc-fsf: Likewise.
15969
15970 2009-11-17  Simon Josefsson  <simon@josefsson.org>
15971
15972         * tests/test-xalloc-die.sh: Add license.  Check that nothing is
15973         printed to stdout.  Deal with EOL differences.
15974
15975 2009-11-17  Eric Blake  <ebb9@byu.net>
15976
15977         unsetenv: work around Solaris bug
15978         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for bug.
15979         * lib/unsetenv.c (rpl_unsetenv): Work around it.
15980         Reported by Jim Meyering.
15981
15982         vasnprintf: avoid compiler warnings
15983         * lib/vasnprintf.c (VASNPRINTF): Avoid shadowing our own local
15984         variables.
15985         * lib/printf-args.c (PRINTF_FETCHARGS): Avoid type mismatch.
15986
15987 2009-11-17  Simon Josefsson  <simon@josefsson.org>
15988
15989         * modules/xalloc-die-tests (Makefile.am): Drop XFAIL_TESTS
15990         settings since xalloc-die is no longer the self test,
15991         xalloc-die.sh is.
15992
15993 2009-11-17  Jim Meyering  <meyering@redhat.com>
15994
15995         test-xalloc-die.sh: make the code agree with the commit log
15996         * tests/test-xalloc-die.sh: Put "." at the front of $PATH, not
15997         at the end, just in case you happen to have a test-xalloc-die
15998         program in some other PATH directory.
15999
16000         test-xalloc-die.sh: fix a portability bug
16001         * tests/test-xalloc-die.sh: Do not invoke via ./test-xalloc-die.
16002         Instead, set PATH to start with "." and invoke via "test-xalloc-die".
16003         Otherwise, argv[0] (as often seen in diagnostics) would be too
16004         system-dependent, sometimes with, and sometimes without the leading "./".
16005
16006         version-etc-fsf: relax license to LGPLv3+
16007         * modules/version-etc-fsf (License): Relax license.
16008
16009 2009-11-16  Eric Blake  <ebb9@byu.net>
16010
16011         xalloc-die-tests: avoid printing null pointer
16012         * modules/xalloc-die-tests (Files, Makefile.am): Wrap execution in
16013         shell script.
16014         * tests/test-xalloc-die.c (program_name): Declare.
16015         * tests/test-xalloc-die.sh (tmpfiles): New file.
16016
16017         setenv, unsetenv: work around various bugs
16018         * lib/setenv.c (setenv) [!HAVE_SETENV]: Resync from glibc.
16019         (setenv) [HAVE_SETENV]: Work around bugs.
16020         * lib/unsetenv.c (unsetenv) [HAVE_UNSETENV]: Work around bugs.
16021         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE, gl_FUNC_UNSETENV): Check
16022         for bugs.
16023         (gl_FUNC_SETENV): Write in terms of gl_FUNC_SETENV_SEPARATE.
16024         * m4/environ.m4 (gl_ENVIRON): Avoid expand-before-require.
16025         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Update defaults.
16026         * modules/stdlib (Makefile.am): Update substitutions.
16027         * lib/stdlib.in.h (setenv, unsetenv): Update prototypes.
16028         * doc/posix-functions/setenv.texi (setenv): Document the bugs.
16029         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
16030         * modules/setenv-tests: New test.
16031         * modules/unsetenv-tests: Likewise.
16032         * tests/test-setenv.c: New file.
16033         * tests/test-unsetenv.c: Likewise.
16034
16035 2009-11-16  Jim Meyering  <meyering@redhat.com>
16036
16037         version-etc: relax license to LGPLv3+
16038         * modules/version-etc (License): Relax license.
16039
16040         better AC_REQUIRE expanded-before-required-warning avoidance
16041         * m4/chown.m4 (gl_FUNC_CHOWN, gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Define
16042         with AC_DEFUN_ONCE, rather than AC_DEFUN, to avoid AC_REQUIRE warnings.
16043         Suggested by Eric Blake.  This change also reverts commit 1b712ba8,
16044         which is no longer needed.
16045
16046 2009-11-16  Eric Blake  <ebb9@byu.net>
16047
16048         test-freading: clean up temporary file
16049         * tests/test-freading.c (main): Remove file on success, and use
16050         ASSERT more liberally.
16051         Reported by Jim Meyering.
16052
16053 2009-11-16  Jim Meyering  <meyering@redhat.com>
16054
16055         avoid new AC_REQUIRE expanded-before-required warnings
16056         * modules/chown (configure.ac): Require gl_FUNC_CHOWN, rather than
16057         merely using it.
16058         * modules/euidaccess (configure.ac): Likewise for gl_FUNC_EUIDACCESS.
16059         * modules/faccessat (configure.ac): Likewise for gl_FUNC_FACCESSAT.
16060
16061 2009-11-15  Simon Josefsson  <simon@josefsson.org>
16062
16063         * tests/test-xalloc-die.c: New file.
16064         * modules/xalloc-die-tests: New file.
16065         * gnulib-tool (func_emit_tests_Makefile_am): Also initialize
16066         XFAIL_TESTS so it can be appended by modules.
16067
16068 2009-11-15  Simon Josefsson  <simon@josefsson.org>
16069
16070         * lib/gc-pbkdf2-sha1.c: Remove comments from RFC 2898.  Reported
16071         by Vladimir 'phcoder' Serbinenko <phcoder@gmail.com>.
16072
16073 2009-11-14  Eric Blake  <ebb9@byu.net>
16074
16075         fnmatch: avoid compiler warning
16076         * lib/fnmatch_loop.c (NEW_PATTERN): Coerce addition to unsigned,
16077         to silence compiler warning about mismatch signedness in ?:.
16078         Reported by Robert Millan.
16079
16080         intprops: add double-inclusion guard
16081         * lib/intprops.h: Allow idempotent includes.
16082         Suggested by Bruce Korb.
16083
16084         openat: detect Solaris fchownat bug
16085         * lib/fchownat.c (rpl_fchownat): Work around Solaris bug.  Avoid
16086         penalizing glibc chownat when only lchownat is broken.
16087         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Replace fchownat if there are
16088         trailing slash bugs.
16089         * doc/posix-functions/fchownat.texi (fchownat): Document the bug.
16090         * modules/openat-tests (Files): Include more files.
16091         (Depends-on): Add mgetgroups, sleep, stat-time.
16092         (configure.ac): Add additional checks.
16093         (Makefile.am): Build new test.
16094         * tests/test-fchownat.c: New file.
16095
16096         lchown: detect Solaris and FreeBSD bug
16097         * lib/lchown.c (rpl_lchown): Work around bug.
16098         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for trailing slash bugs.
16099         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
16100         * modules/unistd (Makefile.am): Populate it.
16101         * lib/unistd.in.h (lchown): Update declaration.
16102         * doc/posix-functions/lchown.texi (lchown): Document the bug.
16103         * modules/lchown-tests: New file.
16104         * tests/test-lchown.h (test_lchown): Likewise.
16105         * tests/test-lchown.c (main): Likewise.
16106
16107         chown: detect Solaris and FreeBSD bug
16108         * lib/chown.c (rpl_chown): Work around bug.
16109         * m4/chown.m4 (gl_FUNC_CHOWN): Check for trailing slash bugs.
16110         (gl_PREREQ_CHOWN): Delete.
16111         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
16112         * modules/unistd (Makefile.am): Populate it.
16113         * lib/unistd.in.h (chown): Update declaration.
16114         * lib/lchown.c (chown): Update client.
16115         * modules/lchown (Depends-on): Add lstat.
16116         * doc/posix-functions/chown.texi (chown): Document the bug.
16117         * doc/posix-functions/getgroups.texi (getgroups): Document
16118         getgroups pitfall.
16119         * modules/chown-tests: New file.
16120         * tests/test-chown.h (test_chown): Likewise.
16121         * tests/test-chown.c (main): Likewise.
16122
16123 2009-11-14  Robert Millan  <rmh.grub@aybabtu.com>  (tiny change)
16124
16125         gnulib-tool: correctly detect absence of m4 directories
16126         * gnulib-tool: Avoid extra newline on data passed to wc -l.
16127
16128 2009-11-14  Jim Meyering  <meyering@redhat.com>
16129
16130         maint.mk: Prohibit inclusion of "xalloc.h" without use.
16131         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
16132
16133 2009-11-14  John W. Eaton  <jwe@gnu.org>
16134
16135         strftime.h: wrap funtion declaration in extern "C" block
16136         * lib/strftime.h (nstrftime) [__cplusplus]: Wrap declaration.
16137
16138 2009-11-13  Eric Blake  <ebb9@byu.net>
16139
16140         getgroups: avoid compiler warning
16141         * lib/getgroups.c (rpl_getgroups): Delete shadowed variable.
16142
16143         getgroups: work around FreeBSD bug
16144         * lib/getgroups.c (rpl_getgroups): Work around the bug.
16145         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Detect the bug.
16146         * doc/posix-functions/getgroups.texi (getgroups): Document it.
16147         * tests/test-getgroups.c (main): Fix buffer overrun.
16148
16149         getgroups: avoid compilation failure
16150         * lib/getgroups.c (includes): Include <stdint.h> for SIZE_MAX.
16151         * modules/getgroups (Depends-on): Add stdint.
16152
16153 2009-11-13  Jim Meyering  <meyering@redhat.com>
16154
16155         test-getgroups: avoid compilation failure
16156         * tests/test-getgroups.c: Include <stdint.h> for use of SIZE_MAX.
16157
16158 2009-11-13  Eric Blake  <ebb9@byu.net>
16159
16160         mgetgroups: new module, taken from coreutils
16161         * modules/mgetgroups: New file.
16162         * lib/mgetgroups.h: Likewise.
16163         * lib/mgetgroups.c (mgetgroups): Likewise.
16164         * m4/mgetgroups.m4 (gl_MGETGROUPS): Likewise.
16165         * MODULES.html.sh (Users and groups): Mention it.
16166
16167         getgroups: don't expose GETGROUPS_T to user
16168         * lib/getgroups.c (rpl_getgroups): Change signature.  Copy array
16169         an element at a time if GETGROUPS_T is wrong size.
16170         * lib/getugroups.h (getugroups): Change signature.
16171         * lib/unistd.in.h (getgroups): Likewise.
16172         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Use replacement if
16173         signature needs fixing.
16174         * m4/getugroups.m4 (gl_GETUGROUPS): No longer need
16175         AC_TYPE_GETGROUPS.
16176         * modules/group-member (Depends-on): Add getgroups.
16177         * lib/group-member.c (group_info, get_group_info): Use gid_t.
16178         (group_member): Rely on getgroups replacement.
16179         * lib/getugroups.c (getugroups): Use gid_t.
16180         * tests/test-getgroups.c (main): Likewise.
16181         * NEWS: Mention the signature change.
16182         * doc/posix-functions/getgroups.texi (getgroups): Mention the
16183         problem with signature.
16184         * doc/glibc-functions/setgroups.texi (setgroups): Mention that
16185         GETGROUPS_T is still useful for setgroups.
16186
16187         getgroups, getugroups: provide stubs for mingw
16188         * lib/getgroups.c (getgroups): Provide ENOSYS stub for mingw.
16189         * lib/getugroups.c (getugroups): Likewise.
16190         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Check for missing
16191         function.  Modernize replacement scheme.
16192         (gl_PREREQ_GETGROUPS): Delete.
16193         * m4/getugroups.m4 (gl_GETUGROUPS): Check for <grp.h>.
16194         * modules/getgroups (configure.ac): Declare witness.
16195         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
16196         * modules/unistd (Depends-on): Substitute witness.
16197         * lib/unistd.in.h (getgroups): Declare replacement.
16198
16199         getgroups: avoid calling exit
16200         * modules/getgroups (Depends-on): Add malloc-posix and unistd,
16201         drop xalloc.
16202         * modules/getgroups-tests (Depends-on, Makefile.am): Drop unneeded
16203         dependencies.
16204         * lib/getgroups.c (rpl_getgroups): Fail with ENOMEM rather than
16205         exiting, in the rare case of malloc failure.
16206
16207         getgroups: fix logic error
16208         * lib/getgroups.c (rpl_getgroups): Don't fail if current process
16209         has more than 20 groups.
16210         * modules/getgroups-tests: New test.
16211         * tests/test-getgroups.c: New file.
16212
16213 2009-11-13  Simon Josefsson  <simon@josefsson.org>
16214
16215         * tests/test-base64.c: Improve.
16216
16217 2009-11-13  Simon Josefsson  <simon@josefsson.org>
16218
16219         * tests/test-xvasprintf.c: Fix memory leak, suggested by Eric
16220         Blake <ebb9@byu.net>.
16221
16222 2009-11-13  Simon Josefsson  <simon@josefsson.org>
16223
16224         * tests/test-xvasprintf.c: Add %s%s related checks.
16225
16226 2009-11-12  Eric Blake  <ebb9@byu.net>
16227
16228         version-etc: match standards.texi style
16229         * lib/version-etc.c (emit_bug_reporting_address): Drop periods,
16230         and use <> only for URLs.
16231
16232 2009-11-10  Kamil Dudka  <kdudka@redhat.com>
16233
16234         fts: do not fail on a submount during traversal
16235         * lib/fts.c (fts_build): Read the stat info again after opening
16236         a directory if the FTS_TIGHT_CYCLE_CHECK flag is set.
16237         Original report at http://bugzilla.redhat.com/501848.
16238
16239 2009-11-12  Jim Meyering  <meyering@redhat.com>
16240
16241         bootstrap: sync from coreutils
16242         * build-aux/bootstrap (bootstrap_epilogue): New function.
16243         Use git_modules_config in one more place.  This make bootstrap's
16244         --gnulib-srcdir option more useful for testing.
16245
16246         bootstrap: generalize autoheader check
16247         * build-aux/bootstrap: Look for AC_CONFIG_HEADER as well as
16248         AC_CONFIG_HEADERS.
16249
16250 2009-11-11  Eric Blake  <ebb9@byu.net>
16251
16252         mkfifoat: use new modules for Solaris and BSD bugs
16253         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Simplify.
16254         * lib/mkfifoat.c (mknodat): Split...
16255         * lib/mknodat.c (mknodat): ...into new file.
16256         * modules/mkfifoat (Files): Ship new file.
16257         (Depends-on): Add mkfifo, mknod.
16258         * modules/mkfifoat-tests (Files): Reuse mkfifo tests.
16259         (Depends-on): Add symlink.
16260         * tests/test-mkfifoat.c (main): Enhance test.  Drop portions now
16261         redundant with test_mkfifo.h.
16262         (do_mkfifoat, do_mknodat): New helpers.
16263
16264         mknod: new module
16265         * modules/mknod: New file.
16266         * m4/mknod.m4 (gl_FUNC_MKNOD): Likewise.
16267         * lib/mknod.c (mknod): Likewise.
16268         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
16269         defaults.
16270         * modules/sys_stat (Makefile.am): Substitute them.
16271         * lib/sys_stat.in.h (mknod): Declare replacement.
16272         * MODULES.html.sh (Support for systems lacking POSIX:2008):
16273         Document it.
16274         * doc/posix-functions/mknod.texi (mknod): Likewise.
16275         * modules/mknod-tests: New test.
16276         * tests/test-mknod.c: Likewise.
16277
16278         mkfifo: new module
16279         * modules/mkfifo: New file.
16280         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
16281         * lib/mkfifo.c (mkfifo): Likewise.
16282         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
16283         defaults.
16284         * modules/sys_stat (Makefile.am): Substitute them.
16285         * lib/sys_stat.in.h (mkfifo): Declare replacement.
16286         * MODULES.html.sh (Support for systems lacking POSIX:2008):
16287         Document it.
16288         * doc/posix-functions/mkfifo.texi (mkfifo): Likewise.
16289         * modules/mkfifo-tests: New test.
16290         * tests/test-mkfifo.h (test_mkfifo): New file, borrowed in part
16291         from test-mkfifoat.c.
16292         * tests/test-mkfifo.c: New file.
16293
16294         readlink: detect FreeBSD bug
16295         * m4/readlink.m4 (gl_FUNC_READLINK): Also detect FreeBSD bug with
16296         slash on symlink.
16297         * doc/posix-functions/readlink.texi (readlink): Document the bug.
16298         * tests/test-readlink.h (test_readlink): Enhance test.
16299
16300         symlink: detect FreeBSD bug
16301         * m4/symlink.m4 (gl_FUNC_SYMLINK): Also detect FreeBSD bug with
16302         slash on symlink.
16303         * doc/posix-functions/symlink.texi (symlink): Document the bug.
16304         * tests/test-symlink.h (test_symlink): Enhance test.
16305
16306 2009-11-10  Eric Blake  <ebb9@byu.net>
16307
16308         link: detect FreeBSD bug
16309         * m4/link.m4 (gl_FUNC_LINK): Also detect FreeBSD bug with slash on
16310         symlink.
16311         * doc/posix-functions/link.texi (link): Document the bug.
16312         * tests/test-link.h (test_link): Enhance test.
16313         * tests/test-linkat.c (main): Update caller.
16314
16315         unlink, remove: detect FreeBSD bug
16316         * m4/unlink.m4 (gl_FUNC_UNLINK): Also detect FreeBSD bug with
16317         slash on symlink.
16318         * doc/posix-functions/unlink.texi (unlink): Document the bug.
16319         * doc/posix-functions/remove.texi (remove): Likewise.
16320         * tests/test-unlink.h (test_unlink): Enhance test.
16321         * tests/test-remove.c (main): Likewise.
16322
16323 2009-11-09  Eric Blake  <ebb9@byu.net>
16324
16325         rename: detect FreeBSD bug
16326         * m4/rename.m4 (gl_FUNC_RENAME): Also detect FreeBSD bug with
16327         slash on symlink.
16328         * modules/renameat-tests (Depends-on): Add filenamecat.
16329         * tests/test-rename.h (test_rename): Allow one more errno.
16330         * tests/test-renameat.c (main): Likewise.
16331         * doc/posix-functions/rename.texi (rename): Document the bug.
16332
16333         open: detect FreeBSD bug
16334         * m4/open.m4 (gl_FUNC_OPEN): Also detect FreeBSD bug with slash on
16335         symlink.
16336         * doc/posix-functions/open.texi (open): Document the bug.
16337         * doc/posix-functions/utimes.texi (utimes): Likewise.
16338         * tests/test-open.h (test_open): Add parameters, and test symlink
16339         handling.
16340         * tests/test-open.c (main): Adjust caller.
16341         * tests/test-fcntl-safer.c (main): Likewise.
16342         * modules/open-tests (Depends-on): Add stdbool, symlink.
16343         * modules/fcntl-safer-tests (Depends-on): Likewise.
16344         * tests/test-openat.c (main): Add test-open tests.
16345
16346         stat: detect FreeBSD bug
16347         * m4/stat.m4 (gl_FUNC_STAT): Also detect FreeBSD bug with slash on
16348         symlink.
16349         * doc/posix-functions/stat.texi (stat): Document the bug.
16350         * tests/test-stat.h (test_stat_func): Add argument.
16351         * tests/test-stat.c (main): Adjust caller.
16352         * tests/test-fstatat.c (main): Likewise.
16353         * modules/stat-tests (Depends-on): Add stdbool, symlink.
16354         Reported by Jim Meyering.
16355
16356 2009-11-09  James Youngman  <jay@gnu.org>
16357
16358         strftime.c: include ignore-value.h only when FPRINTFTIME is defined
16359         * lib/strftime.c: Correct placement of #include "ignore-value.h".
16360
16361 2009-11-08  Jim Meyering  <meyering@redhat.com>
16362
16363         utimens: remove invalid futimesat call
16364         * lib/utimens.c (fdutimens): Remove invalid futimesat call.
16365         It used the file descriptor of the target file as the DIR_FD
16366         parameter and NULL as the file name.  That caused failure with
16367         errno == EFAULT on FreeBSD-8.0-rc2
16368
16369 2009-11-07  Eric Blake  <ebb9@byu.net>
16370
16371         fflush, freadseek: use fseeko, not fseek
16372         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
16373         (clear_ungetc_buffer): Avoid potential problems on large files.
16374         * lib/freadseek.c (freadseek): Likewise.
16375         * modules/freadseek (Depends-on): Add fseeko.
16376         * modules/fseek (configure.ac): Set a witness.
16377         * tests/test-fflush.c (main): Use fseeko.
16378         * tests/test-fpurge.c (fseek): Disable link warning.
16379         * tests/test-freadable.c (fseek): Likewise.
16380         * tests/test-freading.c (fseek): Likewise.
16381         * tests/test-fseeko.c (fseek): Likewise.
16382         * tests/test-ftell.c (fseek): Likewise.
16383         * tests/test-ftello.c (fseek): Likewise.
16384         * tests/test-fwritable.c (fseek): Likewise.
16385         * tests/test-fwriting.c (fseek): Likewise.
16386
16387 2009-11-06  Simon Josefsson  <simon@josefsson.org>
16388
16389         * modules/memchr (Depends-on): Drop getpagesize dependency.
16390
16391 2009-11-06  Simon Josefsson  <simon@josefsson.org>
16392
16393         * build-aux/pmccabe2html: Disable execute bit.  Suggested by
16394         Reported by Ludovic Courtès.
16395         * build-aux/pmccabe2html: Improve example usage.
16396         * build-aux/pmccabe2html: Drop #! header.  Doc fix.
16397
16398 2009-11-06  Jim Meyering  <meyering@redhat.com>
16399
16400         do-release-commit-and-tag: New module.
16401         Automate the release-commit and tag process.
16402         * build-aux/do-release-commit-and-tag: New script, from coreutils.
16403         * modules/do-release-commit-and-tag: New file.
16404         * MODULES.html.sh (Support for maintaining and releasing): Add it.
16405
16406 2009-11-06  Simon Josefsson  <simon@josefsson.org>
16407
16408         * modules/select-tests (test_select_LDADD): Add $(INET_PTON_LIB)
16409         because test-select.c uses inet_pton.
16410
16411 2009-11-06  Simon Josefsson  <simon@josefsson.org>
16412
16413         * m4/getaddrinfo.m4: Add content of INET_NTOP_LIB to
16414         GETADDRINFO_LIB.  Bump serial number.
16415         * modules/getaddrinfo (Link): Only mention GETADDRINFO_LIB again.
16416         Suggested by Eric Blake <ebb9@byu.net>.
16417
16418 2009-11-05  Eric Blake  <ebb9@byu.net>
16419
16420         strtod: detect darwin bug
16421         * m4/strtod.m4 (gl_FUNC_STRTOD): Filter out darwin bug on "nan(".
16422         Reported by Leo Davis.
16423
16424         freopen-safer: new module
16425         * modules/freopen-safer: New module.
16426         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): New macro.
16427         * lib/freopen-safer.c (freopen_safer): New file.
16428         * lib/stdio-safer.h (freopen_safer): New declaration.
16429         * lib/stdio--.h (freopen): New override.
16430         * MODULES.html.sh (File stream based Input/Output): Mention it.
16431         * doc/posix-functions/freopen.texi (freopen): Mention pitfalls and
16432         freopen-safer module.
16433         * doc/posix-functions/stderr.texi (stderr): Likewise.
16434         * doc/posix-functions/stdin.texi (stdin): Likewise.
16435         * doc/posix-functions/stdout.texi (stdout): Likewise.
16436         * modules/freopen-safer-tests: New test.
16437         * tests/test-reopen-safer.c: New file.
16438
16439 2009-11-05  Jim Meyering  <meyering@redhat.com>
16440
16441         maint.mk: Prohibit inclusion of "close-stream.h" without use.
16442         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
16443
16444 2009-11-05  Simon Josefsson  <simon@josefsson.org>
16445
16446         * modules/pmccabe2html (configure.ac): Check for pmccabe tool.
16447
16448 2009-11-05  Simon Josefsson  <simon@josefsson.org>
16449
16450         * modules/getaddrinfo (Link): Add $(INET_NTOP_LIB).
16451
16452 2009-11-05  Simon Josefsson  <simon@josefsson.org>
16453
16454         Fix link error.
16455         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
16456         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
16457
16458 2009-11-05  Simon Josefsson  <simon@josefsson.org>
16459
16460         * tests/test-func.c: Also test value of __func__.
16461
16462 2009-11-05  Simon Josefsson  <simon@josefsson.org>
16463
16464         * tests/test-sys_socket.c: Use smaller constant value, sa_family_t
16465         may be an 8-bit type.  Reported by Bruno Haible <bruno@clisp.org>.
16466
16467 2009-11-05  Bruno Haible  <bruno@clisp.org>
16468
16469         Fix link error.
16470         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
16471         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
16472         Reported by Brad Hards <bradh@frogmouth.net> via Simon Josefsson.
16473
16474 2009-11-05  Bruno Haible  <bruno@clisp.org>
16475
16476         Tests for module 'inet_pton'.
16477         * modules/inet_pton-tests: New file.
16478         * tests/test-inet_pton.c: New file.
16479
16480 2009-11-05  Bruno Haible  <bruno@clisp.org>
16481
16482         Tests for module 'inet_ntop'.
16483         * modules/inet_ntop-tests: New file.
16484         * tests/test-inet_ntop.c: New file.
16485
16486 2009-11-04  Eric Blake  <ebb9@byu.net>
16487
16488         stdlib-safer: wrap all mkstemp variants
16489         * modules/mkostemp (configure.ac): Set witness.
16490         * modules/mkostemps (configure.ac): Likewise.
16491         * modules/mkstemps (configure.ac): Likewise.
16492         * lib/stdlib-safer.h (mkostemp_safer, mkostemps_safer)
16493         (mkstemps_safer): Wrap more functions.
16494         * lib/stdlib--.h (mkostemp, mkostemps, mkstemps): Default the
16495         wrapping.
16496         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer)
16497         (mkstemps_safer): Implement the wrappers.
16498
16499         mkstemps, mkostemps: new modules
16500         * modules/mkostemps: New module.
16501         * modules/mkstemps: Likewise.
16502         * lib/mkostemps.c (mkostemps): New file.
16503         * lib/mkstemps.c (mkstemps): Likewise.
16504         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Likewise.
16505         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Likewise.
16506         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add witnesses.
16507         * modules/stdlib (Makefile.am): Substitute them.
16508         * lib/stdlib.in.h (mkostemps, mkstemps): Declare them.
16509         * doc/glibc-functions/mkstemps.texi (mkstemps): New file.
16510         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
16511         * doc/gnulib.texi (Glibc stdlib.h): Include them.
16512         * MODULES.html.sh (File system functions): Mention them.
16513
16514         tempname: resync from glibc
16515         * lib/tempname.c (__gen_tempname): Add suffixlen argument.  Use
16516         same values for __GT_FILE as glibc.  Abort even when assertions
16517         are disabled.
16518         * lib/tempname.h (GT_FILE): Use glibc __GT_FILE, if available, and
16519         match its value otherwise.  Allow idempotent inclusion.
16520         * lib/mkdtemp.c (mkdtemp): Adjust caller.
16521         * lib/mkostemp.c (mkostemp): Likewise.
16522         * lib/mkstemp.c (mkstemp): Likewise.
16523         * lib/tmpfile.c (tmpfile): Likewise.
16524         * NEWS: Document this.
16525
16526         utimens: fix use of futimens on older Linux
16527         * lib/utimens.c (fdutimens): Use updated, rather than original,
16528         timespec to avoid bug in older Linux kernel.
16529         Reported by Simon Josefsson.
16530
16531 2009-11-04  Bruno Haible  <bruno@clisp.org>
16532
16533         Make num_processors more flexible and consistent.
16534         * lib/nproc.h (enum nproc_query): New type.
16535         (num_processors): Add a 'query' argument.
16536         * lib/nproc.c: Include <stdlib.h>, <sched.h>, c-ctype.h.
16537         (num_processors): Add a 'query' argument. Test the value of the
16538         OMP_NUM_THREADS environment variable if requested. On Linux, NetBSD,
16539         mingw, count the number of CPUs available for the current process.
16540         * m4/nproc.m4 (gl_PREREQ_NPROC): Require AC_USE_SYSTEM_EXTENSIONS.
16541         Check for sched_getaffinity and sched_getaffinity_np.
16542         * modules/nproc (Depends-on): Add c-ctype, extensions.
16543         * NEWS: Mention the change.
16544
16545 2009-11-03  Bruno Haible  <bruno@clisp.org>
16546
16547         * NEWS: Document the new library dependencies of inet_ntop, inet_pton.
16548
16549 2009-11-03  Jim Meyering  <meyering@redhat.com>
16550
16551         test-getaddrinfo: avoid compilation failure on FreeBSD 7.2
16552         * tests/test-getaddrinfo.c (simple): Test for EAI_NODATA only
16553         if it is defined.
16554
16555 2009-11-02  Eric Blake  <ebb9@byu.net>
16556
16557         mktime, timegm: share common declaration
16558         * lib/mktime-internal.h: New file.
16559         * lib/mktime.c: Use it rather than open-coding a declaration.
16560         * lib/timegm.c: Likewise.
16561         * modules/mktime (Files): Ship it.
16562         * modules/timegm (Files): Likewise.
16563         Suggested by Bruno Haible.
16564
16565         test-update-copyright: update test to match script changes
16566         * tests/test-update-copyright.sh: Avoid hard-coding perl
16567         location.  Don't update *.bak created by earlier runs.
16568
16569 2009-11-02  Paul Eggert  <eggert@cs.ucla.edu>
16570             Simon Josefsson  <simon@josefsson.org>
16571             Bruno Haible  <bruno@clisp.org>
16572
16573         Fix link error on Solaris 8.
16574         * m4/inet_pton.m4 (gl_INET_PTON): Search for the function inet_pton
16575         also in libnsl. Define also INET_PTON_LIB.
16576         * modules/inet_pton (Link): New section.
16577
16578 2009-11-02  Simon Josefsson  <simon@josefsson.org>
16579             Bruno Haible  <bruno@clisp.org>
16580
16581         * m4/inet_ntop.m4 (gl_INET_NTOP): Define also INET_NTOP_LIB.
16582         * modules/inet_ntop (Link): New section.
16583         Reported by Boyan Kasarov <bkasarov@gmail.com>.
16584
16585 2009-11-02  Eric Blake  <ebb9@byu.net>
16586
16587         maint: avoid compiler warnings in m4 macros
16588         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Avoid unused variable.
16589         * m4/rmdir.m4 (gl_FUNC_RMDIR): Include correct header.
16590
16591 2009-11-02  Simon Josefsson  <simon@josefsson.org>
16592
16593         * m4/pmccabe2html.m4: Remove file.
16594         * modules/pmccabe2html: Drop pmccabe2html.m4.  Don't call m4
16595         function.  Change maintainer.
16596         * build-aux/pmccabe2html: Use /bin/sh with magic instead of
16597         hard-coding path to awk.  Tiny patch from ludo@gnu.org (Ludovic
16598         Courtès).
16599
16600 2009-10-31  Eric Blake  <ebb9@byu.net>
16601
16602         fseeko: fix m4 regression
16603         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Use modern macro.  Fixes
16604         regression from 2009-10-27.
16605         Reported by Ralf Wildenhues.
16606
16607 2009-10-31  Jim Meyering  <meyering@redhat.com>
16608
16609         inttostr: aesthetics and improved (compile-time) safety
16610         Define inttype_is_signed rather than inttype_is_unsigned,
16611         since the sole use is via "#if inttype_is_signed".
16612         * lib/imaxtostr.c (inttype_is_signed): Define this, rather than
16613         inttype_is_unsigned.
16614         * lib/offtostr.c (inttype_is_signed): Likewise.
16615         * lib/uinttostr.c (inttype_is_signed): Likewise.
16616         * lib/umaxtostr.c (inttype_is_signed): Likewise.
16617         * lib/inttostr.c (inttostr): Use verify to cross-check the
16618         inttype_is_signed value and the signedness of the actual type.
16619         * modules/inttostr (Depends-on): Add verify.
16620
16621 2009-10-30  Eric Blake  <ebb9@byu.net>
16622
16623         build: avoid compiler warnings
16624         * lib/fchmodat.c (lchmod): Mark unused variables.
16625         * lib/getopt.c (_getopt_initialize): Likewise.
16626         * lib/mktime.c (__mktime_internal): Provide prototype.
16627         * lib/inttostr.c (inttostr): Avoid compiler warning even with
16628         older gcc that do not understand #pragma GCC diagnostic.
16629         * lib/uinttostr.c (inttype_is_unsigned): Define.
16630         * lib/umaxtostr.c (inttype_is_unsigned): Likewise.
16631
16632 2009-10-30  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
16633
16634         stat: fix compilation on AIX
16635         * lib/sys_stat.in.h (stat): Work with fact that large files on AIX
16636         only see struct stat64.
16637
16638 2009-10-30  Eric Blake  <ebb9@byu.net>
16639
16640         exclude: make more robust
16641         * lib/exclude.c (excluded_file_name): Abort on unexpected value,
16642         rather than masking a coding bug.
16643         Suggested by Bruno Haible.
16644
16645 2009-10-30  Jim Meyering  <meyering@redhat.com>
16646
16647         perl scripts: remove #!/usr/bin/perl in favor of more portable...
16648         Rather than putting #!/usr/bin/perl on the first line,
16649         start with a variant of what's recommended by "man perlrun" that
16650         invokes the first "perl" program from your shell's search path.
16651         * build-aux/gitlog-to-changelog: Replace #!... as above.
16652         Add a "Local Variables" perl mode setting.
16653         Prompted by a patch from Ludovic Courtès.
16654         Improved by Eric Blake.
16655         * build-aux/useless-if-before-free: Likewise.
16656         * build-aux/announce-gen: Likewise.
16657         * build-aux/update-copyright: Likewise.
16658
16659 2009-10-29  Eric Blake  <ebb9@byu.net>
16660
16661         filenamecat-lgpl: adjust clients
16662         * modules/linkat (Depends-on): Use filenamecat-lgpl, not
16663         filenamecat.
16664         * modules/renameat (Depends-on): Likewise.
16665
16666         filenamecat: split into filenamecat-lgpl
16667         * modules/filenamecat-lgpl: New module.
16668         * modules/filenamecat (Files): Move library-safe files into
16669         filenamecat-lgpl.
16670         (Depends-on): Add filenamecat-lgpl.
16671         (configure.ac): Declare witness.
16672         * lib/filenamecat.h (file_name_concat): Only declare when using
16673         GPL module.
16674         * lib/filenamecat.c (longest_relative_suffix, mfile_name_concat):
16675         Move...
16676         * lib/filenamecat-lgpl.c: ...into new file.
16677         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT_LGPL): New macro.
16678         (gl_FILE_NAME_CONCAT): Use it.
16679         * MODULES.html.sh (File system functions): Mention new module.
16680
16681         argp: avoid memory leak
16682         * modules/argp (Depends-on): Use dirname-lgpl, not dirname.
16683         * lib/argp-namefrob.h (__argp_base_name): Use last_component, not
16684         base_name, since the latter malloc()s and can call exit().
16685         Leak introduced 2006-07-03.
16686
16687         dirname-lgpl: adjust clients that don't need full dirname
16688         * modules/backupfile (Depends-on): Use dirname-lgpl, not dirname.
16689         * modules/filenamecat (Depends-on): Likewise.
16690         * modules/linkat (Depends-on): Likewise.
16691         * modules/mkancesdirs (Depends-on): Likewise.
16692         * modules/mkdir (Depends-on): Likewise.
16693         * modules/openat (Depends-on): Likewise.
16694         * modules/savewd (Depends-on): Likewise.
16695         * modules/rename (Depends-on): Likewise.
16696         (License): Relax license.
16697         * modules/mkdir-tests (Depends-on): Drop progname.
16698         (Makefile.am): Delete unneeded LDADD.
16699         * modules/rename-tests (Depends-on, Makefile.am): Likewise.
16700
16701         dirname: split into dirname-lgpl
16702         * modules/dirname-lgpl: New module.
16703         * modules/dirname (Files): Move library-safe files into
16704         dirname-lgpl.
16705         (Depends-on): Add dirname-lgpl.
16706         (configure.ac): Declare witness.
16707         * modules/double-slash-root (License): Relax license.
16708         * lib/dirname.h (base_name, dir_name): Only declare when using GPL
16709         module.
16710         * lib/dirname.c (dir_len, mdir_name): Move...
16711         * lib/dirname-lgpl.c: ...into new file.
16712         * lib/basename.c (last_component, base_len): Move...
16713         * lib/basename-lgpl.c: ...into new file.
16714         * m4/dirname.m4 (gl_DIRNAME_LGPL): New macro.
16715         (gl_DIRNAME): Use it.
16716         * MODULES.html.sh (Enhancements for POSIX:2008 functions):
16717         Mention new module.
16718         * modules/dirname-tests (Depends-on): Add progname.
16719         * tests/test-dirname.c (program_name): Delete.
16720
16721         mkdir: make safe for libraries
16722         * modules/mkdir (Depends-on): Drop xalloc.
16723         * lib/mkdir.c (rpl_mkdir): Fail with ENOMEM rather than calling
16724         exit.
16725
16726         tests: avoid some compiler warnings
16727         * tests/test-getaddrinfo.c (simple): Mark static, and allow string
16728         literals.
16729         * tests/test-memchr.c (main): Avoid type mismatch.
16730         * tests/test-arpa_inet.c (main): Avoid unused parameters.
16731         * tests/test-base64.c (main): Likewise.
16732         * tests/test-getdelim.c (main): Likewise.
16733         * tests/test-gethostname.c (main): Likewise.
16734         * tests/test-getline.c (main): Likewise.
16735         * tests/test-netinet_in.c (main): Likewise.
16736         * tests/test-select.c (open_server_socket, main): Likewise.
16737         * tests/test-select-stdin.c (main): Likewise.
16738         * tests/test-sockets.c (main): Likewise.
16739         * tests/test-strsignal.c (main): Likewise.
16740         * tests/test-sys_select.c (main): Likewise.
16741         * tests/test-sys_socket.c (main): Likewise.
16742         * tests/test-u64.c (main): Likewise.
16743         * tests/test-xfprintf-posix.c (main): Likewise.
16744         * tests/test-xvasprintf.c (test_xvasprintf, main): Likewise.
16745
16746         sockets: avoid compiler warning
16747         * lib/sockets.c (gl_sockets_startup): Mark unused parameter.
16748
16749         maint: detect usage(1) and other suspicious exits
16750         * top/maint.mk (sc_prohibit_magic_number_exit): New rule.
16751
16752 2009-10-29  Jim Meyering  <meyering@redhat.com>
16753
16754         timespec: long-to-int truncation could make timespec_cmp malfunction
16755         * lib/timespec.h (timespec_cmp): Do not interpret a difference of
16756         a multiple of 2^32 nanoseconds as no difference.
16757
16758 2009-10-28  Jim Meyering  <meyering@redhat.com>
16759
16760         fprintftime: wrap macro code argument in "do {...} while(0)"
16761         * lib/strftime.c (cpy) [FPRINTFTIME]: The second argument to the
16762         cpy macro must be a statement that can be followed by a semicolon.
16763         Now that the else clause contains a comment and is hence longer
16764         than one line, I require curly braces.  That in turn requires
16765         that we wrap this code block in the standard do...while(0).
16766
16767         fprintftime: remove stray semicolon from previous change
16768         * lib/strftime.c (cpy) [FPRINTFTIME]: Remove trailing semicolon.
16769
16770         fprintftime: avoid a warning about ignored fwrite return value
16771         * lib/strftime.c [FPRINTFTIME]: Include "ignore-value.h".
16772         (cpy) [FPRINTFTIME]: Ignore fwrite failure, even though technically,
16773         that is unsafe.
16774         * modules/fprintftime (Depends-on): Add ignore-value.
16775
16776         exclude: avoid an unwarranted warning
16777         * lib/exclude.c (excluded_file_name): Initialize "rc" before switch.
16778
16779 2009-10-27  Eric Blake  <ebb9@byu.net>
16780
16781         fseek: avoid compilation failure when fflush is replaced
16782         * m4/fseek.m4 (gl_REPLACE_FSEEK): New macro.
16783         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Also replace fseek, if fseek
16784         module is in use.
16785         * lib/stdio.in.h (GNULIB_FSEEKO): Only poison fseek if fseek
16786         module is not in use; since REPLACE_FSEEK worked otherwise.
16787         (GNULIB_FTELLO): Likewise for ftell.
16788         Reported by Ian Beckwith and others.
16789
16790 2009-10-27  Bruno Haible  <bruno@clisp.org>
16791
16792         * lib/isnan.c (rpl_isnan[fdl]): Repeat the specification declaration.
16793         Reported by Jim Meyering.
16794
16795 2009-10-27  Jim Meyering  <jim@meyering.net>
16796             Bruno Haible  <bruno@clisp.org>
16797
16798         Avoid warning despite dropping the return value of fwrite.
16799         * lib/unicodeio.c: Include ignore-value.h.
16800         (fwrite_success_callback): Explicitly ignore fwrite's return value.
16801         * modules/unicodeio (Depends-on): Add ignore-value.
16802
16803 2009-10-26  Eric Blake  <ebb9@byu.net>
16804
16805         areadlinkat: fix fallback path
16806         * lib/at-func.c (AT_FUNC_NAME): Avoid signed comparison between
16807         pointer and zero.
16808
16809 2009-10-22  Pádraig Brady  <P@draigBrady.com>
16810
16811         Use a better IO block size for modern systems
16812         * lib/copy-file.c (copy_file_preserving): Used a 32KiB malloced buffer.
16813         * lib/md2.c: Likewise.
16814         * lib/md4.c: Likewise.
16815         * lib/md5.c: Likewise.
16816         * lib/sha1.c: Likewise.
16817         * lib/sha256.c: Likewise.
16818         * lib/sha512.c: Likewise.
16819
16820 2009-10-22  Eric Blake  <ebb9@byu.net>
16821
16822         tests: avoid several compiler warnings
16823         * tests/test-getcwd.c (main): Avoid buffer underflow.
16824         * tests/test-getdate.c (main): String literals are not safe with
16825         putenv, so use setenv.  Declare unused argument.
16826         * modules/getdate-tests (Depends-on): Add setenv.
16827         * tests/test-argv-iter.c (main): Declare unused argument.  Avoid
16828         problems with string literals in char *.
16829         * tests/test-hash.c (main): Avoid shadowing declaration.
16830         (insert_new): Treat string literals as char const *.
16831         * tests/test-getopt.h (test_getopt): Likewise.
16832         (getopt_loop): Alter types to minimize casting elsewhere.
16833         * tests/test-getopt_long.h (test_getopt_long, getopt_long_loop)
16834         (test_getopt_long_posix): Likewise.
16835         (do_getopt_long): Add wrapper to minimize casting.
16836         * tests/test-atexit.c (clear_temp_file): Use void.
16837         * tests/test-areadlink-with-size.c (main): Declare unused
16838         arguments.
16839         * tests/test-areadlink.c (main): Likewise.
16840         * tests/test-areadlinkat-with-size.c (main): Likewise.
16841         * tests/test-areadlinkat.c (main): Likewise.
16842         * tests/test-canonicalize-lgpl.c (main): Likewise.
16843         * tests/test-canonicalize.c (main): Likewise.
16844         * tests/test-dirent-safer.c (main): Likewise.
16845         * tests/test-dirname.c (main): Likewise.
16846         * tests/test-dup2.c (main): Likewise.
16847         * tests/test-fchdir.c (main): Likewise.
16848         * tests/test-fcntl-h.c (main): Likewise.
16849         * tests/test-fcntl-safer.c (main): Likewise.
16850         * tests/test-fdopendir.c (main): Likewise.
16851         * tests/test-fdutimensat.c (main): Likewise.
16852         * tests/test-fflush.c (main): Likewise.
16853         * tests/test-filenamecat.c (main): Likewise.
16854         * tests/test-filevercmp.c (main): Likewise.
16855         * tests/test-fopen-safer.c (main): Likewise.
16856         * tests/test-fopen.c (main): Likewise.
16857         * tests/test-fpending.c (main): Likewise.
16858         * tests/test-fpurge.c (main): Likewise.
16859         * tests/test-freading.c (main): Likewise.
16860         * tests/test-fstatat.c (main): Likewise.
16861         * tests/test-fsync.c (main): Likewise.
16862         * tests/test-futimens.c (main): Likewise.
16863         * tests/test-getndelim2.c (main): Likewise.
16864         * tests/test-gettimeofday.c (main): Likewise.
16865         * tests/test-getopt.c (main): Likewise.
16866         * tests/test-i-ring.c (main): Likewise.
16867         * tests/test-inttypes.c (main): Likewise.
16868         * tests/test-link.c (main): Likewise.
16869         * tests/test-lstat.c (main): Likewise.
16870         * tests/test-math.c (main): Likewise.
16871         * tests/test-md5.c (main): Likewise.
16872         * tests/test-memchr2.c (main): Likewise.
16873         * tests/test-memrchr.c (main): Likewise.
16874         * tests/test-mkdir.c (main): Likewise.
16875         * tests/test-mkdirat.c (main): Likewise.
16876         * tests/test-mkfifoat.c (main): Likewise.
16877         * tests/test-open.c (main): Likewise.
16878         * tests/test-openat-safer.c (main): Likewise.
16879         * tests/test-openat.c (main): Likewise.
16880         * tests/test-quotearg.c (main): Likewise.
16881         * tests/test-rawmemchr.c (main): Likewise.
16882         * tests/test-readlink.c (main): Likewise.
16883         * tests/test-remove.c (main): Likewise.
16884         * tests/test-rename.c (main): Likewise.
16885         * tests/test-renameat.c (main): Likewise.
16886         * tests/test-rmdir.c (main): Likewise.
16887         * tests/test-sha1.c (main): Likewise.
16888         * tests/test-signal.c (main): Likewise.
16889         * tests/test-sigaction.c (main): Likewise.
16890         * tests/test-stat.c (main): Likewise.
16891         * tests/test-stat-time.c (main): Likewise.
16892         * tests/test-stddef.c (main): Likewise.
16893         * tests/test-stdint.c (main): Likewise.
16894         * tests/test-stdio.c (main): Likewise.
16895         * tests/test-stdlib.c (main): Likewise.
16896         * tests/test-strchrnul.c (main): Likewise.
16897         * tests/test-strerror.c (main): Likewise.
16898         * tests/test-string.c (main): Likewise.
16899         * tests/test-strtod.c (main): Likewise.
16900         * tests/test-strverscmp.c (main): Likewise.
16901         * tests/test-symlink.c (main): Likewise.
16902         * tests/test-symlinkat.c (main): Likewise.
16903         * tests/test-sys_stat.c (main): Likewise.
16904         * tests/test-sys_time.c (main): Likewise.
16905         * tests/test-time.c (main): Likewise.
16906         * tests/test-unistd.c (main): Likewise.
16907         * tests/test-unlink.c (main): Likewise.
16908         * tests/test-unlinkat.c (main): Likewise.
16909         * tests/test-utimens.c (main): Likewise.
16910         * tests/test-utimensat.c (main): Likewise.
16911         * tests/test-version-etc.c (main): Likewise.
16912         * tests/test-wchar.c (main): Likewise.
16913         * tests/test-wctype.c (main): Likewise.
16914         * tests/test-xprintf-posix.c (main): Likewise.
16915         * tests/test-posixtm.c (main): Likewise.
16916         (STREQ): Delete unused macro.
16917         * tests/test-linkat.c (main): Declare unused arguments.  Avoid
16918         shadowed variables.
16919         * tests/test-memchr.c (main): Likewise.
16920
16921 2009-10-21  Eric Blake  <ebb9@byu.net>
16922
16923         areadlinkat: avoid failure on older glibc
16924         * lib/at-func.c (AT_FUNC_NAME): Check for explicit FUNC_FAIL,
16925         rather than mis-comparing 0 against FUNC_RESULT of char*.
16926
16927 2009-10-21  Bruno Haible  <bruno@clisp.org>
16928
16929         * modules/stpncpy (License): Relicense under LGPLv2+.
16930         Reported by David Lutterkort <lutter@redhat.com>.
16931
16932 2009-10-20  Eric Blake  <ebb9@byu.net>
16933
16934         utimensat: work around Solaris 9 bug
16935         * lib/utimens.c (fdutimens, lutimens): Force a stat if platform
16936         has trailing slash bugs.
16937         * tests/test-lutimens.h (test_lutimens): Enhance test.
16938         * tests/test-utimens.h (test_utimens): Likewise.
16939         * doc/posix-functions/utime.texi (utime): Enhance documentation.
16940         * doc/posix-functions/utimes.texi (utimes): Likewise.
16941         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
16942         * doc/glibc-functions/futimesat.texi (futimesat): Likewise.
16943         * doc/glibc-functions/lutimes.texi (lutimes): Likewise.
16944         * doc/posix-functions/futimens.texi (futimens): Likewise.
16945
16946         fdutimensat: new module
16947         * modules/fdutimensat: New file.
16948         * lib/fdutimensat.c (fdutimensat): Likewise.
16949         * lib/utimens.h (fdutimensat, lutimensat): Declare new functions.
16950         * MODULES.html.sh (File system functions): Mention module.
16951         * modules/fdutimensat-tests: New test.
16952         * tests/test-fdutimensat.c: Likewise.
16953
16954         doc: regenerate INSTALL
16955         * doc/INSTALL: Reflect recent autoconf update.
16956         * doc/INSTALL.ISO: Likewise.
16957         * doc/INSTALL.UTF-8: Likewise.
16958
16959 2009-10-20  Pádraig Brady  <P@draigBrady.com>
16960
16961         acl: warn if ACL support is not detected
16962         * m4/acl.m4 (gl_FUNC_ACL): Output a warning if ACL support is not found.
16963
16964 2009-10-19  Giuseppe Scrivano  <gscrivano@gnu.org>
16965
16966         * lib/nproc.h: Add extern "C" block for C++.
16967
16968 2009-10-18  Reuben Thomas  <rrt@sc3d.org>
16969             Bruno Haible  <bruno@clisp.org>
16970
16971         * doc/posix-functions/isascii.texi: Document the 2 alternative APIs.
16972         * doc/posix-functions/isalnum.texi: Document the 4 alternative APIs.
16973         * doc/posix-functions/isalpha.texi: Likewise.
16974         * doc/posix-functions/isblank.texi: Likewise.
16975         * doc/posix-functions/iscntrl.texi: Likewise.
16976         * doc/posix-functions/isdigit.texi: Likewise.
16977         * doc/posix-functions/isgraph.texi: Likewise.
16978         * doc/posix-functions/islower.texi: Likewise.
16979         * doc/posix-functions/isprint.texi: Likewise.
16980         * doc/posix-functions/ispunct.texi: Likewise.
16981         * doc/posix-functions/isspace.texi: Likewise.
16982         * doc/posix-functions/isupper.texi: Likewise.
16983         * doc/posix-functions/isxdigit.texi: Likewise.
16984
16985 2009-10-18  Bruno Haible  <bruno@clisp.org>
16986
16987         Tests for module 'isblank'.
16988         * modules/isblank-tests: New file.
16989         * tests/test-isblank.c: New file.
16990
16991         New module 'isblank'.
16992         * lib/isblank.c: New file.
16993         * m4/isblank.m4: New file.
16994         * modules/isblank: New file.
16995         * doc/posix-functions/isblank.texi: Mention the new module.
16996
16997 2009-10-18  Bruno Haible  <bruno@clisp.org>
16998
16999         New module 'ctype'.
17000         * lib/ctype.in.h: New file.
17001         * m4/ctype.m4: New file.
17002         * modules/ctype: New file.
17003         * doc/posix-headers/ctype.texi: Mention the new module.
17004
17005 2009-10-18  Jim Meyering  <meyering@redhat.com>
17006
17007         m4: stylistic-only: hoist AC_SUBST to be adjacent to initialization
17008         Declare a variable like LIB_CLOCK_GETTIME to be AC_SUBSTituted
17009         right after its initialization, rather than farther down.
17010         Keeping these in close proximity makes it easier to ensure
17011         that each such variable is initialized.  E.g.,
17012
17013             LIB_CLOCK_GETTIME=
17014             AC_SUBST([LIB_CLOCK_GETTIME])
17015
17016         This change also increments these serial numbers.
17017         * m4/clock_time.m4 (gl_CLOCK_TIME): Hoist AC_SUBST use.
17018         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
17019         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
17020
17021 2009-10-18  Bruno Haible  <bruno@clisp.org>
17022
17023         Don't let environment variables perturb build.
17024         * m4/gethrxtime.m4 (gl_GETHRXTIME): Initialize LIB_GETHRXTIME here...
17025         (gl_PREREQ_GETHRXTIME): ... not here.
17026
17027 2009-10-18  Bruno Haible  <bruno@clisp.org>
17028
17029         Avoid symlink attack in localcharset module.
17030         * lib/localcharset.c: Include <fcntl.h>, <unistd.h>.
17031         (O_NOFOLLOW): Define fallback.
17032         (get_charset_aliases): Don't open the file if it is a symbolic link.
17033         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): New macro, extracted from
17034         gl_FCNTL_H.
17035         (gl_FCNTL_H): Require it.
17036         * m4/localcharset.m4 (gl_LOCALCHARSET): Likewise.
17037         * modules/localcharset (Files): Add m4/fcntl_h.m4.
17038         Reported by Fergal Glynn <fglynn@veracode.com>.
17039
17040 2009-10-18  Bruno Haible  <bruno@clisp.org>
17041
17042         Implement nproc for mingw.
17043         * lib/nproc.c: Include <windows.h>
17044         (num_processors): On native Windows platforms, try GetSystemInfo.
17045
17046 2009-10-18  Bruno Haible  <bruno@clisp.org>
17047
17048         Implement nproc for IRIX.
17049         * lib/nproc.c: Include <sys/sysmp.h>.
17050         (num_processors): On IRIX systems, try sysmp.
17051         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/sysmp.h and sysmp.
17052
17053 2009-10-18  Bruno Haible  <bruno@clisp.org>
17054
17055         Implement nproc for HP-UX.
17056         * lib/nproc.c: Include <sys/pstat.h>
17057         (num_processors): On HP-UX systems, try pstat_getdynamic.
17058         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/pstat.h and
17059         pstat_getdynamic.
17060
17061 2009-10-18  Giuseppe Scrivano  <gscrivano@gnu.org>
17062             Bruno Haible  <bruno@clisp.org>
17063
17064         Implement nproc for NetBSD, OpenBSD.
17065         * lib/nproc.c: Include <sys/types.h>, <sys/param.h>, <sys/sysctl.h>.
17066         (ARRAY_SIZE): New macro.
17067         (num_processors): On BSD systems, try sysctl of HW_NCPU.
17068         * m4/nproc.m4: New file.
17069         * modules/nproc (Files): Add m4/nproc.m4.
17070         (configure.ac): Invoke gl_NPROC. Remove AC_LIBOBJ invocation.
17071         (Makefile.am): Instead, augment lib_SOURCES.
17072
17073 2009-10-18  Bruno Haible  <bruno@clisp.org>
17074
17075         Fix recognition of sys/sysctl.h on OpenBSD 4.0.
17076         * m4/physmem.m4 (gl_PHYSMEM): Before including sys/sysctl.h, include
17077         sys/param.h.
17078
17079 2009-10-16  Eric Blake  <ebb9@byu.net>
17080
17081         utimensat: new module
17082         * modules/utimensat: New file.
17083         * lib/utimensat.c (utimensat): Likewise.
17084         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
17085         * lib/utimens.c (utimensat): Avoid recursion into rpl_utimensat,
17086         so we can work around Linux bugs.
17087         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
17088         * modules/sys_stat (Makefile.am): Substitute them.
17089         * lib/sys_stat.in.h (utimensat): Declare it.
17090         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
17091         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
17092         * modules/utimensat-tests: New test.
17093         * tests/test-utimensat.c: Likewise.
17094
17095         utimens: let lutimens work on non-symlinks
17096         * lib/utimens.c (lutimens): Fall back to utimens rather than
17097         failing with ENOSYS, when file is not a symlink.
17098         (utimens): Reduce redirection.
17099         * tests/test-lutimens.h (test_lutimens): Update test to cover
17100         non-symlinks.
17101         * tests/test-utimens.h (test_utimens): Update test to cover
17102         symlinks.
17103         * tests/test-utimens.c (main): Update caller.
17104
17105         utimens: cache whether utimensat syscall works
17106         * lib/utimens.c (utimensat_works_really): New cache variable.
17107         (fdutimens, lutimens): Use it to avoid failing syscall.
17108
17109         test-stat-time, test-utimens: improve portability
17110         * tests/test-stat-time.c (nap): Lengthen delay to 20ms, for
17111         ext4 on alpha, and for cygwin.
17112         * tests/test-utimens-common.h: New file.
17113         (nap): Factor delays into single function.
17114         * tests/test-lutimens.h (test_lutimens): Use new header.
17115         * tests/test-futimens.h (test_futimens): Likewise.
17116         * tests/test-utimens.h (test_utimens): Likewise.  Also, force NFS
17117         timestamps to occur from same machine, as was done previously for
17118         test_utimens.
17119         * modules/utimens-tests (Files): Ship new file.
17120         * modules/futimens-tests (Files): Likewise.
17121         Reported in part by Jim Meyering.
17122
17123         sys_stat: sort replacement declarations
17124         * lib/sys_stat.in.h: Sort declarations.
17125         * lib/futimens.c (futimens): Fix typo.
17126
17127 2009-10-15  Jim Meyering  <meyering@redhat.com>
17128
17129         don't let environment settings perturb build
17130         Setting the envvars, LIB_CLOCK_GETTIME, LIB_EACCESS or LIB_NANOSLEEP
17131         could cause a configure-time and/or build-time malfunction.
17132         Typically, a configure-time function-in-library test is performed
17133         via code like this:
17134
17135           LIB_VAR=
17136           AC_SUBST([LIB_VAR])
17137           prefix_saved_LIBS=$LIBS
17138             AC_SEARCH_LIBS([FUNC], [LIB_NAME],
17139                        [test "$ac_cv_search_FUNC" = "none required" ||
17140                         LIB_VAR=$ac_cv_search_FUNC])
17141           LIBS=$prefix_saved_LIBS
17142
17143         However, in each of the files affected by this change, the LIB_VAR=
17144         initialization was omitted.  Thus, when set in the environment, its
17145         value would propagate into generated Makefiles when FUNC is not found
17146         in LIB_NAME.
17147         * m4/clock_time.m4 (gl_CLOCK_TIME): Initialize AC_SUBST'd var.
17148         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
17149         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
17150
17151 2009-10-14  Eric Blake  <ebb9@byu.net>
17152
17153         fchdir: avoid infinite recursion in mingw
17154         * lib/fchdir.c (rpl_fstat): Call system fstat, rather than
17155         recursing.
17156
17157         test-stat-time: port to mingw
17158         * tests/test-stat-time.c (force_unlink): Return a value.
17159         (test_ctime) [W32]: Fix compilation error.
17160         (nap): Don't call usleep with too large an argument.  Use
17161         force_unlink.
17162         * doc/pastposix-functions/usleep.texi (usleep): Document the
17163         portability issue.
17164
17165 2009-10-13  Jim Meyering  <meyering@redhat.com>
17166
17167         use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS in modules/*
17168         * modules/pipe-filter-gi: Use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS.
17169         * modules/pipe-filter-ii: Likewise.
17170         * modules/sys_socket-tests: Likewise.
17171         * modules/tsearch-tests: Likewise.
17172         * Makefile (sc_prefer_ac_check_funcs_once): New rule.
17173         (check): Depend on it.
17174
17175 2009-10-12  Eric Blake  <ebb9@byu.net>
17176
17177         utimens-tests: port to NFS file systems
17178         * tests/test-utimens.h (test_utimens): Refactor utimecmp
17179         comparisons to avoid spurious failures from timestamp drift
17180         between NFS machines.
17181
17182 2009-10-12  Eric Blake  <ebb9@byu.net>
17183
17184         stat-time-tests: minor cleanups
17185         * modules/stat-time-tests (configure.ac): Use AC_CHECK_FUNCS_ONCE.
17186         * tests/test-stat-time.c (nap): Separate assignment from call.
17187         Suggested by Paolo Bonzini and Bruno Haible.
17188
17189         sys_stat: guarantee struct timespec
17190         * lib/sys_stat.in.h (includes): Always include <time.h>
17191         * modules/sys_stat (Depends-on): Add time.
17192         * tests/test-sys_stat.c: Guarantee struct timespec, as well as
17193         mode_t permission values.
17194         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document how to
17195         get at subsecond timestamps.
17196
17197 2009-10-10  Eric Blake  <ebb9@byu.net>
17198
17199         futimens: new module
17200         * modules/futimens: New file.
17201         * lib/futimens.c (futimens): Likewise.
17202         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Likewise.
17203         * lib/utimens.c (futimens): Avoid recursion into rpl_futimens, so
17204         we can work around Linux bugs.
17205         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
17206         * modules/sys_stat (Makefile.am): Substitute them.
17207         * lib/sys_stat.in.h (futimens): Declare it.
17208         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
17209         * doc/posix-functions/futimens.texi (futimens): Likewise.
17210         * modules/futimens-tests: New test.
17211         * tests/test-futimens.c: Likewise.
17212
17213         utimens: introduce fdutimens
17214         * lib/utimens.h (fdutimens): New prototype.
17215         * lib/utimens.c (gl_futimens): Move guts...
17216         (fdutimens): ...to new interface.
17217         * tests/test-utimens.c (do_fdutimens): Use it.
17218
17219         utimens: add UTIME_NOW and UTIME_OMIT support
17220         * lib/utimens.c (validate_timespec, update_timespec): New helper
17221         functions.
17222         (gl_futimens, lutimens): Use them.
17223         * modules/utimens (Depends-on): Add gettime, lstat, stat-time,
17224         stdbool, sys_stat.
17225         (Link): Mention resulting library dependency.
17226         * modules/utimecmp (Link): Likewise.
17227         * modules/utimens-tests (Depends-on): Drop stat-time, stdbool.
17228         (Makefile.am): Pick up library dependency.
17229         * lib/sys_stat.in.h (UTIME_NOW, UTIME_OMIT): Guarantee a
17230         definition.
17231         * tests/test-sys_stat.c: Test the definitions.
17232         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document this.
17233         * NEWS: Document library dependency.
17234
17235         utimecmp: support symlink timestamps
17236         * lib/utimecmp.c (utimecmp): Use new interface.  Skip effort of
17237         hashing when possible.  Use pathconf when available.
17238         (SYSCALL_RESOLUTION): Recognize tighter resolution.
17239         * modules/utimecmp (Depends-on): Add lstat.
17240
17241         utimens: add lutimens interface
17242         * lib/utimens.c (lutimens): New function.
17243         * m4/utimens.m4 (gl_UTIMENS): Check for lutimes.
17244         * lib/utimens.h (lutimens): Declare new interface.
17245         * tests/test-utimens.c (main): Enhance test.
17246         * tests/test-lutimens.h (test_lutimens): New file.
17247         * modules/utimens-tests (Files): Distribute it.
17248         (Depends-on): Add symlink.
17249         (configure.ac): Check for usleep.
17250
17251         utimens: validate futimens usage
17252         * lib/utimens.c (gl_futimens): Require valid fd up front, using
17253         fewer syscalls on failure later on.  Avoid compiler warning on
17254         mingw.
17255         * modules/utimens (Depends-on): Add dup2.
17256
17257         utimens: add test
17258         * modules/utimens-tests: New test.
17259         * tests/test-utimens.h: New file.
17260         * tests/test-futimens.h: Likewise.
17261         * tests/test-utimens.c: Likewise.
17262
17263         doc: mention timestamp portability issues
17264         * doc/glibc-functions/lutimes.texi (lutimes): Refer to utimensat
17265         instead.
17266         * doc/posix-functions/utime.texi (utime): Likewise.
17267         * doc/posix-functions/utimes.texi (utimes): Likewise.
17268         * doc/glibc-functions/futimes.texi (futimes): Refer to futimens
17269         instead.
17270         * doc/posix-functions/futimens.texi (futimens): Mention utimens
17271         module.
17272         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
17273         Mention weakness with symlink timestamps.
17274         * doc/glibc-functions/futimesat.texi (futimesat): New file; refer
17275         to utimensat/futimens instead.
17276         * doc/gnulib.texi (Glibc sys/time.h): Include new file.
17277
17278         test-dup2: enhance test
17279         * tests/test-dup2.c (main): Also check AT_FDCWD.
17280
17281         test-stat-time: avoid more spurious failures
17282         * tests/test-stat-time.c (nap): Wait for 15ms rather than 2ms, for
17283         xfs; and avoid race if the two timestamps cross quantization edge.
17284
17285         relocatable: prefer 'file system' over 'filesystem'
17286         * m4/relocatable-lib.m4 (gl_RELOCATABLE_NOP): Use AS_HELP_STRING.
17287         (gl_RELOCATABLE_LIBRARY_BODY): Fix spelling.
17288         * doc/relocatable-maint.texi (Supporting Relocation): Likewise.
17289         * doc/relocatable.texi (Enabling Relocatability): Likewise.
17290         * lib/relocatable.c (compute_curr_prefix): Likewise.
17291
17292 2009-10-10  Jim Meyering  <meyering@redhat.com>
17293
17294         stat-time-tests: check for the usleep function
17295         * modules/stat-time-tests (configure.ac): Now that we test HAVE_USLEEP.
17296
17297 2009-10-10  Bruno Haible  <bruno@clisp.org>
17298
17299         * modules/xnanosleep: Put the Link section after the Include section.
17300
17301 2009-10-09  Eric Blake  <ebb9@byu.net>
17302
17303         dup2: work around FreeBSD 6.1 bug
17304         * m4/dup2.m4 (gl_FUNC_DUP2): Detect bug.
17305         * doc/posix-functions/dup2.texi (dup2): Document it.
17306         Reported by Nelson H. F. Beebe and Jim Meyering.
17307
17308         test-stat-time: port to buggy NFS clients
17309         * tests/test-stat-time.c (main) [W32]: Reduce ifdefs.
17310         (test_ctime): Also skip test if mtime and ctime are skewed.
17311
17312         maint: prefer 'file system' over 'filesystem'
17313         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
17314         * doc/posix-functions/lstat.texi (lstat): Likewise.
17315         * lib/file-has-acl.c (file_has_acl): Likewise.
17316         * lib/fwriteerror.c [TEST]: Likewise.
17317         * tests/test-areadlink.h (test_areadlink): Likewise.
17318         * tests/test-areadlinkat-with-size.c (main): Likewise.
17319         * tests/test-areadlinkat.c (main): Likewise.
17320         * tests/test-canonicalize-lgpl.c (main): Likewise.
17321         * tests/test-canonicalize.c (main): Likewise.
17322         * tests/test-fstatat.c (main): Likewise.
17323         * tests/test-linkat.c (main): Likewise.
17324         * tests/test-lstat.h (test_lstat_func): Likewise.
17325         * tests/test-mkdir.h (test_mkdir): Likewise.
17326         * tests/test-readlink.h (test_readlink): Likewise.
17327         * tests/test-remove.c (main): Likewise.
17328         * tests/test-rename.h (test_rename): Likewise.
17329         * tests/test-renameat.c (main): Likewise.
17330         * tests/test-rmdir.h (test_rmdir_func): Likewise.
17331         * tests/test-symlink.h (test_symlink): Likewise.
17332         * tests/test-symlinkat.c (main): Likewise.
17333         * tests/test-unlink.h (test_unlink_func): Likewise.
17334         * tests/test-unlinkat.c (main): Likewise.
17335
17336         maint: make realtime library usage explicit
17337         * modules/gethrxtime (Link): Mention LIB_GETHRXTIME.
17338         * modules/gettime (Link): Mention LIB_CLOCK_GETTIME.
17339         * modules/settime (Link): Likewise.
17340         * modules/xnanosleep (Link): Mention LIB_NANOSLEEP.
17341
17342         test-stat-time: speed up execution
17343         * tests/test-stat-time.c (test_ctime) [!W32]: Avoid compiler
17344         warning on mingw.
17345         (nap): New helper function.
17346         (prepare_test): Use it to reduce sleep time.
17347         (test_mtime, test_ctime, test_birthtime): Allow for subsecond
17348         execution.
17349         * modules/stat-time-tests (configure.ac): Check for usleep.
17350
17351 2009-10-09  Jim Meyering  <meyering@redhat.com>
17352
17353         selinux-h: always use getfilecon wrappers
17354         * lib/getfilecon.c: New file.
17355         * lib/se-selinux.in.h: Use a better inclusion guard symbol name.
17356         [HAVE_SELINUX_SELINUX_H]: Include-next <selinux/selinux.h>.
17357         [!HAVE_SELINUX_SELINUX_H]: Use better parameter names.
17358         (fgetfilecon): Provide a stub.
17359         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Don't
17360         AC_SUBST SELINUX_SELINUX_H, since now we're generating that
17361         file unconditionally.
17362         When <selinux/selinux.h> is found, arrange to use wrappers.
17363         * modules/selinux-h (Files): Add getfilecon.c.
17364         (Makefile.am): Substitute include-next-related bits
17365         into the now-always-generated selinux/selinux.h file.
17366         * doc/glibc-functions/lgetfilecon.texi: New file.
17367         * doc/glibc-functions/fgetfilecon.texi: New file.
17368         * doc/glibc-functions/getfilecon.texi: New file.
17369         * doc/glibc-functions/getfilecon-desc.texi: New file.
17370         * doc/gnulib.texi (Glibc selinux/selinux.h): New section, by
17371         which to pull in the new files.
17372         * MODULES.html.sh (Misc): Add selinux-h.
17373
17374 2009-10-08  Jim Meyering  <meyering@redhat.com>
17375
17376         unistd: fix comment typo
17377         * lib/unistd.in.h (euidaccess): Fix a comment typo.
17378
17379 2009-10-08  Eric Blake  <ebb9@byu.net>
17380
17381         areadlink: use SIZE_MAX consistently
17382         * modules/areadlink (Depends-on): Add stdint.
17383         * modules/areadlink-with-size (Depends-on): Likewise.
17384         * lib/areadlink-with-size.c (includes): Drop stdio, since stdlib
17385         gives NULL; drop sys/types, since unistd gives size_t; and add
17386         stdint for SIZE_MAX.
17387         (SIZE_MAX): Rely on headers.
17388         * lib/areadlinkat-with-size.c (includes): Drop stdio, sys/types,
17389         and add stdint.
17390         * lib/areadlink.c (includes): Drop sys/types, and add stdint.
17391         (SIZE_MAX): Likewise.
17392         (INITIAL_BUF_SIZE): Turn into enum.
17393         * lib/areadlinkat.c (INITIAL_BUF_SIZE): Likewise.
17394
17395 2009-10-08  Jim Meyering  <meyering@redhat.com>
17396
17397         areadlinkat: avoid compilation failure
17398         * lib/areadlinkat.c: Include <stdint.h> for use of SIZE_MAX.
17399         Fix typo in comment.
17400
17401 2009-10-07  Eric Blake  <ebb9@byu.net>
17402
17403         areadlinkat-with-size: new module
17404         * modules/areadlinkat-with-size: New module.
17405         * lib/areadlinkat-with-size.c (areadlinkat_with_size): New file.
17406         * lib/areadlink.h (areadlinkat): Declare it.
17407         * MODULES.html.sh (File system functions): Mention it.
17408         * modules/areadlinkat-with-size-tests: New test.
17409         * tests/test-areadlinkat-with-size.c: New file.
17410
17411         xreadlinkat: new module
17412         * modules/xreadlinkat: New module.
17413         * lib/xreadlinkat.c (xreadlinkat): New file.
17414         * lib/xreadlink.h (xreadlinkat): Declare it.
17415         * MODULES.html.sh (File system functions): Mention it.
17416
17417         areadlinkat: new module
17418         * lib/at-func.c (FUNC_FAIL): New define.
17419         (AT_FUNC_NAME, VALIDATE_FLAG): Use it rather than raw -1.
17420         * modules/areadlinkat: New module.
17421         * lib/linkat.c (areadlinkat): Move...
17422         * lib/areadlinkat.c (areadlinkat): ...to new file.
17423         * lib/areadlink.h (areadlinkat): Declare it.
17424         * modules/linkat (Depends-on): Add areadlinkat.
17425         * MODULES.html.sh (File system functions): Mention it.
17426         * modules/areadlinkat-tests: New test.
17427         * tests/test-areadlinkat.c: New file.
17428
17429         areadlink, areadlink-with-size: add tests
17430         * modules/areadlink-tests: New test.
17431         * modules/areadlink-with-size-tests: Likewise.
17432         * tests/test-areadlink.h: New file.
17433         * tests/test-areadlink.c: Likewise.
17434         * tests/test-areadlink-with-size.c: Likewise.
17435
17436         maint: minor cleanups
17437         * lib/fts.c (ATTRIBUTE_UNUSED): Delete; use gnulib-guaranteed
17438         _UNUSED_PARAMETER_ instead.
17439         * lib/getdate.y (ATTRIBUTE_UNUSED): Likewise.
17440         * lib/utimens.c (ATTRIBUTE_UNUSED): Likewise.
17441         * modules/linkat-tests (Files): Distribute test-link.h.
17442
17443         openat, utimens: whitespace cleanup
17444         * lib/openat.c: Prefer space throughout, rather than mix of 8
17445         spaces vs. tabs.
17446         * lib/at-func.c: Likewise.
17447         * lib/utimens.c: Likewise.
17448
17449         openat: avoid using wrong fd
17450         * lib/openat.c (openat_permissive): Reject user's fd if saving the
17451         working directory chooses same fd.
17452         * lib/at-func.c (AT_FUNC_NAME): Likewise.
17453
17454         mkdir, mkdirat: fix cygwin 1.5.x bug
17455         * lib/mkdir.c (rpl_mkdir) [FUNC_MKDIR_DOT_BUG]: Work around bug.
17456         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Move...
17457         * m4/mkdir.m4 (gl_FUNC_MKDIR): ...here, and add check for cygwin
17458         bug.
17459         (gl_PREREQ_MKDIR): Delete unused macro.
17460         * modules/mkdir (Files): Track file rename.
17461         (configure.ac): Update macro name.
17462         * modules/openat (Depends-on): Add mkdir.
17463         * doc/posix-functions/mkdir.texi (mkdir): Document the bug.
17464
17465         mkdir, mkdirat: add tests
17466         * modules/mkdir-tests: New test.
17467         * tests/test-mkdir.h: New file.
17468         * tests/test-mkdir.c: Likewise.
17469         * tests/test-mkdirat.c: Likewise.
17470         * modules/openat-tests (Files): Add new files.
17471         (Makefile.am): Run new test.
17472
17473 2009-10-06  Eric Blake  <ebb9@byu.net>
17474
17475         doc: tweak *at function documentation
17476         * doc/posix-functions/faccessat.texi (faccessat): Mention
17477         known issue with replacement.
17478         * doc/posix-functions/fchdir.texi (fchdir): Likewise.
17479         * doc/posix-functions/linkat.texi (linkat): Likewise.
17480         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
17481         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
17482         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
17483         * doc/posix-functions/renameat.texi (renameat): Likewise.
17484         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
17485
17486         openat: fix GNU/Hurd bug in unlinkat
17487         * m4/openat.m4 (gl_FUNC_OPENAT): Replace unlinkat if unlink is
17488         broken.
17489         * doc/posix-functions/unlink.texi (unlink): Document this.
17490         * doc/posix-functions/unlinkat.texi (unlinkat): Likewise.
17491
17492         fdopendir: fix GNU/Hurd bug
17493         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for Hurd bug in
17494         allowing non-directory fds.
17495         * lib/fdopendir.c (rpl_fdopendir): Work around it.
17496         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
17497         * modules/dirent (Makefile.am): Substitute it.
17498         * lib/dirent.in.h (fdopendir): Declare replacement.
17499         * doc/posix-functions/fdopendir.texi (fdopendir): Document this.
17500         * tests/test-fdopendir.c (main): Test something other than
17501         /dev/null, since on Hurd that behaves like a directory.
17502
17503         test-symlink: port to GNU/Hurd
17504         * tests/test-symlink.h (test_symlink): Relax expected errno.
17505
17506         doc: tweak more cygwin information
17507         * doc/glibc-headers/getopt.texi (getopt.h): Cygwin 1.7 getopt is
17508         now compatible with glibc.
17509         * doc/posix-functions/getopt.texi (getopt): Likewise.
17510
17511         getopt-gnu: add another test
17512         * tests/test-getopt_long.h (test_getopt_long_posix): New test, to
17513         guarantee behavior relied on by m4.
17514         * tests/test-getopt.c (main): Use it.
17515         * modules/getopt-posix-tests (Depends-on): Add setenv.
17516         See http://lists.gnu.org/archive/html/bug-m4/2006-09/msg00028.html.
17517
17518         getopt: fix compilation on darwin
17519         * lib/getopt.in.h (includes): Leave breadcrumbs during system
17520         include.
17521         * lib/unistd.in.h (getopt): Use them to avoid recursive include.
17522         Reported by Ludovic Courtès.
17523
17524 2009-10-06  Bruno Haible  <bruno@clisp.org>
17525
17526         * modules/size_max (Description): Discourage its use.
17527         Reported by Simon Josefsson.
17528
17529 2009-10-06  Jim Meyering  <meyering@redhat.com>
17530
17531         linkat: avoid compilation failure
17532         * lib/linkat.c: Include <stdint.h> for use of SIZE_MAX.
17533
17534 2009-10-05  Eric Blake  <ebb9@byu.net>
17535
17536         linkat: support Linux 2.6.17
17537         * m4/linkat.m4 (gl_FUNC_LINKAT): Default to always replacing
17538         linkat on Linux, but allow cache variable override.
17539         * lib/linkat.c (rpl_linkat): Define override.
17540         * modules/linkat (Depends-on): Add symlinkat.
17541         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add new default.
17542         * modules/unistd (Makefile.am): Substitute it.
17543         * lib/unistd.in.h (linkat): Declare replacement.
17544         Reported by Pádraig Brady.
17545
17546         quotearg: port test to systems with C.UTF-8 locale
17547         * tests/test-quotearg.c (struct result_strings): Add another
17548         member, differentiating between C.ASCII and C.UTF-8 handling.
17549         (compare_strings): Add parameter.
17550         (main): Adjust all callers.
17551
17552         getopt: avoid clash with FreeBSD _getopt_internal
17553         * lib/getopt.in.h (_getopt_internal): Override the name.
17554         * lib/getopt_int.h (includes): Pick up any overrides.
17555         Reported by Reuben Thomas.
17556
17557         hash: allow C89 compilation
17558         * lib/hash.c (check_tuning): Move declaration before statement.
17559         Reported by Reuben Thomas.
17560
17561 2009-10-05  Karl Berry  <karl@gnu.org>
17562
17563         * doc/gnulib.texi: @include execvpe.texi, missing for several days.
17564
17565 2009-10-04  Paolo Bonzini  <bonzini@gnu.org>
17566             Bruno Haible  <bruno@clisp.org>
17567
17568         * lib/uname.c (uname): Use a table-driven algorithm to compute
17569         Windows NT versions.
17570
17571 2009-10-04  Bruno Haible  <bruno@clisp.org>
17572
17573         * lib/progname.c (set_program_name): Also remove the "lt-" prefix from
17574         program_invocation_short_name.
17575         * modules/progname (configure.ac): Test for presence of
17576         program_invocation_short_name.
17577         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
17578
17579 2009-10-04  Bruno Haible  <bruno@clisp.org>
17580
17581         * lib/progname.c (set_program_name): Fix comment.
17582         Reported by Jim Meyering.
17583
17584 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
17585             Bruno Haible  <bruno@clisp.org>
17586
17587         * lib/uname.c: Include <string.h>.
17588         (uname): Do only one call to GetVersionEx in the common case.
17589
17590 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
17591             Bruno Haible  <bruno@clisp.org>
17592
17593         * lib/uname.c (VER_PLATFORM_WIN32_CE, PROCESSOR_ARCHITECTURE_AMD64,
17594         PROCESSOR_ARCHITECTURE_IA32_ON_WIN64): Define fallbacks.
17595         (uname): Add support for Windows CE and various non-x86 CPU types.
17596
17597 2009-10-03  Bruno Haible  <bruno@clisp.org>
17598
17599         * gnulib-tool (func_create_testdir): Conditionally emit AM_PROG_CC_C_O
17600         invocation to tests/configure.ac.
17601         Reported by Ian Beckwith <ianb@erislabs.net>.
17602
17603 2009-10-02  Eric Blake  <ebb9@byu.net>
17604
17605         fchdir: avoid compiler warning
17606         * lib/fchdir.c (canonicalize_file_name)
17607         [!HAVE_CANONICALIZE_FILE_NAME]: Avoid compiler warning on mingw.
17608
17609         test-open: support mingw errno values
17610         * tests/test-open.h (test_open): Relax test.
17611         * tests/test-fopen.h (test_fopen): Likewise.
17612         * tests/test-openat-safer.c (main): Likewise.
17613
17614         open: fix opening directory on mingw
17615         * lib/open.c (open) [REPLACE_OPEN_DIRECTORY]: Correct typo.
17616
17617         test-open: on GNU/Hurd, /dev/null is a directory
17618         * tests/test-fopen.h (main): Rename...
17619         (test_fopen): ...to this.  Use a guaranteed non-directory when
17620         confirming open behavior on trailing slash.
17621         * tests/test-openat-safer.c (main): Likewise.
17622         * tests/test-open.h (main): Likewise....
17623         (test_open): ...to this.
17624         * tests/test-fopen.c (main): Adjust caller.
17625         * tests/test-fopen-safer.c (main): Likewise.
17626         * tests/test-open.c (main): Likewise.
17627         * tests/test-fcntl-safer.c (main): Likewise.
17628         Reported by Samuel Thibault.
17629
17630         rename, fchdir: don't ignore chdir failure
17631         * lib/fchdir.c (get_name): Abort on unexpected chdir failure.
17632         * lib/rename.c (rpl_rename) [W32]: Likewise.
17633         (rpl_rename) [RENAME_DEST_EXISTS_BUG]: Avoid one case of losing
17634         an empty destination directory if source cannot be renamed,
17635         although there is still possibility for failure.
17636         * doc/posix-functions/rename.texi (rename): Document the race.
17637         Reported by Jim Meyering.
17638
17639         maint: cleanup whitespace in recent commits
17640         * lib/rename.c (rpl_rename): Remove tabs.
17641         * tests/test-link.h (test_link): Likewise.
17642         * lib/fchdir.c (get_name): Likewise.
17643         Reported by Jim Meyering.
17644
17645 2009-10-02  Ben Pfaff  <blp@gnu.org>
17646
17647         relocatable-prog-wrapper: Add missing dependency on
17648         double-slash-root.
17649         * modules/relocatable-prog-wrapper: Add dependency.
17650         Reported by Ian Beckwith <ianb@erislabs.net>.
17651
17652 2009-10-02  Eric Blake  <ebb9@byu.net>
17653
17654         renameat: fix Solaris bugs
17655         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Replace renameat if rename
17656         needed fixing.
17657         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): New witness.
17658         * modules/stdio (Makefile.am): Substitute it.
17659         * lib/stdio.in.h (renameat): Declare replacement.
17660         * lib/renameat.c (rpl_renameat): Implement fix.
17661
17662         renameat: new module
17663         * modules/renameat: New file.
17664         * lib/renameat.c (renameat): Likewise.
17665         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Likewise.
17666         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
17667         * modules/stdio (Makefile.am): Substitute them.
17668         * lib/stdio.in.h (renameat): Declare it.
17669         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
17670         * doc/posix-functions/renameat.texi (renameat): Likewise.
17671         * modules/renameat-tests: New test.
17672         * tests/test-renameat.c: Likewise.
17673
17674         rename: fix mingw bugs
17675         * lib/rename.c (rpl_rename) [W32]: Fix trailing slash and
17676         directory overwrite bugs.
17677
17678         rename: fix another cygwin 1.5 bug
17679         * m4/rename.m4 (gl_FUNC_RENAME): Split cygwin bugs into two
17680         checks.
17681         * lib/rename.c (rpl_rename): Don't penalize NetBSD with
17682         unnecessary cygwin workarounds.  Also work around bug with moving
17683         full directory onto an empty one.
17684         * modules/rename (Depends-on): Add canonicalize-lgpl, rmdir.
17685
17686         rename-dest-slash: merge into rename module
17687         * modules/rename-dest-slash (Status): Mark obsolete.
17688         (Depends-on): Add rename.
17689         (Files): Let rename do it all.
17690         * m4/rename.m4 (gl_FUNC_RENAME): Also test for NetBSD bugs,
17691         subsuming the test from gl_FUNC_RENAME_TRAILING_DEST_SLASH...
17692         * m4/rename-dest-slash.m4: ...so this file can be deleted.
17693         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Delete.
17694         * lib/rename.c (rpl_rename): Update comments.
17695
17696         rename: fix cygwin 1.5.x bugs
17697         * m4/rename.m4 (gl_FUNC_RENAME): Detect cygwin bugs.
17698         * lib/rename.c (rpl_rename): Work around them.
17699         * modules/rename (Depends-on): Add same-inode.
17700
17701         rename: fix Solaris 10 bug
17702         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
17703         * lib/rename.c (rpl_rename): Don't cripple POSIX behavior if this
17704         was the only bug.
17705
17706         rename: fix Solaris 9 bug
17707         * lib/rename.c (rpl_rename): Rewrite to recognize trailing slash
17708         on non-directory.  Avoid calling exit.
17709         * modules/rename (Depends-on): Drop xalloc; add lstat, stdbool,
17710         strdup.
17711         * modules/rename-tests (Depends-on): Drop lstat.
17712         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
17713         (gl_PREREQ_RENAME): Delete unused macro.
17714
17715         rename-dest-slash: fix NetBSD bug
17716         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Detect hard
17717         links.
17718         * modules/rename-dest-slash (Depends-on): Add same-inode.
17719
17720         rename-tests: new test, exposes several platform bugs
17721         * modules/rename-tests: New file.
17722         * tests/test-rename.h: Likewise.
17723         * tests/test-rename.c: Likewise.
17724         * doc/posix-functions/rename.texi (rename): Improve documentation,
17725         including bugs that will eventually be fixed in gnulib.
17726
17727 2009-10-02  Paolo Bonzini  <bonzini@gnu.org>
17728
17729         * lib/uname.c: Include <stdlib.h>
17730         (uname): Assume version info is available.
17731
17732 2009-10-02  Jim Meyering  <meyering@redhat.com>
17733
17734         gnu-web-doc-update: correct --help output
17735         * build-aux/gnu-web-doc-update: Make --help output relevant.
17736
17737         gnu-web-doc-update: add standard options
17738         * build-aux/gnu-web-doc-update: Add --help, --version, etc.
17739
17740         gnu-web-doc-update: New module.
17741         Use this script to automatically update the on-line web documentation
17742         for your GNU project at http://www.gnu.org/software/$pkg/manual/
17743         * modules/gnu-web-doc-update: New file, from coreutils.
17744         * build-aux/gnu-web-doc-update: New script.
17745
17746 2009-10-01  Paolo Bonzini  <bonzini@gnu.org>
17747
17748         link: LoadLibrary is not needed.
17749         * lib/link.c: Use GetModuleHandle.
17750
17751 2009-10-01  Eric Blake  <ebb9@byu.net>
17752
17753         getopt: bump serial number
17754         * m4/getopt.m4: Increment serial number, to account for 2009-09-24
17755         change.
17756
17757         tests: tighten link, rmdir, and remove tests
17758         * tests/test-link.h (includes): No need to use <config.h> here.
17759         Clean up if directory hard link was created, otherwise test for
17760         trailing '.'.
17761         * tests/test-linkat.c (main): Simplify.
17762         * tests/test-remove.c (main): Enhance test for trailing '.'.
17763         * tests/test-rmdir.h (test_rmdir_func): Likewise.
17764
17765 2009-10-01  Jim Meyering  <meyering@redhat.com>
17766
17767         maint.mk: requiring "make major" was annoying, for a "minor" release.
17768         What is intended is "stable", to contrast with alpha and beta,
17769         so require "make stable", not "make major".
17770         * build-aux/announce-gen (%valid_release_types): s/major/stable/.
17771         (get_tool_versions): Likewise.
17772         * top/maint.mk (ALL_RECURSIVE_TARGETS): s/major/stable/
17773
17774 2009-09-30  Ben Pfaff  <blp@gnu.org>
17775
17776         Fix broken build of replacement for Windows tmpfile().
17777         * lib/tmpfile.c (tmpfile): Fix call to gen_tempname() to provide
17778         flags argument added along with the 'mkostemp' module.
17779
17780 2009-09-28  Bruno Haible  <bruno@clisp.org>
17781
17782         Avoid identifier clash with POSIX function 'remove' defined as a macro.
17783         * lib/gl_list.h (struct gl_list_implementation): Rename field 'remove'
17784         to 'remove_elt'.
17785         (gl_list_remove): Update.
17786         * lib/gl_list.c (gl_list_remove): Update.
17787         * lib/gl_oset.h (struct gl_oset_implementation): Rename field 'remove'
17788         to 'remove_elt'.
17789         (gl_oset_remove): Update.
17790         * lib/gl_list.c (gl_oset_remove): Update.
17791         Reported by Eric Blake.
17792
17793 2009-09-28  Eric Blake  <ebb9@byu.net>
17794
17795         doc: mention yet more cygwin 1.7 status
17796         * doc/posix-functions/fexecve.texi (fexecve): Now implemented in
17797         cygwin.
17798         * doc/glibc-functions/execvpe.texi (execvpe): New file.
17799         * doc/gnulib.texi (Glibc unistd.h): Mention it.
17800
17801         argp: fix test failure
17802         * lib/argp-help.c (hol_entry_cmp): Don't use _tolower on values
17803         that are not upper-case.  Pass correct range to tolower.
17804
17805 2009-09-27  Jim Meyering  <meyering@redhat.com>
17806
17807         test-yesno: work around sparc-dash here-document infelicity
17808         Without this change, the literal \177 byte in a here document
17809         would make dash 0.5.5.1-3 access uninitialized memory.
17810         * tests/test-yesno.sh: Don't put the \177 byte in the here document.
17811         Instead, use a marker, "@", and filter through tr to create the desired
17812         contents.  Reported as <http://bugs.debian.org/548493> by Kurt Roeckx.
17813
17814 2009-09-27  Bruno Haible  <bruno@clisp.org>
17815
17816         Disable untested support for new flavours of ACLs on AIX.
17817         * lib/file-has-acl.c (file_has_acl): Mark newer AIX code as work in
17818         progress.
17819         * lib/set-mode-acl.c (qset_acl): Likewise.
17820
17821 2008-12-07  Bruno Haible  <bruno@clisp.org>
17822
17823         Add support for new flavours of ACLs on AIX. (Untested.)
17824         * lib/file-has-acl.c [AIX] (acl_nfs4_nontrivial): New function.
17825         (file_has_acl): Add support for newer AIX.
17826         * lib/set-mode-acl.c (qset_acl): Likewise.
17827         * tests/test-sameacls.c (main): Fix use of aclx_get function. Hint by
17828         Rainer Tammer <tammer@tammer.net>.
17829
17830 2009-09-26  Eric Blake  <ebb9@byu.net>
17831
17832         argp: fix compilation of getopt
17833         * lib/getopt.in.h (includes): Use different guard than glibc.
17834         Reported by Sergey Poznyakoff.
17835
17836         doc: mention more cygwin 1.7 status
17837         * doc/posix-functions/access.texi (access): Mention cygwin 1.5
17838         bug.
17839         * doc/posix-functions/execl.texi (execl): Likewise.
17840         * doc/posix-functions/execle.texi (execle): Likewise.
17841         * doc/posix-functions/execlp.texi (execlp): Likewise.
17842         * doc/posix-functions/execv.texi (execv): Likewise.
17843         * doc/posix-functions/execve.texi (execve): Likewise.
17844         * doc/posix-functions/execvp.texi (execvp): Likewise.
17845         * doc/glibc-functions/canonicalize_file_name.texi
17846         (canonicalize_file_name): Cygwin 1.7 now provides this.
17847         * doc/glibc-functions/euidaccess.texi (euidaccess): Likewise.
17848         * doc/posix-functions/fchmodat.texi (fchmodat): Mention limitation
17849         on AT_SYMLINK_NOFOLLOW.
17850
17851 2009-09-24  Eric Blake  <ebb9@byu.net>
17852
17853         test-linkat: make test more robust
17854         * tests/test-linkat.c (main): Avoid collision with EEXIST.
17855
17856         getopt: fix inclusion guards for cygwin
17857         * modules/getopt-posix (Depends-on): Add include-next.
17858         (Makefile.am): Substitute more items in replacement header.
17859         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Also check for native
17860         <getopt.h>.
17861         * lib/getopt.in.h (includes): Use split inclusion guard, and
17862         prefer <getopt.h> over include <unistd.h> when one is present.
17863         (option): Also override name of 'struct option'.
17864
17865         same-inode: revert prior change; it is not yet ready
17866         * NEWS: Undo mention of this change.
17867         * lib/same-inode.h (same-inode.h): Undo tri-state change.
17868         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
17869         * lib/cycle-check.c (cycle_check): Likewise.
17870         * lib/same.c (same_name): Likewise.
17871         * lib/at-func2.c (at_func2): Likewise.
17872
17873 2009-09-23  Eric Blake  <ebb9@byu.net>
17874
17875         linkat: new module
17876         * modules/linkat: New file.
17877         * lib/at-func2.c (at_func2): Likewise.
17878         * lib/linkat.c (linkat): Likewise.
17879         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
17880         * lib/openat-priv.h (at_func2): Add declaration.
17881         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
17882         * modules/unistd (Makefile.am): Substitute them.
17883         * lib/unistd.in.h (linkat): Declare it.
17884         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
17885         * doc/posix-functions/linkat.texi (linkat): Likewise.
17886         * doc/posix-functions/link.texi (link): Tweak wording.
17887         * tests/test-link.c (main): Move guts...
17888         * tests/test-link.h (test_link): ...into new file.
17889         * modules/linkat-tests: New test.
17890         * tests/test-linkat.c: Likewise.
17891         * modules/link-tests (Files): Ship new file.
17892         (Depends-on): Add stdbool.
17893
17894         dirname: add library-safe mdir_name
17895         * lib/dirname.h (mdir_name): New prototype.
17896         * lib/dirname.c (dir_name): Move guts...
17897         (mdir_name): ...to new function that avoids xalloc_die.
17898
17899         fchdir: another mingw fix
17900         * modules/fchdir (Depends-on): Drop canonicalize-lgpl.
17901         * lib/fchdir.c (get_name): New helper method; skips canonicalize
17902         on mingw (where it has not yet been ported), and make it optional
17903         elsewhere.
17904         (_gl_register_fd): Use it.
17905
17906         same-inode: make SAME_INODE tri-state, to port to mingw
17907         * NEWS: Mention this change.
17908         * lib/same-inode.h (same-inode.h): Recognize mingw limitation of
17909         st_ino always being 0.
17910         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
17911         * lib/cycle-check.c (cycle_check): Likewise.
17912         * lib/same.c (same_name): Likewise.
17913
17914         lstat: avoid mingw compilation error
17915         * m4/lstat.m4 (gl_FUNC_LSTAT): Avoid duplicate calls to
17916         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, and deal with missing
17917         lstat ourselves.
17918         * lib/lstat.c [!HAVE_LSTAT]: Do nothing if <sys/stat.h> override
17919         was adequate.
17920         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Let lstat module handle
17921         the checks for lstat.
17922         (gl_SYS_STAT_H_DEFAULTS): Set default for HAVE_LSTAT.
17923
17924         link: fix test failure on Solaris 9
17925         * lib/link.c (rpl_link): Don't assume link will catch bogus
17926         trailing slash on source.
17927
17928         test-symlinkat: enhance test
17929         * tests/test-readlink.c (main): Move guts...
17930         * tests/test-readlink.h (test_readlink): ...into new file.
17931         * tests/test-symlink.c (main): Move guts...
17932         * tests/test-symlink.h (test_symlink): ...into new file.
17933         * tests/test-symlinkat.c (main): Use new files for further
17934         coverage.
17935         (do_symlink, do_readlink): New helper functions.
17936         * modules/symlink-tests (Files): Ship new file.
17937         (Depends-on): Add stdbool.
17938         * modules/readlink-tests (Files): Ship new file.
17939         (Depends-on): Add stdbool.
17940         * modules/symlinkat-tests (Files): Use new files.
17941
17942 2009-09-23  Eric Blake  <ebb9@byu.net>
17943
17944         readlink: document portability issue with symlink length
17945         * doc/posix-functions/lstat.texi (lstat): Mention that some file
17946         systems have bogus st_size on symlinks, and mention the
17947         areadlink-with-size module.
17948         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
17949         * doc/posix-functions/readlink.texi (readlink): Mention the
17950         areadlink module, and ERANGE failure.
17951         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
17952         * tests/test-readlink.c (main): Relax test for AIX, HP-UX.
17953
17954         readlink: fix Solaris 9 bug with trailing slash
17955         * lib/readlink.c (rpl_readlink): Work around trailing slash bug.
17956         * m4/readlink.m4 (gl_FUNC_READLINK): Detect the bug.
17957         * doc/posix-functions/readlink.texi (readlink): Document this.
17958         * modules/readlink-tests: New test.
17959         * tests/test-readlink.c: Likewise.
17960
17961         readlink: fix cygwin 1.5.x bug with return type
17962         * m4/readlink.m4 (gl_FUNC_READLINK): Require correct signature.
17963         * lib/unistd.in.h (readlink): Use ssize_t.
17964         * lib/readlink.c (readlink): Likewise.
17965         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
17966         * modules/unistd (Makefile.am): Substitute it.
17967         * lib/unistd.in.h (readlink): Declare replacement.
17968         * doc/posix-functions/readlink.texi (readlink): Document this.
17969
17970         symlink: use throughout gnulib
17971         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Omit symlink check.
17972         * lib/symlinkat.c (symlinkat) [!HAVE_SYMLINK]: Document why
17973         symlink is not used.
17974         * modules/symlinkat (Depends-on): Add symlink.
17975         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
17976         * modules/canonicalize-tests (Depends-on): Likewise.
17977         * modules/lstat-tests (Depends-on): Likewise.
17978         * modules/openat-tests (Depends-on): Likewise.
17979         * modules/remove-tests (Depends-on): Likewise.
17980         * modules/rmdir-tests (Depends-on): Likewise.
17981         * modules/unlink-tests (Depends-on): Likewise.
17982         * tests/test-canonicalize-lgpl.c (symlink): Delete stub.
17983         * tests/test-canonicalize.c (symlink): Likewise.
17984         * tests/test-fstatat.c (symlink): Likewise.
17985         * tests/test-lstat.c (symlink): Likewise.
17986         * tests/test-remove.c (symlink): Likewise.
17987         * tests/test-rmdir.c (symlink): Likewise.
17988         * tests/test-unlink.c (symlink): Likewise.
17989         * tests/test-unlinkat.c (symlink): Likewise.
17990
17991         symlink: new module, for Solaris 9 bug
17992         * modules/symlink: New file.
17993         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
17994         * lib/symlink.c: Likewise.
17995         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
17996         * modules/unistd (Makefile.am): Substitute them.
17997         * lib/unistd.in.h (symlink): Declare replacement.
17998         * MODULES.html.sh (File system functions): Mention it.
17999         * doc/posix-functions/symlink.texi (symlink): Likewise.
18000         * modules/symlink-tests: New test.
18001         * tests/test-symlink.c: Likewise.
18002
18003 2009-09-23  Bruno Haible  <bruno@clisp.org>
18004
18005         * gnulib-tool (func_import): Add 'link-warning' to testsrelated_modules
18006         when needed.
18007         Test case: gnulib-tool --import --with-tests atexit inttypes.
18008         Reported by Pauli Miettinen <pauli.miettinen@cs.helsinki.fi>.
18009
18010 2009-09-23  Bruno Haible  <bruno@clisp.org>
18011
18012         * gnulib-tool (func_emit_tests_Makefile_am): Set uses_subdirs in a
18013         subcommand, not in a subshell.
18014
18015 2009-09-22  Eric Blake  <ebb9@byu.net>
18016
18017         unistd: sort replacement declarations
18018         * lib/unistd.in.h: Sort declarations.
18019
18020         open, openat: minor optimization
18021         * lib/open.c (open): If open succeeded, len is non-zero.
18022         * lib/openat.c (rpl_openat): Likewise.
18023
18024         link-follow: ensure correct result
18025         * m4/fcntl_h.m4 (gl_FCNTL_H): Clean up temporary file.
18026         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Likewise, and
18027         distinguish between possible failures.
18028
18029 2009-09-21  Eric Blake  <ebb9@byu.net>
18030
18031         fts: avoid compiler warning
18032         * lib/fts.c (dirent_inode_sort_may_be_useful)
18033         (leaf_optimization_applies) [!__linux__]: Mark unused parameters.
18034
18035 2009-09-19  Bruno Haible  <bruno@clisp.org>
18036
18037         * lib/progreloc.c (canonicalize_file_name): New declaration.
18038
18039 2009-09-19  Eric Blake  <ebb9@byu.net>
18040
18041         link: fix quoting
18042         * m4/link.m4 (gl_FUNC_LINK): Fix shell quoting.
18043
18044         openat: fix openat bugs on Solaris 9
18045         * lib/openat.c (rpl_openat): Work around Solaris 9 bug.
18046         * m4/openat.m4 (gl_FUNC_OPENAT): Also replace openat on Solaris.
18047         * modules/openat (Depends-on): Add open.
18048         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide new default.
18049         * modules/fcntl-h (Makefile.am): Substitute it.
18050         * lib/fcntl.in.h (openat): Declare replacement.
18051         * doc/posix-functions/openat.texi (openat): Document this.
18052
18053         openat: move fstatat and unlinkat into correct files
18054         * m4/openat.m4 (gl_FUNC_OPENAT): Adjust which files will be
18055         compiled.
18056         * lib/openat.c (fstatat, unlinkat): Move...
18057         * lib/fstatat.c (fstatat): ...into correct files.
18058         * lib/unlinkat.c (unlinkat): Likewise.
18059
18060         openat: fix unlinkat bugs on Solaris 9
18061         * lib/unlinkat.c (unlinkat): New file.
18062         * modules/openat (Depends-on): Add unlink.
18063         (Files): Distribute it.
18064         * m4/openat.m4 (gl_FUNC_OPENAT): Mark unlinkat for replacement if
18065         trailing slash behavior is broken.
18066         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
18067         * modules/unistd (Makefile.am): Substitute it.
18068         * lib/unistd.in.h (unlinkat): Declare replacement.
18069         * doc/posix-functions/unlinkat.texi (unlinkat): Document this.
18070
18071         openat: fix fstatat bugs on Solaris 9
18072         * lib/fstatat.c (rpl_fstatat): Copy recent fixes from lstat and
18073         stat.
18074         * doc/posix-functions/fstatat.texi (fstatat): Document this.
18075
18076         test-unlinkat: enhance test, to expose Solaris 9 bug
18077         * tests/test-unlink.c (main): Factor guts...
18078         * tests/test-unlink.h (test_rmdir_func): ...into new file.
18079         * tests/test-rmdir.h (test_rmdir_func): Add parameter.
18080         * tests/test-rmdir.c (main): Adjust caller.
18081         * tests/test-unlinkat.c (main): Likewise.  Add unlink tests.
18082         (unlinker): New helper function.
18083         (rmdirat): Enhance check.
18084         * modules/rmdir-tests (Depends-on): Add stdbool.
18085         * modules/unlink-tests (Depends-on): Likewise.
18086         (Files): Add test-unlink.h.
18087         * modules/openat-tests (Files): Likewise.
18088         (Depends-on): Add unlinkdir.
18089
18090         test-fstatat: new test, to expose Solaris 9 bugs
18091         * tests/test-stat.c (main): Factor guts...
18092         * tests/test-stat.h (test_stat_func): ...into new file.
18093         * tests/test-lstat.c (main): Factor guts...
18094         * tests/test-lstat.h (test_lstat_func): ...into new file.
18095         * tests/test-fstatat.c: New file.
18096         * modules/stat-tests (Files): Add test-stat.h.
18097         * modules/lstat-tests (Files): Add test-lstat.h.
18098         (Depends-on): Add stdbool.
18099         * modules/openat-tests (Depends-on): Add pathmax.
18100         (Files): Add test-lstat.h, test-stat.h, test-fstatat.c.
18101         (Makefile.am): Run new test.
18102
18103         remove: new module, for mingw and Solaris 9 bugs
18104         * modules/remove: New file.
18105         * lib/remove.c: Likewise.
18106         * m4/remove.m4 (gl_FUNC_REMOVE): Likewise.
18107         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
18108         * modules/stdio (Makefile.am): Use them.
18109         * lib/stdio.in.h (remove): Declare replacement.
18110         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
18111         * doc/posix-functions/remove.texi (remove): Likewise.
18112         * modules/remove-tests: New test.
18113         * tests/test-remove.c: Likewise.
18114
18115         unlink: new module, for Solaris 9 bug
18116         * modules/unlink: New file.
18117         * lib/unlink.c: Likewise.
18118         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
18119         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
18120         * modules/unistd (Makefile.am): Use them.
18121         * lib/unistd.in.h (stat): Declare replacement.
18122         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
18123         * doc/posix-functions/unlink.texi (unlink): Likewise.
18124         * modules/unlink-tests: New test.
18125         * tests/test-unlink.c: Likewise.
18126
18127         lstat: fix Solaris 9 bug
18128         * lib/lstat.c (lstat): Also check for trailing slash on
18129         non-symlink, non-directories.  Use stat module to simplify logic.
18130         * doc/posix-functions/lstat.texi (lstat): Document it.
18131         * modules/lstat-tests (Depends-on): Add errno, same-inode.
18132         (configure.ac): Check for symlink.
18133         * tests/test-lstat.c (main): Add more tests.
18134
18135         stat: add as dependency to other modules
18136         * modules/chown (Depends-on): Add stat.
18137         * modules/euidaccess (Depends-on): Likewise.
18138         * modules/fchdir (Depends-on): Likewise.
18139         * modules/isdir (Depends-on): Likewise.
18140         * modules/link (Depends-on): Likewise.
18141         * modules/lstat (Depends-on): Likewise.
18142         * modules/mkdir-p (Depends-on): Likewise.
18143         * modules/modechange (Depends-on): Likewise.
18144         * modules/open (Depends-on): Likewise.
18145         * modules/readlink (Depends-on): Likewise.
18146         * modules/same (Depends-on): Likewise.
18147
18148         stat: fix Solaris 9 bug
18149         * m4/stat.m4 (gl_FUNC_STAT): Detect Solaris 9 bug with trailing
18150         slash.
18151         * lib/stat.c (rpl_stat): Work around it.
18152         * doc/posix-functions/stat.texi (stat): Update documentation.
18153
18154         stat: new module, for mingw bug
18155         * modules/stat: New file.
18156         * lib/stat.c: Likewise.
18157         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
18158         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
18159         * modules/sys_stat (Makefile.am): Use them.
18160         * lib/sys_stat.in.h (stat): Declare replacement.
18161         * lib/openat.c (fstatat): Deal with lstat and stat being function
18162         macros.
18163         * modules/openat (Depends-on): Add inline.
18164         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
18165         * doc/posix-functions/stat.texi (stat): Likewise.
18166         * modules/stat-tests: New test.
18167         * tests/test-stat.c: Likewise.
18168
18169 2009-09-19  Jim Meyering  <meyering@redhat.com>
18170
18171         syntax-check: detect unnecessary inclusion of canonicalize.h
18172         * top/maint.mk (sc_prohibit_canonicalize_without_use): New rule.
18173
18174 2009-09-19  Eric Blake  <ebb9@byu.net>
18175
18176         canonicalize-lgpl: adjust clients to use correct header
18177         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
18178         (gl_CANONICALIZE_LGPL): Use correct shell quoting.
18179         * modules/relocatable-prog-wrapper (Files): Drop canonicalize.h.
18180         * lib/fchdir.c (includes): Use <stdlib.h>, not "canonicalize.h".
18181         * lib/progreloc.c (includes): Likewise.
18182
18183 2009-09-19  Jim Meyering  <meyering@redhat.com>
18184
18185         test-posixtm.c: correct a comment
18186         * tests/test-posixtm.c: Correct first-line comment.
18187         Spotted by Eric Blake.
18188
18189 2009-09-16  Jim Meyering  <meyering@redhat.com>
18190
18191         posixtm-tests: make T const-correct; add a test case
18192         * tests/test-posixtm.c (T): Declare const.
18193         Add a test for -(2^31+1).
18194         Remove useless can-succeed-only-in-2002 test.
18195
18196         posixtm-tests: adjust the sole failing test
18197         * tests/test-posixtm.c: Correct 0000-01-01 00:00:00 test so that
18198         expected output matches what mktime now produces.  Cross-checked via
18199         erlang's calendar:datetime_to_gregorian_seconds({{1970,1,1},{0,0,0}})
18200
18201         posixtm: move #ifdef'd tests into a new module
18202         * lib/posixtm.c (posixtime): Remove #ifdef'd tests.  Move to...
18203         * tests/test-posixtm.c: ... this new file.
18204         * modules/posixtm-tests: New module.
18205
18206 2009-09-19  Eric Blake  <ebb9@byu.net>
18207
18208         openat: simplify use of at-func.c
18209         * lib/at-func.c (includes): Include prerequisites here, to
18210         simplify requirements on client files.
18211         * lib/openat-priv.h: Add double-inclusion guard.
18212         * lib/faccessat.c (includes): Simplify.
18213         * lib/fchmodat.c (includes): Likewise.
18214         * lib/fchownat.c (includes): Likewise.
18215         * lib/mkdirat.c (includes): Likewise.
18216         * lib/mkfifoat.c (includes): Likewise.
18217         * lib/symlinkat.c (includes): Likewise.
18218
18219         openat: allow return of fd 0
18220         * modules/chdir-long (Depends-on): Relax openat-safer to openat.
18221         * modules/save-cwd (Depends-on): Replace fcntl-safer with
18222         unistd-safer.
18223         * lib/chdir-long.c (includes): Replace "fcntl--.h" with
18224         <fcntl.h>; this module does not leak fds.
18225         * lib/openat.c (includes): Do not use "fcntl_safer"; plain openat
18226         must be allowed to return 0, leaving openat_safer to add the
18227         safety.
18228         (openat_permissive): Avoid writing to just-opened fd 2 if
18229         restoring the current directory fails.
18230         * lib/openat-die.c (openat_restore_fail): Add comment.
18231         * lib/save-cwd.c (includes): Make "fcntl--.h" conditional.
18232         (save_cwd): Guarantee safe fd, but without use of open_safer.
18233         * tests/test-openat.c: New test.
18234         * modules/openat-tests (Files, Makefile.am): Distribute and build
18235         new file.
18236
18237         relocatable-prog-wrapper: fix build
18238         * modules/relocatable-prog-wrapper (Files): Update name of
18239         canonicalize m4 file, broken on 2009-09-17.
18240         Reported by emad hajjar <aleppos@hotmail.com>.
18241
18242 2009-09-19  Bruno Haible  <bruno@clisp.org>
18243
18244         * lib/safe-alloc.h: Use the standard header with GPL copyright.
18245         * lib/safe-alloc.c: Likewise.
18246         Reported by Ian Beckwith <ianb@erislabs.net>.
18247
18248 2009-09-18  Bruno Haible  <bruno@clisp.org>
18249
18250         * gnulib-tool: Add advice to "cannot find configure.ac" error message.
18251         Reported by <erobles@sensacd.com.mx>.
18252
18253 2009-09-17  Eric Blake  <ebb9@byu.net>
18254
18255         canonicalize: in CAN_ALL_BUT_LAST, allow trailing slash
18256         * lib/canonicalize.c (canonicalize_filename_mode): Skip trailing
18257         slashes when checking if last component is missing.
18258         * tests/test-canonicalize.c (main): Test this.
18259
18260         canonicalize, canonicalize-lgpl: honor // if distinct from /
18261         * modules/canonicalize (Files): Add double-slash-root.m4.
18262         * modules/canonicalize-lgpl (Files): Likewise.
18263         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
18264         (gl_CANONICALIZE_LGPL_SEPARATE): Add dependency.
18265         * lib/canonicalize.c (DOUBLE_SLASH_IS_DISTINCT_ROOT): Provide
18266         fallback definition.
18267         (canonicalize_filename_mode): Use it to protect //.
18268         * lib/canonicalize-lgpl.c (DOUBLE_SLASH_IS_DISTINCT_ROOT)
18269         (__realpath): Likewise.
18270         * tests/test-canonicalize.c (main): Test this.
18271         * tests/test-canonicalize-lgpl.c (main): Likewise.
18272         * modules/canonicalize-tests (Depends-on): Add same-inode.
18273         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
18274
18275         canonicalize-lgpl: fix glibc bug with trailing slash
18276         * m4/canonicalize-lgpl.m4: Move contents...
18277         * m4/canonicalize.m4: ...here.
18278         (gl_CANONICALIZE_LGPL): Factor realpath check...
18279         (gl_FUNC_REALPATH_WORKS): ...into new macro.  Enhance to catch
18280         glibc 2.3.5 bug, fixed 2005-04-27.
18281         (gl_FUNC_CANONICALIZE_FILENAME_MODE): Use it.
18282         (gl_PREREQ_CANONICALIZE_LGPL): Inline...
18283         (gl_CANONICALIZE_LGPL_SEPARATE): ...into this macro.
18284         * modules/canonicalize-lgpl (Files): Manage file rename.
18285         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
18286         * modules/stdlib (Makefile.am): Substitute witness.
18287         * lib/stdlib.in.h (canonicalize_file_name): Declare if replacement
18288         is needed.
18289         * lib/canonicalize-lgpl.c: Also compile if canonicalize_file_name
18290         replacement is required.
18291         * lib/canonicalize.c (canonicalize_file_name): Likewise.
18292         * doc/glibc-functions/canonicalize_file_name.texi
18293         (canonicalize_file_name): Document this.
18294         * doc/posix-functions/realpath.texi (realpath): Likewise.
18295
18296         canonicalize-lgpl: reject non-directory with trailing slash
18297         * lib/canonicalize-lgpl.c (__realpath): Synchronize with glibc.
18298         * tests/test-canonicalize-lgpl.c (main): Enhance test.  This
18299         catches failures in glibc 2.3.5.
18300         * tests/test-canonicalize.c (main): Likewise.
18301
18302         canonicalize-lgpl: use native realpath if it works
18303         * lib/canonicalize-lgpl.c (realpath): Guard with
18304         FUNC_REALPATH_WORKS.
18305         * lib/stdlib.in.h (realpath): Make declaration optional based on
18306         HAVE_REALPATH.
18307         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Check whether
18308         native realpath works.
18309         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
18310         * modules/stdlib (Makefile.am): Substitute witness.
18311
18312         canonicalize, canonicalize-lgpl: use <stdlib.h>
18313         * modules/canonicalize-lgpl (Files): Drop canonicalize.h.
18314         (Include): Mention <stdlib.h>.
18315         (configure.ac): Mention functions we provide.
18316         * modules/canonicalize (configure.ac): Likewise.
18317         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Always replace
18318         realpath if canonicalize_file_name is missing.
18319         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide defaults.
18320         * modules/stdlib (Makefile.am): Substitute witnesses.
18321         * lib/stdlib.in.h (canonicalize_file_name, realpath): Declare.
18322         * lib/canonicalize-lgpl.c (includes): Adjust accordingly.
18323         * lib/canonicalize.h (canonicalize_file_name): Drop declaration.
18324         * NEWS: Document this.
18325         * doc/glibc-functions/canonicalize_file_name.texi
18326         (canonicalize_file_name): Likewise.
18327         * doc/posix-functions/realpath.texi (realpath): Likewise.
18328         * tests/test-canonicalize-lgpl.c (includes): Use <stdlib.h>.
18329
18330         test-canonicalize: consolidate into single C program
18331         * tests/test-canonicalize.sh: Delete; move setup into...
18332         * tests/test-canonicalize.c (main): ...the program, making it
18333         easier to run in debugger.  Add some tests.
18334         * modules/canonicalize-tests (Files): Remove unused file.
18335         (Depends-on): Add progname.
18336         (configure.ac, Makefile.am): Simplify.
18337
18338         test-canonicalize-lgpl: consolidate into single C program
18339         * tests/test-canonicalize-lgpl.sh: Delete; move setup into...
18340         * tests/test-canonicalize-lgpl.c (main): ...the program, making it
18341         easier to run in debugger.  Add some tests.
18342         * modules/canonicalize-lgpl-tests (Files): Remove unused file.
18343         (configure.ac, Makefile.am): Simplify.
18344
18345         canonicalize: avoid resolvepath
18346         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Delete
18347         unnecessary checks.
18348         * lib/canonicalize.c (includes): Simplify.
18349         (canonicalize_file_name): Drop resolvepath implementation.
18350         * modules/canonicalize (Depends-on): Drop filenamecat.
18351
18352         canonicalize: don't lose errno
18353         * lib/canonicalize.c (canonicalize_filename_mode): Protect errno
18354         over calls to free.
18355
18356         canonicalize: simplify errno handling
18357         * lib/canonicalize.c (__set_errno): Delete macro, and use direct
18358         assignment.
18359
18360         canonicalize, canonicalize-lgpl: update module dependencies
18361         * modules/canonicalize (Depends-on): Add extensions, lstat,
18362         pathmax, stdlib.
18363         (Files): Drop pathmax.h.
18364         (configure.ac): Adjust macro name.
18365         * modules/canonicalize-lgpl (Depends-on): Add errno, extensions,
18366         lstat, stdlib, sys_stat.
18367         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Rename...
18368         (gl_FUNC_CANONICALIZE_FILENAME_MODE): ...to this, and require
18369         extensions.
18370         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL)
18371         (gl_CANONICALIZE_LGPL_SEPARATE): Require extensions.
18372         (gl_PREREQ_CANONICALIZE_LGPL): Assume unistd.h.
18373         * lib/canonicalize.h (canonicalize_file_name): Use <stdlib.h>
18374         declaration, if available.
18375         * lib/canonicalize-lgpl.c [HAVE_READLINK]: Delete this condition;
18376         we can rely on the readlink module.
18377         (MAXSYMLINKS): Also consult SYMLOOP_MAX.
18378         (includes): Use <unistd.h> unconditionally.
18379
18380 2009-09-17  Eric Blake  <ebb9@byu.net>
18381
18382         maint: make Include sections of modules consistent
18383         * modules/alloca: Use only header name; no need to list #include.
18384         * modules/alloca-opt: Likewise.
18385         * modules/arpa_inet: Likewise.
18386         * modules/canon-host: Likewise.
18387         * modules/configmake: Likewise.
18388         * modules/dirent: Likewise.
18389         * modules/eealloc: Likewise.
18390         * modules/environ: Likewise.
18391         * modules/fchdir: Likewise.
18392         * modules/fcntl: Likewise.
18393         * modules/fcntl-h: Likewise.
18394         * modules/gethrxtime: Likewise.
18395         * modules/gettime: Likewise.
18396         * modules/ignore-value: Likewise.
18397         * modules/inet_ntop: Likewise.
18398         * modules/inet_pton: Likewise.
18399         * modules/inttypes: Likewise.
18400         * modules/isnand-nolibm: Likewise.
18401         * modules/isnanf-nolibm: Likewise.
18402         * modules/mbchar: Likewise.
18403         * modules/mbfile: Likewise.
18404         * modules/mbiter: Likewise.
18405         * modules/mbuiter: Likewise.
18406         * modules/netdb: Likewise.
18407         * modules/netinet_in: Likewise.
18408         * modules/nproc: Likewise.
18409         * modules/pagealign_alloc: Likewise.
18410         * modules/poll: Likewise.
18411         * modules/printf-frexp: Likewise.
18412         * modules/pthread: Likewise.
18413         * modules/putenv: Likewise.
18414         * modules/random_r: Likewise.
18415         * modules/relocatable-prog: Likewise.
18416         * modules/search: Likewise.
18417         * modules/select: Likewise.
18418         * modules/selinux-h: Likewise.
18419         * modules/settime: Likewise.
18420         * modules/signal: Likewise.
18421         * modules/size_max: Likewise.
18422         * modules/socklen: Likewise.
18423         * modules/ssize_t: Likewise.
18424         * modules/stdarg: Likewise.
18425         * modules/stdbool: Likewise.
18426         * modules/stddef: Likewise.
18427         * modules/stdint: Likewise.
18428         * modules/stdio: Likewise.
18429         * modules/stdlib: Likewise.
18430         * modules/string: Likewise.
18431         * modules/strings: Likewise.
18432         * modules/sys_file: Likewise.
18433         * modules/sys_ioctl: Likewise.
18434         * modules/sys_select: Likewise.
18435         * modules/sys_socket: Likewise.
18436         * modules/sys_stat: Likewise.
18437         * modules/sys_time: Likewise.
18438         * modules/sys_times: Likewise.
18439         * modules/sys_utsname: Likewise.
18440         * modules/sys_wait: Likewise.
18441         * modules/sysexits: Likewise.
18442         * modules/time: Likewise.
18443         * modules/times: Likewise.
18444         * modules/tmpfile: Likewise.
18445         * modules/trim: Likewise.
18446         * modules/unistd: Likewise.
18447         * modules/wchar: Likewise.
18448         * modules/wctype: Likewise.
18449
18450 2009-09-17  Bruno Haible  <bruno@clisp.org>
18451
18452         Make getdate.y compile on QNX and NetBSD 5 / i386.
18453         * m4/getdate.m4 (gl_GETDATE): Conditionally define
18454         TIME_T_FITS_IN_LONG_INT.
18455         * lib/getdate.y (long_time_t): New type.
18456         (relative_time): Change type of 'seconds' field to long_time_t.
18457         (get_date): Update types of local variables. Check against overflow
18458         during conversion from long_time_t to time_t.
18459         Reported by Matt Kraai <kraai@ftbfs.org>
18460         and Hasso Tepper <hasso@netbsd.org>.
18461
18462 2009-09-17  Bruno Haible  <bruno@clisp.org>
18463
18464         * modules/COPYING: Update copyright years.
18465         * modules/README: Likeiwse.
18466         * doc/gnulib-intro.texi (Copyright): Use a wildcard year.
18467         Reported by Ian Beckwith <ianb@erislabs.net>.
18468
18469 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
18470
18471         * users.txt: Update references for gnuit package.
18472
18473 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
18474
18475         * m4/getdelim.m4: Fix typo in copyright line.
18476
18477 2009-09-17  Bruno Haible  <bruno@clisp.org>
18478
18479         * lib/atoll.c: Use the standard header with GPL copyright.
18480         * lib/argz.in.h: Likewise.
18481         * lib/glob.c: Likewise.
18482         * lib/glob-libc.h: Likewise.
18483         * lib/random_r.c: Likewise.
18484         * lib/siglist.h: Likewise.
18485         * lib/strsignal.c: Likewise.
18486         Reported by Ian Beckwith <ianb@erislabs.net>.
18487
18488 2009-09-17  Eric Blake  <ebb9@byu.net>
18489
18490         rmdir: ensure correct dependency order
18491         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require unistd defaults.
18492
18493 2009-09-17  Bruno Haible  <bruno@clisp.org>
18494
18495         Disable assertion that fails on NetBSD 5 / i386.
18496         * lib/mktime.c (ydhms_diff): Disable assertion about time_t size.
18497         Reported by Sam Steingold <sds@gnu.org>
18498         and Hasso Tepper <hasso@netbsd.org>.
18499
18500 2009-09-16  Eric Blake  <ebb9@byu.net>
18501
18502         unlinkdir: port to mingw
18503         * m4/unlinkdir.m4 (gl_UNLINKDIR): Add mingw to list of platforms
18504         on which no one can unlink a directory.
18505
18506         stdlib: sort witness names
18507         * modules/stdlib (Makefile.am): Sort replacements.
18508         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
18509         * lib/stdlib.in.h: Likewise.
18510
18511         parse-duration-tests: avoid link failure
18512         * modules/parse-duration-tests (test_parse_duration_LDADD): Add
18513         LIBINTL.
18514         Reported by Tom G. Christensen.
18515
18516         openat-tests: ensure unlinkat behaves like rmdir
18517         * tests/test-rmdir.c (main): Factor guts...
18518         * tests/test-rmdir.h (test_rmdir_func): ...into new file.
18519         * modules/rmdir-tests (Files): Ship new file.
18520         * modules/openat-tests: New test.
18521         * tests/test-unlinkat.c: Likewise.
18522
18523         rmdir-errno: mark obsolete, it is unsafe for cross-compilation
18524         * modules/rmdir-errno (Status, Notice): Now obsolete.
18525
18526         rmdir: work around cygwin 1.5.x and mingw bugs
18527         * m4/rmdir.m4 (gl_FUNC_RMDIR): Detect the bugs.
18528         * lib/rmdir.c (rmdir): Work around it.
18529         * modules/rmdir (Status, Notice): No longer obsolete.
18530         (Files): Add dos.m4.
18531         (Depends-on): Add unistd.
18532         (configure.ac): Set witnesses.
18533         (License): Relax to LGPLv2+.
18534         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set defaults.
18535         * modules/unistd (Makefile.am): Substitute witnesses.
18536         * lib/unistd.in.h (rmdir): Declare replacement.
18537         * doc/posix-functions/rmdir.texi (rmdir): Document this.
18538         * modules/rmdir-tests: New tests.
18539         * tests/test-rmdir.c: Likewise.
18540
18541 2009-09-15  Eric Blake  <ebb9@byu.net>
18542
18543         fchdir: improve use of replacement functions
18544         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set appropriate witnesses.
18545         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add REPLACE_FSTAT.
18546         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add REPLACE_OPENDIR,
18547         REPLACE_CLOSEDIR.
18548         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_DUP.
18549         * modules/sys_stat (Makefile.am): Substitute correct witness.
18550         * modules/dirent (Makefile.am): Likewise.
18551         * modules/unistd (Makefile.am): Likewise.
18552         * lib/dirent.in.h (opendir, closedir): Use better witnesses.
18553         * lib/unistd.in.h (dup): Likewise.
18554         * lib/sys_stat.in.h (fstat): Likewise.
18555
18556         maint: ignore gnulib-tool temp files
18557         * .gitignore: Ignore files created during gnulib-tool --test.
18558
18559 2009-09-13  Jim Meyering  <meyering@redhat.com>
18560
18561         posixtm: don't reject a time that specify "60" as the number of seconds
18562         * lib/posixtm.c (posixtime): The code to reject invalid dates
18563         would also reject a time specified with the .60 suffix.
18564         But POSIX allows that, in order to accommodate leap seconds.
18565         So don't reject it.
18566         (main): Adjust tests accordingly.
18567         * modules/posixtm (Depends-on): Add stpcpy.
18568
18569 2009-09-11  Jim Meyering  <meyering@redhat.com>
18570
18571         announce-gen: include [$release_type] in emitted Subject:
18572         * build-aux/announce-gen (get_tool_versions): Include [$release_type],
18573         e.g., [stable] in the emitted Subject: line.
18574
18575 2009-09-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
18576
18577         Remove obsolete macros from several modules.
18578         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Replace
18579         obsolete Autoconf macros with their modern counterparts.
18580         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Likewise.
18581         * m4/gc-camellia.m4 (gl_GC_CAMELLIA): Likewise.
18582         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Likewise.
18583         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
18584         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Likewise.
18585         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
18586         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
18587         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
18588         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
18589         * m4/readline.m4 (gl_FUNC_READLINE): Likewise.
18590         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
18591         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
18592         * m4/select.m4 (gl_FUNC_SELECT): Likewise.
18593         * m4/sockets.m4 (gl_SOCKETS): Likewise.
18594         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Likewise.
18595         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Likewise.
18596         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
18597         * m4/time_r.m4 (gl_TIME_R): Likewise.
18598         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
18599         * m4/vararrays.m4 (AC_C_VARARRAYS): Likewise.
18600         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
18601
18602         Fix copyright header in build-aux scripts.
18603         * build-aux/git-version-gen: Fix copyright header to match GPLv3
18604         recommendation.
18605         * build-aux/ncftpput-ftp: Likewise.
18606         * build-aux/update-copyright: Likewise.
18607
18608 2009-09-09  Eric Blake  <ebb9@byu.net>
18609
18610         test-link: allow Linux choice of errno
18611         * tests/test-link.c (main): Relax test for alternate error.
18612
18613         strndup: fix improper m4 caching
18614         * m4/strndup.m4 (gl_FUNC_STRNDUP): Rework to avoid side effects
18615         inside AC_CACHE_CHECK.  Use REPLACE_STRNDUP, not HAVE_STRNDUP.
18616         (gl_PREREQ_STRNDUP): Delete.
18617         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Update default.
18618         * modules/string (Makefile.am): Substitute it.
18619         * lib/string.in.h (strndup): Modernize prototype.
18620
18621         getcwd: port to mingw
18622         * m4/getcwd.m4 (gl_FUNC_GETCWD): Mingw directories are very
18623         different from the POSIX assumptions made throughout the getcwd
18624         module; fortunately, the mingw getcwd does not need replacement.
18625         (gl_FUNC_GETCWD_NULL): Skip test on mingw.
18626         * modules/getcwd-tests: New test.
18627         * tests/test-getcwd.c: Likewise.
18628
18629         link: fix platform bugs
18630         * m4/link.m4 (gl_FUNC_LINK): Detect Solaris and Cygwin bugs.
18631         * lib/link.c (link): Work around them.  Fix related mingw bug.
18632         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_LINK.
18633         * modules/unistd (Makefile.am): Substitute it.
18634         * lib/unistd.in.h (link): Declare replacement.
18635         * doc/posix-functions/link.texi (link): Document this.
18636         * modules/link (Depends-on): Add strdup-posix, sys_stat.
18637
18638         test-link: consolidate into single C program, test more cases
18639         * tests/test-link.sh: Delete.
18640         * tests/test-link.c: Test more error conditions.  Exposes bugs on
18641         at least Cygwin and Solaris.
18642         * modules/link-tests (Files): Remove unused file.
18643         (Depends-on): Add errno, sys_stat.
18644         (Makefile.am): Simplify.
18645
18646 2009-09-08  Bruno Haible  <bruno@clisp.org>
18647
18648         Work around towlower, towupper bug on mingw.
18649         * lib/wctype.in.h (towlower, towupper) [__MINGW32__]: New replacements.
18650         * m4/wctype.m4 (gl_WCTYPE_H): Replace <wctype.h> also on mingw.
18651         * doc/posix-functions/towlower.texi: Mention the mingw bug.
18652         * doc/posix-functions/towupper.texi: Likewise.
18653         Reported by Eric Blake.
18654
18655 2009-09-08  Jim Meyering  <meyering@redhat.com>
18656
18657         build: don't try to run autoheader if we don't use it
18658         * build-aux/bootstrap: Define AUTOHEADER=true when AC_CONFIG_HEADERS
18659         is not used in configure.ac.
18660
18661 2009-09-08  Eric Blake  <ebb9@byu.net>
18662
18663         euidaccess: fix compilation error
18664         * lib/euidaccess.c (includes): Add <fcntl.h>, for AT_EACCESS.
18665
18666         rawmemchr: relax license
18667         * modules/rawmemchr (License): Derived from glibc, so LGPLv2+ is
18668         okay.
18669         Reported by Jim Meyering.
18670
18671         mkfifoat: new module
18672         * modules/mkfifoat: New file.
18673         * lib/mkfifoat.c: Likewise.
18674         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Likewise.
18675         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
18676         * modules/sys_stat (Makefile.am): Use them.
18677         * lib/sys_stat.in.h (mkfifoat, mknodat): Declare them.
18678         * MODULES.html.sh (File system functions): Mention module.
18679         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
18680         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
18681         * modules/mkfifoat-tests: New test.
18682         * tests/test-mkfifoat.c: Likewise.
18683
18684         strchrnul: relax license
18685         * modules/strchrnul (License): Derived from glibc, so LGPLv2+ is
18686         okay.
18687         Reported by Jim Meyering.
18688
18689 2009-09-08  Eric Blake  <ebb9@byu.net>
18690
18691         fstatat: fix compilation on Solaris
18692         * lib/fstatat.c (includes): Add fcntl.h.
18693         Reported by Pádraig Brady.
18694
18695 2009-09-07  Eric Blake  <ebb9@byu.net>
18696
18697         rename: modernize replacement
18698         * modules/rename (Depends-on): Add stdio.
18699         (configure.ac): Declare witness.
18700         * m4/rename.m4 (gl_FUNC_RENAME): Ensure dependency order, and let
18701         stdio take care of replacement.
18702         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
18703         * modules/stdio (Makefile.am): Substitute them.
18704         * lib/stdio.in.h (rename): Declare replacement.
18705         * lib/rename.c (includes): Allow cross-compilation to non-windows
18706         machines.
18707         * doc/posix-functions/rename.texi (rename): Improve
18708         documentation.
18709
18710         stdio: sort witness names
18711         * modules/stdio (Makefile.am): Sort replacements.
18712         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
18713         * lib/stdio.in.h: Likewise.
18714
18715         getcwd: minor cleanups
18716         * lib/getcwd.c (AT_FDCWD): Delete; rely on <fcntl.h> instead.
18717         (is_ENAMETOOLONG): Delete; ENAMETOOLONG is portable.
18718
18719         openat: provide more convenience names
18720         * modules/faccessat (configure.ac): Add C witness.
18721         * lib/unistd.in.h (readlinkat): Fix typo.
18722         * lib/openat.h (statat, lstatat, accessat, euidaccessat): New
18723         convenience wrappers.
18724         * top/maint.mk (sc_prohibit_openat_without_use): Allow these
18725         wrappers in syntax checks.
18726
18727 2009-09-06  Eric Blake  <ebb9@byu.net>
18728
18729         doc: fix comments in recent patches
18730         * lib/faccessat.c: Mention correct function.
18731         * lib/fchmodat.c: Likewise.
18732         * lib/fchownat.c: Likewise.
18733         * lib/symlinkat.c: Likewise.
18734         * doc/posix-headers/fcntl.texi (fcntl.h): Cygwin 1.7 has AT_*
18735         constants.
18736
18737         faccessat, symlinkat: continue cleanup of previous patch
18738         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Ensure dependency order.
18739         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
18740         * modules/unistd (Makefile.am): Substitute GNULIB_READLINKAT.
18741         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Offer GNULIB_READLINKAT.
18742         * modules/symlinkat (configure.ac): Set GNULIB_READLINKAT.
18743         * lib/unistd.in.h (readlinkat): Declare if GNULIB_READLINKAT is
18744         set.
18745
18746 2009-09-06  Bruno Haible  <bruno@clisp.org>
18747
18748         * lib/sys_stat.in.h (fchmodat): Declare if GNULIB_FCHMODAT is set.
18749         (fstatat): Declare if GNULIB_FSTATAT is set.
18750         (mkdirat): Declare if GNULIB_MKDIRAT is set.
18751         * lib/unistd.in.h (fchownat): Declare if GNULIB_FCHOWNAT is set.
18752         (unlinkat): Declare if GNULIB_UNLINKAT is set.
18753         * modules/fcntl-h (Files): Remove m4/openat.m4.
18754         * modules/sys_stat (Files): Remove m4/openat.m4.
18755         (Makefile.am): Substitute GNULIB_FCHMODAT, GNULIB_FSTATAT,
18756         GNULIB_MKDIRAT instead of GNULIB_OPENAT.
18757         * modules/unistd (Files): Remove m4/openat.m4.
18758         (Makefile.am): Substitute GNULIB_FCHOWNAT, GNULIB_UNLINKAT instead of
18759         GNULIB_OPENAT.
18760         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Initialize GNULIB_OPENAT,
18761         HAVE_OPENAT here. Don't require gl_OPENAT_DEFAULTS.
18762         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize
18763         GNULIB_FCHMODAT, GNULIB_FSTATAT, GNULIB_MKDIRAT, HAVE_FCHMODAT,
18764         HAVE_FSTATAT, HAVE_MKDIRAT, REPLACE_FSTATAT here. Don't require
18765         gl_OPENAT_DEFAULTS.
18766         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_FCHOWNAT,
18767         GNULIB_UNLINKAT, HAVE_FCHOWNAT, HAVE_UNLINKAT, REPLACE_FCHOWNAT here.
18768         Don't require gl_OPENAT_DEFAULTS.
18769         * m4/openat.m4 (gl_FUNC_OPENAT): Require gl_FCNTL_H_DEFAULTS,
18770         gl_SYS_STAT_H_DEFAULTS, gl_UNISTD_H_DEFAULTS. Set GNULIB_FCHMODAT,
18771         GNULIB_FSTATAT, GNULIB_MKDIRAT, GNULIB_FCHOWNAT, GNULIB_UNLINKAT.
18772         (gl_OPENAT_DEFAULTS): Remove macro.
18773
18774 2009-09-06  Bruno Haible  <bruno@clisp.org>
18775
18776         * modules/openat (configure.ac): Remove unneeded witness.
18777
18778 2009-09-06  Bruno Haible  <bruno@clisp.org>
18779
18780         Set errno to ENOSYS when a function is entirely unsupported.
18781         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Set errno to ENOSYS instead of
18782         EOPNOTSUPP.
18783         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
18784         * modules/chown (Depends-on): Remove errno.
18785
18786 2009-09-06  Bruno Haible  <bruno@clisp.org>
18787
18788         * doc/posix-headers/fcntl.texi (AT_*): Mention affected platforms.
18789
18790 2009-09-06  Bruno Haible  <bruno@clisp.org>
18791
18792         * lib/sys_stat.in.h: Fix preprocessor command indentation.
18793
18794 2009-09-06  Ben Pfaff  <blp@gnu.org>
18795             Bruno Haible  <bruno@clisp.org>
18796
18797         Work around a glibc bug in strtok_r.
18798         * lib/string.in.h (strtok_r): Replace if REPLACE_STRTOK_R is set.
18799         Undefine if UNDEFINE_STRTOK_R is set.
18800         * lib/strtok_r.c (strtok_r, __strtok_r) [!_LIBC]: Don't undefine.
18801         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
18802         REPLACE_STRTOK_R and UNDEFINE_STRTOK_R.
18803         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Check against the glibc bug.
18804         * modules/string (Makefile.am): Substitute REPLACE_STRTOK_R,
18805         UNDEFINE_STRTOK_R.
18806         * doc/posix-functions/strtok_r.texi: Mention the glibc 2.7 bug.
18807
18808 2009-09-06  Sergey Poznyakoff  <gray@gnu.org.ua>
18809
18810         exclude: minor fix
18811         * lib/exclude.c: Include wctype.h
18812
18813 2009-09-06  Akim Demaille  <demaille@gostai.com>
18814
18815         bootstrap: improve error message
18816         * build-aux/bootstrap (find_tool): Upon failure, report the list
18817         of candidates.
18818         Honor the initial value of the envvar.
18819
18820 2009-09-05  Eric Blake  <ebb9@byu.net>
18821
18822         symlinkat: new module
18823         * modules/symlinkat: New file.
18824         * lib/symlinkat.c: Likewise.
18825         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
18826         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
18827         * modules/unistd (Makefile.am): Use them.
18828         * lib/unistd.in.h (symlinkat, readlinkat): Declare them.
18829         (faccessat) [GNULIB_POSIXCHECK]: Fix typo.
18830         * lib/at-func.c (FUNC_RESULT): New macro, defaulting to int.
18831         * MODULES.html.sh (File system functions): Mention module.
18832         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
18833         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
18834         * modules/symlinkat-tests: New test.
18835         * tests/test-symlinkat.c: Likewise.
18836
18837         test-openat-safer: add more checks
18838         * tests/test-openat-safer.c (main): Check more code paths.
18839
18840 2009-09-05  Jim Meyering  <meyering@redhat.com>
18841
18842         syntax-check: detect unnecessary inclusion of openat.h
18843         * top/maint.mk (sc_prohibit_openat_without_use): New rule.
18844
18845 2009-09-05  Bruno Haible  <bruno@clisp.org>
18846
18847         Support towlower, towupper.
18848         * doc/posix-functions/towlower.texi: Mention module wctype.
18849         * doc/posix-functions/towupper.texi: Likewise.
18850         * lib/wctype.in.h (towlower, towupper): New functions.
18851         * tests/test-wctype.c: Include stdio.h, stdlib.h.
18852         (ASSERT): New macro.
18853         (e): New variable.
18854         (main): Test also towlower, towupper. Test WEOF argument.
18855         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
18856
18857 2009-09-05  Bruno Haible  <bruno@clisp.org>
18858
18859         Fix conversion behaviour when the input is invalid.
18860         * lib/striconveh.c (mem_cd_iconveh_internal): Fix storing of question
18861         mark occurring in first pass of indirect conversion.
18862         * tests/test-striconveh.c (main): Test conversion of invalid ASCII
18863         input.
18864         Found by clang's static analyzer.
18865
18866 2009-09-05  Bruno Haible  <bruno@clisp.org>
18867
18868         * tests/test-striconveh.c (main): Test indirect conversion on platforms
18869         where direct conversion is possible.
18870
18871 2009-09-04  Eric Blake  <ebb9@byu.net>
18872
18873         openat: fail with ENOENT on empty name
18874         * lib/openat-proc.c (openat_proc_name): Special-case the empty
18875         buffer.
18876
18877         link-follow: fix logic bug in prior patch
18878         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Fix bug that
18879         reversed sense of yes and no in prior patch.  Avoid confusing
18880         compilation failure with desired semantics.
18881
18882         link-follow: accomodate mingw and cross-compilation
18883         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Rename...
18884         (gl_FUNC_LINK_FOLLOWS_SYMLINK): ...to this.  Change
18885         cross-compilation results to -1, to make linkat easier to
18886         implement when cross-compiling.  Trivially support mingw.
18887         * modules/link-follow (configure.ac): Call new name.
18888         * NEWS: Mention this.
18889
18890 2009-09-03  Eric Blake  <ebb9@byu.net>
18891
18892         faccessat: compile replacement
18893         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Build replacement when
18894         needed.
18895
18896         fts: fix compilation error
18897         * lib/fts.c (includes): Re-add "openat.h", for
18898         openat_needs_fchdir.
18899
18900         faccessat: new module
18901         * modules/faccessat: New file.
18902         * lib/faccessat.c: Likewise.
18903         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
18904         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
18905         * modules/unistd (Makefile.am): Use it.
18906         * lib/unistd.in.h (faccessat): Declare it.
18907         (F_OK, X_OK, W_OK, R_OK): Provide definitions.
18908         * lib/fcntl.in.h (AT_SYMLINK_FOLLOW, AT_EACCESS): Likewise.
18909         * MODULES.html.sh (File system functions): Mention it.
18910         * doc/posix-functions/faccessat.texi (faccessat): Likewise.
18911         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
18912
18913         euidaccess: prefer POSIX over non-standard implementation
18914         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Check for faccessat.
18915         * lib/euidaccess.c (euidaccess): Use it if available.
18916
18917         openat: make template easier to use
18918         * lib/at-func.c (CALL_FUNC): Allow AT_FUNC_USE_F1_COND and
18919         AT_FUNC_F2 to be undefined.
18920         (VALIDATE_FLAG): New macro; use it to reject bad flags.
18921         (AT_FUNC_USE_F1_COND): Change sense to just flag bit.
18922         * lib/fchmodat.c (AT_FUNC_USE_F1_COND): Adjust.
18923         * lib/fchownat.c (AT_FUNC_USE_F1_COND): Likewise.
18924         * lib/openat.c (AT_FUNC_USE_F1_COND) [fstatat, unlinkat]:
18925         Likewise.
18926         * lib/mkdirat.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND): Delete.
18927         * lib/selinux-at.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND)
18928         [getfileconat, lgetfileconat, setfileconat, lsetfileconat]:
18929         Likewise.
18930
18931         openat: declare in POSIX headers
18932         * NEWS: Mention this.
18933         * modules/openat (configure.ac): Declare witnesses.
18934         (Depends-on): Add fcntl-h, sys_stat, unistd.
18935         (Include): Mention correct headers.
18936         * modules/fcntl-h (Depends-on): Add link-warning.
18937         (Files): Add openat.m4.
18938         (Makefile.am): Substitute witnesses.
18939         * modules/sys_stat (Files, Makefile.am): Likewise.
18940         * modules/unistd (Files, Makefile.am): Likewise.
18941         * m4/openat.m4 (gl_FUNC_OPENAT, gl_FUNC_FCHOWNAT): Set witnesses.
18942         (gl_OPENAT_DEFAULTS): New macro.
18943         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Use it.
18944         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Likewise.
18945         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Likewise.
18946         (SYS_STAT_H): Remove unused variable.
18947         * doc/posix-headers/fcntl.texi (fcntl.h): Update content.
18948         * lib/fcntl--.h (includes): Remove unneeded header.
18949         * lib/openat-safer.c (includes): Likewise.
18950         * lib/openat.h (AT_FDCWD, AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR)
18951         (openat, fstatat, unlinkat, mkdirat, fchmodat, fchownat): Move to
18952         appropriate headers.
18953         (__OPENAT_PREFIX): Delete.
18954         * lib/fcntl.in.h (openat): Provide declaration.
18955         (AT_FDCWD): Fix Solaris bug.
18956         (AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR): Provide macros.
18957         * lib/sys_stat.in.h (fstatat, mkdirat): Provide declaration.
18958         * lib/fchmodat.c (includes):  Adjust to find declaration.
18959         * lib/fchownat.c (includes): Likewise.
18960         * lib/mkdirat.c (includes): Likewise.
18961         * lib/fstatat.c (includes): Likewise.  Ensure original fstatat is
18962         still visible.
18963
18964 2009-09-02  Eric Blake  <ebb9@byu.net>
18965
18966         errno: use consistently
18967         * lib/c-stack.c (ENOTSUP): <errno.h> guarantees a definition.
18968         * lib/canonicalize-lgpl.c (ENAMETOOLONG): Likewise.
18969         * lib/canonicalize.c (ELOOP): Likewise.
18970         * lib/inet_ntop.c (EAFNOSUPPORT): Likewise.
18971         * lib/inet_pton.c (EAFNOSUPPORT): Likewise.
18972         * lib/lchown.c (EOPNOTSUPP): Likewise.
18973         * lib/openat-priv.h (ENOSYS, EOPNOTSUPP): Likewise.
18974         * lib/savewd.c (ESTALE): Likewise.
18975         * lib/settime.c (ENOSYS): Likewise.
18976         * lib/utimens.c (ENOSYS): Likewise.
18977         * lib/xgethostname.c (ENAMETOOLONG): Likewise.
18978         * lib/chdir-safer.c (ELOOP): Likewise.
18979         (chdir_no_follow): Use HAVE_READLINK, not ELOOP, as witness.
18980         * modules/c-stack (Depends-on): Add errno.
18981         * modules/canonicalize (Depends-on): Likewise.
18982         * modules/chdir-safer (Depends-on): Likewise.
18983         * modules/fdopendir (Depends-on): Likewise.
18984         * modules/inet_ntop (Depends-on): Likewise.
18985         * modules/inet_pton (Depends-on): Likewise.
18986         * modules/lchown (Depends-on): Likewise.
18987         * modules/openat (Depends-on): Likewise.
18988         * modules/savewd (Depends-on): Likewise.
18989         * modules/settime (Depends-on): Likewise.
18990         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Check for readlink.
18991
18992         fts: avoid leaking fds
18993         * modules/fts (Depends-on): Add cloexec.
18994         * lib/fts.c (opendirat, diropen, fts_build): Set close-on-exec
18995         flag.
18996
18997         fts: make directory fds more robust
18998         * lib/fts.c (O_DIRECTORY): Let <fcntl.h> take care of this.
18999         (opendirat): Specify O_DIRECTORY, and add fallbacks for safety.
19000
19001         backupfile, chdir-long, fts, savedir: make safer
19002         * lib/backupfile.c (includes): Use "dirent--.h", since
19003         numbered_backup can write to stderr during readdir.
19004         * lib/savedir.c (includes): Likewise.
19005         * lib/chdir-long.c (includes): Use "fcntl--.h", since openat
19006         emulation can write to stderr on failure.
19007         * lib/fts.c (includes) [!_LIBC]: Likewise for opendir and openat.
19008         * lib/getcwd.c: Document why opendir_safer is unused.
19009         * lib/glob.c: Likewise.
19010         * lib/scandir.c: Likewise.
19011         * lib/openat-proc.c: Likewise, for open_safer.
19012         * modules/backupfile (Depends-on): Add dirent-safer.
19013         * modules/savedir (Depends-on): Likewise.
19014         * modules/fts (Depends-on): Add dirent-safer and openat-safer.
19015         * modules/chdir-long (Depends-on): Add openat-safer.
19016
19017         openat-safer: new module
19018         * modules/openat-safer: New file.
19019         * lib/openat-safer.c: Likewise.
19020         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): New macro.
19021         * lib/fcntl-safer.h (openat_safer): Declare.
19022         * lib/fcntl--.h (openat): Override.
19023         * MODULES.html.sh (File descriptor based I/O): Mention it.
19024         * lib/openat.h: Add double-inclusion guards.
19025         * lib/openat.c (includes): Only include "fcntl-safer.h", not
19026         "fcntl--.h", so we can implement openat.
19027         * modules/openat-safer-tests: New test.
19028         * tests/test-openat-safer.c: New file.
19029
19030         dirent-safer: new module
19031         * modules/dirent-safer: New file.
19032         * lib/dirent--.h: Likewise.
19033         * lib/dirent-safer.h: Likewise.
19034         * lib/opendir-safer.c: Likewise.
19035         * m4/dirent-safer.m4: Likewise.
19036         * MODULES.html.sh (Enhancements for POSIX:2008): Mention it.
19037         * modules/dirent-safer-tests: New test.
19038         * tests/test-dirent-safer.c: New file.
19039         * lib/fdopendir.c (includes): Ensure fdopendir is also safe.
19040
19041         fdopendir: optimize on mingw
19042         * lib/unistd.in.h (_gl_directory_name): New prototype.
19043         * lib/fchdir.c (_gl_directory_name): Implement it.
19044         (fchdir): Use it to simplify implementation.
19045         * lib/fdopendir.c (fdopendir) [REPLACE_FCHDIR]: Use metadata from
19046         fchdir, when available, to avoid calling [f]chdir().
19047
19048         fdopendir: split into its own module
19049         * lib/openat.c (fdopendir): Move...
19050         * lib/fdopendir.c: ...into new file.
19051         * modules/fdopendir: New module.
19052         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): New file.
19053         * modules/openat (Depends-on): Add fdopendir.
19054         * m4/openat.m4 (gl_FUNC_OPENAT): No longer need to check for
19055         fdopendir here.
19056         * modules/savedir (Depends-on): Only need fdopendir, not full
19057         openat.
19058         * lib/savedir.c (include): Use <dirent.h>, not "openat.h".
19059         * lib/openat.h (fdopendir): Drop prototype.
19060         * lib/dirent.in.h (fdopendir): Provide prototype.
19061         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add replacements.
19062         * modules/dirent (Makefile.am): Substitute them.
19063         * MODULES.html.sh (File system functions): Mention it.
19064         * doc/posix-functions/fdopendir.texi (fdopendir): Likewise.
19065         * modules/fdopendir-tests: New file.
19066         * tests/test-fdopendir.c: Likewise.
19067
19068         fchdir: use more consistent macro convention
19069         * lib/fcntl.in.h (_gl_register_fd): Move declaration to unistd.
19070         * lib/sys_stat.in.h (rpl_fstat): Declare via make-time
19071         REPLACE_FCHDIR, rather than relying on config.h macros.
19072         * lib/unistd.in.h (fchdir): Move all fchdir internal declarations
19073         inside a single make-time REPLACE_FCHDIR block, rather than using
19074         the config.h FCHDIR_REPLACEMENT.
19075         * m4/fchdir.m4 (gl_FUNC_FCHDIR): REPLACE_FCHDIR was already
19076         AC_SUBST'd, also AC_DEFINE it.  Don't define FCHDIR_REPLACEMENT.
19077         Manage fstat replacement.
19078         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Pick up
19079         REPLACE_FCHDIR.
19080         * modules/sys_stat (Files): Add m4/unistd_h.m4.
19081         (Makefile.am): Substitute REPLACE_FCHDIR.
19082         * lib/close.c (rpl_close): Use REPLACE_FCHDIR, not
19083         FCHDIR_REPLACEMENT.
19084         * lib/dup-safer.c (dup_safer): Likewise.
19085         * lib/dup2.c (rpl_dup2): Likewise.
19086         * lib/dup3.c (rpl_dup3): Likewise.
19087         * lib/open.c (rpl_open): Likewise.
19088
19089         fchdir: simplify error handling, and support dup3
19090         * modules/fchdir (Depends-on): Use strdup-posix, not strdup.  Add
19091         stdbool, malloc-posix, realloc-posix.
19092         * lib/fchdir.c (struct dir_info_t): Delete saved_errno.
19093         (ensure_dirs_slot): Return false on allocation failure.
19094         (rpl_dup2): Delete.
19095         (_gl_register_dup): New function.
19096         (_gl_unregister_fd, rpl_opendir, rpl_dup): Update callers.
19097         (_gl_register_fd): Close fd on allocation failure.
19098         * lib/fcntl.in.h (_gl_register_fd): Update signature.
19099         * lib/unistd.in.h (_gl_register_dup) [FCHDIR_REPLACEMENT]: New
19100         prototype.
19101         (rpl_dup2_fchdir): Delete prototype.
19102         * lib/open.c (open): Update caller.
19103         * lib/dup2.c (dup2): Track fchdir metadata.
19104         * lib/dup3.c (dup3): Likewise.
19105         * m4/dup2.m4 (gl_REPLACE_DUP2): New macro.
19106         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Use it.
19107
19108 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
19109
19110         * gnulib-tool (func_create_testdir, func_create_megatestdir): Use
19111         AC_CONFIG_HEADERS instead of AM_CONFIG_HEADER. Use AC_CONFIG_FILES and
19112         don't pass arguments to AC_OUTPUT.
19113
19114 2009-09-02  Bruno Haible  <bruno@clisp.org>
19115
19116         * modules/mkdtemp (License): Relicense under LGPLv2+.
19117         Reported by Paolo Bonzini.
19118
19119 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
19120
19121         Replace uses of obsolete autoconf macros in Jim's modules.
19122         The Autoconf macros AC_TRY_CPP, AC_TRY_COMPILE, AC_TRY_LINK and
19123         AC_TRY_RUN have been obsolete since Autoconf 2.55, and each use
19124         can evoke a warning from autoconf when run with -Wobsolete
19125         enabled.  They were declared obsolete for good reasons (see
19126         the `AC_FOO_IFELSE vs AC_TRY_FOO' node in the Autoconf manual,
19127         recently renamed to `AC_ACT_IFELSE vs AC_TRY_ACT'), and we
19128         should not continue using the deprecated macros.
19129         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Replace
19130         obsolete Autoconf macros with modern counterparts.
19131         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
19132         * m4/dos.m4 (gl_AC_DOS): Likewise.
19133         * m4/fpending.m4 (gl_FUNC_FPENDING): Likewise.
19134         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
19135         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Likewise.
19136         * m4/jm-winsz1.m4 (gl_WINSIZE_IN_PTEM): Likewise.
19137         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Likewise.
19138         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Likewise.
19139         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Likewise.
19140         * m4/mode_t.m4 (gl_PROMOTED_TYPE_MODE_T): Likewise.
19141         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
19142         Likewise.
19143         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
19144         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
19145         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Likewise.
19146         * m4/st_dm_mode.m4 (AC_STRUCT_ST_DM_MODE): Likewise.
19147         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
19148         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
19149
19150 2009-09-01  Eric Blake  <ebb9@byu.net>
19151
19152         fchdir: fix off-by-one bug in previous patch
19153         * lib/fchdir.c (rpl_fstat): Use correct bounds.
19154         (_gl_unregister_fd): Delete useless if.
19155
19156 2009-09-01  Daniel P. Berrange  <berrange@redhat.com>
19157
19158         maint.mk: sort the list of syntax-check rules
19159         * top/maint.mk (syntax-check-rules): Sort syntax-check rules, so it's
19160         easier to get a sense of progress when the rules are run sequentially
19161         and take a long time.
19162
19163 2009-09-01  Simon Josefsson  <simon@josefsson.org>
19164
19165         * modules/arpa_inet: Use $(MKDIR_P) instead of @MKDIR_P@.
19166         * modules/netinet_in: Likewise.
19167         * modules/sys_file: Likewise.
19168         * modules/sys_ioctl: Likewise.
19169         * modules/sys_select: Likewise.
19170         * modules/sys_socket: Likewise.
19171         * modules/sys_stat: Likewise.
19172         * modules/sys_time: Likewise.
19173         * modules/sys_times: Likewise.
19174         * modules/sys_utsname: Likewise.
19175         * modules/sys_wait: Likewise.
19176
19177 2009-09-01  Jim Meyering  <meyering@redhat.com>
19178
19179         fts: help ensure that return values are not ignored
19180         * lib/fts_.h (__GNUC_PREREQ): Define.
19181         (__attribute_warn_unused_result__): Define.
19182         (fts_children, fts_close, fts_open, fts_read): Declare with
19183         __attribute_warn_unused_result__.
19184
19185         fts: fts_close now fails also when closing a dir file descriptor fails
19186         * lib/fts.c (fts_close): Detect close failure, not just fchdir failure,
19187         and propagate to caller, along with errno.
19188
19189         announce-gen: correct formatting in --help output
19190         * build-aux/announce-gen (usage): Move the one-line description in
19191         --help output "up", to where it belongs, just after Usage:.
19192
19193 2009-08-31  Eric Blake  <ebb9@byu.net>
19194
19195         fchdir: port to mingw
19196         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check for mingw bug.
19197         * lib/open.c (open) [FCHDIR_REPLACEMENT]: If directories can't be
19198         opened, then use a substitute.
19199         * lib/sys_stat.in.h (fstat) [REPLACE_OPEN_DIRECTORY]: Declare
19200         replacement.
19201         * lib/fchdir.c (fstat) [REPLACE_OPEN_DIRECTORY]: Implement it.
19202         (_gl_register_fd): No need to check stat if open already filters
19203         all directories.
19204         (fchdir): Fix error condition to match POSIX.
19205         * modules/fchdir (Depends-on): Add sys_stat.
19206         * doc/posix-functions/open.texi (open): Document the limitation.
19207         * modules/fchdir-tests: New file.
19208         * tests/test-fchdir.c: Likewise.
19209
19210         canonicalize: allow cross-testing from cygwin to mingw
19211         * modules/canonicalize-tests (configure.ac): Define HAVE_SYMLINK.
19212         (Makefile.am): Pass it through TESTS_ENVIRONMENT.
19213         * modules/canonicalize-lgpl-tests (configure.ac, Makefile.am):
19214         Likewise.
19215         * tests/test-canonicalize.sh: Also skip test if 'ln -s' works, but
19216         target does not support symlinks.
19217         * tests/test-canonicalize-lgpl.sh: Likewise.
19218
19219         chown: avoid compilation warning on mingw
19220         * m4/chown.m4 (gl_FUNC_CHOWN): Recognize missing chown.
19221         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Always return failure on
19222         mingw.
19223         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
19224         * modules/chown (Depends-on): Add errno.
19225
19226 2009-08-31  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
19227
19228         * gnulib-tool: Fix test whether $CONFIG_SHELL has a working 'echo'
19229         command.
19230
19231 2009-08-31  Jim Meyering  <meyering@redhat.com>
19232
19233         canonicalize: remove useless initialization
19234         * lib/canonicalize.c (canonicalize_filename_mode): Remove useless
19235         initialization of local, "end".
19236
19237 2009-08-30  Bruno Haible  <bruno@clisp.org>
19238
19239         Fix an unnecessary error on Solaris 10 on NFSv3 file systems.
19240         * lib/set-mode-acl.c (qset_acl) [Solaris 10 new]: Treat EOPNOTSUPP like
19241         ENOSYS.
19242
19243 2009-08-30  Bruno Haible  <bruno@clisp.org>
19244
19245         * tests/test-pipe-filter-ii1.sh: Prefer /usr/xpg6/bin/tr over
19246         /usr/xpg4/bin/tr when it exists.
19247         * tests/test-pipe-filter-gi1.sh: Likewise.
19248
19249 2009-08-30  Bruno Haible  <bruno@clisp.org>
19250
19251         Work around deficient /usr/bin/id program on Solaris.
19252         * tests/test-file-has-acl.sh (ID): New variable.
19253         * tests/test-set-mode-acl.sh (ID): Likewise.
19254         * tests/test-copy-acl.sh (ID): Likewise.
19255         * tests/test-copy-file.sh (ID): Likewise.
19256
19257 2009-08-30  Bruno Haible  <bruno@clisp.org>
19258
19259         New module 'xstriconveh'.
19260         * lib/xstriconveh.h: New file.
19261         * lib/xstriconveh.c: New file.
19262         * modules/xstriconveh: New file.
19263
19264 2009-08-30  Bruno Haible  <bruno@clisp.org>
19265
19266         Make it easier to use mem_cd_iconveh.
19267         * lib/striconveh.h (iconveh_t): New type.
19268         (iconveh_open, iconveh_close): New declarations.
19269         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
19270         with a single 'const iconveh_t *' argument.
19271         * lib/striconveh.c (iconveh_open, iconveh_close): New functions.
19272         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
19273         with a single 'const iconveh_t *' argument.
19274         (mem_iconveh, str_iconveh): Use iconveh_open, iconveh_close.
19275         * tests/test-striconveh.c (main): Update.
19276         * NEWS: Mention the change.
19277
19278 2009-08-30  Bruno Haible  <bruno@clisp.org>
19279
19280         * doc/posix-functions/iconv_open.texi: Mention indirect conversion
19281         problem.
19282
19283 2009-08-30  Bruno Haible  <bruno@clisp.org>
19284
19285         Work around iconv_open problem on Solaris.
19286         * lib/iconv_open-solaris.gperf: New file.
19287         * lib/iconv_open.c (ICONV_FLAVOR_SOLARIS): New macro.
19288         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Also handle Solaris.
19289         * modules/iconv_open (Files): Add lib/iconv_open-solaris.gperf.
19290         (Makefile.am): Add rule for iconv_open-solaris.h. Augment
19291         BUILT_SOURCES, MOSTLYCLEANFILES, MAINTAINERCLEANFILES, EXTRA_DIST.
19292         * doc/posix-functions/iconv_open.texi: Mention the Solaris problem.
19293
19294 2009-08-29  Jim Meyering  <meyering@redhat.com>
19295
19296         maint.mk: remove more coreutils-specific targets; XZ_OPT=-9ev
19297         * top/maint.mk (cvs-check): Remove target; it was just an alias
19298         to the better-named vc-diff-check.
19299         (maintainer-distcheck): Remove rule.  It was used only from
19300         the (alpha/beta/major) target, and all of its commands but one
19301         were coreutils-specific.
19302         (vc-dist): Remove rule.
19303         (alpha beta major): Run "$(MAKE) distcheck" explicitly.
19304         Run vc-diff-check, not vc-dist.
19305         Run $(MAKE) dist with XZ_OPT=-9ev.  Note spelling, with "-".
19306
19307 2009-08-27  Bruno Haible  <bruno@clisp.org>
19308
19309         * tests/test-bitrotate.c (main): Remove test that uses a shift count
19310         of 0.
19311
19312 2009-08-27  Bruno Haible  <bruno@clisp.org>
19313
19314         * tests/test-func.c (main): Don't verify sizeof __func__ on SunPRO C
19315         compilers.
19316         * doc/func.texi: Document the SunPRO C bug.
19317
19318 2009-08-27  Bruno Haible  <bruno@clisp.org>
19319
19320         Fix link error on Solaris.
19321         * tests/test-parse-duration.c (xstrdup): Remove function.
19322
19323 2009-08-26  Pádraig Brady  <P@draigbrady.com>
19324
19325         ignore-value: handle pointer types, too
19326         * lib/ignore-value.h (__attribute__): Remove definition.
19327         (ignore_value): Remove use of "__attribute__ ((unused))" in favor
19328         of a more concise and more-often effective "(void) i" statement.
19329         (ignore_ptr): New function to suppress warnings from functions that
19330         return pointers, and to make it explicit that one function doesn't
19331         handle all cases.
19332
19333 2009-08-25  Bruno Haible  <bruno@clisp.org>
19334
19335         dup2: work around a Linux bug.
19336         * m4/dup2.m4 (gl_FUNC_DUP2): Test for the Linux bug.
19337         * lib/dup2.c (rpl_dup2): Correct the return value if it is -EBADF.
19338         * doc/posix-functions/dup2.texi: Mention the Linux bug.
19339         Reported by Simon Josefsson.
19340
19341 2009-08-25  Jim Meyering  <meyering@redhat.com>
19342
19343         libguestfs uses gnulib
19344         * users.txt: Add libguestfs.
19345
19346 2009-08-24  Eric Blake  <ebb9@byu.net>
19347
19348         dup2, pipe2: fix some recent test failures on cygwin 1.5.x
19349         * lib/pipe2.c (includes): Add binary-io.h.
19350         * lib/dup2.c (rpl_dup2): Correct buggy errno value.
19351
19352 2009-08-24  Bruno Haible  <bruno@clisp.org>
19353
19354         Tolerate declared but missing accept4 syscall.
19355         * lib/accept4.c (accept4): Invoke original accept4 function first, if
19356         available.
19357         * lib/sys_socket.in.h (accept4): If the function is already present,
19358         override it.
19359         * m4/accept4.m4 (gl_FUNC_ACCEPT4): Remove AC_LIBOBJ invocation.
19360         * modules/accept4 (Makefile.am): Compile accept4.c always.
19361         Reported by Paolo Bonzini and Eric Blake.
19362
19363 2009-08-23  Bruno Haible  <bruno@clisp.org>
19364
19365         New module 'accept4'.
19366         * lib/sys_socket.in.h (accept4): New declaration.
19367         * lib/accept4.c: New file.
19368         * m4/accept4.m4: New file.
19369         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
19370         GNULIB_ACCEPT4, HAVE_ACCEPT4.
19371         * modules/sys_socket (Makefile.am): Substitute GNULIB_ACCEPT4,
19372         HAVE_ACCEPT4.
19373         * modules/accept4: New file.
19374         * doc/glibc-functions/accept4.texi: Mention the new module.
19375
19376 2009-08-24  Jim Meyering  <meyering@redhat.com>
19377
19378         progname: also set global program_invocation_name, when possible
19379         Before this change, a libtool-enabled program that calls glibc's
19380         error function would report the program name as
19381         "/abs/dir/.libs/lt-program_name" rather than the desired program_name.
19382         * modules/progname (configure.ac): Check for a declaration of
19383         program_invocation_name.
19384         * lib/progname.c:  Include <errno.h>.
19385         (set_program_name) [HAVE_DECL_PROGRAM_INVOCATION_NAME]:
19386         Set program_invocation_name.
19387
19388 2009-08-23  Bruno Haible  <bruno@clisp.org>
19389
19390         * lib/dup3.c: Include <string.h>.
19391
19392 2009-08-23  Bruno Haible  <bruno@clisp.org>
19393
19394         * lib/dup3.c (dup3): Test only once whether the system actually exists.
19395         * lib/pipe2.c (pipe2): Likewise.
19396         Suggested by Eric Blake.
19397
19398 2009-08-23  Bruno Haible  <bruno@clisp.org>
19399
19400         Tolerate declared but missing dup3 syscall.
19401         * lib/dup3.c (dup3): Invoke original dup3 function first, if available.
19402         * lib/unistd.in.h (dup3): If the function is already present,
19403         override it.
19404         * m4/dup3.m4 (gl_FUNC_DUP3): Remove AC_LIBOBJ invocation.
19405         * modules/dup3 (Makefile.am): Compile dup3.c always.
19406         Reported by Paolo Bonzini.
19407
19408 2009-08-23  Bruno Haible  <bruno@clisp.org>
19409
19410         Tolerate declared but missing pipe2 syscall.
19411         * lib/pipe2.c (pipe2): Invoke original pipe2 function first, if
19412         available.
19413         * lib/unistd.in.h (pipe2): If the function is already present,
19414         override it.
19415         * m4/pipe2.m4 (gl_FUNC_PIPE2): Remove AC_LIBOBJ invocation.
19416         * modules/pipe2 (Makefile.am): Compile pipe2.c always.
19417         Reported by Paolo Bonzini.
19418
19419 2009-08-23  Bruno Haible  <bruno@clisp.org>
19420
19421         * lib/pipe2.c (pipe2): Move #ifs inside function.
19422
19423 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
19424
19425         quotearg: document limitations of quote_these_too
19426         * lib/quotearg.c (quotearg_buffer_restyled): Add comments where
19427         those limitations are created.
19428         * lib/quotearg.h (set_char_quoting): Document that digits and
19429         letters that are special after backslash are not permitted.
19430         (quotearg_char): Cross-reference set_char_quoting documentation.
19431
19432 2009-08-23  Joel E. Denny  <jdenny@clemson.edu>
19433
19434         quotearg: implement custom_quoting_style
19435         * lib/quotearg.c: (struct quoting_options): Add left_quote and
19436         right_quote fields.
19437         (set_custom_quoting): New public function.
19438         (quotearg_buffer_restyled): Add left_quote and right_quote
19439         arguments, handle them very much like locale quoting, and update
19440         all uses.
19441         (quotearg_n_custom): New public function.
19442         (quotearg_n_custom_mem): New public function.
19443         (quotearg_custom): New public function.
19444         (quotearg_custom_mem): New public function.
19445         * lib/quotearg.h: Prototype and document new public functions.
19446         (enum quoting_style): For escape_quoting_style and
19447         clocale_quoting_style, comment that QA_SPLIT_TRIGRAPHS is
19448         ignored even though they're otherwise like c_quoting_style.
19449         Add custom_quoting_style member and document with comparison to
19450         clocale_quoting_style.
19451         * tests/test-quotearg.c (custom_quotes): New array.
19452         (custom_results): New array.
19453         (main): Extend to test custom quoting.
19454
19455 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
19456
19457         quotearg: fix right quote escaping when it's in quote_these_too
19458         * lib/quotearg.c (quotearg_buffer_restyled): Upon seeing a right
19459         quote, be sure to prepend only one backslash.
19460         * tests/test-quotearg.c (use_quote_double_quotes): New function.
19461         (main): Test it.
19462
19463 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
19464
19465         quotearg-tests: test escaping of embedded locale quotes
19466         * tests/test-quotearg.c (struct result_strings): Add member for
19467         new input.
19468         (LQ_ENC, RQ_ENC, RQ_ESC): New macros.
19469         (inputs): Add new input.
19470         (results_g): Add expected results.
19471         (flag_results): Likewise.
19472         (locale_results): Likewise.
19473         (compare_strings): Check those.
19474
19475 2009-08-23  Bruno Haible  <bruno@clisp.org>
19476
19477         Tests for module 'dup3'.
19478         * modules/dup3-tests: New file.
19479         * tests/test-dup3.c: New file.
19480
19481         New module 'dup3'.
19482         * lib/unistd.in.h (dup3): New declaration.
19483         * lib/dup3.c: New file.
19484         * m4/dup3.m4: New file.
19485         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP3 and
19486         HAVE_DUP3.
19487         * modules/unistd (Makefile.am): Substitute GNULIB_DUP3 and HAVE_DUP3.
19488         * modules/dup3: New file.
19489         * doc/glibc-functions/dup3.texi: Mention the new module.
19490
19491 2009-08-23  Bruno Haible  <bruno@clisp.org>
19492
19493         Tweak the dup2 test.
19494         * tests/test-dup2.c (main): Create the test file empty. Verify that an
19495         out-of-range fd yields EBADF. Verify that after writing to /dev/null,
19496         the test file is still empty. Fix argument order of lseek.
19497
19498 2009-08-23  Bruno Haible  <bruno@clisp.org>
19499
19500         Avoid test link errors when the modules getopt-gnu, gettext are used.
19501         * modules/getopt-posix-tests (Makefile.am): Define test_getopt_LDADD.
19502         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
19503
19504 2009-08-23  Bruno Haible  <bruno@clisp.org>
19505
19506         Fix getdtablesize() on mingw.
19507         * lib/getdtablesize.c (getdtablesize): Implement differently.
19508         * lib/unistd.in.h (getdtablesize): Improve comment.
19509
19510 2009-08-23  Bruno Haible  <bruno@clisp.org>
19511
19512         New module 'mkostemp'.
19513         Based on Ulrich Drepper's 2007-08-10 change in glibc.
19514         * lib/stdlib.in.h (mksotemp): New declaration.
19515         * lib/mkostemp.c: New file, from glibc with modifications.
19516         * lib/tempname.h (GT_FILE): Remove outdated comment.
19517         (gen_tempname): Add flags argument.
19518         * lib/tempname.c (__GT_BIGFILE): Remove macro.
19519         (__GT_FILE): Map to 1.
19520         (small_open, large_open): Remove macros.
19521         (__gen_tempname): Add flags argument. Remove code for __GT_BIGFILE.
19522         * lib/mkstemp.c (mkstemp): Update.
19523         * lib/mkdtemp.c (mkdtemp): Likewise.
19524         * m4/mkostemp.m4: New file.
19525         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MKOSTEMP,
19526         HAVE_MKOSTEMP.
19527         * modules/stdlib (Makefile.am): Substitute GNULIB_MKOSTEMP,
19528         HAVE_MKOSTEMP.
19529         * modules/mkostemp: New file, based on modules/mkstemp.
19530         * doc/glibc-functions/mkostemp.texi: Mention the new module.
19531         * NEWS: Mention the change.
19532
19533 2009-08-23  Bruno Haible  <bruno@clisp.org>
19534
19535         * lib/pipe2.c (pipe2): Support O_TEXT, O_BINARY on all platforms.
19536         Reported by Eric Blake.
19537
19538 2009-08-23  Bruno Haible  <bruno@clisp.org>
19539
19540         * lib/pipe2.c (pipe2): Fix test of fcntl's return value.
19541         Reported by Eric Blake.
19542
19543 2009-08-23  Bruno Haible  <bruno@clisp.org>
19544
19545         * modules/fchdir (Depends-on): Use fcntl-h instead of fcntl.
19546         * modules/pipe2 (Depends-on): Likewise.
19547
19548 2009-08-23  Eric Blake  <ebb9@byu.net>
19549
19550         fcntl-h: add O_TTY_INIT support
19551         * lib/fcntl.in.h (O_TTY_INIT): Support another POSIX macro.
19552         * tests/test-fcntl-h.c (o): Test it.
19553         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
19554
19555         fcntl-h: rename from fcntl, in preparation for fcntl(2)
19556         * modules/fcntl: Move <fcntl.h> header replacement...
19557         * modules/fcntl-h: ...to new name, so as not to collide with
19558         like-named function.
19559         * tests/test-fcntl.c: Rename...
19560         * tests/test-fcntl-h.c: ...to this.  Test FD_CLOEXEC.
19561         * modules/fcntl-tests: Rename...
19562         * modules/fcntl-h-tests: ...to this.  Update test file name.
19563         * modules/chdir-long (Depends-on): Update clients.
19564         * modules/chdir-safer (Depends-on): Likewise.
19565         * modules/fcntl-safer (Depends-on): Likewise.
19566         * modules/fts (Depends-on): Likewise.
19567         * modules/mkancesdirs (Depends-on): Likewise.
19568         * modules/mkdir-p (Depends-on): Likewise.
19569         * modules/open (Depends-on): Likewise.
19570         * modules/savewd (Depends-on): Likewise.
19571         * MODULES.html.sh (systems lacking POSIX:2008): Update name.
19572         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
19573
19574 2009-08-22  Bruno Haible  <bruno@clisp.org>
19575
19576         * modules/binary-io (License): Relicense under LGPL.
19577         * modules/pipe2 (License): Likewise.
19578
19579 2009-08-22  Bruno Haible  <bruno@clisp.org>
19580
19581         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): Fix test of fcntl's
19582         return value.
19583         * lib/pipe-filter-gi.c (filter_init): Likewise.
19584         Reported by Eric Blake.
19585
19586 2009-08-22  Bruno Haible  <bruno@clisp.org>
19587
19588         * lib/pipe.c (create_pipe): Use pipe2 instead of _pipe.
19589         * modules/pipe (Depends-on): Add pipe2.
19590
19591 2009-08-22  Bruno Haible  <bruno@clisp.org>
19592
19593         Tests for module 'pipe2'.
19594         * modules/pipe2-tests: New file.
19595         * tests/test-pipe2.c: New file.
19596
19597         New module 'pipe2'.
19598         * lib/unistd.in.h (pipe2): New declaration.
19599         * lib/pipe2.c: New file.
19600         * m4/pipe2.m4: New file.
19601         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PIPE2 and
19602         HAVE_PIPE2.
19603         * modules/unistd (Makefile.am): Substitute GNULIB_PIPE2 and HAVE_PIPE2.
19604         * modules/pipe2: New file.
19605         * doc/glibc-functions/pipe2.texi: Mention the new module.
19606
19607 2009-08-22  Bruno Haible  <bruno@clisp.org>
19608
19609         Reference some new glibc functions.
19610         * doc/glibc-functions/accept4.texi: New file.
19611         * doc/glibc-functions/dup3.texi: New file.
19612         * doc/glibc-functions/mkostemp.texi: New file.
19613         * doc/glibc-functions/pipe2.texi: New file.
19614         * doc/gnulib.texi (Glibc stdlib.h): Refer to mkostemp.
19615         (Glibc sys/socket.h): Refer to accept4.
19616         (Glibc unistd.h): Refer to dup3, pipe2.
19617         Reported by Eric Blake.
19618
19619 2009-08-22  Jim Meyering  <meyering@redhat.com>
19620             Bruno Haible  <bruno@clisp.org>
19621
19622         annotate automake snippets with $(AM_V_GEN) and $(AM_V_at)
19623         This makes it so packages using automake-1.11's silent-rules option
19624         can print e.g., a single "GEN    configmake.h" line, rather than
19625         the 30+ statements that perform the job.  If you want to see the
19626         actual commands, you can still run "make V=1".
19627         * modules/alloca-opt: Add $(AM_V_GEN) and $(AM_V_at) prefixes
19628         so that make output is abbreviated when those variables are defined
19629         appropriately.
19630         * modules/argz: Likewise.
19631         * modules/arpa_inet: Likewise.
19632         * modules/byteswap: Likewise.
19633         * modules/configmake: Likewise.
19634         * modules/dirent: Likewise.
19635         * modules/errno: Likewise.
19636         * modules/fcntl: Likewise.
19637         * modules/float: Likewise.
19638         * modules/fnmatch: Likewise.
19639         * modules/getopt-posix: Likewise.
19640         * modules/glob: Likewise.
19641         * modules/iconv_open: Likewise.
19642         * modules/inttypes: Likewise.
19643         * modules/localcharset: Likewise.
19644         * modules/locale: Likewise.
19645         * modules/math: Likewise.
19646         * modules/netdb: Likewise.
19647         * modules/netinet_in: Likewise.
19648         * modules/poll: Likewise.
19649         * modules/posix_spawnp-tests: Likewise.
19650         * modules/sched: Likewise.
19651         * modules/search: Likewise.
19652         * modules/selinux-h: Likewise.
19653         * modules/signal: Likewise.
19654         * modules/spawn: Likewise.
19655         * modules/stdarg: Likewise.
19656         * modules/stdbool: Likewise.
19657         * modules/stddef: Likewise.
19658         * modules/stdint: Likewise.
19659         * modules/stdio: Likewise.
19660         * modules/stdlib: Likewise.
19661         * modules/string: Likewise.
19662         * modules/strings: Likewise.
19663         * modules/sys_file: Likewise.
19664         * modules/sys_ioctl: Likewise.
19665         * modules/sys_select: Likewise.
19666         * modules/sys_socket: Likewise.
19667         * modules/sys_stat: Likewise.
19668         * modules/sys_time: Likewise.
19669         * modules/sys_times: Likewise.
19670         * modules/sys_utsname: Likewise.
19671         * modules/sys_wait: Likewise.
19672         * modules/sysexits: Likewise.
19673         * modules/time: Likewise.
19674         * modules/unistd: Likewise.
19675         * modules/wchar: Likewise.
19676         * modules/wctype: Likewise.
19677
19678 2009-08-22  Jim Meyering  <meyering@redhat.com>
19679
19680         announce-gen: detect write failure
19681         * build-aux/announce-gen: Add Coda at end.
19682         Remove equivalent-but-more-verbose block at top.
19683
19684 2009-08-19  Akim Demaille  <demaille@gostai.com>
19685
19686         bootstrap: --help to stdout.
19687         * bootstrap (usage): Don't send --help to stderr.
19688         Use a here doc instead of a long string.
19689
19690 2009-08-21  Eric Blake  <ebb9@byu.net>
19691
19692         test-popen-safer: split from test-popen
19693         * tests/test-popen.c (main): Move...
19694         * tests/test-popen.h: ...into new file.
19695         * tests/test-popen-safer2.c: New file.
19696         * modules/popen-tests (Files): Add test-popen.h.
19697         * modules/popen-safer-tests (Files): Add test-popen-safer2.c.
19698         Suggested by Bruno Haible.
19699
19700         test-fcntl-safer: split from test-open
19701         * tests/test-open.c (main): Move...
19702         * tests/test-open.h: ...into new file.
19703         * tests/test-fcntl-safer.c: New file.
19704         * modules/open-tests (Files): Add test-open.h.
19705         * modules/fcntl-safer-tests: New file.
19706         Suggested by Bruno Haible.
19707
19708         test-fopen-safer: split from test-fopen
19709         * tests/test-fopen.c (main): Move...
19710         * tests/test-fopen.h: ...into new file.
19711         * tests/test-fopen-safer.c: New file.
19712         * modules/fopen-tests (Files): Add test-fopen.h.
19713         * modules/fopen-safer-tests: New file.
19714         Suggested by Bruno Haible.
19715
19716 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
19717
19718         popen-safer: test O_CLOEXEC at run-time.
19719         * lib/popen-safer.c: Test O_CLOEXEC at run-time.
19720
19721 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
19722
19723         fcntl: move more flags to the header
19724         * lib/cloexec.c: Do not define FD_CLOEXEC here.
19725         * lib/popen-safer.c: Do not alias O_NOINHERIT to O_CLOEXEC here.
19726         * lib/fcntl.in.h: Do both things here.
19727
19728 2009-08-21  Jim Meyering  <meyering@redhat.com>
19729
19730         consistently remove $@-t before redirecting to it
19731         * modules/argz: Remove $@-t and $@ before redirecting to the former.
19732         * modules/alloca-opt: Likewise.
19733         * modules/byteswap: Likewise.
19734         * modules/fnmatch: Likewise.
19735         * modules/getopt-posix: Likewise.
19736         * modules/glob: Likewise.
19737         * modules/poll: Likewise.
19738         * modules/posix_spawnp-tests: Likewise.
19739         * modules/sys_socket: Likewise.
19740         * modules/sysexits: Likewise.
19741
19742 2009-08-21  Eric Blake  <ebb9@byu.net>
19743
19744         popen: simplify access to original popen
19745         * lib/popen.c (rpl_popen): No need to worry about popen being a
19746         macro.
19747         Reported by Bruno Haible.
19748
19749 2009-08-20  Eric Blake  <ebb9@byu.net>
19750
19751         build: avoid some compiler warnings
19752         * lib/selinux-at.h: Use dir_fd, not dirfd, to avoid shadowing.
19753         * lib/exclude.c (fnmatch_pattern_has_wildcards): Use correct
19754         type.
19755         (new_exclude_segment, excluded_file_pattern_p)
19756         (excluded_file_name_p): Reduce scope.
19757         * lib/vasnprintf.c (decimal_point_char): Avoid warning on
19758         old-style declaration.
19759
19760 2009-08-20  Simon Josefsson  <simon@josefsson.org>
19761
19762         * tests/test-exclude1.sh: Handle Windows EOL.
19763         * tests/test-exclude2.sh: Likewise.
19764         * tests/test-exclude3.sh: Likewise.
19765         * tests/test-exclude4.sh: Likewise.
19766         * tests/test-exclude5.sh: Likewise.
19767         * tests/test-exclude6.sh: Likewise.
19768         * tests/test-exclude7.sh: Likewise.
19769
19770 2009-08-19  Akim Demaille  <demaille@gostai.com>
19771
19772         bootstrap: find sha1sum when named gsha1sum.
19773         * bootstrap (find_tool): New.
19774         ($SHA1SUM): New.
19775         Use it.
19776
19777 2009-08-20  Jim Meyering  <meyering@redhat.com>
19778
19779         maint.mk: _header_without_use: fix a quoting bug and remove a bash'ism
19780         * top/maint.mk (_header_without_use): Use "\\\\", not "\\" in the sed
19781         expression that converts "." in a file name to "\." in the resulting
19782         regexp.  Start with a dummy statement, so that prior shell variable
19783         definitions are expanded portably.  Reported by Simon Josefsson.
19784
19785 2009-08-20  Paolo Bonzini  <bonzini@gnu.org>
19786
19787         Fix polling for writeability of a screen buffer.
19788         * lib/poll.c: Distinguish input and screen buffers for the
19789         Win32 implementation.
19790         * lib/select.c: Likewise.
19791
19792 2009-08-19  Eric Blake  <ebb9@byu.net>
19793
19794         popen-safer: prevent popen from clobbering std descriptors
19795         * modules/popen-safer: New file.
19796         * lib/popen-safer.c: Likewise.
19797         * m4/stdio-safer.m4 (gl_POPEN_SAFER): New macro.
19798         * lib/stdio--.h (popen): Provide override.
19799         * lib/stdio-safer.h (popen_safer): Provide declaration.
19800         * tests/test-popen.c (includes): Partially test this.
19801         * modules/popen-safer-tests: New file, for more tests.
19802         * tests/test-popen-safer.c: Likewise.
19803         * MODULES.html.sh (file stream based Input/Output): Mention it.
19804
19805         tests: test some of the *-safer modules
19806         * modules/fopen-safer (Depends-on): Add fopen.
19807         * modules/fcntl-safer (Depends-on): Add fcntl.
19808         * modules/stdlib-safer (Depends-on): Add stdlib.
19809         (configure.ac): Set indicator.
19810         * modules/unistd-safer (configure.ac): Likewise.
19811         * modules/tmpfile-safer (configure.ac): Likewise.
19812         (Depends-on): Add tmpfile.
19813         * lib/stdio--.h (fopen, tmpfile): Don't override unless module is
19814         active.
19815         * tests/test-fopen.c (includes): Test safer versions when they are
19816         in use.
19817         * tests/test-open.c (includes): Likewise.
19818
19819         popen: fix cygwin 1.5 bug when stdin closed
19820         * doc/posix-functions/popen.texi (popen): Document cygwin bugs.
19821         * modules/popen: New file.
19822         * modules/popen-tests: Likewise.
19823         * tests/test-popen.c: Likewise.
19824         * m4/popen.m4: Likewise.
19825         * lib/popen.c: Likewise.
19826         * lib/stdio.in.h (popen): New declaration.
19827         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add popen.
19828         * modules/stdio (Makefile.am): Likewise.
19829         * MODULES.html.sh (systems lacking POSIX:2008): Mention it.
19830
19831 2009-08-17  Joel E. Denny  <jdenny@clemson.edu>
19832
19833         maint.mk: give full control over update-copyright exclusions
19834         * top/maint.mk (VC_LIST_EXCEPT): Instead of ChangeLog, use
19835         ${VC_LIST_EXCEPT_DEFAULT-ChangeLog} as the default exclusion.
19836         (update-copyright): Don't force inclusion of top-level
19837         ChangeLog.  Don't force exclusion of all COPYING files, but make
19838         them the default exclusion instead.
19839
19840 2009-08-16  Bruno Haible  <bruno@clisp.org>
19841
19842         Fix test failures on Solaris 10.
19843         * tests/uniconv/test-u8-conv-from-enc.c (main): Disable autodetect_jp
19844         tests when Solaris iconv() is used.
19845         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
19846         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
19847         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
19848         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
19849         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
19850
19851 2009-08-16  Bruno Haible  <bruno@clisp.org>
19852
19853         Fix test failures on Solaris 10.
19854         * tests/test-pipe-filter-ii1.sh: Determine the filename of a working
19855         'tr' program and pass it as first argument.
19856         * tests/test-pipe-filter-gi1.sh: Likewise.
19857         * tests/test-pipe-filter-ii1.c (main): Except the filename of a 'tr'
19858         program as first argument.
19859         * tests/test-pipe-filter-gi1.c (main): Likewise.
19860
19861 2009-08-16  Eric Blake  <ebb9@byu.net>
19862
19863         fpurge: fix previous commits
19864         * modules/fpurge (Makefile.am): Make replacement conditional,
19865         partially reverting 2007-04-29 change; missed in previous
19866         attempt.
19867         * m4/fpurge.m4 (gl_FUNC_FPURGE): Also compile fpurge.c when fpurge
19868         is missing.
19869
19870 2009-08-16  Bruno Haible  <bruno@clisp.org>
19871
19872         Clarify fpurge's effect on the file position.
19873         * lib/stdio.in.h (fpurge): Specify the file position after fpurge.
19874         * tests/test-fpurge.c (main): Make a second pass for checking the file
19875         position.
19876
19877 2009-08-16  Bruno Haible  <bruno@clisp.org>
19878
19879         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't compile fpurge.c if only the
19880         declaration of fpurge is missing.
19881         * tests/test-fpurge.c (main): Check that the file has not more contents
19882         than expected. Close the file before removing it.
19883
19884 2009-08-15  Eric Blake  <ebb9@byu.net>
19885
19886         fpurge: don't wrap working cygwin implementation
19887         * lib/fpurge.c (fpurge): Fix comment typo.
19888         * m4/fpurge.m4 (gl_FUNC_FPURGE): Detect BSD bug, allowing cygwin
19889         1.7 to avoid replacement.
19890         * tests/test-fpurge.c (main): Enhance test.
19891
19892 2009-08-15  Eric Blake  <ebb9@byu.net>
19893         and Jim Meyering  <meyering@redhat.com>
19894
19895         test-update-copyright: skip if perl is insufficient
19896         * tests/test-update-copyright.sh: Failure to run maintainer tool
19897         should not cause testsuite failure on cygwin 1.5.
19898
19899 2009-08-14  Eric Blake  <ebb9@byu.net>
19900
19901         doc: mention more functions added in cygwin 1.7.0
19902         * doc/posix-headers/limits.texi (limits.h): Update for recent
19903         cygwin additions.
19904         * doc/posix-headers/wordexp.texi (wordexp.h): Likewise.
19905         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
19906         * doc/posix-functions/wordfree.texi (wordfree): Likewise.
19907         * doc/posix-functions/setlocale.texi (setlocale): Likewise.
19908         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Likewise.
19909
19910 2009-08-14  Eric Blake  <ebb9@byu.net>
19911
19912         maint.mk: simplify update-copyright rule
19913         * top/maint.mk (update-copyright-local): Delete, and document how
19914         to do it in cfg.mk instead.
19915         (update-copyright-exclude-regexp): Delete, and document how to do
19916         it in .x-update-copyright instead.
19917         (update-copyright): Simplify, thanks to VC_LIST_EXCEPT.  Don't
19918         exclude ChangeLog.
19919
19920 2009-08-14  Bruno Haible  <bruno@clisp.org>
19921
19922         * m4/wchar.m4 (gl_WCHAR_H): Undo invalid optimization in last commit.
19923
19924 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
19925
19926         maint.mk: support update-copyright-env
19927         * top/maint.mk (update-copyright-env): Define place-holder.
19928         (update-copyright): Expand $(update-copyright-env) before
19929         invoking update-copyright.
19930
19931 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
19932
19933         update-copyright: implement forced reformatting
19934         * build-aux/update-copyright: Implement and document
19935         UPDATE_COPYRIGHT_FORCE.
19936         * tests/test-update-copyright.sh: Test it.
19937
19938 2009-08-14  Eric Blake  <ebb9@byu.net>
19939         and Bruno Haible  <bruno@clisp.org>
19940
19941         stddef: fix NetBSD 5.0 NULL bug, rather than working around it
19942         * tests/test-locale.c: Revert previous patch related to NULL.
19943         * tests/test-stdio.c: Likewise.
19944         * tests/test-stdlib.c: Likewise.
19945         * tests/test-string.c: Likewise.
19946         * tests/test-unistd.c: Likewise.
19947         * modules/time-tests (Depends-on): Add verify.
19948         * modules/wchar-tests (Depends-on): Likewise.
19949         * tests/test-time.c: Test for NULL compliance.
19950         * tests/test-wchar.c: Likewise.
19951         * modules/locale (Depends-on): Add stddef.
19952         * modules/stdio (Depends-on): Likewise.
19953         * modules/stdlib (Depends-on): Likewise.
19954         * modules/string (Depends-on): Likewise.
19955         * modules/time (Depends-on): Likewise.
19956         * modules/unistd (Depends-on): Likewise.
19957         * modules/wchar (Depends-on): Likewise.
19958         * lib/locale.in.h (includes): Use <stddef.h> to fix NULL.
19959         * lib/stdlib.in.h (includes): Likewise.
19960         * lib/string.in.h (includes): Likewise.
19961         * lib/time.in.h (includes): Likewise.
19962         * lib/unistd.in.h (includes): Likewise.
19963         * m4/locale_h.m4 (gl_LOCALE_H): Replace locale.h if stddef.h was
19964         replaced.
19965         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
19966         * m4/stddef_h.m4: New file.
19967         * modules/stddef: Likewise.
19968         * lib/stddef.in.h: Likewise.
19969         * modules/stddef-tests: Likewise.
19970         * tests/test-stddef.c: Likewise.
19971         * MODULES.html.sh (Basic types <stddef.h>): Mention new module.
19972         * doc/posix-headers/stddef.texi (stddef.h): Document the bug.
19973         * doc/posix-headers/locale.texi (locale.h): Likewise.
19974         * doc/posix-headers/stdio.texi (stdio.h): Likewise.
19975         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
19976         * doc/posix-headers/string.texi (string.h): Likewise.
19977         * doc/posix-headers/time.texi (time.h): Likewise.
19978         * doc/posix-headers/unistd.texi (unistd.h): Likewise.
19979         * doc/posix-headers/wchar.texi (wchar.h): Likewise.
19980
19981 2009-08-14  Eric Blake  <ebb9@byu.net>
19982
19983         doc: improve git diff of texinfo files
19984         * .gitattributes: Add rule for *.texi files, with hint on how to
19985         use it.
19986         Copied from m4, and based on a report by Bruno Haible.
19987
19988 2009-08-14  Bruno Haible  <bruno@clisp.org>
19989
19990         Disable multithread support by default on Cygwin 1.5.x for real.
19991         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Fix last commit.
19992
19993 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
19994
19995         update-copyright: much ado about intervals
19996         * build-aux/update-copyright: Implement and document
19997         UPDATE_COPYRIGHT_USE_INTERVALS to control expansion and collapse
19998         of copyright year intervals.
19999         Also, document UPDATE_COPYRIGHT_YEAR.
20000         * tests/test-update-copyright.sh: Test it.
20001
20002         update-copyright: convert 2-digit to 4-digit years
20003         * build-aux/update-copyright: Implement and document.
20004         * tests/test-update-copyright.sh: Update.
20005
20006 2009-08-14  Jim Meyering  <meyering@redhat.com>
20007
20008         test-exclude: avoid coreutils "make check" failure
20009         * tests/test-exclude.c (ARGMATCH_DIE_DECL) [ARGMATCH_DIE_DECL]: Define,
20010         just as in test-argmatch.c.
20011
20012 2009-08-13  Eric Blake  <ebb9@byu.net>
20013
20014         test-dup2: fix bad assumption
20015         * tests/test-dup2.c (main): Tolerate leaked fds from environment.
20016         Reported by Peter Breitenlohner <peb@mppmu.mpg.de>.
20017
20018         test-version-etc: fix CRLF portability issue
20019         * tests/test-version-etc.sh: Use tr, not sed, as not all sed
20020         recognize \r.
20021         * tests/test-argp-version-etc-1.sh: Likewise.
20022
20023         getopt: update client modules
20024         * modules/argp (Depends-on): Use getopt-gnu.
20025         * modules/git-merge-changelog (Depends-on): Likewise.
20026         * modules/long-options (Depends-on): Likewise.
20027         * modules/xstrtol (Depends-on): Likewise.
20028
20029 2009-08-13  Simon Josefsson  <simon@josefsson.org>
20030
20031         * tests/test-version-etc.sh: Don't fail on different
20032         project/version.  Don't fail on CRLF differences.  Rewrite to use
20033         multiple -e instead of multiple sed forks, suggested by Eric Blake
20034         <ebb9@byu.net>.
20035         * tests/test-argp-version-etc-1.sh: Likewise.
20036
20037 2009-08-13  Simon Josefsson  <simon@josefsson.org>
20038
20039         * tests/test-version-etc.sh: Don't fail on different
20040         project/version.
20041
20042 2009-08-12  Bruno Haible  <bruno@clisp.org>
20043
20044         Tests for modules 'getopt-posix', 'getopt-gnu'.
20045         * modules/getopt-posix-tests: New file.
20046         * tests/test-getopt.c: New file.
20047         * tests/test-getopt.h: New file.
20048         * tests/test-getopt_long.h: New file.
20049
20050         New modules 'getopt-posix', 'getopt-gnu'.
20051         * modules/getopt-gnu: New file, renamed from modules/getopt.
20052         * modules/getopt-posix: New file.
20053         * modules/getopt: Turn into an obsolete alias for getopt-gnu.
20054         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX, gl_FUNC_GETOPT_GNU): New macros.
20055         (gl_GETOPT): Remove macro.
20056         (gl_GETOPT_CHECK_HEADERS): Do some checks only for gl_FUNC_GETOPT_GNU.
20057         Disable the test against BSD systems that declare optreset. Test
20058         against mingw bug. Test against lack of support of optional arguments
20059         on many platforms.
20060         * doc/glibc-headers/getopt.texi: Update module name and list of
20061         relevant platforms.
20062         * doc/posix-functions/getopt.texi: Mention modules 'getopt-posix' and
20063         'getopt-gnu' and more portability problems.
20064         * NEWS: Mention the changes.
20065
20066 2009-08-12  Bruno Haible  <bruno@clisp.org>
20067
20068         Ensure that optarg etc. get declared by <unistd.h>.
20069         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require
20070         AC_USE_SYSTEM_EXTENSIONS.
20071         * modules/getopt (Depends-on): Add 'extensions'.
20072
20073 2009-08-12  Bruno Haible  <bruno@clisp.org>
20074
20075         Avoid test link errors.
20076         * modules/pipe-filter-ii-tests (Makefile.am): Define
20077         test_pipe_filter_ii1_LDADD and test_pipe_filter_ii2_main_LDADD.
20078         * modules/pipe-filter-gi-tests (Makefile.am): Define
20079         test_pipe_filter_gi1_LDADD and test_pipe_filter_gi2_main_LDADD.
20080         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
20081
20082 2009-08-12  Bruno Haible  <bruno@clisp.org>
20083
20084         * m4/getopt.m4 (gl_REPLACE_GETOPT): New macro, was called
20085         gl_GETOPT_SUBSTITUTE before.
20086         (gl_GETOPT): Use it.
20087         * m4/argp.m4 (gl_ARGP): Update.
20088         Reported by Sergey Poznyakoff.
20089
20090         * m4/getopt.m4: Reorder macros.
20091         (gl_GETOPT): Inline gl_GETOPT_SUBSTITUTE.
20092         (gl_GETOPT_SUBSTITUTE): Remove macro.
20093
20094 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
20095
20096         Minor improvement in gitlog-to-changelog
20097
20098         * build-aux/gitlog-to-changelog: New option `--format' makes
20099         output format string configurable.
20100
20101 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
20102
20103         Optimize exclude: use hash tables for non-wildcard patterns.
20104
20105         * lib/exclude.c: Include hash.h and mbuiter.h
20106         (struct exclude_pattern, exclude_segment): New data types.
20107         (struct exclude): Rewrite.
20108         (fnmatch_pattern_has_wildcards): New function.
20109         (new_exclude_segment, free_exclude_segment): New functions.
20110         (excluded_file_pattern_p, excluded_file_name_p): New functions.
20111         (excluded_file_name, add_exclude): Rewrite using new struct exclude.
20112         * lib/exclude.h (is_fnmatch_pattern): New prototype.
20113         * modules/exclude: Depend on hash and mbuiter.
20114
20115         * modules/exclude-tests: New file.
20116         * tests/test-exclude.c: New file.
20117         * tests/test-exclude1.sh: New file.
20118         * tests/test-exclude2.sh: New file.
20119         * tests/test-exclude3.sh: New file.
20120         * tests/test-exclude4.sh: New file.
20121         * tests/test-exclude5.sh: New file.
20122         * tests/test-exclude6.sh: New file.
20123         * tests/test-exclude7.sh: New file.
20124
20125 2009-08-12  Bruno Haible  <bruno@clisp.org>
20126
20127         Ensure that getopt() gets declared by <unistd.h>.
20128         * lib/unistd.in.h: Conditionally include getopt.h.
20129         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Require gl_UNISTD_H_DEFAULTS.
20130         Set GNULIB_UNISTD_H_GETOPT.
20131         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
20132         GNULIB_UNISTD_H_GETOPT.
20133         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_GETOPT.
20134
20135 2009-08-12  Bruno Haible  <bruno@clisp.org>
20136
20137         Clarify logic.
20138         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS, gl_GETOPT_IFELSE): Use
20139         gl_replace_getopt instead of GETOPT_H.
20140
20141 2009-08-12  Bruno Haible  <bruno@clisp.org>
20142
20143         * m4/getopt.m4: Add comments.
20144
20145 2009-08-12  Bruno Haible  <bruno@clisp.org>
20146
20147         Disable multithread support by default on Cygwin 1.5.x.
20148         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): On Cygwin 1.5.x and older,
20149         set gl_use_threads=no if not specified otherwise.
20150
20151 2009-08-11  Bruno Haible  <bruno@clisp.org>
20152
20153         Avoid compilation error on NetBSD 5.0.
20154         * tests/test-locale.c: Write sizeof (NULL) instead of sizeof NULL.
20155         * tests/test-stdio.c: Likewise.
20156         * tests/test-stdlib.c: Likewise.
20157         * tests/test-string.c: Likewise.
20158         * tests/test-unistd.c: Likewise.
20159         Reported by Greg Troxel <gdt@ir.bbn.com>
20160         at <https://savannah.gnu.org/support/?106973>.
20161
20162 2009-08-11  Bruno Haible  <bruno@clisp.org>
20163
20164         * modules/dup2-tests (Depends-on): Remove close.
20165
20166         Undo 2009-07-19 commit.
20167         * modules/acl-tests (Depends-on): Remove close.
20168         * modules/binary-io-tests (Depends-on): Likewise.
20169         * modules/closein-tests (Depends-on): Likewise.
20170         * modules/flock-tests (Depends-on): Likewise.
20171         * modules/fsync-tests (Depends-on): Likewise.
20172         * modules/lseek-tests (Depends-on): Likewise.
20173         * modules/pipe-tests (Depends-on): Likewise.
20174         * modules/posix_spawn-tests (Depends-on): Likewise.
20175         * modules/posix_spawnp-tests (Depends-on): Likewise.
20176         * modules/stat-time-tests (Depends-on): Likewise.
20177         * modules/yesno-tests (Depends-on): Likewise.
20178
20179 2009-08-10  Bruno Haible  <bruno@clisp.org>
20180
20181         * lib/vasnprintf.c (DCHAR_SET): Undefine at the end.
20182
20183 2009-08-10  Bruno Haible  <bruno@clisp.org>
20184
20185         Fix a gcc warning.
20186         * lib/write.c (rpl_write): Cast result of _get_osfhandle.
20187
20188 2009-08-10  Bruno Haible  <bruno@clisp.org>
20189
20190         Don't optimize AC_LIBOBJs, as they may appear in different contexts.
20191         * m4/close.m4 (gl_REPLACE_CLOSE): Execute AC_LIBOBJ unconditionally,
20192         not only the first time.
20193         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Likewise.
20194         * m4/open.m4 (gl_REPLACE_OPEN): Likewise.
20195         * m4/strstr.m4 (gl_FUNC_STRSTR): Execute AC_LIBOBJ when REPLACE_STRSTR
20196         is 1, not only the the first time.
20197
20198 2009-08-10  Bruno Haible  <bruno@clisp.org>
20199
20200         Make it possible to use module 'gethostname' without module 'close'.
20201         * lib/unistd.in.h (close): Evoke a link error only if
20202         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
20203         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
20204         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
20205         * modules/unistd (Makefile.am): Substitute
20206         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
20207         * lib/sys_ioctl.in.h (ioctl): Evoke a link error only if
20208         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
20209         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
20210         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
20211         * modules/sys_ioctl (Makefile.am): Substitute
20212         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
20213         * modules/socket (configure.ac): On native Windows, set
20214         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS and
20215         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
20216         Reported by Sam Steingold <sds@gnu.org>.
20217
20218 2009-08-10  Bruno Haible  <bruno@clisp.org>
20219
20220         * m4/close.m4 (gl_FUNC_CLOSE): Add comment.
20221         * modules/ioctl (configure.ac): Likewise.
20222
20223 2009-08-10  Bruno Haible  <bruno@clisp.org>
20224
20225         Avoid collision between gnulib wrapper and libintl wrapper.
20226         * lib/stdio-write.c (printf): Don't define if a printf wrapper is
20227         already defined in intl/printf.c.
20228         (vprintf): Test REPLACE_VPRINTF_POSIX, not REPLACE_VFPRINTF_POSIX.
20229         (vfprintf): Test REPLACE_VFPRINTF_POSIX, not REPLACE_VPRINTF_POSIX.
20230
20231 2009-08-09  Bruno Haible  <bruno@clisp.org>
20232
20233         Make <sys/select.h> really self-contained, also on Solaris 10.
20234         * lib/sys_select.in.h: Include <string.h>.
20235         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Test also against
20236         Solaris 10 problem.
20237         * tests/test-sys_select.c (main): Add check that FD_ZERO can be used.
20238         * doc/posix-headers/sys_select.texi: Mention the Solaris 10 problem.
20239         Reported by Jim Meyering.
20240
20241 2009-08-09  Bruno Haible  <bruno@clisp.org>
20242
20243         Avoid warnings from 'aclocal' that are due to a use of macro name
20244         AM_XGETTEXT_OPTION that is not defined in automake.
20245         * modules/argp (configure.ac): Hide use of AM_XGETTEXT_OPTION from
20246         automake.
20247         * modules/error (configure.ac): Likewise.
20248         * modules/propername (configure.ac): Likewise.
20249         * modules/vasprintf (configure.ac): Likewise.
20250         * modules/verror (configure.ac): Likewise.
20251         * modules/xprintf (configure.ac): Likewise.
20252         * modules/xvasprintf (configure.ac): Likewise.
20253
20254 2009-08-08  Bruno Haible  <bruno@clisp.org>
20255
20256         Avoid compilation error in C++ mode.
20257         * lib/gettimeofday.c (rpl_gettimeofday): Cast timezone argument.
20258         Reported by Sam Steingold <sds@gnu.org>.
20259
20260 2009-08-08  Bruno Haible  <bruno@clisp.org>
20261
20262         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Define HOST_NAME_MAX also
20263         for the various Unix platforms.
20264         * doc/posix-headers/limits.texi: Update platforms list regarding
20265         HOST_NAME_MAX.
20266         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
20267
20268 2009-08-07  Jim Meyering  <meyering@redhat.com>
20269
20270         selinux-at: fix typo in a comment
20271         * lib/selinux-at.h: s/getfileconat/getfilecon/ in a comment.
20272         Spotted by Paolo Bonzini.
20273
20274         selinux-at: remove redundant m4 code, add documentation
20275         * modules/selinux-at (configure.ac): Remove redundant code.
20276         LIB_SELINUX is already set via the dependent module, selinux-h.
20277         (Include): Add quotes around selinux-at.h.
20278         * lib/selinux-at.h: Add documentation.
20279         Reported by Bruno Haible in
20280         http://marc.info/?l=gnulib-bug&m=124958988300749
20281
20282 2009-08-07  Bruno Haible  <bruno@clisp.org>
20283
20284         Avoid link error on MacOS X 10.3 and 10.4.
20285         * lib/argp-ba.c (argp_program_bug_address): Explicitly zero-initialize
20286         on non-ELF systems.
20287         * lib/argp-pv.c (argp_program_version): Likewise.
20288         Reported by Simon Josefsson.
20289
20290 2009-08-07  Simon Josefsson  <simon@josefsson.org>
20291
20292         * tests/test-version-etc.sh: Use $EXEEXT.
20293
20294 2009-08-06  Joel E. Denny  <jdenny@clemson.edu>
20295
20296         update-copyright: update documentation to point to maint.mk
20297         * build-aux/update-copyright: Here.
20298
20299 2009-08-06  Jim Meyering  <meyering@redhat.com>
20300
20301         maint.mk: support update-copyright-local
20302         * top/maint.mk (update-copyright-local): Define place-holder.
20303         (update-copyright): Depend on $(update-copyright-local).
20304
20305 2009-08-06  Jim Meyering  <meyering@redhat.com>
20306
20307         selinux-at: new module
20308         Initially written for coreutils, this module will soon be
20309         used by findutils, too.
20310         * MODULES.html.sh [Misc]: Add selinux-at.
20311         * lib/selinux-at.h: New file, from coreutils.
20312         * lib/selinux-at.c: Likewise.
20313         * modules/selinux-at: Likewise.
20314         (License): Change from LGPL to GPL, since it depends
20315         on the GPL'd openat module.
20316
20317         doc: update README
20318         * README: Remove references to cogito.
20319         Remove cvs-repo-updating instructions from 2007.
20320         Don't imply that CVS is better if you have limited disk space.
20321
20322 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
20323
20324         update-copyright: support C-style comments
20325         * build-aux/update-copyright: Implement and document.
20326         * tests/test-update-copyright.sh: Test.
20327
20328 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
20329
20330         update-copyright: support omitted "(C)"
20331         * build-aux/update-copyright: Implement and document.  Also,
20332         allow variable whitespace before "(C)".
20333         * tests/test-update-copyright.sh: Test.
20334
20335 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
20336
20337         update-copyright: don't trip on non-FSF copyright statements
20338         * build-aux/update-copyright: Fix so that the first correctly
20339         formatted FSF copyright statement is recognized no matter what
20340         appears before it.  Update documentation.
20341         * tests/test-update-copyright.sh: Test that.
20342
20343 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
20344
20345         update-copyright: clean up code a little
20346         * build-aux/update-copyright: Append "_re" to the name of any
20347         variable holding a regular expression.
20348         Replace "old" and "new" with "stmt" in variable names.
20349         Do not accept 2-digit UPDATE_COPYRIGHT_YEAR, which was not
20350         handled correctly.
20351         Format code more consistently.
20352
20353 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
20354
20355         update-copyright-tests: improve portability
20356         * tests/test-update-copyright.sh: Use cmp if diff cannot handle
20357         -u or /dev/null.  Suggested by Jim Meyering and Eric Blake.
20358
20359 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
20360
20361         update-copyright: support @copyright{} and &copy;
20362         * build-aux/update-copyright: Implement and document.
20363         * tests/test-update-copyright.sh: Test.
20364
20365 2009-08-04  Jim Meyering  <meyering@redhat.com>
20366
20367         update-copyright-tests: correctly test EOL=\r\n handling
20368         * tests/test-update-copyright.sh: Put \r at the end of some lines
20369         for the dos-eol tests.  Based on a patch by Joel E. Denny.
20370
20371         maint.mk: make update-copyright exclusion list more configurable
20372         * top/maint.mk (update-copyright): Default to excluding COPYING,
20373         but allow an override, in case someone does want to update that file.
20374
20375         maint.mk: don't update copyright date in COPYING
20376         * top/maint.mk (update-copyright): Exclude COPYING.
20377
20378         maint.mk: add a copyright-updating rule
20379         * top/maint.mk (update-copyright): New rule.
20380         Derived from coreutils/Makefile.am.
20381
20382         update-copyright: rename some variables
20383         * build-aux/update-copyright: Rename a few variables for clarity.
20384         Tweak syntax.  List Joel E. Denny as coauthor.
20385
20386 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
20387
20388         update-copyright: fix bug for 2-digit last year and add tests
20389         * build-aux/update-copyright: Fix bug.
20390         Use UPDATE_COPYRIGHT_YEAR from environment as current year if
20391         specified.
20392         * modules/update-copyright-tests: New
20393         * tests/test-update-copyright.sh: New.
20394
20395 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
20396
20397         update-copyright: handle leading tabs in line prefix
20398         * build-aux/update-copyright: Count leading tabs as 8 spaces
20399         when computing margin.  This helps with the formatting of
20400         ChangeLogs, for example.
20401         Fix documentation a little.
20402
20403 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
20404
20405         update-copyright: support EOL=\r\n
20406         * build-aux/update-copyright: Implement that.
20407
20408 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
20409
20410         update-copyright: automatically format copyright statements
20411         * build-aux/update-copyright: Implement that.
20412         Also, be a little more predictable and safer by always failing
20413         when the full copyright format is not perfectly recognized as an
20414         unbroken whole.  Discussed at
20415         <http://lists.gnu.org/archive/html/bug-gnulib/2009-07/msg00131.html>.
20416         Rewrite documentation.
20417
20418 2009-08-03  Bruno Haible  <bruno@clisp.org>
20419
20420         * m4/iconv.m4 (AM_ICONV): Fix displayed message with autoconf-2.64.
20421
20422 2009-08-02  Bruno Haible  <bruno@clisp.org>
20423
20424         Tests for module 'uname'.
20425         * modules/uname-tests: New file.
20426         * tests/test-uname.c: New file.
20427
20428         New module 'uname'.
20429         * lib/uname.c: New file.
20430         * m4/uname.m4: New file.
20431         * modules/uname: New file.
20432         * doc/posix-functions/uname.texi: Mention the new module.
20433
20434 2009-08-02  Bruno Haible  <bruno@clisp.org>
20435
20436         Tests for module 'sys_utsname'.
20437         * modules/sys_utsname-tests: New file.
20438         * tests/test-sys_utsname.c: New file.
20439
20440         New module 'sys_utsname'.
20441         * lib/sys_utsname.in.h: New file, based on glibc's <sys/utsname.h>.
20442         * m4/sys_utsname_h.m4: New file.
20443         * modules/sys_utsname: New file.
20444         * doc/posix-headers/sys_utsname.texi: Mention the new module.
20445
20446 2009-08-02  Bruno Haible  <bruno@clisp.org>
20447
20448         Implicitly initialize the sockets library.
20449         * lib/gethostname.c: Include sockets.h.
20450         (rpl_gethostname): Invoke gl_sockets_startup.
20451         * lib/socket.c: Include sockets.h.
20452         (rpl_socket): Invoke gl_sockets_startup.
20453         * modules/gethostname (Depends-on): Add sockets.
20454         * modules/socket (Depends-on): Likewise.
20455         * tests/test-poll.c: Don't include sockets.h.
20456         (main): Don't invoke gl_sockets_startup.
20457         * tests/test-select.c: Don't include sockets.h.
20458         (main): Don't invoke gl_sockets_startup.
20459
20460 2009-08-02  Bruno Haible  <bruno@clisp.org>
20461
20462         Allow multiple calls to gl_sockets_startup.
20463         * lib/sockets.c (initialized_sockets_version): New variable.
20464         (gl_sockets_startup): Do nothing if already called for this or a higher
20465         version.
20466         (gl_sockets_cleanup): Reset initialized_sockets_version.
20467
20468 2009-08-03  Simon Josefsson  <simon@josefsson.org>
20469
20470         * tests/test-argp-version-etc-1.sh: Use EXEEXT.  Don't fail on
20471         different project/version.
20472
20473 2009-08-02  Paolo Bonzini  <bonzini@gnu.org>
20474             Bruno Haible  <bruno@clisp.org>
20475
20476         Tests for module 'pipe-filter-gi'.
20477         * modules/pipe-filter-gi-tests: New file.
20478         * tests/test-pipe-filter-gi1.sh: New file.
20479         * tests/test-pipe-filter-gi1.c: New file.
20480         * tests/test-pipe-filter-gi2.sh: New file.
20481         * tests/test-pipe-filter-gi2-main.c: New file.
20482         * tests/test-pipe-filter-gi2-child.c: New file.
20483
20484         New module 'pipe-filter-gi'.
20485         * lib/pipe-filter-gi.c: New file.
20486         * modules/pipe-filter-gi: New file.
20487
20488 2009-08-02  Bruno Haible  <bruno@clisp.org>
20489             Paolo Bonzini  <bonzini@gnu.org>
20490
20491         Tests for module 'pipe-filter-ii'.
20492         * modules/pipe-filter-ii-tests: New file.
20493         * tests/test-pipe-filter-ii1.sh: New file.
20494         * tests/test-pipe-filter-ii1.c: New file.
20495         * tests/test-pipe-filter-ii2.sh: New file.
20496         * tests/test-pipe-filter-ii2-main.c: New file.
20497         * tests/test-pipe-filter-ii2-child.c: New file.
20498
20499         New module 'pipe-filter-ii'.
20500         * lib/pipe-filter.h: New file.
20501         * lib/pipe-filter-ii.c: New file.
20502         * lib/pipe-filter-aux.h: New file.
20503         * modules/pipe-filter-ii: New file.
20504
20505 2009-08-02  Simon Josefsson  <simon@josefsson.org>
20506
20507         * lib/gc-libgcrypt.c: Change copyright to FSF.
20508         * lib/gc-gnulib.c: Likewise.
20509
20510 2009-08-02  Martin Lambers  <marlam@marlam.de>  (tiny change)
20511
20512         * lib/gethostname.c: Include limits.h.
20513
20514 2009-08-02  Simon Josefsson  <simon@josefsson.org>
20515             Bruno Haible  <bruno@clisp.org>
20516
20517         Ensure HOST_NAME_MAX as part of the gethostname module.
20518         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): On native Windows platforms,
20519         define also HOST_NAME_MAX.
20520         * tests/test-gethostname.c: Include <limits.h>.
20521         (main): Check also HOST_NAME_MAX.
20522         * doc/posix-headers/limits.texi: Document the mingw problem.
20523
20524 2009-08-02  Bruno Haible  <bruno@clisp.org>
20525
20526         * lib/gethostname.c (gethostname): Fix handling of large len argument.
20527         Add comments.
20528
20529 2009-03-31  Simon Josefsson  <simon@josefsson.org>
20530
20531         * lib/gethostname.c: Add Windows wrapper.
20532         * m4/gethostname.m4: Look for gethostname in -lws2_32.
20533         * modules/gethostname: Depend on sys_socket & errno, for also
20534         added lib/w32sock.h.  Add GETHOSTNAME_LIB link directive.
20535         * modules/gethostname-tests: Link to @GETHOSTNAME_LIB@.
20536
20537 2009-07-31  Jim Meyering  <meyering@redhat.com>
20538
20539         getloadavg: fix symbol name in comment
20540         * lib/getloadavg.c: Correct a typo I introduced when adding
20541         comments to Matt's change: s/NLIST_POINTER/N_NAME_POINTER/.
20542         Matt Kraai spotted the problem.
20543
20544 2009-07-29  Matt Kraai  <mkraai@beckman.com>
20545
20546         getloadavg: check whether n_name is a pointer, for QNX 6.4.1
20547         * lib/getloadavg.c (getloadavg): Use the strcpy-into-nlist.n_name
20548         code also if ! defined N_NAME_POINTER.
20549         * m4/getloadavg.m4 (gl_GETLOADAVG): Add a link-test for N_NAME_POINTER.
20550         This is required on QNX 6.4.1, where /usr/include/nlist.h exists,
20551         but the n_name member is a 12-byte array.
20552
20553 2009-07-29  Joel E. Denny  <jdenny@clemson.edu>
20554
20555         update-copyright: generalize comment handling
20556         * build-aux/update-copyright: Handle copyright statements
20557         within more comment styles.
20558         Document usage.
20559         Report any file with an external copyright holder or parse failure.
20560
20561 2009-07-29  Jim Meyering  <meyering@redhat.com>
20562
20563         mktime: correct setting of REPLACE_MKTIME
20564         * m4/mktime.m4 (gl_FUNC_MKTIME): Set REPLACE_MKTIME=0, when required.
20565
20566         update-copyright: new module
20567         * modules/update-copyright: New file.
20568         * build-aux/update-copyright: New file.
20569         * MODULES.html.sh (maint+release support): Add update-copyright.
20570
20571 2009-07-27  Bruno Haible  <bruno@clisp.org>
20572
20573         Fix compilation error when <ctime> is used and mktime is replaced.
20574         * lib/time.in.h (mktime): New declaration.
20575         * m4/mktime.m4 (gl_FUNC_MKTIME): Require gl_HEADER_TIME_H_DEFAULTS. Set
20576         REPLACE_MKTIME instead of defining mktime in config.h.
20577         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize REPLACE_MKTIME.
20578         * modules/time (Makefile.am): Substitute REPLACE_MKTIME.
20579         Reported by Ross McFarland <rwmcfa1@neces.com>.
20580
20581 2009-07-27  Bruno Haible  <bruno@clisp.org>
20582
20583         * lib/math.in.h (cosl, logl, sinl): Undefine before declaring it.
20584         Reported by Matt Kraai <mkraai@beckman.com>.
20585
20586 2009-07-25  Jim Meyering  <meyering@redhat.com>
20587
20588         maint.mk: avoid warnings about missing files
20589         * top/maint.mk (PREV_VERSION): Suppress stderr, to hide a
20590         diagnostic when .prev-version does not exist.
20591         (_cfg_mk): Define, so it can be empty when cfg.mk does not exist.
20592         (syntax-check-rules): Use $(_cfg_mk) to avoid a diagnostic about
20593         nonexistent cfg.mk.
20594         Suggestions from Simon Josefsson.
20595
20596 2009-07-25  Bruno Haible  <bruno@clisp.org>
20597
20598         * lib/math.in.h (cosl, logl, sinl): Don't declare if they are already
20599         defined as macros. Needed on QNX 6.4.1.
20600         Reported by Matt Kraai <mkraai@beckman.com>.
20601
20602 2009-07-23  Jim Meyering  <meyering@redhat.com>
20603
20604         maint.mk: invoke "make dist" with a working value of XZ_OPT
20605         * top/maint.mk (vc-dist): Use no "-" in the value of XZ_OPT.
20606
20607 2009-07-22  Matt Kraai  <mkraai@beckman.com>  (tiny change)
20608
20609         Make fseeko.c compile on QNX.
20610         * lib/fseeko.c (rpl_fseeko): Use the numerical value of _MWRITE.
20611
20612 2009-07-22  Peter Simons  <simons@cryp.to>
20613
20614         C++: wrap md2,md5,sha1,etc. function declarations in extern "C" scope
20615         * lib/md2.h [__cplusplus]: Wrap declarations in extern "C" scope.
20616         * lib/md4.h: Likewise.
20617         * lib/md5.h: Likewise.
20618         * lib/sha1.h: Likewise.
20619         * lib/sha256.h: Likewise.
20620         * lib/sha512.h: Likewise.
20621
20622         tests-sha1: don't assign literal string to 'char *' variable
20623         * tests/test-sha1.c (main): Declare locals with "const" to match
20624         attributes of the right hand side.
20625
20626 2009-07-21  Eric Blake  <ebb9@byu.net>
20627
20628         dup2: fix more mingw problems
20629         * lib/dup2.c (rpl_dup2) [_WIN32]: Avoid hanging when duplicating
20630         fd to itself.
20631         * doc/posix-functions/dup2.texi (dup2): Document the bug.
20632         * lib/unistd.in.h (dup2) [REPLACE_FCHDIR]: Avoid name collision.
20633         * lib/fchdir.c (dup2): Manage preprocessor macros correctly.
20634         (rpl_dup2_fchdir): Rename from rpl_dup2, and let dup2 module take
20635         care of mingw bugs.
20636
20637 2009-07-21  Jim Meyering  <meyering@redhat.com>
20638
20639         vc-list-files: avoid failure when /bin/sh is dash
20640         * build-aux/vc-list-files: Avoid a shell portability problem with dash.
20641         On some Debian based systems, /bin/sh is a symlink to dash, and running
20642         this command would omit the "/" following each 'tests' prefix:
20643           dash -x build-aux/vc-list-files -C . tests
20644         That is because bash and dash work differently:
20645           $ for i in bash dash; do $i -c 'a=odd; a=ok b=$a; echo '$i' $b'; done
20646           bash ok
20647           dash odd
20648
20649 2009-07-21  Eric Blake  <ebb9@byu.net>
20650
20651         dup2-tests: test previous patch
20652         * modules/dup2-tests: New file.
20653         * tests/test-dup2.c: Likewise.
20654         * tests/test-open.c (main): Avoid unspecified behavior.
20655         * tests/test-pipe.c (child_main): Use dup2 semantics to simplify
20656         test.
20657
20658         dup2: work around mingw and cygwin 1.5 bug
20659         * m4/dup2.m4 (gl_FUNC_DUP2): Detect mingw bug.
20660         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
20661         * modules/unistd (Makefile.am): Substitute it.
20662         * lib/unistd.in.h (dup2): Declare the replacement.
20663         * lib/dup2.c (dup2) [REPLACE_DUP2]: Implement it.
20664         * doc/posix-functions/dup2.texi (dup2): Document the bugs.
20665         * lib/fchdir.c (rpl_dup2): Don't collide with mingw replacement.
20666         * modules/execute (Depends-on): Add dup2.
20667         * modules/fseterr (Depends-on): Likewise.
20668         * modules/pipe (Depends-on): Likewise.
20669         * modules/posix_spawn-internal (Depends-on): Likewise.
20670
20671 2009-07-21  Bruno Haible  <bruno@clisp.org>
20672
20673         * modules/.gitattributes: New file.
20674
20675 2009-07-20  Bruno Haible  <bruno@clisp.org>
20676
20677         * tests/test-pipe.c (BACKUP_STDERR_FILENO): New macro.
20678         (main): Use it.
20679
20680 2009-07-20  Eric Blake  <ebb9@byu.net>
20681
20682         test-pipe: make a bit more robust.
20683         * tests/test-pipe.c (myerr): Allow error messages regardless of
20684         what we do to stderr.
20685         (test_pipe): Rearrange to avoid deadlock.
20686         (child_main): Try a larger read, to ensure we avoided deadlock.
20687         * lib/pipe.c (create_pipe) [_WIN32]: Fix comment.
20688         * lib/pipe.h (create_pipe_bidi): Document potential for deadlock
20689         if misused.
20690
20691 2009-07-19  Jim Meyering  <meyering@redhat.com>
20692
20693         fts: avoid false-positive cycle-detection
20694         * lib/fts.c (fts_read): Reinitialize cycle-detection data structures
20695         for each new command line argument.
20696
20697 2009-07-19  Bruno Haible  <bruno@clisp.org>
20698
20699         Fix build error on mingw with the modules sys_select and unistd.
20700         * modules/acl-tests (Depends-on): Add close.
20701         * modules/binary-io-tests (Depends-on): Likewise.
20702         * modules/closein-tests (Depends-on): Likewise.
20703         * modules/flock-tests (Depends-on): Likewise.
20704         * modules/fsync-tests (Depends-on): Likewise.
20705         * modules/lseek-tests (Depends-on): Likewise.
20706         * modules/pipe-tests (Depends-on): Likewise.
20707         * modules/posix_spawn-tests (Depends-on): Likewise.
20708         * modules/posix_spawnp-tests (Depends-on): Likewise.
20709         * modules/stat-time-tests (Depends-on): Likewise.
20710         * modules/yesno-tests (Depends-on): Likewise.
20711
20712 2009-07-19  Bruno Haible  <bruno@clisp.org>
20713
20714         Unify conditionals.
20715         * lib/pipe.h: Detect native Win32 by looking at _WIN32 and __WIN32__
20716         macros, not at the compiler macros.
20717         * lib/pipe.c: Likewise.
20718         * lib/execute.c: Likewise.
20719         * lib/spawni.c: Likewise.
20720
20721 2009-07-19  Bruno Haible  <bruno@clisp.org>
20722
20723         Fix handling of closed stdin/stdout/stderr on mingw.
20724         * lib/w32spawn.h: Include unistd.h.
20725         (dup_noinherit): Return -1 if the old handle is invalid. Allocate new
20726         file descriptor with O_NOINHERIT flag.
20727         (fd_safer_noinherit): New function, based on fd-safer.c.
20728         (dup_safer_noinherit): New function, based on dup-safer.c.
20729         (undup_safer_noinherit): New function.
20730         * lib/execute.c (execute) [WIN32]: Use dup_safer_noinherit instead of
20731         dup_noinherit. Use undup_safer_noinherit instead of dup2 and close.
20732         * lib/pipe.c (create_pipe) [WIN32]: Likewise. Use fd_safer_noinherit
20733         instead of fd_safer.
20734         * tests/test-pipe.c: Include <windows.h>.
20735         (child_main) [WIN32]: Test the handle of STDERR_FILENO, not its close() result.
20736
20737         * tests/test-pipe.c (child_main, parent_main): New functions, extracted
20738         from main.
20739         (test_pipe): Pass an extra argument for disambiguation.
20740         (main): Invoke parent_main or child_main.
20741
20742         * tests/test-pipe.c (test_pipe): Pass slave_process = true argument
20743         consistently.
20744
20745 2009-07-18  Eric Blake  <ebb9@byu.net>
20746
20747         test-pipe: fix mingw build
20748         * tests/test-pipe.c (main): Avoid fcntl on mingw.
20749
20750 2009-07-18  Bruno Haible  <bruno@clisp.org>
20751
20752         * modules/pipe-tests (Makefile.am): Fix typo.
20753
20754 2009-07-18  Eric Blake  <ebb9@byu.net>
20755
20756         error: fix mingw build
20757         * lib/error.c (error, error_at_line): Avoid fcntl on mingw.
20758         Reported by Bruno Haible.
20759
20760         error: avoid undefined use of stdout
20761         * lib/error.c (error, error_at_line): Check that fd 1 is open
20762         before flushing stdout.  Avoids a crash on cygwin when libsigsegv
20763         is handling faults and the close_stdout module wants to report the
20764         detection of closed stdout as an error.
20765
20766 2009-07-17  Eric Blake  <ebb9@byu.net>
20767
20768         pipe: be robust in face of closed fds
20769         * lib/pipe.c (create_pipe): Closed standard descriptors in parent
20770         should cause child to misbehave.
20771         * modules/pipe-tests: New module.
20772         * tests/test-pipe.c: New file.
20773         * tests/test-pipe.sh: New file.
20774         Reported by Akim Demaille.
20775
20776 2009-07-14  Bruno Haible  <bruno@clisp.org>
20777
20778         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Guess it works on glibc systems.
20779         Reported by anonymous kc.
20780
20781 2009-07-07  Jim Meyering  <meyering@redhat.com>
20782
20783         maint.mk: don't look for translatable strings in *.m4 or *.mk
20784         * top/maint.mk (sc_po_check): Skip *.m4 and *.mk files,
20785         when searching for translatable strings.
20786
20787 2009-07-05  Jim Meyering  <meyering@redhat.com>
20788
20789         remove superfluous parentheses in STREQ definition
20790         * tests/test-argv-iter.c (STREQ): Remove redundant parentheses.
20791         * lib/getugroups.c (STREQ): Likewise.
20792         * lib/fnmatch.c (STREQ): Likewise.
20793         Spotted by Bruno Haible.
20794
20795 2009-07-04  Jim Meyering  <meyering@redhat.com>
20796
20797         argv-iter: new module
20798         * MODULES.html.sh: Add argv-iter.
20799         * lib/argv-iter.c, lib/argv-iter.h: New files.
20800         * modules/argv-iter: New file.
20801         * modules/argv-iter-tests: New file.
20802         * tests/test-argv-iter.c: Test it.
20803
20804 2009-07-04  Bruno Haible  <bruno@clisp.org>
20805
20806         Fix assertion.
20807         * lib/git-merge-changelog.c (compute_mapping): In the case where file1
20808         contains more exact copies of a given entry than file2, leave the extra
20809         copies unpaired rather than aborting.
20810         Reported by Eric Blake.
20811
20812 2009-07-02  Bruno Haible  <bruno@clisp.org>
20813
20814         Speedup git-merge-changelog for git cherry-pick.
20815         * lib/git-merge-changelog.c (struct entries_mapping): New type.
20816         (entries_mapping_get): New function, extracted from compute_mapping.
20817         (entries_mapping_reverse_get): New function.
20818         (compute_mapping): Add a 'full' argument. Return the result in a
20819         'struct entries_mapping'.
20820         (main): Update. Access the mappings through entries_mapping_get.
20821         Reported by Eric Blake.
20822
20823 2009-07-02  Bruno Haible  <bruno@clisp.org>
20824
20825         * lib/git-merge-changelog.c (compute_mapping): Fix determination of
20826         best_i.
20827
20828 2009-07-02  Bruno Haible  <bruno@clisp.org>
20829
20830         Speed up approximate search for matching ChangeLog entries.
20831         * lib/git-merge-changelog.c (entry_fstrcmp): Add a lower_bound
20832         argument. Call fstrcmp_bounded instead of fstrcmp.
20833         (compute_mapping, try_split_merged_entry, main): Update callers.
20834
20835 2009-07-02  Bruno Haible  <bruno@clisp.org>
20836
20837         * lib/git-merge-changelog.c (main): Add comment about git cherry-pick.
20838
20839 2009-06-30  Bruno Haible  <bruno@clisp.org>
20840
20841         Reduce the number of uc_is_cased calls.
20842         * lib/unicase.h (casing_suffix_context_t): Add
20843         'first_char_except_ignorable' field.
20844         * lib/unicase/context.h (SCC_FINAL_SIGMA_MASK): Remove macro.
20845         (SCC_MORE_ABOVE_MASK, SCC_BEFORE_DOT_MASK): Update.
20846         * lib/unicase/empty-suffix-context.c (unicase_empty_suffix_context):
20847         Update initializer.
20848         * lib/unicase/u-casemap.h (FUNC): Don't invoke uc_is_cased on
20849         case-ignorable characters.
20850         * lib/unicase/u-ct-totitle.h (FUNC): Likewise.
20851         * lib/unicase/u-suffix-context.h (FUNC2): Don't call uc_is_cased here.
20852         * modules/unicase/u8-suffix-context (Depends-on): Remove unicase/cased.
20853         * modules/unicase/u16-suffix-context (Depends-on): Likewise.
20854         * modules/unicase/u32-suffix-context (Depends-on): Likewise.
20855
20856 2009-06-30  Bruno Haible  <bruno@clisp.org>
20857
20858         Tests for module 'unicase/ignorable'.
20859         * modules/unicase/ignorable-tests: New file.
20860         * tests/unicase/test-ignorable.c: New file, generated by
20861         gen-uni-tables.
20862
20863         Tests for module 'unicase/cased'.
20864         * modules/unicase/cased-tests: New file.
20865         * tests/unicase/test-cased.c: New file, generated by gen-uni-tables.
20866         * tests/unicase/test-predicate-part1.h: New file, derived from
20867         tests/unictype/test-predicate-part1.h.
20868         * tests/unicase/test-predicate-part2.h: New file, same as
20869         tests/unictype/test-predicate-part2.h.
20870
20871         Fix evaluation of "Before C" condition of FINAL_SIGMA.
20872         * lib/gen-uni-tables.c (is_cased, is_case_ignorable): New functions.
20873         (output_casing_properties): New function.
20874         (main): Call it.
20875         * lib/unicase/cased.h: New file, generated by gen-uni-tables.
20876         * lib/unicase/cased.c: Include unictype/bitmap.h.
20877         (uc_is_cased): Define through a bitmap lookup.
20878         * lib/unicase/ignorable.h: New file, generated by gen-uni-tables.
20879         * lib/unicase/ignorable.c: Include unictype/bitmap.h.
20880         (uc_is_case_ignorable): Define through a bitmap lookup.
20881         * modules/unicase/cased (Files): Add lib/unicase/cased.h,
20882         lib/unictype/bitmap.h.
20883         (Depends-on): Add inline. Clean up.
20884         * modules/unicase/ignorable (Files): Add lib/unicase/ignorable.h,
20885         lib/unictype/bitmap.h.
20886         (Depends-on): Add inline. Clean up.
20887         * tests/unicase/test-u8-tolower.c (main): Add more tests of FINAL_SIGMA
20888         recognition.
20889         * tests/unicase/test-u16-tolower.c (main): Likewise.
20890         * tests/unicase/test-u32-tolower.c (main): Likewise.
20891
20892 2009-06-30  Bruno Haible  <bruno@clisp.org>
20893
20894         * lib/unicase/u8-casemap.c: Don't include uniwbrk.h.
20895         * lib/unicase/u16-casemap.c: Likewise.
20896         * lib/unicase/u32-casemap.c: Likewise.
20897
20898 2009-06-29  Bruno Haible  <bruno@clisp.org>
20899
20900         Define u32_casefold as a wrapper around u32_ct_casefold.
20901         * lib/unicase/u32-casefold.c: Update.
20902         * modules/unicase/u32-casefold (Depends-on): Add
20903         unicase/u32-ct-casefold, unicase/empty-prefix-context,
20904         unicase/empty-suffix-context. Clean up.
20905
20906         Define u16_casefold as a wrapper around u16_ct_casefold.
20907         * lib/unicase/u16-casefold.c: Update.
20908         * modules/unicase/u16-casefold (Depends-on): Add
20909         unicase/u16-ct-casefold, unicase/empty-prefix-context,
20910         unicase/empty-suffix-context. Clean up.
20911
20912         Define u8_casefold as a wrapper around u8_ct_casefold.
20913         * lib/unicase/u-casefold.h (FUNC): Delegate to U_CT_CASEFOLD.
20914         * lib/unicase/u8-casefold.c: Update.
20915         * modules/unicase/u8-casefold (Depends-on): Add unicase/u8-ct-casefold,
20916         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
20917
20918         Define u32_totitle as a wrapper around u32_ct_totitle.
20919         * lib/unicase/u32-totitle.c: Update.
20920         * modules/unicase/u32-totitle (Depends-on): Add unicase/u32-ct-totitle,
20921         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
20922
20923         Define u16_totitle as a wrapper around u16_ct_totitle.
20924         * lib/unicase/u16-totitle.c: Update.
20925         * modules/unicase/u16-totitle (Depends-on): Add unicase/u16-ct-totitle,
20926         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
20927
20928         Define u8_totitle as a wrapper around u8_ct_totitle.
20929         * lib/unicase/u-totitle.h (is_cased, is_case_ignorable): Remove
20930         functions.
20931         (FUNC): Delegate to U_CT_TOTITLE.
20932         * lib/unicase/u8-totitle.c: Update.
20933         * modules/unicase/u8-totitle (Depends-on): Add unicase/u8-ct-totitle,
20934         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
20935
20936         * lib/unicase/u32-tolower.c (u32_tolower): Update u32_casemap
20937         invocation.
20938         * modules/unicase/u32-tolower (Depends-on): Add
20939         unicase/empty-prefix-context, unicase/empty-suffix-context.
20940
20941         * lib/unicase/u16-tolower.c (u16_tolower): Update u16_casemap
20942         invocation.
20943         * modules/unicase/u16-tolower (Depends-on): Add
20944         unicase/empty-prefix-context, unicase/empty-suffix-context.
20945
20946         * lib/unicase/u8-tolower.c (u8_tolower): Update u8_casemap invocation.
20947         * modules/unicase/u8-tolower (Depends-on): Add
20948         unicase/empty-prefix-context, unicase/empty-suffix-context.
20949
20950         * lib/unicase/u32-toupper.c (u32_toupper): Update u32_casemap
20951         invocation.
20952         * modules/unicase/u32-toupper (Depends-on): Add
20953         unicase/empty-prefix-context, unicase/empty-suffix-context.
20954
20955         * lib/unicase/u16-toupper.c (u16_toupper): Update u16_casemap
20956         invocation.
20957         * modules/unicase/u16-toupper (Depends-on): Add
20958         unicase/empty-prefix-context, unicase/empty-suffix-context.
20959
20960         * lib/unicase/u8-toupper.c (u8_toupper): Update u8_casemap invocation.
20961         * modules/unicase/u8-toupper (Depends-on): Add
20962         unicase/empty-prefix-context, unicase/empty-suffix-context.
20963
20964         New module 'unicase/u32-ct-casefold'.
20965         * lib/unicase/u32-ct-casefold.c: New file.
20966         * modules/unicase/u32-ct-casefold: New file.
20967
20968         New module 'unicase/u16-ct-casefold'.
20969         * lib/unicase/u16-ct-casefold.c: New file.
20970         * modules/unicase/u16-ct-casefold: New file.
20971
20972         New module 'unicase/u8-ct-casefold'.
20973         * lib/unicase/u8-ct-casefold.c: New file.
20974         * lib/unicase/u-ct-casefold.h: New file, derived from
20975         lib/unicase/u-casefold.h.
20976         * modules/unicase/u8-ct-casefold: New file.
20977
20978         New module 'unicase/u32-ct-totitle'.
20979         * lib/unicase/u32-ct-totitle.c: New file.
20980         * modules/unicase/u32-ct-totitle: New file.
20981
20982         New module 'unicase/u16-ct-totitle'.
20983         * lib/unicase/u16-ct-totitle.c: New file.
20984         * modules/unicase/u16-ct-totitle: New file.
20985
20986         New module 'unicase/u8-ct-totitle'.
20987         * lib/unicase/u8-ct-totitle.c: New file.
20988         * lib/unicase/u-ct-totitle.h: New file, derived from
20989         lib/unicase/u-totitle.h.
20990         * modules/unicase/u8-ct-totitle: New file.
20991
20992         New module 'unicase/u32-ct-tolower'.
20993         * lib/unicase/u32-ct-tolower.c: New file.
20994         * modules/unicase/u32-ct-tolower: New file.
20995
20996         New module 'unicase/u16-ct-tolower'.
20997         * lib/unicase/u16-ct-tolower.c: New file.
20998         * modules/unicase/u16-ct-tolower: New file.
20999
21000         New module 'unicase/u8-ct-tolower'.
21001         * lib/unicase/u8-ct-tolower.c: New file.
21002         * modules/unicase/u8-ct-tolower: New file.
21003
21004         New module 'unicase/u32-ct-toupper'.
21005         * lib/unicase/u32-ct-toupper.c: New file.
21006         * modules/unicase/u32-ct-toupper: New file.
21007
21008         New module 'unicase/u16-ct-toupper'.
21009         * lib/unicase/u16-ct-toupper.c: New file.
21010         * modules/unicase/u16-ct-toupper: New file.
21011
21012         New module 'unicase/u8-ct-toupper'.
21013         * lib/unicase/u8-ct-toupper.c: New file.
21014         * modules/unicase/u8-ct-toupper: New file.
21015
21016         Add context arguments to u*_casemap functions.
21017         * lib/unicase/unicasemap.h: Include unicase.h.
21018         (u8_casemap, u16_casemap, u32_casemap): Add prefix_context and
21019         suffix_context arguments.
21020         * lib/unicase/u-casemap.h (is_cased, is_case_ignorable): Remove
21021         functions.
21022         (FUNC): Add prefix_context and suffix_context arguments. Use
21023         uc_is_cased and uc_is_case_ignorable.
21024         * lib/unicase/u8-casemap.c: Include caseprop.h and context.h.
21025         * lib/unicase/u16-casemap.c: Likewise.
21026         * lib/unicase/u32-casemap.c: Likewise.
21027         * modules/unicase/u8-casemap (Files): Add lib/unicase/context.h.
21028         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
21029         * modules/unicase/u16-casemap (Files): Add lib/unicase/context.h.
21030         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
21031         * modules/unicase/u32-casemap (Files): Add lib/unicase/context.h.
21032         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
21033
21034         New module 'unicase/u32-suffix-context'.
21035         * lib/unicase/u32-suffix-context.c: New file.
21036         * modules/unicase/u32-suffix-context: New file.
21037
21038         New module 'unicase/u16-suffix-context'.
21039         * lib/unicase/u16-suffix-context.c: New file.
21040         * modules/unicase/u16-suffix-context: New file.
21041
21042         New module 'unicase/u8-suffix-context'.
21043         * lib/unicase/u8-suffix-context.c: New file.
21044         * lib/unicase/u-suffix-context.h: New file.
21045         * modules/unicase/u8-suffix-context: New file.
21046
21047         New module 'unicase/empty-suffix-context'.
21048         * lib/unicase/empty-suffix-context.c: New file.
21049         * modules/unicase/empty-suffix-context: New file.
21050
21051         New module 'unicase/u32-prefix-context'.
21052         * lib/unicase/u32-prefix-context.c: New file.
21053         * modules/unicase/u32-prefix-context: New file.
21054
21055         New module 'unicase/u16-prefix-context'.
21056         * lib/unicase/u16-prefix-context.c: New file.
21057         * modules/unicase/u16-prefix-context: New file.
21058
21059         New module 'unicase/u8-prefix-context'.
21060         * lib/unicase/u8-prefix-context.c: New file.
21061         * lib/unicase/u-prefix-context.h: New file.
21062         * lib/unicase/context.h: New file.
21063         * modules/unicase/u8-prefix-context: New file.
21064
21065         New module 'unicase/empty-prefix-context'.
21066         * lib/unicase/empty-prefix-context.c: New file.
21067         * modules/unicase/empty-prefix-context: New file.
21068
21069         New module 'unicase/ignorable'.
21070         * lib/unicase/ignorable.c: New file.
21071         * modules/unicase/ignorable: New file.
21072
21073         New module 'unicase/cased'.
21074         * lib/unicase/caseprop.h: New file.
21075         * lib/unicase/cased.c: New file.
21076         * modules/unicase/cased: New file.
21077
21078         New functions for case mapping of substrings.
21079         * lib/unicase.h (casing_prefix_context_t): New type.
21080         (unicase_empty_prefix_context): New variable.
21081         (u8_casing_prefix_context, u16_casing_prefix_context,
21082         u32_casing_prefix_context, u8_casing_prefixes_context,
21083         u16_casing_prefixes_context, u32_casing_prefixes_context): New
21084         declarations.
21085         (casing_suffix_context_t): New type.
21086         (unicase_empty_suffix_context): New variable.
21087         (u8_casing_suffix_context, u16_casing_suffix_context,
21088         u32_casing_suffix_context, u8_casing_suffixes_context,
21089         u16_casing_suffixes_context, u32_casing_suffixes_context,
21090         u8_ct_toupper, u16_ct_toupper, u32_ct_toupper, u8_ct_tolower,
21091         u16_ct_tolower, u32_ct_tolower, u8_ct_totitle, u16_ct_totitle,
21092         u32_ct_totitle, u8_ct_casefold, u16_ct_casefold, u32_ct_casefold): New
21093         declarations.
21094
21095 2009-06-28  Jim Meyering  <meyering@redhat.com>
21096
21097         boostrap: indent only with spaces
21098         * build-aux/bootstrap: Indent only with spaces, never TABs.
21099
21100         bootstrap: split long lines
21101         * build-aux/bootstrap: Keep line length < 80.
21102
21103         bootstrap: sync from coreutils
21104         * build-aux/bootstrap: Honor variables like $ACLOCAL, etc.,
21105         just as autoreconf does.  Verify a list of prerequisite
21106         package-name,version-number pairs if defined in bootstrap.conf.
21107         Refer to README-prereq, if prerequisites are not satisfied.
21108
21109 2009-06-27  Eric Blake  <ebb9@byu.net>
21110
21111         tests: add test for bogus NULL definition
21112         * tests/test-stdio.c: Ensure POSIX 2008 requirement on NULL.
21113         * tests/test-stdlib.c: Likewise.
21114         * tests/test-string.c: Likewise.
21115         * tests/test-locale.c: Likewise.
21116         * tests/test-unistd.c: Likewise.
21117         * modules/stdio-tests (Depends-on): Add verify.
21118         * modules/stdlib-tests (Depends-on): Likewise.
21119         * modules/string-tests (Depends-on): Likewise.
21120         * modules/locale-tests (Depends-on): Likewise.
21121         * modules/unistd-tests (Depends-on): Likewise.
21122
21123 2009-06-27  Paolo Bonzini  <bonzini@gnu.org>
21124
21125         * m4/selinux-context-h (gl_HEADERS_SELINUX_CONTEXT_H): Remove
21126         self-explaining comment.
21127         * m4/selinux-selinux-h: Update serial.
21128         (gl_LIBSELINUX): New macro, adding a warning for missing development
21129         packages to code extracted from...
21130         (gl_HEADERS_SELINUX_SELINUX_H): ... this one.  Require gl_LIBSELINUX.
21131         Add warning for missing development packages here, too.
21132
21133 2009-06-26  Paolo Bonzini  <bonzini@gnu.org>
21134
21135         * build-aux/bootstrap: Do not use GIT_CONFIG_LOCAL.
21136
21137 2009-06-25  Eric Blake  <ebb9@byu.net>
21138
21139         version-etc: fix regression
21140         * lib/version-etc.h (ATTRIBUTE_SENTINEL): Define for new enough
21141         gcc.
21142         (version_etc): Use it, to catch bugs with trailing NULL.
21143         * lib/version-etc.c (version_etc_arn): Delete unused argument.
21144         (version_etc_va): Fix logic bug.
21145         * modules/version-etc-tests: Add test.
21146         * tests/test-version-etc.c: New file.
21147         * tests/test-version-etc.sh: Likewise.
21148
21149 2009-06-25  Sam Steingold  <sds@gnu.org>
21150
21151         * mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): Include <stdlib.h>, for the
21152         mbtowc declaration.
21153
21154 2009-06-25  Eric Blake  <ebb9@byu.net>
21155
21156         fpurge: migrate into <stdio.h>
21157         * lib/fpurge.h: Delete...
21158         * lib/stdio.in.h (fpurge): ...and declare here, instead.
21159         * lib/fpurge.c (fpurge): Change declaring header.
21160         * modules/fpurge (Files): Drop deleted file.
21161         (Depends-on): Add stdio.
21162         (configure.ac): Set witness.
21163         * modules/stdio (Makefile.am): Support fpurge macros.
21164         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
21165         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set appropriate variables.
21166         * lib/fflush.c: Update client.
21167         * tests/test-fpurge.c: Likewise.
21168         * NEWS: Mention the change.
21169
21170 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
21171
21172         * lib/argp-version-etc.c (program_authors): Add const
21173         qualifier.
21174         * lib/version-etc.c: Fix typos in the comments.
21175         * modules/argp-version-etc: Depends on version-etc.
21176
21177 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
21178
21179         argp-version-etc: new module.
21180
21181         * lib/argp-version-etc.c: New file.
21182         * lib/argp-version-etc.h: New file.
21183         * modules/argp-version-etc: New file.
21184         * modules/argp-version-etc-tests: New file.
21185         * tests/test-argp-version-etc.c: New test.
21186         * tests/test-argp-version-etc-1.sh: New test.
21187
21188 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
21189
21190         Provide additional interfaces and documentation for version-etc
21191         module.
21192
21193         * lib/version-etc.c (version_etc_arn, version_etc_ar): New
21194         interfaces.
21195         * lib/version-etc.h (version_etc_arn, version_etc_ar): New
21196         prototypes.
21197
21198 2009-06-24  Bruno Haible  <bruno@clisp.org>
21199
21200         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Fix description of
21201         HAVE_LIB${NAME} macro.
21202         Reported by Sam Steingold <sds@gnu.org>.
21203
21204 2009-06-23  Simon Josefsson  <simon@josefsson.org>
21205
21206         * modules/hash-tests (test_hash_LDADD): Link to libintl when
21207         needed.
21208
21209 2009-06-21  Bruno Haible  <bruno@clisp.org>
21210
21211         Make two consecutive identical invocations of AC_LIB_HAVE_LINKFLAGS
21212         work.
21213         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Reset HAVE_LIB${NAME}
21214         together with LIB${NAME}, LTLIB${NAME}.
21215         Reported by Sam Steingold <sds@gnu.org>.
21216
21217 2009-06-20  Jim Meyering  <meyering@redhat.com>
21218
21219         tests: make sc_require_test_exit_idiom more generic
21220         * top/maint.mk (Exit_witness_file): New overridable variable.
21221         (sc_require_test_exit_idiom): Don't hard-code tests/test-lib.sh.
21222         Relax test for /^Exit \$fail$$/ to just /^Exit ./.
21223
21224 2009-06-19  Jim Meyering  <meyering@redhat.com>
21225
21226         hash: reverse order of src/dst parameters in an internal interface
21227         * lib/hash.c (transfer_entries): Reverse order of parameters to
21228         put DST before SRC.  Adjust callers.
21229
21230         tests: test-hash: avoid wholesale duplication
21231         * tests/test-hash.c (main): Don't copy/paste a 60-line loop.
21232         Instead, use a loop and add a single conditional.
21233
21234         tests: test-hash: allow seed selection via a command line argument
21235         * tests/test-hash.c (get_seed): New function.
21236         (main): Use it.
21237
21238 2009-06-19  Eric Blake  <ebb9@byu.net>
21239
21240         hash: avoid memory leak on allocation failure
21241         * lib/hash.c: (hash_rehash): Avoid memory leak on allocation
21242         failure.  Factor repeated algorithm...
21243         (transfer_entries): ...into new helper routine.
21244         (hash_delete): React to hash_rehash return value.
21245
21246         hash: reduce memory pressure in hash_rehash no-op case
21247         * lib/hash.c (next_prime): Avoid overflow.
21248         (hash_initialize): Factor bucket size computation...
21249         (compute_bucket_size): ...into new helper function.
21250         (hash_rehash): Use new function and open coding to reduce memory
21251         pressure, and avoid a memory leak in USE_OBSTACK code.
21252         Reported by Jim Meyering.
21253
21254 2009-06-18  Eric Blake  <ebb9@byu.net>
21255
21256         hash: make rotation more obvious
21257         * modules/hash (Depends-on): Add bitrotate and stdint.
21258         * lib/bitrotate.h (rotl_sz, rotr_sz): New functions.
21259         * lib/hash.c (headers): Drop limits.h.  Add stdint.h.
21260         (SIZE_MAX): Rely on headers for definition.
21261         (hash_string) [USE_DIFF_HASH]: Use rotl_sz.
21262         (raw_hasher): Use rotr_sz.
21263         Suggested by Jim Meyering.
21264
21265         hash: fix memory leak in last patch
21266         * lib/hash.c (hash_rehash): Avoid memory leak.
21267
21268         hash: avoid no-op rehashing
21269         * lib/hash.c (hash_rehash): Recognize useless rehash attempts.
21270
21271         hash: provide default callback functions
21272         * lib/hash.c (raw_hasher, raw_comparator): New functions.
21273         (hash_initialize): Use them as defaults.
21274         * tests/test-hash.c (main): Test this.
21275
21276         hash: minor optimization
21277         * lib/hash.c (hash_lookup, hash_find_entry): Avoid function call
21278         when possible.
21279         (hash_initialize): Document this promise.
21280         (hash_do_for_each, hash_clear, hash_free): Use C89 syntax.
21281         * tests/test-hash.c (hash_compare_strings): Test this.
21282
21283 2009-06-18  Bruno Haible  <bruno@clisp.org>
21284
21285         * m4/strstr.m4 (gl_FUNC_STRSTR): Skip linear time test if strstr is
21286         going to be replaced anyway.
21287
21288 2009-06-18  Bruno Haible  <bruno@clisp.org>
21289
21290         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Invoke AC_LIBOBJ only
21291         in one place.
21292         (gl_FUNC_STRCASESTR): Skip linear time test if strcasestr is going to
21293         be replaced anyway.
21294
21295 2009-06-18  Eric Blake  <ebb9@byu.net>
21296
21297         hash: check for resize before insertion
21298         * lib/hash.c (hash_insert): Check whether bucket usage exceeds
21299         threshold before insertion, so that a pathological hash_rehash
21300         that fills every bucket can still trigger another rehash.
21301
21302 2009-06-18  Jim Meyering  <meyering@redhat.com>
21303
21304         hash-tests: add a loop around the small tests
21305         * tests/test-hash.c (main): Repeat small tests with selected
21306         small initial table sizes.
21307
21308 2009-06-17  Eric Blake  <ebb9@byu.net>
21309
21310         hash: minor cleanups
21311         * lib/hash.h (hash_entry): Make opaque, by moving...
21312         * lib/hash.c (hash_entry): ...here.
21313         (hash_insert): Clarify restrictions on what can be inserted.
21314         (hash_get_next): Clarify when it is safe to remove an element
21315         during traversal.
21316         (check_tuning): Skip verification when tuning is known safe.
21317         (hash_initialize): Clarify restrictions on tuning.
21318
21319 2009-06-17  Jim Meyering  <jim@meyering.net>
21320         and Eric Blake  <ebb9@byu.net>
21321
21322         hash-tests: new module
21323         * modules/hash-tests: New file.
21324         * tests/test-hash.c: New file.
21325
21326 2009-06-17  Eric Blake  <ebb9@byu.net>
21327
21328         strstr-simple: document new module
21329         * MODULES.html.sh: Document new module.
21330
21331         strstr, strcasestr: replace on platforms with broken memchr
21332         * modules/strstr: Split into...
21333         * modules/strstr-simple: ...new module that does not care about
21334         performance, but does care about glibc bug.
21335         * m4/strstr.m4 (gl_FUNC_STRSTR): Split...
21336         (gl_FUNC_STRSTR_SIMPLE): ...into new macro, which replaces strstr
21337         if platform memchr is broken, per Debian bug 521737.
21338         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): React to broken
21339         memchr.
21340         * m4/memchr.m4 (gl_FUNC_MEMCHR): Only expand once.
21341         * doc/posix-functions/strstr.texi (strstr): Document the fix.
21342         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
21343         * modules/mountlist (Depends-on): Add strstr-simple.
21344         * modules/gen-uni-tables (Depends-on): Likewise.
21345         * modules/argz (Depends-on): Add strstr.
21346
21347 2009-06-17  Bruno Haible  <bruno@clisp.org>
21348
21349         * modules/posix_spawn-internal (Depends-on): Add errno.
21350
21351 2009-06-17  Bruno Haible  <bruno@clisp.org>
21352
21353         Define missing ESTALE on Interix 3.5.
21354         * lib/errno.in.h (ESTALE): Assign a value if missing.
21355         * lib/strerror.c (rpl_strerror): Handle missing ESTALE and ECANCELED.
21356         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether ESTALE is
21357         missing.
21358         * doc/posix-headers/errno.texi: Mention the Interix bug.
21359         Reported by Jay Krell <jay.krell@cornell.edu> via Eric Blake.
21360
21361 2009-06-15  Eric Blake  <ebb9@byu.net>
21362
21363         memchr, memchr2: add valgrind exception
21364         * lib/memchr.valgrind: New file.
21365         * lib/memchr2.valgrind: New file.
21366         * modules/memchr (Files): Distribute valgrind file.
21367         * modules/memchr2 (Files): Likewise.
21368
21369         docs: memchr is no longer obsolete
21370         * MODULES.html.sh: Move memchr from obsolete to string.h section.
21371         * lib/string.in.h (memchr): Simplify logic.
21372
21373 2009-06-14  Jim Meyering  <meyering@redhat.com>
21374
21375         link-follow: fix the "checking..." message to not mention trailing slash
21376         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): This test has
21377         never considered trailing slashes.
21378
21379 2009-06-14  Bruno Haible  <bruno@clisp.org>
21380
21381         * m4/memchr.m4: Mention also the bug on IA-64.
21382         * doc/posix-functions/memchr.texi: Likewise.
21383
21384 2009-06-12  Eric Blake  <ebb9@byu.net>
21385
21386         memchr: detect broken x86_64 and alpha implementations
21387         * modules/memchr-tests (Depends-on): Move mmap detection...
21388         * modules/memchr (Depends-on): ...here.
21389         (configure.ac): Set indicator.
21390         * lib/string.in.h (memchr): Declare replacement.
21391         * modules/string (Makefile.am): Trigger replacement.
21392         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
21393         * m4/memchr.m4 (gl_FUNC_MEMCHR): Use mmap to detect platform
21394         bugs.
21395         * doc/posix-functions/memchr.texi (memchr): Document the bug.
21396         * modules/getpagesize (License): Relax license.
21397
21398 2009-06-11  Bruno Haible  <bruno@clisp.org>
21399
21400         * lib/idpriv.h: Add more references.
21401
21402 2009-06-08  Bruno Haible  <bruno@clisp.org>
21403
21404         Tests for module 'idpriv-droptemp'.
21405         * modules/idpriv-droptemp-tests: New file.
21406         * tests/test-idpriv-droptemp.sh: New file.
21407         * tests/test-idpriv-droptemp.su.sh: New file.
21408         * tests/test-idpriv-droptemp.c: New file.
21409
21410         New module 'idpriv-droptemp'.
21411         * lib/idpriv-droptemp.c: New file.
21412         * modules/idpriv-droptemp: New file.
21413
21414 2009-06-08  Bruno Haible  <bruno@clisp.org>
21415
21416         Tests for module 'idpriv-drop'.
21417         * modules/idpriv-drop-tests: New file.
21418         * tests/test-idpriv-drop.sh: New file.
21419         * tests/test-idpriv-drop.su.sh: New file.
21420         * tests/test-idpriv-drop.c: New file.
21421
21422         New module 'idpriv-drop'.
21423         * lib/idpriv.h: New file.
21424         * lib-idpriv-drop.c: New file.
21425         * m4/idpriv.m4: New file.
21426         * modules/idpriv-drop: New file.
21427
21428 2009-06-08  Bruno Haible  <bruno@clisp.org>
21429
21430         * modules/unistdio/u8-vasnprintf (Depends-on): Add memchr.
21431         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
21432         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
21433         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
21434         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
21435         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
21436         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
21437
21438 2009-06-08  Eric Blake  <ebb9@byu.net>
21439
21440         test-strstr: use memory fence, when possible
21441         * tests/test-strstr.c (main): Use memory fence, in order to be
21442         more likely to trigger Debian bug 521737.
21443         * modules/strstr-tests (Files): Pull in additional files.
21444
21445         memchr: no longer obsolete, for wider field testing
21446         * modules/memchr (Status, Notice): Delete, this module is no
21447         longer obsolete.
21448         * modules/vasnprintf (Depends-on): Add memchr.
21449
21450 2009-06-07  Jim Meyering  <meyering@redhat.com>
21451
21452         hash: declare some functions with the warn_unused_result attribute
21453         * lib/hash.h (__attribute__, ATTRIBUTE_WUR): Define.
21454
21455 2009-06-07  Bruno Haible  <bruno@clisp.org>
21456
21457         * tests/test-alignof.c: Don't test int64_t if it does not exist.
21458         Reported by Eric Blake.
21459
21460 2009-06-06  Eric Blake  <ebb9@byu.net>
21461
21462         test-alignof: fix typo with long double
21463         * tests/test-alignof.c (CHECK): Use longdouble typedef to avoid
21464         compiler error.
21465
21466 2009-06-06  Neil Jerram  <neil@ossau.uklinux.net>  (tiny change)
21467
21468         Escape non-texinfo { and }s.
21469         * doc/ld-output-def.texi (Visual Studio Compatibility): Fix
21470         markup error.
21471
21472 2009-06-04  Jim Meyering  <meyering@redhat.com>
21473
21474         gitlog-to-changelog: don't infloop on an empty commit log
21475         * build-aux/gitlog-to-changelog: Warn about an empty log message.
21476         Reported by Boris Petersen <transacid@centerim.org>.
21477
21478 2009-06-03  Mike Frysinger  <vapier@gentoo.org>
21479
21480         version-etc: extend for packagers
21481         Add three new configure options, intended for packagers:
21482           --with-packager="packager name"
21483           --with-packager-version="packager-specific version"
21484           --with-packager-bug-reports="packager bug reporting"
21485         An example with coreutils:
21486           $ ./configure \
21487             --with-packager=Gentoo \
21488             --with-packager-bug-report=http://bugs.gentoo.org/ \
21489             --with-packager-version="patchset 1.6"
21490           $ ./src/ls --version | head -n2
21491           ls (GNU coreutils) 7.1-dirty
21492           Packaged by Gentoo (patchset 1.6)
21493         Note that the bug reporting info via --help doesn't show up because
21494         coreutils uses its own custom emit_bug_reporting_address() implementation
21495         in src/system.h.  If it didn't, it'd look like:
21496           $ ./src/ls --help | tail -n4
21497           Report bugs to <bug-coreutils@gnu.org>.
21498           Report Gentoo bugs to <http://bugs.gentoo.org/>.
21499           GNU coreutils home page: <http://www.gnu.org/software/coreutils/>.
21500           General help using GNU software: <http://www.gnu.org/gethelp/>.
21501         * lib/version-etc.c: Print new information, if provided.
21502         * m4/version-etc.m4: New file.
21503         * modules/version-etc (Files): Add m4/version-etc.m4.
21504         (configure.ac): Add gl_VERSION_ETC.
21505
21506 2009-05-31  Bruno Haible  <bruno@clisp.org>
21507
21508         * tests/test-alignof.c: Include <stdint.h>. Check also 'long double'
21509         and 'int64_t'.
21510         * modules/alignof-tests (Dependencies): Add stdint.
21511         Reported by Eric Blake.
21512
21513 2009-05-31  Bruno Haible  <bruno@clisp.org>
21514
21515         * lib/alignof.h (alignof_slot, alignof_type, alignof): Document
21516         restriction due to compiler bugs.
21517         Reported by Eric Blake.
21518
21519 2009-05-31  Simon Josefsson  <simon@josefsson.org>
21520             Bruno Haible  <bruno@clisp.org>
21521
21522         Fix test-alignof failure.
21523         * lib/alignof.h (alignof_slot): New macro.
21524         (alignof_type): New macro, with the same semantics as the previous
21525         'alignof'.
21526         (alignof): Alias to alignof_slot.
21527         * tests/test-alignof.c (CHECK): Check alignof_slot, not alignof. Also
21528         check that the results are usable as constant expressions.
21529
21530 2009-05-31  Bruno Haible  <bruno@clisp.org>
21531
21532         * tests/zerosize-ptr.h (zerosize_ptr): Specify more details.
21533         * tests/test-memchr.c (main): Check that memchr does not read past the
21534         first occurrence of the byte.
21535         * tests/test-strstr.c (main): Update comment.
21536         Suggested by Eric Blake.
21537
21538 2009-05-30  Bruno Haible  <bruno@clisp.org>
21539
21540         * doc/ld-output-def.texi (Visual Studio Compatibility): Explain in more
21541         detail how to use dumpbin.
21542         Reported by David Byron <dbyron@dbyron.com>.
21543
21544 2009-06-02  Simon Josefsson  <simon@josefsson.org>
21545
21546         * tests/test-parse-duration.sh: Don't use non-portable 'read -u3'.
21547
21548 2009-06-02  Simon Josefsson  <simon@josefsson.org>
21549
21550         * m4/manywarnings.m4: Add GCC 4.4 warnings.
21551
21552 2009-05-28  Bruno Haible  <bruno@clisp.org>
21553
21554         * gnulib-tool (func_import): Don't do HAVE_CONFIG_H replacements on
21555         build-aux/ files.
21556
21557 2009-05-28  Simon Josefsson  <simon@josefsson.org>
21558
21559         * gnulib-tool (func_import): Transform license on build-aux/ files too.
21560
21561 2009-05-27  Simon Josefsson  <simon@josefsson.org>
21562
21563         * gnulib-tool (sed_transform_main_lib_file)
21564         (sed_transform_testsrelated_lib_file): : Don't use non-POSIX
21565         regexps.
21566
21567 2009-05-26  Simon Josefsson  <simon@josefsson.org>
21568
21569         * tests/test-strstr.c: Add another self-test.
21570         * tests/test-strstr.c: Rewrite to use malloc/strcpy instead of
21571         strdup.  Suggested by Eric Blake  <ebb9@byu.net>.
21572
21573 2009-05-23  Bruno Haible  <bruno@clisp.org>
21574
21575         * doc/havelib.texi (AC_LIB_HAVE_LINKFLAGS): Update for 2009-04-26
21576         change.
21577
21578 2009-05-21  Bruno Haible  <bruno@clisp.org>
21579
21580         Simplify use of mode_t varargs.
21581         * lib/open.c (open): Use PROMOTED_MODE_T instead of a conditional that
21582         uses 'mode_t' or 'int'.
21583         * lib/openat.c (openat): Likewise.
21584         * lib/open-safer.c (open_safer): Likewise.
21585         * m4/mode_t.m4: New file.
21586         * m4/open.m4 (gl_PREREQ_OPEN): Require gl_PROMOTED_TYPE_MODE_T.
21587         * m4/openat.m4 (gl_PREREQ_OPENAT): Likewise.
21588         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Likewise.
21589         * modules/open (Files): Add m4/mode_t.m4.
21590         * modules/openat (Files): Likewise.
21591         * modules/fcntl-safer (Files): Likewise.
21592         Suggested by Eric Blake.
21593
21594 2009-05-21  Pádraig Brady  <P@draigbrady.com>
21595
21596         * doc/glibc-functions/fallocate.texi: New file.
21597         * doc/gnulib.texi: Include it.
21598
21599 2009-05-21  Eric Blake  <ebb9@byu.net>
21600             Bruno Haible  <bruno@clisp.org>
21601
21602         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Remove redundant m4_quote
21603         invocations.
21604         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
21605
21606 2009-05-21  Eric Blake  <ebb9@byu.net>
21607             Bruno Haible  <bruno@clisp.org>
21608
21609         Second attempt to work around an AIX 5.3, 6.1 compiler bug with
21610         include_next. Fix of 2008-11-20 commit.
21611         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Also set
21612         NEXT_AS_FIRST_DIRECTIVE_FOO_H.
21613         * lib/math.in.h: Use NEXT_AS_FIRST_DIRECTIVE_MATH_H instead of
21614         NEXT_MATH_H.
21615         * modules/math (Makefile.am): Substitute NEXT_AS_FIRST_DIRECTIVE_MATH_H
21616         instead of NEXT_MATH_H.
21617
21618 2009-05-21  Bruno Haible  <bruno@clisp.org>
21619
21620         Avoid redefinition warnings for SIZE_MAX.
21621         * m4/size_max.m4 (gl_SIZE_MAX): Avoid redefining SIZE_MAX in config.h.
21622         Reported by Simon Josefsson.
21623
21624 2009-05-21  Bruno Haible  <bruno@clisp.org>
21625
21626         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_CACHE_CHECK instead of
21627         AC_CACHE_VAL.
21628
21629 2009-05-20  Bruno Haible  <bruno@clisp.org>
21630
21631         Make zeroptr.h work on mingw.
21632         * tests/zerosize-ptr.h: Test for the presence of <sys/mman.h> and
21633         mprotect.
21634         * modules/memchr-tests (configure.ac): Also test for sys/mman.h.
21635         * modules/memchr2-tests (configure.ac): Likewise.
21636         * modules/memcmp-tests (configure.ac): Likewise.
21637         * modules/memmem-tests (configure.ac): Likewise.
21638         * modules/memrchr-tests (configure.ac): Likewise.
21639         Reported by Simon Josefsson.
21640
21641 2009-05-20  Simon Josefsson  <simon@josefsson.org>
21642
21643         * tests/test-glob.c: Include string.h for strcmp prototype.
21644
21645 2009-05-20  Simon Josefsson  <simon@josefsson.org>
21646
21647         * modules/getdelim (Depends-on): Add explicit stdint, although it
21648         was implicitly already pulled in via realloc-posix.
21649         * lib/getdelim.c: Get SIZE_MAX from stdint.h.
21650
21651 2009-05-20  Simon Josefsson  <simon@josefsson.org>
21652
21653         MinGW and IRIX does not have sa_family_t type.  Reported by "Tom
21654         G. Christensen" <tgc@jupiterrise.com>.
21655         * m4/sys_socket_h.m4: Check for sa_family_t.
21656         * lib/sys_socket.in.h: Typedef sa_family_t when needed.
21657         * modules/sys_socket: Substitute HAVE_SA_FAMILY_T.
21658         * tests/test-sys_socket.c: Check that sa_family_t works.
21659
21660 2009-05-18  Eric Blake  <ebb9@byu.net>
21661
21662         maint.mk: allow gnulib_dir in VPATH build
21663         * top/maint.mk (gnulib_dir): Make relative to $(srcdir).
21664
21665 2009-05-15  Jim Meyering  <meyering@redhat.com>
21666
21667         maint.mk: Give gnulib_dir a default definition.
21668         * top/maint.mk (gnulib_dir): Define to 'gnulib', by default.
21669         Thus, most packages no longer need to specify this variable in cfg.mk
21670
21671 2009-05-14  Tom Prince  <tom.prince@ualberta.net>  (tiny change)
21672
21673         rename.m4: fix typos that would make non-mingw cross-configure fail
21674         * m4/rename.m4 (gl_FUNC_RENAME): Fix typos.
21675
21676 2009-05-13  Eric Blake  <ebb9@byu.net>
21677
21678         mmap-anon: avoid out-of-order autoconf expansion
21679         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Use correct
21680         SYSTEM_EXTENSIONS macro to silence warnings from autoconf 2.63b.
21681         * modules/memchr-tests (Depends-on): Add extensions.
21682         * modules/memchr2-tests (Depends-on): Add extensions.
21683         * modules/memcmp-tests (Depends-on): Add extensions.
21684         * modules/memmem-tests (Depends-on): Add extensions.
21685         * modules/memrchr-tests (Depends-on): Add extensions.
21686
21687 2009-05-13  Bruno Haible  <bruno@clisp.org>
21688
21689         Make some tests ISO C 99 compliant.
21690         * tests/zerosize-ptr.h: New file.
21691         * tests/test-memchr.c: Include zerosize-ptr.h.
21692         (main): Use a zero-size object pointer instead of NULL.
21693         * tests/test-memchr2.c: Include zerosize-ptr.h.
21694         (main): Use a zero-size object pointer instead of NULL.
21695         * tests/test-memcmp.c: Include zerosize-ptr.h.
21696         (main): Use a zero-size object pointer instead of NULL.
21697         * tests/test-memmem.c: Include zerosize-ptr.h.
21698         (main): Use a zero-size object pointer instead of NULL.
21699         * tests/test-memrchr.c: Include zerosize-ptr.h.
21700         (main): Use a zero-size object pointer instead of NULL.
21701         * modules/memchr-tests (Files): Add tests/zerosize-ptr.h,
21702         m4/mmap-anon.m4.
21703         (Depends-on): Add getpagesize.
21704         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
21705         * modules/memchr2-tests (Files): Add tests/zerosize-ptr.h,
21706         m4/mmap-anon.m4.
21707         (Depends-on): Add getpagesize.
21708         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
21709         * modules/memcmp-tests (Files): Add tests/zerosize-ptr.h,
21710         m4/mmap-anon.m4.
21711         (Depends-on): Add getpagesize.
21712         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
21713         * modules/memmem-tests (Files): Add tests/zerosize-ptr.h,
21714         m4/mmap-anon.m4.
21715         (Depends-on): Add getpagesize.
21716         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
21717         * modules/memrchr-tests (Files): Add tests/zerosize-ptr.h,
21718         m4/mmap-anon.m4.
21719         (Depends-on): Add getpagesize.
21720         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
21721
21722 2009-05-12  Bruno Haible  <bruno@clisp.org>
21723
21724         Tests for module 'alignof'.
21725         * modules/alignof-tests: New file.
21726         * tests/test-alignof.c: New file.
21727
21728 2009-05-12  Bruno Haible  <bruno@clisp.org>
21729
21730         Fix alignof macro.
21731         * lib/alignof.h (alignof): Remove special cases for AIX and HP-UX
21732         vendor compilers that are always correct.
21733
21734 2009-05-12  Bruno Haible  <bruno@clisp.org>
21735
21736         Make the MAP_ANONYMOUS detection work on HP-UX 11.
21737         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check whether mmap exists, but
21738         not whether its fully works.
21739
21740 2009-05-12  Bruno Haible  <bruno@clisp.org>
21741
21742         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Add comments.
21743
21744 2009-05-12  Jim Meyering  <meyering@redhat.com>
21745
21746         * top/maint.mk: Adjust backslash alignment.
21747
21748 2009-05-11  Simon Josefsson  <simon@josefsson.org>
21749
21750         * top/maint.mk: Make $(srcdir)/build-aux configurable.
21751
21752 2009-05-11  Eric Blake  <ebb9@byu.net>
21753
21754         argp: avoid undefined behavior
21755         * lib/argp-fmtstream.c (weak_alias): Pass correct types to ctype
21756         macros.
21757
21758 2009-05-08  Simon Josefsson  <simon@josefsson.org>
21759
21760         * tests/test-vc-list-files-git.sh: Do git config of user.email and
21761         user.name to prevent git commit from complaining.
21762
21763 2009-05-10  Bruno Haible  <bruno@clisp.org>
21764
21765         * gnulib-tool (func_import, func_create_testdir, copy-file): Change
21766         sed_rewrite_old_files, sed_rewrite_new_files, sed_rewrite_files so that
21767         it rewrites every file name only once.
21768         Reported by Simon Josefsson. Helped by Ralf Wildenhues.
21769
21770 2009-05-08  Bruno Haible  <bruno@clisp.org>
21771
21772         * lib/sys_socket.in.h (_SS_PADSIZE): Use a conditional expression
21773         instead of 'max'.
21774
21775 2009-05-08  Simon Josefsson  <simon@josefsson.org>
21776
21777         * m4/sys_socket_h.m4: Test for ws2tcpip.h earlier, needed for
21778         sockaddr_storage test.
21779
21780 2009-05-07  Simon Josefsson  <simon@josefsson.org>
21781
21782         * modules/sys_socket (Makefile.am): Substitute
21783         HAVE_STRUCT_SOCKADDR_STORAGE.  Depend on alignof.
21784         * m4/sys_socket_h.m4: Check for sockaddr_storage.
21785         * lib/sys_socket.in.h (sockaddr_storage): Define when needed.
21786         * tests/test-sys_socket.c: Check sockaddr_storage.
21787
21788 2009-05-08  Bruno Haible  <bruno@clisp.org>
21789
21790         New module 'alignof'.
21791         * lib/alignof.h: New file.
21792         * modules/alignof: New file.
21793
21794 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
21795             Bruno Haible  <bruno@clisp.org>
21796
21797         Fix test-file-has-acl on FreeBSD.
21798         * tests/test-file-has-acl.sh: Also test a directory. On FreeBSD, the
21799         mask is implicitly added.
21800         * tests/test-file-has-acl.c: Include <signal.h>.
21801         (main): Terminate the test after 5 seconds.
21802         * modules/acl-tests (configure.ac): Check for alarm function.
21803
21804 2009-05-04  Bruno Haible  <bruno@clisp.org>
21805
21806         Exploit new semantics of AC_DEFUN_ONCE available since 2009-01-26.
21807         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Remove outdated comment.
21808         * modules/errno (configure.ac): Drop AC_REQUIRE.
21809         * m4/multiarch.m4 (gl_MULTIARCH): Remove outdated comment.
21810         * modules/multiarch (configure.ac): Drop AC_REQUIRE.
21811
21812 2009-05-04  Simon Josefsson  <simon@josefsson.org>
21813
21814         * modules/glob-tests: New module.
21815         * tests/test-glob.c: Add.
21816
21817 2009-05-04  Simon Josefsson  <simon@josefsson.org>
21818
21819         * modules/fnmatch-tests: New module.
21820         * tests/test-fnmatch.c: Add.
21821
21822 2009-05-04  Eric Blake  <ebb9@byu.net>
21823
21824         maint: make the new no-submodule-changes rule VPATH-safe
21825         * top/maint.mk (no-submodule-changes): Don't assume a srcdir build.
21826
21827 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
21828             Bruno Haible  <bruno@clisp.org>
21829
21830         acl: Fix infinite loop on FreeBSD.
21831         * lib/acl_entries.c (acl_entries) [Linux, FreeBSD]: Fix interpretation
21832         of return value from acl_get_entry.
21833         * lib/file-has-acl.c (acl_access_nontrivial) [Linux, FreeBSD]:
21834         Likewise.
21835
21836 2009-05-03  Bruno Haible  <bruno@clisp.org>
21837
21838         * lib/acl-internal.h (acl_entries): Clarify return value.
21839         * lib/acl_entries.c (acl_entries): Likewise.
21840
21841 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
21842
21843         Bug fix in acl module.
21844         * lib/set-mode-acl.c: Use correct struct with ACL_SETACL.
21845
21846 2009-05-03  Bruno Haible  <bruno@clisp.org>
21847
21848         Create gperf-generated file in the source dir, not in the build dir.
21849         * modules/iconv_open (iconv_open-aix.h, iconv_open-hpux.h,
21850         iconv_open-irix.h, iconv_open-osf.h): Create file in the source tree.
21851         * modules/unicase/locale-language (unicase/locale-languages.h):
21852         Likewise.
21853         * modules/unicase/special-casing (unicase/special-casing-table.h):
21854         Likewise.
21855         * modules/unictype/property-byname (unictype/pr_byname.h): Likewise.
21856         * modules/unictype/scripts (unictype/scripts_byname.h): Likewise.
21857         * modules/uninorm/composition (uninorm/composition-table.h): Likewise.
21858         Reported by Ralf Wildenhues.
21859
21860 2009-05-03  Bruno Haible  <bruno@clisp.org>
21861
21862         * modules/fnmatch (Description, configure.ac): Taken from
21863         fnmatch-posix.
21864         * modules/fnmatch-posix: Turn into a symbolic reference to the
21865         'fnmatch' module, and deprecate.
21866         * doc/posix-functions/fnmatch.texi: Mention the fnmatch module.
21867
21868 2009-05-03  Bruno Haible  <bruno@clisp.org>
21869
21870         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF,
21871         gl_PREREQ_VASNPRINTF_LONG_DOUBLE): Define through AC_DEFUN_ONCE.
21872         Reported by Ralf Wildenhues.
21873
21874 2009-05-04  Simon Josefsson  <simon@josefsson.org>
21875
21876         * m4/fnmatch.m4: Fix fnmatch re-define.
21877
21878 2009-04-27  David Bartley  <dtbartle@csclub.uwaterloo.ca>
21879
21880         priv-set: new module and tests; adapt write-any-file
21881         * lib/priv-set.c: New file.
21882         * lib/priv-set.h: New file.
21883         * lib/unlinkdir.c: Make cannot_unlink_dir thread-safe.
21884         * lib/write-any-file.c: Simplify by using priv-set module.
21885         * m4/priv-set.m4: New file.
21886         * modules/priv-set: New file.
21887         * modules/unlinkdir: Add dependency on priv-set module.
21888         * modules/write-any-file: Likewise.
21889
21890         Tests for module 'priv-set'.
21891         * modules/priv-set-tests: New file.
21892         * tests/test-priv-set.c: New file.
21893
21894 2009-05-03  Jim Meyering  <meyering@redhat.com>
21895             Bruno Haible  <bruno@clisp.org>
21896
21897         * lib/propername.c (proper_name_utf8): Ignore no-op translations;
21898         use the converted UTF-8 variant of the name instead.
21899
21900 2009-05-03  Jim Meyering  <meyering@redhat.com>
21901
21902         tests: tighten some getdate tests
21903         * tests/test-getdate.c (main): Tighten tests: require equality,
21904         not just greater than.  Set TZ envvar to UTC0.
21905
21906 2009-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
21907
21908         getdate: correctly interpret "next monday" when run on a Monday
21909         * lib/getdate.y (get_date): Correct the calculation of tm_mday so
21910         that e.g., "next tues" (when run on a tuesday) results in a date
21911         that is one week in the future, and not today's date.
21912         I.e., add a week when the wday is the same as the current one.
21913         Reported by Tom Broadhurst in http://savannah.gnu.org/bugs/?25406,
21914         and earlier by Martin Bernreuther and Jan Minář.
21915         * tests/test-getdate.c (main): Check that "next DAY" is always in
21916         the future and that "last DAY" is always in the past.
21917
21918 2009-05-02  Jim Meyering  <meyering@redhat.com>
21919
21920         build: ensure that a release build fails when a submodule is unclean
21921         * top/maint.mk (no-submodule-changes): New rule.
21922         (alpha beta major): Depend on it.
21923
21924 2009-05-02  Bruno Haible  <bruno@clisp.org>
21925
21926         Remove incompatibility between modules fnmatch-posix and fnmatch-gnu.
21927         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Use a
21928         shell variable gl_fnmatch_required to detect which variant is
21929         requested.
21930         (_AC_FUNC_FNMATCH_IF, _AC_LIBOBJ_FNMATCH): Remove macros. Inlined into
21931         gl_FUNC_FNMATCH_POSIX.
21932         * gnulib-tool (func_create_testdir, func_create_megatestdir): Don't
21933         exclude fnmatch-posix.
21934
21935 2009-05-02  Bruno Haible  <bruno@clisp.org>
21936
21937         Relicense mbsrtowcs and strnlen1 under LGPLv2+.
21938         * modules/mbsrtowcs (License): Change to LGPLv2+.
21939         * modules/strnlen1 (License): Likewise.
21940         Reported by Simon Josefsson.
21941
21942 2009-05-02  Bruno Haible  <bruno@clisp.org>
21943
21944         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Say "guessing no" instead of
21945         "cross".
21946         (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Update. Don't assume that
21947         gnulib-tool was called with option --source-base=lib.
21948
21949 2009-05-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
21950
21951         Use automake *-local hooks without commands, for extensibility.
21952         * modules/localcharset (Makefile.am): Rename install-exec-local
21953         rule to install-exec-localcharset, and make it a prerequisite of
21954         install-exec-local.  Likewise, rename the uninstall-local rule to
21955         uninstall-localcharset, and make it a prerequisite of the former.
21956
21957 2009-05-01  Bruno Haible  <bruno@clisp.org>
21958
21959         * lib/wchar.in.h (wcsnrtombs): Define if REPLACE_WCSNRTOMBS is 1.
21960         * m4/wcsnrtombs.m4 (gl_FUNC_WCSRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
21961         set REPLACE_WCSNRTOMBS if mbstate_t must be replaced.
21962         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCSNRTOMBS.
21963         * modules/wchar (Makefile.am): Substitute REPLACE_WCSNRTOMBS.
21964         * modules/wcsnrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
21965         m4/locale-zh.m4, m4/codeset.m4.
21966
21967         * m4/wcsrtombs.m4 (gl_FUNC_WCSNRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
21968         set REPLACE_WCSRTOMBS if mbstate_t must be replaced.
21969         * modules/wcsrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
21970         m4/locale-zh.m4.
21971
21972         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Invoke gl_MBSTATE_T_BROKEN, and set
21973         REPLACE_WCRTOMB if mbstate_t must be replaced.
21974         * modules/wcrtomb (Files): Add m4/mbrtowc.m4.
21975         Reported by Jens Rehsack <rehsack@googlemail.com> via Eric Blake.
21976
21977 2009-05-01  Bruno Haible  <bruno@clisp.org>
21978
21979         Avoid compiler warnings when redefining macros defined by <libintl.h>.
21980         * lib/gettext.h [!ENABLE_NLS] (gettext, dgettext, dcgettext, ngettext,
21981         dngettext, dcngettext, textdomain, bindtextdomain,
21982         bind_textdomain_codeset): Undefine before redefining.
21983
21984 2009-04-30  Bruno Haible  <bruno@clisp.org>
21985
21986         Fix bug introduced on 2009-04-25.
21987         * lib/math.in.h (gl_signbitf_OPTIMIZED_MACRO,
21988         gl_signbitd_OPTIMIZED_MACRO, gl_signbitl_OPTIMIZED_MACRO): New macros.
21989         * lib/signbitf.c (gl_signbitd): Undefine if gl_signbitf_OPTIMIZED_MACRO
21990         is defined.
21991         * lib/signbitd.c (gl_signbitd): Undefine if gl_signbitd_OPTIMIZED_MACRO
21992         is defined.
21993         * lib/signbitl.c (gl_signbitd): Undefine if gl_signbitl_OPTIMIZED_MACRO
21994         is defined.
21995         Reported by Elbert_Pol <elbert.pol@gmail.com>.
21996
21997 2009-04-28  Bruno Haible  <bruno@clisp.org>
21998
21999         Comment tweaks.
22000         * lib/unistr.h (u*_cmp2): Clarify what memcmp2 is.
22001         * lib/uninorm.h (u*_normxfrm): Fix description of return value.
22002         * lib/unicase.h (u*_casexfrm): Likewise.
22003         Reported by Paolo Bonzini.
22004
22005 2009-04-28  Bruno Haible  <bruno@clisp.org>
22006
22007         Fix a compilation error.
22008         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Fix initializer.
22009         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
22010         Reported by Jim Meyering.
22011
22012 2009-04-27  Bruno Haible  <bruno@clisp.org>
22013
22014         New module 'libunistring'.
22015         * modules/libunistring: New file.
22016         * m4/libunistring.m4: New file.
22017         * MODULES.html.sh (Unicode string functions): Add it.
22018
22019 2009-04-27  Eric Blake  <ebb9@byu.net>
22020
22021         maint.mk: allow package-specific header to provide <config.h>
22022         * top/maint.mk (sc_require_config_h): New variable.
22023         (sc_require_config_h, sc_require_config_h_first): Use it.
22024
22025 2009-04-27  Simon Josefsson  <simon@josefsson.org>
22026
22027         * top/maint.mk (sc_avoid_if_before_free): Except
22028         useless-if-before-free script.
22029
22030 2009-04-27  Eric Blake  <ebb9@byu.net>
22031
22032         maintainer-makefile: depend on all required helper scripts
22033         * modules/maintainer-makefile (Depends-on): Add vc-list-files and
22034         useless-if-before-free.
22035         * top/maint.mk (VC_LIST, sc_avoid_if_before_free): Use local
22036         version, rather than assuming gnulib checkout is available.
22037         Reported by Simen Josefsson.
22038
22039 2009-04-26  Bruno Haible  <bruno@clisp.org>
22040
22041         Make the lib vs. lib64 recognition work on openSUSE 11 with "gcc -m32".
22042         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Ignore paths that end in
22043         "../" or "..".
22044
22045 2009-04-26  Bruno Haible  <bruno@clisp.org>
22046
22047         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Accept a fifth argument.
22048         * m4/libsigsegv.m4 (gl_LIBSIGSEGV): Simplify by using
22049         AC_LIB_HAVE_LINKFLAGS.
22050
22051 2009-04-26  Bruno Haible  <bruno@clisp.org>
22052
22053         Simplify calling convention of u*_conv_from_encoding.
22054         * lib/uniconv.h (u8_conv_from_encoding, u16_conv_from_encoding,
22055         u32_conv_from_encoding): Expect a resultbuf argument and return the
22056         result directly as a pointer.
22057         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Likewise.
22058         * lib/uniconv/u-conv-from-enc.h (FUNC): Likewise.
22059         * lib/uniconv/u-strconv-from-enc.h (FUNC): Update.
22060         * lib/unicase/ulc-casecmp.c (ulc_u8_casefold): Update.
22061         * lib/unicase/ulc-casexfrm.c (ulc_casexfrm): Update.
22062         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
22063         Update.
22064         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Update.
22065         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Update.
22066         * lib/vasnprintf.c (VASNPRINTF): Update.
22067         * tests/uniconv/test-u8-conv-from-enc.c (main): Update.
22068         * tests/uniconv/test-u16-conv-from-enc.c (main): Update.
22069         * tests/uniconv/test-u32-conv-from-enc.c (main): Update.
22070         * NEWS: Mention the change.
22071
22072 2009-04-26  Bruno Haible  <bruno@clisp.org>
22073
22074         Simplify calling convention of u*_conv_to_encoding.
22075         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
22076         u32_conv_to_encoding): Expect a resultbuf argument and return the
22077         result directly as a pointer.
22078         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
22079         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Preserve errno while
22080         freeing scaled_offsets if mem_iconveha failed.
22081         * lib/unicase/u-casexfrm.h (FUNC): Update.
22082         * lib/uninorm/u-normxfrm.h (FUNC): Update.
22083         * lib/vasnprintf.c (VASNPRINTF): Update.
22084         * tests/uniconv/test-u8-conv-to-enc.c (main): Update.
22085         * tests/uniconv/test-u16-conv-to-enc.c (main): Update.
22086         * tests/uniconv/test-u32-conv-to-enc.c (main): Update.
22087         * NEWS: Mention the change.
22088
22089 2009-04-26  Bruno Haible  <bruno@clisp.org>
22090
22091         Avoid test failures on AIX and OSF/1.
22092         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Avoid calling
22093         malloc(0).
22094         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
22095         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
22096         Likewise.
22097         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Likewise.
22098         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Likewise.
22099         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Fix memory leak.
22100         * lib/unistr/u-cpy-alloc.h (FUNC): Call malloc(1) instead of malloc(0).
22101         * doc/posix-functions/malloc.texi: Document the portability problem
22102         related to malloc(0).
22103
22104 2009-04-26  Bruno Haible  <bruno@clisp.org>
22105
22106         * modules/unistr/u8-cpy-alloc (Depends-on): Add malloc-posix.
22107         * modules/unistr/u16-cpy-alloc (Depends-on): Likewise.
22108         * modules/unistr/u32-cpy-alloc (Depends-on): Likewise.
22109
22110 2009-04-25  Bruno Haible  <bruno@clisp.org>
22111
22112         Avoid link error when creating a namespace clean library.
22113         * lib/math.in.h (gl_signbitf, gl_signbitd, gl_signbitl): Don't define
22114         as macro with arguments if already defined as an alias.
22115         * lib/signbitf.c (gl_signbitf): Don't undefine.
22116         * lib/signbitd.c (gl_signbitd): Don't undefine.
22117         * lib/signbitl.c (gl_signbitl): Don't undefine.
22118
22119 2009-04-25  Jim Meyering  <meyering@redhat.com>
22120
22121         vc-list-files: fix another quoting bug
22122         * build-aux/vc-list-files: Avoid sed backslash expansion
22123         of pathological directory names.
22124
22125 2009-04-25  Eric Blake  <ebb9@byu.net>
22126
22127         vc-list-files: fix shell quoting error
22128         * build-aux/vc-list-files: Protect against $ in $dir.  Normalize
22129         timestamp.
22130
22131 2009-04-25  Jim Meyering  <meyering@redhat.com>
22132
22133         vc-list-files: restore lost functionality with subdir argument
22134         * build-aux/vc-list-files: When given a non-"." sub-directory
22135         argument, substitute the $dir/ prefix back onto each resulting name.
22136         Otherwise, coreutils' root_tests check would fail.
22137
22138 2009-04-24  Eric Blake  <ebb9@byu.net>
22139
22140         vc-list-files: ignore git symlinks
22141         * build-aux/vc-list-files (.git): Use ls-tree and a filter, rather
22142         than ls-files, to ignore git symlinks.
22143
22144         maint.mk: import improvements from m4
22145         * top/maint.mk (VC-tag): Use signing key from cfg.mk.
22146         (move_if_change): Delete unused macro.
22147         (news-date-check, vc-diff-check): Support VPATH builds.
22148         (announcement): Likewise.  Split --bootstrap-tools list...
22149         (boostrap-tools): ...into separate list, which can be overridden
22150         in cfg.mk.
22151         (sc_avoid_if_before_free): Point to $(gnulib_dir), rather than
22152         requiring dependency on useless-if-before-free module.
22153         (VC_LIST, VC_LIST_EXCEPT): Likewise for vc-list-files module.
22154         Support VPATH builds.
22155
22156 2009-04-24  Jim Meyering  <meyering@redhat.com>
22157
22158         maint.mk: remove coreutils-specific rules and variables
22159         * top/maint.mk (bin, taint-distcheck, coreutils-path-check, t): Remove.
22160         (fake_home, install-transform-check, my-instcheck, pfx, TMPDIR): Remove.
22161         (t_prefix, t_taint, tp, warn_cflags, write_loser, my-distcheck): Remove.
22162
22163         maint.mk: remove obsolete rule
22164         * top/maint.mk (rel-check): Remove rule.
22165         (WGET, WGETFLAGS): Remove now-unused variables.
22166
22167 2009-04-24  Simon Josefsson  <simon@josefsson.org>
22168
22169         * top/maint.mk (makefile-check): Renamed to sc_makefile_check for
22170         consistency.
22171
22172         * modules/vc-list-files-tests (TESTS_ENVIRONMENT): Use
22173         '$(PATH_SEPARATOR)' instead of ':'.
22174
22175 2009-04-24  Simon Josefsson  <simon@josefsson.org>
22176
22177         * lib/getopt1.c (main): Use 'const' for static array.
22178
22179 2009-04-24  Simon Josefsson  <simon@josefsson.org>
22180
22181         * top/maint.mk: Sync with coreutils.
22182         * NEWS: Explain incompatibilities.
22183
22184 2009-04-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
22185             Bruno Haible  <bruno@clisp.org>
22186
22187         Fix cross-compilation results.
22188         * m4/btowc.m4 (gl_FUNC_BTOWC): Use no-op statement, rather than empty
22189         statement, as third argument of AC_TRY_RUN.
22190         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
22191         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
22192         Likewise.
22193         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
22194         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
22195         Likewise.
22196         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
22197         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise. Update for AIX 4.3.
22198         * doc/posix-functions/wcrtomb.texi: Mention the bug on AIX 4.3.
22199
22200 2009-04-20  Bruno Haible  <bruno@clisp.org>
22201
22202         Avoid test failure on mingw.
22203         * tests/uniwidth/test-uc_width2.sh: Convert newlines in output.
22204
22205 2009-04-20  Bruno Haible  <bruno@clisp.org>
22206
22207         Avoid compilation error on mingw.
22208         * modules/localename-tests (Depends-on): Add locale.
22209
22210 2009-04-19  Bruno Haible  <bruno@clisp.org>
22211
22212         Support for building a shared library on Windows platforms.
22213         * tests/uninorm/test-nfc.c (n): Don't define if WOE32DLL.
22214         (main): Test the presence of UNINORM_NFC here.
22215         * tests/uninorm/test-nfd.c (n): Don't define if WOE32DLL.
22216         (main): Test the presence of UNINORM_NFD here.
22217         * tests/uninorm/test-nfkc.c (n): Don't define if WOE32DLL.
22218         (main): Test the presence of UNINORM_NFKC here.
22219         * tests/uninorm/test-nfkd.c (n): Don't define if WOE32DLL.
22220         (main): Test the presence of UNINORM_NFKD here.
22221
22222 2009-04-19  Bruno Haible  <bruno@clisp.org>
22223
22224         Avoid a compiler warning.
22225         * tests/uninorm/test-u32-normalize-big.c (read_normalization_test_file):
22226         Change type of variable 'sequence'.
22227
22228 2009-04-19  Bruno Haible  <bruno@clisp.org>
22229
22230         * modules/configmake (Makefile.am): When the contents of configmake.h
22231         does not change, arrange to preserve its modification time.
22232
22233 2009-04-17  Simon Josefsson  <simon@josefsson.org>
22234
22235         * top/maint.mk (PO_DOMAIN): New variable, allows overriding of
22236         gettext domain.
22237
22238 2009-04-16  Jim Meyering  <meyering@redhat.com>
22239
22240         useless-if-before-free: improve conversion code
22241         * build-aux/useless-if-before-free: Adjust code-in-comment to match
22242         "...!= 0" as well as "...!= NULL".  emacs has one of the former.
22243
22244 2009-04-14  Bruno Haible  <bruno@clisp.org>
22245
22246         * modules/fcntl (Depends-on): Add extensions.
22247         * m4/fcntl_h.m4 (gl_FCNTL_H): Add a comment.
22248
22249 2009-04-12  Ben Pfaff  <blp@gnu.org>
22250
22251         Make fcntl module detect O_NOATIME, O_NOFOLLOW on GNU/Linux.
22252         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_USE_SYSTEM_EXTENSIONS.
22253
22254 2009-03-20  Ben Pfaff  <blp@gnu.org>
22255
22256         Make rename replace existing destinations on Windows.
22257         * m4/rename.m4: Add test for Mingw.
22258         * lib/rename.c: Add rename replacement that uses MoveFileEx with
22259         MOVEFILE_REPLACE_EXISTING to replace existing destination files.
22260         * doc/posix-functions/rename.texi: Document.
22261
22262 2009-04-10  Bruno Haible  <bruno@clisp.org>
22263
22264         New include file "iconveh.h".
22265         * lib/iconveh.h: New file, extracted from lib/striconveh.h.
22266         * lib/striconveh.h: Include it.
22267         (enum iconv_ilseq_handler): Remove definition.
22268         * lib/striconveha.h: Include <stddef.h> and iconveh.h instead of
22269         striconveh.h.
22270         * lib/striconveha.c: Include striconveh.h.
22271         * lib/uniconv.h: Include iconveh.h instead of striconveh.h.
22272         * modules/striconveh (Files): Add lib/iconveh.h.
22273         * modules/uniconv/base (Files): Add lib/iconveh.h. Remove
22274         lib/striconveh.h.
22275
22276 2009-04-10  Bruno Haible  <bruno@clisp.org>
22277
22278         * lib/uniconv.h: Update comment.
22279
22280 2009-04-10  Bruno Haible  <bruno@clisp.org>
22281
22282         * lib/unistr/u8-mbtouc-aux.c: Inside libunistring, define the function
22283         always.
22284         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
22285         * lib/unistr/u16-mbtouc-aux.c: Likewise.
22286         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
22287         * lib/unistr/u8-mbtouc.c: Inside libunistring, include
22288         "unistring-notinline.h", so that the function gets defined always.
22289         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
22290         * lib/unistr/u8-uctomb.c: Likewise.
22291         * lib/unistr/u16-mbtouc.c: Likewise.
22292         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
22293         * lib/unistr/u16-uctomb.c: Likewise.
22294         * lib/unistr/u32-mbtouc.c: Likewise.
22295         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
22296         * lib/unistr/u32-uctomb.c: Likewise.
22297
22298 2009-04-10  Bruno Haible  <bruno@clisp.org>
22299
22300         Mark 'utime' obsolete.
22301         * modules/utime (Status, Notice): New sections.
22302         Suggested by Jim Meyering.
22303
22304         Fix cross-compile guess for utime test.
22305         * m4/utime.m4 (AC_FUNC_UTIME_NULL): Add definition from newest unstable
22306         autoconf.
22307         * doc/posix-functions/utime.texi: Give more precisions.
22308         Reported by Jan <ipif@ymail.com>.
22309
22310 2009-04-09  Kamil Dudka  <kdudka@redhat.com>
22311
22312         filevercmp: correct today's change
22313         * lib/filevercmp.c: Also handle coreutils' test inputs.
22314         * tests/test-filevercmp.c: Add inputs from one of coreutils' test scripts.
22315
22316         Fix regression in 'filevercmp' module. Thanks Sven Joachim
22317         for reporting it.
22318         * lib/filevercmp.c: Special handle for "", "." and "..".
22319         * tests/test-filevercmp.c: Enlarge the set suite.
22320
22321 2009-04-07  Jim Meyering  <meyering@redhat.com>
22322
22323         useless-if-before-free: show how to remove braced useless free, too
22324         * build-aux/useless-if-before-free: still only in a comment, though.
22325
22326 2009-04-07  Reuben Thomas  <rrt@sc3d.org>
22327
22328         maint.mk: import changes to syntax-check macros from coreutils
22329         * top/maint.mk (_prohibit_regexp, _header_without_use): Define.
22330         Use them in the relevant macros.
22331
22332 2009-04-06  Bruno Haible  <bruno@clisp.org>
22333
22334         Fix unportable use of bit-fields.
22335         * lib/unicase/special-casing.h (struct special_casing_rule): Change the
22336         bit-field type from 'int' to 'signed int'. Otherwise Solaris cc,
22337         AIX xlc, and OSF/1 cc interpret it as 'unsigned int'.
22338
22339 2009-04-06  Bruno Haible  <bruno@clisp.org>
22340
22341         Avoid test failures on AIX and OSF/1.
22342         * tests/unicase/test-u8-casefold.c (check): Account for the possibility
22343         that malloc(0) = NULL.
22344         * tests/unicase/test-u8-tolower.c (check): Likewise.
22345         * tests/unicase/test-u8-totitle.c (check): Likewise.
22346         * tests/unicase/test-u8-toupper.c (check): Likewise.
22347         * tests/unicase/test-u16-casefold.c (check): Likewise.
22348         * tests/unicase/test-u16-tolower.c (check): Likewise.
22349         * tests/unicase/test-u16-totitle.c (check): Likewise.
22350         * tests/unicase/test-u16-toupper.c (check): Likewise.
22351         * tests/unicase/test-u32-casefold.c (check): Likewise.
22352         * tests/unicase/test-u32-tolower.c (check): Likewise.
22353         * tests/unicase/test-u32-totitle.c (check): Likewise.
22354         * tests/unicase/test-u32-toupper.c (check): Likewise.
22355         * tests/uninorm/test-u8-nfc.c (check): Likewise.
22356         * tests/uninorm/test-u8-nfd.c (check): Likewise.
22357         * tests/uninorm/test-u8-nfkc.c (check): Likewise.
22358         * tests/uninorm/test-u8-nfkd.c (check): Likewise.
22359         * tests/uninorm/test-u16-nfc.c (check): Likewise.
22360         * tests/uninorm/test-u16-nfd.c (check): Likewise.
22361         * tests/uninorm/test-u16-nfkc.c (check): Likewise.
22362         * tests/uninorm/test-u16-nfkd.c (check): Likewise.
22363         * tests/uninorm/test-u32-nfc.c (check): Likewise.
22364         * tests/uninorm/test-u32-nfd.c (check): Likewise.
22365         * tests/uninorm/test-u32-nfkc.c (check): Likewise.
22366         * tests/uninorm/test-u32-nfkd.c (check): Likewise.
22367
22368 2009-04-05  Bruno Haible  <bruno@clisp.org>
22369
22370         Work around an autoconf limitation.
22371         * gnulib-tool (func_emit_lib_Makefile_am): Omit the "Reproduce by"
22372         comment line if it would be longer than 3 KB.
22373
22374 2009-04-05  Bruno Haible  <bruno@clisp.org>
22375
22376         Avoid test failure with libiconv-1.13.
22377         * tests/test-striconveh.c (main): Allow result of libiconv 1.13 as one
22378         of the expected test results.
22379
22380 2009-04-05  Bruno Haible  <bruno@clisp.org>
22381
22382         * gnulib-tool (func_emit_lib_Makefile_am): Don't add the library to
22383         noinst_LTLIBRARIES if the Makefile.am in the same directory specifies
22384         that it should be installed.
22385
22386 2009-04-05  Bruno Haible  <bruno@clisp.org>
22387
22388         * gnulib-tool: New option --copy-file.
22389         (func_usage): Document it.
22390         (func_dest_tmpfilename): Moved out of func_import.
22391         (func_add_file, func_update_file): New functions, extracted from
22392         func_import.
22393         (func_import): Update.
22394
22395 2009-04-05  Karl Berry  <karl@gnu.org>
22396
22397         * README: prominently mention gnulib-tool.
22398         Rearrange sections so getting the code is near the top.
22399
22400 2009-04-05  Bruno Haible  <bruno@clisp.org>
22401
22402         * lib/unicase.h: Mention u*_cmp2.
22403         * lib/unicase/u-casecmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
22404         * lib/unicase/u8-casecmp.c: Use u8_cmp2 instead of u8_cmp.
22405         * lib/unicase/ulc-casecmp.c: Likewise.
22406         * lib/unicase/u16-casecmp.c: Use u16_cmp2 instead of u16_cmp.
22407         * lib/unicase/u32-casecmp.c: Use u32_cmp2 instead of u32_cmp.
22408         * modules/unicase/u8-casecmp (Depends-on): Add unistr/u8-cmp2, remove
22409         unistr/u8-cmp.
22410         * modules/unicase/ulc-casecmp (Depends-on): Likewise.
22411         * modules/unicase/u16-casecmp (Depends-on): Add unistr/u16-cmp2, remove
22412         unistr/u16-cmp.
22413         * modules/unicase/u32-casecmp (Depends-on): Add unistr/u32-cmp2, remove
22414         unistr/u32-cmp.
22415
22416         * lib/uninorm.h: Mention u*_cmp2.
22417         * lib/uninorm/u-normcmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
22418         * lib/uninorm/u8-normcmp.c: Use u8_cmp2 instead of u8_cmp.
22419         * lib/uninorm/u16-normcmp.c: Use u16_cmp2 instead of u16_cmp.
22420         * lib/uninorm/u32-normcmp.c: Use u32_cmp2 instead of u32_cmp.
22421         * modules/uninorm/u8-normcmp (Depends-on): Add unistr/u8-cmp2, remove
22422         unistr/u8-cmp.
22423         * modules/uninorm/u16-normcmp (Depends-on): Add unistr/u16-cmp2, remove
22424         unistr/u16-cmp.
22425         * modules/uninorm/u32-normcmp (Depends-on): Add unistr/u32-cmp2, remove
22426         unistr/u32-cmp.
22427
22428         New module 'unistr/u32-cmp2'.
22429         * lib/unistr/u32-cmp2.c: New file.
22430         * modules/unistr/u32-cmp2: New file.
22431
22432         New module 'unistr/u16-cmp2'.
22433         * lib/unistr/u16-cmp2.c: New file.
22434         * modules/unistr/u16-cmp2: New file.
22435
22436         New module 'unistr/u8-cmp2'.
22437         * lib/unistr.h (u8_cmp2, u16_cmp2, u32_cmp2): New declarations.
22438         * lib/unistr/u8-cmp2.c: New file.
22439         * lib/unistr/u-cmp2.h: New file.
22440         * modules/unistr/u8-cmp2: New file.
22441
22442 2009-04-05  Bruno Haible  <bruno@clisp.org>
22443
22444         * lib/unictype.h (uc_property_is_valid): New macro.
22445         * tests/unictype/test-pr_byname.c (main): Use it.
22446
22447         * lib/unistr.h: Doc fixes.
22448         * lib/uniconv.h: Doc fixes.
22449         * lib/unictype.h: Doc fixes.
22450
22451 2009-04-03  Paul Eggert  <eggert@cs.ucla.edu>
22452
22453         Port coreutils 7.2 to Solaris 8.
22454
22455         * modules/arpa_inet (arpa/inet.h): Depend on arpa_inet.in.h.
22456         * m4/inet_ntop.m4 (gl_INET_NTOP): Search for inet_ntop in -lnsl,
22457         for Solaris 8.  This is a bit of a hack, as it means it's the
22458         caller's responsibility to add -lnsl if needed, but most likely it
22459         won't be needed since only getaddrinfo uses this and getaddrinfo
22460         isn't needed on Solaris 8.
22461
22462         * modules/fnmatch (Depends-on): Add mbsrtowcs, to fix a porting
22463         problem to Solaris 8 encountered with coreutils 7.2, which
22464         resulted in a message "fnmatch.c:292: warning: passing argument 4
22465         of 'mbsrtowcs' from incompatible pointer type".  Also, add mbsinit
22466         at the suggestion of Bruno Haible, since fnmatch uses mbsinit.
22467
22468 2009-04-03  Simon Josefsson  <simon@josefsson.org>
22469
22470         * m4/ld-version-script.m4: Add FIXME comment.
22471
22472 2009-04-02  Simon Josefsson  <simon@josefsson.org>
22473
22474         * doc/ld-output-def.texi: Use DLL_VERSION instead of confusing
22475         SOVERSION variable.
22476
22477 2009-04-02  Bruno Haible  <bruno@clisp.org>
22478
22479         * Makefile (info, html, dvi, pdf): Combine the rules.
22480         Suggested by Jim Meyering.
22481
22482 2009-04-01  Bruno Haible  <bruno@clisp.org>
22483
22484         * Makefile (info, html, dvi, pdf): New targets.
22485         Reported by Reuben Thomas <rrt@sc3d.org>.
22486
22487 2009-04-01  Bruno Haible  <bruno@clisp.org>
22488
22489         * doc/gnulib-tool.texi (Invoking gnulib-tool): Document how gnulib-tool
22490         can be put into PATH.
22491         Reported by Reuben Thomas <rrt@sc3d.org>. Suggested by Karl Berry.
22492
22493 2009-04-01  Bruno Haible  <bruno@clisp.org>
22494
22495         * doc/lib-symbol-visibility.texi: Follow texinfo style conventions.
22496
22497 2009-04-01  Bruno Haible  <bruno@clisp.org>
22498
22499         Rename module 'visibility'.
22500         * modules/lib-symbol-visibility: Renamed from modules/visibility.
22501         * doc/lib-symbol-visibility.texi: Renamed from visibility.texi.
22502         * doc/gnulib.texi: Update.
22503         * MODULES.html.sh (Misc): Update.
22504         * NEWS: Mention the change.
22505
22506 2009-04-01  Simon Josefsson  <simon@josefsson.org>
22507
22508         * modules/lib-msvc-compat: New module.  Thanks to Bruno Haible
22509         <bruno@clisp.org>, Ralf Wildenhues <Ralf.Wildenhues@gmx.de>, and
22510         Eric Blake <ebb9@byu.net> for review.
22511         * MODULES.html.sh: Add lib-msvc-compat.
22512         * doc/gnulib.texi: Link to new section.
22513         * m4/ld-output-def.m4: New file.
22514         * doc/ld-output-def.texi: New file.
22515
22516 2009-04-01  Simon Josefsson  <simon@josefsson.org>
22517
22518         Rename ld-version-script to lib-symbol-versions.  Suggested by
22519         Bruno Haible <bruno@clisp.org>.
22520         * modules/ld-version-script: Renamed to lib-symbol-versions.
22521         * doc/ld-version-script.texi: Fix module name.
22522         * MODULES.html.sh: Add lib-symbol-versions.
22523
22524 2009-03-31  Simon Josefsson  <simon@josefsson.org>
22525
22526         * modules/u64-tests: New file.
22527         * tests/test-u64.c: New file.
22528
22529 2009-03-04  Simon Josefsson  <simon@josefsson.org>
22530
22531         * MODULES.html.sh: Mention u64.
22532         * modules/u64: New module.
22533         * modules/crypto/sha512: Depend on u64 module instead of providing
22534         u64.h.
22535
22536 2009-03-27  Eric Blake  <ebb9@byu.net>
22537
22538         test-strerror: make debugging EAI_SYSTEM easier
22539         * modules/getaddrinfo-tests (Depends-on): Add strerror.
22540         * test-getaddrinfo.c (simple) [ENABLE_DEBUGGING]: Report errno if
22541         failure was EAI_SYSTEM.
22542
22543 2009-03-25  Bruno Haible  <bruno@clisp.org>
22544
22545         Fix a problem with --enable-relocatable on Solaris 7.
22546         * modules/relocatable-prog-wrapper (Depends-on): Add environ. Needed
22547         since 2008-02-24.
22548
22549 2009-03-25  Eric Blake  <ebb9@byu.net>
22550
22551         test-sockets: avoid gcc warning
22552         * tests/test-sockets.c (main): Silence compiler warning.
22553
22554 2009-03-25  Paul Eggert  <eggert@cs.ucla.edu>
22555
22556         New modules nproc, pthread, contributed by Glen Lenker.
22557
22558         * MODULES.html.sh: Add pthread, nproc.
22559         * lib/nproc.c: New file.
22560         * lib/nproc.h: New file.
22561         * lib/pthread.in.h: New file.
22562         * m4/pthread.m4: New file.
22563         * modules/nproc: New file.
22564         * modules/pthread: New file.
22565
22566 2009-03-24  Simon Josefsson  <simon@josefsson.org>
22567
22568         * modules/unicase/locale-language-tests (test_locale_language_LDADD):
22569         New variable.
22570
22571 2009-03-24  Kamil Dudka  <kdudka@redhat.com>
22572
22573         filevercmp: handle simple~ and numbered.~3~ backup suffixes
22574         * lib/filevercmp.c: Handle simple~ and numbered.~3~ backup suffixes.
22575         * tests/test-filevercmp.c: Add tests for backup suffixes.
22576
22577 2009-03-24  Simon Josefsson  <simon@josefsson.org>
22578
22579         * modules/stdlib (Depends-on): Add stdint, needed when defining
22580         struct random_data on, for example, HP-UX 10.20.  Reported by
22581         Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
22582
22583 2009-03-24  Simon Josefsson  <simon@josefsson.org>
22584
22585         * lib/readline.c (readline): Call fflush on stdout after printing
22586         prompt.
22587
22588 2009-03-20  Bruno Haible  <bruno@clisp.org>
22589
22590         Remove dependency from 'close' module to -lws2_32 on native Windows.
22591         * lib/close-hook.h: New file.
22592         * lib/close-hook.c: New file.
22593         * lib/close.c: Include close-hook.h. Don't include <sys/socket.h>,
22594         w32sock.h.
22595         (_gl_close_fd_maybe_socket): Remove function.
22596         (rpl_close): Invoke execute_all_close_hooks instead of
22597         _gl_close_fd_maybe_socket.
22598         * lib/sockets.c: Include close-hook.h, w32sock.h.
22599         (close_fd_maybe_socket): New function, essentially from lib/close.c.
22600         (close_sockets_hook): New variable.
22601         (gl_sockets_startup): Register close_fd_maybe_socket as a hook.
22602         (gl_sockets_cleanup): Unregister it.
22603         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): Remove macro.
22604         * m4/close.m4 (gl_REPLACE_CLOSE): Undo 2009-02-05 change.
22605         * modules/close-hook: New file.
22606         * modules/close (Files): Remove lib/w32sock.h.
22607         (Depends-on): Add close-hook.
22608         (Link): Remove section.
22609         * modules/sockets (Files): Add lib/w32sock.h.
22610         (Depends-on): Add close-hook.
22611         * modules/sys_socket (configure.ac): Remove gl_MODULE_INDICATOR
22612         invocation.
22613         * NEWS: Mention that LIB_CLOSE is gone.
22614
22615 2009-03-23  Eric Blake  <ebb9@byu.net>
22616
22617         signal-tests: test previous patch
22618         * tests/test-signal.c: New file.
22619         * modules/signal-tests: Likewise.
22620
22621         signal.h: always support 'volatile sig_atomic_t'
22622         * m4/signal_h.m4 (gl_SIGNAL_H): Check for AIX limitation.
22623         (gl_SIGNAL_H_DEFAULTS): Add a default.
22624         * modules/signal (Makefile.am): Substitute if needed.
22625         * lib/signal.in.h (sig_atomic_t): Redefine if needed, so that
22626         users can blindly add volatile.
22627         * doc/posix-headers/signal.texi (signal.h): Document it.
22628         Reported by Matthew Woehlke.
22629
22630 2009-03-23  Jim Meyering  <meyering@redhat.com>
22631
22632         pathmax: PATH_MAX: use pathconf only when available
22633         * lib/pathmax.h (PATH_MAX): Select the pathconf-using definition
22634         only if HAVE_PATHCONF is defined.  Patch by Sylvain Beucler.
22635         * m4/pathmax.m4 (gl_PATHMAX): Check for pathconf.
22636         This avoids a link failure in a PSP cross-compilation environment
22637         described in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/17048
22638
22639         * lib/vasnprintf.c (divide): Fix typo in comment.
22640
22641 2009-03-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
22642
22643         * gnulib-tool (func_filter_filelist): Fix comment.
22644
22645 2009-03-20  Bruno Haible  <bruno@clisp.org>
22646
22647         Make sockets.h self-contained.
22648         * lib/sockets.c: Include sockets.h first.
22649         * lib/sockets.h: Include <sys/socket.h> before using the SOCKET type.
22650
22651 2009-03-19  Eric Blake  <ebb9@byu.net>
22652
22653         doc: mention more functions added in cygwin 1.7.0
22654         * doc/posix-functions/log2.texi: Mention recent cygwin 1.7.0
22655         addition.
22656         * doc/posix-functions/log2f.texi: Likewise.
22657
22658 2009-03-19  Jim Meyering  <meyering@redhat.com>
22659
22660         fsusage: avoid syntax error due to statement-before-declaration
22661         * lib/fsusage.c (get_fs_usage): Put warning-avoidance statement
22662         after all declarations.  Reported by Matthew Woehlke in
22663         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/16231
22664
22665 2009-03-18  Eric Blake  <ebb9@byu.net>
22666
22667         build-aux/compile: sync from automake
22668         * build-aux/compile: New file, from automake.
22669         * config/srclist.txt: Mention build-aux/compile.
22670
22671 2009-03-17  Bruno Haible  <bruno@clisp.org>
22672
22673         * lib/git-merge-changelog.c: Fix typo in comment.
22674         Reported by Reuben Thomas <rrt@sc3d.org>.
22675
22676 2009-03-17  Reuben Thomas  <rrt@sc3d.org>
22677
22678         * m4/regex.m4: update and improve help for
22679         --without-included-regex.
22680
22681 2009-03-17  Simon Josefsson  <simon@josefsson.org>
22682
22683         * modules/isnanl-nolibm-tests (Files): Add tests/nan.h to avoid
22684         failure on missing include files.
22685
22686 2009-03-17  Eric Blake  <ebb9@byu.net>
22687
22688         doc: mention more functions added in cygwin 1.7.0
22689         * doc/posix-functions/fwprintf.texi: Mention recent cygwin 1.7.0
22690         addition.
22691         * doc/posix-functions/fwscanf.texi: Likewise.
22692         * doc/posix-functions/swprintf.texi: Likewise.
22693         * doc/posix-functions/swscanf.texi: Likewise.
22694         * doc/posix-functions/vfwprintf.texi: Likewise.
22695         * doc/posix-functions/vfwscanf.texi: Likewise.
22696         * doc/posix-functions/vswprintf.texi: Likewise.
22697         * doc/posix-functions/vswscanf.texi: Likewise.
22698         * doc/posix-functions/vwprintf.texi: Likewise.
22699         * doc/posix-functions/vwscanf.texi: Likewise.
22700         * doc/posix-functions/wcscasecmp.texi: Likewise.
22701         * doc/posix-functions/wcsdup.texi: Likewise.
22702         * doc/posix-functions/wcsftime.texi: Likewise.
22703         * doc/posix-functions/wcsncasecmp.texi: Likewise.
22704         * doc/posix-functions/wprintf.texi: Likewise.
22705         * doc/posix-functions/wscanf.texi: Likewise.
22706         * doc/glibc-functions/gethostbyname2.texi: Likewise.
22707
22708 2009-03-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
22709
22710         maint.mk: really add $(AM_MAKEFLAGS)
22711         * top/maint.mk (init-coverage, build-coverage): `$(AM_MAKEFLAGS)'
22712         was inadvertently omitted in the last commit.
22713         Spotted by Bruno Haible.
22714
22715         maint.mk: use $(MAKE) $(AM_MAKEFLAGS) not make
22716         * top/maint.mk (init-coverage, build-coverage): Use `$(MAKE)
22717         $(AM_MAKEFLAGS)' rather than plain `make'.
22718
22719         gnulib-tool: execute $MAKE not make
22720         * gnulib-tool: Default $MAKE to 'make'.
22721         (func_create_testdir, func_create_megatestdir): Use $MAKE rather
22722         than make.  Initialize $MAKE in the do-autobuild script.
22723
22724         gnulib-tool: use $MAKE not make in generated files
22725         * gnulib-tool (func_create_megatestdir): Use $MAKE rather than
22726         make, in generated files.  Initialize $MAKE in the do-autobuild
22727         script.
22728
22729         * top/GNUmakefile (_have-git-version-gen): Fix typo.
22730
22731         GNUmakefile: disable parallelism only for multiple, recursive targets
22732         * top/GNUmakefile (ALL_RECURSIVE_TARGETS): New macro; allow user
22733         additions in the Makefile.
22734         (AM_RECURSIVE_TARGETS): New macro, override only if not provided
22735         by Automake.
22736         (.NOTPARALLEL): Only disable parallel builds if multiple targets
22737         are listed on the command line and at least one of them is
22738         listed in $(ALL_RECURSIVE_TARGETS).
22739
22740 2009-03-14  Bruno Haible  <bruno@clisp.org>
22741
22742         * modules/unilbrk/u8-possible-linebreaks (Depends-on): Replace
22743         utf8-ucs4-unsafe with unistr/u8-mbtouc-unsafe.
22744         * modules/unilbrk/u8-width-linebreaks (Depends-on): Likewise.
22745         * modules/unilbrk/u16-possible-linebreaks (Depends-on): Replace
22746         utf16-ucs4-unsafe with unistr/u16-mbtouc-unsafe.
22747         * modules/unilbrk/u16-width-linebreaks (Depends-on): Likewise.
22748         * modules/unistr/u8-chr (Depends-on): Replace ucs4-utf8 with
22749         unistr/u8-uctomb.
22750         * modules/unistr/u8-strchr (Depends-on): Likewise.
22751         * modules/unistr/u8-strrchr (Depends-on): Likewise.
22752         * modules/unistr/u16-chr (Depends-on): Replace ucs4-utf16 with
22753         unistr/u16-uctomb.
22754         * modules/unistr/u16-strchr (Depends-on): Likewise.
22755         * modules/unistr/u16-strrchr (Depends-on): Likewise.
22756
22757 2009-03-12  Bruno Haible  <bruno@clisp.org>
22758
22759         Work around select() bug on Interix 3.5.
22760         * lib/sys_select.in.h (select): Also replace if REPLACE_SELECT is 1.
22761         * lib/select.c (rpl_select): Add an implementation for Unix platforms.
22762         * m4/select.m4: New file.
22763         * m4/sys_select_h.m4 (gl_SYS_SELECT_H_DEFAULTS): Initialize REPLACE_SELECT.
22764         * modules/sys_select (Makefile.am): Substitute REPLACE_SELECT.
22765         * modules/select (Files): Add m4/select.m4.
22766         (configure.ac): Move conditional to m4/select.m4. Invoke gl_FUNC_SELECT.
22767         * modules/nanosleep (Depends-on): Add select.
22768         * modules/poll (Depends-on): Likewise.
22769         * doc/posix-functions/select.texi: Mention the Interix bug.
22770         Reported by Markus Duft <mduft@gentoo.org>.
22771
22772         * lib/select.c: Renamed from lib/winsock-select.c.
22773         * modules/select (Files): Add lib/select.c, remove
22774         lib/winsock-select.c.
22775         (configure.ac): Update.
22776
22777 2009-03-12  Jim Meyering  <meyering@redhat.com>
22778
22779         avoid gcc warnings about unused macro definitions
22780         * lib/readtokens.c (STREQ): Remove unused definition.
22781         * lib/xmalloc.c (SIZE_MAX): Likewise.
22782         * lib/openat-die.c (N_): Likewise.
22783         * lib/mountlist.c (SIZE_MAX): Remove definition.
22784         Instead, include <stdint.h>.
22785         * lib/readutmp.c: Likewise.
22786         * modules/readutmp (Depends-on): Add stdint.
22787         * modules/mountlist (Depends-on): Add stdint.
22788         * lib/userspec.c (ISDIGIT): Move definition into #if block where used.
22789
22790 2009-03-10  Bruno Haible  <bruno@clisp.org>
22791
22792         Tests for module 'mbmemcasecoll'.
22793         * modules/mbmemcasecoll-tests: New file.
22794         * tests/test-mbmemcasecoll1.sh: New file.
22795         * tests/test-mbmemcasecoll2.sh: New file.
22796         * tests/test-mbmemcasecoll3.sh: New file.
22797         * tests/test-mbmemcasecoll.c: New file.
22798
22799         New module 'mbmemcasecoll'.
22800         * lib/mbmemcasecoll.h: New file.
22801         * lib/mbmemcasecoll.c: New file.
22802         * modules/mbmemcasecoll: New file.
22803
22804         * tests/test-mbmemcasecmp.h: New file, extracted from
22805         tests/test-mbmemcasecmp.c.
22806         * tests/test-mbmemcasecmp.c: Include test-mbmemcasecmp.h.
22807         (test_ascii, test_iso_8859_1, test_utf_8): Remove functions.
22808         (main): Update.
22809         * modules/mbmemcasecmp-tests (Files): Add tests/test-mbmemcasecmp.h.
22810
22811 2009-03-09  Bruno Haible  <bruno@clisp.org>
22812
22813         Tests for module 'mbmemcasecmp'.
22814         * modules/mbmemcasecmp-tests: New file.
22815         * tests/test-mbmemcasecmp1.sh: New file.
22816         * tests/test-mbmemcasecmp2.sh: New file.
22817         * tests/test-mbmemcasecmp3.sh: New file.
22818         * tests/test-mbmemcasecmp.c: New file.
22819
22820         New module 'mbmemcasecmp'.
22821         * lib/mbmemcasecmp.h: New file.
22822         * lib/mbmemcasecmp.c: New file.
22823         * modules/mbmemcasecmp: New file.
22824
22825 2009-03-09  Bruno Haible  <bruno@clisp.org>
22826
22827         Tests for module 'unicase/ulc-casecoll'.
22828         * modules/unicase/ulc-casecoll-tests: New file.
22829         * tests/unicase/test-ulc-casecoll1.sh: New file.
22830         * tests/unicase/test-ulc-casecoll2.sh: New file.
22831         * tests/unicase/test-ulc-casecoll.c: New file.
22832
22833         New module 'unicase/ulc-casecoll'.
22834         * lib/unicase.h (ulc_casecoll): New declaration.
22835         * lib/unicase/ulc-casecoll.c: New file.
22836         * modules/unicase/ulc-casecoll: New file.
22837
22838         New module 'unicase/ulc-casexfrm'.
22839         * lib/unicase.h (ulc_casexfrm): New declaration.
22840         * lib/unicase/ulc-casexfrm.c: New file.
22841         * modules/unicase/ulc-casexfrm: New file.
22842
22843 2009-03-09  Bruno Haible  <bruno@clisp.org>
22844
22845         Followup to 2008-12-22 commit: Remove unnecessary AC_FUNC_MBRTOWC
22846         invocations.
22847
22848         * m4/mbscasecmp.m4: Remove file.
22849         * modules/mbscasecmp (Files): Remove it and m4/mbrtowc.m4
22850         (configure.ac): Remove gl_FUNC_MBSCASECMP invocation.
22851
22852         * m4/mbscasestr.m4: Remove file.
22853         * modules/mbscasestr (Files): Remove it and m4/mbrtowc.m4
22854         (configure.ac): Remove gl_FUNC_MBSCASESTR invocation.
22855
22856         * m4/mbschr.m4: Remove file.
22857         * modules/mbschr (Files): Remove it and m4/mbrtowc.m4
22858         (configure.ac): Remove gl_FUNC_MBSCHR invocation.
22859
22860         * m4/mbscspn.m4: Remove file.
22861         * modules/mbscspn (Files): Remove it and m4/mbrtowc.m4
22862         (configure.ac): Remove gl_FUNC_MBSCSPN invocation.
22863
22864         * m4/mbslen.m4: Remove file.
22865         * modules/mbslen (Files): Remove it and m4/mbrtowc.m4
22866         (configure.ac): Remove gl_FUNC_MBSLEN invocation.
22867
22868         * m4/mbsncasecmp.m4: Remove file.
22869         * modules/mbsncasecmp (Files): Remove it and m4/mbrtowc.m4
22870         (configure.ac): Remove gl_FUNC_MBSNCASECMP invocation.
22871
22872         * m4/mbsnlen.m4: Remove file.
22873         * modules/mbsnlen (Files): Remove it and m4/mbrtowc.m4
22874         (configure.ac): Remove gl_FUNC_MBSNLEN invocation.
22875
22876         * m4/mbspbrk.m4: Remove file.
22877         * modules/mbspbrk (Files): Remove it and m4/mbrtowc.m4
22878         (configure.ac): Remove gl_FUNC_MBSPBRK invocation.
22879
22880         * m4/mbspcasecmp.m4: Remove file.
22881         * modules/mbspcasecmp (Files): Remove it and m4/mbrtowc.m4
22882         (configure.ac): Remove gl_FUNC_MBSPCASECMP invocation.
22883
22884         * m4/mbsrchr.m4: Remove file.
22885         * modules/mbsrchr (Files): Remove it and m4/mbrtowc.m4
22886         (configure.ac): Remove gl_FUNC_MBSRCHR invocation.
22887
22888         * m4/mbssep.m4: Remove file.
22889         * modules/mbssep (Files): Remove it and m4/mbrtowc.m4
22890         (configure.ac): Remove gl_FUNC_MBSSEP invocation.
22891
22892         * m4/mbsspn.m4: Remove file.
22893         * modules/mbsspn (Files): Remove it and m4/mbrtowc.m4
22894         (configure.ac): Remove gl_FUNC_MBSSPN invocation.
22895
22896         * m4/mbsstr.m4: Remove file.
22897         * modules/mbsstr (Files): Remove it and m4/mbrtowc.m4
22898         (configure.ac): Remove gl_FUNC_MBSSTR invocation.
22899
22900         * m4/mbstok_r.m4: Remove file.
22901         * modules/mbstok_r (Files): Remove it and m4/mbrtowc.m4
22902         (configure.ac): Remove gl_FUNC_MBSTOK_R invocation.
22903
22904         * m4/mbswidth.m4 (gl_MBSWIDTH): Remove AC_FUNC_MBRTOWC invocation.
22905
22906         * m4/quotearg.m4 (gl_QUOTEARG): Remove mbsinit test and
22907         AC_TYPE_MBSTATE_T, AC_FUNC_MBRTOWC invocations.
22908
22909         * modules/trim (configure.ac): Remove AC_FUNC_MBRTOWC invocation.
22910
22911 2009-03-08  Bruno Haible  <bruno@clisp.org>
22912
22913         Tests for module 'unicase/ulc-casecmp'.
22914         * modules/unicase/ulc-casecmp-tests: New file.
22915         * tests/unicase/test-ulc-casecmp1.sh: New file.
22916         * tests/unicase/test-ulc-casecmp2.sh: New file.
22917         * tests/unicase/test-ulc-casecmp.c: New file.
22918
22919         New module 'unicase/ulc-casecmp'.
22920         * lib/unicase.h (ulc_casecmp): New declaration.
22921         * lib/unicase/ulc-casecmp.c: New file.
22922         * lib/unicase/u-casecmp.h (FUNC): Change argument types to
22923         'const SRC_UNIT *'.
22924         * lib/unicase/u8-casecmp.c (SRC_UNIT): Define like UNIT.
22925         * lib/unicase/u16-casecmp.c (SRC_UNIT): Likewise.
22926         * lib/unicase/u32-casecmp.c (SRC_UNIT): Likewise.
22927         * modules/unicase/ulc-casecmp: New file.
22928
22929         Tests for module 'unicase/u32-is-cased'.
22930         * modules/unicase/u32-is-cased-tests: New file.
22931         * tests/unicase/test-u32-is-cased.c: New file.
22932
22933         Tests for module 'unicase/u16-is-cased'.
22934         * modules/unicase/u16-is-cased-tests: New file.
22935         * tests/unicase/test-u16-is-cased.c: New file.
22936
22937         Tests for module 'unicase/u8-is-cased'.
22938         * modules/unicase/u8-is-cased-tests: New file.
22939         * tests/unicase/test-u8-is-cased.c: New file.
22940         * tests/unicase/test-is-cased.h: New file.
22941
22942         New module 'unicase/u32-is-cased'.
22943         * lib/unicase/u32-is-cased.c: New file.
22944         * modules/unicase/u32-is-cased: New file.
22945
22946         New module 'unicase/u16-is-cased'.
22947         * lib/unicase/u16-is-cased.c: New file.
22948         * modules/unicase/u16-is-cased: New file.
22949
22950         New module 'unicase/u8-is-cased'.
22951         * lib/unicase/u8-is-cased.c: New file.
22952         * lib/unicase/u-is-cased.h: New file.
22953         * modules/unicase/u8-is-cased: New file.
22954
22955         Tests for module 'unicase/u32-is-casefolded'.
22956         * modules/unicase/u32-is-casefolded-tests: New file.
22957         * tests/unicase/test-u32-is-casefolded.c: New file.
22958
22959         Tests for module 'unicase/u16-is-casefolded'.
22960         * modules/unicase/u16-is-casefolded-tests: New file.
22961         * tests/unicase/test-u16-is-casefolded.c: New file.
22962
22963         Tests for module 'unicase/u8-is-casefolded'.
22964         * modules/unicase/u8-is-casefolded-tests: New file.
22965         * tests/unicase/test-u8-is-casefolded.c: New file.
22966         * tests/unicase/test-is-casefolded.h: New file.
22967
22968         New module 'unicase/u32-is-casefolded'.
22969         * lib/unicase/u32-is-casefolded.c: New file.
22970         * modules/unicase/u32-is-casefolded: New file.
22971
22972         New module 'unicase/u16-is-casefolded'.
22973         * lib/unicase/u16-is-casefolded.c: New file.
22974         * modules/unicase/u16-is-casefolded: New file.
22975
22976         New module 'unicase/u8-is-casefolded'.
22977         * lib/unicase/u8-is-casefolded.c: New file.
22978         * modules/unicase/u8-is-casefolded: New file.
22979
22980         Tests for module 'unicase/u32-is-titlecase'.
22981         * modules/unicase/u32-is-titlecase-tests: New file.
22982         * tests/unicase/test-u32-is-titlecase.c: New file.
22983
22984         Tests for module 'unicase/u16-is-titlecase'.
22985         * modules/unicase/u16-is-titlecase-tests: New file.
22986         * tests/unicase/test-u16-is-titlecase.c: New file.
22987
22988         Tests for module 'unicase/u8-is-titlecase'.
22989         * modules/unicase/u8-is-titlecase-tests: New file.
22990         * tests/unicase/test-u8-is-titlecase.c: New file.
22991         * tests/unicase/test-is-titlecase.h: New file.
22992
22993         New module 'unicase/u32-is-titlecase'.
22994         * lib/unicase/u32-is-titlecase.c: New file.
22995         * modules/unicase/u32-is-titlecase: New file.
22996
22997         New module 'unicase/u16-is-titlecase'.
22998         * lib/unicase/u16-is-titlecase.c: New file.
22999         * modules/unicase/u16-is-titlecase: New file.
23000
23001         New module 'unicase/u8-is-titlecase'.
23002         * lib/unicase/u8-is-titlecase.c: New file.
23003         * modules/unicase/u8-is-titlecase: New file.
23004
23005         Tests for module 'unicase/u32-is-lowercase'.
23006         * modules/unicase/u32-is-lowercase-tests: New file.
23007         * tests/unicase/test-u32-is-lowercase.c: New file.
23008
23009         Tests for module 'unicase/u16-is-lowercase'.
23010         * modules/unicase/u16-is-lowercase-tests: New file.
23011         * tests/unicase/test-u16-is-lowercase.c: New file.
23012
23013         Tests for module 'unicase/u8-is-lowercase'.
23014         * modules/unicase/u8-is-lowercase-tests: New file.
23015         * tests/unicase/test-u8-is-lowercase.c: New file.
23016         * tests/unicase/test-is-lowercase.h: New file.
23017
23018         New module 'unicase/u32-is-lowercase'.
23019         * lib/unicase/u32-is-lowercase.c: New file.
23020         * modules/unicase/u32-is-lowercase: New file.
23021
23022         New module 'unicase/u16-is-lowercase'.
23023         * lib/unicase/u16-is-lowercase.c: New file.
23024         * modules/unicase/u16-is-lowercase: New file.
23025
23026         New module 'unicase/u8-is-lowercase'.
23027         * lib/unicase/u8-is-lowercase.c: New file.
23028         * modules/unicase/u8-is-lowercase: New file.
23029
23030         Tests for module 'unicase/u32-is-uppercase'.
23031         * modules/unicase/u32-is-uppercase-tests: New file.
23032         * tests/unicase/test-u32-is-uppercase.c: New file.
23033
23034         Tests for module 'unicase/u16-is-uppercase'.
23035         * modules/unicase/u16-is-uppercase-tests: New file.
23036         * tests/unicase/test-u16-is-uppercase.c: New file.
23037
23038         Tests for module 'unicase/u8-is-uppercase'.
23039         * modules/unicase/u8-is-uppercase-tests: New file.
23040         * tests/unicase/test-u8-is-uppercase.c: New file.
23041         * tests/unicase/test-is-uppercase.h: New file.
23042
23043         New module 'unicase/u32-is-uppercase'.
23044         * lib/unicase/u32-is-uppercase.c: New file.
23045         * modules/unicase/u32-is-uppercase: New file.
23046
23047         New module 'unicase/u16-is-uppercase'.
23048         * lib/unicase/u16-is-uppercase.c: New file.
23049         * modules/unicase/u16-is-uppercase: New file.
23050
23051         New module 'unicase/u8-is-uppercase'.
23052         * lib/unicase/u8-is-uppercase.c: New file.
23053         * modules/unicase/u8-is-uppercase: New file.
23054
23055         New module 'unicase/u32-is-invariant'.
23056         * lib/unicase/u32-is-invariant.c: New file.
23057         * modules/unicase/u32-is-invariant: New file.
23058
23059         New module 'unicase/u16-is-invariant'.
23060         * lib/unicase/u16-is-invariant.c: New file.
23061         * modules/unicase/u16-is-invariant: New file.
23062
23063         New module 'unicase/u8-is-invariant'.
23064         * lib/unicase/u8-is-invariant.c: New file.
23065         * lib/unicase/invariant.h: New file.
23066         * lib/unicase/u-is-invariant.h: New file.
23067         * modules/unicase/u8-is-invariant: New file.
23068
23069         Tests for module 'unicase/u32-casecoll'.
23070         * modules/unicase/u32-casecoll-tests: New file.
23071         * tests/unicase/test-u32-casecoll.c: New file.
23072
23073         Tests for module 'unicase/u16-casecoll'.
23074         * modules/unicase/u16-casecoll-tests: New file.
23075         * tests/unicase/test-u16-casecoll.c: New file.
23076
23077         Tests for module 'unicase/u8-casecoll'.
23078         * modules/unicase/u8-casecoll-tests: New file.
23079         * tests/unicase/test-u8-casecoll.c: New file.
23080
23081         New module 'unicase/u32-casecoll'.
23082         * lib/unicase/u32-casecoll.c: New file.
23083         * modules/unicase/u32-casecoll: New file.
23084
23085         New module 'unicase/u16-casecoll'.
23086         * lib/unicase/u16-casecoll.c: New file.
23087         * modules/unicase/u16-casecoll: New file.
23088
23089         New module 'unicase/u8-casecoll'.
23090         * lib/unicase/u8-casecoll.c: New file.
23091         * lib/unicase/u-casecoll.h: New file.
23092         * modules/unicase/u8-casecoll: New file.
23093
23094         New module 'unicase/u32-casexfrm'.
23095         * lib/unicase/u32-casexfrm.c: New file.
23096         * modules/unicase/u32-casexfrm: New file.
23097
23098         New module 'unicase/u16-casexfrm'.
23099         * lib/unicase/u16-casexfrm.c: New file.
23100         * modules/unicase/u16-casexfrm: New file.
23101
23102         New module 'unicase/u8-casexfrm'.
23103         * lib/unicase/u8-casexfrm.c: New file.
23104         * lib/unicase/u-casexfrm.h: New file.
23105         * modules/unicase/u8-casexfrm: New file.
23106
23107         Tests for module 'unicase/u32-casecmp'.
23108         * modules/unicase/u32-casecmp-tests: New file.
23109         * tests/unicase/test-u32-casecmp.c: New file.
23110
23111         Tests for module 'unicase/u16-casecmp'.
23112         * modules/unicase/u16-casecmp-tests: New file.
23113         * tests/unicase/test-u16-casecmp.c: New file.
23114
23115         Tests for module 'unicase/u8-casecmp'.
23116         * modules/unicase/u8-casecmp-tests: New file.
23117         * tests/unicase/test-u8-casecmp.c: New file.
23118         * tests/unicase/test-casecmp.h: New file.
23119
23120         New module 'unicase/u32-casecmp'.
23121         * lib/unicase/u32-casecmp.c: New file.
23122         * modules/unicase/u32-casecmp: New file.
23123
23124         New module 'unicase/u16-casecmp'.
23125         * lib/unicase/u16-casecmp.c: New file.
23126         * modules/unicase/u16-casecmp: New file.
23127
23128         New module 'unicase/u8-casecmp'.
23129         * lib/unicase/u8-casecmp.c: New file.
23130         * lib/unicase/u-casecmp.h: New file.
23131         * modules/unicase/u8-casecmp: New file.
23132
23133         Tests for module 'unicase/u32-casefold'.
23134         * modules/unicase/u32-casefold-tests: New file.
23135         * tests/unicase/test-u32-casefold.c: New file.
23136
23137         Tests for module 'unicase/u16-casefold'.
23138         * modules/unicase/u16-casefold-tests: New file.
23139         * tests/unicase/test-u16-casefold.c: New file.
23140
23141         Tests for module 'unicase/u8-casefold'.
23142         * modules/unicase/u8-casefold-tests: New file.
23143         * tests/unicase/test-u8-casefold.c: New file.
23144
23145         New module 'unicase/u32-casefold'.
23146         * lib/unicase/u32-casefold.c: New file.
23147         * modules/unicase/u32-casefold: New file.
23148
23149         New module 'unicase/u16-casefold'.
23150         * lib/unicase/u16-casefold.c: New file.
23151         * modules/unicase/u16-casefold: New file.
23152
23153         New module 'unicase/u8-casefold'.
23154         * lib/unicase/u8-casefold.c: New file.
23155         * lib/unicase/u-casefold.h: New file.
23156         * modules/unicase/u8-casefold: New file.
23157
23158         New module 'unicase/tocasefold'.
23159         * lib/unicase/casefold.h: New file.
23160         * lib/unicase/tocasefold.c: New file.
23161         * lib/unicase/tocasefold.h: New file, generated by gen-uni-tables.c.
23162         * modules/unicase/tocasefold: New file.
23163
23164         Tests for module 'unicase/u32-totitle'.
23165         * modules/unicase/u32-totitle-tests: New file.
23166         * tests/unicase/test-u32-totitle.c: New file.
23167
23168         Tests for module 'unicase/u16-totitle'.
23169         * modules/unicase/u16-totitle-tests: New file.
23170         * tests/unicase/test-u16-totitle.c: New file.
23171
23172         Tests for module 'unicase/u8-totitle'.
23173         * modules/unicase/u8-totitle-tests: New file.
23174         * tests/unicase/test-u8-totitle.c: New file.
23175
23176         New module 'unicase/u32-totitle'.
23177         * lib/unicase/u32-totitle.c: New file.
23178         * modules/unicase/u32-totitle: New file.
23179
23180         New module 'unicase/u16-totitle'.
23181         * lib/unicase/u16-totitle.c: New file.
23182         * modules/unicase/u16-totitle: New file.
23183
23184         New module 'unicase/u8-totitle'.
23185         * lib/unicase/u8-totitle.c: New file.
23186         * lib/unicase/u-totitle.h: New file.
23187         * modules/unicase/u8-totitle: New file.
23188
23189         Tests for module 'unicase/u32-tolower'.
23190         * modules/unicase/u32-tolower-tests: New file.
23191         * tests/unicase/test-u32-tolower.c: New file.
23192
23193         Tests for module 'unicase/u16-tolower'.
23194         * modules/unicase/u16-tolower-tests: New file.
23195         * tests/unicase/test-u16-tolower.c: New file.
23196
23197         Tests for module 'unicase/u8-tolower'.
23198         * modules/unicase/u8-tolower-tests: New file.
23199         * tests/unicase/test-u8-tolower.c: New file.
23200
23201         New module 'unicase/u32-tolower'.
23202         * lib/unicase/u32-tolower.c: New file.
23203         * modules/unicase/u32-tolower: New file.
23204
23205         New module 'unicase/u16-tolower'.
23206         * lib/unicase/u16-tolower.c: New file.
23207         * modules/unicase/u16-tolower: New file.
23208
23209         New module 'unicase/u8-tolower'.
23210         * lib/unicase/u8-tolower.c: New file.
23211         * modules/unicase/u8-tolower: New file.
23212
23213         Tests for module 'unicase/u32-toupper'.
23214         * modules/unicase/u32-toupper-tests: New file.
23215         * tests/unicase/test-u32-toupper.c: New file.
23216
23217         Tests for module 'unicase/u16-toupper'.
23218         * modules/unicase/u16-toupper-tests: New file.
23219         * tests/unicase/test-u16-toupper.c: New file.
23220
23221         Tests for module 'unicase/u8-toupper'.
23222         * modules/unicase/u8-toupper-tests: New file.
23223         * tests/unicase/test-u8-toupper.c: New file.
23224
23225         New module 'unicase/u32-toupper'.
23226         * lib/unicase/u32-toupper.c: New file.
23227         * modules/unicase/u32-toupper: New file.
23228
23229         New module 'unicase/u16-toupper'.
23230         * lib/unicase/u16-toupper.c: New file.
23231         * modules/unicase/u16-toupper: New file.
23232
23233         New module 'unicase/u8-toupper'.
23234         * lib/unicase/u8-toupper.c: New file.
23235         * modules/unicase/u8-toupper: New file.
23236
23237         New module 'unicase/u32-casemap'.
23238         * lib/unicase/u32-casemap.c: New file.
23239         * modules/unicase/u32-casemap: New file.
23240
23241         New module 'unicase/u16-casemap'.
23242         * lib/unicase/u16-casemap.c: New file.
23243         * modules/unicase/u16-casemap: New file.
23244
23245         New module 'unicase/u8-casemap'.
23246         * lib/unicase/unicasemap.h: New file.
23247         * lib/unicase/u8-casemap.c: New file.
23248         * lib/unicase/u-casemap.h: New file.
23249         * modules/unicase/u8-casemap: New file.
23250
23251         New module 'unicase/special-casing'.
23252         * lib/unicase/special-casing.h: New file.
23253         * lib/unicase/special-casing.c: New file.
23254         * lib/unicase/special-casing-table.gperf: New file, generated by
23255         gen-uni-tables.c.
23256         * modules/unicase/special-casing: New file.
23257
23258         Tests for module 'unicase/locale-language'.
23259         * modules/unicase/locale-language-tests: New file.
23260         * tests/unicase/test-locale-language.sh: New file.
23261         * tests/unicase/test-locale-language.c: New file.
23262
23263         New module 'unicase/locale-language'.
23264         * lib/unicase/locale-language.c: New file.
23265         * lib/unicase/locale-languages.gperf: New file.
23266         * modules/unicase/locale-language: New file.
23267
23268         Generate more tables for case conversion and case folding.
23269         * lib/gen-uni-tables.c (SCC_*): New enum items.
23270         (struct special_casing_rule): New type.
23271         (casing_rules, num_casing_rules, allocated_casing_rules): New
23272         variables.
23273         (add_casing_rule, fill_casing_rules): New functions.
23274         (struct casefold_rule): New type.
23275         (casefolding_rules, num_casefolding_rules,
23276         allocated_casefolding_rules): New variables.
23277         (fill_casefolding_rules): New function.
23278         (unicode_casefold): New variable.
23279         (to_casefold, redistribute_casefolding_rules, compare_casing_rules,
23280         sort_casing_rules, output_casing_rules): New functions.
23281         (main): Accept to more arguments: SpecialCasing.txt and
23282         CaseFolding.txt. Invoke fill_casing_rules, fill_casefolding_rules,
23283         redistribute_casefolding_rules, sort_casing_rules, output_casing_rules.
23284         Output mapping for casefolding.
23285
23286         * lib/unicase.h: Include stdbool.h, uninorm.h.
23287         (u8_toupper, u16_toupper, u32_toupper, u8_tolower, u16_tolower,
23288         u32_tolower, u8_totitle, u16_totitle, u32_totitle): Add nf argument.
23289         (u8_casefold, u16_casefold, u32_casefold): Add iso639_language and nf
23290         arguments.
23291         (u8_casecmp, u16_casecmp, u32_casecmp): Add iso639_language, nf,
23292         resultp arguments.
23293         (u8_casexfrm, u16_casexfrm, u32_casexfrm): New declarations.
23294         (u8_casecoll, u16_casecoll, u32_casecoll): Add iso639_language, nf,
23295         resultp arguments.
23296         (u8_is_uppercase, u16_is_uppercase, u32_is_uppercase, u8_is_lowercase,
23297         u16_is_lowercase, u32_is_lowercase, u8_is_titlecase, u16_is_titlecase,
23298         u32_is_titlecase, u8_is_casefolded, u16_is_casefolded,
23299         u32_is_casefolded, u8_is_cased, u16_is_cased, u32_is_cased): New
23300         declarations.
23301         * modules/unicase/base (Depends-on): Add uninorm/base, stdbool.
23302
23303 2009-03-08  Bruno Haible  <bruno@clisp.org>
23304
23305         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
23306         u16_normcoll, u32_normcoll): Rename argument 'result' to 'resultp'.
23307         * lib/uninorm/u-normcmp.h (FUNC): Likewise.
23308         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
23309
23310 2009-03-07  Bruno Haible  <bruno@clisp.org>
23311
23312         Adjust u*_normcmp, u*_normcoll API.
23313         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
23314         u16_normcoll, u32_normcoll): Change failure conventions.
23315         * lib/uninorm/u-normcmp.h (FUNC): Upon failure, store the error code in
23316         errno and return -1.
23317         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
23318
23319 2009-03-07  Bruno Haible  <bruno@clisp.org>
23320
23321         Tests for module 'uninorm/u32-normcoll'.
23322         * modules/uninorm/u32-normcoll-tests: New file.
23323         * tests/uninorm/test-u32-normcoll.c: New file.
23324
23325         Tests for module 'uninorm/u16-normcoll'.
23326         * modules/uninorm/u16-normcoll-tests: New file.
23327         * tests/uninorm/test-u16-normcoll.c: New file.
23328
23329         Tests for module 'uninorm/u8-normcoll'.
23330         * modules/uninorm/u8-normcoll-tests: New file.
23331         * tests/uninorm/test-u8-normcoll.c: New file.
23332
23333 2009-03-07  Bruno Haible  <bruno@clisp.org>
23334
23335         * tests/uninorm/test-u32-normcmp.h: New file, extracted from
23336         tests/uninorm/test-u32-normcmp.c.
23337         * tests/uninorm/test-u32-normcmp.c: Include it.
23338         (test_nonascii): New function, extracted from main. Add some more
23339         tests.
23340         (main): Invoke test_ascii and test_nonascii.
23341         * modules/uninorm/u32-normcmp-tests (Files): Add
23342         tests/uninorm/test-u32-normcmp.h.
23343         (Depends-on): Remove uninorm/u32-normcmp.
23344
23345         * tests/uninorm/test-u16-normcmp.h: New file, extracted from
23346         tests/uninorm/test-u16-normcmp.c.
23347         * tests/uninorm/test-u16-normcmp.c: Include it.
23348         (test_nonascii): New function, extracted from main. Add some more
23349         tests.
23350         (main): Invoke test_ascii and test_nonascii.
23351         * modules/uninorm/u16-normcmp-tests (Files): Add
23352         tests/uninorm/test-u16-normcmp.h.
23353         (Depends-on): Remove uninorm/u16-normcmp.
23354
23355         * tests/uninorm/test-u8-normcmp.h: New file, extracted from
23356         tests/uninorm/test-u8-normcmp.c.
23357         * tests/uninorm/test-u8-normcmp.c: Include it.
23358         (test_nonascii): New function, extracted from main. Add some more
23359         tests.
23360         (main): Invoke test_ascii and test_nonascii.
23361         * modules/uninorm/u8-normcmp-tests (Files): Add
23362         tests/uninorm/test-u8-normcmp.h.
23363         (Depends-on): Remove uninorm/u8-normcmp.
23364
23365 2009-03-07  Bruno Haible  <bruno@clisp.org>
23366
23367         New module 'uninorm/u32-normcoll'.
23368         * lib/uninorm/u32-normcoll.c: New file.
23369         * modules/uninorm/u32-normcoll: New file.
23370
23371         New module 'uninorm/u16-normcoll'.
23372         * lib/uninorm/u16-normcoll.c: New file.
23373         * modules/uninorm/u16-normcoll: New file.
23374
23375         New module 'uninorm/u8-normcoll'.
23376         * lib/uninorm.h (u8_normcoll, u16_normcoll, u32_normcoll): New
23377         declarations.
23378         * lib/uninorm/u8-normcoll.c: New file.
23379         * lib/uninorm/u-normcoll.h: New file.
23380         * modules/uninorm/u8-normcoll: New file.
23381
23382         New module 'uninorm/u32-normxfrm'.
23383         * lib/uninorm/u32-normxfrm.c: New file.
23384         * modules/uninorm/u32-normxfrm: New file.
23385
23386         New module 'uninorm/u16-normxfrm'.
23387         * lib/uninorm/u16-normxfrm.c: New file.
23388         * modules/uninorm/u16-normxfrm: New file.
23389
23390         New module 'uninorm/u8-normxfrm'.
23391         * lib/uninorm.h (u8_normxfrm, u16_normxfrm, u32_normxfrm): New
23392         declarations.
23393         * lib/uninorm/u8-normxfrm.c: New file.
23394         * lib/uninorm/u-normxfrm.h: New file.
23395         * modules/uninorm/u8-normxfrm: New file.
23396
23397 2009-03-07  Bruno Haible  <bruno@clisp.org>
23398
23399         * modules/uninorm/u8-normcmp (Depends-on): Add uninorm/base.
23400         * modules/uninorm/u16-normcmp (Depends-on): Likewise.
23401         * modules/uninorm/u32-normcmp (Depends-on): Likewise.
23402
23403 2009-03-07  Bruno Haible  <bruno@clisp.org>
23404
23405         New module 'memxfrm'.
23406         * lib/memxfrm.h: New file.
23407         * lib/memxfrm.c: New file.
23408         * modules/memxfrm: New file.
23409
23410 2009-03-07  Bruno Haible  <bruno@clisp.org>
23411
23412         New module 'memcmp2'.
23413         * lib/memcmp2.h: New file.
23414         * lib/memcmp2.c: New file.
23415         * modules/memcmp2: New file.
23416
23417 2009-03-07  Bruno Haible  <bruno@clisp.org>
23418
23419         Tests for module 'uninorm/decomposing-form'.
23420         * modules/uninorm/decomposing-form-tests: New file.
23421         * tests/uninorm/test-decomposing-form.c: New file.
23422
23423         New module 'uninorm/decomposing-form'.
23424         * lib/uninorm.h (uninorm_decomposing_form): New declaration.
23425         * lib/uninorm/normalize-internal.h (struct unicode_normalization_form):
23426         Add 'decomposing_variant' field.
23427         * lib/uninorm/decomposing-form.c: New file.
23428         * lib/uninorm/nfc.c (uninorm_nfc): Update.
23429         * lib/uninorm/nfd.c (uninorm_nfd): Update.
23430         * lib/uninorm/nfkc.c (uninorm_nfkc): Update.
23431         * lib/uninorm/nfkd.c (uninorm_nfkd): Update.
23432         * modules/uninorm/decomposing-form: New file.
23433         * modules/uninorm/nfc (Depends-on): Add uninorm/nfd.
23434         * modules/uninorm/nfkc (Depends-on): Add uninorm/nfkd.
23435
23436 2009-03-07  Bruno Haible  <bruno@clisp.org>
23437
23438         * lib/uninorm/u-normcmp.h (FUNC): Use stack=allocated buffers for small
23439         strings.
23440
23441 2009-03-06  Bruno Haible  <bruno@clisp.org>
23442
23443         Tests for module 'uninorm/u32-normcmp'.
23444         * tests/uninorm/test-u32-normcmp.c: New file.
23445         * modules/uninorm/u32-normcmp-tests: New file.
23446
23447         Tests for module 'uninorm/u16-normcmp'.
23448         * tests/uninorm/test-u16-normcmp.c: New file.
23449         * modules/uninorm/u16-normcmp-tests: New file.
23450
23451         Tests for module 'uninorm/u8-normcmp'.
23452         * tests/uninorm/test-u8-normcmp.c: New file.
23453         * modules/uninorm/u8-normcmp-tests: New file.
23454
23455         New module 'uninorm/u32-normcmp'.
23456         * lib/uninorm/u32-normcmp.c: New file.
23457         * modules/uninorm/u32-normcmp: New file.
23458
23459         New module 'uninorm/u16-normcmp'.
23460         * lib/uninorm/u16-normcmp.c: New file.
23461         * modules/uninorm/u16-normcmp: New file.
23462
23463         New module 'uninorm/u8-normcmp'.
23464         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp): New
23465         declarations.
23466         * lib/uninorm/u8-normcmp.c: New file.
23467         * lib/uninorm/u-normcmp.h: New file.
23468         * modules/uninorm/u8-normcmp: New file.
23469
23470 2009-03-06  Bruno Haible  <bruno@clisp.org>
23471
23472         * lib/w32spawn.h (dup_noinherit): Add cast, to avoid gcc warning.
23473         Reported by Eric Blake.
23474
23475 2009-03-06  Eric Blake  <ebb9@byu.net>
23476             Bruno Haible  <bruno@clisp.org>
23477
23478         * lib/spawni.c (__spawni) [WIN32_NATIVE]: Define as a stub.
23479         * modules/posix_spawn-tests (configure.ac): Define POSIX_SPAWN_PORTED
23480         condition.
23481         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
23482         * modules/posix_spawnp-tests (configure.ac): Define POSIX_SPAWN_PORTED
23483         condition.
23484         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
23485
23486 2009-03-06  Eric Blake  <ebb9@byu.net>
23487
23488         * lib/execute.c (execute) [WIN32_NATIVE]: Cast arguments of spawnvpe,
23489         to avoid compiler warnings.
23490         * lib/pipe.c (create_pipe) [WIN32_NATIVE]: Likewise.
23491
23492 2009-03-05  Bruno Haible  <bruno@clisp.org>
23493
23494         * tests/test-ftell.c (main): Disable test beyond end of file on
23495         FreeMiNT.
23496         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
23497
23498 2009-03-05  Kamil Dudka  <kdudka@redhat.com>
23499
23500         * lib/filevercmp.c: Move hidden files up in ordering.
23501         * tests/test-filevercmp.c: Add tests for hidden files.
23502
23503 2009-03-04  Bruno Haible  <bruno@clisp.org>
23504
23505         * modules/visibility (Makefile.am): Augment AM_CFLAGS.
23506         * gnulib-tool (func_emit_lib_Makefile_am): Emit initialization of
23507         AM_CFLAGS.
23508         Reported by Simon Josefsson.
23509
23510 2009-03-03  Bruno Haible  <bruno@clisp.org>
23511
23512         * doc/visibility.texi: Recommend to use HAVE_VISIBILITY as a C macro.
23513         Reported by Simon Josefsson.
23514
23515         * doc/ld-version-script.texi: Update node reference.
23516
23517 2009-03-03  Bruno Haible  <bruno@clisp.org>
23518
23519         * modules/visibility (License): Change to 'unlimited'.
23520         Suggested by Simon Josefsson.
23521
23522 2009-03-03  Jim Meyering  <meyering@redhat.com>
23523
23524         unlinkdir: cannot_unlink_dir may modify process state
23525         * lib/unlinkdir.c (cannot_unlink_dir): Add a comment warning that
23526         it's neither thread-safe nor appropriate for use in a library.
23527
23528 2009-03-03  Eric Blake  <ebb9@byu.net>
23529
23530         test-closein: silence test under Darwin
23531         * tests/test-closein.sh: Ignore stderr from cat, since we don't
23532         care if it dies from EPIPE or EBADF.
23533
23534 2009-03-03  Bruno Haible  <bruno@clisp.org>
23535
23536         * doc/gnulib.texi: Include visibility.texi and ld-version-script.texi
23537         earlier.
23538         * doc/visibility.texi: Fix @node and @section.
23539
23540 2009-03-03  Simon Josefsson  <simon@josefsson.org>
23541
23542         * doc/gnulib.texi: Link to sections for ld version script and
23543         visibility.
23544         * doc/visibility.texi: Add @node and @section.
23545         * modules/ld-version-script: New module.
23546         * m4/ld-version-script.m4: New file.
23547         * doc/ld-version-script.texi: New file.
23548
23549 2009-03-02  David Lutterkort  <lutter@redhat.com>
23550
23551         * lib/safe-alloc.h (__GNUC_PREREQ): New macro.
23552         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
23553
23554 2009-03-02  Bruno Haible  <bruno@clisp.org>
23555
23556         * doc/visibility.texi: Mention libtool's -export-symbols option.
23557
23558 2009-03-02  Jim Meyering  <meyering@redhat.com>
23559
23560         announce-gen: new option: --no-print-checksums
23561         * build-aux/announce-gen (usage): Describe it.
23562         (print_checksums): Print a newline here, not in the [*] footnote.
23563         (main): Honor it.
23564
23565 2009-03-01  Bruno Haible  <bruno@clisp.org>
23566
23567         Use socklen_t in the native Windows replacements prototypes.
23568         * lib/sys_socket.in.h (rpl_getsockopt, rpl_setsockopt): Use socklen_t
23569         instead of 'int'.
23570         * lib/getsockopt.c (rpl_getsockopt): Likewise.
23571         * lib/setsockopt.c (rpl_setsockopt): Likewise.
23572         * modules/getsockopt (Depends-on): Add socklen.
23573         * modules/setsockopt (Depends-on): Add socklen.
23574
23575 2009-03-01  Bruno Haible  <bruno@clisp.org>
23576
23577         * gnulib-tool (sed): Do alias as "sed --posix" if sed's version is at
23578         least 4.2.
23579
23580 2009-03-01  Eric Blake  <ebb9@byu.net>
23581             Bruno Haible  <bruno@clisp.org>
23582
23583         * lib/wait-process.h (wait_subprocess): Describe effect of termsigp on
23584         error messages.
23585         * lib/wait-process.c (wait_subprocess): Omit error message about
23586         deadly signal sent to the child of termsigp != NULL.
23587
23588 2009-03-01  Eric Blake  <ebb9@byu.net>
23589
23590         * lib/wait-process.c (wait_subprocess): Remove unnecessary cast.
23591
23592 2009-03-01  Bruno Haible  <bruno@clisp.org>
23593
23594         Avoid a gcc warning.
23595         * tests/test-sched.c (b): Make global.
23596         Reported by Eric Blake.
23597
23598 2009-01-19  Martin Lambers  <marlam@marlam.de>
23599
23600         Provide POSIX semantics for socket timeout options on W32.
23601         * lib/setsockopt.c: Convert struct timeval to milliseconds on W32.
23602         * lib/getsockopt.c: Convert milliseconds to struct timeval on W32.
23603         * modules/setsockopt: Depend on sys_time module for struct timeval.
23604         * modules/getsockopt: Depend on sys_time module for struct timeval.
23605
23606 2009-03-01  Simon Josefsson  <simon@josefsson.org>
23607
23608         * lib/gai_strerror.c (values): Use EAI_INPROGRESS instead of
23609         __USE_GNU, for consistency with netdb.in.h.
23610         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
23611
23612 2009-03-01  Bruno Haible  <bruno@clisp.org>
23613
23614         More support for FreeMiNT.
23615         * lib/fseeko.c (rpl_fseeko): Complete last commit.
23616         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
23617
23618 2009-03-01  Bruno Haible  <bruno@clisp.org>
23619
23620         More support for FreeMiNT.
23621         * lib/fpurge.c (fpurge): Correct last commit.
23622         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
23623
23624 2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
23625
23626         Fix unportable awk script in vc-list-files.
23627         * build-aux/vc-list-files: In the replacement awk script, use
23628         substr with a second argument of 1, not zero.
23629         Report by Simon Josefsson.
23630
23631 2009-02-28  Bruno Haible  <bruno@clisp.org>
23632
23633         More support for FreeMiNT.
23634         * lib/freading.c (freading) [__MINT__]: Use new macros that were added
23635         to FreeMiNT today.
23636         * lib/fwriting.c (fwriting): Likewise.
23637         Based on patch by Alan Hourihane <alanh@fairlite.co.uk>.
23638
23639 2009-02-28  Bruno Haible  <bruno@clisp.org>
23640
23641         * tests/test-freadseek.c (main): Disable test beyond end of file on
23642         FreeMiNT.
23643         * tests/test-ftello.c (main): Likewise.
23644         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
23645
23646 2009-02-28  Bruno Haible  <bruno@clisp.org>
23647
23648         Add tentative support for FreeMiNT.
23649         * lib/fbufmode.c (fbufmode) [__MINT__]: Add conditional code.
23650         * lib/fpurge.c (fpurge): Likewise.
23651         * lib/freadable.c (freadable): Likewise.
23652         * lib/freading.c (freading): Likewise.
23653         * lib/freadptr.c (freadptr): Likewise.
23654         * lib/freadseek.c (freadptrinc): Likewise.
23655         * lib/fseeko.c (rpl_fseeko): Likewise.
23656         * lib/fseterr.c (fseterr): Likewise.
23657         * lib/fwritable.c (fwritable): Likewise.
23658         * lib/fwriting.c (fwriting): Likewise.
23659         * lib/freadahead.c (freadahead): Likewise, based on code by Alan
23660         Hourihane.
23661         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
23662
23663 2009-02-28  Bruno Haible  <bruno@clisp.org>
23664
23665         * lib/wait-process.h (wait_subprocess): Clarify restriction regarding
23666         SIGCHLD.
23667         Reported by Jim Meyering.
23668
23669 2009-02-28  Bruno Haible  <bruno@clisp.org>
23670
23671         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Separate the two first tests.
23672         Mention the results of these tests on various platforms.
23673         * doc/posix-functions/fprintf.texi: Mention platforms in canonical
23674         order.
23675         * doc/posix-functions/printf.texi: Likewise.
23676         * doc/posix-functions/snprintf.texi: Likewise.
23677         * doc/posix-functions/sprintf.texi: Likewise.
23678         * doc/posix-functions/vfprintf.texi: Likewise.
23679         * doc/posix-functions/vprintf.texi: Likewise.
23680         * doc/posix-functions/vsnprintf.texi: Likewise.
23681         * doc/posix-functions/vsprintf.texi: Likewise.
23682         * doc/glibc-functions/obstack_printf.texi: Likewise.
23683         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
23684
23685 2009-02-28  Bruno Haible  <bruno@clisp.org>
23686
23687         * build-aux/po/Makefile.in.in: Update from GNU gettext 0.17.
23688         Reported by Loïc Minier <lool@dooz.org>.
23689
23690 2009-02-27  Bruno Haible  <bruno@clisp.org>
23691
23692         * gnulib-tool (func_import): Make the sed expression used to create the
23693         sed script for updating the .gitignore file POSIX compliant.
23694         Reported by Eric Blake.
23695
23696 2009-02-27  Bruno Haible  <bruno@clisp.org>
23697
23698         * gnulib-tool (sed): Don't alias as "sed --posix".
23699         Reported by Eric Blake.
23700
23701 2009-02-27  Bruno Haible  <bruno@clisp.org>
23702
23703         Avoid test link errors.
23704         * modules/uninorm/nfc-tests (test_u32_nfc_big_LDADD): New variable.
23705         * modules/uninorm/nfd-tests (test_u32_nfd_big_LDADD): New variable.
23706         * modules/uninorm/nfkc-tests (test_u32_nfkc_big_LDADD): New variable.
23707         * modules/uninorm/nfkd-tests (test_u32_nfkd_big_LDADD): New variable.
23708         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
23709
23710 2009-02-27  Bruno Haible  <bruno@clisp.org>
23711
23712         Avoid spurious "(cached)" in configure output.
23713         * m4/gnulib-common.m4 (gl_CACHE_VAL_SILENT): New macro.
23714         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Use it instead of AC_CACHE_VAL.
23715         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
23716         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
23717         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
23718         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
23719         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
23720         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
23721         Reported by Eric Blake.
23722
23723 2009-02-27  Eric Blake  <ebb9@byu.net>
23724
23725         printf: fix regression in previous patch
23726         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Fix compilation error.
23727
23728 2009-02-27  Bruno Haible  <bruno@clisp.org>
23729
23730         * lib/inttypes.in.h: Test merely whether _LP64 is defined, not its
23731         value.
23732         * lib/stdint.in.h: Likewise.
23733         Suggested by Eric Blake. Reported by Peter Bray <pdb_ml@yahoo.com.au>.
23734
23735 2009-02-27  Eric Blake  <ebb9@byu.net>
23736
23737         doc: mention more functions added in cygwin 1.7.0
23738         * doc/posix-functions/mbsnrtowcs.texi: Mention recent cygwin 1.7.0
23739         addition.
23740         * doc/posix-functions/open_wmemstream.texi: Likewise.
23741         * doc/posix-functions/wcsnlen.texi: Likewise.
23742         * doc/posix-functions/wcsnrtombs.texi: Likewise.
23743         * doc/posix-functions/wcstod.texi: Likewise.
23744         * doc/posix-functions/wcstof.texi: Likewise.
23745         * doc/posix-functions/wcstoimax.texi: Likewise.
23746         * doc/posix-functions/wcstok.texi: Likewise.
23747         * doc/posix-functions/wcstoumax.texi: Likewise.
23748
23749         Detect bug in cygwin 1.5.x *printf on 1-character %ls.
23750         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Enhance filter.
23751         * doc/posix-functions/fprintf.texi: Update.
23752         * doc/posix-functions/printf.texi: Update.
23753         * doc/posix-functions/snprintf.texi: Update.
23754         * doc/posix-functions/sprintf.texi: Update.
23755         * doc/posix-functions/vfprintf.texi: Update.
23756         * doc/posix-functions/vprintf.texi: Update.
23757         * doc/posix-functions/vsnprintf.texi: Update.
23758         * doc/posix-functions/vsprintf.texi: Update.
23759         * doc/glibc-functions/obstack_printf.texi: Update.
23760         * doc/glibc-functions/obstack_vprintf.texi: Update.
23761
23762 2009-02-26  Eric Blake  <ebb9@byu.net>
23763
23764         avoid gcc 3.4.3 bug on long double NaN on Irix 6.5
23765         * tests/nan.h (NaNl): Rewrite as function on Irix, to avoid
23766         compilation bug by using runtime conversion.
23767         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
23768         * m4/isnanl.m4 (gl_FUNC_ISNANL): Likewise.
23769         * modules/ceill-tests (Files): Use nan.h.
23770         * modules/floorl-tests (Files): Likewise.
23771         * modules/frexpl-tests (Files): Likewise.
23772         * modules/isnanl-tests (Files): Likewise.
23773         * modules/ldexpl-tests (Files): Likewise.
23774         * modules/roundl-tests (Files): Likewise.
23775         * modules/truncl-tests (Files): Likewise.
23776         * tests/test-ceill.c (main): Use a working NaN.
23777         * tests/test-floorl.c (main): Likewise.
23778         * tests/test-frexpl.c (main): Likewise.
23779         * tests/test-isnan.c (test_long_double): Likewise.
23780         * tests/test-isnanl.h (main): Likewise.
23781         * tests/test-ldexpl.h (main): Likewise.
23782         * tests/test-roundl.h (main): Likewise.
23783         * tests/test-truncl.h (main): Likewise.
23784         See http://lists.gnu.org/archive/html/bug-gnulib/2009-02/msg00190.html.
23785
23786 2009-02-26  Eric Blake  <ebb9@byu.net>
23787             Bruno Haible  <bruno@clisp.org>
23788
23789         Work around a *printf bug with %ls on Solaris.
23790         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Also test whether, when a
23791         precision is specified, sprintf stops converting the wide string
23792         argument when the number of bytes that have been produced by this
23793         conversion equals or exceeds the precision.
23794         * doc/posix-functions/fprintf.texi: Update.
23795         * doc/posix-functions/printf.texi: Update.
23796         * doc/posix-functions/snprintf.texi: Update.
23797         * doc/posix-functions/sprintf.texi: Update.
23798         * doc/posix-functions/vfprintf.texi: Update.
23799         * doc/posix-functions/vprintf.texi: Update.
23800         * doc/posix-functions/vsnprintf.texi: Update.
23801         * doc/posix-functions/vsprintf.texi: Update.
23802         * doc/glibc-functions/obstack_printf.texi: Update.
23803         * doc/glibc-functions/obstack_vprintf.texi: Update.
23804
23805 2009-02-26  Eric Blake  <ebb9@byu.net>
23806
23807         stdlib: favor compiler check of random.h
23808         * m4/stdlib_h.m4 (gl_STDLIB_H): Skip preprocessor check.  Needed
23809         to avoid an ObjC random.h installed by Swarm.
23810
23811 2009-02-26  Bruno Haible  <bruno@clisp.org>
23812
23813         Work around *printf bug with %g directive and 0.0 on HP-UX 10.20.
23814         * m4/printf.m4 (gl_PRINTF_INFINITE): Also test for %g output of -0.0.
23815         Reported by Gary V. Vaughan <gary@gnu.org>.
23816
23817 2009-02-26  Bruno Haible  <bruno@clisp.org>
23818
23819         Fix *printf behaviour regarding the %ls directive.
23820         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): New macro.
23821         * lib/vasnprintf.c (local_wcslen, VASNPRINTF): Handle
23822         NEED_PRINTF_DIRECTIVE_LS.
23823         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_LS): New macro.
23824         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
23825         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
23826         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS and test its result. Invoke
23827         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS.
23828         * m4/dprintf-posix.m4 (gl_FUNC_DPRINTF_POSIX): Likewise.
23829         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
23830         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
23831         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
23832         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
23833         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
23834         * m4/vdprintf-posix.m4 (gl_FUNC_VDPRINTF_POSIX): Likewise.
23835         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
23836         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
23837         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
23838         * doc/posix-functions/fprintf.texi: Update.
23839         * doc/posix-functions/printf.texi: Update.
23840         * doc/posix-functions/snprintf.texi: Update.
23841         * doc/posix-functions/sprintf.texi: Update.
23842         * doc/posix-functions/vfprintf.texi: Update.
23843         * doc/posix-functions/vprintf.texi: Update.
23844         * doc/posix-functions/vsnprintf.texi: Update.
23845         * doc/posix-functions/vsprintf.texi: Update.
23846         * doc/glibc-functions/obstack_printf.texi: Update.
23847         * doc/glibc-functions/obstack_vprintf.texi: Update.
23848         Reported by Eric Blake.
23849
23850 2009-02-25  Bruno Haible  <bruno@clisp.org>
23851
23852         * m4/mbrtowc.m4 (gl_MBRTOWC_NUL_RETVAL): Update guess for Solaris 8
23853         with known value.
23854         Reported by Gary V. Vaughan <gary@gnu.org>.
23855
23856 2009-02-25  Bruno Haible  <bruno@clisp.org>
23857
23858         Work around mbrtowc bug in zh_CN.GB18030 locale on Solaris 8.
23859         * m4/mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): New macro.
23860         (gl_MBSTATE_T_BROKEN): Invoke it. Replace mbstate_t when it says "no".
23861         * doc/posix-functions/mbrtowc.texi: Document the Solaris 8 bug.
23862         Reported by Gary V. Vaughan <gary@gnu.org>.
23863
23864 2009-02-25  Bruno Haible  <bruno@clisp.org>
23865
23866         Work around broken INT8_MAX, UINT8_MAX etc. values on HP-UX 11.23.
23867         * m4/stdint.m4 (gl_STDINT_H): Also check whether the expansions of
23868         INT8_MAX, UINT8_MAX etc. contain casts to elementary types.
23869         * doc/posix-headers/stdint.texi: Mention the HP-UX bug.
23870         Reported by Gary V. Vaughan <gary@gnu.org>.
23871
23872 2009-02-25  Eric Blake  <ebb9@byu.net>
23873
23874         tests: skip fseek/ftell tests if ungetc is broken
23875         * m4/ungetc.m4: New file.
23876         * modules/fseek-tests: Split test, so ungetc dependency is
23877         separate from rest of test.
23878         * modules/fseeko-tests: Likewise.
23879         * modules/ftell-tests: Likewise.
23880         * modules/ftello-tests: Likewise.
23881         * tests/test-fseek.c (main): Isolate ungetc dependency.
23882         * tests/test-fseeko.c (main): Likewise.
23883         * tests/test-ftell.c (main): Likewise.
23884         * tests/test-ftello.c (main): Likewise.
23885         * tests/test-fseek2.sh: New file.
23886         * tests/test-fseeko2.sh: Likewise.
23887         * tests/test-ftell2.sh: Likewise.
23888         * tests/test-ftello2.sh: Likewise.
23889
23890 2009-02-25  OndÅ™ej Vašík  <ovasik@redhat.com>
23891
23892         test-getaddrinfo: fix usage of skip return code 77
23893         * tests/test-gettaddrinfo.c: Return skip code 77 only
23894         for first occurance of skip (4x77 is not 77)
23895
23896 2009-02-25  Gary V. Vaughan  <gary@gnu.org>
23897
23898         strtod: avoid C99 decl-after-statement
23899         * m4/strtod.m4 (gl_FUNC_STRTOD): Rearrange declaration.
23900
23901 2009-02-24  Eric Blake  <ebb9@byu.net>
23902
23903         strtod: detect HP-UX 11.31 bug
23904         * m4/strtod.m4 (gl_FUNC_STRTOD): Detect errno handling bug.
23905         Reported by Gary V. Vaughan.
23906
23907 2009-02-23  Bruno Haible  <bruno@clisp.org>
23908
23909         Fix invalid read past end of memory block.
23910         * lib/vasnprintf.c (DCHAR_SET): Define.
23911         (local_wcslen): Define only when needed.
23912         (local_strnlen, local_wcsnlen): New functions.
23913         (VASNPRINTF) [!USE_SNPRINTF && HAVE_WCHAR_T]: Implement the %s and %ls
23914         directives that involve a conversion ourselves.
23915         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for strnlen,
23916         wcsnlen, mbrtowc, wcrtomb.
23917         * tests/test-vasnprintf-posix.c (test_function): Add tests for %.*s.
23918         * tests/test-vasprintf-posix.c (test_function): Likewise.
23919         * tests/test-snprintf-posix.h (test_function): Likewise.
23920         * tests/test-sprintf-posix.h (test_function): Likewise.
23921         Reported by Ben Pfaff <blp@cs.stanford.edu>.
23922
23923 2009-02-22  Bruno Haible  <bruno@clisp.org>
23924
23925         Implement new clarified decomposition of Hangul syllables.
23926         * lib/uninorm/decomposition.c (uc_decomposition): For Hangul syllables
23927         of type LTV, return only a pairwise decomposition.
23928         * lib/uninorm/canonical-decomposition.c (uc_canonical_decomposition):
23929         Likewise.
23930         * tests/uninorm/test-decomposition.c (main): Updated expected result.
23931         * tests/uninorm/test-canonical-decomposition.c (main): Likewise.
23932         * tests/uninorm/test-compat-decomposition.c (main): Likewise.
23933
23934 2009-02-22  Bruno Haible  <bruno@clisp.org>
23935
23936         * lib/uninorm/u-normalize-internal.h (FUNC): At the end, handle
23937         zero-length results and shrink excess allocated memory.
23938         * tests/uninorm/test-u8-nfc.c (test_u8_nfc): Check empty string result.
23939         * tests/uninorm/test-u8-nfd.c (test_u8_nfd): Likewise.
23940         * tests/uninorm/test-u8-nfkc.c (test_u8_nfkc): Likewise.
23941         * tests/uninorm/test-u8-nfkd.c (test_u8_nfkd): Likewise.
23942         * tests/uninorm/test-u16-nfc.c (test_u16_nfc): Likewise.
23943         * tests/uninorm/test-u16-nfd.c (test_u16_nfd): Likewise.
23944         * tests/uninorm/test-u16-nfkc.c (test_u16_nfkc): Likewise.
23945         * tests/uninorm/test-u16-nfkd.c (test_u16_nfkd): Likewise.
23946         * tests/uninorm/test-u32-nfc.c (test_u32_nfc): Likewise.
23947         * tests/uninorm/test-u32-nfd.c (test_u32_nfd): Likewise.
23948         * tests/uninorm/test-u32-nfkc.c (test_u32_nfkc): Likewise.
23949         * tests/uninorm/test-u32-nfkd.c (test_u32_nfkd): Likewise.
23950
23951 2009-02-21  Bruno Haible  <bruno@clisp.org>
23952
23953         * doc/gnulib.texi: Include safe-alloc.texi earlier.
23954         * doc/safe-alloc.texi: Terminate sentences with a period. Use two
23955         spaces after a period. Put a space between a macro name and its
23956         argument list. Trivial rewordings.
23957         * lib/safe-alloc.c: Include safe-alloc.h right after config.h.
23958         * tests/test-safe-alloc.c: Likewise. Include stdlib.h.
23959         (main): Return 0 explicitly.
23960
23961 2009-02-21  Bruno Haible  <bruno@clisp.org>
23962
23963         Tests for module 'uninorm/filter'.
23964         * tests/uninorm/test-uninorm-filter-nfc.c: New file.
23965         * modules/uninorm/filter-tests: New file.
23966
23967         New module 'uninorm/filter'.
23968         * lib/uninorm.h (uninorm_filter_create, uninorm_filter_write,
23969         uninorm_filter_flush, uninorm_filter_free): New declarations.
23970         * lib/uninorm/uninorm-filter.c: New file.
23971         * modules/uninorm/filter: New file.
23972
23973 2009-02-21  Bruno Haible  <bruno@clisp.org>
23974
23975         Tests for module 'uninorm/nfkc'.
23976         * tests/uninorm/test-nfkc.c: New file.
23977         * tests/uninorm/test-u8-nfkc.c: New file.
23978         * tests/uninorm/test-u16-nfkc.c: New file.
23979         * tests/uninorm/test-u32-nfkc.c: New file.
23980         * tests/uninorm/test-u32-nfkc-big.sh: New file.
23981         * tests/uninorm/test-u32-nfkc-big.c: New file.
23982         * modules/uninorm/nfkc-tests: New file.
23983
23984         New module 'uninorm/nfkc'.
23985         * lib/uninorm/nfkc.c: New file.
23986         * modules/uninorm/nfkc: New file.
23987
23988         Tests for module 'uninorm/nfkd'.
23989         * tests/uninorm/test-nfkd.c: New file.
23990         * tests/uninorm/test-u8-nfkd.c: New file.
23991         * tests/uninorm/test-u16-nfkd.c: New file.
23992         * tests/uninorm/test-u32-nfkd.c: New file.
23993         * tests/uninorm/test-u32-nfkd-big.sh: New file.
23994         * tests/uninorm/test-u32-nfkd-big.c: New file.
23995         * modules/uninorm/nfkd-tests: New file.
23996
23997         New module 'uninorm/nfkd'.
23998         * lib/uninorm/nfkd.c: New file.
23999         * modules/uninorm/nfkd: New file.
24000
24001         Tests for module 'uninorm/nfc'.
24002         * tests/uninorm/test-nfc.c: New file.
24003         * tests/uninorm/test-u8-nfc.c: New file.
24004         * tests/uninorm/test-u16-nfc.c: New file.
24005         * tests/uninorm/test-u32-nfc.c: New file.
24006         * tests/uninorm/test-u32-nfc-big.sh: New file.
24007         * tests/uninorm/test-u32-nfc-big.c: New file.
24008         * modules/uninorm/nfc-tests: New file.
24009
24010         New module 'uninorm/nfc'.
24011         * lib/uninorm/nfc.c: New file.
24012         * modules/uninorm/nfc: New file.
24013
24014         Tests for module 'uninorm/nfd'.
24015         * tests/uninorm/test-nfd.c: New file.
24016         * tests/uninorm/test-u8-nfd.c: New file.
24017         * tests/uninorm/test-u16-nfd.c: New file.
24018         * tests/uninorm/test-u32-nfd.c: New file.
24019         * tests/uninorm/test-u32-nfd-big.sh: New file.
24020         * tests/uninorm/test-u32-nfd-big.c: New file.
24021         * tests/uninorm/test-u32-normalize-big.h: New file.
24022         * tests/uninorm/test-u32-normalize-big.c: New file.
24023         * tests/uninorm/NormalizationTest.txt: New file, created from
24024         Unicode 5.1.0 NormalizationTest.txt.
24025         * modules/uninorm/nfd-tests: New file.
24026
24027         New module 'uninorm/nfd'.
24028         * lib/uninorm/nfd.c: New file.
24029         * modules/uninorm/nfd: New file.
24030
24031         New module 'uninorm/u32-normalize'.
24032         * lib/uninorm/u32-normalize.c: New file.
24033         * modules/uninorm/u32-normalize: New file.
24034
24035         New module 'uninorm/u16-normalize'.
24036         * lib/uninorm/u16-normalize.c: New file.
24037         * modules/uninorm/u16-normalize: New file.
24038
24039         New module 'uninorm/u8-normalize'.
24040         * lib/uninorm/u8-normalize.c: New file.
24041         * lib/uninorm/normalize-internal.h: New file.
24042         * lib/uninorm/u-normalize-internal.h: New file.
24043         * modules/uninorm/u8-normalize: New file.
24044
24045         New module 'uninorm/decompose-internal'.
24046         * lib/uninorm/decompose-internal.c: New file.
24047         * modules/uninorm/decompose-internal: New file.
24048
24049         Tests for module 'uninorm/composition'.
24050         * tests/uninorm/test-composition.c: New file.
24051         * modules/uninorm/composition-tests: New file.
24052
24053         New module 'uninorm/composition'.
24054         * lib/uninorm/composition.c: New file.
24055         * lib/uninorm/composition-table.gperf: New file, generated by
24056         gen-uni-tables.
24057         * modules/uninorm/composition: New file.
24058
24059         Tests for module 'uninorm/compat-decomposition'.
24060         * tests/uninorm/test-compat-decomposition.c: New file.
24061         * modules/uninorm/compat-decomposition-tests: New file.
24062
24063         New module 'uninorm/compat-decomposition'.
24064         * lib/uninorm/decompose-internal.h: New file.
24065         * lib/uninorm/compat-decomposition.c: New file.
24066         * modules/uninorm/compat-decomposition: New file.
24067
24068         Tests for module 'uninorm/canonical-decomposition'.
24069         * tests/uninorm/test-canonical-decomposition.c: New file.
24070         * modules/uninorm/canonical-decomposition-tests: New file.
24071
24072         New module 'uninorm/canonical-decomposition'.
24073         * lib/uninorm/canonical-decomposition.c: New file.
24074         * modules/uninorm/canonical-decomposition: New file.
24075
24076         Tests for module 'uninorm/decomposition'.
24077         * tests/uninorm/test-decomposition.c: New file.
24078         * modules/uninorm/decomposition-tests: New file.
24079
24080         New module 'uninorm/decomposition'.
24081         * lib/uninorm/decomposition.c: New file.
24082         * modules/uninorm/decomposition: New file.
24083
24084         New module 'uninorm/decomposition-table'.
24085         * lib/uninorm/decomposition-table.h: New file.
24086         * lib/uninorm/decomposition-table.c: New file.
24087         * lib/uninorm/decomposition-table1.h: New file, generated by
24088         gen-uni-tables.
24089         * lib/uninorm/decomposition-table2.h: New file, generated by
24090         gen-uni-tables.
24091         * modules/uninorm/decomposition-table: New file.
24092
24093         * lib/gen-uni-tables.c (MAX_DECOMP_LENGTH): New macro.
24094         (UC_DECOMP_*): New enumeration items.
24095         (get_decomposition): New function.
24096         (struct decomp_table): New type.
24097         (output_decomposition, output_decomposition_tables): New functions.
24098         (unicode_composition_exclusions): New variable.
24099         (fill_composition_exclusions, debug_output_composition_tables): New
24100         functions.
24101         (main): Accept one more argument. Invoke fill_composition_exclusions.
24102         Output decomposition and composition tables.
24103
24104         New module 'uninorm/base'.
24105         * lib/uninorm.h: New file.
24106         * lib/unictype.h: Update comment.
24107         * modules/uninorm/base: New file.
24108
24109 2009-02-21  David Lutterkort  <lutter@redhat.com>
24110
24111         Tests for module 'safe-alloc'.
24112         * tests/test-safe-alloc.c: New file.
24113         * modules/safe-alloc-tests: New file.
24114
24115         New module 'safe-alloc'.
24116         * lib/safe-alloc.h: New file.
24117         * lib/safe-alloc.c: New file.
24118         * m4/safe-alloc.m4: New file.
24119         * modules/safe-alloc: New file.
24120         * doc/safe-alloc.texi: New file.
24121         * doc/gnulib.texi: Include it.
24122         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
24123         safe-alloc.
24124
24125 2009-02-18  Bruno Haible  <bruno@clisp.org>
24126
24127         Fix link error on non-glibc systems.
24128         * modules/uniwbrk/ulc-wordbreaks-tests (test_ulc_wordbreaks_LDADD): New
24129         variable.
24130         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
24131
24132 2009-02-18  Jim Meyering  <meyering@redhat.com>
24133
24134         fts: avoid used-uninitialized error due to recent change
24135         * lib/fts.c (fts_read): Guard uses of the new member,
24136         parent->fts_n_dirs_remaining, since it's not relevant for
24137         the parent of a directory specified on the command-line.
24138
24139 2009-02-17  James Youngman  <jay@gnu.org>
24140             Bruno Haible  <bruno@clisp.org>
24141
24142         * m4/include_next.m4: Reformulate comment.
24143
24144 2009-02-16  Jim Meyering  <meyering@redhat.com>
24145
24146         fts: add #if guards so that the fts_lgpl module still builds
24147         * lib/fts.c: Guard just-added hash-table-using parts with
24148         #if GNULIB_FTS, so as not to break builds of the fts_lgpl module.
24149         Reported by Simon Josefsson.
24150
24151 2009-02-15  Bruno Haible  <bruno@clisp.org>
24152
24153         * modules/array-mergesort-tests: New file.
24154         * tests/test-array-mergesort.c: New file.
24155
24156         New module 'array-mergesort'.
24157         * modules/array-mergesort: New file.
24158         * lib/array-mergesort.h: New file.
24159
24160 2009-02-15  Bruno Haible  <bruno@clisp.org>
24161
24162         Fix 2009-02-07 commit.
24163         * lib/gen-uni-tables.c (output_predicate, output_category,
24164         output_combclass, output_bidi_category, output_decimal_digit,
24165         output_digit, output_numeric, output_mirror, output_scripts,
24166         output_ident_category, output_simple_mapping): Fix format directives.
24167         (output_lbp, output_wbp): Don't convert -1 to a size_t implicitly.
24168
24169 2009-02-15  Albert Chin-A-Young  <china@thewrittenword.com>
24170
24171         * m4/include_next.m4: Update comment about IBM C 9.0/10.1 bug, now that
24172         fixes are available from IBM.
24173
24174 2009-02-13  Jim Meyering  <meyering@redhat.com>
24175
24176         fts: arrange not to stat non-directories in more cases
24177         This makes GNU find (when it doesn't need to stat each file)
24178         *much* more efficient at traversing reiserfs file systems.
24179         * lib/fts_.h (struct ftsent) [fts_n_dirs_remaining]: New member.
24180         (struct FTS) [fts_leaf_optimization_works_ht]: Add member.
24181         * lib/fts.c (fts_close): Free ->fts_leaf_optimization_works_ht.
24182         (S_MAGIC_REISERFS, S_MAGIC_PROC): Define.
24183         (leaf_optimization_applies): New function.
24184         (LCO_hash, LCO_compare): New helper functions.
24185         (link_count_optimize_ok): New function.
24186         (fts_stat): Initialize new member (if dir).
24187         (fts_read): Decrement parent's fts_n_dirs_remaining count if
24188         we've just stat'ed a directory.  Skip the stat call when possible.
24189         ---
24190         Note this AFS-related exchange:
24191         http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=143111
24192         and note find's pioctl call in find/fstype.c.
24193         But that is necessary only if you want to enable the
24194         optimization for AFS, and for now, I don't.
24195
24196         fts: move a function definition "up" (no semantic change)
24197         * lib/fts.c (dirent_inode_sort_may_be_useful): Move definition
24198         "up" to precede upcoming use of a related function.
24199
24200 2009-02-11  Jim Meyering  <meyering@redhat.com>
24201
24202         fts: correct internal computation of nlinks (optimization-related)
24203         * lib/fts.c (fts_build): ISSET(FTS_NOSTAT) has no bearing on
24204         whether the current entry is a directory, so don't test it.
24205
24206 2009-02-10  Bruno Haible  <bruno@clisp.org>
24207
24208         Tests for module 'uniwbrk/ulc-wordbreaks'.
24209         * modules/uniwbrk/ulc-wordbreaks-tests: New file.
24210         * tests/uniwbrk/test-ulc-wordbreaks.sh: New file.
24211         * tests/uniwbrk/test-ulc-wordbreaks.c: New file.
24212
24213         Tests for module 'uniwbrk/u32-wordbreaks'.
24214         * modules/uniwbrk/u32-wordbreaks-tests: New file.
24215         * tests/uniwbrk/test-u32-wordbreaks.c: New file.
24216
24217         Tests for module 'uniwbrk/u16-wordbreaks'.
24218         * modules/uniwbrk/u16-wordbreaks-tests: New file.
24219         * tests/uniwbrk/test-u16-wordbreaks.c: New file.
24220
24221         Tests for module 'uniwbrk/u8-wordbreaks'.
24222         * modules/uniwbrk/u8-wordbreaks-tests: New file.
24223         * tests/uniwbrk/test-u8-wordbreaks.c: New file.
24224
24225 2009-02-10  Bruno Haible  <bruno@clisp.org>
24226
24227         * modules/uniwbrk/u8-wordbreaks (Depends-on): Add uniwbrk/wordbreak
24228         property.
24229         * modules/uniwbrk/u16-wordbreaks (Depends-on): Likewise.
24230         * modules/uniwbrk/u32-wordbreaks (Depends-on): Likewise.
24231         * modules/uniwbrk/ulc-wordbreaks (Depends-on): Add localcharset.
24232
24233 2009-02-10  Simon Josefsson  <simon@josefsson.org>
24234
24235         * m4/sockets.m4: Call AC_C_INLINE since sockets.h now can use
24236         inline keywords.  Reported by Bruno Haible <bruno@clisp.org>.
24237
24238 2009-02-10  Bruno Haible  <bruno@clisp.org>
24239
24240         * lib/unilbrk/lbrktables.h: Renamed from lib/unilbrk/tables.h.
24241         * lib/unilbrk/lbrktables.c: Renamed from lib/unilbrk/tables.c.
24242         * modules/unilbrk/tables (Files, Makefile.am, Include): Update.
24243         * lib/unilbrk/u8-possible-linebreaks.c: Update.
24244         * lib/unilbrk/u16-possible-linebreaks.c: Likewise.
24245         * lib/unilbrk/u32-possible-linebreaks.c: Likewise.
24246
24247 2009-02-09  Simon Josefsson  <simon@josefsson.org>
24248
24249         * lib/sockets.h (gl_fd_to_handle): New function.
24250
24251         * tests/test-sockets.c: Call gl_fd_to_handle.
24252
24253 2009-02-09  Bruno Haible  <bruno@clisp.org>
24254
24255         * doc/havelib.texi: Document the conventions on bi-arch systems.
24256
24257 2009-02-08  Bruno Haible  <bruno@clisp.org>
24258
24259         Document the AC_LIB_LINKFLAGS macro.
24260         * doc/havelib.texi: New file, mostly written on 2005-05-24.
24261         * doc/gnulib.texi: Include it.
24262
24263 2009-02-08  Bruno Haible  <bruno@clisp.org>
24264
24265         Fix wrong order of sections, compared to TOC.
24266         * doc/gnulib.texi: Include relocatable-maint.texi after the
24267         "Regular expressions" node, not before.
24268
24269 2009-02-08  Bruno Haible  <bruno@clisp.org>
24270
24271         Tests for module 'unicase/totitle'.
24272         * modules/unicase/totitle-tests: New file.
24273
24274         Tests for module 'unicase/tolower'.
24275         * modules/unicase/tolower-tests: New file.
24276
24277         Tests for module 'unicase/toupper'.
24278         * modules/unicase/toupper-tests: New file.
24279         * tests/unicase/test-mapping-part1.h: New file.
24280         * tests/unicase/test-mapping-part2.h: New file.
24281
24282         New module 'unicase/totitle'.
24283         * modules/unicase/totitle: New file.
24284         * lib/unicase/totitle.c: New file.
24285
24286         New module 'unicase/tolower'.
24287         * modules/unicase/tolower: New file.
24288         * lib/unicase/tolower.c: New file.
24289
24290         New module 'unicase/toupper'.
24291         * modules/unicase/toupper: New file.
24292         * lib/unicase/toupper.c: New file.
24293         * lib/unicase/simple-mapping.h: New file.
24294
24295         * lib/gen-uni-tables.c (output_simple_mapping_test): New function.
24296         (mapping_table): New structure.
24297         (output_simple_mapping): New function.
24298         (main): Invoke output_simple_mapping_test and output_simple_mapping.
24299         * modules/gen-uni-tables (Description): Update.
24300         * lib/unicase/toupper.h: New file, automatically generated by
24301         gen-uni-tables.
24302         * lib/unicase/tolower.h: New file, automatically generated by
24303         gen-uni-tables.
24304         * lib/unicase/totitle.h: New file, automatically generated by
24305         gen-uni-tables.
24306         * tests/unicase/test-uc_toupper.c: New file, automatically generated by
24307         gen-uni-tables.
24308         * tests/unicase/test-uc_tolower.c: New file, automatically generated by
24309         gen-uni-tables.
24310         * tests/unicase/test-uc_totitle.c: New file, automatically generated by
24311         gen-uni-tables.
24312
24313         New module 'unicase/base'.
24314         * modules/unicase/base: New file.
24315         * lib/unicase.h: New file.
24316
24317 2009-02-08  Bruno Haible  <bruno@clisp.org>
24318
24319         New module 'uniwbrk/ulc-wordbreaks'.
24320         * modules/uniwbrk/ulc-wordbreaks: New file.
24321         * lib/uniwbrk/ulc-wordbreaks.c: New file.
24322
24323         New module 'uniwbrk/u32-wordbreaks'.
24324         * modules/uniwbrk/u32-wordbreaks: New file.
24325         * lib/uniwbrk/u32-wordbreaks.c: New file.
24326
24327         New module 'uniwbrk/u16-wordbreaks'.
24328         * modules/uniwbrk/u16-wordbreaks: New file.
24329         * lib/uniwbrk/u16-wordbreaks.c: New file.
24330
24331         New module 'uniwbrk/u8-wordbreaks'.
24332         * modules/uniwbrk/u8-wordbreaks: New file.
24333         * lib/uniwbrk/u8-wordbreaks.c: New file.
24334         * lib/uniwbrk/u-wordbreaks.h: New file.
24335
24336         New module 'uniwbrk/table'.
24337         * modules/uniwbrk/table: New file.
24338         * lib/uniwbrk/wbrktable.h: New file.
24339         * lib/uniwbrk/wbrktable.c: New file.
24340
24341         New module 'uniwbrk/wordbreak-property'.
24342         * modules/uniwbrk/wordbreak-property: New file.
24343         * lib/uniwbrk/wordbreak-property.c: New file.
24344
24345         * lib/gen-uni-tables.c (WBP_*): New enum items.
24346         (get_wbp, debug_output_wbp, debug_output_wbrk_tables): New functions.
24347         (unicode_org_wbp): New variable.
24348         (fill_org_wbp, debug_output_org_wbp, debug_output_org_wbrk_tables):
24349         New functions.
24350         (wbp_table): New structure.
24351         (output_wbp, output_wbrk_tables): New functions.
24352         (main): Accept additional argument. Invoke fill_org_wbp,
24353         debug_output_wbrk_tables, debug_output_org_wbrk_tables,
24354         output_wbrk_tables.
24355         * modules/gen-uni-tables (Description): Update.
24356         * lib/uniwbrk/wbrkprop.h: New file, automatically generated by
24357         gen-uni-tables.
24358
24359         New module 'uniwbrk/base'.
24360         * modules/uniwbrk/base: New file.
24361         * lib/uniwbrk.h: New file.
24362
24363 2009-02-08  Bruno Haible  <bruno@clisp.org>
24364
24365         Update to Unicode 5.1.0.
24366         * lib/gen-uni-tables.c (is_property_alphabetic): Include
24367         U+2185..U+2188.
24368         (is_property_default_ignorable_code_point): Don't include characters
24369         of category Cc or Cs and not-a-characters.
24370         (get_lbp): Assume REVISION_22. Special handling of U+0609, U+060A,
24371         U+0D79, U+109E, U+109F, U+A60C.
24372         * lib/unictype/bidi_of.h: Regenerated.
24373         * lib/unictype/blocks.h: Regenerated.
24374         * lib/unictype/categ_C.h: Regenerated.
24375         * lib/unictype/categ_Cf.h: Regenerated.
24376         * lib/unictype/categ_Cn.h: Regenerated.
24377         * lib/unictype/categ_L.h: Regenerated.
24378         * lib/unictype/categ_Ll.h: Regenerated.
24379         * lib/unictype/categ_Lm.h: Regenerated.
24380         * lib/unictype/categ_Lo.h: Regenerated.
24381         * lib/unictype/categ_Lu.h: Regenerated.
24382         * lib/unictype/categ_M.h: Regenerated.
24383         * lib/unictype/categ_Mc.h: Regenerated.
24384         * lib/unictype/categ_Me.h: Regenerated.
24385         * lib/unictype/categ_Mn.h: Regenerated.
24386         * lib/unictype/categ_N.h: Regenerated.
24387         * lib/unictype/categ_Nd.h: Regenerated.
24388         * lib/unictype/categ_Nl.h: Regenerated.
24389         * lib/unictype/categ_No.h: Regenerated.
24390         * lib/unictype/categ_P.h: Regenerated.
24391         * lib/unictype/categ_Pd.h: Regenerated.
24392         * lib/unictype/categ_Pe.h: Regenerated.
24393         * lib/unictype/categ_Pf.h: Regenerated.
24394         * lib/unictype/categ_Pi.h: Regenerated.
24395         * lib/unictype/categ_Po.h: Regenerated.
24396         * lib/unictype/categ_Ps.h: Regenerated.
24397         * lib/unictype/categ_S.h: Regenerated.
24398         * lib/unictype/categ_Sk.h: Regenerated.
24399         * lib/unictype/categ_Sm.h: Regenerated.
24400         * lib/unictype/categ_So.h: Regenerated.
24401         * lib/unictype/categ_of.h: Regenerated.
24402         * lib/unictype/combining.h: Regenerated.
24403         * lib/unictype/ctype_alnum.h: Regenerated.
24404         * lib/unictype/ctype_alpha.h: Regenerated.
24405         * lib/unictype/ctype_graph.h: Regenerated.
24406         * lib/unictype/ctype_lower.h: Regenerated.
24407         * lib/unictype/ctype_print.h: Regenerated.
24408         * lib/unictype/ctype_punct.h: Regenerated.
24409         * lib/unictype/ctype_upper.h: Regenerated.
24410         * lib/unictype/decdigit.h: Regenerated.
24411         * lib/unictype/digit.h: Regenerated.
24412         * lib/unictype/mirror.h: Regenerated.
24413         * lib/unictype/numeric.h: Regenerated.
24414         * lib/unictype/pr_alphabetic.h: Regenerated.
24415         * lib/unictype/pr_bidi_arabic_digit.h: Regenerated.
24416         * lib/unictype/pr_bidi_arabic_right_to_left.h: Regenerated.
24417         * lib/unictype/pr_bidi_boundary_neutral.h: Regenerated.
24418         * lib/unictype/pr_bidi_eur_num_terminator.h: Regenerated.
24419         * lib/unictype/pr_bidi_left_to_right.h: Regenerated.
24420         * lib/unictype/pr_bidi_non_spacing_mark.h: Regenerated.
24421         * lib/unictype/pr_bidi_other_neutral.h: Regenerated.
24422         * lib/unictype/pr_combining.h: Regenerated.
24423         * lib/unictype/pr_dash.h: Regenerated.
24424         * lib/unictype/pr_decimal_digit.h: Regenerated.
24425         * lib/unictype/pr_default_ignorable_code_point.h: Regenerated.
24426         * lib/unictype/pr_deprecated.h: Regenerated.
24427         * lib/unictype/pr_diacritic.h: Regenerated.
24428         * lib/unictype/pr_extender.h: Regenerated.
24429         * lib/unictype/pr_format_control.h: Regenerated.
24430         * lib/unictype/pr_grapheme_base.h: Regenerated.
24431         * lib/unictype/pr_grapheme_extend.h: Regenerated.
24432         * lib/unictype/pr_grapheme_link.h: Regenerated.
24433         * lib/unictype/pr_id_continue.h: Regenerated.
24434         * lib/unictype/pr_id_start.h: Regenerated.
24435         * lib/unictype/pr_ideographic.h: Regenerated.
24436         * lib/unictype/pr_ignorable_control.h: Regenerated.
24437         * lib/unictype/pr_lowercase.h: Regenerated.
24438         * lib/unictype/pr_math.h: Regenerated.
24439         * lib/unictype/pr_numeric.h: Regenerated.
24440         * lib/unictype/pr_other_alphabetic.h: Regenerated.
24441         * lib/unictype/pr_other_default_ignorable_code_point.h: Regenerated.
24442         * lib/unictype/pr_other_grapheme_extend.h: Regenerated.
24443         * lib/unictype/pr_other_id_continue.h: Regenerated.
24444         * lib/unictype/pr_other_lowercase.h: Regenerated.
24445         * lib/unictype/pr_other_math.h: Regenerated.
24446         * lib/unictype/pr_punctuation.h: Regenerated.
24447         * lib/unictype/pr_sentence_terminal.h: Regenerated.
24448         * lib/unictype/pr_soft_dotted.h: Regenerated.
24449         * lib/unictype/pr_terminal_punctuation.h: Regenerated.
24450         * lib/unictype/pr_unassigned_code_value.h: Regenerated.
24451         * lib/unictype/pr_unified_ideograph.h: Regenerated.
24452         * lib/unictype/pr_uppercase.h: Regenerated.
24453         * lib/unictype/pr_xid_continue.h: Regenerated.
24454         * lib/unictype/pr_xid_start.h: Regenerated.
24455         * lib/unictype/pr_zero_width.h: Regenerated.
24456         * lib/unictype/scripts.h: Regenerated.
24457         * lib/unictype/scripts_byname.gperf: Regenerated.
24458         * lib/unictype/sy_java_ident.h: Regenerated.
24459         * lib/unilbrk/lbrkprop1.h: Regenerated.
24460         * lib/unilbrk/lbrkprop2.h: Regenerated.
24461         * tests/unictype/test-categ_C.c: Regenerated.
24462         * tests/unictype/test-categ_Cf.c: Regenerated.
24463         * tests/unictype/test-categ_Cn.c: Regenerated.
24464         * tests/unictype/test-categ_L.c: Regenerated.
24465         * tests/unictype/test-categ_Ll.c: Regenerated.
24466         * tests/unictype/test-categ_Lm.c: Regenerated.
24467         * tests/unictype/test-categ_Lo.c: Regenerated.
24468         * tests/unictype/test-categ_Lu.c: Regenerated.
24469         * tests/unictype/test-categ_M.c: Regenerated.
24470         * tests/unictype/test-categ_Mc.c: Regenerated.
24471         * tests/unictype/test-categ_Me.c: Regenerated.
24472         * tests/unictype/test-categ_Mn.c: Regenerated.
24473         * tests/unictype/test-categ_N.c: Regenerated.
24474         * tests/unictype/test-categ_Nd.c: Regenerated.
24475         * tests/unictype/test-categ_Nl.c: Regenerated.
24476         * tests/unictype/test-categ_No.c: Regenerated.
24477         * tests/unictype/test-categ_P.c: Regenerated.
24478         * tests/unictype/test-categ_Pd.c: Regenerated.
24479         * tests/unictype/test-categ_Pe.c: Regenerated.
24480         * tests/unictype/test-categ_Pf.c: Regenerated.
24481         * tests/unictype/test-categ_Pi.c: Regenerated.
24482         * tests/unictype/test-categ_Po.c: Regenerated.
24483         * tests/unictype/test-categ_Ps.c: Regenerated.
24484         * tests/unictype/test-categ_S.c: Regenerated.
24485         * tests/unictype/test-categ_Sk.c: Regenerated.
24486         * tests/unictype/test-categ_Sm.c: Regenerated.
24487         * tests/unictype/test-categ_So.c: Regenerated.
24488         * tests/unictype/test-ctype_alnum.c: Regenerated.
24489         * tests/unictype/test-ctype_alpha.c: Regenerated.
24490         * tests/unictype/test-ctype_graph.c: Regenerated.
24491         * tests/unictype/test-ctype_lower.c: Regenerated.
24492         * tests/unictype/test-ctype_print.c: Regenerated.
24493         * tests/unictype/test-ctype_punct.c: Regenerated.
24494         * tests/unictype/test-ctype_upper.c: Regenerated.
24495         * tests/unictype/test-decdigit.h: Regenerated.
24496         * tests/unictype/test-digit.h: Regenerated.
24497         * tests/unictype/test-numeric.h: Regenerated.
24498         * tests/unictype/test-pr_alphabetic.c: Regenerated.
24499         * tests/unictype/test-pr_bidi_arabic_digit.c: Regenerated.
24500         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Regenerated.
24501         * tests/unictype/test-pr_bidi_boundary_neutral.c: Regenerated.
24502         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Regenerated.
24503         * tests/unictype/test-pr_bidi_left_to_right.c: Regenerated.
24504         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Regenerated.
24505         * tests/unictype/test-pr_bidi_other_neutral.c: Regenerated.
24506         * tests/unictype/test-pr_combining.c: Regenerated.
24507         * tests/unictype/test-pr_dash.c: Regenerated.
24508         * tests/unictype/test-pr_decimal_digit.c: Regenerated.
24509         * tests/unictype/test-pr_default_ignorable_code_point.c: Regenerated.
24510         * tests/unictype/test-pr_deprecated.c: Regenerated.
24511         * tests/unictype/test-pr_diacritic.c: Regenerated.
24512         * tests/unictype/test-pr_extender.c: Regenerated.
24513         * tests/unictype/test-pr_format_control.c: Regenerated.
24514         * tests/unictype/test-pr_grapheme_base.c: Regenerated.
24515         * tests/unictype/test-pr_grapheme_extend.c: Regenerated.
24516         * tests/unictype/test-pr_grapheme_link.c: Regenerated.
24517         * tests/unictype/test-pr_id_continue.c: Regenerated.
24518         * tests/unictype/test-pr_id_start.c: Regenerated.
24519         * tests/unictype/test-pr_ideographic.c: Regenerated.
24520         * tests/unictype/test-pr_ignorable_control.c: Regenerated.
24521         * tests/unictype/test-pr_lowercase.c: Regenerated.
24522         * tests/unictype/test-pr_math.c: Regenerated.
24523         * tests/unictype/test-pr_numeric.c: Regenerated.
24524         * tests/unictype/test-pr_other_alphabetic.c: Regenerated.
24525         * tests/unictype/test-pr_other_default_ignorable_code_point.c:
24526         Regenerated.
24527         * tests/unictype/test-pr_other_grapheme_extend.c: Regenerated.
24528         * tests/unictype/test-pr_other_id_continue.c: Regenerated.
24529         * tests/unictype/test-pr_other_lowercase.c: Regenerated.
24530         * tests/unictype/test-pr_other_math.c: Regenerated.
24531         * tests/unictype/test-pr_punctuation.c: Regenerated.
24532         * tests/unictype/test-pr_sentence_terminal.c: Regenerated.
24533         * tests/unictype/test-pr_soft_dotted.c: Regenerated.
24534         * tests/unictype/test-pr_terminal_punctuation.c: Regenerated.
24535         * tests/unictype/test-pr_unassigned_code_value.c: Regenerated.
24536         * tests/unictype/test-pr_unified_ideograph.c: Regenerated.
24537         * tests/unictype/test-pr_uppercase.c: Regenerated.
24538         * tests/unictype/test-pr_xid_continue.c: Regenerated.
24539         * tests/unictype/test-pr_xid_start.c: Regenerated.
24540         * tests/unictype/test-pr_zero_width.c: Regenerated.
24541
24542         Update to Unicode 5.1.0.
24543         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0487,
24544         U+0616..U+061A, U+0A51, U+0A75, U+0B44, U+0B62..U+0B63, U+0C62..U+0C63,
24545         U+0D44, U+0D62..U+0D63, U+1033..U+1035, U+103A, U+103D..U+103E,
24546         U+105E..U+1060, U+1071..U+1074, U+1082, U+1085..U+1086, U+108D,
24547         U+1B80..U+1B81, U+1BA2..U+1BA5, U+1BA8..U+1BA9, U+1C2C..U+1C33,
24548         U+1C36..U+1C37, U+1DCB..U+1DE6, U+2064, U+20F0, U+2DE0..U+2DFF,
24549         U+A66F..U+A672, U+A67C..U+A67D, U+A8C4, U+A926..U+A92D, U+A947..U+A951,
24550         U+AA29..U+AA2E, U+AA31..U+AA32, U+AA35..U+AA36, U+AA43, U+AA4C,
24551         U+FE24..U+FE26, U+101FD. Remove U+1929..U+192B.
24552         (nonspacing_table_ind): Update.
24553         * tests/uniwidth/test-uc_width2.sh: Update expected result.
24554
24555         Update to Unicode 5.1.0.
24556         * lib/uniname/gen-uninames.lisp (main): Add the range 0x1Fxxx to the
24557         code transform.
24558         * lib/uniname/uniname.c (unicode_character_name,
24559         unicode_name_character): Add the range 0x1Fxxx to the code transform.
24560         * lib/uniname/uninames.h: Regenerated.
24561         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.1.0.
24562
24563 2009-02-07  Bruno Haible  <bruno@clisp.org>
24564
24565         Merge gen-ctype and gen-lbrk into a single program.
24566         * lib/gen-uni-tables.c: New file, incorporating
24567         lib/unictype/gen-ctype.c and lib/unilbrk/gen-lbrk.c.
24568         Add directory prefixes to the names of the generated files.
24569         * lib/unictype/gen-ctype.c: Remove file.
24570         * lib/unilbrk/gen-lbrk.c: Remove file.
24571         * modules/gen-uni-tables: New file.
24572         * modules/unictype/gen-ctype: Remove file.
24573         * modules/unilbrk/gen-lbrk: Remove file.
24574
24575 2009-02-07  Bruno Haible  <bruno@clisp.org>
24576
24577         * lib/unistr.h (u8_strcoll, u16_strcoll, u32_strcoll): New declations.
24578
24579         New module 'unistr/u32-strcoll'.
24580         * modules/unistr/u32-strcoll: New file.
24581         * lib/unistr/u32-strcoll.c: New file.
24582
24583         New module 'unistr/u16-strcoll'.
24584         * modules/unistr/u16-strcoll: New file.
24585         * lib/unistr/u16-strcoll.c: New file.
24586
24587         New module 'unistr/u8-strcoll'.
24588         * modules/unistr/u8-strcoll: New file.
24589         * lib/unistr/u8-strcoll.c: New file.
24590         * lib/unistr/u-strcoll.h: New file.
24591
24592 2009-02-07  Bruno Haible  <bruno@clisp.org>
24593
24594         * test-mbrtowc4.sh (LOCALE_ZH_CN): Fix default value.
24595         * test-mbsnrtowcs4.sh (LOCALE_ZH_CN): Likewise.
24596         * test-mbsrtowcs4.sh (LOCALE_ZH_CN): Likewise.
24597         * test-wcrtomb.sh (LOCALE_ZH_CN): Likewise.
24598         * test-wcsnrtombs4.sh (LOCALE_ZH_CN): Likewise.
24599         * test-wcsrtombs4.sh (LOCALE_ZH_CN): Likewise.
24600
24601 2009-02-07  Bruno Haible  <bruno@clisp.org>
24602
24603         Make 64-bit clean.
24604         * lib/unictype/gen-ctype.c (output_predicate, output_category,
24605         output_combclass, output_bidi_category, output_decimal_digit,
24606         output_digit, output_numeric, output_mirror, output_scripts,
24607         output_ident_category): Use proper width specifier in format strings.
24608
24609 2009-02-07  Bruno Haible  <bruno@clisp.org>
24610
24611         * doc/posix-functions/dirfd.texi: Clarify situation on mingw. Document
24612         failure behaviour.
24613
24614 2009-02-07  Jim Meyering  <meyering@redhat.com>
24615
24616         regex: avoid compilation failure with upcoming gcc-4.4
24617         * lib/regex_internal.h: Revert e48d8b47fb3eee81d341b71c3e006efe9e3433a7
24618         [workaround for PGC prior to 6.1-2].  Otherwise, we'd get this:
24619         "... error: integer overflow in preprocessor expression".
24620
24621 2009-02-05  Ben Pfaff  <blp@gnu.org>
24622
24623         Fix link errors on Windows when close module is used.
24624         * modules/close: Add $(LIB_CLOSE) to Link section.
24625         * m4/close.m4 (gl_REPLACE_CLOSE): Substitute -lws2_32 into
24626         $(LIB_CLOSE) on Windows.
24627
24628 2009-02-05  Jim Meyering  <meyering@redhat.com>
24629
24630         still avoid unused-parameter warnings, but do it cleanly
24631         * lib/fsusage.c (UNUSED_PARAM): Remove definition.
24632         (get_fs_usage): Cast to void instead.
24633         * lib/mountlist.c (UNUSED_PARAM): Remove definition.
24634         (dev_from_mount_options, read_file_system_list): Cast to void.
24635         Prompted by Bruno Haible.
24636
24637 2009-02-04  Jim Meyering  <meyering@redhat.com>
24638
24639         fsusage.c: correct copyright year
24640         * lib/fsusage.c: Reflect year in which the change is pushed into
24641
24642         avoid misc. warnings
24643         * lib/fsusage.c (UNUSED_PARAM): Define.
24644         (get_fs_usage): Mark parameter "disk" as unused.
24645         * lib/getugroups.c (getgrent): Use "void" in prototype.
24646         * lib/mountlist.c: Mark unused parameters.
24647         (read_file_system_list): Declare a local with "const".
24648         * lib/nanosleep.c (getnow): Declare static.
24649         * lib/strftime.c: Include strftime.h, for declaration of nstrftime.
24650
24651         dirfd: set errno upon failure
24652         * lib/dirfd.c: Include <errno.h>.
24653         Set errno to ENOTSUP when returning -1.
24654         * modules/dirfd (Depends-on): Add errno.
24655         Suggested by John Kodis <kodis@comcast.net>.
24656
24657 2009-02-01  Bruno Haible  <bruno@clisp.org>
24658
24659         Don't assume sizeof (long) >= sizeof (void *).
24660         * lib/memcmp.c: Include stdint.h.
24661         (memcmp_bytes): Change argument types to op_t. Change type of srcp1,
24662         srcp2 to 'const byte *'.
24663         (memcmp_common_alignment, memcmp_not_common_alignment): Change argument
24664         types to uintptr_t.
24665         (rpl_memcmp): Change type of srcp1, srcp2 to 'uintptr_t'.
24666         * modules/memcmp (Depends-on): Add stdint.
24667         Reported by Ozkan Sezer <sezeroz@gmail.com>.
24668
24669 2009-01-30  Eric Blake  <ebb9@byu.net>
24670
24671         fix more require-before-expand issues
24672         * m4/pmccabe2html.m4 (gl_PMCCABE2HTML): Require, rather than
24673         expand, AC_PROG_AWK.
24674         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Use AC_DEFUN_ONCE.
24675
24676 2009-01-28  Eric Blake  <ebb9@byu.net>
24677
24678         version-etc: use consistent URL formatting
24679         * lib/version-etc.c (emit_bug_reporting_address, version_etc_va):
24680         Improve formatting.  Use fputs for string without %.
24681
24682 2009-01-28  Jim Meyering  <meyering@redhat.com>
24683
24684         00gnulib.m4: add m4 quotes in shell comment to avoid autoconf warning
24685         * m4/00gnulib.m4 (AC_DEFUN_ONCE): Add quotes to avoid an
24686         "underquoted definition of NAME" from autoconf-2.59.
24687
24688 2009-01-28  Bruno Haible  <bruno@clisp.org>
24689
24690         * doc/gnulib.texi: Add "Obsolete modules" to index.
24691
24692 2009-01-28  Jim Meyering  <meyering@redhat.com>
24693
24694         useless-if-before-free: recognize more variants
24695         * build-aux/useless-if-before-free: Also recognize e.g.,
24696         if (NULL != p) free (p);
24697
24698 2009-01-27  Mark McLoughlin  <markmc@redhat.com>
24699
24700         test-getaddrinfo: skip (don't fail) this test when there's no network
24701         * tests/test-getaddrinfo.c: Skip test upon failure with EAI_AGAIN,
24702         on the presumption that it means you lack network access.
24703
24704 2009-01-26  Jim Meyering  <meyering@redhat.com>
24705
24706         fflush: avoid warnings on modern systems
24707         * lib/fflush.c (rpl_fflush): Move declarations of locals,
24708         pos and result, into scopes where they're used.
24709
24710 2009-01-26  Eric Blake  <ebb9@byu.net>
24711
24712         Silence warning reintroduced by recent extensions patch.
24713         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS)
24714         (gl_USE_SYSTEM_EXTENSIONS): Use AC_DEFUN_ONCE to silence newer
24715         autoconf.
24716
24717         Backport improved autoconf semantics of AC_DEFUN_ONCE.
24718         * m4/00gnulib.m4: New file.
24719         * gnulib-tool (func_get_filelist): Always use it.
24720         * m4/gnulib-common.m4 (gl_COMMON): Force the file to be used.
24721         Reported by Bruno Haible, with suggestions from Paolo Bonzini.
24722
24723 2009-01-25  Bruno Haible  <bruno@clisp.org>
24724
24725         Make test-quotearg work on MacOS X and AIX.
24726         * tests/test-quotearg.sh: New file.
24727         * tests/locale/fr/LC_MESSAGES/test-quotearg.po: New file.
24728         * tests/locale/fr/LC_MESSAGES/test-quotearg.mo: New file.
24729         * tests/test-quotearg.c: Include <locale.h> and gettext.h. Don't
24730         include <libintl.h>.
24731         (fake_locale): Remove variable.
24732         (gettext, dgettext, dcgettext): Remove functions.
24733         (main): Instead of setting a fake locale, set a real locale. Call
24734         textdomain and bindtextdomain.
24735         * modules/quotearg-tests (Files): Add the new files.
24736         (Depends-on): Add gettext, setenv, unsetenv.
24737         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
24738         (Makefile.am): Add test-quotearg.sh to TESTS, remove test-quotearg.
24739         Augment TESTS_ENVIRONMENT.
24740
24741 2009-01-25  Bruno Haible  <bruno@clisp.org>
24742
24743         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove special code that hid the
24744         fr_FR.ISO8859-1 locale on MacOS X.
24745         * m4/locale-ja.m4 (gt_LOCALE_JA): Remove special code that hid the
24746         ja_JP.eucJP locale on MacOS X.
24747         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Remove special code that hid the
24748         zh_CN.GB18030 locale on MacOS X.
24749
24750 2009-01-25  Bruno Haible  <bruno@clisp.org>
24751
24752         Avoid link errors on MacOS X 10.3.
24753         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Add initializer.
24754         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
24755
24756 2009-01-25  Bruno Haible  <bruno@clisp.org>
24757
24758         * lib/pipe.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
24759         * m4/pipe.m4 (gl_PIPE): Remove tests for vfork() based code.
24760         * modules/pipe (Files): Remove m4/posix_spawn.m4.
24761         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
24762         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2,
24763         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
24764         posix_spawnattr_init, posix_spawnattr_setsigmask,
24765         posix_spawnattr_setflags, posix_spawnattr_destroy.
24766
24767         * lib/execute.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
24768         * m4/execute.m4 (gl_EXECUTE): Remove tests for vfork() based code.
24769         * modules/execute (Files): Remove m4/posix_spawn.m4.
24770         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
24771         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
24772         posix_spawnattr_init, posix_spawnattr_setsigmask,
24773         posix_spawnattr_setflags, posix_spawnattr_destroy.
24774
24775 2009-01-25  Bruno Haible  <bruno@clisp.org>
24776
24777         * lib/glthread/threadlib.c: Include <stdlib.h>.
24778
24779 2009-01-25  Bruno Haible  <bruno@clisp.org>
24780
24781         * lib/glthread/threadlib.c (dummy): New declaration.
24782
24783 2009-01-25  Bruno Haible  <bruno@clisp.org>
24784
24785         * lib/mbrtowc.c (mbrtowc): Distinguish invalid and incomplete
24786         multibyte characters also for the GB18030 encoding. Don't crash when
24787         the encoding is unknown and nstate = 0. Needed on OSF/1 5.1.
24788
24789 2009-01-25  Bruno Haible  <bruno@clisp.org>
24790
24791         Avoid redefining 'struct random_data' on OSF/1 5.1.
24792         * lib/stdlib.in.h: Include <random.h> if it exists.
24793         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether <random.h> exists. Set
24794         HAVE_RANDOM_H. Include <random.h> when testing whether
24795         'struct random_data' exists.
24796         * modules/stdlib (Makefile.am): Substitute HAVE_RANDOM_H.
24797
24798 2009-01-25  Bruno Haible  <bruno@clisp.org>
24799
24800         Don't install charset.alias on MacOS X >= 10.3.
24801         * lib/localcharset.c (DARWIN7): New macro.
24802         (get_charset_aliases): Hardcode the result for Darwin7.
24803         * modules/localcharset (install-exec-local): Don't install
24804         charset.alias on MacOS X >= 10.3, if the file does not yet exist.
24805
24806 2009-01-25  Bruno Haible  <bruno@clisp.org>
24807
24808         Don't install charset.alias on mingw and Cygwin.
24809         * modules/localcharset (install-exec-local): Don't install
24810         charset.alias on mingw and Cygwin, if the file does not yet exist.
24811         The result for these platforms is hardcoded in localcharset.c.
24812
24813 2009-01-25  Bruno Haible  <bruno@clisp.org>
24814
24815         Make it possible again to use AC_GNU_SOURCE together with gnulib.
24816         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_GNU_SOURCE
24817         before requiring AC_USE_SYSTEM_EXTENSIONS.
24818
24819 2009-01-25  Jim Meyering  <meyering@redhat.com>
24820
24821         c-strtod: avoid warnings
24822         * lib/c-strtod.c (C_STRTOD): Cast nptr to (char *) to avoid
24823         "assignment discards qualifiers from pointer target type" warnings.
24824
24825 2009-01-24  Bruno Haible  <bruno@clisp.org>
24826
24827         Add support for non-UTF-8 locales on MacOS X.
24828         * lib/config.charset: Add CP1131, ARMSCII-8, PT154 to the list of
24829         canonical encodings. For Darwin 7 and newer, don't map traditional
24830         encodings to UTF-8.
24831         Reported by Vincent Lefevre <vincent@vinc17.org>
24832         at <http://savannah.gnu.org/bugs/?25235>.
24833
24834 2009-01-24  Bruno Haible  <bruno@clisp.org>
24835
24836         * doc/gnulib.texi (Obsolete modules): New section.
24837         Reported by Mike Frysinger <vapier@gentoo.org>.
24838
24839 2009-01-24  Bruno Haible  <bruno@clisp.org>
24840
24841         * doc/Makefile (%.pdf): Clarify where to find texmf.cnf.
24842         (%.dvi): New rule.
24843
24844 2009-01-24  Bruno Haible  <bruno@clisp.org>
24845
24846         * lib/c-strtod.h (c_strtod, c_strtold): Adjust specification.
24847         Reported by Eric Blake.
24848
24849 2009-01-24  Bruno Haible  <bruno@clisp.org>
24850
24851         * lib/c-stack.c (segv_handler): If !HAVE_XSI_STACK_OVERFLOW_HEURISTIC,
24852         set signo = 0 also if info->si_code <= 0. Needed on HP-UX 11.11.
24853         Reported by Gary V. Vaughan <gary@gnu.org>.
24854
24855 2009-01-24  Bruno Haible  <bruno@clisp.org>
24856
24857         * lib/c-strtod.h (c_strtod, c_strtold): Add specification.
24858
24859 2009-01-23  Bruno Haible  <bruno@clisp.org>
24860
24861         Make c-strtod, c-strtold usable in libraries.
24862         * lib/c-strtod.c: Include string.h instead of xalloc.h.
24863         (C_STRTOD): Call strdup instead of xstrdup.
24864         * modules/c-strtod (Depends-on): Add strdup-posix, remove xalloc.
24865         * modules/c-strtold (Depends-on): Likewise.
24866         * doc/c-strtod.texi: Remove the sentence mentioning xalloc_die.
24867         * NEWS: Mention the change.
24868         Reported by Michael Gold <mgold@ncf.ca>.
24869
24870 2009-01-23  Jim Meyering  <meyering@redhat.com>
24871
24872         c-strtod: when ENDPTR is non-NULL, set *ENDPTR in new failure path
24873         * lib/c-strtod.c (C_STRTOD) [LC_ALL_MASKC]: Ensure that when
24874         ENDPTR is non-NULL, *ENDPTR is set to NPTR upon failure.
24875
24876 2009-01-23  Simon Josefsson  <simon@josefsson.org>
24877
24878         * lib/version-etc.c: Add emit_bug_reporting_address, inspired by
24879         GNU CoreUtils.
24880         * lib/version-etc.h: Add prototype for emit_bug_reporting_address.
24881         * modules/version-etc (Description): Update.
24882
24883 2009-01-22  Bruno Haible  <bruno@clisp.org>
24884
24885         Cache the C locale object.
24886         * lib/c-strtod.c (c_locale_cache): New variable.
24887         (c_locale): New function.
24888         (C_STRTOD): Use it, and don't call freelocale.
24889         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD): Require AC_C_INLINE.
24890         Suggested by Paolo Bonzini.
24891
24892 2009-01-21  Bruno Haible  <bruno@clisp.org>
24893
24894         * lib/getloadavg.c (getloadavg): Check c_strtod result against error
24895         conditions other than overflow.
24896
24897 2009-01-21  Bruno Haible  <bruno@clisp.org>
24898
24899         * lib/c-strtod.c: Include errno.h.
24900         (C_STRTOD): Check against NULL return from newlocale. Preserve errno
24901         value from STRTOD_L and STRTOD.
24902
24903 2009-01-21  Bruno Haible  <bruno@clisp.org>
24904         and Jim Meyering  <meyering@redhat.com>
24905
24906         nanosleep: skip configure test (fail it) for apple universal builds
24907         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_MULTIARCH. In Apple
24908         universal builds, assume that nanosleep does not work.
24909         * modules/nanosleep (Depends-on): Add multiarch.
24910
24911         mktime: skip configure test (fail it) for apple universal builds
24912         * m4/mktime.m4 (AC_FUNC_MKTIME): Require gl_MULTIARCH. In Apple
24913         universal builds, assume that mktime does not work.
24914         * modules/mktime (Depends-on): Add multiarch.
24915
24916 2009-01-21  Eric Blake  <ebb9@byu.net>
24917
24918         multiarch: avoid expand-before-require warning
24919         * modules/multiarch (configure.ac): Require, rather than expand,
24920         gl_MULTIARCH.
24921         * m4/multiarch.m4 (gl_MULTIARCH_BODY): Merge...
24922         (gl_MULTIARCH): ...into this macro, and use AC_DEFUN_ONCE to
24923         enforce that all clients require it.  Partial reversion of
24924         2008-12-29 patch.
24925
24926         error: avoid expand-before-require warning
24927         * modules/errno (configure.ac): Require, rather than expand,
24928         gl_HEADER_ERRNO_H.
24929         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Merge...
24930         (gl_HEADER_ERRNO_H): ...into this macro, and use AC_DEFUN_ONCE to
24931         enforce that all clients require it.
24932
24933         gnulib-tool: avoid warnings from using obsolete AC_GNU_SOURCE
24934         * gnulib-tool (func_dest_tmpfilename, func_create_testdir): Using
24935         obsolete AC_GNU_SOURCE causes out-of-order expansion; avoid it,
24936         and rely solely on gl_USE_SYSTEM_EXTENSIONS.
24937
24938 2009-01-21  Paolo Bonzini  <bonzini@gnu.org>
24939
24940         Revert:
24941         2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
24942
24943         regex: do not depend on obsolete modules.
24944         * modules/regex: Remove memcmp and memmove.
24945
24946 2009-01-20  Bruno Haible  <bruno@clisp.org>
24947
24948         Make the 'link' module link on Windows NT 4.
24949         * lib/link.c (_WIN32_WINNT): Don't define.
24950         (CreateHardLinkFuncType): New type.
24951         (CreateHardLinkFunc, initialized): New variables.
24952         (initialize): New function.
24953         (link): Invoke CreateHardLink indirectly through the function pointer.
24954
24955 2009-01-20  Bruno Haible  <bruno@clisp.org>
24956
24957         Fix compilation failure on mingw.
24958         * tests/test-link.c (main): Don't assume that EOPNOTSUPP exists.
24959
24960 2009-01-20  Michael Gold  <mgold@ncf.ca>  (tiny change)
24961
24962         * doc/c-strtod.texi: Mention a couple of restrictions.
24963
24964 2009-01-20  Jim Meyering  <meyering@redhat.com>
24965
24966         gettimeofday: move more declarations out of functions
24967         * lib/gettimeofday.c: Move extern declarations of tzset and
24968         gmtime out of containing functions.  Prompted by Bruno Haible.
24969
24970 2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
24971
24972         regex: do not depend on obsolete modules.
24973         * modules/regex: Remove memcmp and memmove.
24974
24975 2009-01-19  Bruno Haible  <bruno@clisp.org>
24976
24977         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
24978         * modules/uniconv/u16-conv-from-enc (configure.ac): Require
24979         gl_BIGENDIAN, not AC_C_BIGENDIAN.
24980         * modules/uniconv/u16-conv-to-enc (configure.ac): Likewise.
24981         * modules/uniconv/u16-strconv-to-enc (configure.ac): Likewise.
24982
24983 2009-01-19  Bruno Haible  <bruno@clisp.org>
24984
24985         * tests/test-link.c: Include <errno.h>.
24986         (main): Exit with code 77 when a hard link cannot be created due to
24987         the file system.
24988         * tests/test-link.sh: Skip test when a hard link cannot be created due
24989         to the file system.
24990         Suggested by Eric Blake.
24991
24992 2009-01-19  Martin Lambers  <marlam@marlam.de>
24993
24994         * modules/link-tests: New file.
24995         * tests/test-link.sh: New file.
24996         * tests/test-link.c: New file.
24997
24998 2009-01-19  Eric Blake  <ebb9@byu.net>
24999
25000         doc: mention another function added in cygwin 1.7.0
25001         * doc/glibc-functions/glob_pattern_p.texi (glob_pattern_p):
25002         Another new function in cygwin 1.7.
25003
25004 2009-01-19  Bruno Haible  <bruno@clisp.org>
25005
25006         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
25007         * m4/gnulib-common.m4 (gl_BIGENDIAN): New macro.
25008         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require
25009         gl_BIGENDIAN, not AC_C_BIGENDIAN.
25010         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
25011         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
25012         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
25013         * m4/md4.m4 (gl_MD4): Likewise.
25014         * m4/md5.m4 (gl_MD5): Likewise.
25015         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Likewise.
25016         * m4/sha1.m4 (gl_SHA1): Likewise.
25017         * m4/sha256.m4 (gl_SHA256): Likewise.
25018         * m4/sha512.m4 (gl_SHA512): Likewise.
25019
25020 2009-01-19  Bruno Haible  <bruno@clisp.org>
25021
25022         * modules/uniname/uniname-tests (Depends-on): Add progname.
25023         * tests/uniname/test-uninames.c: Include progname.h.
25024         (main): Call set_program_name.
25025
25026         * modules/unistdio/u8-vsprintf-tests (Depends-on): Add progname.
25027         * tests/unistdio/test-u8-vsprintf1.c: Include progname.h.
25028         (main): Call set_program_name.
25029
25030         * modules/unistdio/u8-vsnprintf-tests (Depends-on): Add progname.
25031         * tests/unistdio/test-u8-vsnprintf1.c: Include progname.h.
25032         (main): Call set_program_name.
25033
25034         * modules/unistdio/u16-vsprintf-tests (Depends-on): Add progname.
25035         * tests/unistdio/test-u16-vsprintf1.c: Include progname.h.
25036         (main): Call set_program_name.
25037
25038         * modules/unistdio/u16-vsnprintf-tests (Depends-on): Add progname.
25039         * tests/unistdio/test-u16-vsnprintf1.c: Include progname.h.
25040         (main): Call set_program_name.
25041
25042         * modules/unistdio/u32-vsprintf-tests (Depends-on): Add progname.
25043         * tests/unistdio/test-u32-vsprintf1.c: Include progname.h.
25044         (main): Call set_program_name.
25045
25046         * modules/unistdio/u32-vsnprintf-tests (Depends-on): Add progname.
25047         * tests/unistdio/test-u32-vsnprintf1.c: Include progname.h.
25048         (main): Call set_program_name.
25049
25050         * modules/unistdio/ulc-vsprintf-tests (Depends-on): Add progname.
25051         * tests/unistdio/test-ulc-vsprintf1.c: Include progname.h.
25052         (main): Call set_program_name.
25053
25054         * modules/unistdio/ulc-vsnprintf-tests (Depends-on): Add progname.
25055         * tests/unistdio/test-ulc-vsnprintf1.c: Include progname.h.
25056         (main): Call set_program_name.
25057
25058 2009-01-19  Eric Blake  <ebb9@byu.net>
25059
25060         test-unistd: test previous patch
25061         * tests/test-unistd.c: Test *_FILENO macros.
25062
25063         unistd: guarantee STDIN_FILENO here, for OS/2 EMX
25064         * lib/unistd.in.h (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
25065         Guarantee a definition.
25066         * doc/posix-headers/unistd.texi (unistd.h): Document the bug.
25067         * modules/unistd-safer (Depends-on): Add dependency on unistd.
25068         * lib/c-stack.c (STDERR_FILENO): Rely on <unistd.h>.
25069         * lib/dup-safer.c (STDERR_FILENO): Likewise.
25070         * lib/execute.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
25071         Likewise.
25072         * lib/fd-safer.c (STDIN_FILENO, STDERR_FILENO): Likewise.
25073         * lib/fopen-safer.c (STDERR_FILENO): Likewise.
25074         * lib/pipe.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
25075         Likewise.
25076         * lib/tmpfile-safer.c (STDERR_FILENO): Likewise.
25077         * tests/test-posix_spawn1.c (STDIN_FILENO, STDOUT_FILENO)
25078         (STDERR_FILENO): Likewise.
25079         * tests/test-posix_spawn2.c (STDIN_FILENO, STDOUT_FILENO)
25080         (STDERR_FILENO): Likewise.
25081         * tests/test-posix_spawn3.c (STDIN_FILENO, STDOUT_FILENO)
25082         (STDERR_FILENO): Likewise.
25083         Reported by Elbert Pol.
25084
25085 2009-01-19  Eric Blake  <ebb9@byu.net>
25086
25087         doc: mention more functions added in cygwin 1.7.0
25088         * doc/posix-functions/abort.texi (abort): Update wording related
25089         to cygwin.
25090         * doc/posix-functions/daylight.texi (daylight): Likewise.
25091         * doc/posix-functions/optarg.texi (optarg): Likewise.
25092         * doc/posix-functions/optarg.texi (opterr): Likewise.
25093         * doc/posix-functions/optarg.texi (optind): Likewise.
25094         * doc/posix-functions/optarg.texi (optopt): Likewise.
25095         * doc/posix-functions/wprintf.texi (wprintf): Cygwin wprintf never
25096         worked in 1.5.x, and was withdrawn in 1.7.
25097         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
25098         * doc/posix-functions/fprintf.texi (fprintf): Tighten mention of
25099         cygwin versions.
25100         * doc/posix-functions/perror.texi (perror): Likewise.
25101         * doc/posix-functions/printf.texi (printf): Likewise.
25102         * doc/posix-functions/snprintf.texi (snprintf): Likewise.
25103         * doc/posix-functions/sprintf.texi (sprintf): Likewise.
25104         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
25105         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
25106         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
25107         * doc/posix-functions/vsprintf.texi (vsprintf): Likewise.
25108         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
25109         Likewise.
25110         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
25111         Likewise.
25112         * doc/glibc-functions/cfmakeraw.texi (cfmakeraw): Cygwin 1.7 adds
25113         this function.
25114         * doc/glibc-functions/in6addr_any.texi (in6addr_any): Likewise.
25115         * doc/glibc-functions/in6addr_loopback.texi (in6addr_loopback):
25116         Likewise.
25117         * doc/glibc-functions/updwtmpx.texi (updwtmpx): Likewise.
25118         * doc/posix-functions/_Exit_C99.texi (_Exit): Likewise.
25119         * doc/posix-functions/confstr.texi (confstr): Likewise.
25120         * doc/posix-functions/dprintf.texi (dprintf): Likewise.
25121         * doc/posix-functions/fgetwc.texi (fgetwc): Likewise.
25122         * doc/posix-functions/fgetws.texi (fgetws): Likewise.
25123         * doc/posix-functions/fputwc.texi (fputwc): Likewise.
25124         * doc/posix-functions/fputws.texi (fputws): Likewise.
25125         * doc/posix-functions/fwide.texi (fwide): Likewise.
25126         * doc/posix-functions/getwc.texi (getwc): Likewise.
25127         * doc/posix-functions/getwchar.texi (getwchar): Likewise.
25128         * doc/posix-functions/putwc.texi (putwc): Likewise.
25129         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
25130         * doc/posix-functions/sigignore.texi (sigignore): Likewise.
25131         * doc/posix-functions/ungetwc.texi (ungetwc): Likewise.
25132         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
25133         * doc/posix-functions/wcpcpy.texi (wcpcpy): Likewise.
25134         * doc/posix-functions/wcpncpy.texi (wcpncpy): Likewise.
25135         * doc/posix-functions/wcstol.texi (wcstol): Likewise.
25136         * doc/posix-functions/wcstoll.texi (wcstoll): Likewise.
25137         * doc/posix-functions/wcstoul.texi (wcstoul): Likewise.
25138         * doc/posix-functions/wcstoull.texi (wcstoull): Likewise.
25139         * doc/posix-functions/wcsxfrm.texi (wcsxfrm): Likewise.
25140
25141 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
25142
25143         ioctl: avoid warning: no previous prototype for 'rpl_ioctl'
25144         * lib/ioctl.c: Include <sys/ioctl.h>.
25145
25146 2009-01-19  Simon Josefsson  <simon@josefsson.org>
25147
25148         * modules/getdate-tests (Depends-on): Add progname.
25149         * tests/test-getdate.c: Use progname module, to avoid link errors
25150         on non-glibc systems.
25151
25152 2009-01-18  Simon Josefsson  <simon@josefsson.org>
25153
25154         * modules/filenamecat-tests (Depends-on): Add progname.
25155         * modules/fstrcmp-tests (Depends-on): Likewise.
25156
25157         * tests/test-filenamecat.c: Use progname module, to avoid link
25158         errors on non-glibc systems.
25159         * tests/test-fstrcmp.c: Likewise.
25160
25161 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
25162
25163         gettimeofday: avoid warning: nested extern declaration of 'localtime'
25164         * lib/gettimeofday.c: Move extern declaration out of function.
25165
25166 2009-01-18  Bruno Haible  <bruno@clisp.org>
25167
25168         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mblen and mbrlen.
25169         * lib/strftime.c (HAVE_MBLEN, HAVE_MBRLEN): Remove macros.
25170         (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 on all platforms except OSF/1.
25171
25172 2009-01-18  Bruno Haible  <bruno@clisp.org>
25173
25174         * lib/strftime.c (MEMPCPY): Remove unused macro.
25175         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mempcpy.
25176
25177 2009-01-18  Martin Lambers  <marlam@marlam.de>
25178
25179         New module 'link'.
25180         * lib/unistd.in.h (link): New declaration.
25181         * lib/link.c: New file.
25182         * m4/link.m4: New file.
25183         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_LINK,
25184         HAVE_LINK.
25185         * modules/unistd (Makefile.am): Substitute GNULIB_LINK, HAVE_LINK.
25186         * modules/link: New file.
25187         * doc/posix-functions/link.texi: Mention the new module.
25188
25189 2009-01-18  Bruno Haible  <bruno@clisp.org>
25190
25191         * tests/test-avltree_list.c (main): Call set_program_name.
25192         * tests/test-avltree_oset.c (main): Likewise.
25193         * tests/test-obstack-printf.c: Include progname.h.
25194         (main): Call set_program_name.
25195         * tests/test-quotearg.c: Include progname.h.
25196         (main): Call set_program_name.
25197         * tests/test-xmemdup0.c: Include progname.h.
25198         (main): Call set_program_name.
25199
25200 2009-01-18  Bruno Haible  <bruno@clisp.org>
25201
25202         New module 'alphasort'.
25203         * lib/dirent.in.h (alphasort): New declaration.
25204         * lib/alphasort.c: New file, from glibc with modifications.
25205         * m4/alphasort.m4: New file.
25206         * modules/alphasort: New file.
25207         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_ALPHASORT,
25208         HAVE_ALPHASORT.
25209         * modules/dirent (Makefile.am): Substitute GNULIB_ALPHASORT,
25210         HAVE_ALPHASORT.
25211         * doc/posix-functions/alphasort.texi: Mention the new module and the
25212         portability problems.
25213
25214 2009-01-18  Bruno Haible  <bruno@clisp.org>
25215
25216         New module 'scandir'.
25217         * lib/dirent.in.h (scandir): New declaration.
25218         * lib/scandir.c: New file, from glibc with modifications.
25219         * m4/scandir.m4: New file.
25220         * modules/scandir: New file.
25221         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_SCANDIR,
25222         HAVE_SCANDIR.
25223         * modules/dirent (Makefile.am): Substitute GNULIB_SCANDIR,
25224         HAVE_SCANDIR.
25225         * doc/posix-functions/scandir.texi: Mention the new module and the
25226         portability problems.
25227
25228 2009-01-17  Bruno Haible  <bruno@clisp.org>
25229
25230         * gnulib-tool (func_remove_prefix): Escape all dots in the prefix.
25231         Update documentation.
25232         (func_remove_suffix): Escape all dots in the suffix. Update
25233         documentation.
25234         (func_filter_filelist): Update documentation.
25235         Reported by Ralf Wildenhues.
25236
25237 2009-01-17  Bruno Haible  <bruno@clisp.org>
25238
25239         * modules/dprintf-posix-tests: New file.
25240         * tests/test-dprintf-posix.sh: New file.
25241         * tests/test-dprintf-posix.c: New file.
25242
25243         New modules 'dprintf', 'dprintf-posix'.
25244         * lib/stdio.in.h (dprintf): New declaration.
25245         * lib/dprintf.c: New file.
25246         * m4/dprintf.m4: New file.
25247         * m4/dprintf-posix.m4: New file.
25248         * modules/dprintf: New file.
25249         * modules/dprintf-posix: New file.
25250         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_DPRINTF,
25251         HAVE_DPRINTF, REPLACE_DPRINTF.
25252         * modules/stdio (Makefile.am): Substitute also GNULIB_DPRINTF,
25253         HAVE_DPRINTF, REPLACE_DPRINTF.
25254         * doc/posix-functions/dprintf.texi: Mention the new modules.
25255
25256 2009-01-17  Bruno Haible  <bruno@clisp.org>
25257
25258         * modules/vdprintf-posix-tests: New file.
25259         * tests/test-vdprintf-posix.sh: New file.
25260         * tests/test-vdprintf-posix.c: New file.
25261
25262         New modules 'vdprintf', 'vdprintf-posix'.
25263         * lib/stdio.in.h (vdprintf): New declaration.
25264         * lib/vdprintf.c: New file.
25265         * m4/vdprintf.m4: New file.
25266         * m4/vdprintf-posix.m4: New file.
25267         * modules/vdprintf: New file.
25268         * modules/vdprintf-posix: New file.
25269         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_VDPRINTF,
25270         HAVE_VDPRINTF, REPLACE_VDPRINTF.
25271         * modules/stdio (Makefile.am): Substitute also GNULIB_VDPRINTF,
25272         HAVE_VDPRINTF, REPLACE_VDPRINTF.
25273         * doc/posix-functions/vdprintf.texi: Mention the new modules.
25274
25275 2009-01-17  Bruno Haible  <bruno@clisp.org>
25276
25277         Fix replacement of fopen on mingw.
25278         * m4/fopen.m4 (gl_FUNC_FOPEN): Define FOPEN_TRAILING_SLASH_BUG also on
25279         mingw.
25280
25281 2009-01-17  Bruno Haible  <bruno@clisp.org>
25282
25283         Fix compilation error on HP-UX 11.00, present since 2008-09-24.
25284         * lib/fopen.c: Include <sys/types.h> and <sys/types.h>.
25285
25286 2009-01-17  Bruno Haible  <bruno@clisp.org>
25287
25288         Avoid test-fflush2.sh failure on mingw.
25289         * tests/test-fflush2.c: Include binary-io.h.
25290         (main): Put standard input into binary mode.
25291         * modules/fflush-tests (Depends-on): Add binary-io.
25292
25293 2009-01-17  Bruno Haible  <bruno@clisp.org>
25294
25295         * lib/wchar.in.h: In another particular situation, include only the
25296         system's <wchar.h> file.
25297         (_GL_ALREADY_INCLUDING_WCHAR_H): New macro.
25298         Reported by Albert Chin-A-Young <china@thewrittenword.com>
25299         and Thomas Guyot-Sionnest <dermoth@aei.ca>.
25300
25301 2009-01-17  Bruno Haible  <bruno@clisp.org>
25302
25303         Support for stripping executables in --enable-relocatable.
25304         * build-aux/install-reloc: Expect one more argument, or an environment
25305         variable RELOC_STRIP_PROG. If set, strip the destination program and
25306         its wrapper.
25307         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV, set
25308         RELOC_STRIP_PROG.
25309         * doc/relocatable-maint.texi (Supporting Relocation): Mention the need
25310         to set RELOCATABLE_STRIP.
25311         * NEWS: Mention the new Makefile requirement.
25312
25313 2009-01-17  Bruno Haible  <bruno@clisp.org>
25314
25315         * build-aux/install-reloc: Remove debugging information left over by
25316         C compiler on MacOS X.
25317
25318 2009-01-17  Bruno Haible  <bruno@clisp.org>
25319
25320         Update use of _NSGetExecutablePath after API change in MacOS X 10.4.
25321         * lib/progreloc.c (find_executable): Fix type of pointer passed to
25322         _NSGetExecutablePath.
25323
25324 2009-01-16  Jim Meyering  <meyering@redhat.com>
25325
25326         strerror: avoid warnings about discarding "const"
25327         * lib/strerror.c (rpl_strerror): Instead of returning a const
25328         string from each and every "case", use a variable, and add a single
25329         cast after the switch.
25330
25331 2009-01-16  Albert Chin-A-Young <china@thewrittenword.com>
25332
25333         * lib/arpa_inet.in.h: Add extern "C" block for C++.
25334
25335 2009-01-16  Bruno Haible  <bruno@clisp.org>
25336
25337         * m4/printf.m4 (gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99): Use an
25338         array initializer syntax that also works in C++ mode.
25339         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
25340
25341 2009-01-16  Jim Meyering  <meyering@redhat.com>
25342
25343         poll: suppress a warning
25344         * lib/poll.c: Use #pragma GCC diagnostic ignored "-Wtype-limits"
25345         to ignore "...unsigned expression < 0 is always false" warnings.
25346
25347 2009-01-16  Daniel P. Berrange  <berrange@redhat.com>
25348
25349         poll: remove declarations of unused variables
25350         * lib/poll.c (poll) [WIN32_NATIVE]: Remove declarations of unused
25351         sockbuf and optlen.
25352
25353 2009-01-15  Bruno Haible  <bruno@clisp.org>
25354
25355         Make fflush-after-ungetc POSIX compliant on BSD systems.
25356         * lib/fflush.c (clear_ungetc_buffer_preserving_position): New function.
25357         (clear_ungetc_buffer): Implement also for other systems.
25358         (rpl_fflush): On glibc systems, invoke
25359         clear_ungetc_buffer_preserving_position. Otherwise, invoke
25360         clear_ungetc_buffer after fetching the stream's position, not before.
25361
25362 2009-01-15  Bruno Haible  <bruno@clisp.org>
25363
25364         Make fflush-after-ungetc POSIX compliant on glibc systems.
25365         * m4/fflush.m4 (gl_FUNC_FFLUSH): Test also the behaviour of fflush
25366         after ungetc.
25367         * lib/fflush.c (clear_ungetc_buffer): Implement for glibc systems.
25368         (rpl_fflush): On glibc systems, simply call the system's fflush
25369         function after clearing the ungetc buffer.
25370         * lib/fseeko.c (rpl_fseeko): Don't try to lseek past the end of file.
25371         Instead, lseek only to the end of file, then use the system's fseeko
25372         for the rest. On glibc systems, reset the EOF indicator bit.
25373
25374 2009-01-15  Jim Meyering  <meyering@redhat.com>
25375
25376         openmp.m4: revert quote-adding change, for portability to older autoconf
25377         * m4/openmp.m4: Remove the quotes added on 2009-01-14.
25378         This reverts part of 42d1eda5dcce2d68deab7a642e7f29bcd7144a0d.
25379         Simon Josefsson noticed the problem when using autoconf-2.61.
25380
25381 2009-01-15  Bruno Haible  <bruno@clisp.org>
25382
25383         * tests/test-fflush2.sh: Invoke test-fflush2 twice.
25384         * tests/test-fflush2.c (ASSERT): Always fail.
25385         (main): Add two tests for fflush() after ungetc(), taking into account
25386         the Austin Group's clarification.
25387         Suggested by Eric Blake.
25388
25389 2009-01-15  Albert Chin-A-Young  <china@thewrittenword.com>
25390
25391         mktime.m4: remove K&R-style function prototypes
25392         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove K&R-style function prototypes
25393         for the Sun C++ compiler.
25394
25395 2009-01-14  Bruno Haible  <bruno@clisp.org>
25396
25397         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_WCHAR_H): New macro, defined
25398         while including <wchar.h>.
25399         * lib/wchar.in.h: In two particular situations on HP-UX, include only
25400         the system's <wchar.h> file.
25401         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
25402
25403 2009-01-14  Bruno Haible  <bruno@clisp.org>
25404
25405         * m4/csharp.m4: Don't mention gettext on the serial number line.
25406         * m4/csharpexec.m4: Likewise.
25407         * m4/eaccess.m4: Likewise.
25408         * m4/javaexec.m4: Likewise.
25409         * m4/sig_atomic_t.m4: Likewise.
25410         * m4/tmpdir.m4: Likewise.
25411         * m4/intldir.m4: Bump gettext version.
25412         * m4/lib-ld.m4: Likewise.
25413
25414 2009-01-14  Bruno Haible  <bruno@clisp.org>
25415
25416         * lib/progname.c (set_program_name): Add more comments.
25417         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
25418
25419 2009-01-14  Simon Josefsson  <simon@josefsson.org>
25420
25421         * lib/sys_stat.in.h: Include sys/types.h for nlink_t on systems
25422         were sys/stat.h does not define it.
25423
25424 2009-01-14  Jim Meyering  <meyering@redhat.com>
25425
25426         many *.m4 files: improve m4 quoting
25427         99% of this change was performed by running the following commands:
25428         git ls-files | grep '\.m4$' | xargs perl -pi \
25429           -e 's/(AC_\w+\()([^[()]+?)([,)])/$1\[$2]$3/g;' \
25430           -e 's/(AC_\w+\((?:\[[^,]+?\], ){1})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
25431           -e 's/(AC_\w+\((?:\[[^,]+?\], ){2})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
25432           -e 's/(AC_\w+\((?:\[[^,]+?\], ){3})([^,[()]+?)([,)])/$1\[$2]$3/g'
25433         perl -pi -e 's/\[\.\.\.\]/.../' m4/onceonly.m4
25434         The remainder were to add Copyright dates, increment serial numbers,
25435         undo some changes in comments, exclude m4/intl.m4, and add quotes
25436         around the "1" in ",1" where the unusual spacing prohibited the
25437         above regexps from doing the job.  For more details, see
25438         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16175>.
25439         * m4/acl.m4: Modified.
25440         * m4/afs.m4: Likewise.
25441         * m4/alloca.m4: Likewise.
25442         * m4/argp.m4: Likewise.
25443         * m4/argz.m4: Likewise.
25444         * m4/atexit.m4: Likewise.
25445         * m4/bison-i18n.m4: Likewise.
25446         * m4/bison.m4: Likewise.
25447         * m4/byteswap.m4: Likewise.
25448         * m4/c-stack.m4: Likewise.
25449         * m4/c-strtod.m4: Likewise.
25450         * m4/calloc.m4: Likewise.
25451         * m4/canonicalize-lgpl.m4: Likewise.
25452         * m4/chown.m4: Likewise.
25453         * m4/clock_time.m4: Likewise.
25454         * m4/codeset.m4: Likewise.
25455         * m4/copy-file.m4: Likewise.
25456         * m4/csharp.m4: Likewise.
25457         * m4/csharpcomp.m4: Likewise.
25458         * m4/csharpexec.m4: Likewise.
25459         * m4/d-ino.m4: Likewise.
25460         * m4/d-type.m4: Likewise.
25461         * m4/dirfd.m4: Likewise.
25462         * m4/double-slash-root.m4: Likewise.
25463         * m4/eaccess.m4: Likewise.
25464         * m4/eealloc.m4: Likewise.
25465         * m4/environ.m4: Likewise.
25466         * m4/errno_h.m4: Likewise.
25467         * m4/euidaccess.m4: Likewise.
25468         * m4/execute.m4: Likewise.
25469         * m4/fatal-signal.m4: Likewise.
25470         * m4/fchdir.m4: Likewise.
25471         * m4/fcntl_h.m4: Likewise.
25472         * m4/fileblocks.m4: Likewise.
25473         * m4/filenamecat.m4: Likewise.
25474         * m4/findprog.m4: Likewise.
25475         * m4/flexmember.m4: Likewise.
25476         * m4/fnmatch.m4: Likewise.
25477         * m4/fopen.m4: Likewise.
25478         * m4/fpending.m4: Likewise.
25479         * m4/fprintf-posix.m4: Likewise.
25480         * m4/free.m4: Likewise.
25481         * m4/frexp.m4: Likewise.
25482         * m4/frexpl.m4: Likewise.
25483         * m4/fsusage.m4: Likewise.
25484         * m4/ftruncate.m4: Likewise.
25485         * m4/gc-camellia.m4: Likewise.
25486         * m4/gc-random.m4: Likewise.
25487         * m4/gc.m4: Likewise.
25488         * m4/getaddrinfo.m4: Likewise.
25489         * m4/getcwd-abort-bug.m4: Likewise.
25490         * m4/getcwd-path-max.m4: Likewise.
25491         * m4/getdate.m4: Likewise.
25492         * m4/getdomainname.m4: Likewise.
25493         * m4/getgroups.m4: Likewise.
25494         * m4/gethostname.m4: Likewise.
25495         * m4/gethrxtime.m4: Likewise.
25496         * m4/getline.m4: Likewise.
25497         * m4/getloadavg.m4: Likewise.
25498         * m4/getndelim2.m4: Likewise.
25499         * m4/getpass.m4: Likewise.
25500         * m4/gettext.m4: Likewise.
25501         * m4/gettime.m4: Likewise.
25502         * m4/gettimeofday.m4: Likewise.
25503         * m4/gnulib-common.m4: Likewise.
25504         * m4/group-member.m4: Likewise.
25505         * m4/host-os.m4: Likewise.
25506         * m4/iconv.m4: Likewise.
25507         * m4/iconv_open.m4: Likewise.
25508         * m4/inet_ntop.m4: Likewise.
25509         * m4/inet_pton.m4: Likewise.
25510         * m4/inline.m4: Likewise.
25511         * m4/intldir.m4: Likewise.
25512         * m4/intlmacosx.m4: Likewise.
25513         * m4/intmax.m4: Likewise.
25514         * m4/intmax_t.m4: Likewise.
25515         * m4/inttypes.m4: Likewise.
25516         * m4/inttypes_h.m4: Likewise.
25517         * m4/inttypes-pri.m4: Likewise.
25518         * m4/isapipe.m4: Likewise.
25519         * m4/isnand.m4: Likewise.
25520         * m4/isnanf.m4: Likewise.
25521         * m4/isnanl.m4: Likewise.
25522         * m4/javacomp.m4: Likewise.
25523         * m4/javaexec.m4: Likewise.
25524         * m4/jm-winsz1.m4: Likewise.
25525         * m4/jm-winsz2.m4: Likewise.
25526         * m4/lchown.m4: Likewise.
25527         * m4/lcmessage.m4: Likewise.
25528         * m4/ldexpl.m4: Likewise.
25529         * m4/lib-ld.m4: Likewise.
25530         * m4/lib-link.m4: Likewise.
25531         * m4/libsigsegv.m4: Likewise.
25532         * m4/link-follow.m4: Likewise.
25533         * m4/localcharset.m4: Likewise.
25534         * m4/locale-fr.m4: Likewise.
25535         * m4/locale-ja.m4: Likewise.
25536         * m4/locale-tr.m4: Likewise.
25537         * m4/locale-zh.m4: Likewise.
25538         * m4/lock.m4: Likewise.
25539         * m4/longlong.m4: Likewise.
25540         * m4/ls-mntd-fs.m4: Likewise.
25541         * m4/lstat.m4: Likewise.
25542         * m4/malloc.m4: Likewise.
25543         * m4/mathl.m4: Likewise.
25544         * m4/mbrtowc.m4: Likewise.
25545         * m4/mbstate_t.m4: Likewise.
25546         * m4/mbswidth.m4: Likewise.
25547         * m4/memchr.m4: Likewise.
25548         * m4/memcmp.m4: Likewise.
25549         * m4/memcpy.m4: Likewise.
25550         * m4/memmem.m4: Likewise.
25551         * m4/memmove.m4: Likewise.
25552         * m4/mempcpy.m4: Likewise.
25553         * m4/memrchr.m4: Likewise.
25554         * m4/memset.m4: Likewise.
25555         * m4/minmax.m4: Likewise.
25556         * m4/mkdir-slash.m4: Likewise.
25557         * m4/mkdtemp.m4: Likewise.
25558         * m4/mktime.m4: Likewise.
25559         * m4/mmap-anon.m4: Likewise.
25560         * m4/mountlist.m4: Likewise.
25561         * m4/nanosleep.m4: Likewise.
25562         * m4/nls.m4: Likewise.
25563         * m4/nocrash.m4: Likewise.
25564         * m4/open.m4: Likewise.
25565         * m4/openat.m4: Likewise.
25566         * m4/openmp.m4: Likewise.
25567         * m4/pathmax.m4: Likewise.
25568         * m4/perl.m4: Likewise.
25569         * m4/physmem.m4: Likewise.
25570         * m4/pipe.m4: Likewise.
25571         * m4/po.m4: Likewise.
25572         * m4/poll.m4: Likewise.
25573         * m4/posixtm.m4: Likewise.
25574         * m4/posixver.m4: Likewise.
25575         * m4/printf-frexp.m4: Likewise.
25576         * m4/printf-frexpl.m4: Likewise.
25577         * m4/printf-posix.m4: Likewise.
25578         * m4/printf-posix-rpl.m4: Likewise.
25579         * m4/printf.m4: Likewise.
25580         * m4/progtest.m4: Likewise.
25581         * m4/putenv.m4: Likewise.
25582         * m4/readline.m4: Likewise.
25583         * m4/readlink.m4: Likewise.
25584         * m4/readutmp.m4: Likewise.
25585         * m4/realloc.m4: Likewise.
25586         * m4/regex.m4: Likewise.
25587         * m4/relocatable.m4: Likewise.
25588         * m4/relocatable-lib.m4: Likewise.
25589         * m4/rename-dest-slash.m4: Likewise.
25590         * m4/rename.m4: Likewise.
25591         * m4/rmdir-errno.m4: Likewise.
25592         * m4/rmdir.m4: Likewise.
25593         * m4/roundf.m4: Likewise.
25594         * m4/roundl.m4: Likewise.
25595         * m4/rpmatch.m4: Likewise.
25596         * m4/save-cwd.m4: Likewise.
25597         * m4/selinux-selinux-h.m4: Likewise.
25598         * m4/setenv.m4: Likewise.
25599         * m4/settime.m4: Likewise.
25600         * m4/sig2str.m4: Likewise.
25601         * m4/sig_atomic_t.m4: Likewise.
25602         * m4/signalblocking.m4: Likewise.
25603         * m4/signbit.m4: Likewise.
25604         * m4/sigpipe.m4: Likewise.
25605         * m4/sockets.m4: Likewise.
25606         * m4/sockpfaf.m4: Likewise.
25607         * m4/st_dm_mode.m4: Likewise.
25608         * m4/stat-time.m4: Likewise.
25609         * m4/stdbool.m4: Likewise.
25610         * m4/stdint.m4: Likewise.
25611         * m4/stdint_h.m4: Likewise.
25612         * m4/stpcpy.m4: Likewise.
25613         * m4/stpncpy.m4: Likewise.
25614         * m4/strcase.m4: Likewise.
25615         * m4/strchrnul.m4: Likewise.
25616         * m4/strcspn.m4: Likewise.
25617         * m4/strdup.m4: Likewise.
25618         * m4/strftime.m4: Likewise.
25619         * m4/strndup.m4: Likewise.
25620         * m4/strnlen.m4: Likewise.
25621         * m4/strpbrk.m4: Likewise.
25622         * m4/strptime.m4: Likewise.
25623         * m4/strsep.m4: Likewise.
25624         * m4/strtod.m4: Likewise.
25625         * m4/strtoimax.m4: Likewise.
25626         * m4/strtok_r.m4: Likewise.
25627         * m4/strtol.m4: Likewise.
25628         * m4/strtoll.m4: Likewise.
25629         * m4/strtoul.m4: Likewise.
25630         * m4/strtoull.m4: Likewise.
25631         * m4/strtoumax.m4: Likewise.
25632         * m4/strverscmp.m4: Likewise.
25633         * m4/threadlib.m4: Likewise.
25634         * m4/timegm.m4: Likewise.
25635         * m4/tm_gmtoff.m4: Likewise.
25636         * m4/tmpdir.m4: Likewise.
25637         * m4/tmpfile.m4: Likewise.
25638         * m4/tzset.m4: Likewise.
25639         * m4/uintmax_t.m4: Likewise.
25640         * m4/unlinkdir.m4: Likewise.
25641         * m4/unlocked-io.m4: Likewise.
25642         * m4/uptime.m4: Likewise.
25643         * m4/userspec.m4: Likewise.
25644         * m4/utimbuf.m4: Likewise.
25645         * m4/utime.m4: Likewise.
25646         * m4/utimes-null.m4: Likewise.
25647         * m4/utimes.m4: Likewise.
25648         * m4/vararrays.m4: Likewise.
25649         * m4/vasnprintf.m4: Likewise.
25650         * m4/vfprintf-posix.m4: Likewise.
25651         * m4/vprintf-posix.m4: Likewise.
25652         * m4/wait-process.m4: Likewise.
25653         * m4/wchar_t.m4: Likewise.
25654         * m4/wint_t.m4: Likewise.
25655         * m4/write-any-file.m4: Likewise.
25656         * m4/yield.m4: Likewise.
25657
25658 2009-01-13  Bruno Haible  <bruno@clisp.org>
25659
25660         Avoid test-copy-file.sh failures when ACL support insufficient.
25661         * modules/copy-file-tests (Makefile.am): Pass USE_ACL in
25662         TESTS_ENVIRONMENT.
25663         * tests/test-copy-file.sh: Skip the ACL comparisons if USE_ACL is 0.
25664         Reported by Jim Meyering.
25665
25666 2009-01-13  Bruno Haible  <bruno@clisp.org>
25667
25668         * modules/unistdio/u-printf-args (Files): Add m4/stdint_h.m4 and
25669         m4/inttypes_h.m4, needed by m4/intmax_t.m4.
25670         * modules/unistdio/u8-printf-parse (Files): Likewise.
25671         * modules/unistdio/u32-printf-parse (Files): Likewise.
25672         * modules/unistdio/ulc-printf-parse (Files): Likewise.
25673
25674 2009-01-13  Simon Josefsson  <simon@josefsson.org>
25675
25676         * modules/unistdio/u16-printf-parse (Files): Add m4/stdint_h.m4
25677         and m4/inttypes_h.m4 too.
25678
25679 2009-01-12  Eric Blake  <ebb9@byu.net>
25680
25681         tests: IRIX 6.2 cc can't compile -0.0 into .data
25682         * tests/test-ceill.c (minus_zero): Compute -0.0L at runtime,
25683         rather than at compile-time.
25684         * tests/test-floorl.c (minus_zero): Likewise.
25685         * tests/test-frexpl.c (minus_zero): Likewise.
25686         * tests/test-isnan.c (minus_zerol): Likewise.
25687         * tests/test-isnanl.h (minus_zero): Likewise.
25688         * tests/test-ldexpl.c (minus_zero): Likewise.
25689         * tests/test-roundl.c (minus_zero): Likewise.
25690         * tests/test-signbit.c (minus_zerol): Likewise.
25691         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
25692         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
25693         * tests/test-truncl.c (minus_zero): Likewise.
25694         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
25695         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
25696         Reported by Tom G. Christensen and Nelson H. F. Beebe.
25697
25698 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
25699
25700         regex: fix glibc bug 9697
25701         * lib/regcomp.c (re_compile_fastmap_iter): Rewrite COMPLEX_BRACKET
25702         handling.
25703
25704 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
25705
25706         regex: fix glibc bug 697
25707         * lib/regexec.c (prune_impossible_nodes): Handle sifted_states[0]
25708         being NULL also if there are no backreferences.
25709
25710 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
25711
25712         regex: merge glibc changes
25713         * lib/regcomp.c (re_compile_fastmap_iter): Use __mbrtowc.
25714         * lib/regex_internal.c (build_wcs_buffer, build_wcs_upper_buffer,
25715         re_string_skip_chars, re_string_reconstruct): Likewise.
25716         * lib/regex_internal.h [!_LIBC] (__mbrtowc): New #define.
25717
25718 2009-01-07  Jim Meyering  <meyering@redhat.com>
25719
25720         poll: filter through cppi
25721         * lib/poll.c: Indent cpp directives to reflect nesting.
25722
25723 2009-01-07  Daniel P. Berrange  <berrange@redhat.com>
25724
25725         poll: don't return uninitialized
25726         * lib/poll.c (poll) [WIN32_NATIVE]: Initialize "rc".
25727
25728 2009-01-06  Jeremy Olexa <darkside@gentoo.org>  (tiny change)
25729
25730         avoid compile failure on AIX 6.1
25731         * lib/getloadavg.c [HAVE_LIBPERFSTAT]: Include <sys/protosw.h>.
25732         Details in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/15465
25733
25734 2009-01-04  Jim Meyering  <meyering@redhat.com>
25735
25736         remove duplicate inclusion of <stdio.h>
25737         * tests/test-fprintf-posix.c: Likewise.
25738         * tests/test-printf-posix.c: Likewise.
25739         * tests/test-snprintf-posix.c: Likewise.
25740         * tests/test-sprintf-posix.c: Likewise.
25741         * tests/test-vasprintf-posix.c: Likewise.
25742         * tests/test-vfprintf-posix.c: Likewise.
25743         * tests/test-vprintf-posix.c: Likewise.
25744         * tests/test-vsnprintf-posix.c: Likewise.
25745         * tests/test-vsprintf-posix.c: Likewise.
25746
25747 2009-01-03  Jim Meyering  <meyering@redhat.com>
25748
25749         gnulib-tool: fix sed-based filtering
25750         * gnulib-tool (func_filter_filelist): Remove extra backslash
25751         in sed_fff_filter definition.
25752
25753 2009-01-02  Jim Meyering  <meyering@redhat.com>
25754
25755         strftime: avoid compilation failure on Solaris 2.6
25756         * modules/strftime (Depends-on): Add mbrlen and mbsinit.
25757         * lib/strftime.c [DO_MULTIBYTE]: Include <wchar.h> unconditionally.
25758         Don't #define mbrlen or mbsinit, since now they're guaranteed to
25759         be available.  Reported by Tom G. Christensen.  Details in
25760         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16180>.
25761
25762 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
25763             Bruno Haible  <bruno@clisp.org>
25764
25765         Speed up gnulib-tool by doing more string processing through shell
25766         built-ins.
25767         * gnulib-tool (fast_func_append): New variable.
25768         (func_remove_prefix, func_remove_suffix): New functions.
25769         (fast_func_remove_prefix, fast_func_remove_suffix): New variables.
25770         (func_filter_filelist): New function.
25771         (func_get_dependencies): Use func_remove_suffix instead of sed.
25772         (func_get_automake_snippet): Use func_filter_filelist instead of a
25773         subshell and sed invocation.
25774
25775 2009-01-01  Bruno Haible  <bruno@clisp.org>
25776
25777         Fix a security bug.
25778         * gnulib-tool (func_import, import, update): Don't allow the characters
25779         '"', '$', '`', '\' in macro arguments that become part of commands that
25780         are evaluated.
25781
25782 2009-01-01  Bruno Haible  <bruno@clisp.org>
25783
25784         * gnulib-tool (func_reset_sigpipe): Add more comments.
25785
25786 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
25787
25788         * gnulib-tool (func_modules_add_dummy, func_emit_lib_Makefile_am,
25789         func_emit_tests_Makefile_am, func_import): Abort loops early if we
25790         already know the answer.
25791
25792 2009-01-01  Jim Meyering  <meyering@redhat.com>
25793
25794         * lib/version-etc.c (version_etc_va): Update copyright year.
25795
25796 2008-12-30  Bruno Haible  <bruno@clisp.org>
25797
25798         * m4/lib-prefix.m4 (AC_LIB_LINKFLAGS_BODY): Don't overwrite
25799         LIB${NAME}_PREFIX when considering the dependencies of lib${name}.
25800         Reported by Charles Wilson <cygwin@cwilson.fastmail.fm>.
25801
25802 2008-12-29  Eric Blake  <ebb9@byu.net>
25803
25804         multiarch: avoid autoconf AC_REQUIRE bug
25805         * m4/multiarch.m4 (gl_MULTIARCH): Split body...
25806         (gl_MULTIARCH_BODY): ...into new macro, to work around bug in Autoconf
25807         2.63 and older.
25808         Reported by Bruno Haible, and analyzed in
25809         http://lists.gnu.org/archive/html/bug-autoconf/2008-12/msg00039.html
25810
25811 2008-12-29  Bruno Haible  <bruno@clisp.org>
25812
25813         * gnulib-tool (func_import): When generating sed-ignore-removed, handle
25814         files in subdirectories correctly.
25815         Reported by Ralf Wildenhues.
25816
25817 2008-12-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
25818
25819         * gnulib-tool (func_update_ignorelist): Use 'join - FILE'
25820         rather than 'join FILE -', for Solaris join.
25821
25822 2008-12-29  Bruno Haible  <bruno@clisp.org>
25823
25824         * m4/codeset.m4 (AM_LANGINFO_CODESET): More systematic m4 argument
25825         quoting.
25826         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
25827         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
25828         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
25829         * m4/iconv.m4 (AM_ICONV_LINK, AM_ICONV): Likewise.
25830         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
25831         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
25832         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
25833         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
25834         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
25835         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
25836         * m4/nls.m4 (AM_NLS): Likewise.
25837         * m4/po.m4 (AM_PO_SUBDIRS): Likewise.
25838         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
25839         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
25840         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
25841         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
25842         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
25843         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Likewise.
25844         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
25845         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
25846         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
25847         * m4/xsize.m4 (gl_XSIZE): Likewise.
25848         Suggested by Jim Meyering.
25849
25850 2008-11-17  Bruce Korb  <bkorb@gnu.org>
25851
25852         * lib/parse-duration.h: non-iso form accepts years, months weeks, too
25853         * lib/parse-duration.c: use a switch instead of cascading if's.
25854
25855 2008-12-29  Eric Blake  <ebb9@byu.net>
25856
25857         wchar.h: supply WEOF on Irix 5.3
25858         * lib/wchar.in.h (wint_t): Also supply WEOF.
25859         * lib/wctype.in.h (wint_t): Likewise.
25860         * doc/posix-headers/wchar.texi (wchar.h): Document the bug.
25861         * doc/posix-headers/wctype.texi (wctype.h): Likewise.
25862         Reported by Tom G. Christensen.
25863
25864 2008-12-26  Bruno Haible  <bruno@clisp.org>
25865
25866         * m4/multiarch.m4 (gl_MULTIARCH): Recognize also the architecture names
25867         i486, i586, i686.
25868
25869 2008-12-26  Bruno Haible  <bruno@clisp.org>
25870
25871         * lib/stdlib.in.h (struct random_data): Fix indentation of comments.
25872
25873 2008-12-26  Bruno Haible  <bruno@clisp.org>
25874
25875         * lib/stdint.in.h: Move the include of <wchar.h> down until after all
25876         the types are defined. Also conditionalize it on __STDC_LIMIT_MACROS,
25877         not __STDC_CONSTANT_MACROS.
25878         Reported by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
25879
25880 2008-12-25  Bruno Haible  <bruno@clisp.org>
25881
25882         Add support for universal builds to vasnprintf.
25883         * m4/printf.m4 (gl_PRINTF_ENOMEM): Require gl_MULTIARCH. In Apple
25884         universal builds, guess no.
25885         * modules/vasnprintf-posix (Depends-on): Add multiarch.
25886         * modules/vasprintf-posix (Depends-on): Likewise.
25887         * modules/fprintf-posix (Depends-on): Likewise.
25888         * modules/vfprintf-posix (Depends-on): Likewise.
25889         * modules/snprintf-posix (Depends-on): Likewise.
25890         * modules/vsnprintf-posix (Depends-on): Likewise.
25891         * modules/sprintf-posix (Depends-on): Likewise.
25892         * modules/vsprintf-posix (Depends-on): Likewise.
25893         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
25894         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
25895         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
25896         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
25897         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
25898         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
25899         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
25900
25901         Add support for universal builds to <inttypes.h>.
25902         * lib/inttypes.in.h (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX,
25903         _SCNu64_PREFIX): In Apple
25904         universal builds, define directly, using _LP64.
25905         * m4/inttypes.m4 (gl_INTTYPES_H): In Apple universal builds, set
25906         INT64_MAX_EQ_LONG_MAX and UINT64_MAX_EQ_ULONG_MAX to -1.
25907         * modules/inttypes (Depends-on): Add multiarch.
25908         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
25909
25910         Add support for universal builds to <stdint.h>.
25911         * lib/stdint.in.h (PDFDIFF_MIN, PTRDIFF_MAX, SIZE_MAX): In Apple
25912         universal builds, define directly, using _LP64.
25913         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Require gl_MULTIARCH. In
25914         Apple universal builds, don't test for the size and suffix of ptrdiff_t
25915         and size_t.
25916         * modules/stdint (Depends-on): Add multiarch.
25917         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
25918
25919         New module 'multiarch'.
25920         * modules/multiarch: New file.
25921         * m4/multiarch.m4: New file.
25922
25923 2008-12-25  Bruno Haible  <bruno@clisp.org>
25924
25925         * gnulib-tool (func_create_testdir): Avoid failure of mv command.
25926
25927 2008-12-25  Bruno Haible  <bruno@clisp.org>
25928
25929         * modules/btowc (License): Relicense under LGPLv2+.
25930         * modules/mbsinit (License): Likewise.
25931         * modules/mbrtowc (License): Likewise.
25932         * modules/wcrtomb (License): Likewise.
25933         * modules/streq (License): Likewise.
25934         Reported by David Lutterkort <lutter@redhat.com>.
25935
25936 2008-12-23  Bruno Haible  <bruno@clisp.org>
25937
25938         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Fix conditional and comment.
25939
25940 2008-12-23  Bruno Haible  <bruno@clisp.org>
25941
25942         Module getaddrinfo requires linking with $(GETADDRINFO_LIB).
25943         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Put link options into
25944         GETADDRINFO_LIB, not in LIBS.
25945         * modules/getaddrinfo (Link): Set to $(GETADDRINFO_LIB).
25946         * modules/canon-host (Link): Likewise.
25947         * NEWS: Mention the change.
25948         * modules/getaddrinfo-tests (test_getaddrinfo_LDADD): Add the
25949         GETADDRINFO_LIB.
25950
25951 2008-12-22  Bruno Haible  <bruno@clisp.org>
25952
25953         * doc/posix-functions/iswalnum_l.texi: Mention limitation of wchar_t.
25954         * doc/posix-functions/iswalpha_l.texi: Likewise.
25955         * doc/posix-functions/iswblank_l.texi: Likewise.
25956         * doc/posix-functions/iswcntrl_l.texi: Likewise.
25957         * doc/posix-functions/iswctype_l.texi: Likewise.
25958         * doc/posix-functions/iswdigit_l.texi: Likewise.
25959         * doc/posix-functions/iswgraph_l.texi: Likewise.
25960         * doc/posix-functions/iswlower_l.texi: Likewise.
25961         * doc/posix-functions/iswprint_l.texi: Likewise.
25962         * doc/posix-functions/iswpunct_l.texi: Likewise.
25963         * doc/posix-functions/iswspace_l.texi: Likewise.
25964         * doc/posix-functions/iswupper_l.texi: Likewise.
25965         * doc/posix-functions/iswxdigit_l.texi: Likewise.
25966         * doc/posix-functions/mbsnrtowcs.texi: Likewise.
25967         * doc/posix-functions/open_wmemstream.texi: Likewise.
25968         * doc/posix-functions/swscanf.texi: Likewise.
25969         * doc/posix-functions/towctrans_l.texi: Likewise.
25970         * doc/posix-functions/towlower.texi: Likewise.
25971         * doc/posix-functions/towlower_l.texi: Likewise.
25972         * doc/posix-functions/towupper.texi: Likewise.
25973         * doc/posix-functions/towupper_l.texi: Likewise.
25974         * doc/posix-functions/vfwprintf.texi: Likewise.
25975         * doc/posix-functions/vfwscanf.texi: Likewise.
25976         * doc/posix-functions/vswscanf.texi: Likewise.
25977         * doc/posix-functions/vwprintf.texi: Likewise.
25978         * doc/posix-functions/vwscanf.texi: Likewise.
25979         * doc/posix-functions/wcpcpy.texi: Likewise.
25980         * doc/posix-functions/wcpncpy.texi: Likewise.
25981         * doc/posix-functions/wcscasecmp.texi: Likewise.
25982         * doc/posix-functions/wcscasecmp_l.texi: Likewise.
25983         * doc/posix-functions/wcscoll_l.texi: Likewise.
25984         * doc/posix-functions/wcsdup.texi: Likewise.
25985         * doc/posix-functions/wcsncasecmp.texi: Likewise.
25986         * doc/posix-functions/wcsncasecmp_l.texi: Likewise.
25987         * doc/posix-functions/wcsnlen.texi: Likewise.
25988         * doc/posix-functions/wcsnrtombs.texi: Likewise.
25989         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
25990         * doc/posix-functions/wctrans_l.texi: Likewise.
25991         * doc/posix-functions/wctype_l.texi: Likewise.
25992         * doc/glibc-functions/fgetwc_unlocked.texi: Likewise.
25993         * doc/glibc-functions/fgetws_unlocked.texi: Likewise.
25994         * doc/glibc-functions/fputwc_unlocked.texi: Likewise.
25995         * doc/glibc-functions/fputws_unlocked.texi: Likewise.
25996         * doc/glibc-functions/getwc_unlocked.texi: Likewise.
25997         * doc/glibc-functions/getwchar_unlocked.texi: Likewise.
25998         * doc/glibc-functions/putwc_unlocked.texi: Likewise.
25999         * doc/glibc-functions/putwchar_unlocked.texi: Likewise.
26000         * doc/glibc-functions/wcschrnul.texi: Likewise.
26001         * doc/glibc-functions/wcsftime_l.texi: Likewise.
26002         * doc/glibc-functions/wcstod_l.texi: Likewise.
26003         * doc/glibc-functions/wcstof_l.texi: Likewise.
26004         * doc/glibc-functions/wcstol_l.texi: Likewise.
26005         * doc/glibc-functions/wcstold_l.texi: Likewise.
26006         * doc/glibc-functions/wcstoll_l.texi: Likewise.
26007         * doc/glibc-functions/wcstoq.texi: Likewise.
26008         * doc/glibc-functions/wcstoul_l.texi: Likewise.
26009         * doc/glibc-functions/wcstoull_l.texi: Likewise.
26010         * doc/glibc-functions/wcstouq.texi: Likewise.
26011         * doc/glibc-functions/wmempcpy.texi: Likewise.
26012
26013 2008-12-22  Ingo Weinhold  <ingo_weinhold@gmx.de>  (tiny change)
26014             Eric Blake  <ebb9@byu.net>
26015             Paolo Bonzini  <bonzini@gnu.org>
26016             Bruno Haible  <bruno@clisp.org>
26017
26018         Make c-stack work on Haiku.
26019         * lib/c-stack.c (SA_ONSTACK): Define fallback.
26020         (c_stack_action): Use SA_ONSTACK flag.
26021
26022 2008-12-22  Bruno Haible  <bruno@clisp.org>
26023
26024         * m4/locale-fr.m4 (gt_LOCALE_FR_UTF8): Treat Haiku like BeOS.
26025
26026 2008-12-22  Bruno Haible  <bruno@clisp.org>
26027
26028         Work around mbrlen() bugs on AIX, HP-UX, OSF/1, Solaris.
26029         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Set REPLACE_MBRLEN if mbrtowc is
26030         being overridden.
26031         (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL, gl_MBRLEN_NUL_RETVAL):
26032         New macros.
26033         * lib/wchar.in.h (mbrlen): Override if REPLACE_MBRLEN is set.
26034         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBRLEN.
26035         * modules/wchar (Makefile.am): Substitute REPLACE_MBRLEN.
26036         * doc/posix-functions/mbrlen.texi: Mention the various platform bugs.
26037
26038 2008-12-22  Bruno Haible  <bruno@clisp.org>
26039
26040         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Remove unused variable
26041         from test code.
26042
26043 2008-12-22  Eric Blake  <ebb9@byu.net>
26044
26045         Avoid gcc warnings on cygwin.
26046         * lib/regex_internal.c (re_string_reconstruct) [!RE_ENABLE_I18N]:
26047         Avoid unused variable.
26048         * lib/regexec.c (check_arrival_add_next_nodes) [!RE_ENABLE_I18N]:
26049         Likewise.
26050
26051 2008-12-22  Bruno Haible  <bruno@clisp.org>
26052
26053         Remove HAVE_MBRTOWC conditionals.
26054         * lib/mbscasecmp.c: Include mbuiter.h unconditionally.
26055         (mbscasecmp): Assume mbrtowc function.
26056         * lib/mbscasestr.c: Include mbuiter.h unconditionally.
26057         (knuth_morris_pratt_multibyte, mbscasestr): Assume mbrtowc function.
26058         * lib/mbschr.c: Include mbuiter.h unconditionally.
26059         (mbschr): Assume mbrtowc function.
26060         * lib/mbscspn.c: Include mbuiter.h unconditionally.
26061         (mbscspn): Assume mbrtowc function.
26062         * lib/mbslen.c: Include mbuiter.h unconditionally.
26063         (mbslen): Assume mbrtowc function.
26064         * lib/mbsncasecmp.c: Include mbuiter.h unconditionally.
26065         (mbsncasecmp): Assume mbrtowc function.
26066         * lib/mbsnlen.c: Include mbiter.h unconditionally.
26067         (mbsnlen): Assume mbrtowc function.
26068         * lib/mbspbrk.c: Include mbuiter.h unconditionally.
26069         (mbspbrk): Assume mbrtowc function.
26070         * lib/mbspcasecmp.c: Include mbuiter.h unconditionally.
26071         (mbspcasecmp): Assume mbrtowc function.
26072         * lib/mbsrchr.c: Include mbuiter.h unconditionally.
26073         (mbsrchr): Assume mbrtowc function.
26074         * lib/mbssep.c: Include mbuiter.h unconditionally.
26075         (mbssep): Assume mbrtowc function.
26076         * lib/mbsspn.c: Include mbuiter.h unconditionally.
26077         (mbsspn): Assume mbrtowc function.
26078         * lib/mbsstr.c: Include mbuiter.h unconditionally.
26079         (knuth_morris_pratt_multibyte, mbsstr): Assume mbrtowc function.
26080         * lib/mbstok_r.c: Include mbuiter.h unconditionally.
26081         (mbstok_r): Assume mbrtowc function.
26082         * lib/propername.c: Include mbuiter.h unconditionally.
26083         (mbsstr_trimmed_wordbounded): Assume mbrtowc function.
26084         * lib/trim.c: Include mbchar.h, mbiter.h uncondtionally.
26085         (trim2): Assume mbrtowc function.
26086         * lib/mbswidth.c (mbsinit): Remove fallback definition.
26087         (mbsnwidth): Assume mbrtowc function.
26088         * modules/mbswidth (Depends-on): Add mbrtowc, mbsinit.
26089         * lib/quotearg.c (MB_CUR_MAX, mbstate_t, mbrtowc, iswprint): Remove
26090         fallback definitions.
26091         * modules/quotearg (Depends-on): Add mbrtowc, mbsinit.
26092
26093 2008-12-22  Bruno Haible  <bruno@clisp.org>
26094
26095         * doc/posix-functions/mbtowc.texi: Mention a glibc bug.
26096
26097 2008-12-22  Paolo Bonzini  <bonzini@gnu.org>
26098
26099         * modules/regex: Request emulations for the mb*/wc* functions we need.
26100         * m4/regex.m4: Don't look for those functions here.
26101         * lib/regex_internal.h: Do not check HAVE_WCRTOMB and HAVE_MBRTOWC.
26102
26103 2008-12-22  Bruno Haible  <bruno@clisp.org>
26104
26105         * modules/fnmatch (Depends-on): Remove duplicated dependency.
26106
26107 2008-12-21  Bruno Haible  <bruno@clisp.org>
26108
26109         Make mbiter.h, mbuiter.h, mbfile.h usable unconditionally.
26110         * modules/mbiter (Depends-on): Add mbrtowc, mbsinit.
26111         (Include): Remove conditionalization.
26112         * modules/mbuiter (Depends-on): Add mbrtowc, mbsinit.
26113         (Include): Remove conditionalization.
26114         * modules/mbfile (Depends-on): Add mbrtowc, mbsinit.
26115         (Include): Remove conditionalization.
26116         * m4/mbiter.m4 (gl_MBITER): Deprecate the use of AC_FUNC_MBRTOWC.
26117         * m4/mbfile.m4 (gl_MBFILE): Likewise.
26118         * NEWS: Mention the change.
26119         Reported by Alan Hourihane <alanh@fairlite.co.uk>
26120         via Sergey Poznyakoff <gray@gnu.org.ua>.
26121
26122 2008-12-21  Bruno Haible  <bruno@clisp.org>
26123
26124         * MODULES.html.sh (Extended multibyte and wide character utilities
26125         <wchar.h>): Add btowc, wctob, mbsinit, mbrlen, mbrtowc, mbsrtowcs,
26126         wcrtomb, wcsrtombs.
26127         (Support for systems lacking POSIX:2008): Add accept, bind, close,
26128         connect, fclose, getpeername, getsockname, getsockopt, hostent, listen,
26129         mbsnrtowcs, posix_spawn*, recv, recvfrom, sched, select, send, sendto,
26130         setsockopt, shutdown, socket, spawn, sys_wait, wcsnrtombs, write.
26131
26132 2008-12-21  Bruno Haible  <bruno@clisp.org>
26133
26134         * MODULES.html.sh: Change section titles to refer to POSIX:2008.
26135
26136 2008-12-21  Bruno Haible  <bruno@clisp.org>
26137
26138         * modules/wcsnrtombs-tests: New file.
26139         * tests/test-wcsnrtombs1.sh: New file.
26140         * tests/test-wcsnrtombs2.sh: New file.
26141         * tests/test-wcsnrtombs3.sh: New file.
26142         * tests/test-wcsnrtombs4.sh: New file.
26143         * tests/test-wcsnrtombs.c: New file.
26144
26145         New module 'wcsnrtombs'.
26146         * lib/wchar.in.h (wcsnrtombs): New declaration.
26147         * lib/wcsnrtombs.c: New file.
26148         * lib/wcsrtombs-state.c: New file.
26149         * lib/wcsrtombs.c: Refer to _gl_wcsrtombs_state.
26150         (internal_state): Remove variable.
26151         * m4/wcsnrtombs.m4: New file.
26152         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Add wcsrtombs-state.c to the
26153         compilation units.
26154         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNRTOMBS,
26155         HAVE_WCSNRTOMBS.
26156         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNRTOMBS,
26157         HAVE_WCSNRTOMBS.
26158         * modules/wcsnrtombs: New file.
26159         * modules/wcsrtombs (Files): Add lib/wcsrtombs-state.c.
26160         * doc/posix-functions/wcsnrtombs.texi: Mention the new module.
26161
26162 2008-12-21  Bruno Haible  <bruno@clisp.org>
26163
26164         * modules/wcsrtombs-tests: New file.
26165         * tests/test-wcsrtombs1.sh: New file.
26166         * tests/test-wcsrtombs2.sh: New file.
26167         * tests/test-wcsrtombs3.sh: New file.
26168         * tests/test-wcsrtombs4.sh: New file.
26169         * tests/test-wcsrtombs.c: New file.
26170
26171         New module 'wcsrtombs'.
26172         * lib/wchar.in.h (wcsrtombs): New declaration.
26173         * lib/wcsrtombs.c: New file.
26174         * m4/wcsrtombs.m4: New file.
26175         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRTOMBS,
26176         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
26177         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRTOMBS,
26178         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
26179         * modules/wcsrtombs: New file.
26180         * doc/posix-functions/wcsrtombs.texi: Mention the new module and the
26181         bugs.
26182
26183 2008-12-21  Bruno Haible  <bruno@clisp.org>
26184
26185         Work around a wcrtomb() bug on Solaris 10 and OSF/1 5.1.
26186         * lib/wchar.in.h (wcrtomb): Override if REPLACE_WCRTOMB is set.
26187         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Test the return value of wcrtomb
26188         with NULL destination argument in various locales. Set REPLACE_WCRTOMB
26189         if not correct.
26190         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCRTOMB.
26191         * modules/wchar (Makefile.am): Substitute REPLACE_WCRTOMB.
26192         * modules/wcrtomb (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
26193         m4/locale-zh.m4, m4/codeset.m4.
26194         * doc/posix-functions/wcrtomb.texi: Document the bug.
26195
26196 2008-12-21  Bruno Haible  <bruno@clisp.org>
26197
26198         Work around a btowc() bug on IRIX 6.5.
26199         * lib/wchar.in.h (btowc): Override if REPLACE_BTOWC is set.
26200         * m4/btowc.m4 (gl_FUNC_BTOWC): Test whether btowc(EOF) is correct. Set
26201         REPLACE_WTOBC if not.
26202         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_BTOWC.
26203         * modules/wchar (Makefile.am): Substitute REPLACE_BTOWC.
26204         * doc/posix-functions/btowc.texi: Mention the IRIX bug.
26205
26206 2008-12-21  Bruno Haible  <bruno@clisp.org>
26207
26208         * modules/wcrtomb-tests: New file.
26209         * tests/test-wcrtomb.sh: New file.
26210         * tests/test-wcrtomb.c: New file.
26211
26212         New module 'wcrtomb'.
26213         * lib/wchar.in.h (wcrtomb): New declaration.
26214         * lib/wcrtomb.c: New file.
26215         * m4/wcrtomb.m4: New file.
26216         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCRTOMB,
26217         HAVE_WCRTOMB.
26218         * modules/wchar (Makefile.am): Substitute GNULIB_WCRTOMB,
26219         HAVE_WCRTOMB.
26220         * modules/wcrtomb: New file.
26221         * doc/posix-functions/wcrtomb.texi: Mention the new module.
26222
26223 2008-12-21  Bruno Haible  <bruno@clisp.org>
26224
26225         * modules/mbrtowc (Files): Add m4/codeset.m4, needed by m4/locale-fr.m4.
26226         * modules/mbsrtowcs (Files): Likewise.
26227         * modules/wctob (Files): Likewise.
26228         * modules/c-strcase-tests (Files): Likewise.
26229         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
26230         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
26231         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
26232         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
26233         * modules/vasnprintf-posix-tests (Files): Likewise.
26234
26235 2008-12-21  William Pursell  <bill.pursell@gmail.com>
26236
26237         gitlog-to-changelog: pass all command-line arguments to git-log
26238         * build-aux/gitlog-to-changelog: When producing a ChangeLog,
26239         it is sometimes convenient to filter the commits in various ways.
26240         gitlog-to-changelog only allows --since to specify a start date,
26241         but git-log itself supports many other filtering mechanisms.
26242         At the moment, I want to filter by branch name.  Rather than
26243         adding a --branch option to gitlog-to-changelog, it seems more
26244         flexible to simply pass all options directly to git-log and let
26245         git do the work.  Notice that this effectively makes --since a
26246         redundant option for gitlog-to-changelog, but removing it would
26247         require current usage to change since calls would then require
26248         an additional '--'.
26249
26250 2008-12-21  Bruno Haible  <bruno@clisp.org>
26251
26252         * modules/mbsnrtowcs-tests: New file.
26253         * tests/test-mbsnrtowcs1.sh: New file.
26254         * tests/test-mbsnrtowcs2.sh: New file.
26255         * tests/test-mbsnrtowcs3.sh: New file.
26256         * tests/test-mbsnrtowcs4.sh: New file.
26257         * tests/test-mbsnrtowcs.c: New file.
26258
26259         New module 'mbsnrtowcs'.
26260         * lib/wchar.in.h (mbsnrtowcs): New declaration.
26261         * lib/mbsnrtowcs.c: New file.
26262         * lib/mbsrtowcs-state.c: New file.
26263         * lib/mbsrtowcs.c: Refer to _gl_mbsrtowcs_state.
26264         (internal_state): Remove variable.
26265         * m4/mbsnrtowcs.m4: New file.
26266         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Add mbsrtowcs-state.c to the
26267         compilation units.
26268         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSNRTOWCS,
26269         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
26270         * modules/wchar (Makefile.am): Substitute GNULIB_MBSNRTOWCS,
26271         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
26272         * modules/mbsnrtowcs: New file.
26273         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-state.c.
26274         * doc/posix-functions/mbsnrtowcs.texi: Mention the new module and a
26275         portability problem.
26276
26277 2008-12-21  Bruno Haible  <bruno@clisp.org>
26278
26279         Work around mbsrtowcs bug.
26280         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): New macro.
26281         (gl_FUNC_MBSRTOWCS): Invoke it.
26282         * modules/mbsrtowcs (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
26283         m4/locale-zh.m4.
26284         * doc/posix-functions/mbsrtowcs.texi: Document the bug.
26285
26286 2008-12-21  Bruno Haible  <bruno@clisp.org>
26287
26288         * tests/test-mbsrtowcs.c (main): Execute the loop also for unlimited=1.
26289
26290 2008-12-21  Bruno Haible  <bruno@clisp.org>
26291
26292         Update doc for AIX.
26293         * doc/pastposix-functions/wcswcs.texi: Mention that AIX has only a
26294         16-bit wchar_t type.
26295         * doc/posix-functions/btowc.texi: Likewise.
26296         * doc/posix-functions/fgetwc.texi: Likewise.
26297         * doc/posix-functions/fgetws.texi: Likewise.
26298         * doc/posix-functions/fputwc.texi: Likewise.
26299         * doc/posix-functions/fputws.texi: Likewise.
26300         * doc/posix-functions/fwide.texi: Likewise.
26301         * doc/posix-functions/fwprintf.texi: Likewise.
26302         * doc/posix-functions/fwscanf.texi: Likewise.
26303         * doc/posix-functions/getwchar.texi: Likewise.
26304         * doc/posix-functions/getwc.texi: Likewise.
26305         * doc/posix-functions/iswalnum.texi: Likewise.
26306         * doc/posix-functions/iswalpha.texi: Likewise.
26307         * doc/posix-functions/iswblank.texi: Likewise.
26308         * doc/posix-functions/iswcntrl.texi: Likewise.
26309         * doc/posix-functions/iswctype.texi: Likewise.
26310         * doc/posix-functions/iswdigit.texi: Likewise.
26311         * doc/posix-functions/iswgraph.texi: Likewise.
26312         * doc/posix-functions/iswlower.texi: Likewise.
26313         * doc/posix-functions/iswprint.texi: Likewise.
26314         * doc/posix-functions/iswpunct.texi: Likewise.
26315         * doc/posix-functions/iswspace.texi: Likewise.
26316         * doc/posix-functions/iswupper.texi: Likewise.
26317         * doc/posix-functions/iswxdigit.texi: Likewise.
26318         * doc/posix-functions/mbrtowc.texi: Likewise.
26319         * doc/posix-functions/mbsrtowcs.texi: Likewise.
26320         * doc/posix-functions/mbstowcs.texi: Likewise.
26321         * doc/posix-functions/mbtowc.texi: Likewise.
26322         * doc/posix-functions/putwchar.texi: Likewise.
26323         * doc/posix-functions/putwc.texi: Likewise.
26324         * doc/posix-functions/swprintf.texi: Likewise.
26325         * doc/posix-functions/tolower.texi: Likewise.
26326         * doc/posix-functions/toupper.texi: Likewise.
26327         * doc/posix-functions/towctrans.texi: Likewise.
26328         * doc/posix-functions/ungetwc.texi: Likewise.
26329         * doc/posix-functions/vswprintf.texi: Likewise.
26330         * doc/posix-functions/wcrtomb.texi: Likewise.
26331         * doc/posix-functions/wcscat.texi: Likewise.
26332         * doc/posix-functions/wcschr.texi: Likewise.
26333         * doc/posix-functions/wcscmp.texi: Likewise.
26334         * doc/posix-functions/wcscoll.texi: Likewise.
26335         * doc/posix-functions/wcscpy.texi: Likewise.
26336         * doc/posix-functions/wcscspn.texi: Likewise.
26337         * doc/posix-functions/wcsftime.texi: Likewise.
26338         * doc/posix-functions/wcslen.texi: Likewise.
26339         * doc/posix-functions/wcsncat.texi: Likewise.
26340         * doc/posix-functions/wcsncmp.texi: Likewise.
26341         * doc/posix-functions/wcsncpy.texi: Likewise.
26342         * doc/posix-functions/wcspbrk.texi: Likewise.
26343         * doc/posix-functions/wcsrchr.texi: Likewise.
26344         * doc/posix-functions/wcsrtombs.texi: Likewise.
26345         * doc/posix-functions/wcsspn.texi: Likewise.
26346         * doc/posix-functions/wcsstr.texi: Likewise.
26347         * doc/posix-functions/wcstod.texi: Likewise.
26348         * doc/posix-functions/wcstof.texi: Likewise.
26349         * doc/posix-functions/wcstoimax.texi: Likewise.
26350         * doc/posix-functions/wcstok.texi: Likewise.
26351         * doc/posix-functions/wcstold.texi: Likewise.
26352         * doc/posix-functions/wcstoll.texi: Likewise.
26353         * doc/posix-functions/wcstol.texi: Likewise.
26354         * doc/posix-functions/wcstombs.texi: Likewise.
26355         * doc/posix-functions/wcstoull.texi: Likewise.
26356         * doc/posix-functions/wcstoul.texi: Likewise.
26357         * doc/posix-functions/wcstoumax.texi: Likewise.
26358         * doc/posix-functions/wcswidth.texi: Likewise.
26359         * doc/posix-functions/wcsxfrm.texi: Likewise.
26360         * doc/posix-functions/wctob.texi: Likewise.
26361         * doc/posix-functions/wctomb.texi: Likewise.
26362         * doc/posix-functions/wctrans.texi: Likewise.
26363         * doc/posix-functions/wctype.texi: Likewise.
26364         * doc/posix-functions/wcwidth.texi: Likewise.
26365         * doc/posix-functions/wmemchr.texi: Likewise.
26366         * doc/posix-functions/wmemcmp.texi: Likewise.
26367         * doc/posix-functions/wmemcpy.texi: Likewise.
26368         * doc/posix-functions/wmemmove.texi: Likewise.
26369         * doc/posix-functions/wmemset.texi: Likewise.
26370         * doc/posix-functions/wprintf.texi: Likewise.
26371         * doc/posix-functions/wscanf.texi: Likewise.
26372
26373 2008-12-21  Bruno Haible  <bruno@clisp.org>
26374
26375         Update doc for HP-UX 11.11.
26376         * doc/posix-functions/btowc.texi: Clarify that the function is missing
26377         in HP-UX version 11.00, not in all versions of HP-UX 11.
26378         * doc/posix-functions/fwide.texi: Likewise.
26379         * doc/posix-functions/fwprintf.texi: Likewise.
26380         * doc/posix-functions/fwscanf.texi: Likewise.
26381         * doc/posix-functions/inet_ntop.texi: Likewise.
26382         * doc/posix-functions/inet_pton.texi: Likewise.
26383         * doc/posix-functions/mbrlen.texi: Likewise.
26384         * doc/posix-functions/mbrtowc.texi: Likewise.
26385         * doc/posix-functions/mbsinit.texi: Likewise.
26386         * doc/posix-functions/mbsrtowcs.texi: Likewise.
26387         * doc/posix-functions/swprintf.texi: Likewise.
26388         * doc/posix-functions/swscanf.texi: Likewise.
26389         * doc/posix-functions/towctrans.texi: Likewise.
26390         * doc/posix-functions/vfwprintf.texi: Likewise.
26391         * doc/posix-functions/vswprintf.texi: Likewise.
26392         * doc/posix-functions/vwprintf.texi: Likewise.
26393         * doc/posix-functions/wcrtomb.texi: Likewise.
26394         * doc/posix-functions/wcsrtombs.texi: Likewise.
26395         * doc/posix-functions/wcsstr.texi: Likewise.
26396         * doc/posix-functions/wctob.texi: Likewise.
26397         * doc/posix-functions/wctrans.texi: Likewise.
26398         * doc/posix-functions/wmemchr.texi: Likewise.
26399         * doc/posix-functions/wmemcmp.texi: Likewise.
26400         * doc/posix-functions/wmemcpy.texi: Likewise.
26401         * doc/posix-functions/wmemmove.texi: Likewise.
26402         * doc/posix-functions/wmemset.texi: Likewise.
26403         * doc/posix-functions/wprintf.texi: Likewise.
26404         * doc/posix-functions/wscanf.texi: Likewise.
26405
26406 2008-12-21  Bruno Haible  <bruno@clisp.org>
26407
26408         Work around a portability problem.
26409         * tests/test-mbsrtowcs.c (main): Use a temporary conversion state.
26410         * doc/posix-functions/mbsrtowcs.texi: Document the portability problem.
26411
26412 2008-12-20  Bruno Haible  <bruno@clisp.org>
26413
26414         * lib/wchar.in.h (mbsrtowcs): Redefine if REPLACE_MBSRTOWCS is set.
26415         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Invoke gl_MBSTATE_T_BROKEN. Set
26416         REPLACE_MBSRTOWCS if mbsrtowcs needs to be overridden.
26417         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSRTOWCS.
26418         * modules/wchar (Makefile.am): Substitute REPLACE_MBSRTOWCS.
26419
26420         Work around mbrtowc bugs on AIX, HP-UX, OSF/1, Solaris.
26421         * lib/wchar.in.h (mbstate_t): Redefine also if REPLACE_MBSTATE_T is
26422         set.
26423         (GNULIB_defined_mbstate_t): New macro.
26424         (mbsinit): Redefine if REPLACE_MBSINIT is set.
26425         (mbrtowc): Redefine if REPLACE_MBRTOWC is set.
26426         * lib/mbrtowc.c (rpl_mbrtowc): Add an alternative implementation that
26427         reuses the system's mbrtowc function but works around the bugs.
26428         * m4/mbrtowc.m4 (gl_MBSTATE_T_BROKEN, gl_MBRTOWC_INCOMPLETE_STATE,
26429         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL): New
26430         macros.
26431         (gl_FUNC_MBRTOWC): Invoke them. Set REPLACE_MBRTOWC if mbrtowc needs to
26432         be overridden. Optionally define MBRTOWC_NULL_ARG_BUG,
26433         MBRTOWC_RETVAL_BUG, MBRTOWC_NUL_RETVAL_BUG.
26434         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_MBSTATE_T_BROKEN. Set
26435         REPLACE_MBSINIT if mbsinit needs to be overridden.
26436         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSTATE_T,
26437         REPLACE_MBSINIT, REPLACE_MBRTOWC.
26438         * modules/wchar (Makefile.am): Substitute REPLACE_MBSTATE_T,
26439         REPLACE_MBSINIT, REPLACE_MBRTOWC.
26440         * modules/mbrtowc (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
26441         m4/locale-zh.m4.
26442         (Depends): Add mbsinit.
26443         * modules/mbsinit (Depends): Add mbrtowc.
26444         * doc/posix-functions/mbrtowc.texi: Mention the various bugs.
26445
26446 2008-12-20  Bruno Haible  <bruno@clisp.org>
26447
26448         * tests/test-mbrtowc.c (main): Change sample string in EUC-JP encoding
26449         so that there are no conversion errors on AIX.
26450         * tests/test-mbsrtowcs.c (main): LIkewise.
26451
26452 2008-12-20  Bruno Haible  <bruno@clisp.org>
26453
26454         Work around wctob bug on Solaris <= 9.
26455         * lib/wchar.in.h (wctob): Redefine if REPLACE_WCTOB is set.
26456         * m4/wctob.m4 (gl_FUNC_WCTOB): Test whether wctob works.
26457         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCTOB.
26458         * modules/wchar (Makefile.am): Substitute REPLACE_WCTOB.
26459         * modules/wctob (Files): Add m4/locale-fr.m4.
26460         * doc/posix-functions/wctob.texi: Mention the Solaris bug.
26461
26462 2008-12-20  Bruno Haible  <bruno@clisp.org>
26463
26464         * doc/posix-functions/select.texi: Mention Solaris 2.6 bug with
26465         /dev/null.
26466         * tests/test-select-in.sh: Likewise.
26467         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
26468
26469 2008-12-20  Bruno Haible  <bruno@clisp.org>
26470
26471         Don't pretend that Cygwin has a ja_JP.EUC-JP locale.
26472         * m4/locale-ja.m4 (gt_LOCALE_JA): Add test for MB_CUR_MAX. Needed on
26473         Cygwin 1.5.x.
26474
26475 2008-12-20  Bruno Haible  <bruno@clisp.org>
26476
26477         Ensure mbstate_t is defined on HP-UX 11.11.
26478         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Require
26479         AC_CANONICAL_HOST. On HP-UX, define _XOPEN_SOURCE to 500.
26480         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Require
26481         AC_USE_SYSTEM_EXTENSIONS.
26482         * modules/fnmatch (Depends-on): Add extensions.
26483         * modules/mbrlen (Depends-on): Likewise.
26484         * modules/mbrtowc (Depends-on): Likewise.
26485         * modules/mbsinit (Depends-on): Likewise.
26486         * modules/mbsrtowcs (Depends-on): Likewise.
26487         * modules/mbswidth (Depends-on): Likewise.
26488         * modules/quotearg (Depends-on): Likewise.
26489         * modules/strftime (Depends-on): Likewise.
26490
26491 2008-12-20  Bruno Haible  <bruno@clisp.org>
26492
26493         Ensure wctob is declared on IRIX 6.5.
26494         * lib/wchar.in.h (wctob): Declare also when HAVE_DECL_WCTOB is 0.
26495         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_DECL_WCTOB instead of
26496         HAVE_WCTOB. Also test whether <wchar.h> declares wctob.
26497         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize HAVE_DECL_WCTOB instead
26498         of HAVE_WCTOB.
26499         * modules/wchar (Makefile.am): Substitute HAVE_DECL_WCTOB instead of
26500         HAVE_WCTOB.
26501         * doc/posix-functions/wctob.texi: Mention missing declaration on IRIX.
26502
26503 2008-12-19  Bruno Haible  <bruno@clisp.org>
26504
26505         * modules/mbsrtowcs-tests: New file.
26506         * tests/test-mbsrtowcs1.sh: New file.
26507         * tests/test-mbsrtowcs2.sh: New file.
26508         * tests/test-mbsrtowcs3.sh: New file.
26509         * tests/test-mbsrtowcs4.sh: New file.
26510         * tests/test-mbsrtowcs.c: New file.
26511
26512         New module 'mbsrtowcs'.
26513         * lib/wchar.in.h (mbsrtowcs): New declaration.
26514         * lib/mbsrtowcs.c: New file.
26515         * m4/mbsrtowcs.m4: New file.
26516         * modules/mbsrtowcs: New file.
26517         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSRTOWCS and
26518         HAVE_MBSRTOWCS.
26519         * modules/wchar (Makefile.am): Substitute GNULIB_MBSRTOWCS and
26520         HAVE_MBSRTOWCS.
26521         * doc/posix-functions/mbsrtowcs.texi: Document the new module.
26522
26523 2008-12-19  Bruno Haible  <bruno@clisp.org>
26524
26525         New module 'mbrlen'.
26526         * lib/wchar.in.h (mbrlen): New declaration.
26527         * lib/mbrlen.c: New file.
26528         * m4/mbrlen.m4: New file.
26529         * modules/mbrlen: New file.
26530         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRLEN and
26531         HAVE_MBRLEN.
26532         * modules/wchar (Makefile.am): Substitute GNULIB_MBRLEN and
26533         HAVE_MBRLEN.
26534         * doc/posix-functions/mbrlen.texi: Document the new module.
26535
26536 2008-12-19  Bruno Haible  <bruno@clisp.org>
26537
26538         * lib/mbrtowc.c: Include verify.h. Verify an assumption.
26539         * modules/mbrtowc (Depends-on): Add verify.
26540         Suggested by Paul Eggert.
26541
26542 2008-12-18  Bruno Haible  <bruno@clisp.org>
26543
26544         * modules/mbsinit-tests: New file.
26545         * tests/test-mbsinit.sh: New file.
26546         * tests/test-mbsinit.c: New file.
26547
26548 2008-12-18  Bruno Haible  <bruno@clisp.org>
26549
26550         * modules/mbrtowc-tests: New file.
26551         * tests/test-mbrtowc1.sh: New file.
26552         * tests/test-mbrtowc2.sh: New file.
26553         * tests/test-mbrtowc3.sh: New file.
26554         * tests/test-mbrtowc4.sh: New file.
26555         * tests/test-mbrtowc.c: New file.
26556
26557         New module 'mbrtowc'.
26558         * lib/wchar.in.h (mbstate_t): Override when the system does not have
26559         mbsinit and mbrtowc.
26560         (mbrtowc): New declaration.
26561         * lib/mbrtowc.c: New file.
26562         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC, gl_PREREQ_MBRTOWC): New macros.
26563         * modules/mbrtowc: New file.
26564         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRTOWC and
26565         HAVE_MBRTOWC.
26566         * modules/wchar (Makefile.am): Substitute GNULIB_MBRTOWC and
26567         HAVE_MBRTOWC.
26568         * doc/posix-functions/mbrtowc.texi: Document the new module.
26569
26570 2008-12-18  Bruno Haible  <bruno@clisp.org>
26571
26572         New module 'wctob'.
26573         * lib/wchar.in.h (wctob): New declaration.
26574         * lib/wctob.c: New file.
26575         * m4/wctob.m4: New file.
26576         * modules/wctob: New file.
26577         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCTOB and
26578         HAVE_WCTOB.
26579         * modules/wchar (Makefile.am): Substitute GNULIB_WCTOB and HAVE_WCTOB.
26580         * doc/posix-functions/wctob.texi: Document the new module.
26581
26582 2008-12-18  Bruno Haible  <bruno@clisp.org>
26583
26584         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_REPLACE_WCHAR_H.
26585         * m4/btowc.m4 (gl_FUNC_BTOWC): Likewise.
26586
26587 2008-12-18  Simon Josefsson  <simon@josefsson.org>
26588
26589         * lib/flock.c: Use proper #if symbol in check.  Reported by "Tom
26590         G. Christensen" <tgc@jupiterrise.com>.
26591
26592         * lib/flock.c: Need to include errno.h.  Reported by "Tom
26593         G. Christensen" <tgc@jupiterrise.com>.
26594
26595         * lib/flock.c: Need to include string.h.  Reported by "Tom
26596         G. Christensen" <tgc@jupiterrise.com> and Eric Blake
26597         <ebb9@byu.net>.
26598
26599 2008-12-18  Bruno Haible  <bruno@clisp.org>
26600
26601         * m4/locale-ja.m4: New file, from GNU gettext.
26602
26603 2008-12-17  Bruno Haible  <bruno@clisp.org>
26604
26605         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Don't override in autoconf >= 2.60.
26606         Suggested by Eric Blake.
26607
26608 2008-12-17  Bruno Haible  <bruno@clisp.org>
26609
26610         * m4/errno_h.m4 (AC_COMPUTE_INT): Provide fallback definition.
26611
26612 2008-12-17  Bruno Haible  <bruno@clisp.org>
26613
26614         * lib/mbsinit.c: Include verify.h. Verify an assumption.
26615         * modules/mbsinit (Depends-on): Add verify.
26616         Suggested by Paul Eggert.
26617
26618 2008-12-17  Bruno Haible  <bruno@clisp.org>
26619
26620         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Renamed from gl_FUNC_MBRTOWC.
26621         * m4/mbfile.m4 (gl_MBFILE): Use AC_FUNC_MBRTOWC instead of
26622         gl_FUNC_MBRTOWC.
26623         * m4/mbiter.m4 (gl_MBITER): LIkewise.
26624         * m4/mbscasecmp.m4 (gl_PREREQ_MBSCASECMP): Likewise.
26625         * m4/mbscasestr.m4 (gl_PREREQ_MBSCASESTR): Likewise.
26626         * m4/mbschr.m4 (gl_PREREQ_MBSCHR): Likewise.
26627         * m4/mbscspn.m4 (gl_PREREQ_MBSCSPN): Likewise.
26628         * m4/mbslen.m4 (gl_PREREQ_MBSLEN): Likewise.
26629         * m4/mbsncasecmp.m4 (gl_PREREQ_MBSNCASECMP): Likewise.
26630         * m4/mbsnlen.m4 (gl_PREREQ_MBSNLEN): Likewise.
26631         * m4/mbspbrk.m4 (gl_PREREQ_MBSPBRK): Likewise.
26632         * m4/mbspcasecmp.m4 (gl_PREREQ_MBSPCASECMP): Likewise.
26633         * m4/mbsrchr.m4 (gl_PREREQ_MBSRCHR): Likewise.
26634         * m4/mbssep.m4 (gl_PREREQ_MBSSEP): Likewise.
26635         * m4/mbsspn.m4 (gl_PREREQ_MBSSPN): Likewise.
26636         * m4/mbsstr.m4 (gl_PREREQ_MBSSTR): Likewise.
26637         * m4/mbstok_r.m4 (gl_PREREQ_MBSTOK_R): Likewise.
26638         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
26639         * m4/quotearg.m4 (gl_QUOTEARG): Likewise.
26640         * modules/trim (configure.ac): Likewise.
26641
26642 2008-12-17  Bruno Haible  <bruno@clisp.org>
26643
26644         * modules/btowc-tests: New file.
26645         * tests/test-btowc1.sh: New file.
26646         * tests/test-btowc2.sh: New file.
26647         * tests/test-btowc.c: New file.
26648
26649         New module 'btowc'.
26650         * lib/wchar.in.h (btowc): New declaration.
26651         * lib/btowc.c: New file.
26652         * m4/btowc.m4: New file.
26653         * modules/btowc: New file.
26654         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_BTOWC and
26655         HAVE_BTOWC.
26656         * modules/wchar (Makefile.am): Substitute GNULIB_BTOWC and HAVE_BTOWC.
26657         * doc/posix-functions/btowc.texi: Document the new module.
26658
26659 2008-12-17  Bruno Haible  <bruno@clisp.org>
26660
26661         New module 'mbsinit'.
26662         * lib/wchar.in.h (mbsinit): New declaration.
26663         * lib/mbsinit.c: New file.
26664         * m4/mbsinit.m4: New file.
26665         * modules/mbsinit: New file.
26666         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSINIT and
26667         HAVE_MBSINIT.
26668         * modules/wchar (Makefile.am): Substitute GNULIB_MBSINIT and
26669         HAVE_MBSINIT.
26670         * doc/posix-functions/mbsinit.texi: Document the new module.
26671
26672 2008-12-16  Bruno Haible  <bruno@clisp.org>
26673
26674         * lib/unistd.in.h: Add comment.
26675         * tests/test-environ.c: Don't include <stdlib.h>.
26676
26677 2008-12-16  Bruno Haible  <bruno@clisp.org>
26678
26679         * lib/parse-duration.h (parse_duration): Document return value
26680         convention.
26681         * lib/parse-duration.c: Include specification header first. Add
26682         comments.
26683         (_): Remove macro.
26684         (parse_year_month_day, parse_hour_minute_second): Move side effects
26685         outside of strchr call.
26686         (parse_non_iso8601): Move side effects outside of isspace call.
26687         (parse_duration): Don't test errno is res != BAD_TIME. Remove fprintf
26688         call.
26689
26690 2008-12-16  Bruno Haible  <bruno@clisp.org>
26691
26692         * tests/test-parse-duration.sh: Produce no output when the test
26693         succeeds.
26694
26695 2008-12-16  Bruno Haible  <bruno@clisp.org>
26696
26697         * tests/test-parse-duration.sh: Fix quoting of $tmp and $tmpf
26698         expressions.
26699
26700 2008-12-15  Bruno Haible  <bruno@clisp.org>
26701
26702         * doc/glibc-functions/fgetxattr.texi: Tweak wording.
26703         * doc/glibc-functions/flistxattr.texi: Likewise.
26704         * doc/glibc-functions/fopencookie.texi: Likewise.
26705         * doc/glibc-functions/fremovexattr.texi: Likewise.
26706         * doc/glibc-functions/fsetxattr.texi: Likewise.
26707         * doc/glibc-functions/getxattr.texi: Likewise.
26708         * doc/glibc-functions/lgetxattr.texi: Likewise.
26709         * doc/glibc-functions/listxattr.texi: Likewise.
26710         * doc/glibc-functions/llistxattr.texi: Likewise.
26711         * doc/glibc-functions/lremovexattr.texi: Likewise.
26712         * doc/glibc-functions/lsetxattr.texi: Likewise.
26713         * doc/glibc-functions/removexattr.texi: Likewise.
26714         * doc/glibc-functions/setxattr.texi: Likewise.
26715         * doc/posix-functions/open_memstream.texi: Likewise.
26716
26717 2008-12-15  Eric Blake  <ebb9@byu.net>
26718
26719         Update doc for cygwin 1.7.
26720         * doc/posix-functions/faccessat.texi: Cygwin 1.7 added several new
26721         functions.
26722         * doc/posix-functions/fchmodat.texi: Likewise.
26723         * doc/posix-functions/fchownat.texi: Likewise.
26724         * doc/posix-functions/fdopendir.texi: Likewise.
26725         * doc/posix-functions/fmemopen.texi: Likewise.
26726         * doc/posix-functions/freeaddrinfo.texi: Likewise.
26727         * doc/posix-functions/fstatat.texi: Likewise.
26728         * doc/posix-functions/futimens.texi: Likewise.
26729         * doc/posix-functions/gai_strerror.texi: Likewise.
26730         * doc/posix-functions/getaddrinfo.texi: Likewise.
26731         * doc/posix-functions/getnameinfo.texi: Likewise.
26732         * doc/posix-functions/if_freenameindex.texi: Likewise.
26733         * doc/posix-functions/if_indextoname.texi: Likewise.
26734         * doc/posix-functions/if_nameindex.texi: Likewise.
26735         * doc/posix-functions/if_nametoindex.texi: Likewise.
26736         * doc/posix-functions/insque.texi: Likewise.
26737         * doc/posix-functions/linkat.texi: Likewise.
26738         * doc/posix-functions/llrint.texi: Likewise.
26739         * doc/posix-functions/llrintf.texi: Likewise.
26740         * doc/posix-functions/llrintl.texi: Likewise.
26741         * doc/posix-functions/lockf.texi: Likewise.
26742         * doc/posix-functions/lrintl.texi: Likewise.
26743         * doc/posix-functions/mkdirat.texi: Likewise.
26744         * doc/posix-functions/mkfifoat.texi: Likewise.
26745         * doc/posix-functions/mknodat.texi: Likewise.
26746         * doc/posix-functions/mq_close.texi: Likewise.
26747         * doc/posix-functions/mq_getattr.texi: Likewise.
26748         * doc/posix-functions/mq_notify.texi: Likewise.
26749         * doc/posix-functions/mq_open.texi: Likewise.
26750         * doc/posix-functions/mq_receive.texi: Likewise.
26751         * doc/posix-functions/mq_send.texi: Likewise.
26752         * doc/posix-functions/mq_setattr.texi: Likewise.
26753         * doc/posix-functions/mq_timedreceive.texi: Likewise.
26754         * doc/posix-functions/mq_timedsend.texi: Likewise.
26755         * doc/posix-functions/mq_unlink.texi: Likewise.
26756         * doc/posix-functions/open_memstream.texi: Likewise.
26757         * doc/posix-functions/openat.texi: Likewise.
26758         * doc/posix-functions/posix_fadvise.texi: Likewise.
26759         * doc/posix-functions/posix_fallocate.texi: Likewise.
26760         * doc/posix-functions/posix_madvise.texi: Likewise.
26761         * doc/posix-functions/posix_memalign.texi: Likewise.
26762         * doc/posix-functions/posix_openpt.texi: Likewise.
26763         * doc/posix-functions/readlinkat.texi: Likewise.
26764         * doc/posix-functions/remque.texi: Likewise.
26765         * doc/posix-functions/renameat.texi: Likewise.
26766         * doc/posix-functions/rintl.texi: Likewise.
26767         * doc/posix-functions/sem_unlink.texi: Likewise.
26768         * doc/posix-functions/shm_open.texi: Likewise.
26769         * doc/posix-functions/shm_unlink.texi: Likewise.
26770         * doc/posix-functions/signgam.texi: Likewise.
26771         * doc/posix-functions/sigset.texi: Likewise.
26772         * doc/posix-functions/stpcpy.texi: Likewise.
26773         * doc/posix-functions/stpncpy.texi: Likewise.
26774         * doc/posix-functions/strerror.texi: Likewise.
26775         * doc/posix-functions/strtod.texi: Likewise.
26776         * doc/posix-functions/symlinkat.texi: Likewise.
26777         * doc/posix-functions/unlinkat.texi: Likewise.
26778         * doc/posix-functions/utimensat.texi: Likewise.
26779         * doc/glibc-functions/bindresvport.texi: Likewise.
26780         * doc/glibc-functions/dn_expand.texi: Likewise.
26781         * doc/glibc-functions/exp10.texi: Likewise.
26782         * doc/glibc-functions/exp10f.texi: Likewise.
26783         * doc/glibc-functions/fgetxattr.texi: Likewise.
26784         * doc/glibc-functions/flistxattr.texi: Likewise.
26785         * doc/glibc-functions/fopencookie.texi: Likewise.
26786         * doc/glibc-functions/freeifaddrs.texi: Likewise.
26787         * doc/glibc-functions/fremovexattr.texi: Likewise.
26788         * doc/glibc-functions/fsetxattr.texi: Likewise.
26789         * doc/glibc-functions/getifaddrs.texi: Likewise.
26790         * doc/glibc-functions/getxattr.texi: Likewise.
26791         * doc/glibc-functions/lgetxattr.texi: Likewise.
26792         * doc/glibc-functions/listxattr.texi: Likewise.
26793         * doc/glibc-functions/llistxattr.texi: Likewise.
26794         * doc/glibc-functions/lremovexattr.texi: Likewise.
26795         * doc/glibc-functions/lsetxattr.texi: Likewise.
26796         * doc/glibc-functions/pow10.texi: Likewise.
26797         * doc/glibc-functions/pow10f.texi: Likewise.
26798         * doc/glibc-functions/rcmd_af.texi: Likewise.
26799         * doc/glibc-functions/removexattr.texi: Likewise.
26800         * doc/glibc-functions/res_init.texi: Likewise.
26801         * doc/glibc-functions/res_mkquery.texi: Likewise.
26802         * doc/glibc-functions/res_query.texi: Likewise.
26803         * doc/glibc-functions/res_querydomain.texi: Likewise.
26804         * doc/glibc-functions/res_send.texi: Likewise.
26805         * doc/glibc-functions/rresvport_af.texi: Likewise.
26806         * doc/glibc-functions/setxattr.texi: Likewise.
26807         * doc/glibc-functions/strcasestr.texi: Likewise.
26808
26809 2008-12-15  Bruno Haible  <bruno@clisp.org>
26810
26811         Fix compilation error on OSF/1 4.0.
26812         * lib/sys_select.in.h: When invoked from OSF/1 <sys/types.h> or
26813         <sys/time.h>, simply delegate to the system header.
26814         Reported by Daniel Richard G. <oss@teragram.com>.
26815
26816 2008-12-15  Bruno Haible  <bruno@clisp.org>
26817
26818         * doc/posix-functions/openat.texi: Mention the 'openat' module.
26819         * doc/posix-functions/fchmodat.texi: Likewise.
26820         * doc/posix-functions/fchownat.texi: Likewise.
26821         * doc/posix-functions/fdopendir.texi: Likewise.
26822         * doc/posix-functions/fstatat.texi: Likewise.
26823         * doc/posix-functions/mkdirat.texi: Likewise.
26824         * doc/posix-functions/unlinkat.texi: Likewise.
26825
26826 2008-12-14  Bruno Haible  <bruno@clisp.org>
26827
26828         Update doc for POSIX:2008.
26829         * doc/posix-functions/faccessat.texi: New file.
26830         * doc/posix-functions/fchmodat.texi: New file.
26831         * doc/posix-functions/fchownat.texi: New file.
26832         * doc/posix-functions/fdopendir.texi: New file.
26833         * doc/posix-functions/fstatat.texi: New file.
26834         * doc/posix-functions/futimens.texi: New file.
26835         * doc/posix-functions/linkat.texi: New file.
26836         * doc/posix-functions/mkdirat.texi: New file.
26837         * doc/posix-functions/mkfifoat.texi: New file.
26838         * doc/posix-functions/mknodat.texi: New file.
26839         * doc/posix-functions/open_wmemstream.texi: New file.
26840         * doc/posix-functions/openat.texi: New file.
26841         * doc/posix-functions/psiginfo.texi: New file.
26842         * doc/posix-functions/pthread_mutex_consistent.texi: New file.
26843         * doc/posix-functions/pthread_mutexattr_getrobust.texi: New file.
26844         * doc/posix-functions/pthread_mutexattr_setrobust.texi: New file.
26845         * doc/posix-functions/readlinkat.texi: New file.
26846         * doc/posix-functions/renameat.texi: New file.
26847         * doc/posix-functions/strerror_l.texi: New file.
26848         * doc/posix-functions/symlinkat.texi: New file.
26849         * doc/posix-functions/unlinkat.texi: New file.
26850         * doc/posix-functions/utimensat.texi: New file.
26851         * doc/gnulib.texi (Function Substitutes): Add these subsections.
26852
26853 2008-12-14  Bruno Haible  <bruno@clisp.org>
26854
26855         Update doc for POSIX:2008.
26856         * doc/posix-functions/alphasort.texi: Renamed from
26857         doc/glibc-functions/alphasort.texi.
26858         * doc/posix-functions/dirfd.texi: Renamed from
26859         doc/glibc-functions/dirfd.texi.
26860         * doc/posix-functions/dprintf.texi: Renamed from
26861         doc/glibc-functions/dprintf.texi.
26862         * doc/posix-functions/duplocale.texi: Renamed from
26863         doc/glibc-functions/duplocale.texi.
26864         * doc/posix-functions/fexecve.texi: Renamed from
26865         doc/glibc-functions/fexecve.texi.
26866         * doc/posix-functions/fmemopen.texi: Renamed from
26867         doc/glibc-functions/fmemopen.texi.
26868         * doc/posix-functions/freelocale.texi: Renamed from
26869         doc/glibc-functions/freelocale.texi.
26870         * doc/posix-functions/getdate_err.texi: Renamed from
26871         doc/glibc-functions/getdate_err.texi.
26872         * doc/posix-functions/isalnum_l.texi: Renamed from
26873         doc/glibc-functions/isalnum_l.texi.
26874         * doc/posix-functions/isalpha_l.texi: Renamed from
26875         doc/glibc-functions/isalpha_l.texi.
26876         * doc/posix-functions/isblank_l.texi: Renamed from
26877         doc/glibc-functions/isblank_l.texi.
26878         * doc/posix-functions/iscntrl_l.texi: Renamed from
26879         doc/glibc-functions/iscntrl_l.texi.
26880         * doc/posix-functions/isdigit_l.texi: Renamed from
26881         doc/glibc-functions/isdigit_l.texi.
26882         * doc/posix-functions/isgraph_l.texi: Renamed from
26883         doc/glibc-functions/isgraph_l.texi.
26884         * doc/posix-functions/islower_l.texi: Renamed from
26885         doc/glibc-functions/islower_l.texi.
26886         * doc/posix-functions/isprint_l.texi: Renamed from
26887         doc/glibc-functions/isprint_l.texi.
26888         * doc/posix-functions/ispunct_l.texi: Renamed from
26889         doc/glibc-functions/ispunct_l.texi.
26890         * doc/posix-functions/isspace_l.texi: Renamed from
26891         doc/glibc-functions/isspace_l.texi.
26892         * doc/posix-functions/isupper_l.texi: Renamed from
26893         doc/glibc-functions/isupper_l.texi.
26894         * doc/posix-functions/iswalnum_l.texi: Renamed from
26895         doc/glibc-functions/iswalnum_l.texi.
26896         * doc/posix-functions/iswalpha_l.texi: Renamed from
26897         doc/glibc-functions/iswalpha_l.texi.
26898         * doc/posix-functions/iswblank_l.texi: Renamed from
26899         doc/glibc-functions/iswblank_l.texi.
26900         * doc/posix-functions/iswcntrl_l.texi: Renamed from
26901         doc/glibc-functions/iswcntrl_l.texi.
26902         * doc/posix-functions/iswctype_l.texi: Renamed from
26903         doc/glibc-functions/iswctype_l.texi.
26904         * doc/posix-functions/iswdigit_l.texi: Renamed from
26905         doc/glibc-functions/iswdigit_l.texi.
26906         * doc/posix-functions/iswgraph_l.texi: Renamed from
26907         doc/glibc-functions/iswgraph_l.texi.
26908         * doc/posix-functions/iswlower_l.texi: Renamed from
26909         doc/glibc-functions/iswlower_l.texi.
26910         * doc/posix-functions/iswprint_l.texi: Renamed from
26911         doc/glibc-functions/iswprint_l.texi.
26912         * doc/posix-functions/iswpunct_l.texi: Renamed from
26913         doc/glibc-functions/iswpunct_l.texi.
26914         * doc/posix-functions/iswspace_l.texi: Renamed from
26915         doc/glibc-functions/iswspace_l.texi.
26916         * doc/posix-functions/iswupper_l.texi: Renamed from
26917         doc/glibc-functions/iswupper_l.texi.
26918         * doc/posix-functions/iswxdigit_l.texi: Renamed from
26919         doc/glibc-functions/iswxdigit_l.texi.
26920         * doc/posix-functions/isxdigit_l.texi: Renamed from
26921         doc/glibc-functions/isxdigit_l.texi.
26922         * doc/posix-functions/mbsnrtowcs.texi: Renamed from
26923         doc/glibc-functions/mbsnrtowcs.texi.
26924         * doc/posix-functions/mkdtemp.texi: Renamed from
26925         doc/glibc-functions/mkdtemp.texi.
26926         * doc/posix-functions/newlocale.texi: Renamed from
26927         doc/glibc-functions/newlocale.texi.
26928         * doc/posix-functions/nl_langinfo_l.texi: Renamed from
26929         doc/glibc-functions/nl_langinfo_l.texi.
26930         * doc/posix-functions/open_memstream.texi: Renamed from
26931         doc/glibc-functions/open_memstream.texi.
26932         * doc/posix-functions/opterr.texi: Renamed from
26933         doc/glibc-functions/opterr.texi.
26934         * doc/posix-functions/optind.texi: Renamed from
26935         doc/glibc-functions/optind.texi.
26936         * doc/posix-functions/optopt.texi: Renamed from
26937         doc/glibc-functions/optopt.texi.
26938         * doc/posix-functions/psignal.texi: Renamed from
26939         doc/glibc-functions/psignal.texi.
26940         * doc/posix-functions/scandir.texi: Renamed from
26941         doc/glibc-functions/scandir.texi.
26942         * doc/posix-functions/sched_get_priority_min.texi: Renamed from
26943         doc/glibc-functions/sched_get_priority_min.texi.
26944         * doc/posix-functions/signgam.texi: Renamed from
26945         doc/glibc-functions/signgam.texi.
26946         * doc/posix-functions/stpcpy.texi: Renamed from
26947         doc/glibc-functions/stpcpy.texi.
26948         * doc/posix-functions/stpncpy.texi: Renamed from
26949         doc/glibc-functions/stpncpy.texi.
26950         * doc/posix-functions/strcasecmp_l.texi: Renamed from
26951         doc/glibc-functions/strcasecmp_l.texi.
26952         * doc/posix-functions/strcoll_l.texi: Renamed from
26953         doc/glibc-functions/strcoll_l.texi.
26954         * doc/posix-functions/strfmon_l.texi: Renamed from
26955         doc/glibc-functions/strfmon_l.texi.
26956         * doc/posix-functions/strftime_l.texi: Renamed from
26957         doc/glibc-functions/strftime_l.texi.
26958         * doc/posix-functions/strncasecmp_l.texi: Renamed from
26959         doc/glibc-functions/strncasecmp_l.texi.
26960         * doc/posix-functions/strndup.texi: Renamed from
26961         doc/glibc-functions/strndup.texi.
26962         * doc/posix-functions/strnlen.texi: Renamed from
26963         doc/glibc-functions/strnlen.texi.
26964         * doc/posix-functions/strsignal.texi: Renamed from
26965         doc/glibc-functions/strsignal.texi.
26966         * doc/posix-functions/strxfrm_l.texi: Renamed from
26967         doc/glibc-functions/strxfrm_l.texi.
26968         * doc/posix-functions/timer_gettime.texi: Renamed from
26969         doc/glibc-functions/timer_gettime.texi.
26970         * doc/posix-functions/tolower_l.texi: Renamed from
26971         doc/glibc-functions/tolower_l.texi.
26972         * doc/posix-functions/toupper_l.texi: Renamed from
26973         doc/glibc-functions/toupper_l.texi.
26974         * doc/posix-functions/towctrans_l.texi: Renamed from
26975         doc/glibc-functions/towctrans_l.texi.
26976         * doc/posix-functions/towlower_l.texi: Renamed from
26977         doc/glibc-functions/towlower_l.texi.
26978         * doc/posix-functions/towupper_l.texi: Renamed from
26979         doc/glibc-functions/towupper_l.texi.
26980         * doc/posix-functions/uselocale.texi: Renamed from
26981         doc/glibc-functions/uselocale.texi.
26982         * doc/posix-functions/vdprintf.texi: Renamed from
26983         doc/glibc-functions/vdprintf.texi.
26984         * doc/posix-functions/wcpcpy.texi:
26985         Renamed from doc/glibc-functions/wcpcpy.texi.
26986         * doc/posix-functions/wcpncpy.texi: Renamed from
26987         doc/glibc-functions/wcpncpy.texi.
26988         * doc/posix-functions/wcscasecmp.texi: Renamed from
26989         doc/glibc-functions/wcscasecmp.texi.
26990         * doc/posix-functions/wcscasecmp_l.texi: Renamed from
26991         doc/glibc-functions/wcscasecmp_l.texi.
26992         * doc/posix-functions/wcscoll_l.texi: Renamed from
26993         doc/glibc-functions/wcscoll_l.texi.
26994         * doc/posix-functions/wcsdup.texi: Renamed from
26995         doc/glibc-functions/wcsdup.texi.
26996         * doc/posix-functions/wcsncasecmp.texi: Renamed from
26997         doc/glibc-functions/wcsncasecmp.texi.
26998         * doc/posix-functions/wcsncasecmp_l.texi: Renamed from
26999         doc/glibc-functions/wcsncasecmp_l.texi.
27000         * doc/posix-functions/wcsnlen.texi: Renamed from
27001         doc/glibc-functions/wcsnlen.texi.
27002         * doc/posix-functions/wcsnrtombs.texi: Renamed from
27003         doc/glibc-functions/wcsnrtombs.texi.
27004         * doc/posix-functions/wcsxfrm_l.texi: Renamed from
27005         doc/glibc-functions/wcsxfrm_l.texi.
27006         * doc/posix-functions/wctrans_l.texi: Renamed from
27007         doc/glibc-functions/wctrans_l.texi.
27008         * doc/posix-functions/wctype_l.texi: Renamed from
27009         doc/glibc-functions/wctype_l.texi.
27010         * doc/gnulib.texi (Function Substitutes): Add these subsections.
27011         (Glibc ctype.h, Glibc dirent.h, Glibc getopt.h, Glibc math.h,
27012         Glibc sched.h, Glibc signal.h, Glibc stdio.h, Glibc stdlib.h,
27013         Glibc string.h, Glibc time.h, Glibc unistd.h, Glibc wchar.h): Remove
27014         these subsections.
27015         (Glibc langinfo.h, Glibc locale.h, Glibc monetary.h, Glibc wctype.h):
27016         Remove sections.
27017
27018 2008-12-14  Bruno Haible  <bruno@clisp.org>
27019
27020         Update doc for POSIX:2008.
27021         * doc/posix-functions/*.texi: Update URL of POSIX specification.
27022
27023 2008-12-14  Bruno Haible  <bruno@clisp.org>
27024
27025         Update doc for POSIX:2008.
27026         * doc/pastposix-functions/bcmp.texi: Renamed from
27027         doc/posix-functions/bcmp.texi.
27028         * doc/pastposix-functions/bcopy.texi: Renamed from
27029         doc/posix-functions/bcopy.texi.
27030         * doc/pastposix-functions/bsd_signal.texi: Renamed from
27031         doc/posix-functions/bsd_signal.texi.
27032         * doc/pastposix-functions/bzero.texi: Renamed from
27033         doc/posix-functions/bzero.texi.
27034         * doc/pastposix-functions/ecvt.texi: Renamed from
27035         doc/posix-functions/ecvt.texi.
27036         * doc/pastposix-functions/fcvt.texi: Renamed from
27037         doc/posix-functions/fcvt.texi.
27038         * doc/pastposix-functions/ftime.texi: Renamed from
27039         doc/posix-functions/ftime.texi.
27040         * doc/pastposix-functions/gcvt.texi: Renamed from
27041         doc/posix-functions/gcvt.texi.
27042         * doc/pastposix-functions/getcontext.texi: Renamed from
27043         doc/posix-functions/getcontext.texi.
27044         * doc/pastposix-functions/gethostbyaddr.texi: Renamed from
27045         doc/posix-functions/gethostbyaddr.texi.
27046         * doc/pastposix-functions/gethostbyname.texi: Renamed from
27047         doc/posix-functions/gethostbyname.texi.
27048         * doc/pastposix-functions/getwd.texi: Renamed from
27049         doc/posix-functions/getwd.texi.
27050         * doc/pastposix-functions/h_errno.texi: Renamed from
27051         doc/posix-functions/h_errno.texi.
27052         * doc/pastposix-functions/index.texi: Renamed from
27053         doc/posix-functions/index.texi.
27054         * doc/pastposix-functions/makecontext.texi: Renamed from
27055         doc/posix-functions/makecontext.texi.
27056         * doc/pastposix-functions/mktemp.texi: Renamed from
27057         doc/posix-functions/mktemp.texi.
27058         * doc/pastposix-functions/pthread_attr_getstackaddr.texi: Renamed from
27059         doc/posix-functions/pthread_attr_getstackaddr.texi.
27060         * doc/pastposix-functions/pthread_attr_setstackaddr.texi: Renamed from
27061         doc/posix-functions/pthread_attr_setstackaddr.texi.
27062         * doc/pastposix-functions/rindex.texi: Renamed from
27063         doc/posix-functions/rindex.texi.
27064         * doc/pastposix-functions/scalb.texi: Renamed from
27065         doc/posix-functions/scalb.texi.
27066         * doc/pastposix-functions/setcontext.texi: Renamed from
27067         doc/posix-functions/setcontext.texi.
27068         * doc/pastposix-functions/swapcontext.texi: Renamed from
27069         doc/posix-functions/swapcontext.texi.
27070         * doc/pastposix-functions/ualarm.texi: Renamed from
27071         doc/posix-functions/ualarm.texi.
27072         * doc/pastposix-functions/usleep.texi: Renamed from
27073         doc/posix-functions/usleep.texi.
27074         * doc/pastposix-functions/vfork.texi: Renamed from
27075         doc/posix-functions/vfork.texi.
27076         * doc/pastposix-functions/wcswcs.texi: Renamed from
27077         doc/posix-functions/wcswcs.texi.
27078         * doc/gnulib.texi (Legacy Function Substitutes): New chapter.
27079         (Function Substitutes): Update.
27080
27081 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
27082
27083         * modules/relocatable-prog-wrapper (Depends-on): Add errno, needed by
27084         m4/strerror.m4.
27085
27086 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
27087             Bruno Haible  <bruno@clisp.org>
27088
27089         * modules/unilbrk/tables (Depends-on): Add unilbrk/base.
27090
27091 2008-12-13  Bruno Haible  <bruno@clisp.org>
27092
27093         * modules/strtoull (Depends-on): Remove unistd.
27094
27095 2008-12-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
27096
27097         * modules/strtoull (Depends-on): Add stdlib.
27098
27099 2008-12-11  Simon Josefsson  <simon@josefsson.org>
27100
27101         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add more warnings.
27102
27103 2008-12-10  Jim Meyering  <meyering@redhat.com>
27104
27105         gl_ASSERT: don't say assertions are disabled when they're not
27106         * m4/assert.m4 (gl_ASSERT): Do not make configure report
27107         "checking whether to enable assertions... no", when they are in
27108         fact enabled.  This is solely a bug in the output of configure.
27109         In spite of saying "no", NDEBUG was not defined in that case.
27110         Also, as noted by Eric Blake, leave assertions enabled upon
27111         --enable-assert=INVALID.
27112
27113 2008-12-10  Bruno Haible  <bruno@clisp.org>
27114
27115         Change MODULES.html to refer to POSIX:2008 where possible.
27116         * MODULES.html.sh (POSIX2008_URL): New variable.
27117         (posix_headers): Remove sys/timeb, ucontext.
27118         (posix2001_headers): New variable.
27119         (posix_functions): Remove bcmp, bcopy, bsd_signal, bzero, ecvt, fcvt,
27120         ftime, gcvt, getcontext, gethostbyaddr, gethostbyname, getwd, h_errno,
27121         index, makecontext, mktemp, pthread_attr_getstackaddr,
27122         pthread_attr_setstackaddr, rindex, scalb, setcontext, swapcontext,
27123         ualarm, usleep, vfork, wcswcs. Add the new POSIX:2008 functions.
27124         (posix2001_functions): New variable.
27125         (func_module): Use URLs to POSIX:2008 where possible and to POSIX:2001
27126         otherwise.
27127
27128 2008-12-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
27129
27130         add missing include to parse-duration.c
27131         * lib/parse-duration.c: #include "xalloc.h", for xstrdup.
27132         * modules/parse-duration (Depends-on): Add xalloc.
27133
27134         fix sed script reading maint.mk
27135         * top/maint.mk (MYSELF): New macro, define as $(srcdir)/$(ME).
27136         (syntax-check-rules): Use it.
27137
27138 2008-12-09  Bruno Haible  <bruno@clisp.org>
27139
27140         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Add another check, that fails on
27141         MacOS X 10.4/PowerPC.
27142         Reported by Simon Josefsson.
27143
27144 2008-12-08  Jim Meyering  <meyering@redhat.com>
27145
27146         work around mingw's lack of some S_IF definitions
27147         * lib/fts.c (S_IFLNK, S_IFSOCK): Define if not already defined.
27148         Reported by Simon Josefsson.
27149
27150 2008-12-08  Bruno Haible  <bruno@clisp.org>
27151
27152         * m4/signbitl.m4 (gl_SIGNBIT_TEST_PROGRAM): Add a link check of signbit
27153         applied to variables. Needed on MacOS X 10.4/PowerPC.
27154         Reported by Simon Josefsson.
27155
27156 2008-12-08  William Pursell  <bill.pursell@gmail.com>  (tiny change)
27157         and Eric Blake  <ebb9@byu.net>
27158
27159         assert: honor --enable-assert
27160         * m4/assert.m4 (gl_ASSERT): Synchronize with autoconf 2.64, in
27161         order to honor --enable-assert, rather than treating it as a
27162         synonym for --disable-assert.
27163
27164 2008-12-08  Jim Meyering  <meyering@redhat.com>
27165
27166         * lib/posixtm.c: Remove now-useless declaration of mktime.
27167
27168         * build-aux/announce-gen (get_tool_versions): Accept .xz tarballs.
27169
27170 2008-12-07  Bruno Haible  <bruno@clisp.org>
27171
27172         * tests/test-lock.c (test_lock, test_rwlock, test_recursive_lock,
27173         test_once): Mark functions as static.
27174         * tests/test-tls.c (test_tls): Likewise.
27175
27176 2008-12-07  Bruno Haible  <bruno@clisp.org>
27177
27178         * lib/striconveha.h (uniconv_register_autodetect): Renamed from
27179         iconv_register_autodetect.
27180
27181 2008-12-07  Jim Meyering  <meyering@redhat.com>
27182
27183         posixtm.c: avoid a warning
27184         * lib/posixtm.c (posixtime): Don't initialize tm0.
27185         It's no longer needed to placate gcc4's -Wuninitialized,
27186         and the attempt to placate would elicit a new warning.
27187
27188         unicodeio.c: mark unused parameters
27189         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
27190         (fallback_failure_callback): Likewise.
27191
27192 2008-12-07  Bruno Haible  <bruno@clisp.org>
27193
27194         * gnulib-tool (func_create_testdir): When building the tests
27195         subdirectory, ignore the modules gnumakefile and maintainer-makefile.
27196         Reported by Simon Josefsson.
27197
27198 2008-12-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
27199
27200         * doc/manywarnings.texi, doc/gnulib-intro.texi: Fix typos.
27201
27202 2008-12-06  Bruno Haible  <bruno@clisp.org>
27203
27204         * lib/c-stack.h (c_stack_action): Clarify possible side effects.
27205         Suggested by Eric Blake.
27206
27207 2008-12-06  Bruno Haible  <bruno@clisp.org>
27208
27209         Fix a c-stack test failure on MacOS X.
27210         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Require
27211         AC_CANONICAL_HOST. Define FAULT_YIELDS_SIGBUS. If set, install a signal
27212         handler for SIGBUS as well.
27213         * lib/c-stack.c (c_stack_action): If FAULT_YIELDS_SIGBUS is set,
27214         install a signal handler for SIGBUS as well.
27215         Reported by Bruce Dugan <bld0401@gmail.com> via Eric Blake.
27216
27217 2008-12-06  Bruno Haible  <bruno@clisp.org>
27218
27219         Advocacy documentation.
27220         * doc/gnulib-intro.texi (Benefits): New section.
27221         * doc/gnulib.texi: Update.
27222
27223 2008-12-06  Bruno Haible  <bruno@clisp.org>
27224
27225         Document the 'manywarnings' module.
27226         * doc/manywarnings.texi: New file.
27227         * doc/gnulib.texi: Include it.
27228
27229 2008-12-05  Eric Blake  <ebb9@byu.net>
27230
27231         tests: silence some gcc warnings
27232         * tests/test-getdate.c (LOG) [!DEBUG]: Mark no-op void.
27233         * tests/uniwidth/test-uc_width2.c (finish_interval): Avoid printf
27234         type mismatches.
27235
27236 2008-12-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
27237             Bruno Haible  <bruno@clisp.org>
27238
27239         * m4/openmp.m4 (AC_OPENMP): Do not define with Autoconf 2.62 or newer.
27240
27241 2008-11-29  Jim Meyering  <meyering@redhat.com>
27242
27243         unicodeio.c: mark unused parameters
27244         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
27245         (fallback_failure_callback): Likewise.
27246
27247         fts: fix a thinko
27248         * lib/fts.c (s_ifmt_shift_bits): Remove function.  Not needed after all.
27249         (set_stat_type): Return S_IF*-valued "type" directly.
27250         Prompted by James Youngman's spotting a related bug.
27251         Confirmed by further testing through find.
27252
27253         fts: provide dirent.d_type via FTSENT.fts_statp, when possible
27254         * lib/fts.c (D_TYPE): Define.
27255         (DT_UNKNOWN, DT_BLK, DT_CHR) [HAVE_STRUCT_DIRENT_D_TYPE]: Define.
27256         (DT_DIR, DT_FIFO, DT_LNK, DT_REG, DT_SOCK): Likewise.
27257         (s_ifmt_shift_bits): New function.
27258         (set_stat_type): New function.
27259         (fts_build): When not calling fts_stat, call set_stat_type
27260         to propagate dirent.d_type info to fts_read caller.
27261         * lib/fts_.h (FTSENT) [FTS_DEFER_STAT]: Mention that
27262         fts_statp->st_mode type information may be valid.
27263
27264 2008-11-28  Simon Josefsson  <simon@josefsson.org>
27265
27266         * lib/sys_time.in.h: Add extern "C" block for C++.  Suggested by
27267         Brian Dessent <brian@dessent.net>.  Reported by Sam Steingold
27268         <sds@gnu.org>.
27269
27270 2008-11-20  Bruno Haible  <bruno@clisp.org>
27271
27272         Attempt to work around an AIX 5.3, 6.1 compiler bug with include_next.
27273         * lib/math.in.h: Use INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of
27274         INCLUDE_NEXT.
27275         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also
27276         INCLUDE_NEXT_AS_FIRST_DIRECTIVE.
27277         * modules/math (Makefile.am): Substitute
27278         INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of INCLUDE_NEXT.
27279         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
27280
27281 2008-11-18  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
27282             Bruno Haible  <bruno@clisp.org>
27283
27284         * lib/stdint.in.h: Define all type macros so that their expansion is
27285         a single typedef'ed token. Fixes a compilation failure in Boost which
27286         does "using ::int8_t;".
27287
27288 2008-11-18  Simon Josefsson  <simon@josefsson.org>
27289
27290         * m4/manywarnings.m4: New file with gl_MANYWARN_COMPLEMENT and
27291         gl_MANYWARN_ALL_GCC.
27292         * m4/warnings.m4: Removed gl_WARN_SUPPORTED and
27293         gl_WARN_COMPLEMENT.  Suggested by Bruno Haible <bruno@clisp.org>.
27294         * modules/manywarnings: New file.
27295         * MODULES.html.sh: Mention manywarnings module.
27296
27297 2008-11-18  Bruno Haible  <bruno@clisp.org>
27298
27299         * doc/gnulib-tool.texi (Unit tests): New section.
27300
27301 2008-11-18  Simon Josefsson  <simon@josefsson.org>
27302
27303         * top/maint.mk (refresh-po): Fix sed regexp to avoid problems with
27304         paths like 'lib/po/foo.po'.
27305
27306 2008-11-17  Simon Josefsson  <simon@josefsson.org>
27307
27308         * m4/warnings.m4: Improve code.  Reported by Ralf Wildenhues
27309         <Ralf.Wildenhues@gmx.de> and Paolo Bonzini <bonzini@gnu.org>.
27310
27311 2008-11-17  Simon Josefsson  <simon@josefsson.org>
27312
27313         * m4/warnings.m4: Use CPPFLAGS to really check whether the
27314         parameter works.
27315
27316 2008-11-17  Simon Josefsson  <simon@josefsson.org>
27317
27318         * m4/warnings.m4: Add gl_WARN_COMPLEMENT and gl_WARN_SUPPORTED.
27319
27320 2008-11-17  Bruce Korb  <bkorb@gnu.org>
27321
27322         * modules/parse-duration-tests: New file.
27323         * tests/test-parse-duration.sh: New file.
27324         * tests/test-parse-duration.c: New file.
27325
27326         New module 'parse-duration'.
27327         * lib/parse-duration.h: New file.
27328         * lib/parse-duration.c: New file.
27329         * modules/parse-duration: New file.
27330
27331 2008-11-17  Bruno Haible  <bruno@clisp.org>
27332
27333         * tests/test-select-out.sh: Comment out the first pipe test.
27334         Reported by Simon Josefsson.
27335
27336 2008-11-17  Bruno Haible  <bruno@clisp.org>
27337
27338         * modules/getaddrinfo (Depends-on): Add servent, hostent.
27339         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_SERVENT and
27340         gl_HOSTENT.
27341
27342 2008-11-17  Bruno Haible  <bruno@clisp.org>
27343
27344         * m4/sockets.m4 (gl_SOCKETS): After trying -lsocket, try also
27345         -lnetwork and -lnet. Needed for Haiku and BeOS.
27346
27347 2008-11-16  Bruno Haible  <bruno@clisp.org>
27348
27349         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix indentation.
27350
27351 2008-11-16  Bruno Haible  <bruno@clisp.org>
27352
27353         Avoid test failure on Haiku.
27354         * tests/test-fsync.c: Include <errno.h>.
27355         (main): Don't require that fsync (0) fails.
27356
27357 2008-11-15  Bruno Haible  <bruno@clisp.org>
27358
27359         New module 'hostent'.
27360         * modules/hostent: New file.
27361         * m4/hostent.m4: New file, based on code in m4/getaddrinfo.m4.
27362
27363 2008-11-15  Bruno Haible  <bruno@clisp.org>
27364
27365         New module 'servent'.
27366         * modules/servent: New file.
27367         * m4/servent.m4: New file, based on code in m4/getaddrinfo.m4.
27368
27369 2008-11-15  Bruno Haible  <bruno@clisp.org>
27370
27371         Avoid generating same test program with two different rules.
27372         * modules/frexp-nolibm-tests (Makefile.am): Rename test program from
27373         test-frexp to test-frexp-nolibm.
27374         * modules/frexpl-nolibm-tests (Makefile.am): Rename test program from
27375         test-frexpl to test-frexpl-nolibm.
27376
27377 2008-11-15  Bruno Haible  <bruno@clisp.org>
27378
27379         * modules/frexpl-tests (Makefile.am): Link test-frexpl with
27380         $(FREXPL_LIBM).
27381
27382 2008-11-15  Bruno Haible  <bruno@clisp.org>
27383
27384         * lib/netdb.in.h: Activate the definitions also when the system's
27385         <netdb.h> has 'struct addrinfo'.
27386         * m4/netdb_h.m4 (gl_HEADER_NETDB): Replace netdb.h also when it lacks
27387         EAI_OVERFLOW or AI_NUMERICSERV.
27388         * doc/posix-headers/netdb.texi: Document the problem.
27389
27390 2008-11-15  Bruno Haible  <bruno@clisp.org>
27391
27392         * tests/test-sched.c: Test also the existence of the SCHED_* macros.
27393
27394         Make the 'sched' module work on platforms where <sched.h> exists but
27395         is incomplete (such as Haiku).
27396         * lib/sched.in.h; Include the system's <sched.h> if it exists.
27397         (SCHED_FIFO, SCHED_RR, SCHED_OTHER): New macros.
27398         * m4/sched_h.m4 (gl_SCHED_H): Test whether <sched.h> exists and also
27399         defines SCHED_FIFO, SCHED_RR, SCHED_OTHER. Set HAVE_SCHED_H,
27400         HAVE_STRUCT_SCHED_PARAM.
27401         * modules/sched (Depends-on): Add include_next.
27402         (Makefile.am): Substitute HAVE_SCHED_H, INCLUDE_NEXT,
27403         PRAGMA_SYSTEM_HEADER, NEXT_SCHED_H, HAVE_STRUCT_SCHED_PARAM.
27404         * doc/posix-headers/sched.texi: Document the issue.
27405
27406 2008-11-13  Jim Meyering  <meyering@redhat.com>
27407
27408         test-argp-2: avoid test failure when PACKAGE_BUGREPORT is defined
27409         * tests/test-argp-2.sh: When PACKAGE_BUGREPORT was defined, this
27410         test would fail due to the difference in the Report bugs to ...
27411         line.  The expected address is empty, "<>", while the actual
27412         would contain e.g., "<bug-tar@gnu.org>".  Filter out any address.
27413
27414 2008-11-12  Bruno Haible  <bruno@clisp.org>
27415
27416         lstat: don't compile lstat.c on systems lacking lstat
27417         * m4/lstat.m4 (gl_FUNC_LSTAT): Don't compile lstat.c on systems
27418         which don't have lstat; this is handled by lib/sys_stat.in.h already.
27419         Reported by Daniel P. Berrange via Jim Meyering.
27420
27421 2008-11-12  Jim Meyering  <meyering@redhat.com>
27422
27423         * lib/unicodeio.c (unicode_to_mb): Correct spelling of u8_uctomb.
27424
27425 2008-11-12  Simon Josefsson  <simon@josefsson.org>
27426
27427         * modules/warnings (configure.ac): Do AC_SUBST([WARN_CFLAGS]) here
27428         instead.
27429
27430 2008-11-12  Bruno Haible  <bruno@clisp.org>
27431
27432         * lib/unicodeio.c: Include unistr.h.
27433         (utf8_wctomb): Remove function.
27434         (unicode_to_mb): Use utf8_uctomb instead of utf8_wctomb.
27435
27436 2008-11-12  Simon Josefsson  <simon@josefsson.org>
27437
27438         * m4/warnings.m4 (gl_WARN_INIT): Remove, suggested by Ralf
27439         Wildenhues <Ralf.Wildenhues@gmx.de> and Bruno Haible
27440         <bruno@clisp.org>.
27441         * modules/warnings (configure.ac): Don't call gl_WARN_INIT.
27442
27443 2008-11-12  Simon Josefsson  <simon@josefsson.org>
27444
27445         * doc/warnings.texi: New file, from Bruno Haible <bruno@clisp.org>.
27446         * doc/gnulib.texi: Add section for warnings.
27447
27448 2008-11-11  Bruno Haible  <bruno@clisp.org>
27449
27450         * lib/sockets.h: Add a comment.
27451
27452 2008-11-11  Karl Berry  <karl@gnu.org>
27453
27454         * config/srclist.txt (fdl.texi): add, syncing from gnustandards.
27455
27456 2008-11-11  Eric Blake  <ebb9@byu.net>
27457
27458         fdl.texi: avoid git symlinks
27459         * doc/fdl.texi: Copy, rather than link, fdl-1.3.texi.
27460
27461 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
27462
27463         * m4/warnings.m4 (gl_WARN_ADD): Don't AC_SUBST the empty string.
27464
27465 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
27466
27467         * m4/warnings.m4 (gl_WARN_INIT): Substitute WARN_CFLAGS.
27468         (gl_WARN_ADD): Substitute $2 if literal.
27469
27470 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
27471
27472         * m4/warning.m4: Remove.
27473
27474 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
27475
27476         * m4/warnings.m4: Almost complete rewrite. :-)
27477
27478 2008-11-10  Simon Josefsson  <simon@josefsson.org>
27479
27480         * modules/warnings: New module.
27481         * m4/warnings.m4: New file.
27482         * MODULES.html.sh: Mention warnings module.
27483         With review improvements from Paolo Bonzini <bonzini@gnu.org> and
27484         Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
27485
27486 2008-11-10  Eric Blake  <ebb9@byu.net>
27487
27488         fdl.texi: make a symlink to the latest version
27489         * doc/standards.texi: Revert today's earlier change.
27490         * doc/fdl-1.2.texi: Rename from old fdl.texi...
27491         * doc/fdl.texi: ...and replace this with a symlink to the newer
27492         fdl-1.3.texi.
27493
27494 2008-11-10  Bruno Haible  <bruno@clisp.org>
27495
27496         * tests/test-select-fd.c (main): Accept the result file name as fourth
27497         argument.
27498         * tests/test-select-in.sh: Pass t-select-in.tmp as fourth argument.
27499         * tests/test-select-out.sh: Pass t-select-out.tmp as fourth argument.
27500
27501 2008-11-10  Bruno Haible  <bruno@clisp.org>
27502
27503         * lib/netdb.in.h: Use HAVE_STRUCT_ADDRINFO, HAVE_DECL_GETADDRINFO,
27504         HAVE_DECL_FREEADDRINFO, HAVE_DECL_GAI_STRERROR, HAVE_DECL_GETNAMEINFO
27505         as autoconf-substituted macros.
27506         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Initialize these variables to 1.
27507         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require
27508         gl_NETDB_H_DEFAULTS. Set these variables.
27509         * modules/netdb (Makefile.am): Substitute these variables.
27510
27511 2008-11-10  Eric Blake  <ebb9@byu.net>
27512
27513         standards.texi: include correct file for FDL 1.3
27514         * doc/standards.texi (GNU Free Documentation License): Change
27515         include file to pull in FDL 1.3, not 1.2.
27516
27517         fdl.texi: revert accidental change to license
27518         * doc/fdl.texi: This is FDL 1.2, not 1.3.
27519
27520 2008-11-10  Bruno Haible  <bruno@clisp.org>
27521
27522         * m4/printf.m4 (gl_PRINTF_ENOMEM): Guess yes on Haiku. Use the
27523         cross-compiling guesses also when the native compile gives no result.
27524
27525 2008-11-10  Bruno Haible  <bruno@clisp.org>
27526
27527         * lib/spawni.c (__spawni): Force variable into the stack.
27528
27529 2008-11-10  Bruno Haible  <bruno@clisp.org>
27530
27531         Add support for Haiku.
27532         * lib/fbufmode.c (fbufmode): Test a symbol that is not only defined on
27533         glibc and BeOS, but also on Haiku.
27534         * lib/fpurge.c (fpurge): Likewise.
27535         * lib/freadable.c (freadable): Likewise.
27536         * lib/freadahead.c (freadahead): Likewise.
27537         * lib/freading.c (freading): Likewise.
27538         * lib/freadptr.c (freadptr): Likewise.
27539         * lib/freadseek.c (freadptrinc): Likewise.
27540         * lib/fseeko.c (rpl_fseeko): Likewise.
27541         * lib/fseterr.c (fseterr): Likewise.
27542         * lib/fwritable.c (fwritable): Likewise.
27543         * lib/fwriting.c (fwriting): Likewise.
27544         Reported by Ingo Weinhold <ingo_weinhold@gmx.de>.
27545
27546 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
27547
27548         * lib/config.charset: Treat Haiku like BeOS.
27549
27550 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
27551
27552         * lib/binary-io.h (O_BINARY, O_TEXT): Treat Haiku like BeOS.
27553         * lib/fcntl.in.h (O_BINARY, O_TEXT): Likewise.
27554
27555 2008-11-08  Bruno Haible  <bruno@clisp.org>
27556
27557         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Avoid using AC_CHECK_DECL inside
27558         AC_CACHE_CHECK.
27559
27560 2008-11-08  Bruno Haible  <bruno@clisp.org>
27561
27562         * modules/select-tests (configure.ac): Check for unistd.h, sys/wait.h.
27563
27564 2008-11-08  Bruno Haible  <bruno@clisp.org>
27565
27566         * tests/test-select-fd.c: New file.
27567         * tests/test-select-in.sh: New file.
27568         * tests/test-select-out.sh: New file.
27569         * tests/test-select-stdin.c: New file.
27570         * modules/select-tests (Files): Add the new files.
27571         (Depends-on): Add gettimeofday.
27572         (Makefile.am): Add test-select-in.sh, test-select-out.sh to TESTS.
27573         Set TESTS_ENVIRONMENT. Add test-select-fd, test-select-stdin to
27574         check_PROGRAMS. Define test_select_fd_LDADD, test_select_stdin_LDADD.
27575
27576 2008-11-06  Alexander V. Lukyanov  <lav@netis.ru>
27577             Bruno Haible  <bruno@clisp.org>
27578
27579         * lib/sys_stat.in.h: Enclose function definitions in extern "C".
27580
27581 2008-10-12  Giuseppe Scrivano  <gscrivano@gnu.org>
27582
27583         * build-aux/pmccabe2html: Added support for C++ source files.
27584
27585 2008-11-05  Ben Pfaff  <blp@gnu.org>
27586
27587         Fix lib/close.c build on Windows.
27588         * modules/close (Files): Add lib/w32sock.h.
27589
27590 2008-11-05  Joel E. Denny  <jdenny@ces.clemson.edu>
27591
27592         Accept Bison's NEWS format.
27593         * build-aux/announce-gen (print_news_deltas): Tweak
27594         $re_prefix.
27595
27596 2008-11-04  Bruno Haible  <bruno@clisp.org>
27597
27598         * modules/random_r (Maintainer): Add glibc.
27599
27600 2008-11-04  Simon Josefsson  <simon@josefsson.org>
27601
27602         * doc/alloca-opt.texi: Change license to GFDLv1.3+, as suggested
27603         by karl@freefriends.org (Karl Berry).
27604         * doc/alloca.texi: Likewise.
27605         * doc/c-ctype.texi: Likewise.
27606         * doc/c-strcase.texi: Likewise.
27607         * doc/c-strcaseeq.texi: Likewise.
27608         * doc/c-strcasestr.texi: Likewise.
27609         * doc/c-strstr.texi: Likewise.
27610         * doc/c-strtod.texi: Likewise.
27611         * doc/c-strtold.texi: Likewise.
27612         * doc/ctime.texi: Likewise.
27613         * doc/error.texi: Likewise.
27614         * doc/fdl.texi: Likewise.
27615         * doc/gcd.texi: Likewise.
27616         * doc/getdate.texi: Likewise.
27617         * doc/gnulib-intro.texi: Likewise.
27618         * doc/gnulib-tool.texi: Likewise.
27619         * doc/gnulib.texi: Likewise.
27620         * doc/inet_ntoa.texi: Likewise.
27621         * doc/maintain.texi: Likewise.
27622         * doc/make-stds.texi: Likewise.
27623         * doc/quote.texi: Likewise.
27624         * doc/regexprops-generic.texi: Likewise.
27625         * doc/standards.texi: Likewise.
27626         * doc/verify.texi: Likewise.
27627         * doc/visibility.texi: Likewise.
27628         * doc/gnulib.texi (GNU Free Documentation License): Include
27629         fdl-1.3.texi instead of fdl.texi.
27630
27631 2008-11-04  Simon Josefsson  <simon@josefsson.org>
27632
27633         * doc/fdl-1.3.texi: New file, from
27634         <http://www.gnu.org/licenses/fdl-1.3.texi>.
27635         * modules/fdl-1.3: Add.
27636         * MODULES.html.sh: Add fdl-1.3.
27637
27638 2008-11-03  Bruno Haible  <bruno@clisp.org>
27639
27640         Make determination of absolute name of header file work with AIX xlc.
27641         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Require
27642         AC_CANONICAL_HOST. On AIX, use "$CPP -C" rather than "$CPP" for
27643         preprocessing.
27644         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
27645         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
27646
27647 2008-11-03  Simon Josefsson  <simon@josefsson.org>
27648
27649         * top/maint.mk (COVERAGE_CCOPTS): Use --coverage instead of
27650         -fprofile-arcs -ftest-coverage.  Suggested by Ludovic Courtès
27651         <ludo@gnu.org>.
27652
27653 2008-11-02  Bruno Haible  <bruno@clisp.org>
27654
27655         Mark 'strpbrk' obsolete.
27656         * modules/strpbrk (Status, Notice): New sections.
27657         * modules/strtok_r (Depends-on): Add strpbrk.
27658
27659 2008-11-02  Bruno Haible  <bruno@clisp.org>
27660
27661         Mark 'strdup' obsolete.
27662         * modules/strdup (Status, Notice): New sections.
27663         * modules/findprog (Depends-on): Add strdup.
27664         * modules/getaddrinfo (Depends-on): Likewise.
27665         * modules/localename (Depends-on): Likewise.
27666         * modules/relocatable-lib (Depends-on): Likewise.
27667         * modules/relocatable-lib-lgpl (Depends-on): Likewise.
27668         * modules/relocatable-prog (Depends-on): Likewise.
27669         * modules/trim (Depends-on): Likewise.
27670         * modules/unictype/gen-ctype (Depends-on): Likewise.
27671         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
27672
27673 2008-11-02  Bruno Haible  <bruno@clisp.org>
27674
27675         Mark 'strcspn' obsolete.
27676         * modules/strcspn (Status, Notice): New sections.
27677
27678 2008-11-02  Bruno Haible  <bruno@clisp.org>
27679
27680         Mark 'rmdir' obsolete.
27681         * modules/rmdir (Status, Notice): New sections.
27682         * modules/clean-temp (Depends-on): Add rmdir.
27683         * modules/openat (Depends-on): Likewise.
27684
27685 2008-11-02  Bruno Haible  <bruno@clisp.org>
27686
27687         Mark 'raise' obsolete.
27688         * modules/raise (Status, Notice): New sections.
27689         (Include): Specify <signal.h>.
27690         * modules/stdio (Depends-on): Add raise.
27691         * modules/write (Depends-on): Likewise.
27692
27693 2008-11-02  Bruno Haible  <bruno@clisp.org>
27694
27695         Mark 'memset' obsolete.
27696         * modules/memset (Status, Notice): New sections.
27697
27698 2008-11-02  Bruno Haible  <bruno@clisp.org>
27699
27700         Mark 'memmove' obsolete.
27701         * modules/memmove (Status, Notice): New sections.
27702         * modules/argp (Depends-on): Add memmove.
27703         * modules/argz (Depends-on): Likewise.
27704         * modules/canonicalize (Depends-on): Likewise.
27705         * modules/canonicalize-lgpl (Depends-on): Likewise.
27706         * modules/fts (Depends-on): Likewise.
27707         * modules/getcwd (Depends-on): Likewise.
27708         * modules/human (Depends-on): Likewise.
27709         * modules/regex (Depends-on): Likewise.
27710         * modules/striconveh (Depends-on): Likewise.
27711         * modules/trim (Depends-on): Likewise.
27712         * modules/unistr/u8-move (Depends-on): Likewise.
27713         * modules/unistr/u16-move (Depends-on): Likewise.
27714         * modules/unistr/u32-move (Depends-on): Likewise.
27715
27716 2008-11-02  Bruno Haible  <bruno@clisp.org>
27717
27718         Mark 'memcpy' obsolete.
27719         * modules/memcpy (Status, Notice): New sections.
27720
27721 2008-11-02  Bruno Haible  <bruno@clisp.org>
27722
27723         Mark 'memcmp' obsolete.
27724         * modules/memcmp (Status, Notice): New sections.
27725         * modules/argmatch (Depends-on): Add memchr.
27726         * modules/backupfile (Depends-on): Likewise.
27727         * modules/c-strcasestr (Depends-on): Likewise.
27728         * modules/crypto/des (Depends-on): Likewise.
27729         * modules/csharpcomp (Depends-on): Likewise.
27730         * modules/fnmatch (Depends-on): Likewise.
27731         * modules/git-merge-changelog (Depends-on): Likewise.
27732         * modules/isnand (Depends-on): Likewise.
27733         * modules/isnand-nolibm (Depends-on): Likewise.
27734         * modules/isnanf (Depends-on): Likewise.
27735         * modules/isnanf-nolibm (Depends-on): Likewise.
27736         * modules/isnanl (Depends-on): Likewise.
27737         * modules/isnanl-nolibm (Depends-on): Likewise.
27738         * modules/mbchar (Depends-on): Likewise.
27739         * modules/memcoll (Depends-on): Likewise.
27740         * modules/quotearg (Depends-on): Likewise.
27741         * modules/regex (Depends-on): Likewise.
27742         * modules/relocatable-prog (Depends-on): Likewise.
27743         * modules/same (Depends-on): Likewise.
27744         * modules/signbit (Depends-on): Likewise.
27745         * modules/strcasestr-simple (Depends-on): Likewise.
27746         * modules/unictype/gen-ctype (Depends-on): Likewise.
27747         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
27748         * modules/uniname/uniname (Depends-on): Likewise.
27749         * modules/unistr/u8-cmp (Depends-on): Likewise.
27750
27751 2008-11-02  Bruno Haible  <bruno@clisp.org>
27752
27753         Mark 'memchr' obsolete.
27754         * modules/memchr (Status, Notice): New sections.
27755         * modules/argp (Depends-on): Add memchr.
27756         * modules/base64 (Depends-on): Likewise.
27757         * modules/c-strcasestr (Depends-on): Likewise.
27758         * modules/chdir-long (Depends-on): Likewise.
27759         * modules/fnmatch (Depends-on): Likewise.
27760         * modules/getsubopt (Depends-on): Likewise.
27761         * modules/git-merge-changelog (Depends-on): Likewise.
27762         * modules/glob (Depends-on): Likewise.
27763         * modules/strcasestr-simple (Depends-on): Likewise.
27764         * modules/strnlen (Depends-on): Likewise.
27765
27766 2008-11-02  Bruno Haible  <bruno@clisp.org>
27767
27768         Mark 'atexit' obsolete.
27769         * modules/atexit (Status, Notice): New sections.
27770         * modules/chdir-long (Depends-on): Add atexit.
27771         * modules/wait-process (Depends-on): Likewise.
27772
27773 2008-11-02  Bruno Haible  <bruno@clisp.org>
27774
27775         * gnulib-tool: New option --with-obsolete.
27776         (func_usage): Document it.
27777         (func_modules_transitive_closure): Drop obsolete dependencies if
27778         incobsolete is not true.
27779         (func_import): Read and save the incobsolete variable to the cache.
27780
27781 2008-11-02  Bruno Haible  <bruno@clisp.org>
27782
27783         * modules/TEMPLATE-EXTENDED: New field 'Status'.
27784         * gnulib-tool: New option --extract-status.
27785         (func_usage): Document it.
27786         (sed_extract_prog): Recognize it.
27787         (func_get_status): New function.
27788
27789 2008-10-30  Simon Josefsson  <simon@josefsson.org>
27790
27791         * modules/sockets (License): Change from LGPL to LGPLv2+.
27792
27793 2008-10-28  Simon Josefsson  <simon@josefsson.org>
27794
27795         * top/maint.mk: Add coverage rules, inspired by scripts in gnupdf.
27796
27797 2008-10-28  Simon Josefsson  <simon@josefsson.org>
27798
27799         * MODULES.html.sh (Support for systems lacking POSIX:2001):
27800         Mention times and sys_times.
27801         * modules/sys_times, modules/sys_times-tests: New modules.
27802         * modules/times, modules/times-tests: Likewise
27803         * m4/sys_times_h.m4: New file.
27804         * lib/sys_times.in.h: Likewise
27805         * lib/times.c: Likewise.
27806         * tests/test-sys_times.c: Likewise.
27807         * tests/test-times.c: Likewise.
27808         * doc/posix-headers/sys_times.texi: Update.
27809         * doc/posix-functions/times.texi: Update.
27810
27811 2008-10-28  Jim Meyering  <meyering@redhat.com>
27812
27813         * modules/tempname (Depends-on): Add lstat.
27814
27815         * modules/lstat (License): Relicense: LGPL -> LGPLv2+.
27816
27817 2008-10-28  Simon Josefsson  <simon@josefsson.org>
27818
27819         * gnulib-tool (func_emit_tests_Makefile_am): Revert last commit.
27820         * modules/argp-tests (test_argp_LDADD): Set EXEEXT here instead,
27821         using idiom used elsewhere in gnulib.
27822
27823 2008-10-27  Jim Meyering  <meyering@redhat.com>
27824
27825         * modules/gethostname (License): Relicense: LGPL -> LGPLv2+.
27826
27827 2008-10-27  Simon Josefsson  <simon@josefsson.org>
27828
27829         * gnulib-tool (func_emit_tests_Makefile_am): Set EXEEXT in
27830         TESTS_ENVIRONMENT, for shell scripts that needs to call built
27831         programs.
27832         * tests/test-argp-2.sh: Use $EXEEXT when needed.
27833
27834 2008-10-27  Simon Josefsson  <simon@josefsson.org>
27835
27836         * lib/sys_stat.in.h (lstat): Fix declaration for mingw.
27837
27838 2008-10-27  Bruno Haible  <bruno@clisp.org>
27839
27840         * tests/test-lstat.c: Include <stdio.h>.
27841
27842 2008-10-27  Simon Josefsson  <simon@josefsson.org>
27843
27844         * modules/lstat-tests: New module.
27845         * tests/test-lstat.c: New file.
27846
27847 2008-10-26  Jim Meyering  <meyering@redhat.com>
27848
27849         * lib/mkdir.c (rpl_mkdir) [_WIN32...]: Mark mode as an unused parameter.
27850
27851 2008-10-26  Simon Josefsson  <simon@josefsson.org>
27852             Bruno Haible  <bruno@clisp.org>
27853
27854         Fix a clash between the type DATADIR on Windows and the macro DATADIR.
27855         * modules/configmake (Include): Add a note that the include must come
27856         after all system headers.
27857         * lib/javaversion.c: Include configmake.h after all other includes.
27858
27859 2008-10-26  Bruno Haible  <bruno@clisp.org>
27860
27861         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Set default of
27862         HAVE_STRUCT_RANDOM_DATA to 1.
27863         (gl_STDLIB_H): Simplify.
27864
27865 2008-10-26  Simon Josefsson  <simon@josefsson.org>
27866
27867         * m4/stdlib_h.m4: Check for struct random_data.  Initialize and
27868         substitute HAVE_STRUCT_RANDOM_DATA.
27869         * lib/stdlib.in.h [!HAVE_STRUCT_RANDOM_DATA]: Provide struct
27870         random_data.
27871         * modules/stdlib (Makefile.am): Substitute
27872         HAVE_STRUCT_RANDOM_DATA.
27873
27874 2008-10-26  Simon Josefsson  <simon@josefsson.org>
27875
27876         * doc/gnulib.texi (@copying): Use GFDLv1.2+.
27877         * doc/gnulib-intro.texi (Copyright): Likewise.
27878
27879 2008-10-26  Simon Josefsson  <simon@josefsson.org>
27880
27881         * doc/gnulib.texi (Header files): C++ fixes, based on Bruno's
27882         findings.
27883
27884 2008-10-25  Ben Pfaff  <blp@cs.stanford.edu>
27885             Bruno Haible  <bruno@clisp.org>
27886
27887         * lib/unistd.in.h: Include <winsock2.h>.
27888         (socket, connect,accept, bind, getpeername, getsockname, getsockopt,
27889         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, select):
27890         Provide dummy declarations.
27891         (gethostname): Override.
27892         * lib/sys_socket.in.h (gethostname): Provide dummy declaration.
27893         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Invoke
27894         gl_PREREQ_SYS_H_WINSOCK2.
27895         * modules/gethostname (Files): Add m4/sys_socket_h.m4.
27896         * doc/posix-functions/gethostname.texi: More details.
27897
27898 2008-10-25  Bruno Haible  <bruno@clisp.org>
27899
27900         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
27901         gl_UNISTD_H_DEFAULTS, gl_SYS_IOCTL_H_DEFAULTS only if they exist.
27902         * modules/sys_socket (Files): Remove m4/unistd_h.m4, m4/sys_ioctl_h.m4.
27903
27904         * lib/sys_socket.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); Move macro from
27905         here ...
27906         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); ... to here.
27907         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Remove invocation of
27908         gl_UNISTD_H_DEFAULTS.
27909
27910 2008-10-25  Eric Blake  <ebb9@byu.net>
27911
27912         signbit: avoid spurious compiler failure
27913         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Move non-constant
27914         declarations inside function.
27915
27916 2008-10-24  Simon Josefsson  <simon@josefsson.org>
27917             Bruno Haible  <bruno@clisp.org>
27918
27919         * lib/stdlib.in.h (@GNULIB_RANDOM_R@): Include stdint.h.
27920         * modules/random_r (Depends-on): Add stdint.
27921
27922 2008-10-24  Bruno Haible  <bruno@clisp.org>
27923
27924         * modules/intprops (License): Change to LGPLv2+, with approval by Paul
27925         Eggert.
27926         * modules/strerror (License): Likewise.
27927
27928 2008-10-24  Jim Meyering  <meyering@redhat.com>
27929
27930         sys_socket: fix typo that inhibited expansion of @GNULIB_SEND@
27931         * modules/sys_socket (Depends-on) [Depends-on]: Fix typo.
27932
27933 2008-10-24  Eric Blake  <ebb9@byu.net>
27934
27935         getgroups: fix compilation when getgroups is available
27936         * lib/getgroups.c (includes): Include <unistd.h> for getgroups,
27937         but with <config.h> override of getgroups disabled.
27938
27939 2008-10-24  Simon Josefsson  <simon@josefsson.org>
27940
27941         * doc/gnulib.texi (Header files): Add note about C++ problems.
27942         Explained by Bruno Haible <bruno@clisp.org>.
27943
27944 2008-10-23  Bruno Haible  <bruno@clisp.org>
27945
27946         Define a dummy SA_NODEFER macro on Interix.
27947         * lib/signal.in.h (SA_NODEFER): Define fallback.
27948         Reported by Aleksey Cheusov <cheusov@tut.by> via
27949         Thomas Klausner <wiz@netbsd.org> and Eric Blake.
27950
27951 2008-10-23  Bruno Haible  <bruno@clisp.org>
27952
27953         * modules/freadahead (License): Change to LGPLv2+.
27954         Suggested by Simon Josefsson.
27955
27956 2008-10-23  Jim Meyering  <meyering@redhat.com>
27957
27958         random_r: new module
27959         * modules/random_r: New file.
27960         * m4/random_r.m4: New file.
27961         * lib/random_r.c: New file, from glibc.
27962         * modules/random_r-tests: New file.
27963         * tests/test-random_r.c: New file.
27964         * lib/stdlib.in.h (srandom_r, initstate_r, setstate_r, random_r):
27965          Declare.
27966         (RAND_MAX): Define.
27967         * m4/stdlib_h.m4: Define and AC_SUBST GNULIB_RANDOM_R and HAVE_RANDOM_R.
27968         * modules/stdlib: Substitute them, too.
27969         * MODULES.html.sh (Extra functions based on POSIX:2001) [Misc]: Add it.
27970         * doc/glibc-functions/initstate_r.texi: Mention the new module.
27971         * doc/glibc-functions/random_r.texi: Likewise.
27972         * doc/glibc-functions/setstate_r.texi: Likewise.
27973         * doc/glibc-functions/srandom_r.texi: Likewise.
27974         * config/srclist.txt: Mention it.
27975
27976 2008-10-23  David Lutterkort  <lutter@redhat.com>
27977
27978         * modules/selinux-h: Search for LIB_SELINUX and mark it as a
27979         link requirement
27980
27981 2008-10-23  Jim Meyering  <meyering@redhat.com>
27982
27983         selinux-h: mark parameters of stub functions as intentionally unused
27984         * lib/se-selinux.in.h: Mark parameters as _UNUSED_PARAMETER_.
27985         * lib/se-context.in.h: Likewise.
27986
27987 2008-10-22  Simon Josefsson  <simon@josefsson.org>
27988
27989         * lib/sys_socket.in.h (FD_ISSET): Fix warnings under mingw.
27990
27991 2008-10-22  Simon Josefsson  <simon@josefsson.org>
27992
27993         * m4/getgroups.m4: Avoid invoking test with wrong parameters.
27994
27995 2008-10-22  Eric Blake  <ebb9@byu.net>
27996
27997         glthread/thread: avoid compiler warning
27998         * lib/glthread/thread.c (gl_thread_exit_func) [USE_WIN32_THREADS]:
27999         Add unreachable abort to silence compiler.
28000
28001 2008-10-22  Eric Blake  <ebb9@byu.net>
28002
28003         netdb: also supply struct addrinfo for cygwin 1.5.x
28004         * m4/netdb_h.m4 (gl_HEADER_NETDB): Check for incomplete header on
28005         older cygwin.
28006         * lib/netdb.in.h [!HAVE_STRUCT_ADDRINFO]: Also supply contents for
28007         cygwin.
28008         * doc/posix-headers/netdb.texi (netdb.h): Document this.
28009
28010 2008-10-22  Bruno Haible  <bruno@clisp.org>
28011
28012         * users.txt: Update entry about pspp.
28013
28014 2008-10-21  Bruno Haible  <bruno@clisp.org>
28015
28016         Simplification.
28017         * lib/sys_socket.in.h (_gl_close_fd_maybe_socket): Remove declaration.
28018         * lib/close.c (_gl_close_fd_maybe_socket): Make static.
28019
28020         Simplification.
28021         * lib/ioctl.c (ioctl): Don't undefine.
28022         * lib/socket.c (socket): Don't undefine.
28023
28024         Remove unused module indicator macros.
28025         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Don't define
28026         GNULIB_$1 as a C macro.
28027
28028         * doc/posix-functions/close.texi: Undo last change.
28029         * doc/posix-functions/ioctl.texi: Merge the two paragraphs about
28030         Windows platforms.
28031
28032 2008-10-21  Bruno Haible  <bruno@clisp.org>
28033
28034         Add gethostname() declaration to <unistd.h>.
28035         * lib/unistd.in.h (gethostname): New declaration.
28036         * lib/gethostname.c: Include <unistd.h>.
28037         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Require
28038         gl_UNISTD_H_DEFAULTS. Set HAVE_GETHOSTNAME.
28039         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETHOSTNAME
28040         and HAVE_GETHOSTNAME.
28041         * modules/gethostname (Depends-on): Add unistd.
28042         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
28043         (Include): Specify <unistd.h>.
28044         * modules/unistd (Makefile.am): Substitute GNULIB_GETHOSTNAME and
28045         HAVE_GETHOSTNAME.
28046         * tests/test-gethostname.c: Include <unistd.h> first.
28047
28048 2008-10-21  Bruno Haible  <bruno@clisp.org>
28049
28050         * modules/poll-tests (Depends-on): Add sys_ioctl, ioctl.
28051         * modules/select-tests (Depends-on): Likewise.
28052         Reported by Simon Josefsson.
28053
28054 2008-10-21  Simon Josefsson  <simon@josefsson.org>
28055
28056         * lib/close.c: Add _gl_close_fd_maybe_socket from winsock.c.
28057         * lib/accept.c: New file, based on winsock.c.
28058         * lib/bind.c: New file, based on winsock.c.
28059         * lib/connect.c: New file, based on winsock.c.
28060         * lib/getpeername.c: New file, based on winsock.c.
28061         * lib/getsockname.c: New file, based on winsock.c.
28062         * lib/getsockopt.c: New file, based on winsock.c.
28063         * lib/ioctl.c: New file, based on winsock.c.
28064         * lib/listen.c: New file, based on winsock.c.
28065         * lib/recv.c: New file, based on winsock.c.
28066         * lib/recvfrom.c: New file, based on winsock.c.
28067         * lib/send.c: New file, based on winsock.c.
28068         * lib/sendto.c: New file, based on winsock.c.
28069         * lib/setsockopt.c: New file, based on winsock.c.
28070         * lib/shutdown.c: New file, based on winsock.c.
28071         * lib/socket.c: New file, based on winsock.c.
28072         * lib/w32sock.h: New file, based on winsock.c.
28073         * lib/winsock.c: Remove file.
28074         * modules/accept: Likewise.
28075         * modules/bind: Likewise.
28076         * modules/connect: Likewise.
28077         * modules/getpeername: Likewise.
28078         * modules/getsockname: Likewise.
28079         * modules/getsockopt: Likewise.
28080         * modules/ioctl: Likewise.
28081         * modules/listen: Likewise.
28082         * modules/recv: Likewise.
28083         * modules/recvfrom: Likewise.
28084         * modules/send: Likewise.
28085         * modules/sendto: Likewise.
28086         * modules/setsockopt: Likewise.
28087         * modules/shutdown: Likewise.
28088         * modules/socket: Use socket.c instead of winsock.c.
28089         * modules/sys_socket: Remove (unneeded?) dependency on winsock.c.
28090         * doc/posix-functions/accept.texi: Doc fix.
28091         * doc/posix-functions/bind.texi: Doc fix.
28092         * doc/posix-functions/close.texi: Doc fix.
28093         * doc/posix-functions/connect.texi: Doc fix.
28094         * doc/posix-functions/getpeername.texi: Doc fix.
28095         * doc/posix-functions/getsockname.texi: Doc fix.
28096         * doc/posix-functions/getsockopt.texi: Doc fix.
28097         * doc/posix-functions/ioctl.texi: Doc fix.
28098         * doc/posix-functions/listen.texi: Doc fix.
28099         * doc/posix-functions/recv.texi: Doc fix.
28100         * doc/posix-functions/recvfrom.texi: Doc fix.
28101         * doc/posix-functions/send.texi: Doc fix.
28102         * doc/posix-functions/sendto.texi: Doc fix.
28103         * doc/posix-functions/setsockopt.texi: Doc fix.
28104         * doc/posix-functions/shutdown.texi: Doc fix.
28105         * doc/posix-functions/socket.texi: Doc fix.
28106
28107 2008-10-20  Bruno Haible  <bruno@clisp.org>
28108
28109         Take into account the role of SIGABRT_COMPAT on Windows 2008.
28110         * lib/sigprocmask.c (SIGABRT_COMPAT, SIGABRT_COMPAT_MASK): New macros.
28111         (sigismember, sigaddset, sigdelset, sigfillset, rpl_signal): Handle it
28112         as an alias for SIGABRT.
28113         * lib/sigaction.c (SIGABRT_COMPAT): New macro.
28114         (sigaction): Map it to SIGABRT.
28115         Reported by Ramiro Polla <ramiro.polla@gmail.com> via Eric Blake.
28116
28117 2008-10-20  Bruno Haible  <bruno@clisp.org>
28118
28119         * lib/fts.c: Don't include lstat.h.
28120         * lib/openat.c: Include <sys/stat.h> instead of lstat.h.
28121
28122         Move the lstat() declaration to <sys/stat.h>.
28123         * lib/lstat.h: Remove file.
28124         * lib/sys_stat.in.h: Add special invocation convention.
28125         (lstat): New declaration.
28126         * lib/lstat.c (orig_lstat): New function.
28127         (rpl_lstat): Use orig_lstat instead of lstat.
28128         * m4/lstat.m4 (gl_FUNC_LSTAT): Require gl_SYS_STAT_H_DEFAULTS and
28129         AC_C_INLINE. Set REPLACE_LSTAT.
28130         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LSTAT
28131         and REPLACE_LSTAT.
28132         * modules/lstat (Files): Remove lib/lstat.h.
28133         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
28134         (Include): Specify <sys/stat.h> instead of lstat.h.
28135         * modules/sys_stat (Makefile.am): Substitute GNULIB_LSTAT and
28136         REPLACE_LSTAT.
28137         * NEWS: Mention the change.
28138
28139 2008-10-20  Bruno Haible  <bruno@clisp.org>
28140
28141         * modules/posix_spawn-tests: New file.
28142         * tests/test-posix_spawn3.c: New file.
28143
28144 2008-10-20  Bruno Haible  <bruno@clisp.org>
28145
28146         * modules/posix_spawnp-tests (Depends-on): Add sys_wait.
28147         * tests/test-posix_spawn1.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
28148         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Remove fallback definitions.
28149         * tests/test-posix_spawn2.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
28150         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Likewise.
28151
28152 2008-10-20  Bruno Haible  <bruno@clisp.org>
28153
28154         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Test against another bug
28155         of posix_spawn on AIX 5.3.
28156
28157 2008-10-20  Bruno Haible  <bruno@clisp.org>
28158
28159         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Make the check on MacOS X.
28160
28161 2008-10-20  Bruno Haible  <bruno@clisp.org>
28162
28163         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Use AC_LANG_SOURCE instead
28164         of AC_LANG_PROGRAM.
28165
28166 2008-10-20  Simon Josefsson  <simon@josefsson.org>
28167
28168         * lib/netdb.in.h: Don't define GNU specific constants until they
28169         are supported or needed.  Reported by Bruno Haible
28170         <bruno@clisp.org>.
28171
28172 2008-10-20  Simon Josefsson  <simon@josefsson.org>
28173
28174         * lib/canon-host.c: Include netdb.h instead of getaddrinfo.h.
28175
28176 2008-10-20  Simon Josefsson  <simon@josefsson.org>
28177
28178         * lib/getaddrinfo.h: Remove file.
28179         * modules/getaddrinfo: Reflect move from getaddrinfo.h to netdb.h.
28180         * m4/getaddrinfo.m4: Call gl_HEADER_NETDB.  Don't check for netdb.h.
28181         * lib/netdb.in.h: Add declarations from getaddrinfo.h.
28182         * m4/netdb_h.m4: Initialize GNULIB_GETADDRINFO to 0.
28183         * modules/netdb: Substitute GNULIB_GETADDRINFO.
28184         * lib/getaddrinfo.c: Include netdb.h instead of getaddrinfo.h.
28185         * tests/test-getaddrinfo.c: Likewise.
28186         * lib/gai_strerror.c: Likewise.  Also drop HAVE_NETDB_H check.
28187         * NEWS: Mention change.
28188
28189 2008-10-19  Bruno Haible  <bruno@clisp.org>
28190
28191         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Remove unneeded code.
28192
28193 2008-10-19  Bruno Haible  <bruno@clisp.org>
28194
28195         * lib/wait-process.c: Include simply <sys/wait.h>.
28196         (waitpid, WTERMSIG, WCOREDUMP, WEXITSTATUS, WIFSIGNALED, WIFEXITED,
28197         WIFSTOPPED): Remove fallback definitions.
28198         * modules/wait-process (Depends-on): Add sys_wait.
28199
28200         New module 'sys_wait'.
28201         * modules/sys_wait: New file.
28202         * lib/sys_wait.in.h: New file, partially copied from
28203         lib/wait-process.c.
28204         * m4/sys_wait_h.m4: New file.
28205         * doc/posix-headers/sys_wait.texi: Mention the new module.
28206
28207 2008-10-19  Bruno Haible  <bruno@clisp.org>
28208
28209         * m4/wait-process.m4 (gl_WAIT_PROCESS): Remove test for unistd.h.
28210
28211 2008-10-19  Bruno Haible  <bruno@clisp.org>
28212
28213         Assume that waitpid() fills an 'int' status, not a 'union wait'.
28214         * lib/wait-process.c (WAIT_T): Remove type.
28215         (WTERMSIG, WCOREDUMP, WEXITSTATUS): Define fallbacks using bit masks.
28216         (wait_subprocess): Update.
28217
28218 2008-10-19  Bruno Haible  <bruno@clisp.org>
28219
28220         New module 'atoll'.
28221         * modules/atoll: New file.
28222         * lib/stdlib.in.h (atoll): New declaration.
28223         * lib/atoll.c: New file, from glibc with modifications.
28224         * m4/atoll.m4: New file.
28225         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_ATOLL,
28226         HAVE_ATOLL.
28227         * modules/stdlib (Makefile.am): Substitute GNULIB_ATOLL, HAVE_ATOLL.
28228         * doc/posix-functions/atoll.texi: Mention the new module.
28229
28230 2008-10-19  Bruno Haible  <bruno@clisp.org>
28231
28232         Add strtoull() declaration to <stdlib.h>.
28233         * lib/stdlib.in.h (strtoull): New declaration.
28234         * m4/strtoull.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
28235         Set HAVE_STRTOULL.
28236         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOULL,
28237         HAVE_STRTOULL.
28238         * modules/strtoull (Depends-on): Add stdlib.
28239         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
28240         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOULL,
28241         HAVE_STRTOULL.
28242
28243 2008-10-19  Bruno Haible  <bruno@clisp.org>
28244
28245         Add strtoll() declaration to <stdlib.h>.
28246         * lib/stdlib.in.h (strtoll): New declaration.
28247         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
28248         Set HAVE_STRTOLL.
28249         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOLL,
28250         HAVE_STRTOLL.
28251         * modules/strtoll (Depends-on): Add stdlib.
28252         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
28253         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOLL, HAVE_STRTOLL.
28254
28255 2008-10-19  Bruno Haible  <bruno@clisp.org>
28256
28257         * modules/bcopy (Depends-on): Add strings.
28258         (Include): Specify <strings.h>.
28259
28260 2008-10-19  Bruno Haible  <bruno@clisp.org>
28261
28262         * doc/posix-functions/atexit.texi: Update doc regarding mingw.
28263
28264 2008-10-19  Bruno Haible  <bruno@clisp.org>
28265
28266         * lib/openat-die.c (openat_save_fail, openat_restore_fail): Rename
28267         the parameter from 'errno' to 'errnum'. Fixes a compilation error on
28268         mingw.
28269
28270 2008-10-19  Bruno Haible  <bruno@clisp.org>
28271
28272         * lib/atanl.c: Don't include isnanl.h.
28273         * lib/cosl.c: Likewise.
28274         * lib/ldexpl.c: Likewise.
28275         * lib/logl.c: Likewise.
28276         * lib/sinl.c: Likewise.
28277         * lib/sqrtl.c: Likewise.
28278         * lib/tanl.c: Likewise.
28279
28280         Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
28281         * lib/isnanf.h: Remove file.
28282         * lib/isnand.h: Remove file.
28283         * lib/isnanl.h: Remove file.
28284         * lib/math.in.h: Include the contents of lib/isnanf.h, lib/isnand.h,
28285         lib/isnanl.h. Use HAVE_ISNANF, HAVE_ISNAND, HAVE_ISNANL as substituted
28286         macros.
28287         * m4/isnanf.m4 (gl_FUNC_ISNANF): Require gl_MATH_H_DEFAULTS. Set
28288         HAVE_ISNANF, don't define it as a C macro.
28289         * m4/isnand.m4 (gl_FUNC_ISNAND): Require gl_MATH_H_DEFAULTS. Set
28290         HAVE_ISNAND, don't define it as a C macro.
28291         * m4/isnanl.m4 (gl_FUNC_ISNANL): Require gl_MATH_H_DEFAULTS. Set
28292         HAVE_ISNANL, don't define it as a C macro.
28293         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_ISNAN[FDL] and
28294         HAVE_ISNAN[FDL].
28295         * modules/isnanf (Files): Remove lib/isnanf.h.
28296         (Depends-on): Add math.
28297         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
28298         (Include): Specify <math.h> instead of isnanf.h.
28299         * modules/isnand (Files): Remove lib/isnand.h.
28300         (Depends-on): Add math.
28301         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
28302         (Include): Specify <math.h> instead of isnand.h.
28303         * modules/isnanl (Files): Remove lib/isnanl.h.
28304         (Depends-on): Add math.
28305         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
28306         (Include): Specify <math.h> instead of isnanl.h.
28307         * modules/math (Makefile.am): Substitute GNULIB_ISNAN[FDL] and
28308         HAVE_ISNAN[FDL].
28309         * tests/test-isnanf.c: Include <math.h> instead of isnanf.h.
28310         * tests/test-isnand.c: Include <math.h> instead of isnand.h.
28311         * tests/test-isnanl.c: Include <math.h> instead of isnanl.h.
28312         * NEWS: Mention the change.
28313
28314 2008-10-18  Bruno Haible  <bruno@clisp.org>
28315
28316         Add getusershell(), setusershell(), endusershell() declarations to
28317         <unistd.h>.
28318         * lib/unistd.in.h (getusershell, setusershell, endusershell): New
28319         declarations.
28320         * lib/getusershell.c: Include unistd.h.
28321         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Require
28322         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
28323         HAVE_GETUSERSHELL.
28324         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETUSERSHELL
28325         and HAVE_GETUSERSHELL.
28326         * modules/getusershell (Depends-on): Add unistd, extensions.
28327         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
28328         (Include): Specify <unistd.h>.
28329         * modules/unistd (Makefile.am): Substitute GNULIB_GETUSERSHELL and
28330         HAVE_GETUSERSHELL.
28331
28332 2008-10-18  Bruno Haible  <bruno@clisp.org>
28333
28334         Add a getloadavg() declaration to <stdlib.h>.
28335         * lib/stdlib.in.h; Include <sys/loadavg.h> when needed for the
28336         getloadavg declaration.
28337         (getloadavg): New declaration.
28338         * lib/getloadavg.c: Include <stdlib.h> first.
28339         * m4/getloadavg.m4 (gl_GETLOADAVG): Require gl_STDLIB_H_DEFAULTS and
28340         AC_USE_SYSTEM_EXTENSIONS. Test whether sys/loadavg.h exists. Set
28341         HAVE_SYS_LOADAVG_H and HAVE_DECL_GETLOADAVG.
28342         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GETLOADAVG,
28343         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
28344         * modules/getloadavg (Depends-on): Add stdlib, extensions.
28345         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
28346         (Include): Specify <stdlib.h>.
28347         * modules/stdlib (Makefile.am): Substitute GNULIB_GETLOADAVG,
28348         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
28349
28350 2008-10-18  Bruno Haible  <bruno@clisp.org>
28351
28352         * lib/dirchownmod.c: Don't include lchmod.h.
28353
28354         Move the lchmod() declaration to <sys/stat.h>.
28355         * lib/lchmod.h: Remove file.
28356         * lib/sys_stat.in.h: Add placeholder for GL_LINK_WARNING.
28357         (lchmod): New declaration, moved here from lib/lchown.h.
28358         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Require gl_SYS_STAT_H_DEFAULTS and
28359         AC_USE_SYSTEM_EXTENSIONS. Set HAVE_LCHMOD.
28360         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LCHMOD
28361         and HAVE_LCHMOD.
28362         * modules/lchmod (Files): Remove lib/lchmod.h.
28363         (Depends-on): Add sys_stat, extensions.
28364         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
28365         (Include): Specify <sys/stat.h> instead of lchmod.h.
28366         * modules/sys_stat (Depends-on): Add link-warning.
28367         (Makefile.am): Substitute GNULIB_LCHMOD, HAVE_LCHMOD, and the
28368         definition of GL_LINK_WARNING.
28369         * NEWS: Mention the change.
28370
28371 2008-10-18  Bruno Haible  <bruno@clisp.org>
28372
28373         * lib/fchdir.c: Don't include dirfd.h.
28374         * lib/fts.c: Likewise.
28375         * lib/getcwd.c: Likewise.
28376         * lib/glob.c: Likewise.
28377
28378         Move the dirfd() declaration to <dirent.h>.
28379         * lib/dirfd.h: Remove file.
28380         * lib/dirent.in.h: Add placeholder for GL_LINK_WARNING.
28381         (dirfd): New declaration.
28382         * lib/dirfd.c: Include <dirent.h> instead of dirfd.h.
28383         * m4/dirfd.m4 (gl_FUNC_DIRFD): Require gl_DIRENT_H_DEFAULTS and
28384         AC_USE_SYSTEM_EXTENSIONS. Invoke gl_REPLACE_DIRENT_H. Set
28385         HAVE_DECL_DIRFD.
28386         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_DIRFD and
28387         HAVE_DECL_DIRFD.
28388         * modules/dirfd (Files): Remove lib/dirfd.h.
28389         (Depends-on): Add dirent, extensions.
28390         (configure.ac): Invoke gl_DIRENT_MODULE_INDICATOR.
28391         (Include): Specify <dirent.h> instead of dirfd.h.
28392         * modules/dirent (Depends-on): Add link-warning.
28393         (Makefile.am): Substitute GNULIB_DIRFD, HAVE_DECL_DIRFD, and
28394         definition of GL_LINK_WARNING.
28395         * NEWS: Mention the change.
28396
28397 2008-10-18  Bruno Haible  <bruno@clisp.org>
28398
28399         Move the euidaccess() declaration to <unistd.h>.
28400         * lib/euidaccess.h: Remove file.
28401         * lib/unistd.in.h (euidaccess): New declaration.
28402         * lib/euidaccess.c: Don't include euidaccess.h.
28403         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Require gl_UNISTD_H_DEFAULTS.
28404         Don't check whether euidaccess is declared. Set HAVE_EUIDACCESS.
28405         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_EUIDACCESS
28406         and HAVE_EUIDACCESS.
28407         * modules/euidaccess (Files): Remove lib/euidaccess.h.
28408         (Depends-on): Add unistd.
28409         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
28410         (Include): Specify <unistd.h> instead of euidaccess.h.
28411         * modules/unistd (Makefile.am): Substitute GNULIB_EUIDACCESS and
28412         HAVE_EUIDACCESS.
28413         * NEWS: Mention the change.
28414
28415 2008-10-18  Bruno Haible  <bruno@clisp.org>
28416
28417         * lib/xgetdomainname.c: Include <unistd.h> instead of getdomainname.h.
28418
28419         Move the getdomainname() declaration to <unistd.h>.
28420         * lib/getdomainname.h: Remove file.
28421         * lib/unistd.in.h (getdomainname): New declaration.
28422         * lib/getdomainname.c: Include <unistd.h> instead of getdomainname.h.
28423         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
28424         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
28425         HAVE_GETDOMAINNAME.
28426         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
28427         GNULIB_GETDOMAINNAME and HAVE_GETDOMAINNAME.
28428         * modules/getdomainname (Files): Remove lib/getdomainname.h.
28429         (Depends-on): Add unistd, extensions.
28430         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
28431         (Includes): Specify <unistd.h> instead of getdomainname.h.
28432         * modules/unistd (Makefile.am): Substitute GNULIB_GETDOMAINNAME and
28433         HAVE_GETDOMAINNAME.
28434         * NEWS: Mention the change.
28435
28436 2008-10-18  Bruno Haible  <bruno@clisp.org>
28437
28438         * modules/dirent: New file.
28439         * m4/dirent_h.m4: New file.
28440         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_DIRENT_H_DEFAULTS.
28441         Invoke gl_REPLACE_DIRENT_H. Don't assign DIRENT_H directly.
28442         * modules/fchdir (Files): Remove lib/dirent.in.h.
28443         (Depends-on): Add dirent.
28444         (Makefile.am): Move rules to modules/dirent.
28445         * doc/posix-headers/dirent.texi: Mention the new module.
28446
28447 2008-10-18  Bruno Haible  <bruno@clisp.org>
28448
28449         Avoid -Wunused-parameter warnings in public gnulib header files.
28450         * m4/gnulib-common.m4 (gl_COMMON_BODY): Define _UNUSED_PARAMETER_ as a
28451         macro.
28452         * lib/unistr.h (u32_mbtouc_unsafe, u32_mbtouc): Use it.
28453
28454 2008-10-18  Bruno Haible  <bruno@clisp.org>
28455
28456         * doc/glibc-functions/dirfd.texi: Mention the module 'dirfd'.
28457         * doc/glibc-functions/error.texi: Mention the module 'error'.
28458         * doc/glibc-functions/euidaccess.texi: Mention the module 'euidaccess'.
28459         * doc/glibc-functions/getdomainname.texi: Mention the module
28460         'getdomainname'.
28461         * doc/glibc-functions/getloadavg.texi: Mention the module 'getloadavg'.
28462         * doc/glibc-functions/getpagesize.texi: Mention the module
28463         'getpagesize'.
28464         * doc/glibc-functions/getusershell.texi: Mention the module
28465         'getusershell'.
28466         * doc/glibc-functions/isnanl.texi: Mention the module 'isnanl'.
28467         * doc/glibc-functions/lchmod.texi: Mention the module 'lchmod'.
28468         * doc/glibc-functions/mempcpy.texi: Mention the module 'mempcpy'.
28469         * doc/glibc-functions/memrchr.texi: Mention the module 'memrchr'.
28470         * doc/glibc-functions/mkdtemp.texi: Mention the module 'mkdtemp'.
28471         * doc/glibc-functions/rpmatch.texi: Mention the module 'rpmatch'.
28472         * doc/glibc-functions/stpcpy.texi: Mention the module 'stpcpy'.
28473         * doc/glibc-functions/stpncpy.texi: Mention the module 'stpncpy'.
28474         * doc/glibc-functions/strchrnul.texi: Mention the module 'strchrnul'.
28475         * doc/glibc-functions/strndup.texi: Mention the module 'strndup'.
28476         * doc/glibc-functions/strnlen.texi: Mention the module 'strnlen'.
28477         * doc/glibc-functions/strsep.texi: Mention the module 'strsep'.
28478         * doc/glibc-functions/timegm.texi: Mention the module 'timegm'.
28479         * doc/glibc-functions/vasprintf.texi: Mention the module 'vasprintf'.
28480
28481 2008-10-17  Bruno Haible  <bruno@clisp.org>
28482
28483         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): On platforms other than
28484         HP-UX and IRIX, use -0.0L.
28485         * tests/test-ceill.c (minus_zero): Likewise.
28486         * tests/test-floorl.c (minus_zero): Likewise.
28487         * tests/test-frexpl.c (minus_zero): Likewise.
28488         * tests/test-isnan.c (minus_zerol): Likewise.
28489         * tests/test-isnanl.h (minus_zero): Likewise.
28490         * tests/test-ldexpl.c (minus_zero): Likewise.
28491         * tests/test-roundl.c (minus_zero): Likewise.
28492         * tests/test-signbit.c (minus_zerol): Likewise.
28493         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
28494         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
28495         * tests/test-truncl.c (minus_zero): Likewise.
28496         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
28497         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
28498         Reported by Markus Armbruster <armbru@redhat.com> via Jim Meyering
28499         and by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
28500
28501 2008-10-17  Bruno Haible  <bruno@clisp.org>
28502
28503         Avoid gcc warnings because of #pragma GCC system_header on older gcc.
28504         * lib/arpa_inet.in.h: Encloses reference to PRAGMA_SYSTEM_HEADER so
28505         that it gets activated only for gcc >= 3.0.
28506         * lib/dirent.in.h: Likewise.
28507         * lib/errno.in.h: Likewise.
28508         * lib/fcntl.in.h: Likewise.
28509         * lib/float.in.h: Likewise.
28510         * lib/iconv.in.h: Likewise.
28511         * lib/inttypes.in.h: Likewise.
28512         * lib/locale.in.h: Likewise.
28513         * lib/math.in.h: Likewise.
28514         * lib/netdb.in.h: Likewise.
28515         * lib/netinet_in.in.h: Likewise.
28516         * lib/search.in.h: Likewise.
28517         * lib/signal.in.h: Likewise.
28518         * lib/spawn.in.h: Likewise.
28519         * lib/stdarg.in.h: Likewise.
28520         * lib/stdint.in.h: Likewise.
28521         * lib/stdio.in.h: Likewise.
28522         * lib/stdlib.in.h: Likewise.
28523         * lib/string.in.h: Likewise.
28524         * lib/strings.in.h: Likewise.
28525         * lib/sys_file.in.h: Likewise.
28526         * lib/sys_ioctl.in.h: Likewise.
28527         * lib/sys_select.in.h: Likewise.
28528         * lib/sys_socket.in.h: Likewise.
28529         * lib/sys_stat.in.h: Likewise.
28530         * lib/sys_time.in.h: Likewise.
28531         * lib/sysexits.in.h: Likewise.
28532         * lib/time.in.h: Likewise.
28533         * lib/unistd.in.h: Likewise.
28534         * lib/wchar.in.h: Likewise.
28535         * lib/wctype.in.h: Likewise.
28536         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
28537
28538 2008-10-17  Jim Meyering  <meyering@redhat.com>
28539
28540         ignore-value: don't depend on inline module
28541         * modules/ignore-value (Depends-on): Remove 'inline'.
28542         (configure.ac): Instead, add AC_REQUIRE([AC_C_INLINE]) here.
28543         Suggestion from Bruno Haible.
28544
28545 2008-10-17  Bruno Haible  <bruno@clisp.org>
28546
28547         New implementation of condition variables for Win32.
28548         * lib/glthread/cond.h (struct gl_waitqueue_link): New type.
28549         (gl_linked_waitqueue_t): New type.
28550         (gl_cond_t): Use it.
28551         * lib/glthread/cond.c (struct gl_waitqueue_element): New type.
28552         (gl_waitqueue_init, gl_waitqueue_add, gl_waitqueue_remove,
28553         gl_waitqueue_notify_first, gl_waitqueue_notify_all): New functions.
28554         (glthread_cond_init_func, glthread_cond_wait_func,
28555         glthread_cond_timedwait_func, glthread_cond_signal_func,
28556         glthread_cond_broadcast_func, glthread_cond_destroy_func):
28557         Reimplemented on the basis of gl_linked_waitqueue_t.
28558         * lib/glthread/lock.h (gl_carray_waitqueue_t): Renamed from
28559         gl_waitqueue_t.
28560         (gl_rwlock_t): Update.
28561         * lib/glthread/lock.c (gl_waitqueue_t): Alias to gl_carray_waitqueue_t.
28562
28563 2008-10-17  Simon Josefsson  <simon@josefsson.org>
28564
28565         * modules/recvfrom (Depends-on): Add dependency on getpeername.
28566         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
28567
28568 2008-10-17  Jim Meyering  <meyering@redhat.com>
28569
28570         ignore-value: new module
28571         * modules/ignore-value: New file.
28572         * lib/ignore-value.h: New file.
28573         * MODULES.html.sh (Compiler warning management): New section,
28574         just for this module.  More to come.
28575
28576 2008-10-16  Paul Eggert  <eggert@cs.ucla.edu>
28577
28578         open-safer.c: avoid 'signed and unsigned in conditional...' warning
28579         * lib/open-safer.c (open_safer): Use an "if/else" statement in place
28580         of the ternary operator.  Reported by Reuben Thomas <rrt@sc3d.org>.
28581
28582 2008-10-16  Jim Meyering  <meyering@redhat.com>
28583
28584         openat-die.c: avoid 'no previous prototype' warning
28585         * lib/openat-die.c: Include "openat.h".
28586         Reported by Reuben Thomas <rrt@sc3d.org>.
28587
28588 2008-10-16  Simon Josefsson  <simon@josefsson.org>
28589
28590         * m4/netdb_h.m4: Assume that if netdb.h exists, it works.
28591         * lib/netdb.in.h: Fix typo.
28592         Reported by Bruno Haible  <bruno@clisp.org>
28593
28594         * lib/netdb.in.h: Include sys/socket.h for platforms without
28595         netdb.h, to get structures like hostent on MinGW.
28596         * modules/netdb (Depends-on): Add sys_socket.
28597
28598 2008-10-15  Simon Josefsson  <simon@josefsson.org>
28599
28600         * modules/netdb, modules/netdb-tests: New file.
28601         * m4/netdb_h.m4: New file.
28602         * lib/netdb.in.h: Add, currently just an empty file pending
28603         definitions.
28604         * tests/test-netdb.c: New file.
28605         * doc/posix-headers/netdb.texi: Mention that we replace it if
28606         needed.
28607         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
28608         netdb.
28609
28610 2008-10-15  Simon Josefsson  <simon@josefsson.org>
28611
28612         * doc/gnulib.texi (Getaddrinfo and WINVER): Sync documentation
28613         with code.
28614
28615 2008-10-13  Bruno Haible  <bruno@clisp.org>
28616
28617         * lib/glthread/cond.c (glthread_cond_wait_func,
28618         glthread_cond_timedwait_func): Add a comment.
28619
28620 2008-10-13  Yoann Vandoorselaere  <yoann@prelude-ids.org>
28621
28622         * tests/test-poll.c: Include <sys/ioctl.h>, for ioctl().
28623         * tests/test-select.c: Likewise,
28624
28625 2008-10-13  Bruno Haible  <bruno@clisp.org>
28626
28627         * lib/glthread/cond.c (glthread_cond_wait_func,
28628         glthread_cond_timedwait_func): Fix variable name.
28629         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
28630
28631 2008-10-13  Paolo Bonzini  <bonzini@gnu.org>
28632
28633         fix getaddrinfo emulation for systems with struct sockaddr.sa_len
28634         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Detect
28635         struct sockaddr.sa_len.
28636         * lib/getaddrinfo.c (getaddrinfo): Set it if appropriate.
28637
28638 2008-10-13  Simon Josefsson  <simon@josefsson.org>
28639
28640         * build-aux/pmccabe2html: Add css and css_url parameters.
28641
28642 2008-10-12  Bruno Haible  <bruno@clisp.org>
28643
28644         * tests/test-sameacls.c (main) [AIX]: Clear type argument before
28645         calling aclx_get.
28646         Reported by Rainer Tammer <tammer@tammer.net>.
28647
28648 2008-10-12  Bruno Haible  <bruno@clisp.org>
28649
28650         Use msvcrt aware primitives for creation/termination of Win32 threads.
28651         * lib/glthread/thread.c: Include <process.h>.
28652         (glthread_create_func): Use _beginthreadex instead of CreateThread.
28653         (wrapper_func): Update signature.
28654         (gl_thread_exit_func): Use _endthreadex instead of EndThread.
28655
28656 2008-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
28657             Bruno Haible  <bruno@clisp.org>
28658
28659         Provide a Win32 implementation of the 'cond' module.
28660         * lib/glthread/cond.h [USE_WIN32]: New implementation.
28661         * lib/glthread/cond.c (glthread_cond_init_func,
28662         glthread_cond_wait_func, glthread_cond_timedwait_func,
28663         glthread_cond_signal_func, glthread_cond_broadcast_func,
28664         glthread_cond_destroy_func) [USE_WIN32]: New functions.
28665         * modules/cond (Dependencies): Add gettimeofday.
28666
28667 2008-10-11  Bruno Haible  <bruno@clisp.org>
28668
28669         Make sleep work on older versions of mingw.
28670         * m4/sleep.m4 (gl_FUNC_SLEEP): Test whether 'sleep' is declared, not
28671         only whether it exists.
28672         * doc/posix-functions/sleep.texi: Mention the problem with older
28673         versions of mingw.
28674
28675 2008-10-11  Bruno Haible  <bruno@clisp.org>
28676
28677         New module 'shutdown'.
28678         * modules/shutdown: New file.
28679         * lib/sys_socket.in.h (shutdown): New declaration.
28680         * lib/winsock.c (shutdown): New function.
28681         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
28682         GNULIB_SHUTDOWN.
28683         * modules/sys_socket (Makefile.am): Substitute GNULIB_SHUTDOWN.
28684         * doc/posix-functions/shutdown.texi: Document the new module.
28685
28686 2008-10-11  Jim Meyering  <meyering@redhat.com>
28687
28688         * lib/fclose.c: Fix typo in comment: s/close/fclose/.
28689
28690 2008-10-11  Bruno Haible  <bruno@clisp.org>
28691
28692         New module 'fclose'.
28693         * modules/fclose: New file.
28694         * lib/stdio.in.h (fclose): New declaration.
28695         * lib/fclose.c: New file.
28696         * m4/fclose.m4: New file.
28697         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FCLOSE,
28698         REPLACE_FCLOSE.
28699         * m4/close.m4 (gl_REPLACE_CLOSE): Invoke gl_REPLACE_FCLOSE.
28700         * modules/stdio (Makefile.am): Substitute GNULIB_FCLOSE,
28701         REPLACE_FCLOSE.
28702         * modules/close (Depends-on): fclose.
28703         * doc/posix-functions/fclose.texi: Mention the problem on Windows.
28704
28705 2008-10-11  Bruno Haible  <bruno@clisp.org>
28706
28707         * lib/winsock.c (_gl_close_fd_maybe_socket): If closesocket fails,
28708         set errno and don't call _close.
28709
28710 2008-10-10  Bruno Haible  <bruno@clisp.org>
28711
28712         * lib/copy-acl.c (qcopy_acl) [CYGWIN]: Call chmod before setting the
28713         ACL, not afterwards. Fixes test failure on Cygwin.
28714
28715 2008-10-09  Ben Pfaff  <blp@gnu.org>
28716
28717         * build-aux/announce-gen: Fix gnulib version related part of usage
28718         message.  Die with a useful error message if no tarballs are
28719         found.
28720
28721 2008-10-10  Jim Meyering  <meyering@redhat.com>
28722
28723         bootstrap: use git's --depth=N option only if it's supported
28724         * build-aux/bootstrap: Work with git-1.4.4.4, which does not
28725         recognize the --depth option.  Reported by Pádraig Brady.
28726
28727 2008-10-09  Bruno Haible  <bruno@clisp.org>
28728
28729         New module 'ioctl'.
28730         * modules/ioctl: New file.
28731         * lib/sys_socket.in.h (ioctl): Remove declaration.
28732         * lib/winsock.c: Include <sys/ioctl.h>.
28733         (rpl_ioctl): Define only of the gnulib module 'ioctl' is present.
28734         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
28735         gl_SYS_IOCTL_H_DEFAULTS. Set also SYS_IOCTL_H_HAVE_WINSOCK2_H.
28736         * modules/sys_socket (Files): Add m4/sys_ioctl_h.m4.
28737         * doc/posix-functions/ioctl.texi: Mention the new module.
28738
28739 2008-10-09  Bruno Haible  <bruno@clisp.org>
28740
28741         New module 'sys_ioctl'.
28742         * lib/sys_ioctl.in.h: New file.
28743         * m4/sys_ioctl_h.m4: New file.
28744         * modules/sys_ioctl: New file.
28745         * doc/glibc-headers/sys_ioctl.texi: Mention the new module.
28746
28747 2008-10-09  Bruno Haible  <bruno@clisp.org>
28748
28749         * lib/sys_socket.in.h (ioctl): Make signature POSIX compliant.
28750         * lib/winsock.c: Include <stdarg.h>.
28751         (rpl_ioctl): Change to second argument 'int' and then varargs.
28752
28753 2008-10-09  Bruno Haible  <bruno@clisp.org>
28754
28755         * m4/close.m4 (gl_FUNC_CLOSE): Arrange to replace the close() function
28756         when the sys_socket module is present and the system has <winsock2.h>.
28757
28758 2008-10-09  Bruno Haible  <bruno@clisp.org>
28759
28760         * doc/posix-functions/close.texi: Mention module 'close' instead of
28761         module 'sys_socket'.
28762
28763 2008-10-09  Bruno Haible  <bruno@clisp.org>
28764
28765         * doc/glibc-headers/sys_ioctl.texi: New file.
28766         * doc/gnulib.texi: Include it.
28767
28768 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
28769             Bruno Haible  <bruno@clisp.org>
28770
28771         Combine the two replacements of 'close'.
28772         * lib/sys_socket.in.h (close): Define to a reminder to include
28773         <unistd.h>.
28774         (_gl_close_fd_maybe_socket): New declaration.
28775         (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): New macro.
28776         * lib/winsock.c (close): Remove undefinition.
28777         (_gl_close_fd_maybe_socket): Renamed from rpl_close. Define only when
28778         needed for the gnulib module 'close'.
28779         * lib/unistd.in.h (close): If the gnulib module 'close' is not used,
28780         define to an error symbol or to a warning, if suitable.
28781         * lib/close.c: Include <sys/socket.h>.
28782         (rpl_close): Invoke _gl_close_fd_maybe_socket when gnulib defines it.
28783         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Set also
28784         UNISTD_H_HAVE_WINSOCK2_H.
28785         (gl_SYS_SOCKET_H_DEFAULTS): Require gl_UNISTD_H_DEFAULTS.
28786         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
28787         UNISTD_H_HAVE_WINSOCK2_H.
28788         * modules/sys_socket (Files): Add m4/unistd_h.m4.
28789         (configure.ac): Set a module indicator.
28790         (Makefile.am): Substitute GNULIB_CLOSE.
28791         * modules/unistd (Makefile.am): Substitute UNISTD_H_HAVE_WINSOCK2_H.
28792         * modules/poll-tests (Depends-on): Add close.
28793         * modules/select-tests (Depends-on): Likewise.
28794
28795 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
28796             Bruno Haible  <bruno@clisp.org>
28797
28798         New module 'close'.
28799         * modules/close: New file.
28800         * lib/unistd.in.h (close): Move declaration out of the
28801         FCHDIR_REPLACEMENT scope.
28802         (_gl_unregister_fd): New declaration.
28803         * lib/close.c: New file.
28804         * lib/fchdir.c (rpl_close): Remove function.
28805         * m4/close.m4: New file.
28806         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
28807         close.
28808         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CLOSE and
28809         REPLACE_CLOSE.
28810         * modules/unistd (Makefile.am): Substitute GNULIB_CLOSE and
28811         REPLACE_CLOSE.
28812         * modules/fchdir (Depends-on): Add close.
28813
28814 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
28815             Bruno Haible  <bruno@clisp.org>
28816
28817         * lib/fcntl.in.h (open): Simplify conditionals.
28818         (_gl_register_fd): New declaration.
28819         * lib/fchdir.c (rpl_open): Remove function.
28820         * lib/open.c: When FCHDIR_REPLACEMENT is defined, compile the file
28821         also.
28822         (open): When FCHDIR_REPLACEMENT is defined, invoke _gl_register_fd.
28823         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
28824         open.
28825
28826 2008-10-09  Jim Meyering  <meyering@redhat.com>
28827
28828         GNUmakefile: use the more name-space-friendly "_version"
28829         * top/GNUmakefile (_dummy): Update.
28830         (_version): Rename from "version".
28831
28832 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
28833             Bruno Haible  <bruno@clisp.org>
28834
28835         * lib/fchdir.c (_gl_unregister_fd): New functions, extracted from
28836         rpl_close.
28837         (_gl_register_fd): New function, extracted from rpl_open.
28838         (rpl_close, rpl_closedir): Use _gl_unregister_fd.
28839         (rpl_open, rpl_opendir): Use _gl_register_fd.
28840
28841 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
28842
28843         Fix organization of 'open' replacement.
28844         * m4/open.m4 (gl_REPLACE_OPEN): New macro.
28845         (gl_FUNC_OPEN): Use it.
28846         (gl_PREREQ_OPEN): Add a : to make the body non-empty.
28847
28848 2008-10-08  Bruno Haible  <bruno@clisp.org>
28849
28850         * modules/getdate-tests (test_getdata_LDADD): Add LIBINTL.
28851
28852 2008-10-08  Simon Josefsson  <simon@josefsson.org>
28853
28854         * m4/sys_socket_h.m4: Don't AC_LIBOBJ(winsock).  The file is
28855         AC_LIBOBJ'ed by each gnulib module that needs it (e.g., socket,
28856         listen).
28857
28858 2008-10-08  Eric Blake  <ebb9@byu.net>
28859
28860         GNUmakefile: add 'make version' target
28861         * top/GNUmakefile (_curr-ver): Split version update rules...
28862         (version): ...into a target.
28863
28864 2008-10-07  Bruno Haible  <bruno@clisp.org>
28865
28866         Use a more portable replacement expression for -0.0L.
28867         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Use -LDBL_MIN * LDBL_MIN
28868         instead of -0.0L. Fix m4 quotation.
28869
28870         * tests/test-signbit.c: Include <float.h>.
28871         (minus_zero): New variable.
28872         (test_signbitl): Use minus_zero instead of -zero.
28873         * modules/signbit-tests (Depends-on): Add float.
28874
28875         * tests/test-ceill.c: Include <float.h>.
28876         (zero): Remove variable.
28877         (minus_zero): New variable.
28878         (main): Use minus_zero instead of -zero.
28879         * modules/ceill-tests (Depends-on): Add float.
28880
28881         * tests/test-floorl.c: Include <float.h>.
28882         (zero): Remove variable.
28883         (minus_zero): New variable.
28884         (main): Use minus_zero instead of -zero.
28885         * modules/floorl-tests (Depends-on): Add float.
28886
28887         * tests/test-roundl.c: Include <float.h>.
28888         (zero): Remove variable.
28889         (minus_zero): New variable.
28890         (main): Use minus_zero instead of -zero.
28891         * modules/roundl-tests (Depends-on): Add float.
28892
28893         * tests/test-truncl.c: Include <float.h>.
28894         (zero): Remove variable.
28895         (minus_zero): New variable.
28896         (main): Use minus_zero instead of -zero.
28897         * modules/truncl-tests (Depends-on): Add float.
28898
28899         * tests/test-frexpl.c (zero): Remove variable.
28900         (minus_zero): New variable.
28901         (main): Use minus_zero instead of -zero.
28902         * modules/frexpl-tests (Depends-on): Add float.
28903
28904         * tests/test-isnan.c (zerol): Remove variable.
28905         (minus_zerol): New variable.
28906         (test_long_double): Use minus_zerol instead of -zerol.
28907         * modules/isnan-tests (Depends-on): Add float.
28908
28909         * tests/test-isnanl.h (zero): Remove variable.
28910         (minus_zero): New variable.
28911         (main): Use minus_zero instead of -zero.
28912         * modules/isnanl-nolibm-tests (Depends-on): Add float.
28913         * modules/isnanl-tests (Depends-on): Add float.
28914
28915         * tests/test-ldexpl.c (zero): Remove variable.
28916         (minus_zero): New variable.
28917         (main): Use minus_zero instead of -zero.
28918         * modules/ldexpl-tests (Depends-on): Add float.
28919
28920         * tests/test-snprintf-posix.h (zerol): Remove variable.
28921         (minus_zerol): New variable.
28922         (test_function): Use minus_zerol instead of -zerol.
28923         * modules/snprintf-posix-tests (Depends-on): Add float.
28924         * modules/vsnprintf-posix-tests (Depends-on): Add float.
28925
28926         * tests/test-sprintf-posix.h (zerol): Remove variable.
28927         (minus_zerol): New variable.
28928         (test_function): Use minus_zerol instead of -zerol.
28929         * modules/sprintf-posix-tests (Depends-on): Add float.
28930         * modules/vsprintf-posix-tests (Depends-on): Add float.
28931
28932         * tests/test-vasnprintf-posix.c (zerol): Remove variable.
28933         (minus_zerol): New variable.
28934         (test_function): Use minus_zerol instead of -zerol.
28935         * modules/vasnprintf-posix-tests (Depends-on): Add float.
28936
28937         * tests/test-vasprintf-posix.c (zerol): Remove variable.
28938         (minus_zerol): New variable.
28939         (test_function): Use minus_zerol instead of -zerol.
28940         * modules/vasprintf-posix-tests (Depends-on): Add float.
28941
28942 2008-10-07  Simon Josefsson  <simon@josefsson.org>
28943
28944         * MODULES.html.sh (Support for building documentation): Mention
28945         pmccabe2html.  Sort entries.
28946
28947         Add pmccabe2html module, from gnupdf.
28948         * build-aux/pmccabe.css: New file.
28949         * build-aux/pmccabe2html: New file.
28950         * m4/pmccabe2html.m4: New file.
28951         * modules/pmccabe2html: New file.
28952
28953 2008-10-07  Richard W.M. Jones <rjones@redhat.com>
28954
28955         flock: new module
28956         * MODULES.html.sh: Add to list of modules.
28957         * lib/flock.c: flock implementation for Windows and Unix systems
28958         which have fcntl.
28959         * doc/glibc-functions/flock.texi: Update documentation.
28960         * lib/sys_file.in.h: <sys/file.h> header file.
28961         * m4/flock.m4: M4 macros.
28962         * m4/sys_file_h.m4: M4 macros for replacement sys/file.h.
28963         * modules/flock: flock module.
28964         * modules/flock-tests: flock tests module.
28965         * modules/sys_file: sys/file.h module.
28966         * tests/test-flock.c: test suite for flock.
28967
28968 2008-10-06  Jim Meyering  <meyering@redhat.com>
28969
28970         bootstrap: check for LT_INIT more portably still ;-)
28971         * build-aux/bootstrap: Don't rely on \>, since it's not portable.
28972         Spotted by Bruno Haible.
28973
28974 2008-10-06  Eric Blake  <ebb9@byu.net>
28975
28976         test-signbit: avoid tripping Irix cc bug on -0.0L
28977         * tests/test-signbit.c (minus_zerol): Delete, and replace with
28978         '-zerol'.  This may break on HP-UX/hppa, but at least makes the
28979         entire testsuite consistent and avoids an Irix 6.2 bug.
28980
28981 2008-10-05  Bruno Haible  <bruno@clisp.org>
28982             Jim Meyering  <jim@meyering.net>
28983
28984         Add an option for ignoring EPIPE during close_stdout.
28985         * lib/closeout.h: Include <stdbool.h>.
28986         (close_stdout_set_ignore_EPIPE): New declaration.
28987         * lib/closeout.c: Include <stdbool.h>.
28988         (ignore_EPIPE): New variable.
28989         (close_stdout_set_ignore_EPIPE): New function.
28990         (close_stdout): Ignore EPIPE error if ignore_EPIPE is set.
28991         * lib/close-stream.c (close_stream): Mention the possible EPIPE
28992         failure.
28993         * modules/closeout (Depends-on): Add stdbool.
28994
28995 2008-10-05  Bruno Haible  <bruno@clisp.org>
28996
28997         * modules/accept: New file.
28998         * modules/bind: New file.
28999         * modules/connect: New file.
29000         * modules/getpeername: New file.
29001         * modules/getsockname: New file.
29002         * modules/getsockopt: New file.
29003         * modules/listen: New file.
29004         * modules/recv: New file.
29005         * modules/recvfrom: New file.
29006         * modules/send: New file.
29007         * modules/sendto: New file.
29008         * modules/setsockopt: New file.
29009         * modules/socket: New file.
29010         * lib/sys_socket.in.h: Include the GL_LINK_WARNING definition.
29011         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
29012         listen, recv, send, recvfrom, sendto, setsockopt): Declare only when
29013         the particular module is requested. Add a link warning when the
29014         particular module is not requested.
29015         * lib/winsock.c (rpl_socket, rpl_connect, rpl_accept, rpl_bind,
29016         rpl_getpeername, rpl_getsockname, rpl_getsockopt, rpl_listen, rpl_recv,
29017         rpl_send, rpl_recvfrom, rpl_sendto, rpl_setsockopt): Define only when
29018         the particular module is requested.
29019         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR,
29020         gl_SYS_SOCKET_H_DEFAULTS): New macros.
29021         (gl_HEADER_SYS_SOCKET): Require gl_SYS_SOCKET_H_DEFAULTS.
29022         * modules/sys_socket (Depends-on): Add link-warning.
29023         (Makeifle.am): Substitute GNULIB_SOCKET, GNULIB_CONNECT, GNULIB_ACCEPT,
29024         GNULIB_BIND, GNULIB_GETPEERNAME, GNULIB_GETSOCKNAME, GNULIB_GETSOCKOPT,
29025         GNULIB_LISTEN, GNULIB_RECV, GNULIB_SEND, GNULIB_RECVFROM,
29026         GNULIB_SENDTO, GNULIB_SETSOCKOPT, and the definition of
29027         GL_LINK_WARNING.
29028         * doc/posix-functions/accept.texi: Mention the new module 'accept'.
29029         * doc/posix-functions/bind.texi: Mention the new module 'bind'.
29030         * doc/posix-functions/connect.texi: Mention the new module 'connect'.
29031         * doc/posix-functions/getpeername.texi: Mention the new module
29032         'getpeername'.
29033         * doc/posix-functions/getsockname.texi: Mention the new module
29034         'getsockname'.
29035         * doc/posix-functions/getsockopt.texi: Mention the new module
29036         'getsockopt'.
29037         * doc/posix-functions/listen.texi: Mention the new module 'listen'.
29038         * doc/posix-functions/recv.texi: Mention the new module 'recv'.
29039         * doc/posix-functions/recvfrom.texi: Mention the new module 'recvfrom'.
29040         * doc/posix-functions/send.texi: Mention the new module 'send'.
29041         * doc/posix-functions/sendto.texi: Mention the new module 'sendto'.
29042         * doc/posix-functions/setsockopt.texi: Mention the new module
29043         'setsockopt'.
29044         * doc/posix-functions/socket.texi: Mention the new module 'socket'.
29045         * modules/poll-tests (Depends-on): Add socket, bind, getsockopt,
29046         listen, connect, accept.
29047         * modules/select-tests (Depends-on): Likewise.
29048
29049 2008-10-05  Bruno Haible  <bruno@clisp.org>
29050
29051         * lib/winsock.c (strerror): Remove unused #undef.
29052         (rpl_close): Remove unused local variable.
29053
29054         * modules/sys_socket (Depends-on); Add errno.
29055
29056 2008-10-05  Bruno Haible  <bruno@clisp.org>
29057
29058         * lib/sys_select.in.h: Include the GL_LINK_WARNING definition.
29059         (select): Add a link warning when the 'select' module is not used.
29060         * modules/sys_select (Depends-on): Add link-warning.
29061         (Makefile.am): Substitute the definition of GL_LINK_WARNING.
29062         Suggested by Paolo Bonzini.
29063
29064 2008-10-05  Jim Meyering  <meyering@redhat.com>
29065
29066         bootstrap: check for LT_INIT more portably
29067         * build-aux/bootstrap: Avoid using grep -E, since it's not
29068         portable enough.  Suggestion from Bruno Haible.
29069
29070 2008-10-05  Bruno Haible  <bruno@clisp.org>
29071
29072         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem
29073         as being fixed by gnulib.
29074
29075 2008-10-05  Bruno Haible  <bruno@clisp.org>
29076
29077         * modules/select-tests: New file, mostly copied from
29078         modules/sys_select-tests.
29079         * tests/test-select.c: New file, mostly copied from
29080         tests/test-sys_select.c.
29081         * tests/test-sys_select.c: Move most of the code to tests/test-select.c.
29082         * modules/sys_select-tests (Depends-on): Remove all dependencies.
29083         (Makefile.am): Remove test_sys_select_LDADD.
29084
29085         * lib/sys_select.in.h (select): If GNULIB_SELECT is not set, define it
29086         to an undefined symbol, for an error message.
29087         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): New macro.
29088         (gl_SYS_SELECT_H_DEFAULTS): New macro.
29089         (gl_HEADER_SYS_SELECT): Require it. Don't require compilation of
29090         winsock-select.c here.
29091         * modules/sys_select (Files): Remove lib/winsock-select.c.
29092         (Depends-on): Remove alloca.
29093         (Makefile.am): Substitute GNULIB_SELECT.
29094         * modules/select: New file.
29095         * doc/posix-functions/select.texi: Update.
29096
29097 2008-10-05  Bruno Haible  <bruno@clisp.org>
29098
29099         * lib/spawn_faction_addclose.c (__sysconf): Use getdtablesize always.
29100         * lib/spawn_faction_adddup2.c (__sysconf): Likewise.
29101         * lib/spawn_faction_addopen.c (__sysconf): Likewise.
29102         * modules/posix_spawn_file_actions_addclose (Depends-on): Add
29103         getdtablesize.
29104         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
29105         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
29106
29107 2008-10-05  Bruno Haible  <bruno@clisp.org>
29108
29109         * modules/getdtablesize-tests: New file.
29110         * tests/test-getdtablesize.c: New file.
29111
29112         New module 'getdtablesize'.
29113         * lib/unistd.in.h (getdtablesize): New declaration.
29114         * lib/getdtablesize.c: New file.
29115         * m4/getdtablesize.m4: New file.
29116         * modules/getdtablesize: New file.
29117         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
29118         GNULIB_GETDTABLESIZE, HAVE_GETDTABLESIZE.
29119         * modules/unistd (Makefile.am): Substitute GNULIB_GETDTABLESIZE,
29120         HAVE_GETDTABLESIZE.
29121         * doc/glibc-functions/getdtablesize.texi: Mention the new module.
29122
29123 2008-10-05  Bruno Haible  <bruno@clisp.org>
29124
29125         * modules/sched (Makefile.am): Fix typo.
29126         Reported by Simon Josefsson.
29127
29128 2008-10-05  Jim Meyering  <meyering@redhat.com>
29129
29130         bootstrap: check for LT_INIT, too
29131         * build-aux/bootstrap: Both AC_PROG_LIBTOOL and AM_PROG_LIBTOOL
29132         are deprecated.  Suggestion from Ralf Wildenhues.
29133
29134 2008-10-05  Bruno Haible  <bruno@clisp.org>
29135
29136         * lib/spawn.in.h (POSIX_SPAWN_*): Use the system's values, rather than
29137         overriding them by ours.
29138         (POSIX_SPAWN_USEVFORK): Use the next free bit position.
29139
29140 2008-10-05  Jim Meyering  <meyering@redhat.com>
29141
29142         bootstrap: check for AC_PROG_LIBTOOL as well as AM_PROG_LIBTOOL
29143         * build-aux/bootstrap: Check for AC_PROG_LIBTOOL, as well as the
29144         obsolete AM_PROG_LIBTOOL.  Spotted by Debarshi Ray <rishi@gnu.org>.
29145
29146 2008-10-04  Bruno Haible  <bruno@clisp.org>
29147
29148         * modules/dup2 (License): Change to LGPLv2+.
29149         * modules/sleep (License): Likewise.
29150         * modules/perror (License): Likewise.
29151         * modules/fopen (License): Change to LGPLv2+, with approval by Eric
29152         Blake.
29153         * modules/signal (License): Likewise.
29154         * modules/sigprocmask (License): Likewise.
29155         * modules/raise (License): Change to LGPLv2+, with approval by Jim
29156         Meyering.
29157
29158 2008-10-04  Bruno Haible  <bruno@clisp.org>
29159
29160         * lib/spawn.in.h (POSIX_SPAWN_*): Undefine before redefining.
29161         Reported by Rainer Tammer <tammer@tammer.net>.
29162
29163 2008-10-03  Paolo Bonzini  <bonzini@gnu.org>
29164             Bruno Haible  <bruno@clisp.org>
29165
29166         * lib/errno.in.h (EWOULDBLOCK) [win32]: Define to EAGAIN.
29167         * lib/winsock.c (set_winsock_errno): Map WSAEWOULDBLOCK to EWOULDBLOCK.
29168         * lib/strerror.c (rpl_strerror): Remove error string for EWOULDBLOCK.
29169
29170 2008-10-03  Kamil Dudka  <kdudka@redhat.com>
29171
29172         filevercmp: new module
29173         * lib/filevercmp.h: New function filevercmp comparing version strings.
29174         * lib/filevercmp.c: Implementation of filevercmp function.
29175         * modules/filevercmp: Module metadata.
29176         * tests/test-filevercmp.c: Unit test for new module.
29177         * modules/filevercmp-tests: Unit test metadata.
29178         * MODULES.html.sh: Add filevercmp module.
29179
29180 2008-10-03  Bruno Haible  <bruno@clisp.org>
29181
29182         * lib/c-ctype.h: Add comment.
29183         Reported by Jim Meyering.
29184
29185 2008-10-02  Bruno Haible  <bruno@clisp.org>
29186
29187         * modules/posix_spawn-internal (Depends-on): Add 'open'.
29188
29189 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
29190
29191         * build-aux/bootstrap: Allow renaming bootstrap, and change the
29192         name of bootstrap.conf accordingly.
29193
29194 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
29195
29196         * build-aux/bootstrap: Install git-merge-changelog configuration
29197         items into .gitconfig if needed.
29198
29199 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
29200
29201         * build-aux/bootstrap: Recognize `gnulib' being a submodule in a
29202         git repository, and initialize/update it accordingly.
29203
29204 2008-10-02  Richard W.M. Jones  <rjones@redhat.com>
29205
29206         * modules/fsync-tests: New file.
29207         * tests/test-fsync.c: New file.
29208
29209         New module 'fsync'.
29210         * lib/fsync.c: New file.
29211         * m4/fsync.m4: New file.
29212         * modules/fsync: New file.
29213         * lib/unistd.in.h (fsync): New declaration.
29214         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define and AC_SUBST both
29215         GNULIB_FSYNC and HAVE_FSYNC.
29216         * modules/unistd: Substitute GNULIB_FSYNC and HAVE_FSYNC.
29217         * MODULES.html.sh (posix_functions): Add fsync.
29218         * doc/posix-functions/fsync.texi: Mention the new module.
29219
29220 2008-10-02  Jim Meyering  <meyering@redhat.com>
29221
29222         fts.c: sync with similar code from coreutils' remove.c
29223         * lib/fts.c (dirent_inode_sort_may_be_useful): Merge from coreutils.
29224         Guard also with "#if defined __linux__", since for now at least,
29225         this code is Linux-kernel-specific.
29226
29227 2008-10-02  Jim Meyering  <meyering@redhat.com>
29228
29229         fts: bug fixes
29230         * lib/fts.c: Remove unnecessary "defined" in cpp directive.
29231         Include <sys/vfs.h>, not <sys/statfs.h>.
29232
29233         * m4/fts.m4 (gl_FUNC_FTS_CORE): Fix typo s/vfs/vfs.h/.
29234         Include <sys/vfs.h>, not <sys/statfs.h>.
29235
29236 2008-10-01  Bruno Haible  <bruno@clisp.org>
29237
29238         Avoid the broken posix_spawn function on AIX 5.3 and 6.1.
29239         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): New macro.
29240         (gl_POSIX_SPAWN_BODY): Invoke it. Set REPLACE_POSIX_SPAWN if needed.
29241         * doc/posix-functions/posix_spawn.texi: Mention the AIX bugs.
29242         * doc/posix-functions/posix_spawnp.texi: Likewise.
29243         * m4/execute.m4 (gl_EXECUTE): Invoke gl_POSIX_SPAWN_WORKS, to check
29244         whether posix_spawn actually works.
29245         * m4/pipe.m4 (gl_PIPE): Likewise.
29246         * modules/execute (Files): Add m4/posix_spawn.m4.
29247         * modules/pipe (Files): Add m4/posix_spawn.m4.
29248         Reported and analyzed by Rainer Tammer <tammer@tammer.net>.
29249
29250 2008-10-01  Jim Meyering  <meyering@redhat.com>
29251
29252         remove trailing spaces
29253         * NEWS: Likewise.
29254         * lib/poll.c (poll): Likewise.
29255         * lib/sys_socket.in.h (SHUT_RDWR): Likewise.
29256         * lib/winsock.c (rpl_close): Likewise.
29257         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Likewise.
29258         * modules/yield: Likewise.
29259         * tests/test-poll.c (connect_to_socket, poll1): Likewise.
29260         * tests/test-sys_select.c (connect_to_socket): Likewise.
29261
29262         fts.c: adjust a new interface to be more generally useful
29263         * lib/fts.c (dirent_inode_sort_may_be_useful): Take an FD parameter.
29264         (fts_build): Adjust caller.
29265
29266 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
29267
29268         * modules/cond-tests: New file.
29269         * tests/test-cond.c: New file.
29270
29271 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
29272             Bruno Haible  <bruno@clisp.org>
29273
29274         * modules/cond (Dependencies): Add errno, time.
29275         * lib/glthread/cond.h: Include <time.h>.
29276         (gl_cond_define, gl_cond_define_initialized): Use the same definition
29277         across platforms.
29278
29279 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
29280             Bruno Haible  <bruno@clisp.org>
29281
29282         * m4/thread.m4 (gl_THREAD): Fix detection of pthread_atfork function.
29283
29284 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
29285             Bruno Haible  <bruno@clisp.org>
29286
29287         * modules/tls-tests (Depends-on): Add thread, yield.
29288         (configure.ac): Remove all checks.
29289         (test_tls_LDADD): Use YIELD_LIB instead of LIBSCHED.
29290         * tests/test-tls.c (gl_thread_t, gl_thread_join, gl_thread_yield,
29291         gl_thread_self): Remove definitions. Include glthread/thread.h and
29292         glthread/yield.h instead.
29293         (test_tls): Pass an additional NULL argument to gl_thread_join.
29294
29295 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
29296             Bruno Haible  <bruno@clisp.org>
29297
29298         * modules/lock-tests (Depends-on): Add thread, yield.
29299         (configure.ac): Remove all checks.
29300         (test_lock_LDADD): Use YIELD_LIB instead of LIBSCHED.
29301         * tests/test-lock.c (gl_thread_t, gl_thread_join, gl_thread_yield,
29302         gl_thread_self): Remove definitions. Include glthread/thread.h and
29303         glthread/yield.h instead.
29304         (test_lock, test_rwlock, test_recursive_lock, test_once): Pass an
29305         additional NULL argument to gl_thread_join.
29306
29307 2008-09-30  Bruno Haible  <bruno@clisp.org>
29308
29309         Fix the Win32 implementation of the 'thread' module.
29310         * lib/glthread/thread.h [USE_WIN32_THREADS] (gl_thread_t): Change to a
29311         pointer type.
29312         (gl_thread_self): Invoke gl_thread_self_func.
29313         (gl_thread_self_func): New declaration.
29314         * lib/glthread/thread.c [USE_WIN32_THREADS] (self_key): New variable.
29315         (do_init_self_key, init_self_key): New functions.
29316         (struct gl_thread_struct): Renamed from 'struct thread_extra'.
29317         Remove some fields.
29318         (running_threads, running_lock): Remove variables.
29319         (get_current_thread_handle): New function.
29320         (gl_thread_self_func, wrapper_func, glthread_create_func,
29321         glthread_join_func, gl_thread_exit_func): Largely rewritten and
29322         simplified.
29323
29324 2008-09-30  Bruno Haible  <bruno@clisp.org>
29325
29326         * lib/winsock-select.c (win32_poll_handle): Add shortcut for regular
29327         files.
29328
29329 2008-09-30  Jim Meyering  <meyering@redhat.com>
29330
29331         fts.m4: correct the test for statfs.f_type
29332         * m4/fts.m4 (gl_FUNC_FTS_CORE): Include <sys/statfs.h>
29333         when checking for statfs.f_type.
29334
29335 2008-09-15  Simon Josefsson  <simon@josefsson.org>
29336
29337         tests: avoid some compiler warnings
29338         * tests/test-memchr.c (main): Pass NULL indirectly.
29339         * tests/test-getdate.c (main): Remove unused variable 'ret'.
29340
29341 2008-09-29  OndÅ™ej Vašík  <ovasik@redhat.com>
29342
29343         getdate.y: disallow countable dayshifts like "4 yesterday ago"
29344         * lib/getdate.y (relative_time_table) [tDAY_SHIFT]: New type for
29345         exactly specified dayshifts.
29346         (dayshift): New rule.
29347         (rel): Add dayshift.
29348         (relative_time_table) [tomorrow, yesterday, today, now]:
29349         Use tDAY_SHIFT in place of tDAY_UNIT.
29350         * tests/test-getdate.c: Add tests for now-disallowed countable
29351         dayshifts, e.g., "4 yesterday ago".
29352
29353 2008-09-29  Bruno Haible  <bruno@clisp.org>
29354
29355         * tests/test-posix_spawn1.c: Renamed from tests/test-posix_spawn.c.
29356         * tests/test-posix_spawn1.in.sh: Renamed from
29357         tests/test-posix_spawn.in.sh.
29358         * tests/test-posix_spawn2.c: New file.
29359         * tests/test-posix_spawn2.in.sh: New file.
29360         * modules/posix_spawnp-tests (Files): Update.
29361         (Makefile.am): Update. Add test-posix_spawn2 to the tests.
29362
29363 2008-09-29  Bruno Haible  <bruno@clisp.org>
29364
29365         Propagate effects of putenv/setenv/unsetenv to child processes.
29366         * lib/execute.c (execute): Use spawnvpe instead of spawnvp.
29367         * lib/pipe.c (create_pipe): Likewise.
29368
29369 2008-09-29  Bruno Haible  <bruno@clisp.org>
29370
29371         Enable use of shell scripts as executables in mingw.
29372         * lib/execute.c (execute): When spawnv fails with error ENOEXEC,
29373         run the program as a shell script.
29374         * lib/pipe.c (create_pipe): Likewise.
29375         * lib/w32spawn.h (prepare_spawn): Add a hidden element in front of the
29376         resulting array.
29377
29378 2008-09-29  Eric Blake  <ebb9@byu.net>
29379
29380         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Fix typo.
29381
29382 2008-08-24  Paolo Bonzini  <bonzini@gnu.org>
29383
29384         * doc/posix-functions/accept.texi: Update mingw problems.
29385         * doc/posix-functions/bind.texi: Update mingw problems.
29386         * doc/posix-functions/close.texi: Update mingw problems.
29387         * doc/posix-functions/connect.texi: Update mingw problems.
29388         * doc/posix-functions/getpeername.texi: Update mingw problems.
29389         * doc/posix-functions/getsockname.texi: Update mingw problems.
29390         * doc/posix-functions/getsockopt.texi: Update mingw problems.
29391         * doc/posix-functions/ioctl.texi: Update mingw problems.
29392         * doc/posix-functions/listen.texi: Update mingw problems.
29393         * doc/posix-functions/recv.texi: Update mingw problems.
29394         * doc/posix-functions/recvfrom.texi: Update mingw problems.
29395         * doc/posix-functions/select.texi: Update mingw problems.
29396         * doc/posix-functions/send.texi: Update mingw problems.
29397         * doc/posix-functions/sendto.texi: Update mingw problems.
29398         * doc/posix-functions/setsockopt.texi: Update mingw problems.
29399         * doc/posix-functions/socket.texi: Update mingw problems.
29400
29401 2008-09-29  Paolo Bonzini  <bonzini@gnu.org>
29402             Bruno Haible  <bruno@clisp.org>
29403
29404         * lib/sys_select.in.h: Include sys/time.h.
29405         * m4/sys_select.h.m4: Test that struct timeval is fully defined.
29406         * modules/sys_select: Depend on sys_time.
29407         * tests/test-sys_select.c: Test that sys/select.h defines struct
29408         timeval fully.
29409
29410 2008-09-29  Bruno Haible  <bruno@clisp.org>
29411
29412         * lib/sys_socket.in.h: Wrap the definitions in 'extern "C"'.
29413         * lib/sys_select.in.h: Likewise.
29414
29415 2008-09-29  Bruno Haible  <bruno@clisp.org>
29416
29417         * lib/winsock.c (rpl_close, rpl_socket): Remove unused variables.
29418
29419 2008-09-29  Bruno Haible  <bruno@clisp.org>
29420
29421         * m4/sockets.m4 (gl_SOCKETS): Check also for the need to use -lsocket.
29422         Set LIBSOCKET instead of augmenting LIBS.
29423         * modules/sockets (Link): New section.
29424         * modules/sockets-tests (test_sockets_LDADD): New variable.
29425         * modules/sys_select-tests (test_sys_select_LDADD): New variable.
29426         * modules/poll-tests (test_poll_LDADD): New variable.
29427         * NEWS: Document the change.
29428
29429 2008-09-29  Bruno Haible  <bruno@clisp.org>
29430
29431         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): New macro.
29432         * m4/inet_ntop.m4 (gl_INET_NTOP): Invoke it instead of assigning
29433         ARPA_INET_H directly.
29434         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
29435
29436 2008-09-28  Bruno Haible  <bruno@clisp.org>
29437
29438         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): New macro, extracted
29439         from gl_HEADER_SYS_SOCKET.
29440         (gl_HEADER_SYS_SOCKET): Invoke it.
29441         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
29442
29443 2008-09-28  Bruno Haible  <bruno@clisp.org>
29444
29445         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem.
29446         * tests/test-sys_select.c: Include <sys/time.h>, for struct timeval.
29447         Needed on OSF/1 4.0.
29448
29449 2008-09-28  Bruno Haible  <bruno@clisp.org>
29450
29451         Override open more carefully.
29452         * lib/open.c (orig_open): New function.
29453         (rpl_open): Use orig_open instead of open.
29454         * lib/fcntl.in.h: Add special invocation convention.
29455         * m4/open.m4 (gl_PREREQ_OPEN): New macro.
29456         (gl_FUNC_OPEN): Invoke it.
29457
29458         Override freopen more carefully.
29459         * lib/freopen.c (orig_freopen): New function.
29460         (rpl_freopen): Use orig_freopen instead of freopen.
29461         * m4/freopen.m4 (gl_PREREQ_FREOPEN): New macro.
29462         (gl_FUNC_FREOPEN): Invoke it.
29463
29464         Override fopen more carefully.
29465         * lib/fopen.c (orig_fopen): New function.
29466         (rpl_fopen): Use orig_fopen instead of fopen.
29467         * m4/fopen.m4 (gl_PREREQ_FOPEN): New macro.
29468         (gl_FUNC_FOPEN): Invoke it.
29469         Needed on AIX. Reported by Rainer Tammer <tammer@tammer.net>.
29470
29471 2008-09-28  Bruno Haible  <bruno@clisp.org>
29472
29473         * lib/pipe.h (create_pipe_out, create_pipe_bidi): Add comment about
29474         SIGPIPE.
29475
29476 2008-09-28  Bruno Haible  <bruno@clisp.org>
29477
29478         * tests/test-sigaction.c (handler, main): Disable the check whether
29479         SA_RESETHAND has reverted the installed handler to SIG_DFL. Needed on
29480         glibc systems with LinuxThreads.
29481
29482 2008-09-28  Bruno Haible  <bruno@clisp.org>
29483
29484         * doc/posix-functions/freopen.texi: Mention the trailing slash problem.
29485
29486         * lib/stdio.in.h (fopen, freopen): Undefine before redefining. Needed
29487         with AIX xlc.
29488         * lib/fcntl.in.h (open): Likewise.
29489         Reported by Rainer Tammer <tammer@tammer.net>.
29490
29491 2008-09-28  Bruno Haible  <bruno@clisp.org>
29492
29493         * modules/posix_spawnp-tests: New file.
29494         * tests/test-posix_spawn.c: New file.
29495         * tests/test-posix_spawn.in.sh: New file.
29496
29497         New module 'posix_spawnp'.
29498         * modules/posix_spawnp: New file.
29499         * lib/spawnp.c: New file, from GNU libc with modifications.
29500         * doc/posix-functions/posix_spawnp.texi: Mention the new module.
29501
29502         New module 'posix_spawn'.
29503         * modules/posix_spawn: New file.
29504         * lib/spawn.c: New file, from GNU libc with modifications.
29505         * doc/posix-functions/posix_spawn.texi: Mention the new module.
29506
29507         New module 'posix_spawnattr_destroy'.
29508         * modules/posix_spawnattr_destroy: New file.
29509         * lib/spawnattr_destroy.c: New file, from GNU libc with modifications.
29510         * doc/posix-functions/posix_spawnattr_destroy.texi: Mention the new
29511         module.
29512
29513         New module 'posix_spawnattr_setsigmask'.
29514         * modules/posix_spawnattr_setsigmask: New file.
29515         * lib/spawnattr_setsigmask.c: New file, from GNU libc with
29516         modifications.
29517         * doc/posix-functions/posix_spawnattr_setsigmask.texi: Mention the
29518         new module.
29519
29520         New module 'posix_spawnattr_getsigmask'.
29521         * modules/posix_spawnattr_getsigmask: New file.
29522         * lib/spawnattr_getsigmask.c: New file, from GNU libc with
29523         modifications.
29524         * doc/posix-functions/posix_spawnattr_getsigmask.texi: Mention the
29525         new module.
29526
29527         New module 'posix_spawnattr_setsigdefault'.
29528         * modules/posix_spawnattr_setsigdefault: New file.
29529         * lib/spawnattr_setdefault.c: New file, from GNU libc with
29530         modifications.
29531         * doc/posix-functions/posix_spawnattr_setsigdefault.texi: Mention the
29532         new module.
29533
29534         New module 'posix_spawnattr_getsigdefault'.
29535         * modules/posix_spawnattr_getsigdefault: New file.
29536         * lib/spawnattr_getdefault.c: New file, from GNU libc with
29537         modifications.
29538         * doc/posix-functions/posix_spawnattr_getsigdefault.texi: Mention the
29539         new module.
29540
29541         New module 'posix_spawnattr_setschedpolicy'.
29542         * modules/posix_spawnattr_setschedpolicy: New file.
29543         * lib/spawnattr_setschedpolicy.c: New file, from GNU libc with
29544         modifications.
29545         * doc/posix-functions/posix_spawnattr_setschedpolicy.texi: Mention the
29546         new module.
29547
29548         New module 'posix_spawnattr_getschedpolicy'.
29549         * modules/posix_spawnattr_getschedpolicy: New file.
29550         * lib/spawnattr_getschedpolicy.c: New file, from GNU libc with
29551         modifications.
29552         * doc/posix-functions/posix_spawnattr_getschedpolicy.texi: Mention the
29553         new module.
29554
29555         New module 'posix_spawnattr_setschedparam'.
29556         * modules/posix_spawnattr_setschedparam: New file.
29557         * lib/spawnattr_setschedparam.c: New file, from GNU libc with
29558         modifications.
29559         * doc/posix-functions/posix_spawnattr_setschedparam.texi: Mention the
29560         new module.
29561
29562         New module 'posix_spawnattr_getschedparam'.
29563         * modules/posix_spawnattr_getschedparam: New file.
29564         * lib/spawnattr_getschedparam.c: New file, from GNU libc with
29565         modifications.
29566         * doc/posix-functions/posix_spawnattr_getschedparam.texi: Mention the
29567         new module.
29568
29569         New module 'posix_spawnattr_setpgroup'.
29570         * modules/posix_spawnattr_setpgroup: New file.
29571         * lib/spawnattr_setpgroup.c: New file, from GNU libc with
29572         modifications.
29573         * doc/posix-functions/posix_spawnattr_setpgroup.texi: Mention the new
29574         module.
29575
29576         New module 'posix_spawnattr_getpgroup'.
29577         * modules/posix_spawnattr_getpgroup: New file.
29578         * lib/spawnattr_getpgroup.c: New file, from GNU libc with
29579         modifications.
29580         * doc/posix-functions/posix_spawnattr_getpgroup.texi: Mention the new
29581         module.
29582
29583         New module 'posix_spawnattr_setflags'.
29584         * modules/posix_spawnattr_setflags: New file.
29585         * lib/spawnattr_setflags.c: New file, from GNU libc with modifications.
29586         * doc/posix-functions/posix_spawnattr_setflags.texi: Mention the new
29587         module.
29588
29589         New module 'posix_spawnattr_getflags'.
29590         * modules/posix_spawnattr_getflags: New file.
29591         * lib/spawnattr_getflags.c: New file, from GNU libc with modifications.
29592         * doc/posix-functions/posix_spawnattr_getflags.texi: Mention the new
29593         module.
29594
29595         New module 'posix_spawnattr_init'.
29596         * modules/posix_spawnattr_init: New file.
29597         * lib/spawnattr_init.c: New file, from GNU libc with modifications.
29598         * doc/posix-functions/posix_spawnattr_init.texi: Mention the new
29599         module.
29600
29601         New module 'posix_spawn_file_actions_destroy'.
29602         * modules/posix_spawn_file_actions_destroy: New file.
29603         * lib/spawn_faction_destroy.c: New file, from GNU libc with
29604         modifications.
29605         * doc/posix-functions/posix_spawn_file_actions_destroy.texi: Mention
29606         the new module.
29607
29608         New module 'posix_spawn_file_actions_addopen'.
29609         * modules/posix_spawn_file_actions_addopen: New file.
29610         * lib/spawn_faction_addopen.c: New file, from GNU libc with
29611         modifications.
29612         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
29613         the new module.
29614
29615         New module 'posix_spawn_file_actions_adddup2'.
29616         * modules/posix_spawn_file_actions_adddup2: New file.
29617         * lib/spawn_faction_adddup2.c: New file, from GNU libc with
29618         modifications.
29619         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
29620         the new module.
29621
29622         New module 'posix_spawn_file_actions_addclose'.
29623         * modules/posix_spawn_file_actions_addclose: New file.
29624         * lib/spawn_faction_addclose.c: New file, from GNU libc with
29625         modifications.
29626         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
29627         the new module.
29628
29629         New module 'posix_spawn_file_actions_init'.
29630         * modules/posix_spawn_file_actions_init: New file.
29631         * lib/spawn_faction_init.c: New file, from GNU libc with modifications.
29632         * doc/posix-functions/posix_spawn_file_actions_init.texi: Mention the
29633         new module.
29634
29635         New module 'posix_spawn-internal'.
29636         * modules/posix_spawn-internal: New file.
29637         * lib/spawn_int.h: New file, from GNU libc with modifications.
29638         * lib/spawni.c: New file, from GNU libc with modifications.
29639         * m4/posix_spawn.m4: New file.
29640
29641         New module 'spawn'.
29642         * modules/spawn: New file.
29643         * lib/spawn.in.h: New file, from GNU libc with modifications.
29644         * m4/spawn_h.m4: New file.
29645         * doc/posix-headers/spawn.texi: Mention the new module.
29646
29647 2008-09-28  Bruno Haible  <bruno@clisp.org>
29648
29649         * modules/sched-tests: New file.
29650         * tests/test-sched.c: New file.
29651
29652         New module 'sched'.
29653         * modules/sched: New file.
29654         * lib/sched.in.h: New file.
29655         * m4/sched_h.m4: New file.
29656         * doc/posix-headers/sched.texi: Mention the new module.
29657
29658 2008-09-27  Eric Blake  <ebb9@byu.net>
29659
29660         Fix previous patch, and tweak references to $0.
29661         * posix-modules: Call func_gnulib_dir before using $gnulib_dir.
29662         (func_version, func_gnulib_dir): Don't call this program
29663         gnulib-tool.
29664         (func_gnulib_dir, func_tmpdir, func_fatal_error): Avoid shell bugs
29665         with using $0 in function.
29666         * gnulib-tool (func_gnulib_dir, func_tmpdir): Likewise.
29667         (func_fatal_error): Reuse the name the user invoked us with.
29668
29669 2008-09-27  Bruno Haible  <bruno@clisp.org>
29670
29671         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H): New macro.
29672         (gl_ICONV_H_DEFAULTS): Initialize ICONV_H here...
29673         (gl_ICONV_H): Not here.
29674         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
29675         instead of assigning ICONV_H directly.
29676
29677         * m4/wchar.m4 (gl_REPLACE_WCHAR_H): New macro.
29678         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Invoke it instead of assigning
29679         WCHAR_H directly.
29680
29681 2008-09-27  Bruno Haible  <bruno@clisp.org>
29682
29683         * lib/arpa_inet.in.h: Include the GL_LINK_WARNING anchor.
29684         * modules/arpa_inet (Depends-on): Add link-warning.
29685         (Makefile.am): Insert the definition of GL_LINK-WARNING.
29686         * modules/unistd (Makefile.am): Likewise.
29687
29688 2008-09-26  Bruno Haible  <bruno@clisp.org>
29689
29690         * posix-modules (cvsdatestamp, last_checkin_date, version): Remove
29691         variables.
29692         (func_version): Essentially copied from gnulib-tool.
29693         (func_exit, func_gnulib_dir, func_tmpdir, func_fatal_error,
29694         func_readlink): Copied from gnulib-tool.
29695
29696 2008-09-26  Bruno Haible  <bruno@clisp.org>
29697
29698         * gnulib-tool (func_version): Change directory to $gnulib_dir before
29699         invoking git-version-gen.
29700
29701 2008-09-26  Bruno Haible  <bruno@clisp.org>
29702
29703         * posix-modules: Update to directory names changed on 2008-01-19.
29704         Remove commas in output before splitting into words. No more need to
29705         avoid 'ftruncate' since 2007-02-19.
29706
29707 2008-09-26  Bruno Haible  <bruno@clisp.org>
29708
29709         * doc/posix-headers/errno.texi: Remove mention of module 'EOVERFLOW'.
29710
29711 2008-09-26  Bruno Haible  <bruno@clisp.org>
29712
29713         * lib/fwriteerror.c (do_fwriteerror): Ignore error EPIPE.
29714         * modules/fwriteerror (Depends-on): Add errno.
29715
29716 2008-09-26  Bruno Haible  <bruno@clisp.org>
29717
29718         * tests/test-vc-list-files-git.sh: Explain reason for skipping test.
29719         * tests/test-vc-list-files-cvs.sh: Likewise.
29720
29721 2008-09-26  Bruno Haible  <bruno@clisp.org>
29722
29723         * doc/posix-headers/sys_resource.texi: Reorder items.
29724
29725 2008-09-26  Jim Meyering  <meyering@redhat.com>
29726
29727         fts: tweak inode comparison function
29728         * lib/fts.c (fts_compare_ino): Sort on increasing, not decreasing
29729         inode numbers, as documented.
29730
29731         fts: sort dirent entries on inode number before traversing
29732         This avoids a quadratic, seek-related performance penalty when
29733         operating on a directory containing many entries (measurable at 10k;
29734         3.5 hours at 2 million entries with a cold cache) on certain types
29735         of file systems, including ext3 and ext4, but not tmpfs.
29736         * lib/fts.c (DT_MUST_BE, NOT_AN_INODE_NUMBER, D_INO): Define.
29737         (FTS_INODE_SORT_DIR_ENTRIES_THRESHOLD): Define if not defined.
29738         (S_MAGIC_TMPFS, S_MAGIC_NFS): Define.
29739         (fs_handles_readdir_ordered_dirents_efficiently): New function.
29740         (dirent_inode_sort_may_be_useful, fts_compare_ino): Likewise.
29741         (fts_build): Set the stat.st_ino member from D_INO.
29742         If it is likely to be useful, sort dirent entries on inode number.
29743
29744         * m4/fts.m4 (gl_FUNC_FTS_CORE): Check for fstatfs, sys/vfs.h,
29745         and the struct statfs.f_type member.
29746         * modules/fts (Depends-on): Add d-ino.
29747
29748 2008-09-26  Bruno Haible  <bruno@clisp.org>
29749
29750         * modules/sigpipe-die (Depends-on): Add sigpipe.
29751
29752         * lib/stdio.in.h (fprintf, vfprintf, printf, vprintf, fputc, putc,
29753         putchar, fputs, puts, fwrite): Replace when REPLACE_STDIO_WRITE_FUNCS
29754         and GNULIB_STDIO_H_SIGPIPE are set.
29755         * lib/stdio-write.c: New file.
29756         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FPRINTF, GNULIB_PRINTF,
29757         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
29758         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
29759         REPLACE_STDIO_WRITE_FUNCS.
29760         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FPRINTF, GNULIB_PRINTF,
29761         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
29762         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
29763         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
29764         * modules/stdio (Files): Add lib/stdio-write.c.
29765         (Makefile.am): Substitute GNULIB_FPRINTF, GNULIB_PRINTF,
29766         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
29767         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
29768         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
29769         * m4/fprintf-posix.m4 (gl_REPLACE_FPRINTF): Define
29770         REPLACE_FPRINTF_POSIX.
29771         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF): Define
29772         REPLACE_PRINTF_POSIX.
29773         * m4/vfprintf-posix.m4 (gl_REPLACE_VFPRINTF): Define
29774         REPLACE_VFPRINTF_POSIX.
29775         * m4/vprintf-posix.m4 (gl_REPLACE_VPRINTF): Define
29776         REPLACE_VPRINTF_POSIX.
29777         * doc/posix-functions/fprintf.texi: Mention the sigpipe module and the
29778         SIGPIPE issue.
29779         * doc/posix-functions/fputc.texi: Likewise.
29780         * doc/posix-functions/fputs.texi: Likewise.
29781         * doc/posix-functions/fwrite.texi: Likewise.
29782         * doc/posix-functions/printf.texi: Likewise.
29783         * doc/posix-functions/putc.texi: Likewise.
29784         * doc/posix-functions/putchar.texi: Likewise.
29785         * doc/posix-functions/puts.texi: Likewise.
29786         * doc/posix-functions/vfprintf.texi: Likewise.
29787         * doc/posix-functions/vprintf.texi: Likewise.
29788
29789         * modules/safe-write (Depends-on): Add write.
29790
29791         * modules/sigpipe-tests: New file.
29792         * tests/test-sigpipe.c: New file.
29793         * tests/test-sigpipe.sh: New file.
29794
29795         * modules/write: New file.
29796         * lib/unistd.in.h: Include <sys/types.h>.
29797         (write): New declaration.
29798         * lib/write.c: New file.
29799         * m4/write.m4: New file.
29800         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
29801         GNULIB_UNISTD_H_SIGPIPE, GNULIB_WRITE, REPLACE_WRITE.
29802         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_SIGPIPE,
29803         GNULIB_WRITE, REPLACE_WRITE.
29804         * doc/posix-functions/write.texi: Mention the write, sigpipe modules
29805         and the SIGPIPE issue.
29806
29807         * lib/signal.in.h (SIGPIPE): Define to a replacement value.
29808         (raise): New declaration.
29809         * lib/sigprocmask.c (SIGPIPE_handler): New variable.
29810         (ext_signal): New function.
29811         (rpl_raise): New function.
29812         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
29813         GNULIB_SIGNAL_H_SIGPIPE.
29814         * modules/signal (Makefile.am): Substitute GNULIB_SIGNAL_H_SIGPIPE.
29815         * doc/posix-headers/signal.texi: Mention the SIGPIPE issue.
29816
29817         * modules/sigpipe: New file.
29818         * m4/sigpipe.m4: New file.
29819
29820 2008-09-25  Derek Price  <derek@ximbiot.com>
29821             Bruno Haible  <bruno@clisp.org>
29822
29823         * gnulib-tool (func_import): Report all license incompatibilities, not
29824         just the first one.
29825
29826 2008-09-25  Bruno Haible  <bruno@clisp.org>
29827
29828         * gnulib-tool (func_import): When computing the edits, consider not
29829         only the Makefile.ams that exist but also those that will be generated.
29830
29831 2008-09-25  Simon Josefsson  <simon@josefsson.org>
29832
29833         * modules/sys_select-tests (Depends-on): Remove sys_select itself,
29834         fixes gnulib-tool --test warning about duplicate dependency.
29835
29836 2008-09-25  Bruno Haible  <bruno@clisp.org>
29837
29838         * gnulib-tool: Don't ask the user to perform edits in the generated
29839         Makefile.ams.
29840         (func_emit_lib_Makefile_am): Emit empty SUBDIRS. Execute edits that
29841         apply to the Makefile.am being generated.
29842         (func_emit_tests_Makefile_am): Execute edits that apply to the
29843         Makefile.am being generated.
29844         (func_import): Setup list of Makefile.am edits before emitting the
29845         Makefile.ams, not at the end.
29846         (func_create_testdir): Update.
29847         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
29848
29849 2008-09-25  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
29850
29851         * gnulib-tool (func_import): Store the --tests-base option in the
29852         comment in gnulib-cache.m4.
29853
29854 2008-09-24  Paolo Bonzini  <bonzini@gnu.org>
29855
29856         * NEWS: Document increased portability that sys_select now provides.
29857
29858         * lib/sys_select.in.h: Install select wrapper.
29859         * lib/sys_socket.in.h: Use more descriptive name when there is no
29860         select wrapper.
29861         * lib/winsock-select.c: New.
29862         * m4/sys_select_h.m4: Compile lib/winsock-select.c if WinSock is used.
29863         Require gl_HEADER_SYS_SOCKET.
29864         * modules/sys_select: Depend on alloca, add lib/winsock-select.c.
29865         * modules/sys_select-tests: Copy dependencies from modules/poll-tests.
29866         * tests/test-sys_select.c: Add functional tests.
29867
29868 2008-09-24  Eric Blake  <ebb9@byu.net>
29869
29870         open, fopen: close fd leak in last patch
29871         * lib/open.c (rpl_open): Close fd before returning error.
29872         * lib/fopen.c (rpl_fopen): Close fd before returning error.
29873         * doc/posix-functions/open.texi (open): Document that Irix also
29874         has the bug.
29875         * doc/posix-functions/fopen.texi (fopen): Likewise.
29876         Reported by Paolo Bonzini.
29877
29878 2008-09-24  Bruno Haible  <bruno@clisp.org>
29879
29880         Ensure that a filename ending in a slash cannot be used to access a
29881         non-directory.
29882         * lib/open.c (rpl_open): When the filename ends in a slash, use fstat()
29883         to check whether it's really a directory.
29884         * lib/fopen.c: Include fcntl.h, unistd.h.
29885         (rpl_fopen): When the filename ends in a slash, use open(), fstat(),
29886         and fdopen().
29887         * modules/fopen (Depends-on): Add unistd.
29888         * tests/test-open.c (main): Try to open "/dev/null/" as a directory.
29889         * tests/test-fopen.c (main): Likewise.
29890         * doc/posix-functions/open.texi: Mention the HP-UX, Solaris bug.
29891         * doc/posix-functions/fopen.texi: Likewise.
29892         Reported by Eric Blake.
29893
29894 2008-09-23  Eric Blake  <ebb9@byu.net>
29895
29896         c-stack: avoid compiler optimizations when provoking overflow
29897         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Make
29898         recursion harder to optimize, to ensure a stack overflow occurs.
29899         * tests/test-c-stack.c (recurse): Likewise.
29900         Borrowed from libsigsegv.
29901
29902         c-stack: work around Irix sigaltstack bug
29903         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check
29904         whether sigaltstack uses wrong end of stack_t (copied in part from
29905         libsigsegv).
29906         * lib/c-stack.c (c_stack_action) [!HAVE_LIBSIGSEGV]: Work around
29907         Irix bug, without requiring an over-allocation.
29908         * doc/posix-functions/sigaltstack.texi (sigaltstack): Document the
29909         bug.
29910
29911         fopen: document mingw bug on directories
29912         * doc/posix-functions/fopen.texi (fopen): Mention mingw bug for
29913         not allowing a stream visiting a directory, even though reading
29914         from such a stream is not portable.
29915
29916 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
29917
29918         * lib/poll.c: Rewrite.
29919         * modules/poll: Depend on alloca.
29920
29921 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
29922
29923         * lib/sys_socket.in.h: Do not implement rpl_setsockopt here,
29924         instead define prototypes for a full set of wrappers.  Ensure
29925         that Cygwin does not use the compatibility code, which is only
29926         for MinGW.
29927         * lib/winsock.c: New.
29928         * m4/sys_socket_h.m4: Compile lib/winsock.c if WinSock is being used.
29929         * modules/sys_socket: Add lib/winsock.c.
29930
29931         * modules/poll-tests: Add errno and perror.
29932         * tests/test-poll.c: Use ioctl, not ioctlsocket.
29933
29934 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
29935
29936         * tests/test-poll.c: Downgrade minimum needed Winsock version.
29937
29938 2008-09-23  Bruno Haible  <bruno@clisp.org>
29939
29940         * doc/posix-functions/*: Add info about functions missing on IRIX 5.3.
29941         * doc/glibc-functions/*: Likewise.
29942
29943 2008-09-23  Simon Josefsson  <simon@josefsson.org>
29944
29945         * tests/test-perror.sh (tmpfiles): Cleanup temporary files on
29946         success.
29947
29948 2008-09-22  Eric Blake  <ebb9@byu.net>
29949             Bruno Haible  <bruno@clisp.org>
29950
29951         vasnprintf: fix x86/glibc regression on printf("%La", 0.0L)
29952         * lib/vasnprintf.c (VASNPRINTF): Support 0.0 on platforms that
29953         supply %A but mishandle pseudo-NaN.
29954         Reported by Simon Josefsson.
29955
29956 2008-09-21  Bruno Haible  <bruno@clisp.org>
29957
29958         * tests/test-lock.c (main): Tweak skip message.
29959         * tests/test-tls.c (main): Likewise.
29960
29961 2008-09-21  Bruno Haible  <bruno@clisp.org>
29962
29963         * m4/sigaction.m4 (gl_SIGACTION): Remove unnecessary AC_SUBST. Check
29964         whether 'struct sigaction' has sa_sigaction here...
29965         (gl_PREREQ_SIG_HANDLER_H): ... not here.
29966         (gl_PREREQ_SIGACTION): Remove unnecessary AC_SUBST.
29967
29968 2008-09-21  Bruno Haible  <bruno@clisp.org>
29969
29970         * MODULES.html.sh (Support for obsolete systems lacking ANSI C 89): New
29971         section.
29972         (Support for systems lacking ANSI C 89): Move stdlib, exit, strtol,
29973         strtoul, memchr, memcmp, memcpy, memmove, memset, strcspn, strpbrk to
29974         the new section.
29975         (Support for obsolete systems lacking POSIX:2001): New section.
29976         (String handling <string.h>): Move strdup to the new section.
29977         Suggested by Simon Josefsson and Paolo Bonzini.
29978
29979 2008-09-21  Bruno Haible  <bruno@clisp.org>
29980
29981         * tests/test-vasnprintf-posix.c (test_function): Allow 3-digit
29982         exponents in %e and %g results on 'long double'. Needed for mingw's
29983         improved *printf functions.
29984         * tests/test-vasprintf-posix.c (test_function): Likewise.
29985         * tests/test-snprintf-posix.h (test_function): Likewise.
29986         * tests/test-sprintf-posix.h (test_function): Likewise.
29987         Reported by Eric Blake.
29988
29989 2008-09-21  Bruno Haible  <bruno@clisp.org>
29990
29991         * tests/test-snprintf-posix.h (test_function): Remove useless ASSERTs.
29992         * tests/test-sprintf-posix.h (test_function): Likewise.
29993
29994 2008-09-21  Bruno Haible  <bruno@clisp.org>
29995
29996         * modules/getpass (Depends-on): Add strdup-posix.
29997
29998         New module 'strdup-posix'.
29999         * modules/strdup-posix: New file.
30000         * m4/strdup.m4 (gl_FUNC_STRDUP_POSIX): New macro.
30001         * lib/string.in.h (strdup): Replace if REPLACE_STRDUP is 1.
30002         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
30003         REPLACE_STRDUP.
30004         * modules/string (Makefile.am): Substitute REPLACE_STRDUP.
30005         * doc/posix-functions/strdup.texi: Mention module strdup-posix.
30006         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
30007         strdup-posix.
30008
30009         * modules/strdup (Depends-on): Remove malloc-posix.
30010
30011 2008-09-20  Bruno Haible  <bruno@clisp.org>
30012
30013         * lib/fstrcmp.c: Add data about branch probabilities, from Ralf
30014         Wildenhues.
30015
30016 2008-09-20  Bruno Haible  <bruno@clisp.org>
30017
30018         Ensure that wint_t gets defined on IRIX 5.3.
30019         * lib/wchar.in.h (wint_t): Define if not defined by the system.
30020         * lib/wctype.in.h (wint_t): Likewise.
30021         (__wctype_wint_t): Remove type.
30022         (isw*): Use wint_t instead of __wctype_wint_t.
30023         * m4/wchar.m4 (gl_WCHAR_H): Invoke gt_TYPE_WINT_T and set HAVE_WINT_T.
30024         * modules/wchar (Files): Add m4/wint_t.m4.
30025         (Makefile.am): Substitute HAVE_WINT_T.
30026         * tests/test-wchar.c: Check that wchar_t and wint_t are defined.
30027         * tests/test-wctype.c: Check that wint_t is defined.
30028         * doc/posix-headers/wchar.texi: Mention the IRIX 5 problem.
30029         * doc/posix-headers/wctype.texi: Likewise.
30030         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
30031
30032 2008-09-18  Bruno Haible  <bruno@clisp.org>
30033
30034         * gnulib-tool (func_exit): Update comment.
30035
30036 2008-09-18  Simon Josefsson  <simon@josefsson.org>
30037
30038         * modules/getaddrinfo (Depends-on): Remove strdup, this module
30039         assumes strdup exists and does not depend on strdup to return
30040         ENOMEM on out of memory conditions.
30041
30042 2008-09-18  Bruno Haible  <bruno@clisp.org>
30043
30044         * lib/vasnprintf.c (VASNPRINTF): When printing Â±0.0L in
30045         NEED_PRINTF_INFINITE_LONG_DOUBLE case with 'e' format, always use two
30046         digits for the exponent.
30047
30048 2008-09-18  Jim Meyering  <meyering@redhat.com>
30049             Bruno Haible  <bruno@clisp.org>
30050
30051         * lib/vasnprintf.c (decimal_point_char): Define also if
30052         NEED_PRINTF_INFINITE_LONG_DOUBLE.
30053
30054 2008-09-16  Bruno Haible  <bruno@clisp.org>
30055         and Eric Blake  <ebb9@byu.net>
30056
30057         vasnprintf: support Irix 5.3
30058         * lib/vasnprintf.c (VASNPRINTF): Also handle -0.0L on platforms
30059         that mishandle long double infinity.
30060         Reported by Tom G. Christensen.
30061
30062 2008-09-16  Bruno Haible  <bruno@clisp.org>
30063
30064         * doc/glibc-functions/scandir.texi: Mention the function is missing on
30065         Solaris 9.
30066         * doc/glibc-functions/alphasort.texi: Likewise.
30067         Reported by Michael Haubenwallner <michael.haubenwallner@salomon.at>.
30068
30069 2008-09-16  Jim Meyering  <meyering@redhat.com>
30070
30071         posix-shell.m4: reject opensolaris's "sh (AT&T Research) 1993-12-28 s+"
30072         * m4/posix-shell.m4 (gl_POSIX_SHELL): Reject a shell that lets
30073         a umask modification leak out of a subshell.  Otherwise, the
30074         opensolaris /bin/sh would be accepted and thus cause unwarranted
30075         failures in the coreutils test suite.
30076
30077 2008-09-16  Paolo Bonzini  <bonzini@gnu.org>
30078
30079         * tests/test-poll.c (connect_to_socket): Allow non-blocking connect
30080         to succeed.
30081
30082 2008-09-16  Jim Meyering  <meyering@redhat.com>
30083
30084         avoid spurious test failure when library is built without ACL support
30085         * m4/acl.m4 (USE_ACL): Define as a shell variable, too, for...
30086         * modules/acl-tests (Makefile.am) [TESTS_ENVIRONMENT]: Add USE_ACL.
30087         * tests/test-file-has-acl.sh: Skip if USE_ACL == 0.
30088         * tests/test-copy-acl.sh: Likewise.
30089
30090 2008-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30091
30092         * lib/fstrcmp.c (fstrcmp_bounded): Use a second, less quick upper bound
30093         based on character occurrence counts.
30094
30095 2008-09-15  Eric Blake  <ebb9@byu.net>
30096
30097         tests: avoid some compiler warnings
30098         * tests/test-memchr.c (main): Pass NULL indirectly.
30099         * tests/test-closein.c (main): Avoid unused variable.
30100
30101 2008-09-15  Bruno Haible  <bruno@clisp.org>
30102
30103         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test for all the macros that
30104         are missing on OpenBSD 4.0 individually.
30105         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
30106
30107 2008-09-15  Bruno Haible  <bruno@clisp.org>
30108
30109         * doc/posix-headers/errno.texi: Mention the Cygwin problem.
30110         * doc/posix-functions/strerror.texi: Mention also Cygwin.
30111         * doc/posix-functions/perror.texi: Likewise.
30112         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test also whether ECANCELED
30113         is missing.
30114         Reported by Eric Blake.
30115
30116         * lib/errno.in.h: Use replacement values >= 2000.
30117         Reported by Eric Blake.
30118
30119 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30120
30121         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Add field 'edit_count_limit'.
30122         (EARLY_ABORT): Return true when the edit_count has grown too beyond the
30123         limit.
30124         (fstrcmp_bounded): Initialize the edit_count_limit. Return 0 when
30125         compareseq was aborted.
30126
30127 2008-09-14  Bruno Haible  <bruno@clisp.org>
30128
30129         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Combine xvec_edit_count and
30130         yvec_edit_count.
30131         (NOTE_DELETE, NOTE_INSERT): Increment the combined edit count.
30132         (fstrcmp_bounded): Simplify result computation accordingly.
30133
30134 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30135
30136         * lib/fstrcmp.h (fstrcmp_bounded): New declaration.
30137         (fstrcmp): Define in terms of fstrcmp_bounded.
30138         * lib/fstrcmp.c (fstrcmp_bounded): Renamed from fstrcmp. Add
30139         lower_bound argument.
30140         Return quickly if the result is certainly < lower_bound.
30141         * tests/test-fstrcmp.c (check_fstrcmp): Test also fstrcmp_bounded.
30142
30143 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30144
30145         * lib/diffseq.h (EARLY_ABORT): New macro.
30146         (compareseq): Change return type to bool. Return true when EARLY_ABORT
30147         evaluates to true.
30148
30149 2008-09-14  Bruno Haible  <bruno@clisp.org>
30150
30151         * modules/perror-tests: New file.
30152         * tests/test-perror.sh: New file.
30153         * tests/test-perror.c: New file.
30154
30155         New module 'perror'.
30156         * lib/stdio.in.h (perror): New declaration.
30157         * lib/perror.c: New file.
30158         * m4/perror.m4: New file.
30159         * modules/perror: New file.
30160         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add perror.
30161         * doc/posix-functions/perror.texi: Mention the perror module.
30162         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PERROR,
30163         REPLACE_PERROR.
30164         * modules/stdio (Makefile.am): Substitute GNULIB_PERROR,
30165         REPLACE_PERROR.
30166
30167 2008-09-14  Bruno Haible  <bruno@clisp.org>
30168
30169         * modules/stdio (Makefile.am): Reorder to match the order in
30170         lib/stdio.in.h.
30171         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
30172
30173 2008-09-13  Bruno Haible  <bruno@clisp.org>
30174
30175         * lib/sys_socket.in.h (EINPROGRESS, ...): Remove definitions.
30176
30177 2008-09-13  Bruno Haible  <bruno@clisp.org>
30178
30179         Extend strerror to cover the added errno values.
30180         * lib/strerror.c: Include errno.h and winsock2.h if it exists.
30181         (rpl_strerror): Provide error messages for the added errno values and
30182         for the WSA* values.
30183         * m4/strerror.m4 (gl_FUNC_STRERROR): Test REPLACE_STRERROR.
30184         (gl_FUNC_STRERROR_SEPARATE): If errno.h is replaced, always replace
30185         strerror.
30186         (gl_PREREQ_STRERROR): Test whether winsock2.h exists.
30187         * modules/strerror (Depends-on): Add errno.
30188         * doc/posix-functions/strerror.texi: Document the change.
30189         * tests/test-strerror.c (main): Check also the string for ETIMEDOUT
30190         and EOVERFLOW.
30191
30192 2008-09-13  Bruno Haible  <bruno@clisp.org>
30193
30194         * modules/EOVERFLOW: Remove file.
30195         * m4/eoverflow.m4: Remove file.
30196         * modules/EOVERFLOW-tests: Remove file.
30197         * tests/test-EOVERFLOW.c: Remove file.
30198         * modules/fprintf-posix (Depends-on): Replace EOVERFLOW with errno.
30199         * modules/ftell (Depends-on): Likewise.
30200         * modules/getdelim (Depends-on): Likewise.
30201         * modules/getugroups (Depends-on): Likewise.
30202         * modules/poll (Depends-on): Likewise.
30203         * modules/snprintf (Depends-on): Likewise.
30204         * modules/sprintf-posix (Depends-on): Likewise.
30205         * modules/vasnprintf (Depends-on): Likewise.
30206         * modules/vasprintf (Depends-on): Likewise.
30207         * modules/vfprintf-posix (Depends-on): Likewise.
30208         * modules/vsnprintf (Depends-on): Likewise.
30209         * modules/vsprintf-posix (Depends-on): Likewise.
30210         * modules/xvasprintf (Depends-on): Likewise.
30211         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
30212         * modules/unistdio/u8-vasprintf (Depends-on): Likewise.
30213         * modules/unistdio/u8-vsnprintf (Depends-on): Likewise.
30214         * modules/unistdio/u8-vsprintf (Depends-on): Likewise.
30215         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
30216         * modules/unistdio/u8-u8-vasprintf (Depends-on): Likewise.
30217         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Likewise.
30218         * modules/unistdio/u8-u8-vsprintf (Depends-on): Likewise.
30219         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
30220         * modules/unistdio/u16-u16-vasprintf (Depends-on): Likewise.
30221         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Likewise.
30222         * modules/unistdio/u16-u16-vsprintf (Depends-on): Likewise.
30223         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
30224         * modules/unistdio/u16-vasprintf (Depends-on): Likewise.
30225         * modules/unistdio/u16-vsnprintf (Depends-on): Likewise.
30226         * modules/unistdio/u16-vsprintf (Depends-on): Likewise.
30227         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
30228         * modules/unistdio/u32-vasprintf (Depends-on): Likewise.
30229         * modules/unistdio/u32-vsnprintf (Depends-on): Likewise.
30230         * modules/unistdio/u32-vsprintf (Depends-on): Likewise.
30231         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
30232         * modules/unistdio/u32-u32-vasprintf (Depends-on): Likewise.
30233         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Likewise.
30234         * modules/unistdio/u32-u32-vsprintf (Depends-on): Likewise.
30235         * modules/unistdio/ulc-fprintf (Depends-on): Likewise.
30236         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
30237         * modules/unistdio/ulc-vasprintf (Depends-on): Likewise.
30238         * modules/unistdio/ulc-vfprintf (Depends-on): Likewise.
30239         * modules/unistdio/ulc-vsnprintf (Depends-on): Likewise.
30240         * modules/unistdio/ulc-vsprintf (Depends-on): Likewise.
30241         * MODULES.html.sh: Remove EOVERFLOW.
30242         * NEWS: Mention the change.
30243
30244 2008-09-13  Bruno Haible  <bruno@clisp.org>
30245
30246         * modules/errno-tests: New file.
30247         * tests/test-errno.c: New file, incorporating tests/test-EOVERFLOW.c.
30248
30249         * lib/errno.in.h: New file.
30250         * m4/errno_h.m4: New file, borrowing from m4/eoverflow.m4.
30251         * modules/errno: New file.
30252         * doc/posix-headers/errno.texi: Update documentation.
30253         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add errno.
30254
30255 2008-09-13  Bruno Haible  <bruno@clisp.org>
30256
30257         * tests/test-poll.c: Use #if for native Windows, rather than testing
30258         __MSVCRT__.
30259
30260 2008-09-13  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
30261             Bruno Haible  <bruno@clisp.org>
30262
30263         * lib/glob.c: Don't include <pwd.h> on native Windows.
30264         (WINDOWS32): New macro.
30265         (glob) [WINDOW32]: Provide a reasonable replacement for getenv("HOME").
30266
30267 2008-09-13  Bruno Haible  <bruno@clisp.org>
30268
30269         * lib/glthread/cond.h [USE_SOLARIS_THREADS]
30270         (ETIMEDOUT): Remove macro.
30271         (glthread_cond_timedwait_multithreaded): New declaration.
30272         (glthread_cond_timedwait): Use it.
30273         * lib/glthread/cond.c [USE_SOLARIS_THREADS]
30274         (glthread_cond_timedwait_multithreaded): New function.
30275
30276 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
30277
30278         * modules/poll-tests: Do not check for io.h.
30279         * tests/test-poll.c: Check for __MSVCRT__ instead.
30280
30281 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
30282
30283         * lib/sys_socket.in.h (EINPROGRESS): Define for Winsock case.
30284         * modules/poll-tests: Add inet_pton, stdbool, sockets.
30285         * tests/test-poll.c: Use them.  Use _pipe on Windows.
30286
30287 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
30288
30289         * modules/poll-tests: New.
30290         * tests/test-poll.c: New.
30291
30292 2008-09-12  Eric Blake  <ebb9@byu.net>
30293
30294         frexp: test for NetBSD failure on -0.0
30295         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Enhance test, since some, but
30296         not all, bugs from NetBSD 3.0 have been fixed.
30297         * doc/posix-functions/frexp.texi (frexp): Document bug.
30298         Reported by Thomas Klausner.
30299
30300         signbit: work around bug of HP-UX 10.20 cc with -0.0 literal
30301         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Rewrite test to avoid
30302         literal -0.0.
30303         Reported by Jonathan C. Patschke <jp@centtech.com>.
30304
30305 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
30306
30307         * lib/glthread/cond.h: Use dummy implementation also if
30308         USE_WIN32_THREADS.
30309
30310 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
30311
30312         * modules/fnmatch-posix (License): Change to LGPLv2+.
30313         * modules/fnmatch-gnu (License): Likewise.
30314
30315 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
30316
30317         * lib/poll.c (poll): Fix polling unconnected server sockets on WIN32.
30318
30319 2008-09-11  Jim Meyering  <meyering@redhat.com>
30320
30321         * users.txt: Add gtk-vnc.
30322
30323 2008-09-08  Simon Josefsson  <simon@josefsson.org>
30324
30325         * tests/test-bitrotate.c: Test 8/16-bit rotates with 0 and maximum
30326         rotate amounts.
30327
30328         * lib/bitrotate.h: Doc fix, mention that N can be wider than minimally
30329         required for 16-bit and 8-bit rotates.
30330         * lib/bitrotate.h (rotl64, rotr64, rotl32, rotl32, rotl16, rotr16,
30331         rotl8, rotr8): Use UINT64_MAX, UINT32_MAX, UINT16_MAX, and
30332         UINT8_MAX instead of hard-coded constants.
30333         Suggested by Paul Eggert.
30334
30335 2008-09-07  Bruno Haible  <bruno@clisp.org>
30336
30337         * tests/test-striconveh.c (main): Check behaviour when converting from
30338         UTF-7.
30339
30340         Make striconveh work better with stateful encodings.
30341         * lib/striconveh.c (iconv_carefully, iconv_carefully_1): Don't assume
30342         that iconv does not increment the inptr when returning -1/EINVAL.
30343
30344 2008-09-07  Bruno Haible  <bruno@clisp.org>
30345
30346         * build-aux/config.rpath: Update according to libtool-2.2.6.
30347         * build-aux/config.libpath: Likewise.
30348
30349 2008-09-06  Bruno Haible  <bruno@clisp.org>
30350
30351         * lib/freadahead.c (freadahead): Add conditional for SLOW_BUT_NO_HACKS.
30352         * lib/freadptr.c (freadptr): Likewise.
30353         * lib/freadseek.c (freadptrinc): Likewise.
30354         Reported by Simon Josefsson.
30355
30356 2008-09-06  Bruno Haible  <bruno@clisp.org>
30357
30358         * modules/freadptr (License): Change to LGPLv2+.
30359         * modules/freadseek (License): Likewise.
30360         Suggested by Eric Blake.
30361
30362         * modules/memchr2 (License): Change to LGPLv2+.
30363         Approved by Eric Blake.
30364
30365 2008-09-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30366             Bruno Haible  <bruno@clisp.org>
30367
30368         Make gnulib-tool work with native 'sed' on AIX.
30369         * gnulib-tool (sed_noop): New variable.
30370         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am, func_import,
30371         func_add_or_update, func_create_testdir): Use it to initialize sed
30372         script variables.
30373         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
30374
30375 2008-09-04  Albert Chin  <bug-gnulib@mlists.thewrittenword.com>
30376             Bruno Haible  <bruno@clisp.org>
30377
30378         * m4/include_next.m4 (gl_INCLUDE_NEXT): Add check whether #include_next
30379         also works after #include directives.
30380
30381 2008-09-04  OndÅ™ej Vašík  <ovasik@redhat.com>
30382
30383         getdate.y: reject an out-of-range timezone value
30384         * lib/getdate.y (time_zone_hhmm): Reject any TZ offset that is outside
30385         the range [-24...+24].  When specified with only one or two digits,
30386         * tests/test-getdate.c: Tests for the fix.
30387         * doc/getdate.texi: Document this change.
30388
30389 2008-09-03  Bruno Haible  <bruno@clisp.org>
30390
30391         * doc/glibc-functions/strverscmp.texi: Mention the strverscmp module.
30392
30393 2008-09-02  Simon Josefsson  <simon@josefsson.org>
30394
30395         * lib/bitrotate.h (rotl64, rotr64): Add.  Suggested by Bruce Korb
30396         <bruce.korb@gmail.com> with ideas from Ben Pfaff
30397         <blp@cs.stanford.edu>, Bruno Haible <bruno@clisp.org> and Eric
30398         Blake <ebb9@byu.net>.
30399
30400         * tests/test-bitrotate.c: Add more test vectors.
30401
30402 2008-09-02  Eric Blake  <ebb9@byu.net>
30403
30404         vasnprintf-posix: handle large precision via %.*d
30405         * lib/vasnprintf.c (VASNPRINTF): Don't pass precision to snprintf
30406         when handling it ourselves.
30407         * tests/test-vasnprintf-posix.c (test_function): Add test.
30408         * tests/test-snprintf-posix.h (test_function): Likewise.
30409         * tests/test-sprintf-posix.h (test_function): Likewise.
30410         * tests/test-vasprintf-posix.c (test_function): Likewise.
30411         Reported by Alain Guibert.
30412
30413 2008-09-01  Eric Blake  <ebb9@byu.net>
30414
30415         c-stack: make configure-time check more robust
30416         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check for
30417         successful sigaction call.
30418         Reported by Tom G. Christensen.
30419
30420 2008-09-01  Bruno Haible  <bruno@clisp.org>
30421
30422         New module 'findprog-lgpl'.
30423         * modules/findprog-lgpl: New file.
30424         * lib/findprog-lgpl.c: New file.
30425         * lib/findprog.c: Compile nothing in findprog.c if findprog-lgpl.c is
30426         also compiled. Consider the possibly defined symbol IN_FINDPROG_LGPL
30427         to decide whether to use strdup or xstrdup, concatenated_filename or
30428         xconcatenated_filename.
30429
30430 2008-09-01  Bruno Haible  <bruno@clisp.org>
30431
30432         Split module 'concat-filename' into 'concat-filename' (LGPL) and
30433         'xconcat-filename' (GPL).
30434         * modules/concat-filename (Depends-on): Add malloc-posix, remove xalloc.
30435         (License): Change to LGPLv2+.
30436         * modules/xconcat-filename: New file.
30437         * lib/concat-filename.h (concatenated_filename): Change specification.
30438         (xconcatenated_filename): New declaration.
30439         * lib/concat-filename.c: Include errno.h, stdlib.h, not xalloc.h.
30440         (concatenated_filename): Use malloc instead of xalloc. Handle out-of-
30441         memory situations.
30442         * lib/xconcat-filename.c: New file.
30443         * NEWS: Mention the change.
30444         * lib/findprog.c: Include concat-filename.h, not filename.h.
30445         (find_in_path): Use xconcatenated_filename instead of
30446         concatenated_filename.
30447         * lib/javacomp.c: Include concat-filename.h, not filename.h.
30448         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
30449         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
30450         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
30451         is_oldgcj_14_13_usable, is_javac_usable): Use xconcatenated_filename
30452         instead of concatenated_filename.
30453         * lib/javaexec.c: Include concat-filename.h, not filename.h.
30454         (execute_java_class): Use xconcatenated_filename instead of
30455         concatenated_filename.
30456         * modules/findprog (Depends-on): Add xconcat-filename, remove filename.
30457         * modules/javacomp (Depends-on): Likewise.
30458         * modules/javaexec (Depends-on): Likewise.
30459
30460 2008-09-01  Bruno Haible  <bruno@clisp.org>
30461
30462         Split module 'filename' into 'filename' and 'concat-filename'.
30463         * modules/filename: Keep only lib/filename.h.
30464         (License): Change to LGPLv2+.
30465         * modules/concat-filename: New file, extracted from modules/filename.
30466         * lib/filename.h (concatenated_filename): Remove declaration.
30467         * lib/concat-filename.h: New file, extracted from lib/filename.h.
30468         * lib/concat-filename.c: Include concat-filename.h.
30469         * NEWS: Mention the change.
30470
30471 2008-09-01  Simon Josefsson  <simon@josefsson.org>
30472
30473         * lib/bitrotate.h (rotl8, rotr8): Add.
30474
30475         * modules/bitrotate (configure.ac): Need
30476         AC_REQUIRE([AC_C_INLINE]).
30477         (Description): Mention stdint.h.  Reported by Bruno Haible
30478         <bruno@clisp.org>.
30479
30480         * lib/bitrotate.h (rotr16, rotl16): Fix mask value.  Reported by
30481         Paolo Bonzini <bonzini@gnu.org>.
30482
30483 2008-08-31  Bruno Haible  <bruno@clisp.org>
30484
30485         Assume Solaris specific bi-arch conventions on Solaris systems.
30486         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): On Solaris in 64-bit
30487         mode, set acl_libdirstem to lib/64. Also set acl_libdirstem2.
30488         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): If acl_libdirstem does not
30489         work, try acl_libdirstem2 as fallback. Otherwise treat acl_libdirstem2
30490         like acl_libdirstem.
30491         (AC_LIB_LINKFLAGS_FROM_LIBS): Treat acl_libdirstem2 like
30492         acl_libdirstem.
30493         * NEWS: Mention the change.
30494         Reported by Ben Taylor <bentaylor.solx86@gmail.com>.
30495
30496 2008-08-31  Jim Meyering  <meyering@redhat.com>
30497
30498         * lib/strftime.h: Add comments describing the two added arguments.
30499
30500         remove duplicate #include directives
30501         * lib/chdir-long.c [TEST_CHDIR]: Remove duplicate #include <stdio.h>.
30502         * lib/putenv.c: Remove duplicate #include <stdlib.h>.
30503
30504 2008-08-31  Bruno Haible  <bruno@clisp.org>
30505
30506         New module 'sigpipe-die'.
30507         * modules/sigpipe-die: New file.
30508         * lib/sigpipe-die.h: New file.
30509         * lib/sigpipe-die.c: New file.
30510         * MODULES.html.sh (Signal handling): Add sigpipe-die.
30511
30512 2008-08-31  Bruno Haible  <bruno@clisp.org>
30513
30514         Don't override previously installed signal handlers.
30515         * lib/fatal-signal.c (saved_sigactions): New variable.
30516         (uninstall_handlers): Reset the signal to the saved handler, not
30517         to SIG_DFL (except when ignored).
30518         (install_handlers): Save the previous handlers.
30519
30520 2008-08-30  Bruno Haible  <bruno@clisp.org>
30521
30522         * gnulib-tool (func_reset_sigpipe): New function.
30523         (func_get_automake_snippet, func_modules_transitive_closure,
30524         func_import): Invoke it before a join command that reads from stdin,
30525         to avoid "echo: write error: Broken pipe" error messages on stderr.
30526         Reported by Sam Steingold <sds@gnu.org>.
30527
30528 2008-08-30  Bruno Haible  <bruno@clisp.org>
30529
30530         * m4/fopen.m4 (gl_FUNC_FOPEN): Test against bug with trailing slash.
30531         Code copied from m4/open.m4.
30532         * lib/fopen.c (rpl_fopen): Return NULL if the mode specifies write
30533         access and the filename ends in a slash. Code copied from lib/open.c.
30534         * doc/posix-functions/fopen.texi: Document bug with trailing slash.
30535         * tests/test-fopen.c (main): Check against bug with trailing slash.
30536
30537 2008-08-29  Bruno Haible  <bruno@clisp.org>
30538
30539         Avoid some "gcc -pedantic" warnings.
30540         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also PRAGMA_SYSTEM_HEADER.
30541         * lib/arpa_inet.in.h: Use PRAGMA_SYSTEM_HEADER.
30542         * lib/dirent.in.h: Likewise.
30543         * lib/fcntl.in.h: Likewise.
30544         * lib/float.in.h: Likewise.
30545         * lib/iconv.in.h: Likewise.
30546         * lib/inttypes.in.h: Likewise.
30547         * lib/locale.in.h: Likewise.
30548         * lib/math.in.h: Likewise.
30549         * lib/netinet_in.in.h: Likewise.
30550         * lib/search.in.h: Likewise.
30551         * lib/signal.in.h: Likewise.
30552         * lib/stdarg.in.h: Likewise.
30553         * lib/stdint.in.h: Likewise.
30554         * lib/stdio.in.h: Likewise.
30555         * lib/stdlib.in.h: Likewise.
30556         * lib/string.in.h: Likewise.
30557         * lib/strings.in.h: Likewise.
30558         * lib/sys_select.in.h: Likewise.
30559         * lib/sys_socket.in.h: Likewise.
30560         * lib/sys_stat.in.h: Likewise.
30561         * lib/sys_time.in.h: Likewise.
30562         * lib/sysexits.in.h: Likewise.
30563         * lib/time.in.h: Likewise.
30564         * lib/unistd.in.h: Likewise.
30565         * lib/wchar.in.h: Likewise.
30566         * lib/wctype.in.h: Likewise.
30567         * modules/arpa_inet (Makefile.am): Also substitute PRAGMA_SYSTEM_HEADER.
30568         * modules/fchdir (Makefile.am): Likewise.
30569         * modules/fcntl (Makefile.am): Likewise.
30570         * modules/float (Makefile.am): Likewise.
30571         * modules/iconv_open (Makefile.am): Likewise.
30572         * modules/inttypes (Makefile.am): Likewise.
30573         * modules/locale (Makefile.am): Likewise.
30574         * modules/math (Makefile.am): Likewise.
30575         * modules/netinet_in (Makefile.am): Likewise.
30576         * modules/search (Makefile.am): Likewise.
30577         * modules/signal (Makefile.am): Likewise.
30578         * modules/stdarg (Makefile.am): Likewise.
30579         * modules/stdint (Makefile.am): Likewise.
30580         * modules/stdio (Makefile.am): Likewise.
30581         * modules/stdlib (Makefile.am): Likewise.
30582         * modules/string (Makefile.am): Likewise.
30583         * modules/strings (Makefile.am): Likewise.
30584         * modules/sys_select (Makefile.am): Likewise.
30585         * modules/sys_socket (Makefile.am): Likewise.
30586         * modules/sys_stat (Makefile.am): Likewise.
30587         * modules/sys_time (Makefile.am): Likewise.
30588         * modules/sysexits (Makefile.am): Likewise.
30589         * modules/time (Makefile.am): Likewise.
30590         * modules/unistd (Makefile.am): Likewise.
30591         * modules/wchar (Makefile.am): Likewise.
30592         * modules/wctype (Makefile.am): Likewise.
30593         Reported by Reuben Thomas <rrt@sc3d.org>.
30594
30595 2008-08-29  Bruno Haible  <bruno@clisp.org>
30596
30597         * m4/include_next.m4 (gl_INCLUDE_NEXT): Don't define HAVE_INCLUDE_NEXT
30598         any more.
30599
30600 2008-08-29  Simon Josefsson  <simon@josefsson.org>
30601
30602         * MODULES.html.sh (Misc): Add bitrotate.
30603
30604         * modules/bitrotate: New file.
30605
30606         * lib/bitrotate.h: New file.
30607
30608         * modules/bitrotate-tests: New file.
30609
30610         * tests/test-bitrotate.c: New file.
30611
30612         * modules/crypto/gc-arctwo, modules/crypto/arctwo: Add dependency
30613         on the bitrotate module.
30614
30615         * lib/arctwo.c: Use new bitrotate module.
30616
30617 2008-08-29  Jim Meyering  <meyering@redhat.com>
30618
30619         bootstrap: merge changes from coreutils
30620         * build-aux/bootstrap (cp_mark_as_generated): Preserve perms
30621         of copied files.  Remove a kludge, now that this is fixed.
30622         * build-aux/bootstrap: Fix unportable expr usage. (by Ralf Wildenhues)
30623         * build-aux/bootstrap: Remove $bt and $bt2 also when not using gettext.
30624         * build-aux/bootstrap: Remove coreutils-specific SUBDIRS-related code.
30625
30626 2008-08-29  Bruno Haible  <bruno@clisp.org>
30627
30628         * MODULES.html.sh: Remove --cvs-urls option.
30629
30630 2008-08-28  Jose E. Marchesi  <jemarch@gnu.org>  (tiny change)
30631
30632         maint.mk: adjust to file name change
30633         * top/maint.mk: s/Makefile.cfg/cfg.mk/.
30634
30635 2008-08-28  Jim Meyering  <meyering@redhat.com>
30636
30637         * modules/getndelim2 (License): Relicense to LGPLv2+.
30638         Approved by Richard Stallman for the version of 1995, and by
30639         Paul Eggert, Bruno Haible, Eric Blake for their contributions.
30640
30641 2008-08-27  Paolo Bonzini  <bonzini@gnu.org>
30642
30643         * lib/getdelim.c (flockfile, funlockfile): Make all of them
30644         dummy if one is not available.  Do not touch them if
30645         USE_UNLOCKED_IO, instead letting unlocked-io.h do that.
30646         (getc_maybe_unlocked): New.
30647         * m4/getdelim.m4 (gl_PREREQ_GETDELIM): Check for getc_unlocked.
30648
30649 2008-08-26  Eric Blake  <ebb9@byu.net>
30650
30651         doc/INSTALL: resync from autoconf
30652         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Simplify.
30653         (INSTALL_PRELUDE): Delete; this is done more efficiently by
30654         moving...
30655         * install.texi [!autoconf]: ...here.  Resync from autoconf.
30656         * INSTALL: Regenerate.
30657         * INSTALL.ISO: New file.
30658         * INSTALL.UTF-8: Likewise.
30659
30660 2008-08-26  Jim Meyering  <meyering@redhat.com>
30661
30662         GNUmakefile: cfg.mk definitions override default autoreconf-rerun policy
30663         * top/GNUmakefile (_is-dist-target, _is-install-target): Make
30664         these definitions conditional, so that they may be overridden, too.
30665
30666 2008-08-26  Bruno Haible  <bruno@clisp.org>
30667
30668         Generate INSTALL file variants with prettier quotes.
30669         * doc/Makefile (INSTALL_PRELUDE): New macro.
30670         (INSTALL): Use it.
30671         (INSTALL.ISO, INSTALL.UTF-8): New rules.
30672
30673 2008-08-26  Bruno Haible  <bruno@clisp.org>
30674
30675         Run makeinfo in an English locale.
30676         * doc/Makefile (MAKEINFO): New variable.
30677
30678 2008-08-26  Bruno Haible  <bruno@clisp.org>
30679
30680         * doc/Makefile (INSTALL): Use --no-validate instead of --no-warn.
30681         Suggested by Eric Blake.
30682
30683 2008-08-25  Bruno Haible  <bruno@clisp.org>
30684
30685         * doc/Makefile (INSTALL): Generate with @firstparagraphindent set.
30686
30687 2008-08-25  Eric Blake  <ebb9@byu.net>
30688
30689         c-stack: test that stack overflow can be caught
30690         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Also check
30691         that platform allows handling stack overflow; at least OS/2 EMX
30692         has sigaltstack, but crashes before transferring control to
30693         handler on stack overflow.
30694         * lib/c-stack.c [HAVE_SIGALTSTACK]: Adjust conditions to also
30695         check for HAVE_STACK_OVERFLOW_HANDLING.
30696         Reported by Elbert Pol.
30697
30698 2008-08-25  Bruno Haible  <bruno@clisp.org>
30699
30700         * doc/posix-functions/strftime.texi: Fix description of strftime
30701         module.
30702
30703 2008-08-24  Bruno Haible  <bruno@clisp.org>
30704
30705         * tests/uniwidth/test-uc_width2.c: New file.
30706         * tests/uniwidth/test-uc_width2.sh: New file.
30707         * modules/uniwidth/width-tests (Files): Add the new files.
30708         (TESTS): Add uniwidth/test-uc_width2.sh.
30709         (TESTS_ENVIRONMENT): New variable.
30710         (check_PROGRAMS): Add test-uc_width2.
30711         (test_uc_width2_SOURCES): New variable.
30712
30713         Fix uc_width(0x00AB) bug, introduced on 2007-07-08.
30714         * lib/uniwidth/width.c (nonspacing_table_data): Set bit for 0x00AD,
30715         not 0x00AB.
30716         Reported by Alexander V. Lukyanov <lav@netis.ru>.
30717
30718 2008-08-22  Eric Blake  <ebb9@byu.net>
30719
30720         test-lock, test-tls: mention why a test is skipped
30721         * tests/test-lock.c (main) [!USE_*_THREADS]: Print why test is
30722         skipped.
30723         * tests/test-tls.c (main) [!USE_*_THREADS]: Likewise.
30724
30725         count-one-bits: relax license
30726         * modules/count-one-bits (License): Relicense to LGPLv2+.
30727         Suggested by Ludovic Courtès, approved by Ben Pfaff.
30728
30729 2008-08-22  Andreas Schwab  <schwab@suse.de>
30730
30731         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
30732         Remove spurious space in assignment.
30733
30734 2008-08-21  Simon Josefsson  <simon@josefsson.org>
30735
30736         * m4/autobuild.m4: Use TZ=UTC0 instead of TZ=UTC.  Reported by
30737         Paul Eggert <eggert@CS.UCLA.EDU>.
30738
30739 2008-08-20  Paolo Bonzini  <bonzini@gnu.org>
30740
30741         * modules/gettext: Add m4/threadlib.m4.
30742
30743 2008-08-19  Eric Blake  <ebb9@byu.net>
30744
30745         test-c-stack: fix compilation failure on FreeBSD 5.0
30746         * tests/test-c-stack.c [HAVE_SETRLIMIT]: Include prerequisite
30747         headers before <sys/resource.h>.
30748         * doc/posix-headers/sys_resource.texi (sys/resource.h): Document
30749         the bug.
30750         Reported by Nelson H. F. Beebe.
30751
30752         strverscmp: migrate from "strverscmp.h" to <string.h>
30753         * modules/string (Makefile.am): Add new hooks.
30754         * modules/strverscmp (Files): Remove strverscmp.h.
30755         (Depends-on): Add string.
30756         (configure.ac): Add indicator.
30757         (Include): Mention new header.
30758         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Provide new
30759         defaults.
30760         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Inform string module of
30761         results.
30762         * lib/strverscmp.h: Delete.
30763         * lib/string.in.h (strverscmp): Provide declaration, when needed.
30764         * tests/test-strverscmp.c (includes): Adjust client.
30765         * lib/check-version.c (includes): Likewise.
30766         * NEWS: Document the change.
30767
30768         strverscmp: add unit test
30769         * modules/strverscmp-tests: New file.
30770         * tests/test-strverscmp.c: Likewise.
30771
30772 2008-08-19  Simon Josefsson  <simon@josefsson.org>
30773
30774         * lib/gc-gnulib.c: Indentation cleanup.  Add some comments
30775         regarding Windows crypto stuff, from Mono.
30776
30777 2008-08-19  Adam Strzelecki <ono@java.pl>  (tiny change)
30778
30779         * lib/gc-gnulib.c: Use CRYPT_VERIFY_CONTEXT.  Try to use Intel CSP
30780         if present, for intel RND.  Return error on failures.
30781
30782 2008-08-18  Ben Pfaff  <blp@gnu.org>
30783
30784         gitlog-to-changelog: give better diagnostic for failed pipe-open
30785         * build-aux/gitlog-to-changelog: Improve error message: suggest
30786         that the version of Git may be too old.
30787
30788 2008-08-18  Simon Josefsson  <simon@josefsson.org>
30789
30790         * m4/autobuild.m4: Use TZ=UTC to avoid time zone complexity.  Use
30791         ISO 8601 format.  Suggested by Greg Troxel <gdt@ir.bbn.com>.
30792
30793 2008-08-18  Bruno Haible  <bruno@clisp.org>
30794
30795         * lib/glthread/thread.h [USE_SOLARIS_THREADS]: Use thread_in_use(), not
30796         pthread_in_use().
30797
30798 2008-08-18  Bruno Haible  <bruno@clisp.org>
30799
30800         * lib/glthread/threadlib.c: Include <pthread.h>.
30801
30802 2008-08-18  Bruno Haible  <bruno@clisp.org>
30803
30804         * lib/glthread/lock.h [USE_SOLARIS_THREADS]: Fix
30805         glthread_recursive_lock_* macros.
30806         * lib/glthread/lock.c (glthread_recursive_lock_destroy_multithreaded):
30807         Fix syntax error.
30808
30809 2008-08-18  Bruno Haible  <bruno@clisp.org>
30810
30811         * lib/glthread/thread.c: Avoid forcing a context switch right after
30812         thread creation.
30813
30814 2008-08-17  Bruno Haible  <bruno@clisp.org>
30815
30816         * lib/glthread/thread.c: New file, based on code from tests/test-lock.c.
30817         * lib/glthread/thread.h: Provide Win32 specific implementation.
30818         * modules/thread (Files): Add lib/glthread/thread.c.
30819         (Depends-on): Add lock.
30820         (Makefile.am): Add glthread/thread.c to lib_SOURCES.
30821
30822 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
30823
30824         New module 'yield'.
30825         * modules/yield: New file.
30826         * lib/glthread/yield.h: New file.
30827         * m4/yield.m4: New file.
30828         * MODULES.html.sh (Multithreading): Add yield.
30829
30830 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
30831
30832         New module 'thread'.
30833         * modules/thread: New file.
30834         * lib/glthread/thread.h: New file.
30835         * m4/thread.m4: New file.
30836         * MODULES.html.sh (Multithreading): Add thread.
30837
30838 2008-08-17  Bruno Haible  <bruno@clisp.org>
30839
30840         * lib/glthread/lock.h: Include <stdlib.h> always.
30841         * lib/glthread/tls.h: Likewise.
30842         * lib/glthread/cond.h: Likewise.
30843
30844 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
30845
30846         New module 'cond'.
30847         * modules/cond: New file.
30848         * lib/glthread/cond.h: New file.
30849         * lib/glthread/cond.c: New file.
30850         * m4/cond.m4: New file.
30851         * MODULES.html.sh (Multithreading): Add cond.
30852
30853 2008-08-16  Eric Blake  <ebb9@byu.net>
30854
30855         c-stack: fix regression on Irix 5.3 from 2008-06-21
30856         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Move check for
30857         sa_sigaction...
30858         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): ...here.
30859         (gl_PREREQ_SIGACTION): Depend on sig-handler.h prereq's.
30860         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Set the default.
30861         * modules/signal (Makefile.am): Use the value.
30862         * lib/signal.in.h (sa_sigaction) [HAVE_SIGACTION
30863         && !HAVE_STRUCT_SIGACTION_SA_SIGACTION]: Define.
30864         * doc/posix-headers/signal.texi (signal.h): Document this
30865         portability issue.
30866         * doc/posix-functions/sigaction.texi (sigaction): Likewise.
30867         Reported by Tom G. Christensen.
30868
30869 2008-08-17  Bruno Haible  <bruno@clisp.org>
30870
30871         New module 'threadlib'.
30872         * modules/threadlib: New file.
30873         * lib/glthread/threadlib.c: New file, extracted from
30874         lib/glthread/lock.c.
30875         * lib/glthread/lock.c (dummy_thread_func, glthread_in_use): Remove
30876         functions.
30877         * m4/threadlib.m4: New file, from m4/lock.m4, renaming gl_LOCK to
30878         gl_THREADLIB and gl_LOCK_EARLY to gl_THREADLIB_EARLY.
30879         * m4/lock.m4 (gl_LOCK_EARLY, gl_LOCK_EARLY_BODY, gl_LOCK_BODY): Remove
30880         macros.
30881         (gl_LOCK): Just require gl_THREADLIB and perform checks for lock.h.
30882         (gl_DISABLE_THREADS): Remove macro.
30883         * modules/lock (Files): Remove build-aux/config.rpath.
30884         (Depends-on): Remove havelib. Add threadlib.
30885         (configure.ac-early): Remove section.
30886         * m4/tls.m4 (gl_TLS): Require gl_THREADLIB instead of gl_LOCK.
30887         * modules/tls (Depends-on): Remove lock. Add threadlib.
30888         (Link): New section, copied from threadlib.
30889         * MODULES.html.sh (Multithreading): Add threadlib.
30890
30891 2008-08-14  Bruno Haible  <bruno@clisp.org>
30892
30893         * lib/glthread/lock.h (glthread_lock_lock, glthread_lock_unlock,
30894         glthread_lock_destroy, glthread_rwlock_rdlock, glthread_rwlock_wrlock,
30895         glthread_rwlock_unlock, glthread_rwlock_destroy,
30896         glthread_recursive_lock_lock, glthread_recursive_lock_unlock,
30897         glthread_recursive_lock_destroy): Define as macros always.
30898         * lib/glthread/lock.c (glthread_lock_lock_func): Renamed from
30899         glthread_lock_lock.
30900         (glthread_lock_unlock_func): Renamed from glthread_lock_unlock.
30901         (glthread_lock_destroy_func): Renamed from glthread_lock_destroy.
30902         (glthread_rwlock_rdlock_func): Renamed from glthread_rwlock_rdlock.
30903         (glthread_rwlock_wrlock_func): Renamed from glthread_rwlock_wrlock.
30904         (glthread_rwlock_unlock_func): Renamed from glthread_rwlock_unlock.
30905         (glthread_rwlock_destroy_func): Renamed from glthread_rwlock_destroy.
30906         (glthread_recursive_lock_lock_func): Renamed from
30907         glthread_recursive_lock_lock.
30908         (glthread_recursive_lock_unlock_func): Renamed from
30909         glthread_recursive_lock_unlock.
30910         (glthread_recursive_lock_destroy_func): Renamed from
30911         glthread_recursive_lock_destroy.
30912
30913 2008-08-14  Bruno Haible  <bruno@clisp.org>
30914
30915         * lib/glthread/lock.h: Renamed from lib/lock.h.
30916         * lib/glthread/lock.c: Renamed from lib/lock.c. Update includes.
30917         * lib/glthread/tls.h: Renamed from lib/tls.h.
30918         * lib/glthread/tls.c: Renamed from lib/tls.c. Update includes.
30919         * lib/fstrcmp.c: Update includes.
30920         * lib/strsignal.c: Update includes.
30921         * modules/lock (Files, Makefile.am): Update.
30922         (Include): Change to "glthread/lock.h".
30923         * modules/tls (Files, Makefile.am): Update.
30924         (Include): Change to "glthread/tls.h".
30925         * tests/test-lock.c: Update includes.
30926         * tests/test-tls.c: Update includes.
30927         * NEWS: Mention the renamed header files.
30928
30929 2008-08-11  Jim Meyering  <meyering@redhat.com>
30930
30931         * lib/fts_.h: Fix grammar (insert a missing "is") in a comment.
30932
30933 2008-08-11  Eric Blake  <ebb9@byu.net>
30934
30935         test-c-stack: avoid C99-ism
30936         * tests/test-c-stack.c (main): Fix whitespace, move declaration
30937         before statement.
30938         Reported by Alain Guibert.
30939
30940 2008-08-10  Jim Meyering  <meyering@redhat.com>
30941
30942         ensure that return value of uinttostr et al are not ignored
30943         * lib/inttostr.h (__GNUC_PREREQ): Define.
30944         (__attribute_warn_unused_result__): Define.
30945         (offtostr, imaxtostr, umaxtostr, uinttostr): Apply the attribute.
30946
30947 2008-08-07  Paolo Bonzini  <bonzini@gnu.org>
30948
30949         * lib/lock.c (glthread_recursive_lock_init_multithreaded)
30950         [!PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Fix typo.
30951
30952 2008-08-07  Jim Meyering  <meyering@redhat.com>
30953
30954         * m4/inet_pton.m4: Fix typo in comment: s/inet_ntop/inet_pton/.
30955
30956         * modules/mkstemp (License): Relicense under LGPLv2+.
30957         * modules/tempname (License): Likewise.
30958
30959 2008-08-06  Bruno Haible  <bruno@clisp.org>
30960
30961         * lib/poll.c (poll): Further micro-optimization.
30962
30963 2008-08-06  Jim Meyering  <meyering@redhat.com>
30964
30965         inet_pton.c: use locale-independent tolower
30966         * lib/inet_pton.c: Include <c-ctype.h> rather than <ctype.h>.
30967         (inet_pton6): Use c_tolower rather than tolower.
30968         * modules/inet_pton (Depends-on): Add c-ctype.
30969
30970 2008-08-06  Paolo Bonzini  <bonzini@gnu.org>
30971
30972         * lib/poll.c (poll): Avoid division when timeout is 0, cache
30973         _SC_OPEN_MAX, avoid repeated access to errno.  Check for nfd < 0.
30974
30975 2008-08-06  Jim Meyering  <meyering@redhat.com>
30976
30977         * modules/inet_pton (License): Relicense under LGPLv2+.
30978
30979 2008-08-03  Bruno Haible  <bruno@clisp.org>
30980
30981         Additional non-aborting API for lock and tls.
30982         * lib/lock.h: Include <errno.h>.
30983         (glthread_lock_init): New macro/function.
30984         (gl_lock_init): Define as wrapper around glthread_lock_init.
30985         (glthread_lock_lock): New macro/function.
30986         (gl_lock_lock): Define as wrapper around glthread_lock_lock.
30987         (glthread_lock_unlock): New macro/function.
30988         (gl_lock_unlock): Define as wrapper around glthread_lock_unlock.
30989         (glthread_lock_destroy): New macro/function.
30990         (gl_lock_destroy): Define as wrapper around glthread_lock_destroy.
30991         (glthread_rwlock_init): New macro/function.
30992         (gl_rwlock_init): Define as wrapper around glthread_rwlock_init.
30993         (glthread_rwlock_rdlock): New macro/function.
30994         (gl_rwlock_rdlock): Define as wrapper around glthread_rwlock_rdlock.
30995         (glthread_rwlock_wrlock): New macro/function.
30996         (gl_rwlock_wrlock): Define as wrapper around glthread_rwlock_wrlock.
30997         (glthread_rwlock_unlock): New macro/function.
30998         (gl_rwlock_unlock): Define as wrapper around glthread_rwlock_unlock.
30999         (glthread_rwlock_destroy): New macro/function.
31000         (gl_rwlock_destroy): Define as wrapper around glthread_rwlock_destroy.
31001         (glthread_recursive_lock_init): New macro/function.
31002         (gl_recursive_lock_init): Define as wrapper around
31003         glthread_recursive_lock_init.
31004         (glthread_recursive_lock_lock): New macro/function.
31005         (gl_recursive_lock_lock): Define as wrapper around
31006         glthread_recursive_lock_lock.
31007         (glthread_recursive_lock_unlock): New macro/function.
31008         (gl_recursive_lock_unlock): Define as wrapper around
31009         glthread_recursive_lock_unlock.
31010         (glthread_recursive_lock_destroy): New macro/function.
31011         (gl_recursive_lock_destroy): Define as wrapper around
31012         glthread_recursive_lock_destroy.
31013         (glthread_once): New macro/function.
31014         (gl_once): Define as wrapper around glthread_once.
31015         Update function declarations.
31016         * lib/lock.c (glthread_rwlock_init_multithreaded): Renamed from
31017         glthread_rwlock_init. Return error code.
31018         (glthread_rwlock_rdlock_multithreaded): Renamed from
31019         glthread_rwlock_rdlock. Return error code.
31020         (glthread_rwlock_wrlock_multithreaded): Renamed from
31021         glthread_rwlock_wrlock. Return error code.
31022         (glthread_rwlock_unlock_multithreaded): Renamed from
31023         glthread_rwlock_unlock. Return error code.
31024         (glthread_rwlock_destroy_multithreaded): Renamed from
31025         glthread_rwlock_destroy. Return error code.
31026         (glthread_recursive_lock_init_multithreaded): Renamed from
31027         glthread_recursive_lock_init. Return error code.
31028         (glthread_recursive_lock_lock_multithreaded): Renamed from
31029         glthread_recursive_lock_lock. Return error code.
31030         (glthread_recursive_lock_unlock_multithreaded): Renamed from
31031         glthread_recursive_lock_unlock. Return error code.
31032         (glthread_recursive_lock_destroy_multithreaded): Renamed from
31033         glthread_recursive_lock_destroy. Return error code.
31034         (glthread_once_call): Make static.
31035         (glthread_once_multithreaded): Renamed from glthread_once.
31036         * lib/tls.h: Include <errno.h>.
31037         (glthread_tls_key_init): New macro/function.
31038         (gl_tls_key_init): Define as wrapper around glthread_tls_key_init.
31039         (glthread_tls_set): New macro/function.
31040         (gl_tls_set): Define as wrapper around glthread_tls_set.
31041         (glthread_tls_key_destroy): New macro/function.
31042         (gl_tls_key_destroy): Define as wrapper around glthread_tls_key_destroy.
31043         Update function declarations.
31044         * lib/tls.c (glthread_tls_get_multithreaded): Renamed from
31045         glthread_tls_get.
31046         Suggested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
31047
31048 2008-08-04  Eric Blake  <ebb9@byu.net>
31049
31050         gnumakefile: use space, not TAB, outside of targets
31051         * top/GNUmakefile (_dummy): Fix whitespace error in prior edit.
31052
31053 2008-08-02  Jim Meyering  <meyering@redhat.com>
31054
31055         getdate.y: avoid locale-dependent date parsing failure
31056         In Turkish locales, getdate would fail to recognize keywords
31057         containing a lowercase "i".  The solution is not to rely on
31058         locale-sensitive case-conversion.
31059         * lib/getdate.y: Include <c-ctype.h> rather than <ctype.h>.
31060         (lookup_word): Use c_toupper in place of toupper.
31061         (yylex, get_date): Use c_ prefixed variants of isspace and isalpha, too.
31062         Reported by Vefa Bicakci <bicave@superonline.com> in
31063         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/14184>.
31064         * modules/getdate (Depends-on): Add c-ctype.
31065
31066 2008-08-02  Bruno Haible  <bruno@clisp.org>
31067
31068         * gnulib-tool (func_import): When updating or creating a .gitignore
31069         file, prepend each added line with a slash, and ignore leading slashes
31070         from the existing lines.
31071         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
31072
31073 2008-08-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31074
31075         Portability fix for GNU make 3.79.1.
31076         * top/GNUmakefile: Avoid 'else COND', which older GNU make
31077         versions do not understand.
31078
31079 2008-08-01  Bruno Haible  <bruno@clisp.org>
31080
31081         Work around bug of HP-UX 10.20 cc with -0.0 literal.
31082         * tests/test-isnanf.h (zero): New variable.
31083         (main): Avoid literal -0.0f.
31084         * tests/test-isnand.h (zero): New variable.
31085         (main): Avoid literal -0.0.
31086         * tests/test-isnanl.h (zero): New variable.
31087         (main): Avoid literal -0.0L.
31088         * tests/test-isnan.c (zerof, zerod, zerol): New variables.
31089         (test_float, test_double, test_long_double): Avoid literals -0.0f,
31090         -0.0, -0.0L.
31091         * tests/test-signbit.c (test_signbitf): Avoid literal -0.0f.
31092         (test_signbitd): Avoid literal -0.0.
31093         (test_signbitl): Avoid literal -0.0L.
31094         * tests/test-ceilf1.c (zero): New variable.
31095         (main): Avoid literal -0.0f.
31096         * tests/test-ceill.c (zero): New variable.
31097         (main): Avoid literal -0.0L.
31098         * tests/test-floorf1.c (zero): New variable.
31099         (main): Avoid literal -0.0f.
31100         * tests/test-floorl.c (zero): New variable.
31101         (main): Avoid literal -0.0L.
31102         * tests/test-roundf1.c (zero): New variable.
31103         (main): Avoid literal -0.0f.
31104         * tests/test-round1.c (zero): New variable.
31105         (main): Avoid literal -0.0.
31106         * tests/test-roundl.c (zero): New variable.
31107         (main): Avoid literal -0.0L.
31108         * tests/test-truncf1.c (zero): New variable.
31109         (main): Avoid literal -0.0f.
31110         * tests/test-trunc1.c (zero): New variable.
31111         (main): Avoid literal -0.0.
31112         * tests/test-truncl.c (zero): New variable.
31113         (main): Avoid literal -0.0L.
31114         * tests/test-frexp.c (zero): New variable.
31115         (main): Avoid literal -0.0.
31116         * tests/test-frexpl.c (zero): New variable.
31117         (main): Avoid literal -0.0L.
31118         * tests/test-ldexpl.c (zero): New variable.
31119         (main): Avoid literal -0.0L.
31120         * tests/test-snprintf-posix.h (have_minus_zero): Avoid literal -0.0.
31121         (zerod, zerol): New variables.
31122         (test_function): Avoid literals -0.0, -0.0L.
31123         * tests/test-sprintf-posix.h (have_minus_zero): Avoid literal -0.0.
31124         (zerod, zerol): New variables.
31125         (test_function): Avoid literals -0.0, -0.0L.
31126         * tests/test-vasnprintf-posix.c (have_minus_zero): Avoid literal -0.0.
31127         (zerod, zerol): New variables.
31128         (test_function): Avoid literals -0.0, -0.0L.
31129         * tests/test-vasprintf-posix.c (have_minus_zero): Avoid literal -0.0.
31130         (zerod, zerol): New variables.
31131         (test_function): Avoid literals -0.0, -0.0L.
31132         * tests/test-strtod.c (zero): New variable.
31133         (main): Avoid literal -0.0.
31134         Reported by Jonathan C. Patschke <jp@centtech.com>.
31135
31136 2008-07-31  Jim Meyering  <meyering@redhat.com>
31137
31138         sha256.h: correct definition of SHA224_DIGEST_SIZE
31139         * lib/sha256.h (SHA224_DIGEST_SIZE): Define to 28, not 24.
31140         Reported by Paulie Pena IV <paulie4@gmail.com>.
31141         Define as 224 / 8, rather than as a literal.
31142         (SHA256_DIGEST_SIZE): Define as 256/8 rather than equivalent literal.
31143         * lib/sha512.h (SHA384_DIGEST_SIZE): Likewise, define as equiv: 384/8.
31144         (SHA512_DIGEST_SIZE): Likewise, define as equivalent quotient: 512/8.
31145
31146 2008-07-31  Bruno Haible  <bruno@clisp.org>
31147
31148         * lib/regex_internal.h (BITSET_WORD_BITS): Make first conditional work
31149         on HP-UX 10.20 with "cc -Ae". Fix second conditional.
31150         Reported by Jonathan Patschke <jp@centtech.com>.
31151
31152 2008-07-31  Bruno Haible  <bruno@clisp.org>
31153
31154         * gnulib-tool (func_import): Make change from 2008-06-23 more robust.
31155         Reported by Paolo Bonzini <bonzini@gnu.org>.
31156
31157 2008-07-30  Eric Blake  <ebb9@byu.net>
31158
31159         test-strtod: allow compilation without -lm
31160         * tests/test-strtod.c (main): Avoid link dependence on fabs.
31161         Reported by Dennis Clarke <blastwave@gmail.com>.
31162
31163 2008-07-28  Jim Meyering  <meyering@redhat.com>
31164
31165         bootstrap: work also when there are no .po files in po/
31166         * build-aux/bootstrap (update_po_files): Complete the change
31167         that I began in bc960df8c789c878f1c1c54a28a3c2648dead8d9.
31168
31169 2008-07-27  Jim Meyering  <meyering@redhat.com>
31170
31171         * users.txt: Add zile.
31172
31173 2008-07-26  Ben Pfaff  <blp@gnu.org>
31174
31175         Add missing dependencies on new m4/exponent[fdl].m4 files.
31176         * modules/isnanf-nolibm: Add m4/exponentf.m4.
31177         * modules/isnand-nolibm: Add m4/exponentd.m4.
31178         * modules/isnanl-nolibm: Add m4/exponentl.m4.
31179         * modules/signbit-tests: Use m4/exponent[fdl].m4 instead of
31180         m4/isnan[fdl].m4, because the macros actually used moved.
31181         Reported by Jim Meyering.
31182
31183 2008-07-14  Ben Pfaff  <blp@gnu.org>
31184
31185         Add isinf module.
31186         * lib/isinf.c: New file.
31187         * lib/math.in.h: Define isinf macro if we have decided to replace
31188         it.
31189         * m4/isinf.m4: New file.
31190         * m4/math_h.m4: Initialize and substitute variables for isinf
31191         module.
31192         * modules/isinf: New file.
31193         * modules/isinf-tests: New file.
31194         * modules/math: Add substitutions for new module.
31195         * tests/test-isinf.c: New file.
31196         * doc/posix-functions/isinf.texi: Mention new module.
31197         * MODULES.html.sh: Mention new module.
31198
31199 2008-07-14  Ben Pfaff  <blp@gnu.org>
31200
31201         Factor out some macros for use by additional modules.
31202         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Move into new file
31203         exponentf.m4.
31204         * m4/isnand.m4 (gl_DOUBLE_EXPONENT_LOCATION): Move into new file
31205         exponentd.m4.
31206         * m4/isnanl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Move into new
31207         file exponentl.m4.
31208         * m4/exponentf.m4: New file.
31209         * m4/exponentd.m4: New file.
31210         * m4/exponentl.m4: New file.
31211         * modules/isnanf: Use new file m4/exponentf.m4.
31212         * modules/isnand: Use new file m4/exponentd.m4.
31213         * modules/isnanl: Use new file m4/exponentl.m4.
31214
31215 2008-07-23  Ulrich Drepper  <drepper@redhat.com>
31216
31217         mktime.c: normalize tp->tm_isdst value to -1/0/1.
31218         * lib/mktime.c (__mktime_internal): Normalize tp->tm_isdst value.
31219         Reported by Michael Ringe <Michael.Ringe@gmx.de> in
31220         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>.
31221
31222         * lib/canonicalize-lgpl.c (__realpath): Avoid buffer overflow after
31223         readlink on platforms without PATH_MAX.
31224
31225 2008-07-21  Eric Blake  <ebb9@byu.net>
31226
31227         Warn, not fail, on stale version.
31228         * top/GNUmakefile (_curr-ver): Tone down previous patch.
31229
31230         Don't allow installation with stale devel version number.
31231         * top/GNUmakefile (_is-install-target): New macro.
31232         (_curr-ver): Forbid installation with stale version number.
31233
31234 2008-07-20  Bruno Haible  <bruno@clisp.org>
31235
31236         * modules/c-stack-tests (Makefile.am): Add LIBSIGSEGV to
31237         TESTS_ENVIRONMENT.
31238         * tests/test-c-stack2.sh: React differently if LIBSIGSEGV is in use.
31239
31240 2008-07-20  Bruno Haible  <bruno@clisp.org>
31241
31242         * lib/c-stack.h (c_stack_action): Add documentation.
31243         * lib/c-stack.c (c_stack_action): Remove incomplete documentation.
31244
31245 2008-07-20  Bruno Haible  <bruno@clisp.org>
31246
31247         * modules/canonicalize-lgpl (License): Relicense under LGPLv2+.
31248         * modules/readlink (License): Likewise.
31249
31250 2008-07-17  Eric Blake  <ebb9@byu.net>
31251
31252         * modules/c-stack (Link): Fix typo.
31253
31254         Make c-stack use libsigsegv, when available.
31255         * modules/c-stack (Depends-on): Add libsigsegv.
31256         * modules/c-stack-tests (Makefile.am): Link with libsigsegv, if
31257         needed.
31258         * lib/c-stack.c (SIGSTKSZ): Define fallback.
31259         (segv_handler, overflow_handler, c_stack_action)
31260         [HAVE_LIBSIGSEGV && !HAVE_XSI_STACK_OVERFLOW_HEURISTIC]: Add new
31261         implementation when libsigsegv is available, but only when using
31262         the library is necessary.
31263         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Add
31264         comment, explaining why XSI check fails on Linux.
31265         (gl_PREREQ_C_STACK): Supply LIBCSTACK, LTLIBCSTACK.
31266         * tests/test-c-stack2.sh: Tweak skip message.
31267         * NEWS: Document new link-time requirements.
31268
31269 2008-07-16  Eric Blake  <ebb9@byu.net>
31270
31271         c-stack: Expose false positives when not using libsigsegv.
31272         * modules/c-stack-tests (Files): Expand test.
31273         * tests/test-c-stack.c (main): Add means to conditionally trigger
31274         non-overflow SIGSEGV.
31275         * tests/test-c-stack2.sh: New file.
31276
31277 2008-07-14  Bruno Haible  <bruno@clisp.org>
31278
31279         * m4/libsigsegv.m4: Remove unneeded AC_PREREQ.
31280         Reported by Eric Blake.
31281
31282 2008-07-14  Sam Steingold  <sds@gnu.org>
31283             Bruno Haible  <bruno@clisp.org>
31284
31285         New module libsigsegv.
31286         * modules/libsigsegv: New file.
31287         * m4/libsigsegv.m4: New file, from GNU clisp sigsegv.m4 with
31288         modifications.
31289         * MODULES.html.sh (Signal handling): New section.
31290
31291 2008-07-14  Bruno Haible  <bruno@clisp.org>
31292
31293         * modules/unictype/ctype-* (Description): Add the word "function".
31294         Improves the resulting doc in MODULES.html.
31295
31296 2008-07-12  Ben Pfaff  <blp@gnu.org>
31297
31298         Add longlong module.
31299         * modules/longlong: New file.
31300
31301 2008-07-12  Bruno Haible  <bruno@clisp.org>
31302
31303         * m4/isnan.m4 (gl_ISNAN): When the replacement is used, set ISNAN_LIBM
31304         to empty.
31305
31306 2008-07-10  Ben Pfaff  <blp@gnu.org>
31307
31308         Add isnan module.
31309         * doc/posix-functions/isnan.texi: Mention new module.
31310         * lib/math.in.h: Define isnan macro if we have decided to replace
31311         it.
31312         * m4/isnan.m4: New file.
31313         * m4/isnanl.m4 (gl_FUNC_ISNANL): Factor out some code into new
31314         macro gl_BUILD_ISNANL so that isnan.m4 can use that functionality
31315         also.
31316         (gl_FUNC_ISNANL_NO_LIBM): Factor out same code, to reduce
31317         redundancy.
31318         * m4/math_h.m4: Initialize and substitute variables for isnan
31319         module.
31320         * modules/isnan: New file.
31321         * modules/isnan-tests: New file.
31322         * modules/math: Add substitutions for new module.
31323         * tests/test-isnan.c: New file.
31324         * MODULES.html.sh: Mention new module.
31325
31326 2008-07-10  Ben Pfaff  <blp@gnu.org>
31327
31328         Add isnanf module.
31329         * lib/isnanf.m4: New file.
31330         * m4/isnanf.m4 (gl_FUNC_ISNANF): New macro.
31331         (gl_HAVE_ISNANF_IN_LIBM): New macro.
31332         (gl_BUILD_ISNANF): New macro used by gl_FUNC_ISNANF,
31333         gl_FUNC_ISNANF_NO_LIBM, and gl_FUNC_ISNAN.
31334         * modules/isnanf: New file.
31335         * modules/isnanf-tests: New file.
31336         * modules/isnanf-nolibm-tests: Add tests/test-isnanf.h to list of
31337         files.
31338         * tests/test-isnanf-nolibm.c: factored most of its contents into
31339         new file tests/test-isnanf.h.
31340         * tests/test-isnanf.h: New file.
31341         * tests/test-isnanf.c: New file.
31342         * MODULES.html.sh: Mention new module.
31343         * doc/glibc-functions/isnanf.texi: Mention new module.
31344
31345 2008-07-10  Ben Pfaff  <blp@gnu.org>
31346
31347         Add isnand module.
31348         * lib/isnand.h: New file.
31349         * m4/isnand.m4 (gl_FUNC_ISNAND): New macro.
31350         (gl_FUNC_ISNAND_NO_LIBM): Split partially into new macro
31351         gl_HAVE_ISNAND_NO_LIBM so that gl_FUNC_ISNAND can use that
31352         functionality also.
31353         (gl_BUILD_ISNAND): New macro used by gl_FUNC_ISNAND,
31354         gl_FUNC_ISNAND_NO_LIBM, and gl_FUNC_ISNAN.
31355         (gl_HAVE_ISNAND_IN_LIBM): New macro.
31356         * modules/isnand: New file.
31357         * modules/isnand-tests: New file.
31358         * modules/isnand-nolibm-tests: Add tests/test-isnand.h to list of
31359         files.
31360         * tests/test-isnand-nolibm.c: factored most of its contents into
31361         new file tests/test-isnand.h.
31362         * tests/test-isnand.h: New file.
31363         * tests/test-isnand.c: New file.
31364         * MODULES.html.sh: Mention new module.
31365
31366 2008-07-10  Ben Pfaff  <blp@gnu.org>
31367
31368         * lib/isnanf.h: Rename lib/isnanf-nolibm.h.
31369         * lib/isnand.h: Rename lib/isnand-nolibm.h.
31370         * tests/test-isnanf.c: Rename tests/test-isnanf-nolibm.c.
31371         * tests/test-isnand.c: Rename tests/test-isnand-nolibm.c.
31372         * modules/isnanf-nolibm: Update references to renamed files.
31373         * modules/isnand-nolibm: Likewise.
31374         * modules/isnanf-nolibm-tests: Likewise.
31375         * modules/isnand-nolibm-tests: Likewise.
31376         * lib/frexp.c: Likewise.
31377         * lib/isfinite.c: Likewise.
31378         * lib/signbitd.c: Likewise.
31379         * lib/signbitf.c: Likewise.
31380         * lib/vasnprintf.c: Likewise.
31381         * tests/test-ceilf1.c: Likewise.
31382         * tests/test-ceilf2.c: Likewise.
31383         * tests/test-floorf1.c: Likewise.
31384         * tests/test-floorf2.c: Likewise.
31385         * tests/test-frexp.c: Likewise.
31386         * tests/test-round1.c: Likewise.
31387         * tests/test-round2.c: Likewise.
31388         * tests/test-roundf1.c: Likewise.
31389         * tests/test-strtod.c: Likewise.
31390         * tests/test-trunc1.c: Likewise.
31391         * tests/test-trunc2.c: Likewise.
31392         * tests/test-truncf1.c: Likewise.
31393         * tests/test-truncf2.c: Likewise.
31394         * NEWS: Mention the renamed header files.
31395
31396 2008-07-11  Jim Meyering  <meyering@redhat.com>
31397
31398         vc-list-files: make the last-resort awk code more portable
31399         * build-aux/vc-list-files: Don't rely on awk's "sub" command.
31400         /bin/awk from OpenSolaris 11's SUNWesu version 2008.03.22.10.56
31401         does not support it.
31402
31403 2008-07-10  Eric Blake  <ebb9@byu.net>
31404
31405         Work with tar's bootstrap.
31406         * gnulib-tool (func_emit_initmacro_end): Use m4_defn in the case
31407         where LIBSOURCES_DIR contains .#bootmp but must not be treated as
31408         an m4 comment.
31409
31410 2008-07-09  Jim Meyering  <meyering@redhat.com>
31411
31412         posix-shell.m4: fix typo that made this test malfunction
31413         * m4/posix-shell.m4: Remove capitalization in variable name.
31414
31415 2008-07-08  Bruno Haible  <bruno@clisp.org>
31416
31417         * m4/onceonly.m4: Update comments.
31418         Reported by Ben Pfaff <blp@cs.stanford.edu>.
31419
31420 2008-07-04  Jim Meyering  <meyering@redhat.com>
31421
31422         * users.txt: Add vc-dwim.
31423         (bison, coreutils): Use the gitweb URL.
31424
31425 2008-07-03  Jim Meyering  <meyering@redhat.com>
31426
31427         * users.txt: Add libffcall.  From Sam Steingold.
31428
31429 2008-07-03  OndÅ™ej Vašík  <ovasik@redhat.com>
31430
31431         getdate.y: do not ignore TZ with relative day, month or year offset
31432         * lib/getdate.y (get_date): Move the tz-handling block to follow the
31433         relative-date-handling, since otherwise, the latter would clobber the
31434         sole output (an updated Start value) of the tz-handling block.
31435         * tests/test-getdate.c: Tests for the fix
31436
31437 2008-07-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31438
31439         Recognize 'foo_LIBRARIES += libgnu.a'.
31440         * gnulib-tool (func_emit_lib_Makefile_am): Recognize if a
31441         makefile snippet has already specified an installation location,
31442         also using '+='.
31443
31444 2008-07-02  OndÅ™ej Vašík  <ovasik@redhat.com>
31445
31446         getdate.y: factor out common actions
31447         * lib/getdate.y (apply_relative_time, set_hhmmss): New functions.
31448         Use them in place of open-coded actions.
31449
31450 2008-07-01  Simon Josefsson  <simon@josefsson.org>
31451
31452         Add self-test for getdate module.
31453         * modules/getdate-tests: New file.
31454         * tests/test-getdate.c: New file.
31455
31456 2008-06-29  Bruno Haible  <bruno@clisp.org>
31457
31458         * gnulib-tool (func_import): Put gnulib-comp.m4 into .cvsignore or
31459         .gitignore.
31460         Reported by Sylvain Beucler <beuc@beuc.net>.
31461
31462 2008-06-29  Bruno Haible  <bruno@clisp.org>
31463
31464         * doc/gnulib-tool.texi (VCS Issues): Mention --no-vc-files option.
31465         * m4/gnulib-tool.m4: Update to match current gnulib-tool.
31466
31467 2008-06-29  Bruno Haible  <bruno@clisp.org>
31468
31469         * gnulib-tool (func_import): Recommend to put gnulib-cache.m4 into
31470         EXTRA_DIST.
31471         Reported by Sylvain Beucler <beuc@beuc.net>.
31472
31473 2008-06-26  Jim Meyering  <meyering@redhat.com>
31474
31475         make several modules depend on the "open" module
31476         This provides slightly increased consistency when opening-for-write
31477         the name of a non-directory spelled with a trailing slash.
31478         * modules/chdir-safer: Likewise.
31479         * modules/chown: Likewise.
31480         * modules/clean-temp: Likewise.
31481         * modules/copy-file: Likewise.
31482         * modules/fchdir: Likewise.
31483         * modules/fcntl-safer: Likewise.
31484         * modules/pipe: Likewise.
31485         * modules/utime: Likewise.
31486         Prompted by Eric Blake and Bruno Haible.
31487
31488 2008-06-24  Andreas Schwab  <schwab@suse.de>
31489
31490         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Don't test whether compound
31491         literals can be used as initializers for global variables.
31492
31493 2008-06-23  Eric Blake  <ebb9@byu.net>
31494
31495         Make gnulib-cache.m4 easier to diff.
31496         * gnulib-tool (func_import): Allow newlines when reading cached
31497         gl_MODULES, and generate newlines when creating gnulib-cache.m4.
31498
31499 2008-06-23  Bruno Haible  <bruno@clisp.org>
31500
31501         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): Remove macro.
31502         (gl_PREREQ_SIGPROCMASK): Don't invoke it.
31503         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): New macro, moved here from
31504         m4/signalblocking.m4.
31505         (gl_PREREQ_SIGACTION): Don't invoke it.
31506         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Invoke
31507         gl_PREREQ_SIG_HANDLER_H.
31508         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
31509         Don't check for sigaction here.
31510
31511 2008-06-23  Bruno Haible  <bruno@clisp.org>
31512
31513         * lib/fatal-signal.c (fatal_signal_handler): Update comment.
31514         (install_handlers): Don't set the SA_RESETHAND flag.
31515
31516 2008-06-23  Bruno Haible  <bruno@clisp.org>
31517
31518         * m4/sigaction.m4: Comment fixes.
31519         * lib/signal.in.h: Likewise.
31520
31521 2008-06-23  Eric Blake  <ebb9@byu.net>
31522
31523         Fix typo.
31524         * tests/test-sigaction.c (MASK_SA_FLAGS): Add missing operator.
31525
31526         Avoid SA_ namespace.
31527         * tests/test-sigaction.c (MASK_SA_FLAGS): Rename from SA_MASK.
31528         Reported by Ralf Wildenhues.
31529
31530         Avoid test failure due to SA_RESTORER.
31531         * tests/test-sigaction.c (SA_MASK): New macro.
31532         (main): Avoid failing due to extension flags being set.
31533         Reported by Jim Meyering.
31534
31535         Revert use of sig-handler.h in sigprocmask.c.
31536         * modules/sigprocmask (Files): Don't rely on sig-handler.h, since
31537         it requires the existence of struct sigaction.
31538         * lib/sigprocmask.c (handler_t): Restore typedef.
31539         (rpl_signal, old_handlers): Use local type.
31540
31541 2008-06-22  Bruno Haible  <bruno@clisp.org>
31542
31543         * tests/test-stdint.c: Disable the INTMAX_MAX preprocessor test
31544         conditionally.
31545         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
31546
31547 2008-06-22  Bruno Haible  <bruno@clisp.org>
31548
31549         * doc/posix-functions/siginterrupt.texi: Move note.
31550
31551         * lib/signal.in.h (SA_RESTART): New macro.
31552         * lib/sigaction.c: Update comment.
31553
31554         * m4/sigaction.m4 (gl_SIGACTION): Require gl_SIGNAL_H_DEFAULTS.
31555
31556         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): New macro.
31557         (gl_PREREQ_SIGPROCMASK): Invoke it.
31558         * m4/sigaction.m4 (gl_PREREQ_SIGACTION): Likewise.
31559
31560         * lib/nanosleep.c (rpl_nanosleep): Setup newact only when it is needed.
31561
31562         * lib/sigprocmask.c: Update a comment.
31563
31564 2008-06-21  Eric Blake  <ebb9@byu.net>
31565
31566         Use sigaction module rather than signal().
31567         * modules/c-stack (Depends-on): Add sigaction.
31568         * modules/fatal-signal (Depends-on): Likewise.
31569         * modules/nanosleep (Depends-on): Likewise.
31570         * modules/sigprocmask (Files): Add sig-handler.h.
31571         * modules/sigaction (Files): Likewise.
31572         * lib/sig-handler.h (get_handler): New file, suggested by Paul
31573         Eggert.
31574         * lib/c-stack.c (SIGACTION_WORKS): Simplify conditions.
31575         (c_stack_action) [!SIGACTION_WORKS]: Use sigaction, not signal.
31576         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
31577         (init_fatal_signals): Likewise.
31578         * lib/nanosleep.c (rpl_nanosleep): Likewise.
31579         (siginterrupt): Delete fallback.
31580         * lib/sigprocmask.c (handler_t, old_handlers): Use sa_handler_t
31581         instead.
31582         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Drop check for
31583         siginterrupt.
31584
31585         New module sigaction, for mingw.
31586         * modules/sigaction: New module...
31587         * modules/sigaction-tests: ...and its test.
31588         * m4/sigaction.m4: New file.
31589         * lib/sigaction.c: Likewise.
31590         * tests/test-sigaction.c: Likewise.
31591         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Add sigaction variables.
31592         * modules/signal (Makefile.am): Likewise.
31593         * lib/signal.in.h (!@HAVE_SIGACTION@): Define replacements when
31594         needed.
31595         * doc/posix-headers/signal.texi (signal.h): Mention provided
31596         types.
31597         * doc/posix-functions/siginterrupt.texi (siginterrupt): Mention
31598         that sigaction is preferable.
31599         * doc/posix-functions/sigaction.texi (sigaction): Mention new
31600         module.
31601         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
31602         sigaction.
31603
31604         Improve robustness of sigprocmask by overriding signal.
31605         * lib/signal.in.h (rpl_signal): Override signal when sigprocmask
31606         is in use.
31607         * lib/sigprocmask.c (blocked_handler): Reinstall block handler.
31608         (SIGKILL, SIGSTOP): Provide fallbacks.
31609         (rpl_signal): Implement.
31610         (old_handlers, blocked_set): Mark volatile, since sigprocmask and
31611         signal can be called inside handlers.
31612
31613         Fix nanosleep module on mingw.
31614         * modules/nanosleep (Depends-on): Add sys_select.
31615         * lib/nanosleep.c (HAVE_SYS_SELECT_H): Rely on gnulib module.
31616
31617         Fix licensing of sigprocmask.
31618         * modules/raise (License): Relicense as LGPL.
31619
31620 2008-06-21  Bruno Haible  <bruno@clisp.org>
31621
31622         * lib/propername.c (proper_name_utf8): Don't use the transliterated
31623         result if it contains question marks.
31624         Reported by Michael Geng <linux@michaelgeng.de>.
31625
31626 2008-06-19  Bruno Haible  <bruno@clisp.org>
31627
31628         Fix CVS-ism.
31629         * doc/gnulib.texi: Include updated-stamp.texi.
31630         * doc/Makefile (GNULIB_TEXI_FILES): New variable.
31631         (updated-stamp.texi): New rule.
31632         (gnulib.info): Depend on it.
31633         * doc/.gitignore: Add updated-stamp.texi.
31634         Based on a patch by Thien-Thi Nguyen <ttn@gnuvola.org>.
31635
31636 2008-06-19  Bruno Haible  <bruno@clisp.org>
31637
31638         * doc/Makefile (gnulib.info): Update and simplify dependencies.
31639         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
31640
31641 2008-06-19  Eric Blake  <ebb9@byu.net>
31642
31643         Fix VPATH 'make dist' with GNU make and non-VCS tarball.
31644         * top/GNUmakefile (_curr-ver): Don't use $(srcdir) unnecessarily.
31645         Reported by Stepan Kasal.
31646
31647 2008-06-18  Bruno Haible  <bruno@clisp.org>
31648
31649         * lib/fatal-signal.c (init_fatal_signals): Add comment.
31650         Reported by Eric Blake.
31651
31652 2008-06-18  Eric Blake  <ebb9@byu.net>
31653
31654         Work around cygwin 1.5.25 strsignal bug.
31655         * tests/test-strsignal.c: Allow for const char *.
31656         * doc/glibc-functions/strsignal.texi (strsignal): Document the bug.
31657
31658 2008-06-18  Simon Josefsson  <simon@josefsson.org>
31659
31660         * users.txt: Update URL to article and add author/date
31661         information.
31662
31663 2008-06-17  Bruno Haible  <bruno@clisp.org>
31664
31665         New macro gl_DISABLE_THREADS.
31666         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Use value gl_use_threads_default
31667         if the user did not pass --enable-threads or --disable-threads option.
31668         (gl_DISABLE_THREADS): New macro.
31669         Reported by Eric Blake <ebb9@byu.net>.
31670
31671 2008-06-17  Bruno Haible  <bruno@clisp.org>
31672
31673         * lib/tls.h (gl_tls_key_init): Evaluate the destructor argument also
31674         when the macro ignores it.
31675         Based on a patch by Eric Blake <ebb9@byu.net>.
31676
31677 2008-06-17  Bruno Haible  <bruno@clisp.org>
31678
31679         * modules/tls (License): Change to LGPLv2+.
31680         Reported by Eric Blake.
31681
31682 2008-06-17  Eric Blake  <ebb9@byu.net>
31683
31684         Simplify c-stack prerequisites.
31685         * lib/c-stack.c (includes): Remove unused <sys/resource.h>.
31686         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Posix 200x
31687         no longer requires <ucontext.h> to exist.  Optimize setrlimit
31688         check.
31689         (gl_PREREQ_C_STACK): Remove check for unused getcontext and
31690         <sys/resource.h>.
31691
31692         Move c-stack test into testsuite.
31693         * modules/c-stack-tests: New file.
31694         * lib/c-stack.c [DEBUG]: Move test program...
31695         * tests/test-c-stack.c: ...into this new file.  Skip rather than
31696         fail test if sigaltstack is lacking.
31697         * tests/test-c-stack.sh: New driver file.
31698
31699 2008-06-16  Eric Blake  <ebb9@byu.net>
31700
31701         Use raise module consistently.
31702         * modules/fatal-signal (Depends-on): Add raise.
31703         * modules/sigprocmask (Depends-on): Likewise.
31704         * lib/fatal-signal.c (fatal_signal_handler): Rely on raise.
31705         * lib/sigprocmask.c (sigprocmask): Likewise.
31706         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
31707         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Likewise.
31708
31709         Fix compliance bug in sigpending.
31710         * lib/sigprocmask.c (sigpending): Return pending array via
31711         parameter, not return value.
31712
31713 2008-06-14  Eric Blake  <ebb9@byu.net>
31714
31715         Improve obstack-printf test code.
31716         * tests/test-obstack-printf.c (test_function): Fix comment, and
31717         simplify usage of obstack_* in macros.  Add a test for coverage.
31718         Reported by Bruno Haible.
31719
31720 2008-06-14  Bruno Haible  <bruno@clisp.org>
31721
31722         * lib/obstack_printf.c (obstack_vprintf): Define the stack-allocated
31723         array size as a constant, not as a const variable.
31724         * m4/obstack-printf.m4 (gl_FUNC_OBSTACK_PRINTF): Require
31725         AC_USE_SYSTEM_EXTENSIONS.
31726         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
31727         Test whether the obstack_printf function actually exists.
31728         * modules/obstack-printf (Depends-on): Add extensions.
31729         (Include): Remove obstack.h.
31730         * modules/obstack-printf-posix (Depends-on): Add extensions.
31731         (Include): Remove obstack.h.
31732
31733 2008-06-13  Eric Blake  <ebb9@byu.net>
31734
31735         Add obstack-printf and obstack-printf-posix modules.
31736         * modules/obstack-printf: New file.
31737         * modules/obstack-printf-posix: Likewise.
31738         * MODULES.html.sh (Misc): Mention them.
31739         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
31740         Likewise.
31741         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
31742         Likewise.
31743         * modules/stdio (Makefile.am): Accomodate new modules.
31744         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
31745         * lib/stdio.in.h (rpl_obstack_printf, rpl_obstack_vprintf):
31746         Declare.
31747         * lib/obstack_printf.c (obstack_printf, obstack_vprintf): New
31748         functions.
31749         * m4/obstack-printf.m4 (gl_OBSTACK_PRINTF)
31750         (gl_REPLACE_OBSTACK_PRINTF): New macros
31751         * m4/obstack-printf-posix.m4 (gl_OBSTACK_PRINTF_POSIX): Likewise.
31752         * tests/test-obstack-printf.c: New file.
31753         * modules/obstack-printf-tests: Likewise.
31754         * modules/obstack-printf-posix-tests: Likewise.
31755
31756 2008-06-11  Bruno Haible  <bruno@clisp.org>
31757
31758         * m4/open.m4 (gl_FUNC_OPEN): Add test against trailing slash bug.
31759         * lib/open.c: Include errno.h.
31760         (open): Fail when attempting to write to a file that has a trailing
31761         slash.
31762         * tests/test-open.c (main): Test against trailing slash bug.
31763         * doc/posix-functions/open.texi: Mention the trailing slash bug.
31764
31765 2008-06-10  Bruno Haible  <bruno@clisp.org>
31766
31767         * tests/test-vc-list-files-git.sh: Make double use of 'exit'. Needed
31768         for $? to work inside the trap command, with various /bin/sh-s.
31769         * tests/test-vc-list-files-cvs.sh: Likewise.
31770
31771 2008-06-10  Bruno Haible  <bruno@clisp.org>
31772
31773         * lib/acl-internal.h: Don't include gettext.h here.
31774         * lib/set-mode-acl.c: Include gettext.h here.
31775         * lib/copy-acl.c: Likewise.
31776
31777 2008-06-10  Bruno Haible  <bruno@clisp.org>
31778
31779         * lib/wait-process.h (wait_subprocess): Add termsigp argument.
31780         * lib/wait-process.c (wait_subprocess): Likewise.
31781         * lib/execute.h (execute): Add termsigp argument.
31782         * lib/execute.c (execute): Likewise.
31783         * lib/csharpcomp.c (compile_csharp_using_pnet,
31784         compile_csharp_using_mono, compile_csharp_using_sscli): Update.
31785         * lib/csharpexec.c (execute_csharp_using_pnet,
31786         execute_csharp_using_mono, execute_csharp_using_sscli): Update.
31787         * lib/javacomp.c (compile_using_envjavac, compile_using_gcj,
31788         compile_using_javac, compile_using_jikes, is_envjavac_gcj,
31789         is_envjavac_gcj43, is_gcj_present, is_gcj_43, is_javac_present,
31790         is_jikes_present): Update.
31791         * lib/javaexec.c (execute_java_class): Update.
31792         * lib/javaversion.c (execute_and_read_line): Update.
31793         * NEWS: Document the changes.
31794         Reported by Eric Blake.
31795
31796 2008-06-10  Eric Blake  <ebb9@byu.net>
31797
31798         Add missing include.
31799         * tests/test-strstr.c (includes): Add <signal.h>.
31800         * tests/test-strcasestr.c (includes): Likewise.
31801         * tests/test-memmem.c (includes): Likewise.
31802
31803 2008-06-10  Bruno Haible  <bruno@clisp.org>
31804
31805         * lib/wait-process.c (wait_subprocess): Add an assertion.
31806
31807 2008-06-10  Bruno Haible  <bruno@clisp.org>
31808
31809         * lib/wait-process.c (wait_subprocess): Try to fix waitid() based code.
31810
31811 2008-06-10  Bruno Haible  <bruno@clisp.org>
31812
31813         * tests/test-memmem.c (main): Reset SIGALRM to default handling before
31814         using alarm().
31815         * tests/test-strcasestr.c (main): Likewise.
31816         * tests/test-strstr.c (main): Likewise.
31817
31818 2008-06-09  Bruno Haible  <bruno@clisp.org>
31819
31820         Work around the Solaris 10 ACE ACLs ABI change.
31821         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): Don't
31822         declare if ACL_NO_TRIVIAL is present.
31823         (ACE_ACCESS_ALLOWED_ACE_TYPE, ACE_ACCESS_DENIED_ACE_TYPE,
31824         NEW_ACE_OWNER, NEW_ACE_GROUP, NEW_ACE_IDENTIFIER_GROUP, ACE_EVERYONE,
31825         NEW_ACE_READ_DATA, NEW_ACE_WRITE_DATA, NEW_ACE_EXECUTE): New macros.
31826         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): Don't
31827         define if ACL_NO_TRIVIAL is present.
31828         (acl_ace_nontrivial): Detect whether the old or new ABI is in use,
31829         and use the current ABI.
31830         (file_has_acl): Use same #if condition as elsewhere.
31831         * lib/set-mode-acl.c (qset_acl): Detect whether the old or new ABI is
31832         in use, and use the current ABI.
31833         * doc/acl-resources.txt: More doc about newer Solaris 10 versions.
31834         Reported by Jim Meyering.
31835
31836 2008-06-09  Eric Blake  <ebb9@byu.net>
31837
31838         Work around environments that (stupidly) ignore SIGALRM.
31839         * m4/strstr.m4 (gl_FUNC_STRSTR): Reset SIGALRM to default handling
31840         before using alarm().
31841         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
31842         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
31843         Reported by Ian Beckwith <ianb@erislabs.net>.
31844
31845         Produce autobuild blurb earlier in log.
31846         * modules/autobuild (configure.ac-early): Move AB_INIT here.
31847
31848 2008-06-09  Jim Meyering  <meyering@redhat.com>
31849         and OndÅ™ej Vašík  <ovasik@redhat.com>
31850
31851         utimens.c: correct kernel bug work-around
31852         OndÅ™ej Vašík found that the invalid return value of 280 indicates
31853         failure, not success, and the kernel bug we're trying to work
31854         around affects not just the utimensat call, but also the fallback
31855         futimens call.
31856         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Simulate failure,
31857         not success.
31858         [HAVE_FUTIMENS]: Use the same work-around, here.
31859
31860 2008-06-09  Jim Meyering  <meyering@redhat.com>
31861
31862         add more guards around definition of ACE_-related code
31863         * lib/file-has-acl.c (acl_ace_nontrivial): Define only if
31864         ALLOW and ACE_OWNER are also defined.
31865
31866 2008-06-08  Bruno Haible  <bruno@clisp.org>
31867
31868         * lib/acl-internal.h: Add me as co-author.
31869         * lib/file-has-acl.c: Likewise.
31870         * lib/set-mode-acl.c: Likewise.
31871         * lib/copy-acl.c: Likewise.
31872
31873 2008-06-08  Bruno Haible  <bruno@clisp.org>
31874
31875         Add support for AIX ACLs.
31876         * lib/acl-internal.h (acl_nontrivial): New declaration.
31877         * lib/file-has-acl.c (acl_nontrivial): New function.
31878         (file_has_acl): Add implementation using AIX 4 ACL API.
31879         * lib/set-mode-acl.c (qset_acl): Likewise.
31880         * lib/copy-acl.c (qcopy_acl): Likewise.
31881
31882 2008-06-08  Bruno Haible  <bruno@clisp.org>
31883
31884         Add support for HP-UX ACLs.
31885         * lib/acl-internal.h (acl_nontrivial): New declaration.
31886         * lib/file-has-acl.c (acl_nontrivial): New function.
31887         (file_has_acl): Add implementation using HP-UX 11 ACL API.
31888         * lib/set-mode-acl.c (qset_acl): Likewise.
31889         * lib/copy-acl.c (qcopy_acl): Likewise.
31890
31891 2008-06-08  Bruno Haible  <bruno@clisp.org>
31892
31893         Add support for Cygwin ACLs.
31894         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro for Solaris-like API.
31895         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Don't optimize away
31896         the chmod_or_fchmod call.
31897         * lib/copy-acl.c (qcopy_acl) [!MODE_INSIDE_ACL]: Likewise.
31898
31899 2008-06-08  Bruno Haible  <bruno@clisp.org>
31900
31901         Fix bug with setuid modes in Solaris 10+ code.
31902         * lib/set-mode-acl.c (qset_acl): Call chmod_or_fchmod when acl_set
31903         succeeded, when the mode contains some special bits.
31904
31905 2008-06-08  Bruno Haible  <bruno@clisp.org>
31906
31907         Add support for Solaris 7..10 ACLs.
31908         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): New
31909         declarations.
31910         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): New
31911         functions.
31912         (file_has_acl): Add implementation using Solaris 7..10 ACL API.
31913         * lib/set-mode-acl.c (qset_acl): Likewise.
31914         * lib/copy-acl.c (qcopy_acl): Likewise.
31915
31916 2008-06-08  Bruno Haible  <bruno@clisp.org>
31917
31918         * lib/acl-internal.h (acl_extended_nontrivial) [MacOS X]: New
31919         declaration.
31920         * lib/file-has-acl.c (acl_extended_nontrivial) [MacOS X]: New function.
31921         (acl_access_nontrivial): Remove MacOS X case.
31922         (file_has_acl): Use acl_extended_nontrivial.
31923         * lib/copy-acl.c (qcopy_acl): Likewise.
31924
31925 2008-06-08  Bruno Haible  <bruno@clisp.org>
31926
31927         * lib/set-mode-acl.c (qset_acl): Trivial code simplifications.
31928
31929 2008-06-08  Jim Meyering  <meyering@redhat.com>
31930
31931         * modules/acl (Maintainer): Add Bruno Haible.
31932
31933 2008-06-07  Bruno Haible  <bruno@clisp.org>
31934
31935         Improve support for Tru64 ACLs.
31936         * lib/file-has-acl.c (file_has_acl): Don't test the ACL_TYPE_DEFAULT
31937         ACL on OSF/1.
31938
31939 2008-06-07  Bruno Haible  <bruno@clisp.org>
31940
31941         Add support for MacOS X ACLs.
31942         * lib/file-has-acl.c (file_has_acl): Use ACL_TYPE_EXTENDED instead of
31943         ACL_TYPE_ACCESS and ACL_TYPE_DEFAULT.
31944         * lib/set-mode-acl.c (qset_acl): Likewise.
31945         * lib/copy-acl.c (qcopy_acl): Likewise.
31946
31947 2008-06-07  Bruno Haible  <bruno@clisp.org>
31948
31949         Fix memory leak introduced on 2008-05-22.
31950         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Free ACLs after
31951         use.
31952
31953 2008-06-07  Bruno Haible  <bruno@clisp.org>
31954
31955         * lib/set-mode-acl.c (qset_acl): Use acl_init(), not acl_from_text(),
31956         to construct an empty ACL.
31957
31958 2008-06-07  Bruno Haible  <bruno@clisp.org>
31959
31960         * lib/set-mode-acl.c (chmod_or_fchmod): Document return value
31961         precisely.
31962         * lib/copy-acl.c (qcopy_acl): Trivial code simplifications.
31963
31964 2008-06-07  Bruno Haible  <bruno@clisp.org>
31965
31966         * lib/copy-acl.c (qcopy_acl): Make the #if branches independent.
31967         * lib/set-mode-acl.c (qset_acl): Choose better local variable names.
31968
31969 2008-06-07  Bruno Haible  <bruno@clisp.org>
31970
31971         * doc/posix-functions/_setjmp.texi: Explain the use of this function
31972         regardless of POSIX.
31973         * doc/posix-functions/_longjmp.texi: Likewise.
31974         * doc/posix-functions/setjmp.texi: Mention HP-UX as not counting as a
31975         SystemV platform in this case.
31976
31977 2008-06-06  Eric Blake  <ebb9@byu.net>
31978
31979         Document abort() bugs.
31980         * doc/posix-functions/abort.texi (abort): Mention anomalies.
31981
31982         * doc/posix-functions/setjmp.texi (setjmp): Mingw has setjmp.
31983         * doc/posix-functions/sigsetjmp.texi (sigsetjmp): Cygwin has
31984         sigsetjmp.
31985         * doc/posix-functions/siglongjmp.texi (siglongjmp): Cygwin has
31986         siglongjmp, but only as a macro.
31987         * doc/posix-functions/_longjmp.texi (_longjmp): Mention that this
31988         is obsolete.
31989         * doc/posix-functions/_setjmp.texi (_setjmp): Likewise.
31990
31991         Tweak documentation to cover cygwin argz bugs.
31992         * m4/argz.m4 (gl_FUNC_ARGZ): Mention date of last known cygwin
31993         argz bug fix; no code change needed since no cygwin releases
31994         occurred between the last fix and the bug being tested.
31995         * doc/glibc-functions/argz_add.texi (argz_add): Document the argz
31996         module and recently fixed cygwin bugs.
31997         * doc/glibc-functions/argz_add_sep.texi (argz_add_sep): Likewise.
31998         * doc/glibc-functions/argz_append.texi (argz_append): Likewise.
31999         * doc/glibc-functions/argz_count.texi (argz_count): Likewise.
32000         * doc/glibc-functions/argz_create.texi (argz_create): Likewise.
32001         * doc/glibc-functions/argz_create_sep.texi (argz_create_sep):
32002         Likewise.
32003         * doc/glibc-functions/argz_delete.texi (argz_delete): Likewise.
32004         * doc/glibc-functions/argz_extract.texi (argz_extract): Likewise.
32005         * doc/glibc-functions/argz_insert.texi (argz_insert): Likewise.
32006         * doc/glibc-functions/argz_next.texi (argz_next): Likewise.
32007         * doc/glibc-functions/argz_replace.texi (argz_replace): Likewise.
32008         * doc/glibc-functions/argz_stringify.texi (argz_stringify):
32009         Likewise.
32010
32011         Avoid gcc warning on cygwin.
32012         * lib/copy-acl.c (qcopy_acl) [!HAVE_ACL_GET_FILE &&
32013         !ACL_NO_TRIVIAL]: Avoid unused variable.
32014
32015 2008-06-05  Eric Blake  <ebb9@byu.net>
32016
32017         Be tolerant of UNKNOWN version in gnulib-tool test dir.
32018         * top/GNUmakefile (_dummy): Warn rather than reconfigure if
32019         git-version-gen fails to come up with a version.
32020         Reported by Simon Josefsson.
32021
32022 2008-06-05  Jim Meyering  <meyering@redhat.com>
32023             Paul Eggert  <eggert@cs.ucla.edu>
32024
32025         utimens.c: work around a probable Linux kernel bug
32026         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Work around what
32027         appears to be a kernel bug that causes utimensat to return 280
32028         instead of 0, indicating success.
32029
32030 2008-06-04  Bruno Haible  <bruno@clisp.org>
32031
32032         * lib/copy-acl.c (qcopy_acl): Call qset_acl, not set_acl. Fixes
32033         2008-06-01 commit.
32034
32035 2008-06-04  Bruno Haible  <bruno@clisp.org>
32036
32037         * lib/acl-internal.h (acl_access_nontrivial): New declaration.
32038         * lib/file-has-acl.c (acl_access_nontrivial): New function.
32039         (file_has_acl): Use it. Save errno afterwards.
32040         * lib/copy-acl.c (qcopy_acl): Use acl_access_nontrivial.
32041
32042 2008-06-03  Bruno Haible  <bruno@clisp.org>
32043
32044         * lib/file-has-acl.c (file_has_acl): Put Solaris 10 code after POSIX-
32045         draft code. Simplify #ifs.
32046         * lib/set-mode-acl.c (qset_acl): Don't test for symlink if !USE_ACL.
32047         Put Solaris code after POSIX-draft code. Fix comments regarding
32048         Solaris 10, HP-UX. Mention Cygwin.
32049         * lib/copy-acl.c (qcopy_acl): Simplify #ifs.
32050
32051 2008-06-03  Eric Blake  <ebb9@byu.net>
32052
32053         Provide fallback for older kernels.
32054         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT, HAVE_FUTIMENS]:
32055         Provide runtime fallback if kernel lacks support.
32056         Reported by Mike Frysinger.
32057
32058 2008-06-02  Bruno Haible  <bruno@clisp.org>
32059
32060         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Include EOPNOTSUPP if
32061         it exists.
32062
32063 2008-06-02  Bruno Haible  <bruno@clisp.org>
32064
32065         * lib/acl_entries.c (acl_entries): Rewrite to use acl_get_entry.
32066         * lib/copy-acl.c (qcopy_acl): Update comment.
32067
32068 2008-06-02  Bruno Haible  <bruno@clisp.org>
32069
32070         * lib/acl-entries.h: Enclose most definitions in #ifs for POSIX-draft
32071         like ACL APIs.
32072
32073 2008-06-02  Bruno Haible  <bruno@clisp.org>
32074
32075         * tests/test-file-has-acl.sh: Use different code for Cygwin.
32076         * tests/test-set-mode-acl.sh: Likewise.
32077         * tests/test-copy-acl.sh: Likewise.
32078         * tests/test-copy-file.sh: Likewise.
32079
32080 2008-06-02  Bruno Haible  <bruno@clisp.org>
32081
32082         * tests/test-file-has-acl.sh: Remove unused code.
32083
32084 2008-06-01  Bruno Haible  <bruno@clisp.org>
32085
32086         * lib/copy-acl.c (qcopy_acl): New function, extracted from copy_acl.
32087         (copy_acl): Just a wrapper around qcopy_acl that emits the error
32088         messages.
32089         * lib/set-mode-acl.c (qset_acl): Document return value precisely.
32090
32091 2008-06-01  Bruno Haible  <bruno@clisp.org>
32092
32093         * m4/acl.m4 (gl_FUNC_ACL): Separate the POSIX-like and the Solaris
32094         tests. Test for libpacl, needed for OSF/1. Test for extended ACLs,
32095         needed for MacOS X. Test for HP-UX API. Test for newer and older AIX
32096         APIs.
32097         * modules/acl-tests (configure.ac): Remove tests now contained in
32098         m4/acl.m4.
32099
32100 2008-06-02  Jim Meyering  <meyering@redhat.com>
32101
32102         announce-gen: use a better key-server host name
32103         * build-aux/announce-gen (main): Recommend keys.gnupg.net, since
32104         it may be more consistently reliable.  Suggested by Werner Koch
32105         in <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/13717>.
32106
32107 2008-06-01  Bruno Haible  <bruno@clisp.org>
32108
32109         * lib/stdio-impl.h (fp_ub): Use fp_. Needed for DragonFly BSD.
32110         Reported by Voroskoi Andras <voroskoi@gmail.com>.
32111
32112 2008-06-01  Voroskoi Andras  <voroskoi@gmail.com>  (tiny change)
32113
32114         * lib/stdio-impl.h [__DragonFly__]: Fix typo.
32115
32116 2008-06-01  Bruno Haible  <bruno@clisp.org>
32117
32118         New ACL tests.
32119         * tests/test-file-has-acl.sh: New file.
32120         * tests/test-file-has-acl.c: New file.
32121         * tests/test-set-mode-acl.sh: New file.
32122         * tests/test-set-mode-acl.c: New file.
32123         * tests/test-copy-acl.sh: New file, based on tests/test-copy-file.sh.
32124         * tests/test-copy-acl.c: New file.
32125         * modules/acl-tests: New file, based on modules/copy-file-tests.
32126         * modules/copy-file-tests (Files): Remove tests/test-sameacls.c.
32127         (Depends-on): Add acl-tests.
32128         (configure.ac): Remove checks.
32129         (Makefile.am): Don't create test-sameacls program here any more.
32130
32131 2008-06-01  Bruno Haible  <bruno@clisp.org>
32132
32133         * tests/test-copy-file.sh: Portability fixes for Solaris, HP-UX, IRIX.
32134         * tests/test-sameacls.c: Include progname.h.
32135         (main): Invoke set_program_name. Portability fixes for MacOS X,
32136         Solaris, HP-UX.
32137
32138 2008-06-01  Bruno Haible  <bruno@clisp.org>
32139
32140         * lib/freadahead.c (freadahead) [__DragonFly__]: Use the __sreadahead
32141         function.
32142         Reported by VOROSKOI Andras <voroskoi@gmail.com>.
32143
32144 2008-06-01  Bruno Haible  <bruno@clisp.org>
32145
32146         * modules/rpmatch (Depends-on): Add strdup.
32147
32148 2008-06-01  Bruno Haible  <bruno@clisp.org>
32149
32150         * lib/pipe.c: Include unistd-safer.h.
32151         (create_pipe): Ensure the returned file descriptors are not in {0,1,2}.
32152         * modules/pipe (Depends-on): Add unistd-safer.
32153
32154 2008-05-30  Simon Josefsson  <simon@josefsson.org>
32155
32156         * modules/autobuild (configure.ac): Call AB_INIT.
32157
32158 2008-05-30  Simon Josefsson  <simon@josefsson.org>
32159
32160         * tests/test-getaddrinfo.c: Don't print debug messages by default.
32161         Suggested by Bruno Haible <bruno@clisp.org>.
32162
32163 2008-05-30  Simon Josefsson  <simon@josefsson.org>
32164
32165         * tests/test-base64.c: Cast size_t to unsigned long when invoking
32166         printf.  Use %lu instead of %d.  Reported by Bruno Haible
32167         <bruno@clisp.org>.
32168
32169 2008-05-29  Eric Blake  <ebb9@byu.net>
32170
32171         Prefer new POSIX 200x interfaces over futimesat.
32172         * m4/utimens.m4 (gl_UTIMENS): Check for futimens, utimensat.
32173         * lib/utimens.c (gl_futimens): Use them for nanosecond resolution
32174         when available.
32175         [HAVE_BUGGY_NFS_TIME_STAMPS]: Allow C89 compilation.
32176
32177 2008-05-28  Bruno Haible  <bruno@clisp.org>
32178
32179         * modules/stpcpy (License): Change to LGPLv2+.
32180         Requested by David Lutterkort <dlutter@redhat.com>.
32181
32182 2008-05-27  Bruno Haible  <bruno@clisp.org>
32183
32184         * lib/localename.c (SUBLANG_TIBETAN_BHUTAN): Force value 2. Needed for
32185         current mingw.
32186         Reported by Jose E. Marchesi <jemarch@gnu.org>.
32187
32188 2008-05-27  Bruno Haible  <bruno@clisp.org>
32189
32190         * modules/iconv_open (Link): New section, from module 'iconv'.
32191         * modules/striconv (Link): Likewise.
32192         * modules/striconveh (Link): Likewise.
32193         * modules/xstriconv (Link): Likewise.
32194         * modules/unicodeio (Link): Likewise.
32195         * modules/propername (Link): Likewise.
32196         Reported by Jim Meyering.
32197
32198 2008-05-26  Jim Meyering  <meyering@redhat.com>
32199
32200         sha256: do not artificially restrict buffer length to be < 2^32
32201         * lib/sha256.h (struct sha256_ctx) [buflen]: Change type from
32202         uint32_t to size_t.
32203         * lib/sha256.c (sha256_conclude_ctx): Change type of a local
32204         to match.
32205
32206         avoid unaligned access errors, e.g., on sparc
32207         * lib/sha512.c (sha512_conclude_ctx): Use set_uint64 rather than
32208         direct access through a possibly-unaligned uint64* pointer.
32209         * lib/sha256.c (sha256_conclude_ctx): Use set_uint32 rather than
32210         direct access through a possibly-unaligned uint32* pointer.
32211         Prompted by this patch from Tom "spot" Callaway:
32212         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13638
32213
32214         sha512.c: fix typo in comment
32215         * lib/sha512.c (sha512_conclude_ctx): Length is 128-bit, not 64-bit.
32216
32217 2008-05-25  Bruno Haible  <bruno@clisp.org>
32218
32219         * lib/set-mode-acl.c: Renamed from lib/acl.c.
32220         * modules/acl (Files): Add lib/set-mode-acl.c, remove lib/acl.c.
32221         (Makefile.am): Update lib_SOURCES.
32222
32223 2008-05-25  Bruno Haible  <bruno@clisp.org>
32224
32225         * m4/acl.m4 (gl_FUNC_ACL): Don't set LIB_ACL_TRIVIAL.
32226
32227 2008-05-25  Jim Meyering  <meyering@redhat.com>
32228
32229         useless-if-before-free: freed expr may have white-space differences
32230         * build-aux/useless-if-before-free: Recognize cases in which the
32231         freed expression differs from the tested one in embedded white
32232         space, e.g., if (p[i + 1]) free(p[i+1]).  Correct thinko in prev:
32233         $1 was used, so we can't make any regexp shy.  Improved tests now
32234         detect this.
32235
32236         useless-if-before-free: accept white space in the expression.
32237         * build-aux/useless-if-before-free: For now, any white space
32238         in the expression must be identical in the free argument.
32239
32240         useless-if-before-free: efficiency tweak
32241         * build-aux/useless-if-before-free: Make the expression-matching
32242         regexp "shy".
32243         Make the *outer* regexp shy, not the expr-matching one.
32244
32245         update code-in-comment to accept cast of free arg
32246         * build-aux/useless-if-before-free: Update regexp.
32247
32248 2008-05-25  Bruno Haible  <bruno@clisp.org>
32249
32250         * tests/test-sameacls.c: Renamed from tests/test-copy-file-sameacls.c.
32251         * modules/copy-file-tests (Files, Makefile.am): Update.
32252         * tests/test-copy-file.c (func_test_copy): Update.
32253
32254 2008-05-24  Andreas Färber  <andreas.faerber@web.de>  (tiny change)
32255
32256         * lib/stdbool.in.h [__HAIKU__]: Disable __BEOS__ workarounds.
32257
32258 2008-05-23  Bruno Haible  <bruno@clisp.org>
32259
32260         Improve support for ACLs on OSF/1.
32261         * lib/acl.c (qset_acl): For OSF/1, use a string that ends in a comma.
32262         Remove fallback for unknown flavors of ACLs.
32263
32264 2008-05-22  Bruno Haible  <bruno@clisp.org>
32265
32266         Add support for ACLs on OSF/1.
32267         * lib/acl-internal.h (acl_get_fd, acl_set_fd): New inline function
32268         replacements.
32269         (acl_free_text): New macro fallback.
32270         * lib/acl_entries.c (acl_entries): Use acl_free_text instead of
32271         acl_free.
32272         * m4/acl.m4 (gl_FUNC_ACL): Look also in libpacl library. Test for
32273         acl_free_text function. Require AC_C_INLINE.
32274
32275 2008-05-22  Bruno Haible  <bruno@clisp.org>
32276
32277         Make copy_acl work on MacOS X 10.5.
32278         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro.
32279         (ACL_NOT_WELL_SUPPORTED): On MacOS X, also handle ENOENT.
32280         * lib/acl.c (qset_acl): Add different code branch for !MODE_INSIDE_ACL.
32281         If MODE_INSIDE_ACL, don't assume that every system has the same text
32282         representation for ACLs as FreeBSD.
32283         * lib/copy-acl.c (copy_acl): Add support for platforms with
32284         !MODE_INSIDE_ACL.
32285         * lib/file-has-acl.c (file_has_acl): Likewise.
32286         * m4/acl.m4 (gl_FUNC_ACL): Test for some functions that are witness of
32287         FreeBSD, MacOS X, or IRIX, respectively.
32288
32289 2008-05-22  Bruno Haible  <bruno@clisp.org>
32290
32291         * lib/acl.h: Don't include <sys/acl.h>.
32292         (GETACLCNT): Move fallback to lib/acl-internal.h.
32293         * lib/acl-internal.h: Include <sys/acl.h> here.
32294         (GETACLCNT): New macro fallback, moved here from lib/acl.h.
32295
32296 2008-05-22  Bruno Haible  <bruno@clisp.org>
32297
32298         Split off copy_acl function to separate file.
32299         * lib/copy-acl.c: New file, extracted from lib/acl.c.
32300         * lib/acl.c (copy_acl): Moved function to separate file.
32301         * m4/acl.m4 (gl_FUNC_ACL): Remove unconditional AC_LIBOBJs.
32302         * modules/acl (Files): Add lib/copy-acl.c.
32303         (Makefiles.am): Augment lib_SOURCES.
32304
32305 2008-05-22  Bruno Haible  <bruno@clisp.org>
32306
32307         * modules/copy-file-tests: New file.
32308         * tests/test-copy-file.sh: New file.
32309         * tests/test-copy-file.c: New file.
32310         * tests/test-copy-file-sameacls.c: New file.
32311
32312 2008-05-22  Eric Blake  <ebb9@byu.net>
32313
32314         Avoid gcc warning.
32315         * tests/test-memcmp.c (main): Pass NULL indirectly.
32316
32317 2008-05-21  Bruno Haible  <bruno@clisp.org>
32318
32319         Add reference doc about ACLs.
32320         * doc/acl-resources.txt: New file.
32321         * doc/acl-cygwin.txt: New file.
32322
32323 2008-05-21  Bruno Haible  <bruno@clisp.org>
32324
32325         Avoid one more warning from gcc.
32326         * lib/vasnprintf.c (IF_LINT): Update comments.
32327         (VASNPRINTF): Use it also for the 'prefix' array initializer.
32328
32329 2008-05-21  Jim Meyering  <meyering@redhat.com>
32330
32331         avoid a warning from gcc
32332         * lib/vasnprintf.c (IF_LINT): Define.
32333         (scale10_round_decimal_long_double):
32334         Use it to avoid a "may be used uninitialized" warning.
32335         (scale10_round_decimal_double): Likewise.
32336
32337 2008-05-21  Simon Josefsson  <simon@josefsson.org>
32338
32339         * m4/memcmp.m4: When cross-compiling, assume memcmp works if it is
32340         declared.
32341
32342 2008-05-20  Bruno Haible  <bruno@clisp.org>
32343
32344         * tests/test-memcmp.c (main): Test also the sign of the result. Test
32345         against two known bugs; code taken from autoconf's AC_FUNC_MEMCMP.
32346
32347 2008-05-20  Simon Josefsson  <simon@josefsson.org>
32348
32349         * modules/memcmp-tests: New file.
32350         * tests/test-memcmp.c: New file.
32351
32352 2008-05-19  Bruno Haible  <bruno@clisp.org>
32353
32354         * modules/propername (Notice, configure.ac): Put quoted "..." into
32355         --keyword option.
32356         * lib/propername.h: Update comments accordingly.
32357         Reported by Eric Blake.
32358
32359 2008-05-19  Martin Lambers  <marlam@marlam.de>  (tiny change)
32360
32361         * modules/getpass-gnu (Depends-on): Add fseeko.
32362
32363 2008-05-19  Simon Josefsson  <simon@josefsson.org>
32364
32365         * modules/base64-tests: New file.
32366
32367 2008-05-19  Bo Borgerson <gigabo@gmail.com>
32368
32369         * lib/base64.c (base64_decode_ctx): If a decode context structure
32370         was passed in use it to ignore newlines.  If a context structure
32371         was _not_ passed in, continue to treat newlines as garbage (this
32372         is the historical behavior).  Formerly base64_decode.
32373         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
32374         takes a decode context structure.
32375         * lib/base64.h (base64_decode): Macro for four-argument calls.
32376         (base64_decode_alloc): Likewise.
32377         * lib/base64.c (base64_decode_ctx): If a decode context structure
32378         was passed in use it to ignore newlines.  If a context structure
32379         was _not_ passed in, continue to treat newlines as garbage (this
32380         is the historical behavior).  Formerly base64_decode.
32381         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
32382         takes a decode context structure.
32383         * lib/base64.h (base64_decode): Macro for four-argument calls.
32384         (base64_decode_alloc): Likewise.
32385
32386 2008-05-19  Jim Meyering  <meyering@redhat.com>
32387
32388         avoid a warning from gcc
32389         * lib/trim.c (IF_LINT): Define.
32390         (trim2): Use it to avoid a "may be used uninitialized" warning.
32391
32392         Fix doc typo.
32393         * doc/glibc-functions/getpass.texi (getpass): s/PATH_MAX/PASS_MAX/.
32394
32395 2008-05-19  Bruno Haible  <bruno@clisp.org>
32396
32397         * doc/glibc-functions/getpass.texi: Document limits of other
32398         implementations.
32399
32400 2008-05-19  Simon Josefsson  <simon@josefsson.org>
32401             Bruno Haible <bruno@clisp.org>
32402
32403         * doc/glibc-functions/getpass.texi: Document gnulib implementation.
32404
32405 2008-05-18  Bruno Haible  <bruno@clisp.org>
32406
32407         * modules/propername: New file, from GNU gettext.
32408         * lib/propername.h: New file, from GNU gettext.
32409         * lib/propername.c: New file, from GNU gettext.
32410         * MODULES.html.sh (Internationalization functions): Add propername.
32411
32412 2008-05-16  Jim Meyering  <meyering@redhat.com>
32413             Bruno Haible  <bruno@clisp.org>
32414
32415         Avoid some warnings from "gcc -Wshadow".
32416         * lib/vasnprintf.c (exp, remainder): Define to different identifiers.
32417
32418 2008-05-15  Eric Blake  <ebb9@byu.net>
32419
32420         Extend previous patch to cygwin 1.7.0.
32421         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a
32422         fast implementation in cygwin >= 1.7.0.
32423         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
32424         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
32425
32426 2008-05-15  Bruno Haible  <bruno@clisp.org>
32427
32428         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a fast
32429         implementation in glibc >= 2.9.
32430         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
32431         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
32432
32433 2008-05-15  Bruno Haible  <bruno@clisp.org>
32434
32435         * MODULES.html.sh (Internationalization functions): Remove linebreak.
32436         (Unicode string functions): Add unilbrk/*.
32437         Reported by Karl Berry.
32438
32439 2008-05-15  Eric Blake  <ebb9@byu.net>
32440
32441         Fix violation of <stdbool.h> replacement in regex.
32442         * lib/regcomp.c (re_compile_internal): Avoid implicit cast to bool.
32443         * lib/regexec.c (re_search_internal): Likewise.
32444         Reported by Heinrich Mislik <Heinrich.Mislik@univie.ac.at>.
32445
32446 2008-05-15  Jim Meyering  <meyering@redhat.com>
32447
32448         avoid distracting test output when git or cvs is not found
32449         * tests/test-vc-list-files-cvs.sh: Suppress 'init' error output.
32450         * tests/test-vc-list-files-git.sh: Likewise.
32451
32452 2008-05-15  Eric Blake  <ebb9@byu.net>
32453
32454         Glibc finally accepted the memmem speedup code, bugzilla #5514.
32455         * doc/glibc-functions/memmem.texi (memmem): Mention last broken
32456         glibc version.
32457         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
32458         * doc/posix-functions/strstr.texi (strstr): Likewise.
32459         * lib/str-two-way.h (MAX): Sychronize with glibc.
32460
32461 2008-05-15  Paolo Bonzini  <bonzini@gnu.org>
32462
32463         * lib/regcomp.c (optimize_utf8): Add a note on why we test
32464         opr.ctx_type.
32465         (calc_first): Initialize constraint field.
32466         (duplicate_node_closure): Use it instead of special casing ANCHORS.
32467         Fix grammar.
32468         (duplicate_node): Merge constraint field for all node types.
32469         (calc_eclosure_iter): Look at constraint field for all node types.
32470         * lib/regex_internal.c (create_cd_newstate): Don't look at
32471         opr.ctx_type.
32472
32473 2008-05-14  Bruno Haible  <bruno@clisp.org>
32474
32475         Help GCC to do better code generation.
32476         * lib/eealloc.h (eemalloc) [GCC >= 3]: Declare with attribute 'malloc'.
32477         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
32478         * lib/xalloc.h (ATTRIBUTE_MALLOC): New macro.
32479         (xmalloc, xzalloc, xcalloc, xmemdup, xstrdup, xnmalloc, xcharalloc):
32480         Declare with attribute 'malloc' if supported.
32481
32482 2008-05-14  Lasse Collin  <lasse.collin@tukaani.org>
32483
32484         use "echo STR|wc -c" rather than unportable "expr length STR"
32485         * build-aux/mktempd (mktempd): Vendor-supplied expr from at least
32486         OpenBSD 4.3 and Solaris 10 do not honor expr's "length" function.
32487
32488 2008-05-14  Jim Meyering  <meyering@redhat.com>
32489
32490         use dd ibs=$n count=1 ... rather than less-portable head -c$n
32491         * build-aux/mktempd (rand_bytes): head's -cN option is not accepted
32492         by Solaris 10's /bin/head or by the one from HP-UX 11.x.
32493         Reported in http://sourceforge.net/forum/message.php?msg_id=4960334
32494         via Collin Lasse.
32495
32496 2008-05-14  Eric Blake  <ebb9@byu.net>
32497
32498         Avoid quadratic growth in gl_LIBSOURCES.
32499         * gnulib-tool (func_emit_initmacro_done): s/\(m4_append\)_uniq/\1/.
32500         Suggested by Bruno Haible.
32501
32502         Test xmemdup0.
32503         * modules/xmemdup0-tests: New file.
32504         * tests/test-xmemdup0.c: Likewise.
32505
32506 2008-05-13  Eric Blake  <ebb9@byu.net>
32507
32508         Split xmemdup0 into its own module.
32509         * modules/xmemdup0: New file.
32510         * lib/xmemdup0.h: Likewise.
32511         * lib/xmemdup0.c: Likewise.
32512         * MODULES.html.sh (Memory management functions): Add xmemdup0.
32513         * lib/xalloc.h (xmemdup0): Remove.
32514         * lib/xmalloc.c (xmemdup0): Likewise.
32515
32516 2008-05-13  Eric Blake  <ebb9@byu.net>
32517             Bruno Haible  <bruno@clisp.org>
32518
32519         Reduce number of forks required during autoconf.
32520         * gnulib-tool (func_emit_initmacro_start): Prepare gl_LIBSOURCES_LIST
32521         and gl_LIBSOURCES_DIR.
32522         (func_emit_initmacro_end): Use them here in a single m4_syscmd...
32523         (func_emit_initmacro_done) <gl_LIBSOURCES>: ...rather than in one
32524         m4_syscmd per file.
32525         <m4_foreach_w>: Move...
32526         * m4/gnulib-common.m4 (m4_foreach_w): ...here.
32527
32528 2008-05-13  Eric Blake  <ebb9@byu.net>
32529
32530         * gnulib-tool: Fix various comment typos.
32531
32532 2008-05-12  Bruno Haible  <bruno@clisp.org>
32533
32534         Tailor the linebreaking algorithm.
32535         * lib/unilbrk/tables.c (unilbrk_table): Change (IS,AL) entry.
32536
32537 2008-05-12  Bruno Haible  <bruno@clisp.org>
32538
32539         Update to Unicode 5.0.0.
32540         * lib/unilbrk/tables.h (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
32541         LBP_JV, LBP_JT. Redistribute values.
32542         (unilbrk_table): Change size.
32543         * lib/unilbrk/tables.c (unilbrk_table): Change size. Update to match
32544         Unicode TR#14 rev. 22.
32545         * lib/unilbrk/gen-lbrk.c (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
32546         LBP_JV, LBP_JT. Redistribute values.
32547         (get_lbp): Update to match Unicode TR#14 rev. 21/22 and Unicode 5.0.0.
32548         (debug_output_lbp, fill_org_lbp, debug_output_org_lbp, output_lbp):
32549         Update.
32550         * lib/unilbrk/lbrkprop1.h: Regenerated.
32551         * lib/unilbrk/lbrkprop2.h: Regenerated.
32552         * lib/unilbrk/u8-possible-linebreaks.c (u8_possible_linebreaks):
32553         Change handling of LBP_CM after LBP_ZW. Update for new value of LBP_BK.
32554         * lib/unilbrk/u16-possible-linebreaks.c (u16_possible_linebreaks):
32555         Likewise.
32556         * lib/unilbrk/u32-possible-linebreaks.c (u32_possible_linebreaks):
32557         Likewise.
32558         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update expected
32559         result.
32560         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
32561         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
32562         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
32563         * tests/unilbrk/test-u8-width-linebreaks.c (main): Likewise.
32564         * tests/unilbrk/test-u16-width-linebreaks.c (main): Likewise.
32565         * tests/unilbrk/test-u32-width-linebreaks.c (main): Likewise.
32566
32567 2008-05-11  Bruno Haible  <bruno@clisp.org>
32568
32569         * lib/unilbrk/gen-lbrk.c (output_lbp): Fix whitespace.
32570
32571 2008-05-11  Bruno Haible  <bruno@clisp.org>
32572
32573         * lib/unilbrk/gen-lbrk.c: New file, from GNU gettext (gen-lbrkprop.c).
32574         * modules/unilbrk/gen-lbrk: New file.
32575
32576 2008-05-11  Bruno Haible  <bruno@clisp.org>
32577
32578         * m4/sha256.m4 (gl_SHA256): Require AC_C_INLINE.
32579         * m4/sha512.m4 (gl_SHA512): Likewise.
32580
32581 2008-05-11  Jim Meyering  <meyering@redhat.com>
32582
32583         New modules: crypto/sha256, crypto/sha512 (from coreutils)
32584         * modules/crypto/sha256: New file.
32585         * modules/crypto/sha512: Likewise.
32586         * lib/sha256.c: Likewise.
32587         * lib/sha256.h: Likewise.
32588         * lib/sha512.c: Likewise.
32589         * lib/sha512.h: Likewise.
32590         * lib/u64.h: Likewise.
32591         * m4/sha256.m4: Likewise.
32592         * m4/sha512.m4: Likewise.
32593         * MODULES.html.sh (Cryptographic computations (low-level)): List them.
32594
32595 2008-05-10  Bruno Haible  <bruno@clisp.org>
32596
32597         * MODULES.html.sh (Environment variables <stdlib.h>): Add unsetenv.
32598         (Input/Output <stdio.h>): Add xprintf.
32599         (Signal handling <signal.h>): Add strsignal.
32600         (Cryptographic computations (high-level)): Add crypto/gc-camellia.
32601         (Core language properties): Add func.
32602         (Mathematics <math.h>): Add ceil, floor, frexp-nolibm.
32603         (Support for systems lacking POSIX:2001): Add environ, EOVERFLOW,
32604         strings.
32605         (Enhancements for POSIX:2001 functions): Add iconv_open-utf.
32606         (Input/output): New section.
32607         (File system functions): Add openat-die, stat-macros.
32608         (Networking functions): Add sockets.
32609         (Unicode string functions): Add unictype/*.
32610         (Support for building libraries and executables): Add gperf.
32611         (Support for building documentation): Add agpl-3.0.
32612         (Misc): Add nocrash.
32613
32614 2008-05-10  Bruno Haible  <bruno@clisp.org>
32615
32616         * modules/unictype/gen-ctype: New file.
32617
32618 2008-05-10  Jim Meyering  <meyering@redhat.com>
32619
32620         Make chdir-safer.c more efficient on a system with no symlinks.
32621         * lib/chdir-safer.c (chdir_no_follow): Skip lstat and fstat calls
32622         also if ELOOP is zero.  Suggested by Bruno Haible.
32623
32624         Make chdir-safer.c slightly safer.
32625         * lib/chdir-safer.c (chdir_no_follow): Test HAVE_WORKING_O_NOFOLLOW,
32626         not O_NOFOLLOW, in case the latter is nonzero and open ignores it.
32627
32628         Avoid compile failure on systems without ELOOP (like mingw).
32629         * lib/chdir-safer.c (ELOOP): Define if not already defined.
32630         Reported by Bruno Haible.
32631
32632 2008-05-10  Bruno Haible  <bruno@clisp.org>
32633
32634         * lib/unilbrk/ulc-common.c: Include c-strcaseeq.h instead of streq.h.
32635         (is_utf8_encoding): Use a case-insensitive comparison.
32636         * modules/unilbrk/ulc-common (Depends-on): Add c-strcaseeq. Remove
32637         streq.
32638
32639 2008-05-10  Bruno Haible  <bruno@clisp.org>
32640
32641         * lib/unilbrk/ulc-common.c: Don't include <stdlib.h>.
32642         (iconv_string_length, iconv_string_keeping_offsets): Remove functions.
32643         * lib/unilbrk/ulc-common.h (iconv_string_length,
32644         iconv_string_keeping_offsets): Remove declarations.
32645         * lib/unilbrk/ulc-possible-linebreaks.c: Include <string.h>, uniconv.h.
32646         Don't include <iconv.h>, streq.h, xsize.h.
32647         (ulc_possible_linebreaks): Use u8_conv_from_encoding for doing the
32648         conversion.
32649         * lib/unilbrk/ulc-width-linebreaks.c: Include uniconv.h. Don't include
32650         <iconv.h>, streq.h, xsize.h.
32651         (ulc_width_linebreaks): Use u8_conv_from_encoding for doing the
32652         conversion.
32653         * modules/unilbrk/ulc-common (Depends-on): Remove iconv.
32654         * modules/unilbrk/ulc-possible-linebreaks (Depends-on): Add
32655         uniconv/u8-conv-from-enc. Remove iconv_open, streq, xsize.
32656         * modules/unilbrk/ulc-width-linebreaks (Depends-on): Likewise.
32657
32658 2008-05-10  Bruno Haible  <bruno@clisp.org>
32659
32660         * modules/unilbrk/ulc-width-linebreaks-tests: New file.
32661         * tests/unilbrk/test-ulc-width-linebreaks.c: New file.
32662
32663         * modules/unilbrk/u32-width-linebreaks-tests: New file.
32664         * tests/unilbrk/test-u32-width-linebreaks.c: New file.
32665
32666         * modules/unilbrk/u16-width-linebreaks-tests: New file.
32667         * tests/unilbrk/test-u16-width-linebreaks.c: New file.
32668
32669         * modules/unilbrk/u8-width-linebreaks-tests: New file.
32670         * tests/unilbrk/test-u8-width-linebreaks.c: New file.
32671
32672         * modules/unilbrk/ulc-possible-linebreaks-tests: New file.
32673         * tests/unilbrk/test-ulc-possible-linebreaks.c: New file.
32674
32675         * modules/unilbrk/u32-possible-linebreaks-tests: New file.
32676         * tests/unilbrk/test-u32-possible-linebreaks.c: New file.
32677
32678         * modules/unilbrk/u16-possible-linebreaks-tests: New file.
32679         * tests/unilbrk/test-u16-possible-linebreaks.c: New file.
32680
32681         * modules/unilbrk/u8-possible-linebreaks-tests: New file.
32682         * tests/unilbrk/test-u8-possible-linebreaks.c: New file.
32683
32684 2008-05-10  Bruno Haible  <bruno@clisp.org>
32685
32686         Split up 'linebreak' module.
32687         * lib/unilbrk.h: New file, based on lib/linebreak.h.
32688         * lib/unilbrk/lbrkprop1.h: New file, extracted from lib/lbrkprop.h.
32689         * lib/unilbrk/lbrkprop2.h: New file, renamed from lib/lbrkprop.h with
32690         modifications.
32691         * lib/unilbrk/tables.h: New file, extracted from lib/linebreak.c.
32692         * lib/unilbrk/tables.c: New file, extracted from lib/linebreak.c.
32693         * lib/unilbrk/u8-possible-linebreaks.c: New file, extracted from
32694         lib/linebreak.c.
32695         * lib/unilbrk/u16-possible-linebreaks.c: New file, extracted from
32696         lib/linebreak.c.
32697         * lib/unilbrk/u32-possible-linebreaks.c: New file, extracted from
32698         lib/linebreak.c.
32699         * lib/unilbrk/ulc-common.h: New file, extracted from lib/linebreak.c.
32700         * lib/unilbrk/ulc-common.c: New file, extracted from lib/linebreak.c.
32701         * lib/unilbrk/ulc-possible-linebreaks.c: New file, extracted from
32702         lib/linebreak.c.
32703         * lib/unilbrk/u8-width-linebreaks.c: New file, extracted from
32704         lib/linebreak.c.
32705         * lib/unilbrk/u16-width-linebreaks.c: New file, extracted from
32706         lib/linebreak.c.
32707         * lib/unilbrk/u32-width-linebreaks.c: New file, extracted from
32708         lib/linebreak.c.
32709         * lib/unilbrk/ulc-width-linebreaks.c: New file, extracted from
32710         lib/linebreak.c.
32711         * modules/unilbrk/base: New file.
32712         * modules/unilbrk/tables: New file.
32713         * modules/unilbrk/u8-possible-linebreaks: New file.
32714         * modules/unilbrk/u16-possible-linebreaks: New file.
32715         * modules/unilbrk/u32-possible-linebreaks: New file.
32716         * modules/unilbrk/ulc-common: New file.
32717         * modules/unilbrk/ulc-possible-linebreaks: New file.
32718         * modules/unilbrk/u8-width-linebreaks: New file.
32719         * modules/unilbrk/u16-width-linebreaks: New file.
32720         * modules/unilbrk/u32-width-linebreaks: New file.
32721         * modules/unilbrk/ulc-width-linebreaks: New file.
32722         * lib/linebreak.h: Remove file.
32723         * lib/linebreak.c: Remove file.
32724         * m4/linebreak.m4: Remove file.
32725         * modules/linebreak: Remove file.
32726         * NEWS: Mention the changes.
32727
32728 2008-05-09  Eric Blake  <ebb9@byu.net>
32729
32730         Add xmemdup0.
32731         * lib/xalloc.h (xmemdup0): New prototype and C++ typesafe
32732         implementation.
32733         * lib/xmalloc.c (xmemdup0): New C implementation.
32734
32735 2008-05-08  Bruno Haible  <bruno@clisp.org>
32736
32737         * m4/wctype.m4 (gl_WCTYPE_H): Correct indentation.
32738
32739 2008-05-07  Eric Blake  <ebb9@byu.net>
32740
32741         Support cross-compilation of <wctype.h>.
32742         * m4/wctype.m4 (gl_WCTYPE_H): Fix improper nesting in
32743         AC_CACHE_CHECK.
32744
32745 2008-05-06  Soren Hansen  <soren@ubuntu.com>  (tiny change)
32746
32747         * build-aux/vc-list-files: Add support for bzr.
32748
32749 2008-05-03  Jim Meyering  <meyering@redhat.com>
32750
32751         avoid failed assertion with tight malloc
32752         * tests/test-getndelim2.c: Correct an off-by-one assertion.
32753
32754 2008-05-03  Simon Josefsson  <simon@josefsson.org>
32755
32756         * m4/inet_pton.m4: Set HAVE_DECL_INET_PTON to 0 when declarations
32757         are needed from arpa/inet.h.
32758         * m4/inet_ntop.m4: Likewise, for HAVE_DECL_INET_NTOP.
32759         Reported by Bruno Haible.
32760
32761 2008-05-02  Jim Meyering  <meyering@redhat.com>
32762
32763         avoid compilation error on FreeBSD 6
32764         * tests/test-getaddrinfo.c [!defined EAI_NODATA] (EAI_NODATA): Define.
32765
32766 2008-05-01  Jim Meyering  <meyering@redhat.com>
32767
32768         useless-if-before-free: correct --help's exit status description
32769         * build-aux/useless-if-before-free (usage): Like grep, exit 0
32770         for one or more matches, etc.  Reported by Bruno Haible.
32771
32772         vc-list-files: make the stand-alone gnulib test work
32773         * modules/vc-list-files-tests (configure.ac):
32774         Define and AC_SUBST abs_aux_dir.
32775         (Makefile.am) [TESTS_ENVIRONMENT]: Rather than passing
32776         $(abs_top_srcdir) to each script and having each of them
32777         duplicate the work of setting PATH, set PATH here, using
32778         the new variable, abs_aux_dir instead.
32779         * tests/test-vc-list-files-cvs.sh: Don't set PATH here.
32780         * tests/test-vc-list-files-git.sh: Likewise.
32781         Reported by Bruno Haible.
32782
32783 2008-05-01  Bruno Haible  <bruno@clisp.org>
32784
32785         * lib/getndelim2.c (getndelim2): Fix newsize computation during
32786         reallocation. Rename 'done' to 'found_delimiter'.
32787
32788 2008-05-01  Jim Meyering  <meyering@redhat.com>
32789
32790         vc-list-files: accommodate /bin/sh like the one from Solaris 10
32791         * build-aux/vc-list-files: Use `...`, not $(...).
32792
32793 2008-04-30  Jim Meyering  <meyering@redhat.com>
32794
32795         add tests for vc-list-files
32796         * modules/vc-list-files-tests: New module.
32797         * tests/test-vc-list-files-cvs.sh: New file.
32798         * tests/test-vc-list-files-git.sh: New file.
32799
32800         avoid a warning from gcc
32801         * lib/getndelim2.c (IF_LINT): Define.
32802         (getndelim2): Use it to avoid a "may be used uninitialized" warning.
32803
32804         vc-list-files: work properly with build-aux/cvsu, too
32805         * build-aux/vc-list-files: Hoist the "./"-removing code to apply
32806         to all cvs-based clauses.
32807
32808         vc-list-files: work properly in the CVS+awk case, too
32809         * build-aux/vc-list-files: In the CVS+awk case, remove "./" prefix.
32810
32811         vc-list-files: avoid use of ${*-*} that fails when /bin/sh is dash
32812         * build-aux/vc-list-files: Simplify ${*-*} to $dir, since we no longer
32813         take more than one file argument, so .  Add quotes, just in case $dir
32814         ever contains a shell meta-character.  Prompted by Soren Hansen in
32815         <http://thread.gmane.org/gmane.comp.emulators.libvirt/6221/focus=6240>.
32816
32817 2008-04-29  Eric Blake  <ebb9@byu.net>
32818
32819         Optimize getndelim2 to use block operations when possible.
32820         * modules/getndelim2 (Depends-on): Add stdbool, freadptr,
32821         freadseek, and memchr2.
32822         * lib/getndelim2.c (getndelim2): Use them for block reads.
32823
32824 2008-04-29  Bruno Haible  <bruno@clisp.org>
32825
32826         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_USE_SYSTEM_EXTENSIONS.
32827         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
32828         * modules/inet_ntop (Depends-on): Add extensions.
32829         * modules/inet_pton (Depends-on): Likewise.
32830         Reported by Simon Josefsson.
32831
32832 2008-04-29  Jim Meyering  <meyering@redhat.com>
32833
32834         When the is more than one match in a block, match all of them.
32835         * build-aux/useless-if-before-free: Iterate through each block
32836         until there are no more matches.
32837
32838         Fix broken useless-if-before-free script.
32839         * build-aux/useless-if-before-free: Fix typo: missing "?" after
32840         the expression to match cast of argument to free-like function.
32841
32842 2008-04-29  Eric Blake  <ebb9@byu.net>
32843
32844         Use new header.
32845         * lib/getaddrinfo.c (includes): s/"inet_ntop.h"/<arpa/inet.h>/.
32846
32847 2008-04-29  Jim Meyering  <meyering@redhat.com>
32848
32849         Avoid test segfault on x86_64 due to lack of inet_ntop declaration.
32850         * tests/test-getaddrinfo.c: Include <arpa/inet.h>, now guaranteed
32851         by gnulib to exist and to declare e.g., inet_ntop.
32852         Don't include "inet_ntop.h", now removed.
32853
32854         * m4/arpa_inet_h.m4: Remove trailing blanks.
32855
32856 2008-04-29  Eric Blake  <ebb9@byu.net>
32857
32858         Silence valgrind on safe reads beyond potential array bounds.
32859         * lib/rawmemchr.valgrind: New file.
32860         * lib/strchrnul.valgrind: Likewise.
32861         * modules/rawmemchr (Files): Distribute new file.
32862         * modules/strchrnul (Files): Likewise.
32863         Suggested by Bruno Haible.
32864
32865 2008-04-29  Bruno Haible  <bruno@clisp.org>
32866
32867         * lib/arpa_inet.in.h: Include system's <arpa/inet.h> if it exists.
32868         (inet_ntop, inet_pton): Change portability warning's wording.
32869         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Set HAVE_ARPA_INET_H.
32870         Invoke gl_CHECK_NEXT_HEADERS.
32871         (gl_ARPA_INET_H_DEFAULTS): Initialize ARPA_INET_H.
32872         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS and
32873         set ARPA_INET_H.
32874         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
32875         * modules/arpa_inet (Description): No longer only for systems that
32876         lack it.
32877         (Depends-on): Add include_next.
32878         (Makeile.am): Substitute INCLUDE_NEXT, NEXT_ARPA_INET_H,
32879         HAVE_ARPA_INET_H.
32880
32881 2008-04-29  Jim Meyering  <meyering@redhat.com>
32882
32883         * modules/mkdir (License): Re-license as LGPLv2+.
32884
32885 2008-04-29  Bruno Haible  <bruno@clisp.org>
32886
32887         * modules/rawmemchr (Maintainer): Set to Eric.
32888         * modules/strchrnul (Maintainer): Likewise.
32889
32890 2008-04-29  Simon Josefsson  <simon@josefsson.org>
32891
32892         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Set
32893         HAVE_DECL_INET_NTOP and HAVE_DECL_INET_PTON.
32894
32895         * modules/arpa_inet (arpa/inet.h): Use them.
32896
32897 2008-04-28  Eric Blake  <ebb9@byu.net>
32898
32899         Test getndelim2.
32900         * modules/getndelim2-tests: New file.
32901         * tests/test-getndelim2.c: Likewise.
32902         * lib/getndelim2.c (getndelim2): Never return 0.  Lock the
32903         stream.
32904         * m4/getndelim2.m4 (gl_GETNDELIM2): Check for lock functions.
32905
32906         * MODULES.html.sh: Document new module.
32907
32908 2008-04-20  Bruno Haible  <bruno@clisp.org>
32909
32910         * lib/c-stack.c (die): Use raise.
32911         * modules/c-stack (Depends-on): Add raise.
32912
32913 2008-04-28  Bruno Haible  <bruno@clisp.org>
32914
32915         Expect rpmatch to be declared.
32916         * lib/yesno.c (rpmatch): Remove declaration.
32917
32918         Declare rpmatch.
32919         * lib/stdlib.in.h (rpmatch): New declaration.
32920         * lib/rpmatch.c: Include <stdlib.h> first.
32921         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Require AC_USE_SYSTEM_EXTENSIONS and
32922         gl_STDLIB_H_DEFAULTS. Set HAVE_RPMATCH.
32923         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RPMATCH,
32924         HAVE_RPMATCH.
32925         * modules/rpmatch (Depends-on): Add stdlib, extensions.
32926         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
32927         (Include): Set to <stdlib.h>.
32928         * modules/stdlib (Makefile.am): Substitute GNULIB_RPMATCH and
32929         HAVE_RPMATCH.
32930         * NEWS: Document the change.
32931
32932 2008-04-28  Bruno Haible  <bruno@clisp.org>
32933
32934         Change rpmatch to use nl_langinfo when appropriate.
32935         * lib/rpmatch.c: Include stdbool.h, string.h, langinfo.h.
32936         (N_): New macro.
32937         (localized_pattern): New function/macro.
32938         (try): Remove match, nomatch arguments. Copy the pattern into safe
32939         memory before caching it.
32940         (rpmatch): Use localized_pattern. Add translator comments.
32941         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Test for nl_langinfo and YESEXPR.
32942         Suggested by Eric Blake.
32943         * modules/rpmatch (Depends-on): Add stdbool.
32944
32945 2008-04-28  Eric Blake  <ebb9@byu.net>
32946
32947         Add rawmemchr module, matching glibc.
32948         * modules/string (Makefile.am): New indicator.
32949         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set it.
32950         * lib/string.in.h (rawmemchr): Declare when appropriate.
32951         * modules/rawmemchr: New file.
32952         * m4/rawmemchr.m4: Likewise.
32953         * lib/rawmemchr.c: Likewise.
32954         * modules/rawmemchr-tests: Likewise.
32955         * tests/test-rawmemchr.c: Likewise.
32956         * doc/glibc-functions/rawmemchr.texi (rawmemchr): Document
32957         module.
32958         * modules/strchrnul (Depends-on): Add rawmemchr.
32959         * lib/strchrnul.c (strchrnul): Optimize a corner case.
32960
32961         Whitespace cleanup.
32962         * tests/test-strchrnul.c: Reindent.
32963         * lib/strchrnul.c: Likewise.
32964
32965         Optimize and test strchrnul.
32966         * lib/strchrnul.c (strchrnul): Rewrite to do parallel search.
32967         * modules/strchrnul-tests: New file.
32968         * tests/test-strchrnul.c: Likewise.
32969
32970         Remove intprops dependency.
32971         * modules/memchr (Depends-on): Remove intprops.
32972         * modules/memrchr (Depends-on): Likewise.
32973         * modules/memchr2 (Depends-on): Likewise.
32974         * lib/memchr.c (__memchr): Hand-inline the TYPE_MAXIMUM check.
32975         * lib/memrchr.c (__memrchr): Likewise.
32976         * lib/memrchr2.c (memchr2): Likewise.
32977         Reported by Simon Josefsson.
32978
32979 2008-04-28  Simon Josefsson  <simon@josefsson.org>
32980
32981         * m4/sys_socket_h.m4: Move AC_REQUIRE([AC_C_INLINE]) to top.
32982         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
32983
32984 2008-04-28  Simon Josefsson  <simon@josefsson.org>
32985
32986         * lib/inet_ntop.h, lib/inet_pton.h: Remove files.
32987
32988         * lib/inet_ntop.c: Include arpa/inet.h instead of inet_ntop.h.
32989
32990         * lib/inet_pton.c: Include arpa/inet.h instead of inet_pton.h.
32991
32992         * lib/arpa_inet.in.h [@GNULIB_INET_NTOP@]: Inline inet_ntop.h
32993         declarations.
32994         [@GNULIB_INET_PTON@]: Inline inet_pton.h declarations.
32995
32996         * m4/inet_pton.m4: Don't check for header files.
32997
32998         * m4/inet_ntop.m4: Don't check for header files.
32999
33000 2008-04-28  Simon Josefsson  <simon@josefsson.org>
33001
33002         * m4/sys_socket_h.m4: Require AC_C_INLINE when necessary.
33003         * lib/sys_socket.in.h (setsockopt): Use proper win32 tests (don't
33004         trigger for cygwin).
33005         Reported by Bruno Haible  <bruno@clisp.org>.
33006
33007 2008-04-28  Bruno Haible  <bruno@clisp.org>
33008
33009         * doc/posix-functions/strdup.texi: Mention mingw problem.
33010
33011 2008-04-27  Bruno Haible  <bruno@clisp.org>
33012
33013         * modules/stat-time-tests (Depends-on): Add sleep.
33014         * tests/test-stat-time.c (force_unlink): New function.
33015         (cleanup): Use it.
33016         (test_mtime): Remove the ctime related tests.
33017         (test_ctime): New function, containing the ctime related tests.
33018         (main): Call test_ctime, except on native Windows platforms.
33019
33020 2008-04-27  Bruno Haible  <bruno@clisp.org>
33021
33022         * lib/rpmatch.c (rpmatch): Add some comments.
33023         Reported by James Youngman <jay@gnu.org>.
33024
33025 2008-04-27  Bruno Haible  <bruno@clisp.org>
33026
33027         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Also test the behaviour on
33028         quiet NaNs.
33029
33030 2008-04-27  Bruno Haible  <bruno@clisp.org>
33031
33032         Make test-yesno.sh work on mingw.
33033         * tests/test-yesno.sh: Postprocess the output to convert CR/LF to LF.
33034         * tests/test-yesno.c: Include yesno.h first. Include binary-io.h.
33035         (main): Set stdin to binary mode.
33036         * modules/yesno-tests (Depends-on): Add binary-io.
33037
33038 2008-04-27  Bruno Haible  <bruno@clisp.org>
33039
33040         Fix 'isfinite' on x86, x86_64, ia64 platforms.
33041         * tests/test-isfinite.c (test_isfinitel): Also test the behavior on
33042         argument that lie outside the IEEE 854 domain.
33043         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): New macro.
33044         (gl_ISFINITE): Use it.
33045         * doc/posix-functions/isfinite.texi: Document the fixed bugs.
33046
33047 2008-04-27  Bruno Haible  <bruno@clisp.org>
33048
33049         Allow local renaming in config.h.
33050         * lib/memrchr.c (memrchr): Don't undefine outside libc.
33051
33052 2008-04-27  Bruno Haible  <bruno@clisp.org>
33053
33054         * lib/memchr.c (__memchr): Change type of 'i'.
33055         * lib/memchr2.c (memchr2): Likewise.
33056
33057 2008-04-26  Eric Blake  <ebb9@byu.net>
33058         and Bruno Haible  <bruno@clisp.org>
33059
33060         Optimize and test memrchr.
33061         * modules/memrchr (Depends-on): Add intprops.
33062         * lib/memrchr.c (__memrchr): Avoid false positives in loop.
33063         * modules/memrchr-tests: New file.
33064         * tests/test-memrchr.c: New file.
33065
33066 2008-04-26  Bruno Haible  <bruno@clisp.org>
33067
33068         Add tentative support for DragonFly BSD.
33069         * lib/stdio-impl.h: Add macros for DragonFly BSD.
33070         * lib/fbufmode.c (fbufmode): Update conditionals. Use fp_ instead of
33071         fp.
33072         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
33073         restore_seek_optimization, update_fpos_cache, rpl_fflush: Likewise.
33074         * lib/fpurge.c (fpurge): Likewise.
33075         * lib/freadable.c (freaadable): Likewise.
33076         * lib/freadahead.c (freadahead): Likewise.
33077         * lib/freading.c (freading): Likewise.
33078         * lib/freadptr.c (freadptr): Likewise.
33079         * lib/freadseek.c (freadptrinc): Likewise.
33080         * lib/fseeko.c (fseeko): Likewise.
33081         * lib/fseterr.c (fseterr): Likewise.
33082         * lib/fwritable.c (fwritable): Likewise.
33083         * lib/fwriting.c (fwriting): Likewise.
33084
33085 2008-04-26  Bruno Haible  <bruno@clisp.org>
33086
33087         * lib/stdio-impl.h: New file.
33088         * lib/fbufmode.c: Include stdio-impl.h.
33089         (fbufmode): Use fp_, remove redundant #defines.
33090         * lib/fflush.c: Include stdio-impl.h.
33091         (clear_ungetc_buffer): Remove redundant #defines.
33092         * lib/fpurge.c: Include stdio-impl.h.
33093         (fpurge): Remove redundant #defines.
33094         * lib/freadable.c: Include stdio-impl.h.
33095         (freadable): Remove redundant #defines.
33096         * lib/freadahead.c: Include stdio-impl.h.
33097         (freadahead): Remove redundant #defines.
33098         * lib/freading.c: Include stdio-impl.h.
33099         (freading): Remove redundant #defines.
33100         * lib/freadptr.c: Include stdio-impl.h.
33101         (freadptr): Remove redundant #defines.
33102         * lib/freadseek.c: Include stdio-impl.h.
33103         (freadptrinc): Remove redundant #defines.
33104         * lib/fseeko.c: Include stdio-impl.h.
33105         (rpl_fseeko): Remove redundant #defines.
33106         * lib/fseterr.c: Include stdio-impl.h.
33107         (fseterr): Remove redundant #defines.
33108         * lib/fwritable.c: Include stdio-impl.h.
33109         (fwritable: Remove redundant #defines.
33110         * lib/fwriting.c: Include stdio-impl.h.
33111         (fwriting): Remove redundant #defines.
33112         * modules/fbufmode (Files): Add lib/stdio-impl.h.
33113         * modules/fflush (Files): Likewise.
33114         * modules/fpurge (Files): Likewise.
33115         * modules/freadable (Files): Likewise.
33116         * modules/freadahead (Files): Likewise.
33117         * modules/freading (Files): Likewise.
33118         * modules/freadptr (Files): Likewise.
33119         * modules/freadseek (Files): Likewise.
33120         * modules/fseeko (Files): Likewise.
33121         * modules/fseterr (Files): Likewise.
33122         * modules/fwritable (Files): Likewise.
33123         * modules/fwriting (Files): Likewise.
33124
33125 2008-04-26  Bruno Haible  <bruno@clisp.org>
33126
33127         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
33128         restore_seek_optimization, update_fpos_cache): New functions, extracted
33129         from rpl_fflush.
33130         (rpl_fflush): Use them.
33131         * m4/fflush.m4 (gl_PREREQ_FFLUSH): New macro.
33132         (gl_REPLACE_FFLUSH): Use it.
33133
33134 2008-04-26  Bruno Haible  <bruno@clisp.org>
33135
33136         * tests/test-xstrtol.sh: Work around limitation of an old 'tr' program
33137         on Solaris.
33138         * tests/test-xstrtoimax.sh: Likewise.
33139         * tests/test-xstrtoumax.sh: Likewise.
33140         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
33141
33142 2008-04-26  Bruno Haible  <bruno@clisp.org>
33143
33144         * modules/memchr-tests: New file.
33145         * tests/test-memchr.c; New file, based on tests/test-memchr2.c.
33146
33147 2008-04-26  Eric Blake  <ebb9@byu.net>
33148             Bruno Haible  <bruno@clisp.org>
33149
33150         * lib/memchr.c: Include intprops.h.
33151         (__memchr): Optimize parallel detection of matching bytes. Rename local
33152         variables. Add explanatory comments.
33153
33154 2008-04-26  Bruno Haible  <bruno@clisp.org>
33155
33156         Fix module 'memchr', broken since 2000-10-28.
33157         * lib/memchr.c: Outside glibc, define memchr, not __memchr.
33158
33159 2008-04-26  Bruno Haible  <bruno@clisp.org>
33160
33161         * lib/memchr2.c (memchr2): Rename local variables. Add explanatory
33162         comments.
33163
33164 2008-04-25  Eric Blake  <ebb9@byu.net>
33165
33166         Use native fstatat on cygwin 1.7.0.
33167         * m4/openat.m4 (gl_FUNC_OPENAT): Make sure lstat check is made
33168         first.
33169
33170 2008-04-23  Eric Blake  <ebb9@byu.net>
33171
33172         Improve memchr2 performance.
33173         * lib/memchr2.c (memchr2): Further optimize parallel detection of
33174         NUL bytes.
33175         * modules/memchr2 (Depends-on): Use intprops.h.
33176
33177 2008-04-23  Simon Josefsson  <simon@josefsson.org>
33178
33179         * lib/sys_socket.in.h (setsockopt): Be more type safe by declaring
33180         an inline function instead of a CPP macro.  Patch by Ben Pfaff
33181         <blp@cs.stanford.edu>.
33182
33183 2008-04-23  Simon Josefsson  <simon@josefsson.org>
33184
33185         * lib/arpa_inet.in.h: New file.
33186
33187         * modules/arpa_inet (Files): Add lib/arpa_inet.in.h.
33188         (Makefile.am): Sed in substitute header file.
33189
33190         * m4/arpa_inet_h.m4: Add gl_ARPA_INET_H_DEFAULTS and
33191         gl_ARPA_INET_MODULE_INDICATOR.  Use them.
33192
33193         * modules/inet_ntop (configure.ac): Use
33194         gl_ARPA_INET_MODULE_INDICATOR.
33195
33196         * modules/inet_pton (configure.ac): Use
33197         gl_ARPA_INET_MODULE_INDICATOR.
33198
33199 2008-04-22  Jim Meyering  <meyering@redhat.com>
33200
33201         * modules/verify (License): Re-license as LGPLv2+.
33202
33203 2008-04-22  Simon Josefsson  <simon@josefsson.org>
33204
33205         * lib/sys_socket.in.h: Define setsockopt macro to cast fourth
33206         parameter to void* as per POSIX standard (MinGW uses char*).
33207
33208 2008-04-21  Bruno Haible  <bruno@clisp.org>
33209
33210         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
33211         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
33212         Define to replacements if REPLACE_ISWCNTRL is 1.
33213         * m4/wctype.m4 (gl_WCTYPE_H): Test whether the isw* functions work.
33214         If not, set WCTYPE_H to nonempty and REPLACE_ISWCNTRL to 1.
33215         * modules/wctype (Makefile.am): Substitute REPLACE_ISWCNTRL.
33216         * doc/posix-functions/iswalnum.texi: Mention the 'wctype' module and
33217         what it fixes.
33218         * doc/posix-functions/iswalpha.texi: Likewise.
33219         * doc/posix-functions/iswblank.texi: Likewise.
33220         * doc/posix-functions/iswcntrl.texi: Likewise.
33221         * doc/posix-functions/iswdigit.texi: Likewise.
33222         * doc/posix-functions/iswgraph.texi: Likewise.
33223         * doc/posix-functions/iswlower.texi: Likewise.
33224         * doc/posix-functions/iswprint.texi: Likewise.
33225         * doc/posix-functions/iswpunct.texi: Likewise.
33226         * doc/posix-functions/iswspace.texi: Likewise.
33227         * doc/posix-functions/iswupper.texi: Likewise.
33228         * doc/posix-functions/iswxdigit.texi: Likewise.
33229         Reported by Alain Guibert.
33230
33231 2008-04-21  Bruno Haible  <bruno@clisp.org>
33232
33233         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Fix typo in last commit.
33234         Patch by Alain Guibert.
33235
33236 2008-04-21  Bruno Haible  <bruno@clisp.org>
33237
33238         Fix test failures on mingw.
33239         * tests/test-xstrtol.c (print_no_progname): New function.
33240         (main): Install it in error_print_progname hook.
33241         * tests/test-xstrtol.sh: Convert CR/LF to NL in output.
33242         * tests/test-xstrtoimax.sh: Likewise.
33243         * tests/test-xstrtoumax.sh: Likewise.
33244
33245 2008-04-21  Bruno Haible  <bruno@clisp.org>
33246
33247         Fix test failure on mingw.
33248         * tests/test-argp-2.sh (func_compare): Remove CRs from sed's output.
33249
33250 2008-04-21  Bruno Haible  <bruno@clisp.org>
33251
33252         * lib/localename.c (SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN):
33253         Actually assign a value.
33254
33255 2008-04-20  Bruno Haible  <bruno@clisp.org>
33256
33257         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl',
33258         take 2.
33259         * lib/canonicalize.c (canonicalize_file_name): Elide if the
33260         'canonicalize-lgpl' module is also used.
33261         * lib/canonicalize-lgpl.c: Undo last change.
33262         * modules/canonicalize-lgpl (configure.ac): Invoke gl_MODULE_INDICATOR.
33263
33264 2008-04-20  Bruno Haible  <bruno@clisp.org>
33265
33266         * lib/mkdir.c (mkdir): Undefine after the includes, not right after
33267         config.h. Provide _mkdir based fallback for mingw.
33268         * lib/sys_stat.in.h (mkdir): Define through an 'extern' declaration
33269         if REPLACE_MKDIR is 1. Otherwise, test for mingw directly.
33270         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Require
33271         gl_SYS_STAT_H_DEFAULTS. When doing the replacement, set REPLACE_MKDIR
33272         rather than defining mkdir in config.h.
33273         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): New macro.
33274         (gl_SYS_STAT_H_DEFAULTS): New macro.
33275         (gl_HEADER_SYS_STAT_H): Require it. Don't set HAVE_DECL_MKDIR and
33276         HAVE_IO_H any more.
33277         * modules/sys_stat (Makefile.am): Substitute REPLACE_MKDIR instead of
33278         HAVE_DECL_MKDIR and HAVE_IO_H.
33279
33280 2008-04-20  Bruno Haible  <bruno@clisp.org>
33281
33282         * lib/isapipe.c: Port to native Windows platforms.
33283
33284 2008-04-20  Bruno Haible  <bruno@clisp.org>
33285
33286         * lib/gc-gnulib.c: Include <windows.h> before <wincrypt.h>.
33287
33288 2008-04-21  Eric Blake  <ebb9@byu.net>
33289
33290         Work around preprocessors that don't handle UINTMAX_MAX.
33291         * lib/memchr2.c (memchr2): Avoid embedded #if.
33292         Reported by Alain Guibert, fix suggested by Bruno Haible.
33293
33294 2008-04-21  Simon Josefsson  <simon@josefsson.org>
33295
33296         * doc/posix-functions/strftime.texi (strftime): Explain better
33297         Windows incompatibility.  Suggested by Micah Cowan
33298         <micah@cowan.name>.
33299
33300 2008-04-20  Bruno Haible  <bruno@clisp.org>
33301
33302         * modules/uniconv/u32-conv-to-enc (Depends-on): Add unistr/u32-mblen,
33303         unistr/u8-mblen.
33304
33305 2008-04-20  Bruno Haible  <bruno@clisp.org>
33306
33307         Fix test failure on platforms with non-GNU iconv.
33308         * lib/uniconv/u16-conv-to-enc.c (u16_to_u8_lenient): New function.
33309         (U_TO_U8): Use it, rather than u16_to_u8.
33310         * lib/uniconv/u-conv-to-enc.h (FUNC): Allow an incomplete sequence of
33311         units at the end of the input string.
33312         * modules/uniconv/u16-conv-to-enc (Depends-on): Update.
33313
33314 2008-04-20  Bruno Haible  <bruno@clisp.org>
33315
33316         * tests/uniconv/test-u8-conv-to-enc.c (main): Accept result == NULL
33317         when the resulting length is 0.
33318         * tests/uniconv/test-u16-conv-to-enc.c (main): Likewise.
33319
33320 2008-04-20  Bruno Haible  <bruno@clisp.org>
33321
33322         * m4/roundf.m4 (gl_FUNC_ROUNDF): Add test whether roundf actually
33323         works.
33324         * doc/posix-functions/roundf.texi: Mention roundf bug on mingw.
33325
33326 2008-04-20  Bruno Haible  <bruno@clisp.org>
33327
33328         * tests/test-tsearch.c (main): Don't use initstate if it is missing.
33329         * modules/tsearch-tests (configure.ac): Test for initstate function.
33330
33331 2008-04-20  Bruno Haible  <bruno@clisp.org>
33332
33333         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Also provided a substitute
33334         for nlink_t if missing.
33335         * tests/test-sys_stat.c: Check the existence of the nlink_t type.
33336
33337 2008-04-19  Bruno Haible  <bruno@clisp.org>
33338
33339         Work around snprintf bug on Linux libc5.
33340         * m4/printf.m4 (gl_SNPRINTF_SIZE1): New macro.
33341         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
33342         gl_SNPRINTF_SIZE1.
33343         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
33344         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Likewise. Replace snprintf if
33345         that test failed.
33346         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
33347         * lib/vasnprintf.c (USE_SNPRINTF): Set to 0 on Linux libc5 systems.
33348         * modules/snprintf (Files): Add m4/printf.m4.
33349         * modules/vsnprintf (Files): Likewise.
33350         * doc/posix-functions/snprintf.texi: Document Linux libc5 problem.
33351         * doc/posix-functions/vsnprintf.texi: Likewise.
33352
33353 2008-04-19  Bruno Haible  <bruno@clisp.org>
33354
33355         * lib/vasnprintf.c (floorlog10l, floorlog10): Reduce maximum error
33356         from 0.0058 to less than 10^-7.
33357
33358 2008-04-19  Bruno Haible  <bruno@clisp.org>
33359
33360         Fix rounding when a precision is given.
33361         * lib/vasnprintf.c (is_borderline): New function.
33362         (VASNPRINTF): For %e and %g, consider replacing the digits 10....0 with
33363         9...9x.
33364         * tests/test-vasnprintf-posix.c (test_function): Test rounding with %f,
33365         %e, %g.
33366         * tests/test-vasprintf-posix.c (test_function): Likewise.
33367         * tests/test-snprintf-posix.h (test_function): Likewise.
33368         * tests/test-sprintf-posix.h (test_function): Likewise.
33369         * tests/test-fprintf-posix.h (test_function): Test rounding with %f.
33370         * tests/test-printf-posix.h (test_function): Likewise.
33371         * tests/test-printf-posix.output: Update.
33372         Reported by John Darrington <john@darrington.wattle.id.au> via
33373         Ben Pfaff <blp@cs.stanford.edu>.
33374
33375 2008-04-18  Simon Josefsson  <simon@josefsson.org>
33376
33377         * doc/posix-functions/strftime.texi (strftime): Clarify platform.
33378         Suggested by Bruno Haible <bruno@clisp.org>.
33379
33380 2008-04-17  Bruno Haible  <bruno@clisp.org>
33381
33382         * lib/lock.h (gl_lock_destroy, gl_rwlock_destroy,
33383         gl_recursive_lock_destroy): Provide no-op definitions for the dummy
33384         implementation.
33385         Patch by Bruce Merry <bmerry@gmail.com>.
33386
33387 2008-04-17  Simon Josefsson  <simon@josefsson.org>
33388
33389         * doc/posix-functions/strftime.texi (strftime): Mention that %e
33390         doesn't work under Windows.
33391
33392 2008-04-16  Bruno Haible  <bruno@clisp.org>
33393
33394         * lib/localename.c (LANG_MAORI, LANG_QUECHUA, LANG_SOTHO, LANG_UIGHUR):
33395         New macros.
33396         (SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN,
33397         SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC,
33398         SUBLANG_CROATIAN_CROATIA, SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN,
33399         SUBLANG_MONGOLIAN_CYRILLIC_MONGOLIA, SUBLANG_MONGOLIAN_PRC,
33400         SUBLANG_QUECHUA_BOLIVIA, SUBLANG_QUECHUA_ECUADOR, SUBLANG_QUECHUA_PERU,
33401         SUBLANG_RUSSIAN_RUSSIA, SUBLANG_RUSSIAN_MOLDAVIA, SUBLANG_SPANISH_US,
33402         SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN, SUBLANG_UIGHUR_PRC): New
33403         macros.
33404         (gl_locale_name_from_win32_LANGID): Refine code for Croatian/Bosnian,
33405         Mongolian, Russian, Spanish, Tibetan. Add code for Maori, Quechua,
33406         Northern Sotho, Uighur.
33407
33408 2008-04-16  Bruno Haible  <bruno@clisp.org>
33409
33410         * lib/localename.c (SUBLANG_SINDHI_INDIA): New macro.
33411         (SUBLANG_SINDHI_PAKISTAN): Change value from 1 to 2.
33412         (gl_locale_name_from_win32_LANGID): Fix code for Sindhi.
33413         Reported by Daniel Bergström <daniel@octocode.com>.
33414
33415 2007-12-25  KJK::Hyperion  <hackbunny@reactos.com>
33416             Bruno Haible  <bruno@clisp.org>
33417
33418         * lib/localename.c (gl_locale_name_canonicalize) [WIN32_NATIVE]: New
33419         function.
33420         (gl_locale_name_from_win32_LANGID, gl_locale_name_from_win32_LCID):
33421         New functions, mostly extracted from gl_locale_name_default.
33422         (gl_locale_name_default): Use gl_locale_name_from_win32_LCID.
33423
33424 2008-04-16  Eric Blake  <ebb9@byu.net>
33425
33426         Adjust strtod detection to catch glibc 2.7 bug.
33427         * m4/strtod.m4 (gl_FUNC_STRTOD): Test "nan()" behavior.
33428         Reported by John Gatewood Ham.
33429
33430 2008-04-16  Bruno Haible  <bruno@clisp.org>
33431
33432         Add tentative support for Linux libc5.
33433         * lib/fbufmode.c (fbufmode) [__GNU_LIBRARY__==1]: Reuse glibc2 code.
33434         * lib/fpurge.c (fpurge): Likewise.
33435         * lib/freadable.c (freadable): Likewise.
33436         * lib/freadahead.c (freadahead): Likewise.
33437         * lib/freading.c (freading): Likewise.
33438         * lib/freadptr.c (freadptr): Likewise.
33439         * lib/freadseek.c (freadptrinc): Likewise.
33440         * lib/fseeko.c (rpl_fseeko): Likewise.
33441         * lib/fseterr.c (fseterr): Likewise.
33442         * lib/fwritable.c (fwritable): Likewise.
33443         * lib/fwriting.c (fwriting): Likewise.
33444         Reported by Alain Guibert <alguibert+bts@free.fr>.
33445
33446 2008-04-15  Bruno Haible  <bruno@clisp.org>
33447
33448         * modules/mathl (configure.ac): Define module indicator.
33449
33450 2008-04-15  Bruno Haible  <bruno@clisp.org>
33451
33452         * lib/logl.c (logl): Remove unused variables.
33453
33454 2008-04-15  Bruno Haible  <bruno@clisp.org>
33455
33456         * lib/uniconv/u-conv-to-enc.h (FUNC): Fix return value when U_TO_U8
33457         fails.
33458
33459 2008-04-15  Bruno Haible  <bruno@clisp.org>
33460
33461         * lib/trim.c (trim2): Fix argument of isspace() macro.
33462
33463 2008-04-15  Paolo Bonzini  <bonzini@gnu.org>
33464
33465         * lib/tanl.c (kernel_tanl): Rename flag to invert, initialize it
33466         to 0.
33467         * lib/trigl.c (ieee754_rem_pio2l): Fix range checks.
33468
33469 2008-04-14  Bruno Haible  <bruno@clisp.org>
33470
33471         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Fix underquoting of
33472         AC_LANG_PROGRAM argument.
33473         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Likewise.
33474         * m4/gethrxtime.m4 (gl_ARITHMETIC_HRTIME_T): Likewise.
33475         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
33476         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
33477         * m4/math_h.m4 (gl_MATH_H): Likewise.
33478         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
33479         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
33480         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
33481         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Likewise.
33482         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
33483         * m4/regex.m4 (gl_REGEX): Likewise.
33484         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Likewise.
33485         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): Likewise.
33486         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
33487         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Likewise.
33488         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
33489         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
33490         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
33491         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
33492
33493 2008-04-14  Jim Meyering  <meyering@redhat.com>
33494
33495         test-strtod: fix typos: s/abs/fabs/
33496         * tests/test-strtod.c (main): Use fabs, not narrowing-to-int "abs".
33497
33498 2008-04-13  Bruno Haible  <bruno@clisp.org>
33499
33500         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl'.
33501         * lib/canonicalize-lgpl.c: Elide the contents if the 'canonicalize'
33502         module is also used and while not building the reloc-wrapper.
33503
33504 2008-04-13  Bruno Haible  <bruno@clisp.org>
33505
33506         * tests/test-getaddrinfo.c (simple): Ignore EAI_NODATA error.
33507
33508 2008-04-13  Bruno Haible  <bruno@clisp.org>
33509
33510         Fix AIX compilation failure introduced on 2008-04-02.
33511         * tests/test-frexp.c (exp): Undefine before redefining.
33512         * tests/test-frexpl.c (exp): Likewise.
33513
33514 2008-04-13  Bruno Haible  <bruno@clisp.org>
33515
33516         Work around a HP-UX stdio bug.
33517         * tests/test-ftell.c (main): Disable the fseek/ftell test on HP-UX.
33518         * tests/test-ftello.c (main): Likewise.
33519         * doc/posix-functions/ftell.texi: Mention HP-UX bug.
33520         * doc/posix-functions/ftello.texi: Likewise.
33521
33522 2008-04-13  Bruno Haible  <bruno@clisp.org>
33523
33524         Make test-signbit pass on HP-UX/hppa.
33525         * tests/test-signbit.c (minus_zerol): New variable.
33526         (test_signbitl): Use it.
33527
33528 2008-04-13  Bruno Haible  <bruno@clisp.org>
33529
33530         Make truncl work on OSF/1 4.0.
33531         * m4/truncl.m4 (gl_FUNC_TRUNCL): Test whether truncl actually works.
33532         Set REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
33533         * lib/math.in.h (truncl): Test REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
33534         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCL, not
33535         HAVE_DECL_TRUNCL.
33536         * modules/math (Makefile.am): Substitute REPLACE_TRUNCL, not
33537         HAVE_DECL_TRUNCL.
33538         * doc/posix-functions/truncl.texi: Document the OSF/1 4.0 problem.
33539
33540 2008-04-13  Bruno Haible  <bruno@clisp.org>
33541
33542         * lib/unictype.h: Remove trailing comma from enumeration definitions.
33543
33544 2008-04-13  Bruno Haible  <bruno@clisp.org>
33545
33546         * lib/count-one-bits.h (COUNT_ONE_BITS): Rewrite verification
33547         expression, so as to avoid HP-UX 11 cc compiler bug.
33548
33549 2008-04-13  Bruno Haible  <bruno@clisp.org>
33550
33551         * m4/regex.m4 (gl_PREREQ_REGEX): Also check for <libintl.h>.
33552
33553 2008-04-13  Bruno Haible  <bruno@clisp.org>
33554
33555         * lib/git-merge-changelog.c: Remove empty declaration outside of
33556         functions.
33557
33558 2008-04-13  Bruno Haible  <bruno@clisp.org>
33559
33560         * modules/quotearg-tests (Makefile.am): Define test_quotearg_LDADD.
33561
33562 2008-04-13  Bruno Haible  <bruno@clisp.org>
33563
33564         * doc/posix-headers/sys_socket.texi: Document the problem on EMX.
33565         * lib/sys_socket.in.h (SHUT_RD, SHUT_WR, SHUT_RDWR): Define if missing.
33566         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Replace <sys/socket.h>
33567         also if it exists but lacks definitions of the SHUT_* macros.
33568         * modules/sys_socket (Description): Update.
33569         Reported by Elbert Pol <e.pol@chello.nl>.
33570
33571 2008-04-13  Bruno Haible  <bruno@clisp.org>
33572
33573         * lib/localcharset.c (OS2): Don't redefine if already defined.
33574         Reported by Elbert Pol <e.pol@chello.nl>.
33575
33576 2008-04-13  Bruno Haible  <bruno@clisp.org>
33577
33578         * lib/binary-io.h [__EMX__]: Include <io.h>.
33579         Reported by Elbert Pol <e.pol@chello.nl>.
33580
33581 2008-04-12  Bruno Haible  <bruno@clisp.org>
33582
33583         * lib/fpucw.h: Enable the definitions also for x86_64.
33584         Needed for NetBSD/x86_64.
33585         Reported by Thomas Klausner <tk@giga.or.at>.
33586
33587 2008-04-12  Bruno Haible  <bruno@clisp.org>
33588
33589         * tests/test-strtod.c: Include isnand.h.
33590         (main): Use isnand instead of isnan.
33591         Reported by Jim Meyering.
33592
33593 2008-04-12  Bruno Haible  <bruno@clisp.org>
33594
33595         * m4/isnanf.m4 (gl_ISNANF_WORKS): Add a test for a special NaN.
33596         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
33597
33598 2008-04-12  Jim Meyering  <meyering@redhat.com>
33599
33600         * m4/math_h.m4 (gl_MATH_H): Fix typos.
33601
33602 2008-04-12  Bruno Haible  <bruno@clisp.org>
33603
33604         * lib/freadptr.c (freadptr) [__EMX__]: Fix wrong assertion.
33605         Reported by Elbert Pol <e.pol@chello.nl>.
33606
33607 2008-04-12  Eric Blake  <ebb9@byu.net>
33608
33609         Work around Solaris 10 math.h bug.
33610         * m4/math_h.m4 (gl_MATH_H): Check for bug.
33611         (gl_MATH_H_DEFAULTS): Set up default.
33612         * modules/math (Makefile.am): Replace new indicators.
33613         * lib/math.in.h (NAN, HUGE_VAL): Provide replacements.
33614         * tests/test-math.c (main): Test this.
33615         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't rely on HUGE_VAL.
33616         * doc/posix-headers/math.texi (math.h): Mention bug.
33617         Reported by Nelson H. F. Beebe and Jim Meyering.
33618
33619 2008-04-11  Bruno Haible  <bruno@clisp.org>
33620
33621         Adapt to future versions of Apple GCC.
33622         * lib/argp-fmtstream.h (ARGP_FS_EI): Don't test __GNUC_GNU_INLINE__.
33623         Reported by Peter O'Gorman <peter@pogma.com>.
33624
33625 2008-04-11  Bruno Haible  <bruno@clisp.org>
33626
33627         * tests/test-getaddrinfo.c (simple): Ignore EAI_NONAME error.
33628
33629 2008-04-11  Bruno Haible  <bruno@clisp.org>
33630
33631         * modules/strsignal-tests (Makefile.am): Define test_strsignal_LDADD.
33632
33633         * modules/getaddrinfo-tests (Makefile.am): Define
33634         test_getaddrinfo_LDADD.
33635
33636 2008-04-11  Bruno Haible  <bruno@clisp.org>
33637
33638         * lib/strsignal.c (_sys_siglist): Don't declare if already declared.
33639         (init): Fix syntax error.
33640         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Check whether _sys_siglist
33641         is declared.
33642
33643 2008-04-11  Bruno Haible  <bruno@clisp.org>
33644
33645         * lib/glob.c: Include <stdbool.h>. Needed at least with IRIX cc.
33646         * modules/glob (Depends-on): Add stdbool.
33647
33648 2008-04-11  Bruno Haible  <bruno@clisp.org>
33649
33650         * lib/trim.c: Include <string.h>.
33651
33652 2008-04-11  Eric Blake  <ebb9@byu.net>
33653
33654         Avoid compile failure on OS/2.
33655         * lib/regex_internal.h (internal_function): Disable optimization
33656         on OS/2 (__EMX__), where it caused compiler error.
33657         Reported by Elbert Pol.
33658
33659 2008-04-11  Bruno Haible  <bruno@clisp.org>
33660
33661         Flush the standard error stream before aborting. Needed on mingw.
33662         * tests/test-argmatch.c (ASSERT): Call fflush(stderr) before abort().
33663         * tests/test-array_list.c (ASSERT): Likewise.
33664         * tests/test-array_oset.c (ASSERT): Likewise.
33665         * tests/test-avltree_list.c (ASSERT): Likewise.
33666         * tests/test-avltree_oset.c (ASSERT): Likewise.
33667         * tests/test-avltreehash_list.c (ASSERT): Likewise.
33668         * tests/test-binary-io.c (ASSERT): Likewise.
33669         * tests/test-byteswap.c (ASSERT): Likewise.
33670         * tests/test-c-ctype.c (ASSERT): Likewise.
33671         * tests/test-c-strcasecmp.c (ASSERT): Likewise.
33672         * tests/test-c-strcasestr.c (ASSERT): Likewise.
33673         * tests/test-c-strncasecmp.c (ASSERT): Likewise.
33674         * tests/test-c-strstr.c (ASSERT): Likewise.
33675         * tests/test-canonicalize-lgpl.c (ASSERT): Likewise.
33676         * tests/test-canonicalize.c (ASSERT): Likewise.
33677         * tests/test-carray_list.c (ASSERT): Likewise.
33678         * tests/test-ceilf1.c (ASSERT): Likewise.
33679         * tests/test-ceilf2.c (ASSERT): Likewise.
33680         * tests/test-ceill.c (ASSERT): Likewise.
33681         * tests/test-count-one-bits.c (ASSERT): Likewise.
33682         * tests/test-fbufmode.c (ASSERT): Likewise.
33683         * tests/test-fflush2.c (ASSERT): Likewise.
33684         * tests/test-floorf1.c (ASSERT): Likewise.
33685         * tests/test-floorf2.c (ASSERT): Likewise.
33686         * tests/test-floorl.c (ASSERT): Likewise.
33687         * tests/test-fopen.c (ASSERT): Likewise.
33688         * tests/test-fpending.c (ASSERT): Likewise.
33689         * tests/test-fprintf-posix.c (ASSERT): Likewise.
33690         * tests/test-fpurge.c (ASSERT): Likewise.
33691         * tests/test-freadable.c (ASSERT): Likewise.
33692         * tests/test-freadahead.c (ASSERT): Likewise.
33693         * tests/test-freading.c (ASSERT): Likewise.
33694         * tests/test-freadptr.c (ASSERT): Likewise.
33695         * tests/test-freadptr2.c (ASSERT): Likewise.
33696         * tests/test-freadseek.c (ASSERT): Likewise.
33697         * tests/test-freopen.c (ASSERT): Likewise.
33698         * tests/test-frexp.c (ASSERT): Likewise.
33699         * tests/test-frexpl.c (ASSERT): Likewise.
33700         * tests/test-fseek.c (ASSERT): Likewise.
33701         * tests/test-fseeko.c (ASSERT): Likewise.
33702         * tests/test-fstrcmp.c (ASSERT): Likewise.
33703         * tests/test-ftell.c (ASSERT): Likewise.
33704         * tests/test-ftello.c (ASSERT): Likewise.
33705         * tests/test-func.c (ASSERT): Likewise.
33706         * tests/test-fwritable.c (ASSERT): Likewise.
33707         * tests/test-fwriting.c (ASSERT): Likewise.
33708         * tests/test-getdelim.c (ASSERT): Likewise.
33709         * tests/test-getline.c (ASSERT): Likewise.
33710         * tests/test-i-ring.c (ASSERT): Likewise.
33711         * tests/test-iconv-utf.c (ASSERT): Likewise.
33712         * tests/test-iconv.c (ASSERT): Likewise.
33713         * tests/test-isfinite.c (ASSERT): Likewise.
33714         * tests/test-isnand.c (ASSERT): Likewise.
33715         * tests/test-isnanf.c (ASSERT): Likewise.
33716         * tests/test-isnanl.h (ASSERT): Likewise.
33717         * tests/test-ldexpl.c (ASSERT): Likewise.
33718         * tests/test-linked_list.c (ASSERT): Likewise.
33719         * tests/test-linkedhash_list.c (ASSERT): Likewise.
33720         * tests/test-localename.c (ASSERT): Likewise.
33721         * tests/test-lseek.c (ASSERT): Likewise.
33722         * tests/test-mbscasecmp.c (ASSERT): Likewise.
33723         * tests/test-mbscasestr1.c (ASSERT): Likewise.
33724         * tests/test-mbscasestr2.c (ASSERT): Likewise.
33725         * tests/test-mbscasestr3.c (ASSERT): Likewise.
33726         * tests/test-mbscasestr4.c (ASSERT): Likewise.
33727         * tests/test-mbschr.c (ASSERT): Likewise.
33728         * tests/test-mbscspn.c (ASSERT): Likewise.
33729         * tests/test-mbsncasecmp.c (ASSERT): Likewise.
33730         * tests/test-mbspbrk.c (ASSERT): Likewise.
33731         * tests/test-mbspcasecmp.c (ASSERT): Likewise.
33732         * tests/test-mbsrchr.c (ASSERT): Likewise.
33733         * tests/test-mbsspn.c (ASSERT): Likewise.
33734         * tests/test-mbsstr1.c (ASSERT): Likewise.
33735         * tests/test-mbsstr2.c (ASSERT): Likewise.
33736         * tests/test-mbsstr3.c (ASSERT): Likewise.
33737         * tests/test-memchr2.c (ASSERT): Likewise.
33738         * tests/test-memmem.c (ASSERT): Likewise.
33739         * tests/test-open.c (ASSERT): Likewise.
33740         * tests/test-printf-frexp.c (ASSERT): Likewise.
33741         * tests/test-printf-frexpl.c (ASSERT): Likewise.
33742         * tests/test-printf-posix.c (ASSERT): Likewise.
33743         * tests/test-quotearg.c (ASSERT): Likewise.
33744         * tests/test-rbtree_list.c (ASSERT): Likewise.
33745         * tests/test-rbtree_oset.c (ASSERT): Likewise.
33746         * tests/test-rbtreehash_list.c (ASSERT): Likewise.
33747         * tests/test-round1.c (ASSERT): Likewise.
33748         * tests/test-roundf1.c (ASSERT): Likewise.
33749         * tests/test-roundl.c (ASSERT): Likewise.
33750         * tests/test-signbit.c (ASSERT): Likewise.
33751         * tests/test-sleep.c (ASSERT): Likewise.
33752         * tests/test-snprintf-posix.c (ASSERT): Likewise.
33753         * tests/test-snprintf.c (ASSERT): Likewise.
33754         * tests/test-sprintf-posix.c (ASSERT): Likewise.
33755         * tests/test-stat-time.c (ASSERT): Likewise.
33756         * tests/test-strcasestr.c (ASSERT): Likewise.
33757         * tests/test-strerror.c (ASSERT): Likewise.
33758         * tests/test-striconv.c (ASSERT): Likewise.
33759         * tests/test-striconveh.c (ASSERT): Likewise.
33760         * tests/test-striconveha.c (ASSERT): Likewise.
33761         * tests/test-strsignal.c (ASSERT): Likewise.
33762         * tests/test-strstr.c (ASSERT): Likewise.
33763         * tests/test-strtod.c (ASSERT): Likewise.
33764         * tests/test-trunc1.c (ASSERT): Likewise.
33765         * tests/test-trunc2.c (ASSERT): Likewise.
33766         * tests/test-truncf1.c (ASSERT): Likewise.
33767         * tests/test-truncf2.c (ASSERT): Likewise.
33768         * tests/test-truncl.c (ASSERT): Likewise.
33769         * tests/test-vasnprintf-posix.c (ASSERT): Likewise.
33770         * tests/test-vasnprintf-posix2.c (ASSERT): Likewise.
33771         * tests/test-vasnprintf.c (ASSERT): Likewise.
33772         * tests/test-vasprintf-posix.c (ASSERT): Likewise.
33773         * tests/test-vasprintf.c (ASSERT): Likewise.
33774         * tests/test-vfprintf-posix.c (ASSERT): Likewise.
33775         * tests/test-vprintf-posix.c (ASSERT): Likewise.
33776         * tests/test-vsnprintf-posix.c (ASSERT): Likewise.
33777         * tests/test-vsnprintf.c (ASSERT): Likewise.
33778         * tests/test-vsprintf-posix.c (ASSERT): Likewise.
33779         * tests/test-wcwidth.c (ASSERT): Likewise.
33780         * tests/test-xfprintf-posix.c (ASSERT): Likewise.
33781         * tests/test-xprintf-posix.c (ASSERT): Likewise.
33782         * tests/test-xvasprintf.c (ASSERT): Likewise.
33783         * tests/uniconv/test-u16-conv-from-enc.c (ASSERT): Likewise.
33784         * tests/uniconv/test-u16-conv-to-enc.c (ASSERT): Likewise.
33785         * tests/uniconv/test-u16-strconv-from-enc.c (ASSERT): Likewise.
33786         * tests/uniconv/test-u16-strconv-to-enc.c (ASSERT): Likewise.
33787         * tests/uniconv/test-u32-conv-from-enc.c (ASSERT): Likewise.
33788         * tests/uniconv/test-u32-conv-to-enc.c (ASSERT): Likewise.
33789         * tests/uniconv/test-u32-strconv-from-enc.c (ASSERT): Likewise.
33790         * tests/uniconv/test-u32-strconv-to-enc.c (ASSERT): Likewise.
33791         * tests/uniconv/test-u8-conv-from-enc.c (ASSERT): Likewise.
33792         * tests/uniconv/test-u8-conv-to-enc.c (ASSERT): Likewise.
33793         * tests/uniconv/test-u8-strconv-from-enc.c (ASSERT): Likewise.
33794         * tests/uniconv/test-u8-strconv-to-enc.c (ASSERT): Likewise.
33795         * tests/unictype/test-bidi_byname.c (ASSERT): Likewise.
33796         * tests/unictype/test-bidi_name.c (ASSERT): Likewise.
33797         * tests/unictype/test-bidi_of.c (ASSERT): Likewise.
33798         * tests/unictype/test-bidi_test.c (ASSERT): Likewise.
33799         * tests/unictype/test-block_list.c (ASSERT): Likewise.
33800         * tests/unictype/test-block_of.c (ASSERT): Likewise.
33801         * tests/unictype/test-block_test.c (ASSERT): Likewise.
33802         * tests/unictype/test-categ_and.c (ASSERT): Likewise.
33803         * tests/unictype/test-categ_and_not.c (ASSERT): Likewise.
33804         * tests/unictype/test-categ_byname.c (ASSERT): Likewise.
33805         * tests/unictype/test-categ_name.c (ASSERT): Likewise.
33806         * tests/unictype/test-categ_none.c (ASSERT): Likewise.
33807         * tests/unictype/test-categ_of.c (ASSERT): Likewise.
33808         * tests/unictype/test-categ_or.c (ASSERT): Likewise.
33809         * tests/unictype/test-categ_test_withtable.c (ASSERT): Likewise.
33810         * tests/unictype/test-combining.c (ASSERT): Likewise.
33811         * tests/unictype/test-decdigit.c (ASSERT): Likewise.
33812         * tests/unictype/test-digit.c (ASSERT): Likewise.
33813         * tests/unictype/test-mirror.c (ASSERT): Likewise.
33814         * tests/unictype/test-numeric.c (ASSERT): Likewise.
33815         * tests/unictype/test-pr_byname.c (ASSERT): Likewise.
33816         * tests/unictype/test-pr_test.c (ASSERT): Likewise.
33817         * tests/unictype/test-predicate-part1.h (ASSERT): Likewise.
33818         * tests/unictype/test-scripts.c (ASSERT): Likewise.
33819         * tests/unictype/test-sy_c_ident.c (ASSERT): Likewise.
33820         * tests/unictype/test-sy_java_ident.c (ASSERT): Likewise.
33821         * tests/unistdio/test-u16-asnprintf1.c (ASSERT): Likewise.
33822         * tests/unistdio/test-u16-vasnprintf1.c (ASSERT): Likewise.
33823         * tests/unistdio/test-u16-vasnprintf2.c (ASSERT): Likewise.
33824         * tests/unistdio/test-u16-vasnprintf3.c (ASSERT): Likewise.
33825         * tests/unistdio/test-u16-vasprintf1.c (ASSERT): Likewise.
33826         * tests/unistdio/test-u16-vsnprintf1.c (ASSERT): Likewise.
33827         * tests/unistdio/test-u16-vsprintf1.c (ASSERT): Likewise.
33828         * tests/unistdio/test-u32-asnprintf1.c (ASSERT): Likewise.
33829         * tests/unistdio/test-u32-vasnprintf1.c (ASSERT): Likewise.
33830         * tests/unistdio/test-u32-vasnprintf2.c (ASSERT): Likewise.
33831         * tests/unistdio/test-u32-vasnprintf3.c (ASSERT): Likewise.
33832         * tests/unistdio/test-u32-vasprintf1.c (ASSERT): Likewise.
33833         * tests/unistdio/test-u32-vsnprintf1.c (ASSERT): Likewise.
33834         * tests/unistdio/test-u32-vsprintf1.c (ASSERT): Likewise.
33835         * tests/unistdio/test-u8-asnprintf1.c (ASSERT): Likewise.
33836         * tests/unistdio/test-u8-vasnprintf1.c (ASSERT): Likewise.
33837         * tests/unistdio/test-u8-vasnprintf2.c (ASSERT): Likewise.
33838         * tests/unistdio/test-u8-vasnprintf3.c (ASSERT): Likewise.
33839         * tests/unistdio/test-u8-vasprintf1.c (ASSERT): Likewise.
33840         * tests/unistdio/test-u8-vsnprintf1.c (ASSERT): Likewise.
33841         * tests/unistdio/test-u8-vsprintf1.c (ASSERT): Likewise.
33842         * tests/unistdio/test-ulc-asnprintf1.c (ASSERT): Likewise.
33843         * tests/unistdio/test-ulc-vasnprintf1.c (ASSERT): Likewise.
33844         * tests/unistdio/test-ulc-vasnprintf2.c (ASSERT): Likewise.
33845         * tests/unistdio/test-ulc-vasnprintf3.c (ASSERT): Likewise.
33846         * tests/unistdio/test-ulc-vasprintf1.c (ASSERT): Likewise.
33847         * tests/unistdio/test-ulc-vsnprintf1.c (ASSERT): Likewise.
33848         * tests/unistdio/test-ulc-vsprintf1.c (ASSERT): Likewise.
33849         * tests/uniwidth/test-u16-strwidth.c (ASSERT): Likewise.
33850         * tests/uniwidth/test-u16-width.c (ASSERT): Likewise.
33851         * tests/uniwidth/test-u32-strwidth.c (ASSERT): Likewise.
33852         * tests/uniwidth/test-u32-width.c (ASSERT): Likewise.
33853         * tests/uniwidth/test-u8-strwidth.c (ASSERT): Likewise.
33854         * tests/uniwidth/test-u8-width.c (ASSERT): Likewise.
33855         * tests/uniwidth/test-uc_width.c (ASSERT): Likewise.
33856         Reported by Eric Blake.
33857
33858 2008-04-11  Bruno Haible  <bruno@clisp.org>
33859
33860         * lib/wchar.in.h: Tweak comment.
33861
33862 2008-04-11  Bruno Haible  <bruno@clisp.org>
33863
33864         Fix __GNUC_STDC_INLINE__ predefine with Apple GCC on MacOS X 10.5.
33865         * gnulib-tool (func_emit_initmacro_start): Emit an invocation of
33866         gl_COMMON.
33867         * m4/gnulib-common.m4 (gl_COMMON, gl_COMMON_BODY): New macros.
33868
33869 2008-04-11  Bruno Haible  <bruno@clisp.org>
33870
33871         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add LIBINTL.
33872
33873 2008-04-11  Simon Josefsson  <simon@josefsson.org>
33874
33875         * lib/gc-gnulib.c: On Windows, use CryptGenRandom from CSP instead
33876         of attempting to use non-existing /dev/*random.  Based on patch
33877         from Adam Strzelecki <ono@java.pl> in
33878         <http://lists.gnu.org/archive/html/help-gsasl/2008-02/msg00000.html>.
33879
33880 2008-04-08  Bruno Haible  <bruno@clisp.org>
33881
33882         Add tentative support for emx+gcc.
33883         * lib/fbufmode.c (fbufmode) [__EMX__]: Add conditional code.
33884         * lib/fpurge.c (fpurge): Likewise.
33885         * lib/freadable.c (freadable): Likewise.
33886         * lib/freadahead.c (freadahead): Likewise.
33887         * lib/freading.c (freading): Likewise.
33888         * lib/freadptr.c (freadptr): Likewise.
33889         * lib/freadseek.c (freadptrinc): Likewise.
33890         * lib/fseeko.c (rpl_fseeko): Likewise.
33891         * lib/fseterr.c (fseterr): Likewise.
33892         * lib/fwritable.c (fwritable): Likewise.
33893         * lib/fwriting.c (fwriting): Likewise.
33894         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for emx+gcc.
33895
33896 2008-04-09  Eric Blake  <ebb9@byu.net>
33897
33898         Avoid some autoconf warnings.
33899         * m4/regex.m4 (gl_REGEX): s/AC_HELP_STRING/AS_HELP_STRING/.
33900         * m4/acl.m4 (gl_FUNC_ACL): Likewise.
33901         * m4/afs.m4 (gl_AFS): Likewise.
33902         * m4/gc-random.m4 (gl_GC_RANDOM): Likewise.
33903         * m4/include_next.m4 (gl_INCLUDE_NEXT): s/AC_FOREACH/m4_foreach_w/.
33904         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
33905         * m4/stdint.m4 (gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED)
33906         (gl_INTEGER_TYPE_SUFFIX): Likewise.
33907         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE)
33908         (AC_CHECK_DECLS_ONCE): Likewise.
33909         Rename file...
33910         * m4/onceonly.m4: ...to this, and delete 2.54 variant, now that
33911         gnulib-tool requires autoconf 2.59 or better.
33912         * gnulib-tool (func_get_filelist): s/\(onceonly\)_2_57.m4/\1.m4/.
33913
33914 2008-04-08  Eric Blake  <ebb9@byu.net>
33915
33916         Use 'git describe --match' if present (added in git 1.5.5).
33917         * build-aux/git-version-gen: Limit result to tags that match 'v*'
33918         if possible.
33919
33920 2008-04-08  Bruno Haible  <bruno@clisp.org>
33921
33922         Add tentative support for OpenServer.
33923         * lib/fbufmode.c (fbufmode): Add conditional define for _flag, _base,
33924         _ptr, _cnt.
33925         * lib/fpurge.c (fpurge): Likewise.
33926         * lib/freadable.c (freadable): Likewise.
33927         * lib/freadahead.c (freadahead): Likewise.
33928         * lib/freading.c (freading): Likewise.
33929         * lib/freadptr.c (freadptr): Likewise.
33930         * lib/freadseek.c (freadptrinc): Likewise.
33931         * lib/fseeko.c (rpl_fseeko): Likewise.
33932         * lib/fseterr.c (fseterr): Likewise.
33933         * lib/fwritable.c (fwritable): Likewise.
33934         * lib/fwriting.c (fwriting): Likewise.
33935         Reported by Roger Cornelius <rac@tenzing.org> and
33936         Brian K. White <brian@aljex.com>.
33937
33938 2008-04-06  Jim Meyering  <meyering@redhat.com>
33939
33940         * gnulib-tool (func_add_or_update): s/backuped/backed up/ in diagnostic
33941
33942 2008-04-06  Bruno Haible  <bruno@clisp.org>
33943
33944         Avoid possible error with non-ASCII bytes in UTF-8 locales.
33945         * tests/test-fprintf-posix.sh: Use "LC_ALL=C tr" instead of "tr".
33946         * tests/test-printf-posix.sh: Likewise.
33947         * tests/test-vfprintf-posix.sh: Likewise.
33948         * tests/test-vprintf-posix.sh: Likewise.
33949         * tests/test-xprintf-posix.sh: Likewise.
33950
33951 2008-04-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33952
33953         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT): Fix quoting,
33954         hide error from 'ls', needed on OS/2.
33955         Report by Elbert Pol <elbert.pol@gmail.com>.
33956
33957 2008-04-04  Eric Blake  <ebb9@byu.net>
33958
33959         Make test-fseeko.c failures meaningful.
33960         * tests/test-fseeko.c: Print line number on failure.
33961         * tests/test-fseek.c: Likewise.
33962         Reported by Nelson H. F. Beebe.
33963
33964         Improve strtod bug detection check.
33965         * m4/strtod.m4 (gl_FUNC_STRTOD): Also check for hex-float parsing,
33966         required for Solaris 10.
33967         Reported by Bob Friesenhahn and Nelson H. F. Beebe.
33968
33969 2008-04-04  Bruno Haible  <bruno@clisp.org>
33970
33971         * modules/relocatable-prog-wrapper (Files): Add m4/environ.m4. Needed
33972         by m4/setenv.m4.
33973
33974 2008-04-03  Eric Blake  <ebb9@byu.net>
33975
33976         Ensure sane .version contents.
33977         * top/GNUmakefile (_dummy): Also delete .version when rebuilding
33978         version string.
33979         * build-aux/git-version-gen: Improve documentation.
33980
33981         Make GNU make output nicer.
33982         * top/GNUmakefile [!_have-Makefile]: Add dependency on
33983         MAKECMDGOALS to enforce message for all command line targets.  Set
33984         srcdir for use in maint.mk.
33985
33986         Another maintainer tweak.
33987         * top/GNUmakefile (_is-dist-target): Allow maintainer-distcheck as
33988         a target that regenerates version.
33989
33990 2008-04-03  Jim Meyering  <meyering@redhat.com>
33991
33992         vc-list-files: don't cause coreutils "make po-check" failure
33993         * build-aux/vc-list-files: Skip postprocessing when $2 is '.'
33994
33995 2008-04-03  Eric Blake  <ebb9@byu.net>
33996
33997         Allow VPATH usage of vc-list-files.
33998         * build-aux/vc-list-files (scriptversion): Add timestamp.
33999         (options): Add --help, --version, -C.
34000         (CVS): Support installed cvsu.
34001
34002 2008-04-02  Bruno Haible  <bruno@clisp.org>
34003
34004         Avoid some "statement with no effect" warnings from gcc.
34005         * tests/test-wctype.c (main): Explicitly ignore unused values.
34006         Reported by Jim Meyering.
34007
34008 2008-04-02  Jim Meyering  <meyering@redhat.com>
34009
34010         Avoid some warnings from "gcc -Wshadow".
34011         * tests/test-frexp.c (exp): Define to a different identifier.
34012         * tests/test-frexpl.c (exp): Likewise.
34013
34014 2008-04-03  Jim Meyering  <meyering@redhat.com>
34015
34016         bootstrap: remove dangling *.[ch] symlinks from lib
34017         * build-aux/bootstrap [dangling symlink removal]: Move find's
34018         -depth option to precede all others, to avoid a warning.
34019         Remove *.[ch] files too, and from "$source_base" (usually lib/).
34020
34021 2008-04-02  Bruno Haible  <bruno@clisp.org>
34022
34023         Avoid some warnings from "gcc -Wshadow".
34024         * tests/tests-vfprintf-posix.c (my_fprintf): Move after test_function.
34025         * tests/tests-vprintf-posix.c (my_printf): Move after test_function.
34026         * tests/tests-vsnprintf-posix.c (my_snprintf): Move after test_function.
34027         * tests/tests-vsprintf-posix.c (my_sprintf): Move after test_function.
34028         Reported by Jim Meyering.
34029
34030 2008-04-01  Bruno Haible  <bruno@clisp.org>
34031
34032         Fix test to work on IRIX 6.5 with cc.
34033         * tests/test-math.c (numeric_equal): New function.
34034         (main): Use it.
34035
34036 2008-04-01  Bruno Haible  <bruno@clisp.org>
34037
34038         * doc/posix-headers/math.texi: Refine documentation of NAN problem.
34039
34040 2008-04-01  Bruno Haible  <bruno@clisp.org>
34041
34042         * tests/test-vasnprintf-posix.c: Include nan.h instead of <math.h>.
34043         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
34044         * modules/vasnprintf-posix-tests (Files): Add tests/nan.h.
34045         (Depends-on): Remove math.
34046
34047         * tests/test-vasprintf-posix.c: Include nan.h instead of <math.h>.
34048         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
34049         * modules/vasprintf-posix-tests (Files): Add tests/nan.h.
34050         (Depends-on): Remove math.
34051
34052         * tests/test-snprintf-posix.h: Include nan.h instead of <math.h>.
34053         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
34054         * modules/snprintf-posix-tests (Files): Add tests/nan.h.
34055         (Depends-on): Remove math.
34056         * modules/vsnprintf-posix-tests (Files): Add tests/nan.h.
34057         (Depends-on): Remove math.
34058
34059         * tests/test-sprintf-posix.h: Include nan.h instead of <math.h>.
34060         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
34061         * modules/sprintf-posix-tests (Files): Add tests/nan.h.
34062         (Depends-on): Remove math.
34063         * modules/vsprintf-posix-tests (Files): Add tests/nan.h.
34064         (Depends-on): Remove math.
34065
34066         * tests/test-round1.c: Include nan.h.
34067         (main): Use NaNd instead of NAN.
34068         * modules/round-tests (Files): Add tests/nan.h.
34069
34070         * tests/test-trunc1.c: Include nan.h.
34071         (main): Use NaNd instead of NAN.
34072         * modules/trunc-tests (Files): Add tests/nan.h.
34073
34074         * tests/test-roundf1.c: Include nan.h.
34075         (main): Use NaNf instead of NAN.
34076         * modules/roundf-tests (Files): Add tests/nan.h.
34077
34078         * tests/test-truncf1.c: Include nan.h.
34079         (main): Use NaNf instead of NAN.
34080         * modules/truncf-tests (Files): Add tests/nan.h.
34081
34082         * tests/test-ceilf1.c: Include nan.h.
34083         (main): Use NaNf instead of NAN.
34084         * modules/ceilf-tests (Files): Add tests/nan.h.
34085
34086         * tests/test-floorf1.c: Include nan.h.
34087         (main): Use NaNf instead of NAN.
34088         * modules/floorf-tests (Files): Add tests/nan.h.
34089
34090         * tests/test-isnanf.c: Include nan.h instead of <math.h>.
34091         (main): Use NaNf instead of NAN.
34092         * modules/isnanf-nolibm-tests (Files): Add tests/nan.h.
34093
34094         * tests/test-isnand.c: Include nan.h instead of <math.h>.
34095         (main): Use NaNd instead of NAN.
34096         * modules/isnand-nolibm-tests (Files): Add tests/nan.h.
34097
34098         * tests/test-frexp.c: Include nan.h.
34099         (main): Use NaNd instead of NAN.
34100         * modules/frexp-tests (Files): Add tests/nan.h.
34101
34102         * lib/isnan.c: Don't include <math.h>.
34103         (FUNC): Don't use NAN macro.
34104         * modules/isnand-nolibm (Depends-on): Remove math.
34105         * modules/isnanf-nolibm (Depends-on): Remove math.
34106         * modules/isnanl (Depends-on): Remove math.
34107         * modules/isnanl-nolibm (Depends-on): Remove math.
34108
34109         * tests/nan.h: New file.
34110
34111 2008-04-01  Eric Blake  <ebb9@byu.net>
34112
34113         Fix typos.
34114         * tests/test-strtod.c (main): s/FLT_/DBL_/ for minimum and epsilon
34115         values to be the right type.
34116
34117         For now, cater to gnulib strtod inaccuracies.
34118         * tests/test-strtod.c (main): Allow 1-ulp error on expected
34119         fractional results.  While not as nice from a QoI perspective, it
34120         is a quicker patch than correctly implementing decimal to binary
34121         rounding.
34122
34123 2008-03-31  Eric Blake  <ebb9@byu.net>
34124
34125         Guarantee a definition of NAN.
34126         * lib/math.in.h (NAN): Define if missing.
34127         * tests/test-math.c (main): Test it.
34128         * doc/posix-headers/math.texi (math.h): Document this.
34129         * lib/isnan.c (rpl_isnand): Use it.
34130         * tests/test-ceilf1.c (NaN): Delete, and use NAN instead.
34131         * tests/test-floorf1.c (NaN): Likewise.
34132         * tests/test-frexp.c (NaN): Likewise.
34133         * tests/test-isnand.c (NaN): Likewise.
34134         * tests/test-isnanf.c (NaN): Likewise.
34135         * tests/test-round1.c (NaN): Likewise.
34136         * tests/test-roundf1.c (NaN): Likewise.
34137         * tests/test-snprintf-posix.h (NaN): Likewise.
34138         * tests/test-sprintf-posix.h (NaN): Likewise.
34139         * tests/test-trunc1.c (NaN): Likewise.
34140         * tests/test-truncf1.c (NaN): Likewise.
34141         * tests/test-vasnprintf-posix.c (NaN): Likewise.
34142         * tests/test-vasprintf-posix.c (NaN): Likewise.
34143         * modules/isnand-nolibm (Depends-on): Add math.
34144         * modules/isnanf-nolibm (Depends-on): Likewise.
34145         * modules/isnanl (Depends-on): Likewise.
34146         * modules/isnanl-nolibm (Depends-on): Likewise.
34147         * modules/snprintf-posix-tests (Depends-on): Likewise.
34148         * modules/sprintf-posix-tests (Depends-on): Likewise.
34149         * modules/vsnprintf-posix-tests (Depends-on): Likewise.
34150         * modules/vsprintf-posix-tests (Depends-on): Likewise.
34151         * modules/vasnprintf-posix-tests (Depends-on): Likewise.
34152         * modules/vasprintf-posix-tests (Depends-on): Likewise.
34153
34154 2008-03-31  Bruno Haible  <bruno@clisp.org>
34155
34156         * tests/test-strtod.c (main): Update results for OSF/1 platforms.
34157         * doc/posix-functions/strtod.texi: Likewise.
34158
34159 2008-03-31  Bruno Haible  <bruno@clisp.org>
34160
34161         * tests/test-strtod.c (main): Don't use C99 syntax.
34162
34163 2008-03-31  Bruno Haible  <bruno@clisp.org>
34164
34165         * tests/test-strtod.c (main): Don't test NAN macro. Needed for Solaris.
34166         Reported by Eric Blake.
34167
34168 2008-03-31  Jim Meyering  <meyering@redhat.com>
34169
34170         Don't compare actual signbit return values.
34171         * tests/test-strtod.c (main): Rather, compare only their
34172         zero/non-zero nature.
34173
34174 2008-03-31  Eric Blake  <ebb9@byu.net>
34175
34176         More strtod documentation.
34177         * doc/posix-functions/strtod.texi (strtod): Interpret more test
34178         failures as distinct bugs.
34179
34180 2008-03-30  Paul Eggert  <eggert@cs.ucla.edu>
34181
34182         * lib/wchar.in.h [defined __need_mbstate_t]: Just include <wchar.h>.
34183         Problem reported by Erik Benada in
34184         <http://lists.gnu.org/archive/html/bug-gnulib/2008-03/msg00249.html>.
34185
34186 2008-03-30  Bruno Haible  <bruno@clisp.org>
34187
34188         * tests/test-strtod.c: Add comments about which assertion fails on which
34189         platform.
34190         * doc/posix-functions/strtod.texi: Add info about many more platforms.
34191
34192 2008-03-30  Eric Blake  <ebb9@byu.net>
34193
34194         Test signbit behavior on zeros.
34195         * tests/test-signbit.c (test_signbitf): Add tests for zero.
34196         (test_signbitd, test_signbitl): Likewise.
34197
34198         More strtod touchups.
34199         * tests/test-strtod.c (main): Ignore tests for signbit on NaN, and
34200         sign of negative underflow, for now.  Use .5, not .1.
34201         * doc/posix-functions/strtod.texi (strtod): Mention these
34202         limitations.
34203         Reported by Jim Meyering.
34204
34205 2008-03-30  Bruno Haible  <bruno@clisp.org>
34206
34207         * lib/striconveh.h (mem_iconveh, str_iconveh): Optimize the conversion
34208         from UTF-8 to UTF-8//TRANSLIT in the same way as from UTF-8 to UTF-8.
34209
34210 2008-03-30  Bruno Haible  <bruno@clisp.org>
34211
34212         Avoid failure when attempting to return empty iconv results on some
34213         platforms.
34214         * lib/striconveh.c (mem_cd_iconveh_internal): In the final memory
34215         allocation, don't report ENOMEM when the resulting string is empty.
34216
34217 2008-03-30  Bruno Haible  <bruno@clisp.org>
34218
34219         Fix buffer overrun.
34220         * lib/vasnprintf.c (VASNPRINTF): If !USE_SNPRINTF && pad_ourselves:
34221         Don't consider the width for tmp_length. Check count against tmp_length
34222         before doing the padding. Ensure enough allocation during padding.
34223
34224 2008-03-30  Eric Blake  <ebb9@byu.net>
34225
34226         strtod touchups.
34227         * lib/strtod.c (strtod): Avoid compiler warnings.
34228         Reported by Jim Meyering.
34229
34230 2008-03-30  Bruno Haible  <bruno@clisp.org>
34231
34232         * lib/unistdio/u-vsprintf.h (EOVERFLOW): Remove fallback.
34233         * modules/unistdio/ulc-vsprintf (Depends-on): Add EOVERFLOW.
34234         * modules/unistdio/u8-vsprintf (Depends-on): Add EOVERFLOW.
34235         * modules/unistdio/u8-u8-vsprintf (Depends-on): Add EOVERFLOW.
34236         * modules/unistdio/u16-vsprintf (Depends-on): Add EOVERFLOW.
34237         * modules/unistdio/u16-u16-vsprintf (Depends-on): Add EOVERFLOW.
34238         * modules/unistdio/u32-vsprintf (Depends-on): Add EOVERFLOW.
34239         * modules/unistdio/u32-u32-vsprintf (Depends-on): Add EOVERFLOW.
34240
34241         * lib/unistdio/u-vsnprintf.h (EOVERFLOW): Remove fallback.
34242         * modules/unistdio/ulc-vsnprintf (Depends-on): Add EOVERFLOW.
34243         * modules/unistdio/u8-vsnprintf (Depends-on): Add EOVERFLOW.
34244         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Add EOVERFLOW.
34245         * modules/unistdio/u16-vsnprintf (Depends-on): Add EOVERFLOW.
34246         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Add EOVERFLOW.
34247         * modules/unistdio/u32-vsnprintf (Depends-on): Add EOVERFLOW.
34248         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Add EOVERFLOW.
34249
34250         * lib/unistdio/u-vasprintf.h (EOVERFLOW): Remove fallback.
34251         * modules/unistdio/ulc-vasprintf (Depends-on): Add EOVERFLOW.
34252         * modules/unistdio/u8-vasprintf (Depends-on): Add EOVERFLOW.
34253         * modules/unistdio/u8-u8-vasprintf (Depends-on): Add EOVERFLOW.
34254         * modules/unistdio/u16-vasprintf (Depends-on): Add EOVERFLOW.
34255         * modules/unistdio/u16-u16-vasprintf (Depends-on): Add EOVERFLOW.
34256         * modules/unistdio/u32-vasprintf (Depends-on): Add EOVERFLOW.
34257         * modules/unistdio/u32-u32-vasprintf (Depends-on): Add EOVERFLOW.
34258
34259         * lib/unistdio/ulc-vfprintf.c (EOVERFLOW): Remove fallback.
34260         * modules/unistdio/ulc-vfprintf (Depends-on): Add EOVERFLOW.
34261
34262         * lib/unistdio/ulc-fprintf.c (EOVERFLOW): Remove fallback.
34263         * modules/unistdio/ulc-fprintf (Depends-on): Add EOVERFLOW.
34264
34265         * lib/xvasprintf.c (EOVERFLOW): Remove fallback.
34266         * modules/xvasprintf (Depends-on): Add EOVERFLOW.
34267
34268         * lib/vsprintf.c (EOVERFLOW): Remove fallback.
34269         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Drop gl_EOVERFLOW.
34270         * modules/vsprintf-posix (Depends-on): Add EOVERFLOW.
34271
34272         * lib/vsnprintf.c (EOVERFLOW): Remove fallback.
34273         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Drop gl_EOVERFLOW.
34274         * modules/vsnprintf (Depends-on): Add EOVERFLOW.
34275
34276         * lib/vfprintf.c (EOVERFLOW): Remove fallback.
34277         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Drop gl_EOVERFLOW.
34278         * modules/vfprintf-posix (Depends-on): Add EOVERFLOW.
34279
34280         * lib/vasprintf.c (EOVERFLOW): Remove fallback.
34281         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Drop gl_EOVERFLOW.
34282         * modules/vasprintf (Depends-on): Add EOVERFLOW.
34283
34284         * lib/vasnprintf.c (EOVERFLOW): Remove fallback.
34285         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Drop gl_EOVERFLOW.
34286         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Drop gl_EOVERFLOW.
34287         * modules/vasnprintf (Files): Remove m4/eoverflow.m4.
34288         (Depends-on): Add EOVERFLOW.
34289         * modules/unistdio/ulc-vasnprintf (Files): Remove m4/eoverflow.m4.
34290         (Depends-on): Add EOVERFLOW.
34291         * modules/unistdio/u8-vasnprintf (Files): Remove m4/eoverflow.m4.
34292         (Depends-on): Add EOVERFLOW.
34293         * modules/unistdio/u8-u8-vasnprintf (Files): Remove m4/eoverflow.m4.
34294         (Depends-on): Add EOVERFLOW.
34295         * modules/unistdio/u16-vasnprintf (Files): Remove m4/eoverflow.m4.
34296         (Depends-on): Add EOVERFLOW.
34297         * modules/unistdio/u16-u16-vasnprintf (Files): Remove m4/eoverflow.m4.
34298         (Depends-on): Add EOVERFLOW.
34299         * modules/unistdio/u32-vasnprintf (Files): Remove m4/eoverflow.m4.
34300         (Depends-on): Add EOVERFLOW.
34301         * modules/unistdio/u32-u32-vasnprintf (Files): Remove m4/eoverflow.m4.
34302         (Depends-on): Add EOVERFLOW.
34303
34304         * lib/sprintf.c (EOVERFLOW): Remove fallback.
34305         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Drop gl_EOVERFLOW.
34306         * modules/sprintf-posix (Depends-on): Add EOVERFLOW.
34307
34308         * lib/snprintf.c (EOVERFLOW): Remove fallback.
34309         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Drop gl_EOVERFLOW.
34310         * modules/snprintf (Depends-on): Add EOVERFLOW.
34311
34312         * lib/poll.c (EOVERFLOW): Remove fallback.
34313         * modules/poll (Depends-on): Add EOVERFLOW.
34314
34315         * lib/getugroups.c (EOVERFLOW): Remove fallback.
34316         * modules/getugroups (Depends-on): Add EOVERFLOW.
34317
34318         * lib/getdelim.c (EOVERFLOW): Remove fallback.
34319         * modules/getdelim (Depends-on): Add EOVERFLOW.
34320
34321         * lib/ftell.c (EOVERFLOW): Remove fallback.
34322         * modules/ftell (Depends-on): Add EOVERFLOW.
34323
34324         * lib/fprintf.c (EOVERFLOW): Remove fallback.
34325         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Drop gl_EOVERFLOW.
34326         * modules/fprintf-posix (Depends-on): Add EOVERFLOW.
34327
34328         * lib/c-stack.c (EOVERFLOW): Remove unused fallback.
34329
34330         * modules/EOVERFLOW-tests: New file.
34331         * tests/test-EOVERFLOW.c: New file.
34332
34333         * modules/EOVERFLOW: New file.
34334         * doc/posix-headers/errno.texi: Mention EOVERFLOW portability problem.
34335
34336 2008-03-30  Bruno Haible  <bruno@clisp.org>
34337
34338         Fix bug introduced on 2007-06-10.
34339         * lib/vasnprintf.c (VASNPRINTF): When performing zero-padding, use
34340         spaces instead of 0 digits for 's' also when ENABLE_UNISTDIO.
34341
34342 2008-03-30  Bruno Haible  <bruno@clisp.org>
34343
34344         Improve freadseek's efficiency after ungetc.
34345         * lib/freadseek.c: Include freadahead.h.
34346         (freadptrinc): New function, extracted from freadseek.
34347         (freadseek): Use it in a loop. Use freadahead to determine the number
34348         of loop iterations.
34349         * modules/freadseek (Depends-on): Add freadahead.
34350         (configure.ac): Require AC_C_INLINE.
34351
34352 2008-03-30  Bruno Haible  <bruno@clisp.org>
34353
34354         * lib/freadseek.c (freadseek): Don't ignore the return value of
34355         freadptr.
34356
34357 2008-03-29  Eric Blake  <ebb9@byu.net>
34358
34359         Add hex float support.
34360         * modules/strtod (Depends-on): Add c-ctype.
34361         (Link): Mention POW_LIB.
34362         * lib/strtod.c (strtod): Recognize hex floats.  Don't allow
34363         whitespace between 'e' and exponent.
34364         * tests/test-strtod.c (main): Enable hex float tests.
34365         * doc/posix-functions/strtod.texi (strtod): Document what gnulib
34366         now provides.
34367
34368         Document various strtod bugs, with some fixes.
34369         * doc/posix-functions/strtod.texi (strtod): Document bugs with
34370         "-0x", "inf", "nan", and hex constants.
34371         * doc/posix-functions/atof.texi (atof): Likewise.
34372         * modules/stdlib (Makefile.am): Support strtod.
34373         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
34374         * m4/strtod.m4 (gl_FUNC_STRTOD): Fit in stdlib framework, and
34375         detect additional strtod bugs.
34376         * lib/stdlib.in.h (rpl_strtod): Add declarations.
34377         * lib/strtod.c (strtod): Return -0.0 on negative underflow.  Use
34378         bool where appropriate.  Parse 'inf' and 'nan'.
34379         * tests/test-strtod.c: New file.
34380         * modules/strtod (Depends-on): Add stdbool, stdlib.
34381         (configure.ac): Turn on module indicator.
34382         * modules/strtod-tests: New module.
34383
34384 2008-03-29  Eric Blake  <ebb9@byu.net>
34385
34386         Fix ftell on mingw.
34387         * lib/ftell.c (EOVERFLOW): Define if the system lacks it.
34388         * modules/ftell-tests (Depends-on): Add binary-io.
34389         * modules/ftello-tests (Depends-on): Likewise.
34390         * tests/test-ftell.c (main): Enhance test to cover behavior after
34391         ungetc.  Enforce binary mode.
34392         * tests/test-ftello.c (main): Likewise.
34393
34394         Pass test-freadseek on cygwin.
34395         * modules/freadseek (Depends-on): Use freadptr, not freadahead.
34396         * lib/freadseek.c (freadseek): Don't increment beyond bounds of
34397         ungetc buffer.
34398
34399         * tests/test-fflush2.c (main): Fix typo.
34400
34401 2008-03-29  Bruno Haible  <bruno@clisp.org>
34402
34403         * tests/test-fflush2.c (main): Temporarily disable the contents of
34404         this test.
34405         * m4/fflush.m4 (gl_FUNC_FFLUSH): Add a TODO.
34406         Reported by Eric Blake.
34407
34408 2008-03-28  Simon Josefsson  <simon@josefsson.org>
34409
34410         * lib/gc.h (enum Gc_hash): Add GC_SHA224.
34411         (GC_SHA224_DIGEST_SIZE): Add.
34412
34413         * lib/gc-libgcrypt.c (gc_hash_open): Handle SHA-224.
34414         (gc_hash_digest_length): Likewise.
34415         (gc_hash_buffer): Likewise.
34416
34417 2008-03-25  Bruno Haible  <bruno@clisp.org>
34418
34419         * doc/gnulib-tool.texi (gettextize and autopoint): Explain in more
34420         detail which gettext release to use.
34421         Reported by Simon Josefsson.
34422
34423 2008-03-26  Jim Meyering  <meyering@redhat.com>
34424
34425         gnumakefile: remove file from $(top_builddir), not from $(top_srcdir)
34426         * modules/gnumakefile (clean-GNUmakefile): Also, use
34427         test ... && ... || : syntax rather than if-then ... fi.
34428
34429         gnumakefile: Don't double-quote-expand $(VPATH) value.
34430         * modules/gnumakefile (clean-GNUmakefile): Use single quotes.
34431
34432 2008-03-24  Eric Blake  <ebb9@byu.net>
34433
34434         Alter GNUmakefile to install into top directory.
34435         * modules/maintainer-makefile: Split, and add dependency...
34436         * modules/gnumakefile: to this new module.
34437         * build-aux/GNUmakefile: Move...
34438         * top/GNUmakefile: ...here.
34439         * build-aux/maint.mk: Move...
34440         * top/maint.mk: ...here.
34441         * MODULES.html.sh (Support for maintaining...): Document new
34442         module.
34443
34444 2008-03-23  Bruno Haible  <bruno@clisp.org>
34445
34446         * gnulib-tool: New options --vc-files, --no-vc-files.
34447         (func_usage): Document them.
34448         (vc_files): New variable.
34449         (func_import): Consider vc_files.
34450         (func_create_testdir): Set vc_files to empty.
34451         Suggested by Jim Meyering and Karl Berry.
34452
34453 2008-03-23  Bruno Haible  <bruno@clisp.org>
34454
34455         Fix regex compilation error on HP-UX 11.
34456         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_TYPE_MBSTATE_T.
34457         * modules/regex (Files): Add m4/mbstate_t.m4.
34458         Reported by Ton Voon <ton.voon@altinity.com>.
34459
34460 2008-03-23  Bruno Haible  <bruno@clisp.org>
34461
34462         * doc/gnulib-tool.texi (gettextize and autopoint): New section.
34463
34464 2008-03-23  Eric Blake  <ebb9@byu.net>
34465             Bruno Haible  <bruno@clisp.org>
34466
34467         Install files from top/ in the destination directory.
34468         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
34469         augmentation also for the files from top/.
34470         (func_import, func_create_testdir): Rewrite file names:
34471         top/filename -> filename.
34472
34473 2008-03-23  Bruno Haible  <bruno@clisp.org>
34474
34475         Tweak "gnulib --version" output.
34476         * gnulib-tool (func_version): Replace "-dirty" suffix with "-modified".
34477
34478 2008-03-23  Bruno Haible  <bruno@clisp.org>
34479
34480         Tweak "gnulib --version" output.
34481         * gnulib-tool (func_version): Use date of last commit to ChangeLog,
34482         rather than contents of ChangeLog, when possible.
34483
34484 2008-03-21  Eric Blake  <ebb9@byu.net>
34485
34486         More --version tweaks.
34487         * gnulib-tool (func_version): Obey GNU Coding Standards.  Output
34488         date of last ChangeLog entry.
34489
34490 2008-03-21  Jim Meyering  <meyering@redhat.com>
34491
34492         * build-aux/GNUmakefile (_have-git-version-gen): Split long line.
34493
34494 2008-03-20  Eric Blake  <ebb9@byu.net>
34495
34496         VPATH fix.
34497         * build-aux/GNUmakefile (_have_git-version-gen): Look in correct dir.
34498
34499 2008-03-20  Simon Josefsson  <simon@josefsson.org>
34500
34501         * build-aux/GNUmakefile: Make git-version-gen optional.  Add
34502         _build-aux variable.  Suggested by Eric Blake <ebb9@byu.net>.
34503
34504 2008-03-20  Eric Blake  <ebb9@byu.net>
34505
34506         Sync GNUmakefile with coreutils.
34507         * build-aux/GNUmakefile (have-Makefile): Rename...
34508         (_have-Makefile): ...to this, for namespace consideration.
34509         (GNUmakefile.cfg): Include, if present.
34510         (_autoreconf): Define a default.
34511         (_is-dist-target): New rule for rebuilds to pick up intra-release
34512         version.
34513         (maint-cfg.mk): Rename...
34514         (cfg.mk): ...to this.
34515
34516 2008-03-18  Jim Meyering  <meyering@redhat.com>
34517
34518         New script and module: mktempd
34519         * MODULES.html.sh (maint+release support): Add mktempd.
34520         * build-aux/mktempd: New file.
34521         * modules/mktempd: New file.
34522
34523 2008-03-15  Jim Meyering  <meyering@redhat.com>
34524
34525         Undo last change.
34526         * lib/sha1.c, lib/md5.c: 63 != ~63.
34527         Reported by Andreas Schwab.
34528
34529         sha1.c, md5.c: Hoist a redundant expression.
34530         * lib/sha1.c (sha1_process_bytes): AND-off the low bits in
34531         "ctx->buflen" only once, before calling *_process_block.
34532         * lib/md5.c (md5_process_bytes): Likewise.
34533
34534 2008-03-14  Eric Blake  <ebb9@byu.net>
34535
34536         Bump copyright year in files generated by gnulib-tool.
34537         * gnulib-tool (func_emit_copyright_notice): Extract copyright from
34538         gnulib-tool, rather than hard-coding it.
34539
34540         Fix 'gnulib-tool --version' output to work with git.
34541         * gnulib-tool (func_gnulib_dir): New function, extracted from...
34542         (startup): ...here.
34543         (func_version): Use it to invoke git-version-gen, rather than
34544         relying on CVS keyword expansion.  Modernize wording.
34545         (cvsdatestamp, last_checkin_date, version): Kill unused
34546         variables.
34547
34548 2008-03-12  Jim Meyering  <meyering@redhat.com>
34549
34550         Recognize optional cast of the argument to free.
34551         * build-aux/useless-if-before-free: Update regexps.
34552
34553         * build-aux/bootstrap (gnulib_tool): Remove trailing blanks.
34554
34555 2008-03-11  Bruno Haible  <bruno@clisp.org>
34556
34557         Extend AC_LIB_LINKFLAGS to the situation of several libraries provided
34558         by a single package.
34559         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): New macro.
34560         (AC_LIB_LINKFLAGS_BODY): Use the information stored by
34561         AC_LIB_FROMPACKAGE. Use AC_ARG_WITH instead of AC_LIB_ARG_WITH.
34562         Reported by Sam Steingold <sds@gnu.org>.
34563
34564 2008-03-12  Sergey Poznyakoff  <gray@gnu.org.ua>
34565
34566         * build-aux/bootstrap (version_controlled_file): Adapt for SVN
34567         repositories.
34568
34569 2008-03-11  Bruno Haible  <bruno@clisp.org>
34570
34571         Avoid conflicts between local macro definitions.
34572         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
34573         AC_LIB_LINKFLAGS_BODY): Use pushdef/popdef instead of define/undefine.
34574
34575 2008-03-10  Peter O'Gorman  <bug-gnulib@mlists.thewrittenword.com>
34576             Bruno Haible  <bruno@clisp.org>
34577
34578         Make va_copy work with some version of xlc on AIX 5.1.
34579         * lib/stdarg.in.h: New file.
34580         * m4/stdarg.m4 (gl_STDARG_H): Initialize STDARG_H and NEXT_STDARG_H.
34581         On AIX, use a <stdarg.h> file substitute.
34582         * modules/stdarg (Files): Add lib/stdarg.in.h.
34583         (Depends-on): Add include_next.
34584         (Makefile.am): Build a stdarg.h substitute if requested.
34585         * doc/posix-functions/va_copy.texi: Document the platforms lacking it.
34586
34587 2008-03-10  Bruno Haible  <bruno@clisp.org>
34588
34589         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Document a restriction.
34590         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
34591         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
34592
34593 2008-03-10  Bruno Haible  <bruno@clisp.org>
34594
34595         * modules/stdlib (Depends-on): Add include_next, remove
34596         absolute-header.
34597
34598 2008-03-09  Bruno Haible  <bruno@clisp.org>
34599
34600         * lib/freadahead.h (freadahead): Document more precisely.
34601         * lib/freadahead.c (freadahead): When an ungetc is in effect, return
34602         the sum of both buffer sizes.
34603         * tests/test-freadahead.c (main): Also test behaviour after ungetc.
34604         * NEWS: Document the change.
34605
34606 2008-03-09  Bruno Haible  <bruno@clisp.org>
34607
34608         Extend freadptr to return also the buffer size.
34609         * lib/freadptr.h (freadptr): Add sizep argument.
34610         * lib/freadptr.c: Include freadptr.h, not freadahead.h.
34611         (freadptr): Add sizep argument. Determine buffer size like freadahead
34612         does.
34613         * tests/test-freadptr.c: Don't include freadahead.h.
34614         (main): Adapt for new calling convention of freadptr.
34615         * tests/test-freadptr2.c: New file, based on tests/test-freadahead.c.
34616         * tests/test-freadptr2.sh: New file, based on tests/test-freadahead.sh.
34617         * modules/freadptr-tests (Files): Add tests/test-freadptr2.c,
34618         tests/test-freadptr2.sh.
34619         (Depends): Remove freadahead.
34620         (TESTS): Add test-freadptr2.sh.
34621         (check_PROGRAMS): Add test-freadptr2.
34622
34623 2008-03-09  Bruno Haible  <bruno@clisp.org>
34624
34625         * doc/Makefile (%.pdf): Explain how to remedy the save_size error.
34626         Report and solution by Simon Josefsson.
34627
34628 2008-03-06  Bruno Haible  <bruno@clisp.org>
34629
34630         Make fflush after ungetc work on BSD platforms.
34631         * lib/fflush.c (rpl_fflush): Discard ungetc buffer if possible.
34632         * tests/test-fflush2.c: New file.
34633         * tests/test-fflush2.sh: New file.
34634         * modules/fflush-tests (Files): Add tests/test-fflush2.sh,
34635         tests/test-fflush2.c.
34636         (Makefile.am): Build test-fflush2 and run test-fflush2.sh.
34637         * doc/posix-functions/fflush.texi: Document fflush after ungetc bug.
34638
34639 2008-03-06  Eric Blake  <ebb9@byu.net>
34640
34641         Likewise for ftello.
34642         * modules/ftello (Dependencies): Add extensions.
34643         * m4/ftello.m4 (gl_FUNC_FTELLO): Require AC_USE_SYSTEM_EXTENSIONS.
34644
34645 2008-03-06  Bruno Haible  <bruno@clisp.org>
34646
34647         * modules/fseeko (Dependencies): Add extensions.
34648         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require AC_USE_SYSTEM_EXTENSIONS.
34649         Needed on glibc systems.
34650
34651 2008-03-06  Bruno Haible  <bruno@clisp.org>
34652
34653         * doc/gnulib-tool.texi (@nosuchmodulenote): Avoid line break inside
34654         email address.
34655         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
34656
34657 2008-03-06  Bruno Haible  <bruno@clisp.org>
34658
34659         * users.txt: Add libgnupdf.
34660
34661 2008-03-06  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
34662
34663         * doc/gnulib-tool.texi (@nosuchmodulenote): New macro.
34664         (Header File Substitutes, Function Substitutes,
34665         Glibc Header File Substitutes, Glibc Function Substitutes): Use it.
34666         (Build robot for gnulib): Fix typo.
34667
34668 2008-03-06  Bruno Haible  <bruno@clisp.org>
34669
34670         * doc/gnulib-tool.texi (VCS Issues): Small updates.
34671         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
34672
34673 2008-03-06  Bruno Haible  <bruno@clisp.org>
34674
34675         * doc/func.texi: New file, extracted from doc/gnulib.texi.
34676         * doc/gnulib.texi: Include it.
34677
34678 2008-03-06  Simon Josefsson  <simon@josefsson.org>
34679
34680         * modules/func (License): Change license to unlimited; there was
34681         no LGPL parts in the module anyway.
34682
34683 2008-03-06  Simon Josefsson  <simon@josefsson.org>
34684
34685         * modules/__func__: Renamed to modules/func.
34686         * modules/__func__-tests: Renamed to modules/func-tests.
34687         * tests/test-__func__.c: Renamed to tests/test-func.c.
34688         * m4/__func__.m4: Renamed to m4/func.m4.
34689         * doc/gnulib.texi (__func__): Section renamed to func.
34690         Suggested by Eric Blake <ebb9@byu.net>.
34691
34692 2008-03-06  Simon Josefsson  <simon@josefsson.org>
34693
34694         * doc/gnulib.texi (__func__): Use C99 terminology when talking
34695         about __func__.  Make example self-contained.  Suggested by Eric
34696         Blake <ebb9@byu.net>.
34697
34698         * tests/test-__func__.c (main): Avoid extraneous () around __func.
34699         Suggested by Eric Blake <ebb9@byu.net>.
34700
34701 2008-03-06  Simon Josefsson  <simon@josefsson.org>
34702
34703         * modules/__func__: New file.
34704         * modules/__func__-tests: New file.
34705         * tests/test-__func__.c: New file.
34706         * m4/__func__.m4: New file.
34707         * doc/gnulib.texi (__func__): Document __func__ module.
34708
34709 2008-03-05  Simon Josefsson  <simon@josefsson.org>
34710
34711         * modules/byteswap (License): Re-license as LGPLv2+.
34712
34713 2008-03-05  Simon Josefsson  <simon@josefsson.org>
34714
34715         * doc/Makefile: Add pdf target.
34716
34717 2008-03-05  Simon Josefsson  <simon@josefsson.org>
34718
34719         * modules/inline (License): Use 'unlimited', since there are only
34720         *.m4 files in this module.
34721
34722 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
34723             Bruno Haible  <bruno@clisp.org>
34724
34725         Add support for HP C 7.1 on OpenVMS 8.3.
34726         * lib/alloca.in.h (alloca): Define as alias for DEC C on VMS.
34727
34728 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
34729
34730         Update VMS specifics.
34731         * lib/getopt.c [VMS]: Remove include of unixlib.h.
34732
34733 2008-03-02  Jim Meyering  <meyering@redhat.com>
34734
34735         Remove the last dependency on the "free" module.
34736         * m4/readutmp.m4 (gl_READUTMP): Don't require gl_FUNC_FREE.
34737         Reported by Bob Proulx.
34738
34739         * lib/getdelim.c (getdelim): Don't leak memory upon failed realloc.
34740
34741         Remove useless "if" tests before free.  Deprecate "free" module.
34742         * doc/posix-functions/free.texi: Mention that this
34743         module is no longer useful.
34744         * modules/free (Notice): Say this module is obsolete.
34745         * modules/readutmp (Depends-on): Remove free.
34746         * lib/save-cwd.c (free_cwd): Remove useless "if" before free.
34747         * lib/putenv.c (putenv): Likewise.
34748         * lib/gc-gnulib.c (gc_cipher_close): Likewise.
34749         * lib/getaddrinfo.c (freeaddrinfo): Likewise.
34750         * tests/test-c-strcasestr.c (main): Likewise.
34751         * tests/test-c-strstr.c (main): Likewise.
34752         * tests/test-mbscasestr1.c (main): Likewise.
34753         * tests/test-mbscasestr2.c (main): Likewise.
34754         * tests/test-mbsstr1.c (main): Likewise.
34755         * tests/test-mbsstr2.c (main): Likewise.
34756         * tests/test-memmem.c (main): Likewise.
34757         * tests/test-strcasestr.c (main): Likewise.
34758         * tests/test-striconv.c (main): Likewise.
34759         * tests/test-striconveh.c (main): Likewise.
34760         * tests/test-striconveha.c (main): Likewise.
34761         * tests/test-strstr.c (main): Likewise.
34762
34763         * build-aux/git-version-gen: Adjust a comment and the Usage string.
34764
34765         bootstrap: sync from coreutils again
34766         * build-aux/bootstrap: Remove dangling m4/*.m4 symlinks.
34767
34768 2008-03-01  Jim Meyering  <meyering@redhat.com>
34769
34770         bootstrap: sync from coreutils
34771         * build-aux/bootstrap (update_po_files): Copy a .po file into place
34772         also when the target doesn't exist.
34773
34774 2008-03-01  Eric Blake  <ebb9@byu.net>
34775
34776         Fix bugs in last patch.
34777         * lib/memchr2.c (memchr2): Fix typo.
34778         * tests/test-memchr2.c: Test previous bug, and don't use GNU
34779         extension.
34780         Reported by Bruce Korb.
34781
34782         New module 'memchr2'.
34783         * modules/memchr2: New file.
34784         * modules/memchr2-tests: Likewise.
34785         * lib/memchr2.h: Likewise.
34786         * lib/memchr2.c: Likewise, based on memchr.c.
34787         * tests/test-memchr2.c: New test.
34788         * MODULES.html.sh (String handling): Add memchr2.
34789
34790 2008-02-29  Bruno Haible  <bruno@clisp.org>
34791
34792         * modules/freadseek-tests: New file.
34793         * tests/test-freadseek.sh: New file.
34794         * tests/test-freadseek.c: New file.
34795
34796         New module 'freadseek'.
34797         * modules/freadseek: New file.
34798         * lib/freadseek.h: New file.
34799         * lib/freadseek.c: New file.
34800         * MODULES.html.sh (File stream based Input/Output): Add freadseek.
34801
34802 2008-02-29  Sergey Poznyakoff  <gray@gnu.org.ua>
34803
34804         * users.txt: Add anubis, cpio, mailfromd, mailutils, radius,
34805         wydawca.
34806
34807         * m4/argp.m4 (gl_ARGP): Use AC_TRY_LINK to test if
34808         program_invocation_name and program_invocation_short_name are
34809         present.
34810
34811 2008-02-28  Bruno Haible  <bruno@clisp.org>
34812
34813         * tests/test-freadptr.c: Add a test for behaviour after ungetc.
34814         * tests/test-freadptr.sh: Also test non-seekable stdin.
34815
34816 2008-02-28  Sergey Poznyakoff  <gray@gnu.org.ua>
34817
34818         * build-aux/bootstrap (source_base, m4_base)
34819         (doc_base, tests_base): New variables.
34820         (gnulib_tool_options): Do not hardcode base directories, use
34821         the above variables instead.
34822
34823 2008-02-28  Atsushi SAKAI  <sakaia@jp.fujitsu.com>
34824
34825         * lib/xsize.h: Fix typo in comment: s/tupe/type/.
34826
34827 2008-02-28  Bruno Haible  <bruno@clisp.org>
34828
34829         * modules/freadptr-tests: New file.
34830         * tests/test-freadptr.sh: New file.
34831         * tests/test-freadptr.c: New file.
34832
34833         New module 'freadptr'.
34834         * modules/freadptr: New file.
34835         * lib/freadptr.h: New file.
34836         * lib/freadptr.c: New file.
34837         * MODULES.html.sh (File stream based Input/Output): Add freadptr.
34838
34839 2008-02-26  Karl Berry  <karl@freefriends.org>
34840
34841         Sync from Libtool:
34842         * libltdl/argz.c (argz_add, argz_count): New functions.
34843         * libltdl/argz.in.h: Declare them.
34844         Report by Juan Manuel Guerrero <juan.guerrero@gmx.de>.
34845
34846 2008-02-22  Bruno Haible  <bruno@clisp.org>
34847
34848         * m4/time_r.m4 (gl_TIME_R): Also check that localtime_r's return type
34849         is a pointer type.  Needed for HP-UX 10.
34850         * doc/posix-functions/localtime_r.texi: Mention HP-UX 10.
34851         * doc/posix-functions/gmtime_r.texi: Likewise.
34852         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
34853
34854 2008-02-24  Bruno Haible  <bruno@clisp.org>
34855
34856         * modules/environ-tests: New file.
34857         * tests/test-environ.c: New file.
34858
34859         New module 'environ'.
34860         * modules/environ: New file.
34861         * lib/unistd.in.h (environ): New declaration.
34862         * m4/environ.m4: New file.
34863         (gt_CHECK_VAR_DECL): Moved here from m4/setenv.m4. Undefine gt_cv_var
34864         after use.
34865         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ENVIRON and
34866         HAVE_DECL_ENVIRON.
34867         * modules/unistd (Makefile.am): Substitute also GNULIB_ENVIRON and
34868         HAVE_DECL_ENVIRON.
34869         * doc/posix-functions/environ.texi: Mention module 'environ'. Remove
34870         wrong claim that 'environ' is missing on some systems.
34871         * modules/execute (Depends-on): Add environ.
34872         * lib/execute.c (environ): Remove fallback declaration.
34873         * modules/pipe (Depends-on): Add environ.
34874         * lib/pipe.c (environ): Remove fallback declaration.
34875         * modules/setenv (Depends-on): Add environ.
34876         * lib/setenv.c (environ): Remove fallback declaration.
34877         * modules/unsetenv (Depends-on): Add environ.
34878         * lib/unsetenv.c (environ): Remove fallback declaration.
34879         * m4/setenv.m4 (gt_CHECK_VAR_DECL): Remove macro. Moved to
34880         m4/environ.m4.
34881         (gl_PREREQ_SETENV): Require gl_ENVIRON instead of testing for environ.
34882         (gl_PREREQ_UNSETENV): Likewise.
34883
34884 2008-02-24  Bruno Haible  <bruno@clisp.org>
34885
34886         * doc/posix-functions/environ.texi: Document the MacOS X problem.
34887
34888 2008-02-20  Bob Proulx  <bob@proulx.com>
34889
34890         Enable use of older two part flavor 'git describe'.
34891         * build-aux/git-version-gen: If using the older two part flavor of
34892         git version then recreate the third part now present in the
34893         newer three part flavor of git describe.
34894
34895 2008-02-20  Martin Buchholz  <martin@xemacs.org>  (tiny change)
34896
34897         * lib/fts.c (fts_build): Typo correction to comment.
34898
34899 2008-02-17  Bruno Haible  <bruno@clisp.org>
34900
34901         * lib/git-merge-changelog.c (main) [split_merged_entry]: Avoid
34902         generating no-op conflicts.
34903
34904 2008-02-17  Bruno Haible  <bruno@clisp.org>
34905
34906         Speed up by 10%.
34907         * lib/git-merge-changelog.c (main): Use the iterator to iterate through
34908         result_entries, rather than an index-based loop.
34909
34910 2008-02-17  Bruno Haible  <bruno@clisp.org>
34911
34912         Speed up by 25%.
34913         * lib/git-merge-changelog.c (struct entry): New fields 'hashcode',
34914         'hashcode_cached'.
34915         (entry_create): New function.
34916         (entry_hashcode): Use the cached hashcode if possible.
34917         (read_changelog_file, try_split_merged_entry): Use entry_create.
34918
34919 2008-02-17  Bruno Haible  <bruno@clisp.org>
34920
34921         Speed up from O(n^2) to O(n) for long ChangeLog files.
34922         * lib/git-merge-changelog.c: Include gl_rbtreehash_list.h.
34923         (read_changelog_file): Change implementation of entries_reversed list
34924         to rbtreehash.
34925         * modules/git-merge-changelog (Depends-on): Add rbtreehash-list.
34926
34927 2008-02-17  Bruno Haible  <bruno@clisp.org>
34928
34929         New option --split-merged-entry.
34930         * lib/git-merge-changelog.c (FSTRCMP_STRICTER_THRESHOLD): New macro.
34931         (find_paragraph_end, try_split_merged_entry): New functions.
34932         (long_options): Add option --split-merged-entry.
34933         (usage): Document option --split-merged-entry.
34934         (main): Implement option --split-merged-entry.
34935         Reported by Eric Blake.
34936
34937 2008-02-17  Bruno Haible  <bruno@clisp.org>
34938
34939         * lib/git-merge-changelog.c: Include c-strstr.h.
34940         (main): Support the "git pull --rebase" situation.
34941         * modules/git-merge-changelog (Depends-on): Add c-strstr.
34942         Reported by Eric Blake.
34943
34944 2008-02-16  Eric Blake  <ebb9@byu.net>
34945
34946         Avoid doubling \ in common case of "c-maybe" quoting style.
34947         * lib/quotearg.c (quotearg_buffer_restyled): Don't escape \ when
34948         eliding outer quotes.
34949         * lib/quotearg.h: Document this.
34950         * tests/test-quotearg.c (result_strings, inputs, results_g)
34951         (flag_results, locale_results): Test it by adding a new string to
34952         each test group.
34953         (compare_strings): Test new string.
34954
34955 2008-02-13  Eric Blake  <ebb9@byu.net>
34956
34957         Avoid trigraph quoting in default output.
34958         * lib/quotearg.h (enum quoting_flags): Add QA_SPLIT_TRIGRAPHS.
34959         * lib/quotearg.c (quotearg_buffer_restyled): Don't quote trigraphs
34960         unless explicitly requested.
34961         * tests/test-quotearg.c (flag_results, main): Add additional tests.
34962
34963 2008-02-13  Lasse Collin  <lasse.collin@tukaani.org>
34964
34965         Don't rely on signed integer overflowing to negative value.
34966         * lib/getugroups.c (getugroups): Include <limits.h>.
34967         Instead, compare against INT_MAX, and increment only if the test passes.
34968
34969 2008-02-13  Jim Meyering  <meyering@redhat.com>
34970         and Eric Blake  <ebb9@byu.net>
34971
34972         Avoid shadowing warning and compile errors on Linux.
34973         * tests/test-quotearg.c [ENABLE_NLS]: Disable <libintl.h>
34974         forwarding macros on Linux.
34975         (dcgettext): Define a stub, for Linux.
34976         (results_g, main): Avoid warnings.
34977
34978 2008-02-12  Eric Blake  <ebb9@byu.net>
34979
34980         Silence warning in last patch.
34981         * lib/quotearg.c (quotearg_buffer_restyled): Add missing const.
34982
34983         Quotearg part 4: add tests, fix c-maybe colon quoting.
34984         * lib/quotearg.h: Improve documentation.
34985         * lib/quotearg.c (quotearg_buffer_restyled): Don't add extra
34986         escapes when adding outer quotes.  When quoting trigraphs, use
34987         valid C notation.  When quoting NUL, omit extra characters if next
34988         character is not digit.  Alter prototype.
34989         (quotearg_buffer, quotearg_alloc_mem, quotearg_n_options): Adjust
34990         callers.
34991         * modules/quotearg-tests: New module.
34992         * tests/test-quotearg.c: New test.
34993
34994 2008-02-07  Eric Blake  <ebb9@byu.net>
34995
34996         Quotearg part 3: add flag to control outer quote elision.
34997         * lib/quotearg.h (c_maybe_quoting_style): New style.
34998         (enum quoting_flags): Better documentation of flags.
34999         * lib/quotearg.c (quoting_style_args, quoting_style_vals): Add
35000         c-maybe style.
35001         (quotearg_buffer_restyled): Handle new flag to elide outer
35002         quotes.
35003
35004         Quotearg part 2: add flag that can control NUL elision.
35005         * lib/quotearg.h (set_quoting_flags): New prototype.
35006         * lib/quotearg.c (struct quoting_options): Add flag field.
35007         (set_quoting_flags): New function.
35008         (quotearg_buffer_restyled): Add flags parameter.
35009         (quotearg_alloc_mem): Set the flag if length cannot be returned.
35010         (quotearg_n_options): Set the flag, since length cannot be
35011         returned.
35012         (quoting_options_from_style): Default flags correctly.
35013
35014         Quotearg part 1: more wrappers, restore quotearg_char state.
35015         * lib/quotearg.h (quotearg_alloc_mem, quotearg_n_mem)
35016         (quotearg_mem, quotearg_style_mem, quotearg_char_mem)
35017         (quotearg_colon_mem): New wrappers.
35018         * lib/quotearg.c (quotearg_alloc, quotearg_char): Rewrite...
35019         (quotearg_alloc_mem, quotearg_char_mem): ...in terms of these new
35020         functions.
35021         (quotearg_n_mem, quotearg_mem, quotearg_style_mem)
35022         (quotearg_colon_mem): New functions.
35023
35024 2008-02-11  Bruno Haible  <bruno@clisp.org>
35025
35026         * modules/git-merge-changelog (Makefile.am): Don't use -L and -l for a
35027         library in the current directory: it does not work with parallel make.
35028         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
35029
35030 2008-02-11  Bruno Haible  <bruno@clisp.org>
35031
35032         * .gitattributes: New file.
35033
35034 2008-02-11  Jim Meyering  <meyering@redhat.com>
35035
35036         useless-if-before-free: Fix reversed exit values.
35037         * build-aux/useless-if-before-free: Use correct values
35038         for EXIT_MATCH and EXIT_NO_MATCH.
35039
35040         * build-aux/useless-if-before-free: Close stdout carefully.
35041
35042 2008-02-10  Bruno Haible  <bruno@clisp.org>
35043
35044         New module 'git-merge-changelog'.
35045         * modules/git-merge-changelog: New file.
35046         * lib/git-merge-changelog.c: New file.
35047
35048 2008-02-10  Jim Meyering  <meyering@redhat.com>
35049
35050         useless-if-before-free: New option: --list (-l).
35051
35052         useless-if-before-free: Don't exit immediately upon open failure.
35053         * build-aux/useless-if-before-free: Exit 2 for errors.
35054         Upon failure to open a file, don't exit immediately.
35055         Rather, just warn and continue with any remaining files.
35056
35057 2008-02-10  Bruno Haible  <bruno@clisp.org>
35058
35059         New abstract list operation 'node_set_value'.
35060         * lib/gl_list.h (gl_list_node_set_value): New function.
35061         (struct gl_list_implementation): New field node_set_value.
35062         * lib/gl_list.c (gl_list_node_set_value): New function.
35063         * lib/gl_array_list.c (gl_array_node_set_value): New function.
35064         (gl_array_list_implementation): Update.
35065         * lib/gl_carray_list.c (gl_carray_node_set_value): New function.
35066         (gl_carray_list_implementation): Update.
35067         * lib/gl_anylinked_list2.h (gl_linked_node_set_value): New function.
35068         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
35069         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
35070         * lib/gl_anytree_list2.h (gl_tree_node_set_value): New function.
35071         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
35072         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
35073         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
35074         Update.
35075         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
35076         * lib/gl_sublist.c (gl_sublist_node_set_value): New function.
35077         (gl_sublist_list_implementation): Update.
35078
35079 2008-02-10  Bruno Haible  <bruno@clisp.org>
35080
35081         * lib/diffseq.h: Write "ELEMENT const" instead of "const ELEMENT".
35082         Needed when ELEMENT is #defined to 'some_type *'.
35083
35084 2008-02-10  Jim Meyering  <meyering@redhat.com>
35085
35086         New script and module: useless-if-before-free
35087         * MODULES.html.sh (maint+release support): Add useless-if-before-free.
35088         * build-aux/useless-if-before-free: New file.
35089         * modules/useless-if-before-free: New file.
35090
35091         * build-aux/gitlog-to-changelog: Use committer date, not author date.
35092
35093         xstrtol_error: Fix typo.
35094         * lib/xstrtol-error.c (xstrtol_error): The parameter was unused:
35095         s/exit_failure/exit_status/.
35096
35097 2008-02-09  Jim Meyering  <meyering@redhat.com>
35098
35099         New script and module: gitlog-to-changelog
35100         * MODULES.html.sh (maint+release support): Add gitlog-to-changelog.
35101         * modules/gitlog-to-changelog: New file.
35102         * build-aux/gitlog-to-changelog: New file.
35103
35104 2008-02-08  Jim Meyering  <meyering@redhat.com>
35105
35106         Avoid two "parameter unused" warnings.
35107         * lib/stat-time.h (get_stat_birthtime_ns, get_stat_birthtime):
35108         Mark "st" as used.
35109
35110         Use "git COMMAND", not "git-COMMAND".
35111         * build-aux/bootstrap (version_controlled_file): s/git-rm/git-rm/.
35112         * build-aux/announce-gen (get_tool_versions): Correct a diagnostic.
35113         * build-aux/git-version-gen: Use "git status", not "git-status".
35114
35115 2008-02-07  Bruno Haible  <bruno@clisp.org>
35116
35117         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on native Woe32 systems.
35118         Avoids a crash on Windows Vista.
35119         Reported by Adam Strzelecki <ono@java.pl> via
35120         Simon Josefsson <simon@josefsson.org>.
35121
35122 2008-02-06  Bruno Haible  <bruno@clisp.org>
35123
35124         Fix *printf behaviour regarding the left-adjust flag on HP-UX 10.20.
35125         * m4/printf.m4 (gl_PRINTF_FLAG_LEFTADJUST): New macro.
35126         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_FLAG_LEFTADJUST.
35127         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST): New macro.
35128         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
35129         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
35130         gl_PRINTF_FLAG_LEFTADJUST and test its result. Invoke
35131         gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST.
35132         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
35133         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
35134         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
35135         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
35136         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
35137         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
35138         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
35139         * tests/test-vasnprintf-posix.c (test_function): Add testcases for the
35140         left-adjust flag.
35141         * tests/test-snprintf-posix.h (test_function): Likewise.
35142         * tests/test-sprintf-posix.h (test_function): Likewise.
35143         * tests/test-vasprintf-posix.c (test_function): Likewise.
35144         * doc/posix-functions/fprintf.texi: Update.
35145         * doc/posix-functions/printf.texi: Update.
35146         * doc/posix-functions/snprintf.texi: Update.
35147         * doc/posix-functions/sprintf.texi: Update.
35148         * doc/posix-functions/vfprintf.texi: Update.
35149         * doc/posix-functions/vprintf.texi: Update.
35150         * doc/posix-functions/vsnprintf.texi: Update.
35151         * doc/posix-functions/vsprintf.texi: Update.
35152         Reported by Peter Fales <psfales@alcatel-lucent.com>.
35153
35154 2008-02-06  Bruno Haible  <bruno@clisp.org>
35155
35156         Fix bug introduced on 2008-01-26.
35157         * lib/isnan.c (FUNC): Set to rpl_isnand, not rpl_isnan.
35158
35159 2008-02-06  Bruno Haible  <bruno@clisp.org>
35160
35161         Fix bug introduced on 2007-06-10.
35162         * lib/vasnprintf.c (VASNPRINTF): Perform zero-padding also if
35163         !NEED_PRINTF_FLAG_ZERO.
35164
35165 2008-02-05  Peter O'Gorman <pogma@thewrittenword.com>
35166
35167         getloadavg: use libperfstat on AIX5
35168         * lib/getloadavg.c, m4/getloadavg.m4 [aix]: Use libperfstat
35169
35170 2008-02-03  Bruno Haible  <bruno@clisp.org>
35171
35172         * lib/diffseq.h: Add comments about required #includes.
35173         Reported by Michael Biggs <gnulib@doubleplum.net>.
35174
35175 2008-02-01  Bruno Haible  <bruno@clisp.org>
35176
35177         * users.txt: Add gnuit.
35178
35179 2008-01-31  Bruno Haible  <bruno@clisp.org>
35180
35181         * lib/md4.c (set_uint32): Mark as inline.
35182         * lib/md5.c (set_uint32): Likewise.
35183         * lib/sha1.c (set_uint32): Likewise.
35184         * m4/md4.m4 (gl_MD4): Require AC_C_INLINE.
35185         * m4/md5.m4 (gl_MD5): Likewise.
35186         * m4/sha1.m4 (gl_SHA1): Likewise.
35187
35188 2008-01-31  Jim Meyering  <meyering@redhat.com>
35189
35190         Use "sizeof VAR", rather than a literal "4".
35191         * lib/md5.c (md5_read_ctx): Use sizeof ctx->A, not 4.
35192         * lib/md4.c (md4_read_ctx): Likewise.
35193         * lib/sha1.c (sha1_read_ctx): Likewise.
35194
35195 2008-01-31  Simon Josefsson  <simon@josefsson.org>
35196
35197         * tests/test-sha1.c: New file, based on test-md5.c.
35198
35199         * modules/crypto/sha1-tests: New file.
35200
35201 2008-01-31  Simon Josefsson  <simon@josefsson.org>
35202
35203         * lib/sha1.h (SHA1_DIGEST_SIZE): Define.
35204
35205 2008-01-31  Jim Meyering  <meyering@redhat.com>
35206
35207         Prefer "sizeof v" over the equivalent "4".
35208         * lib/md4.c (set_uint32): Use "sizeof v" as memcpy length, not 4.
35209         * lib/md5.c (set_uint32): Likewise.
35210         * lib/sha1.c (set_uint32): Likewise.
35211
35212 2008-01-31  Simon Josefsson  <simon@josefsson.org>
35213
35214         * lib/sha1.c (set_uint32): Mark function as static.
35215
35216 2008-01-31  Simon Josefsson  <simon@josefsson.org>
35217
35218         md2: clarify comments to say that alignment is not required.
35219         * lib/md2.h: Remove warning about alignment in comment.
35220         * lib/md2.c (md2_read_ctx, md2_finish_ctx): Doc fix, alignment has
35221         never been required.
35222
35223 2008-01-31  Simon Josefsson  <simon@josefsson.org>
35224
35225         md4: adapt alignment constraint fix from sha1.
35226         * lib/md4.c (set_uint32): New function, from sha1.c
35227         (md4_read_ctx): Use it.
35228         (md4_finish_ctx): Doc fix.
35229         * lib/md4.h: Doc fix.
35230
35231 2008-01-31  Simon Josefsson  <simon@josefsson.org>
35232
35233         md5: adapt alignment constraint fix from sha1.
35234         * lib/md5.c (set_uint32): New function, from sha1.c
35235         (md5_read_ctx): Use it.
35236         (md5_finish_ctx): Doc fix.
35237         * lib/md5.h: Doc fix.
35238
35239 2008-01-30  Peter Palfrader  <weasel@debian.org>
35240
35241         sha1: remove the result buffer alignment constraint
35242         * lib/sha1.c (set_uint32): New function.
35243         (sha1_read_ctx): Rewrite to remove the result buffer alignment
35244         constraint.
35245         (sha1_finish_ctx): Remove comment warning about alignment constraint.
35246         * lib/sha1.h: Likewise.
35247
35248 2008-01-30  Andreas Schwab  <schwab@suse.de>
35249             Bruno Haible  <bruno@clisp.org>
35250
35251         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Include <float.h> and ensure a
35252         correct definition of LDBL_MIN_EXP.
35253
35254 2008-01-30  Karl Berry  <karl@gnu.org>
35255
35256         * config/srclist-update: try to preserve x bit on updates.
35257         * config/srclistvars.sh: update for karl.
35258
35259 2008-01-29  Jim Meyering  <meyering@redhat.com>
35260
35261         vasnprintf.c: Avoid warning about unused label
35262         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Guard the
35263         "overflow" label definition and associated code with the
35264         same cpp condition that guards the sole use of that label.
35265
35266 2008-01-26  Bruno Haible  <bruno@clisp.org>
35267
35268         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM,
35269         gl_FUNC_ISNANL_WORKS): Test the GCC >= 4.0 built-in.
35270         * lib/isnanl.h (isnanl): Use the GCC >= 4.0 built-in.
35271         * lib/isnanl-nolibm.h (isnanl): Likewise.
35272         Reported by Paul Eggert <eggert@cs.ucla.edu>.
35273
35274 2008-01-26  Bruno Haible  <bruno@clisp.org>
35275
35276         * m4/isnand.m4 (gl_FUNC_ISNAND_NO_LIBM): Test the GCC >= 4.0 built-in.
35277         * lib/isnand.h (isnand): Use the GCC >= 4.0 built-in.
35278
35279 2008-01-26  Bruno Haible  <bruno@clisp.org>
35280
35281         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_ISNANF_WORKS): Test the
35282         GCC >= 4.0 built-in.
35283         * lib/isnanf.h (isnanf): Use the GCC >= 4.0 built-in.
35284
35285 2008-01-26  Bruno Haible  <bruno@clisp.org>
35286
35287         Rename isnan, applicable to 'double' only, to isnand.
35288         * modules/isnand-nolibm: Renamed from modules/isnan-nolibm.
35289         (Files): Add lib/isnand.h, lib/isnand.c. Remove lib/isnan.h.
35290         (configure.ac): Update.
35291         (Include): Replace "isnan.h" with "isnand.h".
35292         * m4/isnand.m4: Renamed from m4/isnan.m4.
35293         (gl_FUNC_ISNAND_NO_LIBM): Renamed from gl_FUNC_ISNAN_NO_LIBM. Set
35294         HAVE_ISNAND_IN_LIBC instead of HAVE_ISNAN_IN_LIBC. Build isnand.c
35295         instead of isnan.c.
35296         * lib/isnand.h: Renamed from lib/isnan.h. Test HAVE_ISNAND_IN_LIBC
35297         instead of HAVE_ISNAN_IN_LIBC.
35298         (isnand): Renamed from isnan.
35299         * lib/isnand.c: New file.
35300         * modules/isnand-nolibm-tests: Renamed from modules/isnan-nolibm-tests.
35301         (Files): Add tests/test-isnand.c. Remove tests/test-isnan.c.
35302         (Makefile.am): Update.
35303         * tests/test-isnand.c: Renamed from tests/test-isnan.c.
35304         Include isnand.h instead of isnan.h.
35305         (main): Test isnand instead of isnan.
35306         * modules/fprintf-posix (Depends-on): Add isnand-nolibm, remove
35307         isnan-nolibm.
35308         * modules/frexp (Depends-on): Likewise.
35309         * modules/frexp-tests (Depends-on): Likewise.
35310         * modules/frexp-nolibm (Depends-on): Likewise.
35311         * modules/frexp-nolibm-tests (Depends-on): Likewise.
35312         * modules/isfinite (Depends-on): Likewise.
35313         * modules/round-tests (Depends-on): Likewise.
35314         * modules/signbit (Depends-on): Likewise.
35315         * modules/signbit-tests (Depends-on): Likewise.
35316         * modules/snprintf-posix (Depends-on): Likewise.
35317         * modules/sprintf-posix (Depends-on): Likewise.
35318         * modules/trunc-tests (Depends-on): Likewise.
35319         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
35320         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
35321         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
35322         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
35323         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
35324         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
35325         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
35326         * modules/vasnprintf-posix (Depends-on): Likewise.
35327         * modules/vasprintf-posix (Depends-on): Likewise.
35328         * modules/vfprintf-posix (Depends-on): Likewise.
35329         * modules/vsnprintf-posix (Depends-on): Likewise.
35330         * modules/vsprintf-posix (Depends-on): Likewise.
35331         * lib/frexp.c: Include isnand.h instead of isnan.h.
35332         (ISNAN): Set to isnand instead of isnan.
35333         * lib/isfinite.c: Include isnand.h instead of isnan.h.
35334         (gl_isfinited): Use isnand instead of isnan.
35335         * lib/signbitd.c: Include isnand.h instead of isnan.h.
35336         (gl_signbitd): Use isnand instead of isnan.
35337         * lib/vasnprintf.c: Include isnand.h instead of isnan.h.
35338         (is_infinite_or_zero, VASNPRINTF): Use isnand instead of isnan.
35339         * tests/test-frexp.c: Include isnand.h instead of isnan.h.
35340         (main): Use isnand instead of isnan.
35341         * tests/test-round1.c: Include isnand.h.
35342         (main): Use isnand instead of isnan.
35343         * tests/test-round2.c: Include isnand.h instead of isnan.h.
35344         (ISNAN): Set to isnand instead of isnan.
35345         * tests/test-trunc1.c: Include isnand.h.
35346         (main): Use isnand instead of isnan.
35347         * tests/test-trunc2.c: Include isnand.h instead of isnan.h.
35348         (equal): Use isnand instead of isnan.
35349         * MODULES.html.sh (Mathematics <math.h>): Replace isnan-nolibm with
35350         isnand-nolibm.
35351         * NEWS: Mention the change.
35352
35353 2008-01-25  Paul Eggert  <eggert@cs.ucla.edu>
35354             Bruno Haible  <bruno@clisp.org>
35355
35356         * m4/signbit.m4 (gl_SIGNBIT): Require a macro definition. Test whether
35357         the GCC builtins for signbits are present and set
35358         REPLACE_SIGNBIT_USING_GCC if so.
35359         * lib/math.in.h (signbit): Define using GCC builtins if
35360         REPLACE_SIGNBIT_USING_GCC is set.
35361         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize
35362         REPLACE_SIGNBIT_USING_GCC.
35363         * modules/math (Makefile.am): Substitute REPLACE_SIGNBIT_USING_GCC.
35364
35365 2008-01-25  Jim Meyering  <meyering@redhat.com>
35366
35367         Prefer <config.h> over "config.h".  See autoconf doc for explanation.
35368         * lib/poll.c: Include <config.h>, not "config.h".
35369         * tests/test-getaddrinfo.c: Likewise.
35370
35371 2008-01-25  Simon Josefsson  <simon@josefsson.org>
35372
35373         * modules/sockets-tests: New file.
35374
35375 2008-01-24  Simon Josefsson  <simon@josefsson.org>
35376
35377         * modules/sockets: New module, can be used to call WSA_Startup and
35378         WSA_Cleanup when needed.
35379
35380         * lib/sockets.h, lib/sockets.c: New files.
35381
35382         * m4/sockets.m4: New file.
35383
35384         * tests/test-sockets.c: New file.
35385
35386 2008-01-19  Bruno Haible  <bruno@clisp.org>
35387
35388         * doc/posix-headers: Renamed from doc/headers.
35389         * doc/posix-functions: Renamed from doc/functions.
35390         * doc/gnulib.texi: Update.
35391
35392 2008-01-19  Bruno Haible  <bruno@clisp.org>
35393
35394         * doc/glibc-functions/strcasestr.texi: Include contents of
35395         doc/functions/strcasestr.texi, fixing the list of platforms.
35396         * doc/functions/strcasestr.texi: Remove file.
35397
35398 2008-01-19  Bruno Haible  <bruno@clisp.org>
35399
35400         * doc/glibc-functions/memmem.texi: Include contents of
35401         doc/functions/memmem.texi.
35402         * doc/functions/memmem.texi: Remove file.
35403
35404 2008-01-18  Bruno Haible  <bruno@clisp.org>
35405
35406         * doc/glibc-functions/*.texi: New files.
35407         * doc/gnulib.texi (Glibc Function Substitutes): Completely rewritten
35408         to use the new files.
35409
35410 2008-01-17  Bruno Haible  <bruno@clisp.org>
35411
35412         * tests/test-gethostname.c (main): Fix printf statement.
35413
35414 2008-01-17  Simon Josefsson  <simon@josefsson.org>
35415
35416         * modules/gethostname-tests: New file.
35417
35418         * tests/test-gethostname.c: New file.
35419
35420 2008-01-17  Simon Josefsson  <simon@josefsson.org>
35421
35422         * lib/gethostname.c: Include string.h unconditionally, strncpy is
35423         used by the UNAME case.  Reported by Bruno Haible
35424         <bruno@clisp.org>.
35425
35426 2008-01-17  Eric Blake  <ebb9@byu.net>
35427
35428         Convert c-strcasestr to be more efficient.
35429         * modules/c-strcasestr (Files): Use Two-Way, not KMP.
35430         (Depends-on): Add c-strcase, remove malloca, strnlen.
35431         * tests/test-c-strcasestr.c (main): Enhance test.
35432         * lib/c-strcasestr.c (c_strcasestr): Rewrite to new algorithm.
35433
35434 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
35435
35436         * build-aux/bootstrap (MSGID_BUGS_ADDRESS): New overridable variable.
35437         Use it in creating po/Makevars.
35438
35439 2008-01-15  Simon Josefsson  <simon@josefsson.org>
35440
35441         * lib/gc-libgcrypt.c (gc_init): Disable secure memory by default.
35442         Applications that requires it should initialize libgcrypt
35443         manually.
35444
35445 2008-01-16  Simon Josefsson  <simon@josefsson.org>
35446
35447         * lib/gethostname.c [!HAVE_UNAME]: Need string.h for strcpy.
35448
35449 2008-01-15  Paul Eggert  <eggert@cs.ucla.edu>
35450
35451         Fix problem with getdate on mingw32 reported by Simon Josefsson
35452         in <http://lists.gnu.org/archive/html/bug-gnulib/2008-01/msg00192.html>.
35453         * lib/getdate.y (get_date): Check "HAVE_DECL_TZNAME", not "defined
35454         tzname", when deciding whether to declare tzname.
35455         * lib/strftime.c (tzname): Likewise.
35456
35457 2008-01-15  Bruno Haible  <bruno@clisp.org>
35458
35459         Work around a MacOS X 10.5 bug in frexpl().
35460         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Also check denormalized numbers.
35461         * doc/functions/frexpl.texi: Document the bug.
35462         Reported by Elias Pipping <pipping@gentoo.org>.
35463
35464 2008-01-14  Eric Blake  <ebb9@byu.net>
35465
35466         Touch up previous patch.
35467         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Fix typo.
35468         * doc/functions/strcasestr.texi (strcasestr): Document OpenBSD bug.
35469
35470         Convert strcasestr module to use Two-Way algorithm.
35471         * modules/strcasestr-simple: New module, based on the old
35472         strcasestr, but with Two-Way rather than KMP.
35473         * modules/strcasestr (Depends-on): Change to strcasestr-simple.
35474         * lib/string.in.h (rpl_strcasestr): Declare.
35475         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Check for linear
35476         performance.
35477         * lib/strcasestr.c (strcasestr): Simplify, and avoid malloc.
35478         * modules/string (Makefile.am): Support strcasestr.
35479         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
35480         * modules/strcasestr-tests (Depends-on): Check for alarm.
35481         * tests/test-strcasestr.c: Augment test.
35482         * lib/str-two-way.h: Clean up stray macro.
35483         * NEWS: Document new module.
35484         * MODULES.html.sh (string handling): Likewise.
35485         * doc/functions/strcasestr.texi: New file.
35486         * doc/gnulib.texi (Function Substitutes): New node.  Move memmem
35487         here, since it is not a POSIX function.
35488
35489 2008-01-14  Colin Watson  <cjwatson@debian.org>
35490             Bruno Haible  <bruno@clisp.org>
35491
35492         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check whether strsignal
35493         works fine; if not, set REPLACE_STRSIGNAL.
35494         (gl_PREREQ_STRSIGNAL): Require AC_DECL_SYS_SIGLIST.
35495         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
35496         REPLACE_STRSIGNAL.
35497         * lib/string.in.h (strsignal): Consider REPLACE_STRSIGNAL.
35498         * modules/string (Makefile.am): Substitute REPLACE_STRSIGNAL.
35499         * tests/test-strsignal.c (main): Check out-of-range signal numbers.
35500
35501 2008-01-14  Bruno Haible  <bruno@clisp.org>
35502
35503         * modules/strsignal (Include): Change to <string.h>.
35504
35505 2008-01-14  Colin Watson  <cjwatson@debian.org>
35506
35507         * modules/argp (Notice): Add a notice recommending to change
35508         XGETTEXT_OPTIONS.
35509         (configure.ac): Invoke AM_XGETTEXT_OPTION if it exists.
35510
35511 2008-01-13  Colin Watson  <cjwatson@debian.org>
35512
35513         * modules/strsignal-tests: New file.
35514         * tests/test-strsignal.c: New file.
35515
35516         * lib/strsignal.c: New file, from glibc with modifications.
35517         * lib/siglist.h: New file, from glibc with modifications.
35518         * lib/string.in.h (strsignal): New declaration.
35519         * m4/strsignal.m4: New file.
35520         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
35521         GNULIB_STRSIGNAL and HAVE_DECL_STRSIGNAL.
35522         * modules/strsignal: New file.
35523         * modules/string (Makefile.am): Substitute GNULIB_STRSIGNAL and
35524         HAVE_DECL_STRSIGNAL.
35525
35526 2008-01-13  Bruno Haible  <bruno@clisp.org>
35527
35528         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check that the
35529         locale encoding is not ASCII. Needed for OpenBSD 4.0.
35530         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
35531         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
35532
35533 2008-01-13  Bruno Haible  <bruno@clisp.org>
35534
35535         * lib/argp-fmtstream.h (__attribute__): Don't redefine if
35536         __STRICT_ANSI__ is set: it's not needed by any version of gcc.
35537         * lib/argp.h (__attribute__): Likewise.
35538         * lib/c-stack.c (__attribute__): Likewise.
35539         * lib/error.h (__attribute__): Likewise.
35540         * lib/fts.c (__attribute__): Likewise.
35541         * lib/openat.h (__attribute__): Likewise.
35542         * lib/stdio.in.h (__attribute__): Likewise.
35543         * lib/string.in.h (__attribute__): Likewise.
35544         * lib/utimens.c (__attribute__): Likewise.
35545         * lib/vasnprintf.h (__attribute__): Likewise.
35546         * lib/xalloc.h (__attribute__): Likewise.
35547         * lib/xprintf.h (__attribute__): Likewise.
35548         * lib/xstrtol.h (__attribute__): Likewise.
35549         * lib/xvasprintf.h (__attribute__): Likewise.
35550
35551 2008-01-12  Bruno Haible  <bruno@clisp.org>
35552
35553         * doc/gnulib.texi (Glibc Header File Substitutes): New chapter.
35554         * doc/glibc-headers/a.out.texi: New file.
35555         * doc/glibc-headers/aliases.texi: New file.
35556         * doc/glibc-headers/alloca.texi: New file.
35557         * doc/glibc-headers/ar.texi: New file.
35558         * doc/glibc-headers/argp.texi: New file.
35559         * doc/glibc-headers/argz.texi: New file.
35560         * doc/glibc-headers/byteswap.texi: New file.
35561         * doc/glibc-headers/crypt.texi: New file.
35562         * doc/glibc-headers/endian.texi: New file.
35563         * doc/glibc-headers/envz.texi: New file.
35564         * doc/glibc-headers/err.texi: New file.
35565         * doc/glibc-headers/error.texi: New file.
35566         * doc/glibc-headers/execinfo.texi: New file.
35567         * doc/glibc-headers/fpu_control.texi: New file.
35568         * doc/glibc-headers/fstab.texi: New file.
35569         * doc/glibc-headers/fts.texi: New file.
35570         * doc/glibc-headers/getopt.texi: New file.
35571         * doc/glibc-headers/ieee754.texi: New file.
35572         * doc/glibc-headers/ifaddrs.texi: New file.
35573         * doc/glibc-headers/libintl.texi: New file.
35574         * doc/glibc-headers/mcheck.texi: New file.
35575         * doc/glibc-headers/mntent.texi: New file.
35576         * doc/glibc-headers/obstack.texi: New file.
35577         * doc/glibc-headers/paths.texi: New file.
35578         * doc/glibc-headers/printf.texi: New file.
35579         * doc/glibc-headers/pty.texi: New file.
35580         * doc/glibc-headers/resolv.texi: New file.
35581         * doc/glibc-headers/shadow.texi: New file.
35582         * doc/glibc-headers/sysexits.texi: New file.
35583         * doc/glibc-headers/ttyent.texi: New file.
35584
35585 2008-01-12  Jim Meyering  <meyering@redhat.com>
35586
35587         announce-gen: emit Gnulib's git-based version string.
35588         * build-aux/announce-gen: Remove option: --gnulib-snapshot-time-stamp=S.
35589         New option --gnulib-version=V, where V is expected to be
35590         the output of running git describe in the gnulib directory.
35591         (get_tool_versions): Request feedback on xdelta.  I suspect it's
35592         not useful, and plan to stop publishing an xdelta file with each
35593         coreutils release.
35594
35595         * build-aux/announce-gen: Also check for lzma-compressed files.
35596
35597 2008-01-11  Bruno Haible  <bruno@clisp.org>
35598
35599         * tests/test-memmem.c (main): Increase maximum allowed time.
35600         * tests/test-strstr.c (main): Likewise.
35601
35602 2008-01-11  Bruno Haible  <bruno@clisp.org>
35603
35604         * doc/functions/memmem.texi: Add more precisions about platforms.
35605         * doc/functions/strstr.texi: Likewise.
35606
35607 2008-01-10  Eric Blake  <ebb9@byu.net>
35608
35609         * m4/strstr.m4: Delete cruft from copy-n-paste.
35610         Reported by Bruno Haible.
35611
35612 2008-01-10  Bruno Haible  <bruno@clisp.org>
35613
35614         Make c-strstr rely on strstr.
35615         * lib/c-strstr.c: Don't include str-kmp.h.
35616         (c_strstr): Define in terms of strstr.
35617         * modules/c-strstr (Files): Remove lib/str-kmp.h.
35618         (Depends-on): Remove stdbool, malloca, strnlen. Add strstr.
35619
35620 2008-01-10  Bruno Haible  <bruno@clisp.org>
35621
35622         * doc/gnulib.texi (String Functions in C Locale): New section.
35623         * doc/c-ctype.texi: New file.
35624         * doc/c-strcase.texi: New file.
35625         * doc/c-strcaseeq.texi: New file.
35626         * doc/c-strcasestr.texi: New file.
35627         * doc/c-strstr.texi: New file.
35628         * doc/c-strtod.texi: New file.
35629         * doc/c-strtold.texi: New file.
35630
35631 2008-01-10  Eric Blake  <ebb9@byu.net>
35632
35633         * lib/relocatable.h: Fix a comment.
35634
35635 2008-01-10  Eric Blake  <ebb9@byu.net>
35636
35637         Share two-way algorithm.
35638         * lib/str-two-way.h: New file, merged from...
35639         * lib/memmem.c: ...here...
35640         * lib/strstr.c: ...and here.
35641         * modules/memmem (Files): Use it.
35642         * modules/strstr (Files): Likewise.
35643
35644         Avoid quadratic strstr implementations.
35645         * lib/strstr.c: New file.
35646         * m4/strstr.m4: Likewise.
35647         * modules/strstr: Likewise.
35648         * modules/strstr-tests: Likewise.
35649         * tests/test-strstr.c: Likewise.
35650         * lib/string.in.h (rpl_strstr): Declare.
35651         (memmem) [GNULIB_POSIXCHECK]: Document speed issue.
35652         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Support strstr.
35653         * modules/string (Makefile.am): Likewise.
35654         * MODULES.html.sh (string handling): Mention new module.
35655         * doc/functions/strstr.texi (strstr): Document the bug.
35656
35657 2008-01-10  Bruno Haible  <bruno@clisp.org>
35658
35659         * lib/relocatable.h (relocate): State whether result is freshly
35660         allocated or not.
35661         * lib/relocatable.c (relocate): Return a freshly allocated string
35662         instead of a pointer to a privately held string.
35663         Reported by Sylvain Beucler <beuc@gnu.org>.
35664
35665 2008-01-10  Colin Watson  <cjwatson@debian.org>
35666
35667         * lib/canonicalize-lgpl.c [!_LIBC]: Fix typo in #if directive:
35668         s/S_ISNLK/S_ISLNK/.
35669
35670 2008-01-09  Bruno Haible  <bruno@clisp.org>
35671
35672         * doc/functions/memmem.texi: Use the same structure as snprintf.texi
35673         and other files.
35674         * m4/memmem.m4 (gl_FUNC_MEMMEM): Say "guessing no" instead of "no"
35675         if it's only a guess.
35676         * modules/memmem: Simplify by depending on memmem-simple.
35677
35678 2008-01-09  Bruno Haible  <bruno@clisp.org>
35679
35680         Work around OpenBSD 4.0 tdelete() bug.
35681         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Also check tdelete's return value.
35682         * lib/search.in.h: If REPLACE_TSEARCH is 1, define tsearch etc. as
35683         macros and don't redefine the enum values.
35684         * m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Initialize REPLACE_TSEARCH.
35685         * modules/search (Makefile.am): Also substitute REPLACE_TSEARCH.
35686         * doc/functions/tdelete.texi: Document the OpenBSD 4.0 bug.
35687
35688 2008-01-09  Bruno Haible  <bruno@clisp.org>
35689
35690         * tests/test-wcwidth.c: Include <string.h> and localcharset.h.
35691         (main): Don't perform the tests if setlocale did not install a UTF-8
35692         locale. Needed on OpenBSD 4.0.
35693         * modules/wcwidth-tests (Depends-on): Add localcharset.
35694
35695 2008-01-09  Paul Eggert  <eggert@cs.ucla.edu>
35696
35697         gl_FUNC_ALLOCA no longer defines HAVE_ALLOCA_H unconditionally.
35698         See <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00149.html>.
35699         * NEWS: announce this.
35700         * m4/alloca.m4 (gl_FUNC_ALLOCA): Don't define HAVE_ALLOCA_H.
35701
35702 2008-01-09  Simon Josefsson  <simon@josefsson.org>
35703         and Eric Blake  <ebb9@byu.net>
35704
35705         Add memmem-simple module.
35706         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): New macro.
35707         (gl_FUNC_MEMMEM): Separate performance from presence checks.
35708         * modules/memmem-simple: New file.
35709         * modules/memmem (Description): Tweak.
35710         * MODULES.html.sh (string handling): Mention new module.
35711         * doc/functions/memmem.texi (memmem): Distinguish which flaws are
35712         addressed by memmem-simple.
35713         * NEWS: Document the difference.
35714
35715 2008-01-09  Eric Blake  <ebb9@byu.net>
35716
35717         Give gcc some memmem optimization hints.
35718         * lib/string.in.h (memmem, memrchr, strchrnul, strnlen, strpbrk)
35719         (strcasestr): Declare as pure.
35720         * modules/memmem (Maintainer): Claim my implementation.
35721
35722 2008-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35723
35724         Support AIX 6.1 and higher.
35725         * build-aux/config.libpath: Likewise.
35726         * build-aux/config.rpath: Likewise.
35727
35728 2008-01-08  Jim Meyering  <meyering@redhat.com>
35729             Bruno Haible  <bruno@clisp.org>
35730
35731         * lib/printf-parse.c (PRINTF_PARSE): Handle a size specifier "q"
35732         on MacOS X and a size specifier "I64" on mingw. Needed for PRIdMAX.
35733         Reported by Peter Fales in
35734         <http://lists.gnu.org/archive/html/bug-coreutils/2007-12/msg00148.html>.
35735
35736 2008-01-08  Bruno Haible  <bruno@clisp.org>
35737
35738         * modules/unictype/category-of (Depends-on): Add
35739         unictype/category-none.
35740         * modules/unictype/category-and-tests (Depends-on): Add
35741         unictype/category-{L,N,Lu,Nd}.
35742         * modules/unictype/category-and-not-tests (Depends-on): Likewise.
35743         * modules/unictype/category-or-tests (Depends-on): Add
35744         unictype/category-{L,N}.
35745         * modules/unictype/category-name-tests (Depends-on): Add
35746         unictype/category-{Z,Nl}.
35747         Reported by Simon Josefsson.
35748
35749 2008-01-08  Bruno Haible  <bruno@clisp.org>
35750
35751         * lib/str-kmp.h (knuth_morris_pratt_unibyte): Document the calling
35752         convention better.
35753         * lib/mbsstr.c (knuth_morris_pratt_multibyte): Likewise.
35754         * lib/mbscasestr.c (knuth_morris_pratt_multibyte): Likewise.
35755         Reported by Peter Miller <millerp@canb.auug.org.au>.
35756
35757 2008-01-08  Eric Blake  <ebb9@byu.net>
35758
35759         Rewrite memmem to guarantee linear complexity without malloc.
35760         * lib/memmem.c (memmem): Use Two-Way rather than
35761         Knuth-Morris-Pratt, to allow O(1) space usage.
35762         (critical_factorization, two_way_short_needle)
35763         (two_way_long_needle): New functions.
35764         (knuth_morris_pratt): Delete.
35765         * modules/memmem (Depends-on): No longer need malloca or stdbool.
35766         Add stdint.
35767         * tests/test-memmem.c (main): Add tests for periodic needle and
35768         sublinear performance.
35769         * doc/functions/memmem.texi (memmem): Document other deficiencies
35770         in cygwin and older glibc.
35771
35772 2008-01-08  Bruno Haible  <bruno@clisp.org>
35773
35774         * modules/memmem-tests (Makefile.am): Remove TESTS_ENVIRONMENT
35775         augmentation.
35776
35777 2008-01-08  Mike Frysinger  <vapier@gentoo.org>
35778
35779         Add a configure time option: --disable-acl.
35780         * m4/acl.m4 (gl_FUNC_ACL): Wrap all ACL logic in a call to
35781         AC_ARG_ENABLE(acl).
35782
35783 2008-01-06  Simon Josefsson  <simon@josefsson.org>
35784
35785         * tests/test-localename.c: Don't include obsolete "setenv.h".
35786
35787         * modules/localename-tests (Depends-on): Need unsetenv.
35788
35789 2008-01-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35790
35791         * DEPENDENCIES: Require Texinfo version 4.6 or newer.
35792
35793 2008-01-06  Colin Watson  <cjwatson@debian.org>
35794
35795         * users.txt: Add man-db.
35796
35797 2008-01-07  Bruno Haible  <bruno@clisp.org>
35798
35799         * doc/gnulib-intro.texi (Library vs Reusable Code): Restore the
35800         previous section name.
35801
35802 2008-01-07  Bruno Haible  <bruno@clisp.org>
35803
35804         * lib/progname.c (set_program_name): Don't strip off a leading
35805         "lt-" prefix outside a .libs directory.
35806         Suggested by Paul Eggert.
35807
35808 2008-01-01  Sylvain Beucler  <beuc@gnu.org>
35809             Bruno Haible  <bruno@clisp.org>
35810
35811         Improve memory cleanup in 'relocatable' module.
35812         * lib/relocatable.h (compute_curr_prefix): Change return type to
35813         'char *'.
35814         * lib/relocatable.c (compute_curr_prefix): Change return type to
35815         'char *'. Free curr_installdir after use.
35816         (relocate): Free curr_prefix_better after use.
35817         * lib/progreloc.c (prepare_relocate): Free curr_prefix after use.
35818
35819 2008-01-01  Bruno Haible  <bruno@clisp.org>
35820
35821         * tests/test-wcwidth.c (main): Relax test of U+2060. Avoids a test
35822         failure on older glibc systems.
35823         Reported by Peter Fales <psfales@alcatel-lucent.com>.
35824
35825 2008-01-05  Eric Blake  <ebb9@byu.net>
35826
35827         Avoid quadratic system memmem.
35828         * m4/memmem.m4 (gl_FUNC_MEMMEM): Check for quadratic memmem.
35829         Reported by Ralf Wildenhues.
35830
35831         Fix memmem test for mingw.
35832         * modules/memmem-tests (configure.ac): Check for alarm.
35833         * tests/test-memmem.c (main): Avoid alarm on platforms that lack
35834         it.
35835         * doc/functions/memmem.texi: New file.
35836         * doc/gnulib.texi (Function Substitutes): Add memmem.
35837         Reported by Bruno Haible.
35838
35839 2008-01-04  Bruno Haible  <bruno@clisp.org>
35840
35841         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP):
35842         Require gl_HEADER_STRINGS_H_DEFAULTS, not
35843         gl_HEADER_STRING_H_DEFAULTS.
35844
35845 2008-01-04  Eric Blake  <ebb9@byu.net>
35846
35847         Shorten duration of memmem test.
35848         * tests/test-memmem.c (main): Use alarm to declare failure if test
35849         is taking too long.
35850         Reported by Ralf Wildenhues.
35851
35852 2007-12-21  Simon Josefsson  <simon@josefsson.org>
35853
35854         * modules/relocatable-prog-wrapper (Depends-on): Add intprops and
35855         string, needed by strerror.
35856
35857 2008-01-03  Colin Watson  <cjwatson@debian.org>
35858             Bruno Haible  <bruno@clisp.org>
35859
35860         * doc/gnulib-tool.texi (Localization): New section.
35861
35862 2008-01-02  Bruno Haible  <bruno@clisp.org>
35863
35864         * lib/memmem.c (knuth_morris_pratt, memmem): Change all 'char *'
35865         variables to 'unsigned char *' type.
35866         Reported by Paul Eggert.
35867
35868 2008-01-02  Jim Meyering  <jim@meyering.net>
35869
35870         * lib/version-etc.c (COPYRIGHT_YEAR): Increase for new year.
35871
35872 2007-12-31  Jim Meyering  <jim@meyering.net>
35873
35874         Avoid use of private FTS type name.
35875         * lib/fts.c (fts_sort): Use FTSENT rather than "struct _ftsent".
35876
35877 2007-12-30  Karl Berry  <karl@gnu.org>
35878
35879         * doc/gnulib.texi (Library vs. Reusable Code): remove period, to
35880         work around defect in Texinfo and/or the standalone Info browser.
35881
35882 2007-12-30  Bruno Haible  <bruno@clisp.org>
35883
35884         Unify 5 copies of the KMP code.
35885         * lib/str-kmp.h: New file.
35886         * lib/c-strcasestr.c: Include str-kmp.h.
35887         (knuth_morris_pratt): Remove function.
35888         (c_strcasestr): Update.
35889         * lib/c-strstr.c: Include str-kmp.h.
35890         (knuth_morris_pratt): Remove function.
35891         (c_strcasestr): Update.
35892         * lib/mbscasestr.c: Include str-kmp.h.
35893         (knuth_morris_pratt_unibyte): Remove function.
35894         * lib/mbsstr.c: Include str-kmp.h.
35895         (knuth_morris_pratt_unibyte): Remove function.
35896         * lib/strcasestr.c: Include str-kmp.h.
35897         (knuth_morris_pratt): Remove function.
35898         (strcasestr): Update.
35899         * modules/c-strcasestr (Files): Add lib/str-kmp.h.
35900         * modules/c-strstr (Files): Likewise.
35901         * modules/mbscasestr (Files): Likewise.
35902         * modules/mbsstr (Files): Likewise.
35903         * modules/strcasestr (Files): Likewise.
35904         Suggested by Paul Eggert.
35905
35906 2007-12-30  Bruno Haible  <bruno@clisp.org>
35907
35908         * lib/xmalloca.c (xmmalloca): Don't define if HAVE_ALLOCA is not
35909         defined.
35910
35911 2007-12-30  Bruno Haible  <bruno@clisp.org>
35912
35913         * lib/xmalloca.h: Include xalloc.h.
35914         (xnmalloca): New macro.
35915
35916 2007-12-30  Bruno Haible  <bruno@clisp.org>
35917
35918         * lib/malloca.h (nmalloca): New macro.
35919         * lib/c-strcasestr.c (knuth_morris_pratt): Use it.
35920         * lib/c-strstr.c (knuth_morris_pratt): Likewise.
35921         * lib/mbscasestr.c (knuth_morris_pratt_unibyte,
35922         knuth_morris_pratt_multibyte): Likewise.
35923         * lib/mbsstr.c (knuth_morris_pratt_unibyte,
35924         knuth_morris_pratt_multibyte): Likewise.
35925         * lib/memmem.c (knuth_morris_pratt): Likewise.
35926         * lib/strcasestr.c (knuth_morris_pratt): Likewise.
35927
35928 2007-12-25  Bruno Haible  <bruno@clisp.org>
35929
35930         Fixup after 2007-10-17 commit. Ensure that 'glob' stays under LGPLv2+.
35931         * lib/glob.c: Don't include openat.h.
35932         (link_exists2_p): Add back the code that deals with the
35933         !GLOB_ALTDIRFUNC case.
35934         (link_exists_p) [!_LIBC && !HAVE_FSTATAT]: Just call link_exists2_p and
35935         let it do the filename concatenation.
35936         * m4/glob.m4 (gl_PREREQ_GLOB): Add check for fstatat.
35937         * modules/glob (Depends-on): Remove openat.
35938
35939 2007-12-31  Bruno Haible  <bruno@clisp.org>
35940
35941         * modules/dirfd (License): Change to LGPLv2+.
35942         Approved by Jim Meyering.
35943
35944 2007-12-29  Paul Eggert  <eggert@cs.ucla.edu>
35945
35946         * lib/memmem.c (knuth_morris_pratt): Check for size_t overflow
35947         when multiplying M by sizeof (size_t).
35948
35949 2007-12-10  Martin Lambers  <marlam@marlam.de>
35950
35951         Override getpagesize on mingw.
35952         * lib/getpagesize.c: New file.
35953         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Enable replacement on mingw.
35954         * modules/getpagesize (Files): Add lib/getpagesize.c.
35955         * lib/unistd.in.h (getpagesize): Declare if we are using a replacement.
35956         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
35957         REPLACE_GETPAGESIZE.
35958         * modules/unistd (Makefile.am): Substitute REPLACE_GETPAGESIZE.
35959
35960 2007-12-25  Bruno Haible  <bruno@clisp.org>
35961
35962         * modules/localcharset (Notice): New field.
35963         (configure.ac): Define LOCALCHARSET_TESTS_ENVIRONMENT.
35964         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
35965
35966 2007-12-25  Paul Eggert  <eggert@cs.ucla.edu>
35967             Bruno Haible  <bruno@clisp.org>
35968
35969         Avoid using the syntax symbol() in formatted documentation.
35970         * MODULES.html.sh (func_module): When replacing symbol() with a
35971         hyperlink, remove the parentheses. Show an error if some remain.
35972         Recognize and render the '...' syntax.
35973         * doc/alloca-opt.texi: Remove parentheses from symbol reference.
35974         Rework. Add paragraph about GCC's inlining.
35975         * doc/alloca.texi: Likewise.
35976         * doc/error.texi: Remove parentheses from symbol reference.
35977         * doc/gnulib-intro.texi: Likewise.
35978         * doc/gnulib.texi (alloca, alloca-opt): New nodes.
35979         * modules/fnmatch (Description): Reword to say "the ... function".
35980         * modules/full-read (Description): Likewise.
35981         * modules/full-write (Description): Likewise.
35982         * modules/safe-read (Description): Likewise.
35983         * modules/safe-write (Description): Likewise.
35984         * modules/strchrnul (Description): Likewise.
35985         * modules/trim (Description): Likewise.
35986         * modules/error (Description): Remove parentheses from symbol
35987         references.
35988         * modules/verror (Description): Likewise.
35989         Reported by Karl Berry.
35990
35991 2007-12-25  Bruno Haible  <bruno@clisp.org>
35992
35993         Fixup after 2007-10-16 commit.
35994         * lib/glob.c (glob_in_dir): Don't use ISO C99 syntax.
35995
35996 2007-12-24  Bruno Haible  <bruno@clisp.org>
35997
35998         Make --enable-relocatable work with DESTDIR.
35999         * build-aux/install-reloc: Accept another argument 'destdir'. Use it
36000         to compute installdir from destprog.
36001         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV,
36002         also set the RELOC_DESTDIR variable.
36003         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
36004
36005 2007-12-24  Bruno Haible  <bruno@clisp.org>
36006
36007         Fix link error due to xalloc_die().
36008         * lib/progreloc.c: When NO_XMALLOC is defined, use areadlink instead
36009         of xreadlink.
36010         * lib/relocwrapper.c: Update comments.
36011         * build-aux/install-reloc: Remove xreadlink.c from file list.
36012         * modules/relocatable-prog-wrapper (Files): Remove xreadlink.h and
36013         xreadlink.c.
36014         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
36015
36016 2007-12-24  Bruno Haible  <bruno@clisp.org>
36017
36018         Split setenv module into setenv and unsetenv. Get rid of setenv.h.
36019         * lib/setenv.h: Remove file.
36020         * lib/stdlib.in.h (setenv, unsetenv): New declarations, moved here from
36021         lib/setenv.h.
36022         * modules/setenv (Files): Remove lib/setenv.h, lib/unsetenv.c.
36023         (Depends-on): Add stdlib.
36024         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR. Don't invoke
36025         gl_FUNC_UNSETENV.
36026         (Include): Replace setenv.h with <stdlib.h>.
36027         * modules/unsetenv: New file.
36028         * lib/setenv.c: Include <stdlib.h> first, after alloca.h.
36029         * lib/unsetenv.c: Include <stdlib.h> first.
36030         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_SETENV_SEPARATE): Require
36031         gl_STDLIB_H_DEFAULTS. Conditionally set HAVE_SETENV to 0.
36032         (gl_FUNC_UNSETENV): Require gl_STDLIB_H_DEFAULTS. Conditionally set
36033         HAVE_UNSETENV to 0. Set VOID_UNSETENV as an AC_SUBSTed variable.
36034         * modules/stdlib (Makefile.am): Substitute also GNULIB_SETENV,
36035         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
36036         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_SETENV,
36037         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
36038         * doc/functions/unsetenv.texi: Update.
36039         * modules/xsetenv (Depends-on): Add unsetenv.
36040         * modules/getdate (Depends-on): Likewise.
36041         * lib/xsetenv.h: Include <stdlib.h> instead of setenv.h.
36042         * lib/xsetenv.c: Don't include setenv.h.
36043         * lib/getdate.y: Likewise.
36044         * lib/relocwrapper.c: Likewise.
36045         * modules/relocatable-prog-wrapper (Files): Remove lib/setenv.h.
36046         (Depends-on): Add stdlib.
36047         * NEWS: Mention the changes.
36048         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
36049
36050 2007-12-23  Bruno Haible  <bruno@clisp.org>
36051
36052         * lib/memmem.c (memmem): Use lowercase variable names. Tab
36053         indentation.
36054
36055 2007-12-23  Bruno Haible  <bruno@clisp.org>
36056
36057         * lib/c-strcasestr.c: Add more comments.
36058         * lib/c-strstr.c: Likewise.
36059         * lib/mbscasestr.c: Likewise.
36060         * lib/mbsstr.c: Likewise.
36061         * lib/strcasestr.c: Likewise.
36062         * lib/memmem.c: Likewise.
36063
36064 2007-12-23  Bruno Haible  <bruno@clisp.org>
36065
36066         * tests/test-memmem.c: Include <string.h> first.
36067
36068 2007-12-22  Bruno Haible  <bruno@clisp.org>
36069
36070         * gnulib-tool (func_create_testdir): Change $auxdir while generating
36071         the contents of $testsbase.
36072         Reported by Ralf Wildenhues.
36073
36074 2007-12-22  Bruno Haible  <bruno@clisp.org>
36075
36076         * gnulib-tool (func_emit_tests_Makefile_am): Replace local_ldadd with
36077         two variables local_ldadd_before, local_ldadd_last.
36078
36079 2007-12-20  Eric Blake  <ebb9@byu.net>
36080
36081         Work around circular library issue when cross-compiling.
36082         * lib/progname.c (set_program_name): Use strncmp, not memcmp, so
36083         that progname.o does not need to pull in rpl_memcmp.
36084
36085 2007-12-19  Eric Blake  <ebb9@byu.net>
36086
36087         Fix memmem to avoid O(n^2) worst-case complexity.
36088         * lib/memmem.c (knuth_morris_pratt): New function.
36089         (memmem): Use it if first few naive iterations fail.
36090         * m4/memmem.m4 (gl_FUNC_MEMMEM): Detect cygwin bug.
36091         * modules/memcmp (License): Set to LGPLv2+, not LGPL.
36092         * modules/memchr (License): Likewise.
36093         * modules/memmem (Depends-on): Add memcmp, memchr, stdbool, and
36094         malloca.
36095         * tests/test-memmem.c: Rewrite, borrowing ideas from
36096         test-mbsstr1.c; the old version wouldn't even compile!
36097         * modules/memmem-tests: New file.
36098         * lib/string.in.h (rpl_memmem): Add declaration.
36099         * modules/string (Makefile.am): Substitute REPLACE_MEMMEM.
36100         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Default for
36101         REPLACE_MEMMEM.
36102
36103 2007-12-18  Paul Eggert  <eggert@cs.ucla.edu>
36104
36105         Fix problem with _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H on VMS.
36106         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_INTTYPES_H): Define
36107         before any system include files, and undef after them all.  This
36108         should fix a problem on VMS reported by John E. Malmberg in
36109         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00118.html>.
36110
36111 2007-12-17  Eric Blake  <ebb9@byu.net>
36112
36113         Revert addition of verify, for BSD/OS.
36114         * lib/fseeko.c [!HAVE_FSEEKO]: Allow off_t > long, even though it
36115         can't handle large files, for the sake of obsolete platforms.
36116         * modules/fseeko (Depends-on): Remove verify.
36117         * doc/functions/fseeko.texi (fseeko): Document BSD/OS limitation.
36118         * doc/functions/ftello.texi (ftello): Likewise.
36119         * doc/functions/fgetpos.texi (fgetpos): Likewise.
36120         Reported by Larry Jones.
36121
36122 2007-12-17  Petr Salinger  <Petr.Salinger@seznam.cz>
36123
36124         getcwd.c: Use a more readable witness: HAVE_OPENAT_SUPPORT
36125         * lib/getcwd.c: Define and use HAVE_OPENAT_SUPPORT, in place of AT_FDCWD.
36126
36127 2007-12-17  Jim Meyering  <meyering@redhat.com>
36128
36129         Port to GNU/kFreeBSD - FreeBSD kernel + GNU libc,
36130         which has no openat syscall, yet <fcntl.h> does define AT_FDCWD.
36131         * lib/getcwd.c: Undef AT_FDCWD if there is no openat function.
36132         * modules/getcwd (Depends-on): Add openat.
36133         Reported by Petr Salinger.
36134
36135 2007-12-17  Bruno Haible  <bruno@clisp.org>
36136
36137         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Use GL_NOCRASH to
36138         avoid a segmentation fault of the configure test on x86_64 systems.
36139
36140 2007-12-15  Jim Meyering  <meyering@redhat.com>
36141
36142         * build-aux/gnupload (GPG): Don't hard-code absolute name of gpg binary.
36143
36144 2007-12-13  Eric Blake  <ebb9@byu.net>
36145
36146         Another fseek test.
36147         * tests/test-fseek.c (main): Also test ungetc handling.
36148         * tests/test-fseeko.c (main): Likewise.
36149         * modules/fseeko (Depends-on): Add verify.
36150         * lib/fseeko.c [!HAVE_FSEEKO]: Verify that off_t is not too
36151         large.
36152         Reported by Larry Jones.
36153
36154         Fix fseeko on mingw.
36155         * lib/fseeko.c (rpl_fseeko) [_IOERR]: Reset EOF flag on successful
36156         seek.
36157
36158         Beef up fseek tests.
36159         * tests/test-fseek.c (main): Also test eof handling.
36160         * tests/test-fseeko.c (main): Likewise.
36161         Reported by Larry Jones.
36162
36163 2007-12-13  Larry Jones  <lawrence.jones@siemens.com>  (tiny change)
36164
36165         Fix fseeko on BSD-based platforms.
36166         * lib/fseeko.c (rpl_fseeko) [__sferror]: Reset EOF flag on
36167         successful seek.
36168
36169 2007-12-12  Eric Blake  <ebb9@byu.net>
36170
36171         Allow circular dependency of separate libtests.a
36172         * gnulib-tool (func_emit_tests_Makefile_am): Add AM_LIBTOOLFLAGS
36173         when use_libtests.
36174
36175 2007-12-11  Eric Blake  <ebb9@byu.net>
36176
36177         Fix bug with -0.0L in previous patch.
36178         * lib/isnan.c (rpl_isnanl): Make robust to -0.0L and pad bits.
36179         * tests/test-isnan.c (main): Also test on zeroes.
36180         * tests/test-isnanf.c (main): Likewise.
36181         * tests/test-isnanl.h (main): Likewise.
36182
36183         Detect pseudo-denormals on x86 even when cross-compiling.
36184         * lib/isnan.c (rpl_isnanl) [!KNOWN_EXPBIT0_LOCATION
36185         && USE_LONG_DOUBLE && x86]: Add one more check to filter out
36186         invalid bit patterns that happen to satisfy ==.
36187
36188         Avoid link failures with separate libtests.a.
36189         * gnulib-tool (func_emit_tests_Makefile_am): Also list local_ldadd
36190         last, to satisfy circular dependencies.
36191
36192 2007-12-11  Eric Blake  <ebb9@byu.net>
36193         and Bruno Haible  <bruno@clisp.org>
36194
36195         Fix OpenBSD 4.0 <float.h> handling of long double.
36196         * m4/float_h.m4 (gl_FLOAT_H): Also claim OpenBSD is broken.
36197         * lib/float.in.h [__OpenBSD__]: Add fixes for OpenBSD.
36198         * doc/headers/float.texi (float.h): Document OpenBSD bug.
36199
36200 2007-12-11  Jim Meyering  <meyering@redhat.com>
36201
36202         * users.txt: Add libvirt.
36203
36204         Support versions of autoconf prior to 2.59c.
36205         * gnulib-tool (func_emit_initmacro_done): Define m4_foreach_w
36206         if it is not already defined.
36207
36208 2007-12-09  Bruno Haible  <bruno@clisp.org>
36209
36210         Let 'gnulib-tool --import' collect sources needed for the tests in
36211         tests/ rather than in lib/.
36212         * gnulib-tool (func_emit_tests_Makefile_am): Accept use_libtests
36213         argument. If true, add rules to generate libtests.a, and put libtests.a
36214         into $(LDADD). Consider source files in subdirectories and set
36215         uses_subdirs.
36216         (func_emit_initmacro_start, func_emit_initmacro_end,
36217         func_emit_initmacro_done): Pass all arguments explicitly.
36218         (func_import): Determine two module lists main_modules,
36219         testsrelated_modules. Determine use_libtests. Determine two variables
36220         sed_transform_main_lib_file, sed_transform_testsrelated_lib_file
36221         instead of just sed_transform_lib_file. Determine two variables
36222         main_files and testsrelated_files. Compute 'files' as the union of
36223         both. Adjust sed_rewrite_old_files, sed_rewrite_new_files,
36224         func_add_or_update. In the generated gnulib-comp.m4, collect the
36225         object files for tests/ in different variables than those for lib/.
36226         Substitute LIBTESTS_LIBDEPS.
36227         (func_create_testdir): Combine the uses_subdirs results from
36228         func_emit_lib_Makefile_am and from func_emit_tests_Makefile_am.
36229
36230 2007-12-09  Bruno Haible  <bruno@clisp.org>
36231
36232         * gnulib-tool (func_emit_tests_Makefile_am): Expand references to
36233         the build-aux directory.
36234
36235 2007-12-09  Bruno Haible  <bruno@clisp.org>
36236
36237         * gnulib-tool (func_emit_tests_Makefile_am): Remove redundant code
36238         introduced on 2006-09-09.
36239
36240 2007-12-07  Jim Meyering  <meyering@redhat.com>
36241
36242         Let these macros work also with autoconf-2.59.
36243         * m4/getline.m4 (gl_FUNC_GETLINE): Require only autoconf-2.59.  2.60
36244         is not needed, since gnulib now permits use of AC_CHECK_DECLS_ONCE.
36245         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
36246
36247 2007-12-06  Jim Meyering  <meyering@redhat.com>
36248
36249         Avoid a configure-time syntax error in gl_FUNC_ACL.
36250         * m4/acl.m4 (gl_FUNC_ACL): Be careful to check for the acl_trivial
36251         function in each branch, before testing the cache variable.
36252
36253 2007-12-04  Eric Blake  <ebb9@byu.net>
36254
36255         Make scripts executable.
36256         * build-aux/config.guess: Add execute permissions.
36257         * build-aux/config.sub: Likewise.
36258         * build-aux/gendocs.sh: Likewise.
36259
36260         Fix frexp on mingw.
36261         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Detect mingw bug when
36262         cross-compiling.
36263         * doc/functions/frexp.texi (frexp): Document the bug.
36264
36265         Make cygwin fseeko check more reliable.
36266         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Use cygwin
36267         version numbers, rather than unrelated feature check.
36268         * doc/functions/fseeko.texi (fseeko): Tweak failure report.
36269         * doc/functions/ftello.texi (ftello): Likewise.
36270         Reported by Bruno Haible.
36271
36272         * m4/strerror.m4: Bump version number.
36273
36274 2007-12-03  Bruno Haible  <bruno@clisp.org>
36275
36276         * doc/functions/mprotect.texi: Mention the mingw problem.
36277
36278 2007-12-03  Eric Blake  <ebb9@byu.net>
36279
36280         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Ensure
36281         REPLACE_STRERROR is initialized before this macro.
36282
36283 2007-12-03  Paul Eggert  <eggert@cs.ucla.edu>
36284
36285         Add support for Solaris 10 ACLs.  Also, ACLs are Gnulib, not Autoconf.
36286         * modules/acl (configure.ac): Rename AC_FUNC_ACL to gl_FUNC_ACL.
36287         * m4/acl.m4 (gl_FUNC_ACL): Renamed from AC_FUNC_ACL.  On Solaris,
36288         put -lsec in even for programs other than 'ls'.  This fixes a problem
36289         for gettext reported by Bruno Haible in
36290         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00007.html>.
36291         * lib/acl.c (copy_acl, qset_acl) [USE_ACL && defined ACL_NO_TRIVIAL]:
36292         Add support for Solaris 10.  This isn't efficient, but should get the
36293         job done for now.
36294
36295 2007-12-03  James Youngman  <jay@gnu.org>
36296
36297         * doc/regexprops-generic.texi: change "an close-group" to "a
36298         close-group" and "illegal" to "not allowed".
36299
36300 2007-11-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36301
36302         * lib/unictype/pr_byname.c: Include unictype/pr_byname.h instead of
36303         pr_byname.h. Needed for the rare case when the maintainer has done
36304         "make maintainer-clean" in the source directory and then attempts a
36305         build outside the source directory.
36306         * lib/unictype/scripts.c: Include unictype/scripts_byname.h instead of
36307         scripts_byname.h.
36308
36309 2007-12-02  Martin Lambers <marlam@marlam.de>
36310             Bruno Haible  <bruno@clisp.org>
36311
36312         * lib/getpagesize.h: Remove file.
36313         * lib/unistd.in.h: Include declaration of getpagesize here.
36314         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Renamed from gl_GETPAGESIZE.
36315         Invoke gl_UNISTD_H_DEFAULTS. Set HAVE_GETPAGESIZE, HAVE_OS_H,
36316         HAVE_SYS_PARAM_H.
36317         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETPAGESIZE,
36318         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
36319         * modules/getpagesize (Files): Remove lib/getpagesize.h.
36320         (Depends-on): Add unistd.
36321         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
36322         (Include): Use <unistd.h> instead of getpagesize.h.
36323         * modules/unistd (Makefile.am): Substitute also GNULIB_GETPAGESIZE,
36324         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
36325         * m4/pagealign_alloc.m4 (gl_PREREQ_PAGEALIGN_ALLOC): Remove
36326         gl_GETPAGESIZE invocation, already handled by module dependency.
36327         * lib/pagealign_alloc.c: Don't include getpagesize.h.
36328
36329 2007-12-02  Bruno Haible  <bruno@clisp.org>
36330
36331         * modules/strings-tests: New file.
36332         * tests/test-strings.c: New file.
36333
36334         Move declarations of str{,n}casecmp from <string.h> to <strings.h>.
36335         * lib/strings.in.h: New file.
36336         * lib/string.in.h (strcasecmp, strncasecmp): Remove declarations.
36337         * m4/strings_h.m4: New file.
36338         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Remove initialization
36339         of HAVE_STRCASECMP, HAVE_DECL_STRNCASECMP.
36340         * modules/strings: New file.
36341         * modules/string (Makefile.am): Update.
36342         * modules/strcase (Include): Mention <strings.h>, not <string.h>.
36343         Reported by Karl Berry.
36344
36345 2007-12-01  Eric Blake  <ebb9@byu.net>
36346
36347         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Rewrite to
36348         accomodate fix in cygwin 1.5.25.
36349
36350 2007-12-01  Jim Meyering  <meyering@redhat.com>
36351
36352         Fix a bug that inhibited much of the utf8-optimization in regcomp.c.
36353         * lib/regcomp.c (optimize_utf8): Fix a typo, s/idx/ctx_type/,
36354         that would inhibit utf8-optimization of a regexp containing line-
36355         or buffer-anchors, e.g., `^', `$'.
36356
36357 2007-11-30  Bruno Haible  <bruno@clisp.org>
36358
36359         * lib/lock.h (gl_recursive_lock_init) [PTHREAD &&
36360         PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Call
36361         glthread_recursive_lock_init.
36362         * lib/lock.c (glthread_recursive_lock_init)
36363         [PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: New function.
36364         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
36365
36366 2007-11-28  Paul Eggert  <eggert@cs.ucla.edu>
36367
36368         New function qset_acl, like set_acl but with syscall semantics.
36369         * lib/acl.h (qset_acl): New decl.
36370         * lib/acl.c (qset_acl): New function.
36371         (set_acl): Use new function.  Use more-consistent diagnostics.
36372
36373 2007-11-28  Jim Meyering  <meyering@redhat.com>
36374
36375         * modules/physmem (License): Change from GPL to LGPLv2+.
36376
36377 2007-11-26  Bruno Haible  <bruno@clisp.org>
36378
36379         * lib/vasnprintf.c (decode_long_double): Don't abort if the
36380         'long double' type has excess precision.
36381         Reported by Jim Meyering in
36382         <http://lists.gnu.org/archive/html/bug-gnulib/2007-11/msg00120.html>.
36383
36384 2007-11-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36385
36386         * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
36387         Sync from <http://gnu.org/licenses>.
36388         * modules/agpl-3.0, doc/agpl-3.0.texi: New module,
36389         with license text from same location.
36390         * doc/maintain.texi, doc/standards.texi:  Sync from
36391         <http://savannah.gnu.org/projects/gnustandards>.
36392
36393 2007-11-22  OndÅ™ej Vašík  <ovasik@redhat.com>
36394         and Jim Meyering  <meyering@redhat.com>
36395
36396         Adjust getdate' grammar to accept a slightly more regular language.
36397         E.g., accept "YYYYMMDD +N days" as well as "YYYYMMDD N days".
36398         Before, the former was rejected.
36399         * lib/getdate.y (digits_to_date_time): New function, factored
36400         out of ...
36401         (number): ...here.  Just call digits_to_date_time.
36402         (hybrid): New non-terminal to handle an <unsigned number,
36403         signed relative offset> sequence consistently.
36404
36405 2007-11-18  Jim Meyering  <meyering@redhat.com>
36406
36407         Pull my changes from coreutils:
36408         bootstrap: fix typo to enable use of $gnulib_tool_option_extras.
36409         * build-aux/bootstrap (gnulib_tool_options): Add a space before the
36410         use of $gnulib_tool_option_extras, so that it's separated from the
36411         preceding argument.
36412
36413         Fix bootstrap failure to handle files like lib/uniwidth/cjk.h.
36414         * build-aux/bootstrap (cp_mark_as_generated): Create any required
36415         parent destination directories before copying a file into place.
36416
36417 2007-11-18  Sergey Poznyakoff  <gray@gnu.org.ua>
36418
36419         bootstrap: work also with 4-argument variant of AC_INIT
36420         * build-aux/bootstrap (gnulib_extra_files): Adjust sed command.
36421
36422 2007-11-16  Paul Eggert  <eggert@cs.ucla.edu>
36423
36424         Port test-getaddrinfo to Solaris.
36425         Problem reported by Bruno Haible in
36426         <http://lists.gnu.org/archive/html/bug-gnulib/2007-03/msg00171.html>.
36427         * tests/test-getaddrinfo.c (simple): Add a comment asking for an
36428         explanation of setting 'hints'.
36429         Don't reject an implementation merely because it returns EAI_SERVICE.
36430         (EAI_SERVICE): Define to 0 if not defined.
36431
36432 2007-11-15  Paul Eggert  <eggert@cs.ucla.edu>
36433
36434         The license of gnu-make and posix-shell is now "GPLed build tool".
36435         * modules/gnu-make (License): Likewise.
36436         * modules/posix-shell (License): Likewise.
36437
36438         New module posix-shell, for determining a POSIX shell
36439         or perhaps something that is close enough to a POSIX shell.
36440         * m4/posix-shell.m4: New file.
36441         * modules/posix-shell: New file.
36442
36443         * MODULES.html.sh: Mention new module.
36444
36445         New module gnu-make, for determining whether we're using GNU Make.
36446         * m4/gnu-make.m4: New file.
36447         * modules/gnu-make: New file.
36448         * MODULES.html.sh: Mention new module.
36449
36450 2007-11-14  Jim Meyering  <meyering@redhat.com>
36451
36452         Define a sometimes-link-required function using ARGMATCH_DIE_DECL.
36453         * tests/test-argmatch.c (ARGMATCH_DIE_DECL): When defined,
36454         use this macro to create a function _definition_.
36455         Remove useless "#undef ARGMATCH_DIE".
36456
36457 2007-11-14  Bruno Haible  <bruno@clisp.org>
36458
36459         * lib/config.charset: Update for OpenBSD 4.1.
36460         Reported and helped by Ben Pfaff <blp@cs.stanford.edu>.
36461
36462 2007-11-12  Paul Eggert  <eggert@cs.ucla.edu>
36463
36464         Document 64-bit #if problems in stdint.texi.
36465         * doc/headers/stdint.texi (stdint.h): Mention problems with
36466         64-bit-#if, and how to work around them.
36467
36468         Don't insist on 'long long int' support in the preprocessor.  It
36469         breaks too many things.  For example, PRIdMAX still uses a 'long
36470         long int' format with the latest Sun compiler, even though
36471         HAVE_LONG_LONG_INT isn't defined due to that compiler's
36472         preprocessor problem.  This causes the latest coreutils to dump
36473         core on Solaris 10 sparc with the Sun C compiler.
36474         Instead, fix the 2007-10-16 problem in a different way, by evaluating
36475         the troublesome expressions at configure-time, not at #if-time.
36476         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): Don't test the
36477         preprocessor.
36478         * m4/inttypes.m4 (gl_INTTYPES_H): Move the #if checks into
36479         compile-time C checks, done at 'configure'-time.
36480         (gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION): New macro.
36481         * modules/inttypes (Makefile): Substitute the new symbols that
36482         gl_INTTYPES_H now generates.
36483         * lib/inttypes.in.h: Don't use constants wider than 'long' in #if.
36484
36485 2007-11-12  Bruno Haible  <bruno@clisp.org>
36486
36487         Tests for Unicode character classification functions.
36488
36489         * modules/unictype/bidicategory-byname-tests: New file.
36490         * modules/unictype/bidicategory-name-tests: New file.
36491         * modules/unictype/bidicategory-of-tests: New file.
36492         * modules/unictype/bidicategory-test-tests: New file.
36493         * modules/unictype/block-list-tests: New file.
36494         * modules/unictype/block-of-tests: New file.
36495         * modules/unictype/block-test-tests: New file.
36496         * modules/unictype/category-C-tests: New file.
36497         * modules/unictype/category-Cc-tests: New file.
36498         * modules/unictype/category-Cf-tests: New file.
36499         * modules/unictype/category-Cn-tests: New file.
36500         * modules/unictype/category-Co-tests: New file.
36501         * modules/unictype/category-Cs-tests: New file.
36502         * modules/unictype/category-L-tests: New file.
36503         * modules/unictype/category-Ll-tests: New file.
36504         * modules/unictype/category-Lm-tests: New file.
36505         * modules/unictype/category-Lo-tests: New file.
36506         * modules/unictype/category-Lt-tests: New file.
36507         * modules/unictype/category-Lu-tests: New file.
36508         * modules/unictype/category-M-tests: New file.
36509         * modules/unictype/category-Mc-tests: New file.
36510         * modules/unictype/category-Me-tests: New file.
36511         * modules/unictype/category-Mn-tests: New file.
36512         * modules/unictype/category-N-tests: New file.
36513         * modules/unictype/category-Nd-tests: New file.
36514         * modules/unictype/category-Nl-tests: New file.
36515         * modules/unictype/category-No-tests: New file.
36516         * modules/unictype/category-P-tests: New file.
36517         * modules/unictype/category-Pc-tests: New file.
36518         * modules/unictype/category-Pd-tests: New file.
36519         * modules/unictype/category-Pe-tests: New file.
36520         * modules/unictype/category-Pf-tests: New file.
36521         * modules/unictype/category-Pi-tests: New file.
36522         * modules/unictype/category-Po-tests: New file.
36523         * modules/unictype/category-Ps-tests: New file.
36524         * modules/unictype/category-S-tests: New file.
36525         * modules/unictype/category-Sc-tests: New file.
36526         * modules/unictype/category-Sk-tests: New file.
36527         * modules/unictype/category-Sm-tests: New file.
36528         * modules/unictype/category-So-tests: New file.
36529         * modules/unictype/category-Z-tests: New file.
36530         * modules/unictype/category-Zl-tests: New file.
36531         * modules/unictype/category-Zp-tests: New file.
36532         * modules/unictype/category-Zs-tests: New file.
36533         * modules/unictype/category-and-not-tests: New file.
36534         * modules/unictype/category-and-tests: New file.
36535         * modules/unictype/category-byname-tests: New file.
36536         * modules/unictype/category-name-tests: New file.
36537         * modules/unictype/category-none-tests: New file.
36538         * modules/unictype/category-of-tests: New file.
36539         * modules/unictype/category-or-tests: New file.
36540         * modules/unictype/category-test-withtable-tests: New file.
36541         * modules/unictype/combining-class-tests: New file.
36542         * modules/unictype/ctype-alnum-tests: New file.
36543         * modules/unictype/ctype-alpha-tests: New file.
36544         * modules/unictype/ctype-blank-tests: New file.
36545         * modules/unictype/ctype-cntrl-tests: New file.
36546         * modules/unictype/ctype-digit-tests: New file.
36547         * modules/unictype/ctype-graph-tests: New file.
36548         * modules/unictype/ctype-lower-tests: New file.
36549         * modules/unictype/ctype-print-tests: New file.
36550         * modules/unictype/ctype-punct-tests: New file.
36551         * modules/unictype/ctype-space-tests: New file.
36552         * modules/unictype/ctype-upper-tests: New file.
36553         * modules/unictype/ctype-xdigit-tests: New file.
36554         * modules/unictype/decimal-digit-tests: New file.
36555         * modules/unictype/digit-tests: New file.
36556         * modules/unictype/mirror-tests: New file.
36557         * modules/unictype/numeric-tests: New file.
36558         * modules/unictype/property-alphabetic-tests: New file.
36559         * modules/unictype/property-ascii-hex-digit-tests: New file.
36560         * modules/unictype/property-bidi-arabic-digit-tests: New file.
36561         * modules/unictype/property-bidi-arabic-right-to-left-tests: New file.
36562         * modules/unictype/property-bidi-block-separator-tests: New file.
36563         * modules/unictype/property-bidi-boundary-neutral-tests: New file.
36564         * modules/unictype/property-bidi-common-separator-tests: New file.
36565         * modules/unictype/property-bidi-control-tests: New file.
36566         * modules/unictype/property-bidi-embedding-or-override-tests: New file.
36567         * modules/unictype/property-bidi-eur-num-separator-tests: New file.
36568         * modules/unictype/property-bidi-eur-num-terminator-tests: New file.
36569         * modules/unictype/property-bidi-european-digit-tests: New file.
36570         * modules/unictype/property-bidi-hebrew-right-to-left-tests: New file.
36571         * modules/unictype/property-bidi-left-to-right-tests: New file.
36572         * modules/unictype/property-bidi-non-spacing-mark-tests: New file.
36573         * modules/unictype/property-bidi-other-neutral-tests: New file.
36574         * modules/unictype/property-bidi-pdf-tests: New file.
36575         * modules/unictype/property-bidi-segment-separator-tests: New file.
36576         * modules/unictype/property-bidi-whitespace-tests: New file.
36577         * modules/unictype/property-byname-tests: New file.
36578         * modules/unictype/property-combining-tests: New file.
36579         * modules/unictype/property-composite-tests: New file.
36580         * modules/unictype/property-currency-symbol-tests: New file.
36581         * modules/unictype/property-dash-tests: New file.
36582         * modules/unictype/property-decimal-digit-tests: New file.
36583         * modules/unictype/property-default-ignorable-code-point-tests: New file.
36584         * modules/unictype/property-deprecated-tests: New file.
36585         * modules/unictype/property-diacritic-tests: New file.
36586         * modules/unictype/property-extender-tests: New file.
36587         * modules/unictype/property-format-control-tests: New file.
36588         * modules/unictype/property-grapheme-base-tests: New file.
36589         * modules/unictype/property-grapheme-extend-tests: New file.
36590         * modules/unictype/property-grapheme-link-tests: New file.
36591         * modules/unictype/property-hex-digit-tests: New file.
36592         * modules/unictype/property-hyphen-tests: New file.
36593         * modules/unictype/property-id-continue-tests: New file.
36594         * modules/unictype/property-id-start-tests: New file.
36595         * modules/unictype/property-ideographic-tests: New file.
36596         * modules/unictype/property-ids-binary-operator-tests: New file.
36597         * modules/unictype/property-ids-trinary-operator-tests: New file.
36598         * modules/unictype/property-ignorable-control-tests: New file.
36599         * modules/unictype/property-iso-control-tests: New file.
36600         * modules/unictype/property-join-control-tests: New file.
36601         * modules/unictype/property-left-of-pair-tests: New file.
36602         * modules/unictype/property-line-separator-tests: New file.
36603         * modules/unictype/property-logical-order-exception-tests: New file.
36604         * modules/unictype/property-lowercase-tests: New file.
36605         * modules/unictype/property-math-tests: New file.
36606         * modules/unictype/property-non-break-tests: New file.
36607         * modules/unictype/property-not-a-character-tests: New file.
36608         * modules/unictype/property-numeric-tests: New file.
36609         * modules/unictype/property-other-alphabetic-tests: New file.
36610         * modules/unictype/property-other-default-ignorable-code-point-tests: New file.
36611         * modules/unictype/property-other-grapheme-extend-tests: New file.
36612         * modules/unictype/property-other-id-continue-tests: New file.
36613         * modules/unictype/property-other-id-start-tests: New file.
36614         * modules/unictype/property-other-lowercase-tests: New file.
36615         * modules/unictype/property-other-math-tests: New file.
36616         * modules/unictype/property-other-uppercase-tests: New file.
36617         * modules/unictype/property-paired-punctuation-tests: New file.
36618         * modules/unictype/property-paragraph-separator-tests: New file.
36619         * modules/unictype/property-pattern-syntax-tests: New file.
36620         * modules/unictype/property-pattern-white-space-tests: New file.
36621         * modules/unictype/property-private-use-tests: New file.
36622         * modules/unictype/property-punctuation-tests: New file.
36623         * modules/unictype/property-quotation-mark-tests: New file.
36624         * modules/unictype/property-radical-tests: New file.
36625         * modules/unictype/property-sentence-terminal-tests: New file.
36626         * modules/unictype/property-soft-dotted-tests: New file.
36627         * modules/unictype/property-space-tests: New file.
36628         * modules/unictype/property-terminal-punctuation-tests: New file.
36629         * modules/unictype/property-test-tests: New file.
36630         * modules/unictype/property-titlecase-tests: New file.
36631         * modules/unictype/property-unassigned-code-value-tests: New file.
36632         * modules/unictype/property-unified-ideograph-tests: New file.
36633         * modules/unictype/property-uppercase-tests: New file.
36634         * modules/unictype/property-variation-selector-tests: New file.
36635         * modules/unictype/property-white-space-tests: New file.
36636         * modules/unictype/property-xid-continue-tests: New file.
36637         * modules/unictype/property-xid-start-tests: New file.
36638         * modules/unictype/property-zero-width-tests: New file.
36639         * modules/unictype/scripts-tests: New file.
36640         * modules/unictype/syntax-c-ident-tests: New file.
36641         * modules/unictype/syntax-c-whitespace-tests: New file.
36642         * modules/unictype/syntax-java-ident-tests: New file.
36643         * modules/unictype/syntax-java-whitespace-tests: New file.
36644         * tests/unictype/test-bidi_byname.c: New file.
36645         * tests/unictype/test-bidi_name.c: New file.
36646         * tests/unictype/test-bidi_of.c: New file.
36647         * tests/unictype/test-bidi_test.c: New file.
36648         * tests/unictype/test-block_list.c: New file.
36649         * tests/unictype/test-block_of.c: New file.
36650         * tests/unictype/test-block_test.c: New file.
36651         * tests/unictype/test-categ_and.c: New file.
36652         * tests/unictype/test-categ_and_not.c: New file.
36653         * tests/unictype/test-categ_byname.c: New file.
36654         * tests/unictype/test-categ_name.c: New file.
36655         * tests/unictype/test-categ_none.c: New file.
36656         * tests/unictype/test-categ_of.c: New file.
36657         * tests/unictype/test-categ_or.c: New file.
36658         * tests/unictype/test-categ_test_withtable.c: New file.
36659         * tests/unictype/test-combining.c: New file.
36660         * tests/unictype/test-decdigit.c: New file.
36661         * tests/unictype/test-digit.c: New file.
36662         * tests/unictype/test-mirror.c: New file.
36663         * tests/unictype/test-numeric.c: New file.
36664         * tests/unictype/test-pr_byname.c: New file.
36665         * tests/unictype/test-pr_test.c: New file.
36666         * tests/unictype/test-predicate-part1.h: New file.
36667         * tests/unictype/test-predicate-part2.h: New file.
36668         * tests/unictype/test-scripts.c: New file.
36669         * tests/unictype/test-sy_c_ident.c: New file.
36670         * tests/unictype/test-sy_java_ident.c: New file.
36671
36672         * tests/unictype/test-categ_C.c: New file, generated by gen-ctype.c
36673         for Unicode 5.0.0.
36674         * tests/unictype/test-categ_Cc.c: Likewise.
36675         * tests/unictype/test-categ_Cf.c: Likewise.
36676         * tests/unictype/test-categ_Cn.c: Likewise.
36677         * tests/unictype/test-categ_Co.c: Likewise.
36678         * tests/unictype/test-categ_Cs.c: Likewise.
36679         * tests/unictype/test-categ_L.c: Likewise.
36680         * tests/unictype/test-categ_Ll.c: Likewise.
36681         * tests/unictype/test-categ_Lm.c: Likewise.
36682         * tests/unictype/test-categ_Lo.c: Likewise.
36683         * tests/unictype/test-categ_Lt.c: Likewise.
36684         * tests/unictype/test-categ_Lu.c: Likewise.
36685         * tests/unictype/test-categ_M.c: Likewise.
36686         * tests/unictype/test-categ_Mc.c: Likewise.
36687         * tests/unictype/test-categ_Me.c: Likewise.
36688         * tests/unictype/test-categ_Mn.c: Likewise.
36689         * tests/unictype/test-categ_N.c: Likewise.
36690         * tests/unictype/test-categ_Nd.c: Likewise.
36691         * tests/unictype/test-categ_Nl.c: Likewise.
36692         * tests/unictype/test-categ_No.c: Likewise.
36693         * tests/unictype/test-categ_P.c: Likewise.
36694         * tests/unictype/test-categ_Pc.c: Likewise.
36695         * tests/unictype/test-categ_Pd.c: Likewise.
36696         * tests/unictype/test-categ_Pe.c: Likewise.
36697         * tests/unictype/test-categ_Pf.c: Likewise.
36698         * tests/unictype/test-categ_Pi.c: Likewise.
36699         * tests/unictype/test-categ_Po.c: Likewise.
36700         * tests/unictype/test-categ_Ps.c: Likewise.
36701         * tests/unictype/test-categ_S.c: Likewise.
36702         * tests/unictype/test-categ_Sc.c: Likewise.
36703         * tests/unictype/test-categ_Sk.c: Likewise.
36704         * tests/unictype/test-categ_Sm.c: Likewise.
36705         * tests/unictype/test-categ_So.c: Likewise.
36706         * tests/unictype/test-categ_Z.c: Likewise.
36707         * tests/unictype/test-categ_Zl.c: Likewise.
36708         * tests/unictype/test-categ_Zp.c: Likewise.
36709         * tests/unictype/test-categ_Zs.c: Likewise.
36710         * tests/unictype/test-ctype_alnum.c: Likewise.
36711         * tests/unictype/test-ctype_alpha.c: Likewise.
36712         * tests/unictype/test-ctype_blank.c: Likewise.
36713         * tests/unictype/test-ctype_cntrl.c: Likewise.
36714         * tests/unictype/test-ctype_digit.c: Likewise.
36715         * tests/unictype/test-ctype_graph.c: Likewise.
36716         * tests/unictype/test-ctype_lower.c: Likewise.
36717         * tests/unictype/test-ctype_print.c: Likewise.
36718         * tests/unictype/test-ctype_punct.c: Likewise.
36719         * tests/unictype/test-ctype_space.c: Likewise.
36720         * tests/unictype/test-ctype_upper.c: Likewise.
36721         * tests/unictype/test-ctype_xdigit.c: Likewise.
36722         * tests/unictype/test-decdigit.h: Likewise.
36723         * tests/unictype/test-digit.h: Likewise.
36724         * tests/unictype/test-numeric.h: Likewise.
36725         * tests/unictype/test-pr_alphabetic.c: Likewise.
36726         * tests/unictype/test-pr_ascii_hex_digit.c: Likewise.
36727         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
36728         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
36729         * tests/unictype/test-pr_bidi_block_separator.c: Likewise.
36730         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
36731         * tests/unictype/test-pr_bidi_common_separator.c: Likewise.
36732         * tests/unictype/test-pr_bidi_control.c: Likewise.
36733         * tests/unictype/test-pr_bidi_embedding_or_override.c: Likewise.
36734         * tests/unictype/test-pr_bidi_eur_num_separator.c: Likewise.
36735         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
36736         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
36737         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
36738         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
36739         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
36740         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
36741         * tests/unictype/test-pr_bidi_pdf.c: Likewise.
36742         * tests/unictype/test-pr_bidi_segment_separator.c: Likewise.
36743         * tests/unictype/test-pr_bidi_whitespace.c: Likewise.
36744         * tests/unictype/test-pr_combining.c: Likewise.
36745         * tests/unictype/test-pr_composite.c: Likewise.
36746         * tests/unictype/test-pr_currency_symbol.c: Likewise.
36747         * tests/unictype/test-pr_dash.c: Likewise.
36748         * tests/unictype/test-pr_decimal_digit.c: Likewise.
36749         * tests/unictype/test-pr_default_ignorable_code_point.c: Likewise.
36750         * tests/unictype/test-pr_deprecated.c: Likewise.
36751         * tests/unictype/test-pr_diacritic.c: Likewise.
36752         * tests/unictype/test-pr_extender.c: Likewise.
36753         * tests/unictype/test-pr_format_control.c: Likewise.
36754         * tests/unictype/test-pr_grapheme_base.c: Likewise.
36755         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
36756         * tests/unictype/test-pr_grapheme_link.c: Likewise.
36757         * tests/unictype/test-pr_hex_digit.c: Likewise.
36758         * tests/unictype/test-pr_hyphen.c: Likewise.
36759         * tests/unictype/test-pr_id_continue.c: Likewise.
36760         * tests/unictype/test-pr_id_start.c: Likewise.
36761         * tests/unictype/test-pr_ideographic.c: Likewise.
36762         * tests/unictype/test-pr_ids_binary_operator.c: Likewise.
36763         * tests/unictype/test-pr_ids_trinary_operator.c: Likewise.
36764         * tests/unictype/test-pr_ignorable_control.c: Likewise.
36765         * tests/unictype/test-pr_iso_control.c: Likewise.
36766         * tests/unictype/test-pr_join_control.c: Likewise.
36767         * tests/unictype/test-pr_left_of_pair.c: Likewise.
36768         * tests/unictype/test-pr_line_separator.c: Likewise.
36769         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
36770         * tests/unictype/test-pr_lowercase.c: Likewise.
36771         * tests/unictype/test-pr_math.c: Likewise.
36772         * tests/unictype/test-pr_non_break.c: Likewise.
36773         * tests/unictype/test-pr_not_a_character.c: Likewise.
36774         * tests/unictype/test-pr_numeric.c: Likewise.
36775         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
36776         * tests/unictype/test-pr_other_default_ignorable_code_point.c: Likewise.
36777         * tests/unictype/test-pr_other_grapheme_extend.c: Likewise.
36778         * tests/unictype/test-pr_other_id_continue.c: Likewise.
36779         * tests/unictype/test-pr_other_id_start.c: Likewise.
36780         * tests/unictype/test-pr_other_lowercase.c: Likewise.
36781         * tests/unictype/test-pr_other_math.c: Likewise.
36782         * tests/unictype/test-pr_other_uppercase.c: Likewise.
36783         * tests/unictype/test-pr_paired_punctuation.c: Likewise.
36784         * tests/unictype/test-pr_paragraph_separator.c: Likewise.
36785         * tests/unictype/test-pr_pattern_syntax.c: Likewise.
36786         * tests/unictype/test-pr_pattern_white_space.c: Likewise.
36787         * tests/unictype/test-pr_private_use.c: Likewise.
36788         * tests/unictype/test-pr_punctuation.c: Likewise.
36789         * tests/unictype/test-pr_quotation_mark.c: Likewise.
36790         * tests/unictype/test-pr_radical.c: Likewise.
36791         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
36792         * tests/unictype/test-pr_soft_dotted.c: Likewise.
36793         * tests/unictype/test-pr_space.c: Likewise.
36794         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
36795         * tests/unictype/test-pr_titlecase.c: Likewise.
36796         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
36797         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
36798         * tests/unictype/test-pr_uppercase.c: Likewise.
36799         * tests/unictype/test-pr_variation_selector.c: Likewise.
36800         * tests/unictype/test-pr_white_space.c: Likewise.
36801         * tests/unictype/test-pr_xid_continue.c: Likewise.
36802         * tests/unictype/test-pr_xid_start.c: Likewise.
36803         * tests/unictype/test-pr_zero_width.c: Likewise.
36804         * tests/unictype/test-sy_c_whitespace.c: Likewise.
36805         * tests/unictype/test-sy_java_whitespace.c: Likewise.
36806
36807 2007-11-12  Bruno Haible  <bruno@clisp.org>
36808
36809         Unicode character classification functions.
36810         * lib/unictype.h: New file.
36811         * modules/unictype/base: New file.
36812         * modules/unictype/category-L: New file.
36813         * modules/unictype/category-Lu: New file.
36814         * modules/unictype/category-Ll: New file.
36815         * modules/unictype/category-Lt: New file.
36816         * modules/unictype/category-Lm: New file.
36817         * modules/unictype/category-Lo: New file.
36818         * modules/unictype/category-M: New file.
36819         * modules/unictype/category-Mn: New file.
36820         * modules/unictype/category-Mc: New file.
36821         * modules/unictype/category-Me: New file.
36822         * modules/unictype/category-N: New file.
36823         * modules/unictype/category-Nd: New file.
36824         * modules/unictype/category-Nl: New file.
36825         * modules/unictype/category-No: New file.
36826         * modules/unictype/category-P: New file.
36827         * modules/unictype/category-Pc: New file.
36828         * modules/unictype/category-Pd: New file.
36829         * modules/unictype/category-Ps: New file.
36830         * modules/unictype/category-Pe: New file.
36831         * modules/unictype/category-Pi: New file.
36832         * modules/unictype/category-Pf: New file.
36833         * modules/unictype/category-Po: New file.
36834         * modules/unictype/category-S: New file.
36835         * modules/unictype/category-Sm: New file.
36836         * modules/unictype/category-Sc: New file.
36837         * modules/unictype/category-Sk: New file.
36838         * modules/unictype/category-So: New file.
36839         * modules/unictype/category-Z: New file.
36840         * modules/unictype/category-Zs: New file.
36841         * modules/unictype/category-Zl: New file.
36842         * modules/unictype/category-Zp: New file.
36843         * modules/unictype/category-C: New file.
36844         * modules/unictype/category-Cc: New file.
36845         * modules/unictype/category-Cf: New file.
36846         * modules/unictype/category-Cs: New file.
36847         * modules/unictype/category-Co: New file.
36848         * modules/unictype/category-Cn: New file.
36849         * modules/unictype/category-or: New file.
36850         * modules/unictype/category-of: New file.
36851         * modules/unictype/category-test: New file.
36852         * modules/unictype/category-test-withtable: New file.
36853         * modules/unictype/category-byname: New file.
36854         * modules/unictype/category-none: New file.
36855         * modules/unictype/category-and: New file.
36856         * modules/unictype/category-and-not: New file.
36857         * modules/unictype/category-name: New file.
36858         * modules/unictype/combining-class: New file.
36859         * modules/unictype/category-all: New file.
36860         * modules/unictype/bidicategory-all: New file.
36861         * modules/unictype/bidicategory-byname: New file.
36862         * modules/unictype/bidicategory-name: New file.
36863         * modules/unictype/bidicategory-of: New file.
36864         * modules/unictype/bidicategory-test: New file.
36865         * modules/unictype/decimal-digit: New file.
36866         * modules/unictype/digit: New file.
36867         * modules/unictype/numeric: New file.
36868         * modules/unictype/mirror: New file.
36869         * modules/unictype/property-white-space: New file.
36870         * modules/unictype/property-alphabetic: New file.
36871         * modules/unictype/property-other-alphabetic: New file.
36872         * modules/unictype/property-not-a-character: New file.
36873         * modules/unictype/property-default-ignorable-code-point: New file.
36874         * modules/unictype/property-other-default-ignorable-code-point: New
36875         file.
36876         * modules/unictype/property-deprecated: New file.
36877         * modules/unictype/property-logical-order-exception: New file.
36878         * modules/unictype/property-variation-selector: New file.
36879         * modules/unictype/property-private-use: New file.
36880         * modules/unictype/property-unassigned-code-value: New file.
36881         * modules/unictype/property-uppercase: New file.
36882         * modules/unictype/property-other-uppercase: New file.
36883         * modules/unictype/property-lowercase: New file.
36884         * modules/unictype/property-other-lowercase: New file.
36885         * modules/unictype/property-titlecase: New file.
36886         * modules/unictype/property-soft-dotted: New file.
36887         * modules/unictype/property-id-start: New file.
36888         * modules/unictype/property-other-id-start: New file.
36889         * modules/unictype/property-id-continue: New file.
36890         * modules/unictype/property-other-id-continue: New file.
36891         * modules/unictype/property-xid-start: New file.
36892         * modules/unictype/property-xid-continue: New file.
36893         * modules/unictype/property-pattern-white-space: New file.
36894         * modules/unictype/property-pattern-syntax: New file.
36895         * modules/unictype/property-join-control: New file.
36896         * modules/unictype/property-grapheme-base: New file.
36897         * modules/unictype/property-grapheme-extend: New file.
36898         * modules/unictype/property-other-grapheme-extend: New file.
36899         * modules/unictype/property-grapheme-link: New file.
36900         * modules/unictype/property-bidi-control: New file.
36901         * modules/unictype/property-bidi-left-to-right: New file.
36902         * modules/unictype/property-bidi-hebrew-right-to-left: New file.
36903         * modules/unictype/property-bidi-arabic-right-to-left: New file.
36904         * modules/unictype/property-bidi-european-digit: New file.
36905         * modules/unictype/property-bidi-eur-num-separator: New file.
36906         * modules/unictype/property-bidi-eur-num-terminator: New file.
36907         * modules/unictype/property-bidi-arabic-digit: New file.
36908         * modules/unictype/property-bidi-common-separator: New file.
36909         * modules/unictype/property-bidi-block-separator: New file.
36910         * modules/unictype/property-bidi-segment-separator: New file.
36911         * modules/unictype/property-bidi-whitespace: New file.
36912         * modules/unictype/property-bidi-non-spacing-mark: New file.
36913         * modules/unictype/property-bidi-boundary-neutral: New file.
36914         * modules/unictype/property-bidi-pdf: New file.
36915         * modules/unictype/property-bidi-embedding-or-override: New file.
36916         * modules/unictype/property-bidi-other-neutral: New file.
36917         * modules/unictype/property-hex-digit: New file.
36918         * modules/unictype/property-ascii-hex-digit: New file.
36919         * modules/unictype/property-ideographic: New file.
36920         * modules/unictype/property-unified-ideograph: New file.
36921         * modules/unictype/property-radical: New file.
36922         * modules/unictype/property-ids-binary-operator: New file.
36923         * modules/unictype/property-ids-trinary-operator: New file.
36924         * modules/unictype/property-zero-width: New file.
36925         * modules/unictype/property-space: New file.
36926         * modules/unictype/property-non-break: New file.
36927         * modules/unictype/property-iso-control: New file.
36928         * modules/unictype/property-format-control: New file.
36929         * modules/unictype/property-dash: New file.
36930         * modules/unictype/property-hyphen: New file.
36931         * modules/unictype/property-punctuation: New file.
36932         * modules/unictype/property-line-separator: New file.
36933         * modules/unictype/property-paragraph-separator: New file.
36934         * modules/unictype/property-quotation-mark: New file.
36935         * modules/unictype/property-sentence-terminal: New file.
36936         * modules/unictype/property-terminal-punctuation: New file.
36937         * modules/unictype/property-currency-symbol: New file.
36938         * modules/unictype/property-math: New file.
36939         * modules/unictype/property-other-math: New file.
36940         * modules/unictype/property-paired-punctuation: New file.
36941         * modules/unictype/property-left-of-pair: New file.
36942         * modules/unictype/property-combining: New file.
36943         * modules/unictype/property-composite: New file.
36944         * modules/unictype/property-decimal-digit: New file.
36945         * modules/unictype/property-numeric: New file.
36946         * modules/unictype/property-diacritic: New file.
36947         * modules/unictype/property-extender: New file.
36948         * modules/unictype/property-ignorable-control: New file.
36949         * modules/unictype/property-test: New file.
36950         * modules/unictype/property-byname: New file.
36951         * modules/unictype/property-all: New file.
36952         * modules/unictype/scripts: New file.
36953         * modules/unictype/scripts-all: New file.
36954         * modules/unictype/block-of: New file.
36955         * modules/unictype/block-test: New file.
36956         * modules/unictype/block-list: New file.
36957         * modules/unictype/block-all: New file.
36958         * modules/unictype/syntax-c-whitespace: New file.
36959         * modules/unictype/syntax-java-whitespace: New file.
36960         * modules/unictype/syntax-c-ident: New file.
36961         * modules/unictype/syntax-java-ident: New file.
36962         * modules/unictype/ctype-alnum: New file.
36963         * modules/unictype/ctype-alpha: New file.
36964         * modules/unictype/ctype-cntrl: New file.
36965         * modules/unictype/ctype-digit: New file.
36966         * modules/unictype/ctype-graph: New file.
36967         * modules/unictype/ctype-lower: New file.
36968         * modules/unictype/ctype-print: New file.
36969         * modules/unictype/ctype-punct: New file.
36970         * modules/unictype/ctype-space: New file.
36971         * modules/unictype/ctype-upper: New file.
36972         * modules/unictype/ctype-xdigit: New file.
36973         * modules/unictype/ctype-blank: New file.
36974         * lib/unictype/bidi_byname.c: New file.
36975         * lib/unictype/bidi_name.c: New file.
36976         * lib/unictype/bidi_of.c: New file.
36977         * lib/unictype/bidi_test.c: New file.
36978         * lib/unictype/bitmap.h: New file.
36979         * lib/unictype/block_test.c: New file.
36980         * lib/unictype/blocks.c: New file.
36981         * lib/unictype/categ_C.c: New file.
36982         * lib/unictype/categ_Cc.c: New file.
36983         * lib/unictype/categ_Cf.c: New file.
36984         * lib/unictype/categ_Cn.c: New file.
36985         * lib/unictype/categ_Co.c: New file.
36986         * lib/unictype/categ_Cs.c: New file.
36987         * lib/unictype/categ_L.c: New file.
36988         * lib/unictype/categ_Ll.c: New file.
36989         * lib/unictype/categ_Lm.c: New file.
36990         * lib/unictype/categ_Lo.c: New file.
36991         * lib/unictype/categ_Lt.c: New file.
36992         * lib/unictype/categ_Lu.c: New file.
36993         * lib/unictype/categ_M.c: New file.
36994         * lib/unictype/categ_Mc.c: New file.
36995         * lib/unictype/categ_Me.c: New file.
36996         * lib/unictype/categ_Mn.c: New file.
36997         * lib/unictype/categ_N.c: New file.
36998         * lib/unictype/categ_Nd.c: New file.
36999         * lib/unictype/categ_Nl.c: New file.
37000         * lib/unictype/categ_No.c: New file.
37001         * lib/unictype/categ_P.c: New file.
37002         * lib/unictype/categ_Pc.c: New file.
37003         * lib/unictype/categ_Pd.c: New file.
37004         * lib/unictype/categ_Pe.c: New file.
37005         * lib/unictype/categ_Pf.c: New file.
37006         * lib/unictype/categ_Pi.c: New file.
37007         * lib/unictype/categ_Po.c: New file.
37008         * lib/unictype/categ_Ps.c: New file.
37009         * lib/unictype/categ_S.c: New file.
37010         * lib/unictype/categ_Sc.c: New file.
37011         * lib/unictype/categ_Sk.c: New file.
37012         * lib/unictype/categ_Sm.c: New file.
37013         * lib/unictype/categ_So.c: New file.
37014         * lib/unictype/categ_Z.c: New file.
37015         * lib/unictype/categ_Zl.c: New file.
37016         * lib/unictype/categ_Zp.c: New file.
37017         * lib/unictype/categ_Zs.c: New file.
37018         * lib/unictype/categ_and.c: New file.
37019         * lib/unictype/categ_and_not.c: New file.
37020         * lib/unictype/categ_byname.c: New file.
37021         * lib/unictype/categ_name.c: New file.
37022         * lib/unictype/categ_none.c: New file.
37023         * lib/unictype/categ_of.c: New file.
37024         * lib/unictype/categ_or.c: New file.
37025         * lib/unictype/categ_test.c: New file.
37026         * lib/unictype/combining.c: New file.
37027         * lib/unictype/ctype_alnum.c: New file.
37028         * lib/unictype/ctype_alpha.c: New file.
37029         * lib/unictype/ctype_blank.c: New file.
37030         * lib/unictype/ctype_cntrl.c: New file.
37031         * lib/unictype/ctype_digit.c: New file.
37032         * lib/unictype/ctype_graph.c: New file.
37033         * lib/unictype/ctype_lower.c: New file.
37034         * lib/unictype/ctype_print.c: New file.
37035         * lib/unictype/ctype_punct.c: New file.
37036         * lib/unictype/ctype_space.c: New file.
37037         * lib/unictype/ctype_upper.c: New file.
37038         * lib/unictype/ctype_xdigit.c: New file.
37039         * lib/unictype/decdigit.c: New file.
37040         * lib/unictype/digit.c: New file.
37041         * lib/unictype/identsyntaxmap.h: New file.
37042         * lib/unictype/mirror.c: New file.
37043         * lib/unictype/numeric.c: New file.
37044         * lib/unictype/pr_alphabetic.c: New file.
37045         * lib/unictype/pr_ascii_hex_digit.c: New file.
37046         * lib/unictype/pr_bidi_arabic_digit.c: New file.
37047         * lib/unictype/pr_bidi_arabic_right_to_left.c: New file.
37048         * lib/unictype/pr_bidi_block_separator.c: New file.
37049         * lib/unictype/pr_bidi_boundary_neutral.c: New file.
37050         * lib/unictype/pr_bidi_common_separator.c: New file.
37051         * lib/unictype/pr_bidi_control.c: New file.
37052         * lib/unictype/pr_bidi_embedding_or_override.c: New file.
37053         * lib/unictype/pr_bidi_eur_num_separator.c: New file.
37054         * lib/unictype/pr_bidi_eur_num_terminator.c: New file.
37055         * lib/unictype/pr_bidi_european_digit.c: New file.
37056         * lib/unictype/pr_bidi_hebrew_right_to_left.c: New file.
37057         * lib/unictype/pr_bidi_left_to_right.c: New file.
37058         * lib/unictype/pr_bidi_non_spacing_mark.c: New file.
37059         * lib/unictype/pr_bidi_other_neutral.c: New file.
37060         * lib/unictype/pr_bidi_pdf.c: New file.
37061         * lib/unictype/pr_bidi_segment_separator.c: New file.
37062         * lib/unictype/pr_bidi_whitespace.c: New file.
37063         * lib/unictype/pr_byname.c: New file.
37064         * lib/unictype/pr_byname.gperf: New file.
37065         * lib/unictype/pr_combining.c: New file.
37066         * lib/unictype/pr_composite.c: New file.
37067         * lib/unictype/pr_currency_symbol.c: New file.
37068         * lib/unictype/pr_dash.c: New file.
37069         * lib/unictype/pr_decimal_digit.c: New file.
37070         * lib/unictype/pr_default_ignorable_code_point.c: New file.
37071         * lib/unictype/pr_deprecated.c: New file.
37072         * lib/unictype/pr_diacritic.c: New file.
37073         * lib/unictype/pr_extender.c: New file.
37074         * lib/unictype/pr_format_control.c: New file.
37075         * lib/unictype/pr_grapheme_base.c: New file.
37076         * lib/unictype/pr_grapheme_extend.c: New file.
37077         * lib/unictype/pr_grapheme_link.c: New file.
37078         * lib/unictype/pr_hex_digit.c: New file.
37079         * lib/unictype/pr_hyphen.c: New file.
37080         * lib/unictype/pr_id_continue.c: New file.
37081         * lib/unictype/pr_id_start.c: New file.
37082         * lib/unictype/pr_ideographic.c: New file.
37083         * lib/unictype/pr_ids_binary_operator.c: New file.
37084         * lib/unictype/pr_ids_trinary_operator.c: New file.
37085         * lib/unictype/pr_ignorable_control.c: New file.
37086         * lib/unictype/pr_iso_control.c: New file.
37087         * lib/unictype/pr_join_control.c: New file.
37088         * lib/unictype/pr_left_of_pair.c: New file.
37089         * lib/unictype/pr_line_separator.c: New file.
37090         * lib/unictype/pr_logical_order_exception.c: New file.
37091         * lib/unictype/pr_lowercase.c: New file.
37092         * lib/unictype/pr_math.c: New file.
37093         * lib/unictype/pr_non_break.c: New file.
37094         * lib/unictype/pr_not_a_character.c: New file.
37095         * lib/unictype/pr_numeric.c: New file.
37096         * lib/unictype/pr_other_alphabetic.c: New file.
37097         * lib/unictype/pr_other_default_ignorable_code_point.c: New file.
37098         * lib/unictype/pr_other_grapheme_extend.c: New file.
37099         * lib/unictype/pr_other_id_continue.c: New file.
37100         * lib/unictype/pr_other_id_start.c: New file.
37101         * lib/unictype/pr_other_lowercase.c: New file.
37102         * lib/unictype/pr_other_math.c: New file.
37103         * lib/unictype/pr_other_uppercase.c: New file.
37104         * lib/unictype/pr_paired_punctuation.c: New file.
37105         * lib/unictype/pr_paragraph_separator.c: New file.
37106         * lib/unictype/pr_pattern_syntax.c: New file.
37107         * lib/unictype/pr_pattern_white_space.c: New file.
37108         * lib/unictype/pr_private_use.c: New file.
37109         * lib/unictype/pr_punctuation.c: New file.
37110         * lib/unictype/pr_quotation_mark.c: New file.
37111         * lib/unictype/pr_radical.c: New file.
37112         * lib/unictype/pr_sentence_terminal.c: New file.
37113         * lib/unictype/pr_soft_dotted.c: New file.
37114         * lib/unictype/pr_space.c: New file.
37115         * lib/unictype/pr_terminal_punctuation.c: New file.
37116         * lib/unictype/pr_test.c: New file.
37117         * lib/unictype/pr_titlecase.c: New file.
37118         * lib/unictype/pr_unassigned_code_value.c: New file.
37119         * lib/unictype/pr_unified_ideograph.c: New file.
37120         * lib/unictype/pr_uppercase.c: New file.
37121         * lib/unictype/pr_variation_selector.c: New file.
37122         * lib/unictype/pr_white_space.c: New file.
37123         * lib/unictype/pr_xid_continue.c: New file.
37124         * lib/unictype/pr_xid_start.c: New file.
37125         * lib/unictype/pr_zero_width.c: New file.
37126         * lib/unictype/scripts.c: New file.
37127         * lib/unictype/sy_c_ident.c: New file.
37128         * lib/unictype/sy_c_whitespace.c: New file.
37129         * lib/unictype/sy_java_ident.c: New file.
37130         * lib/unictype/sy_java_whitespace.c: New file.
37131
37132         * lib/unictype/bidi_of.h: New file, generated by gen-ctype.c for
37133         Unicode 5.0.0.
37134         * lib/unictype/blocks.h: Likewise.
37135         * lib/unictype/categ_C.h: Likewise.
37136         * lib/unictype/categ_Cc.h: Likewise.
37137         * lib/unictype/categ_Cf.h: Likewise.
37138         * lib/unictype/categ_Cn.h: Likewise.
37139         * lib/unictype/categ_Co.h: Likewise.
37140         * lib/unictype/categ_Cs.h: Likewise.
37141         * lib/unictype/categ_L.h: Likewise.
37142         * lib/unictype/categ_Ll.h: Likewise.
37143         * lib/unictype/categ_Lm.h: Likewise.
37144         * lib/unictype/categ_Lo.h: Likewise.
37145         * lib/unictype/categ_Lt.h: Likewise.
37146         * lib/unictype/categ_Lu.h: Likewise.
37147         * lib/unictype/categ_M.h: Likewise.
37148         * lib/unictype/categ_Mc.h: Likewise.
37149         * lib/unictype/categ_Me.h: Likewise.
37150         * lib/unictype/categ_Mn.h: Likewise.
37151         * lib/unictype/categ_N.h: Likewise.
37152         * lib/unictype/categ_Nd.h: Likewise.
37153         * lib/unictype/categ_Nl.h: Likewise.
37154         * lib/unictype/categ_No.h: Likewise.
37155         * lib/unictype/categ_P.h: Likewise.
37156         * lib/unictype/categ_Pc.h: Likewise.
37157         * lib/unictype/categ_Pd.h: Likewise.
37158         * lib/unictype/categ_Pe.h: Likewise.
37159         * lib/unictype/categ_Pf.h: Likewise.
37160         * lib/unictype/categ_Pi.h: Likewise.
37161         * lib/unictype/categ_Po.h: Likewise.
37162         * lib/unictype/categ_Ps.h: Likewise.
37163         * lib/unictype/categ_S.h: Likewise.
37164         * lib/unictype/categ_Sc.h: Likewise.
37165         * lib/unictype/categ_Sk.h: Likewise.
37166         * lib/unictype/categ_Sm.h: Likewise.
37167         * lib/unictype/categ_So.h: Likewise.
37168         * lib/unictype/categ_Z.h: Likewise.
37169         * lib/unictype/categ_Zl.h: Likewise.
37170         * lib/unictype/categ_Zp.h: Likewise.
37171         * lib/unictype/categ_Zs.h: Likewise.
37172         * lib/unictype/categ_of.h: Likewise.
37173         * lib/unictype/combining.h: Likewise.
37174         * lib/unictype/ctype_alnum.h: Likewise.
37175         * lib/unictype/ctype_alpha.h: Likewise.
37176         * lib/unictype/ctype_blank.h: Likewise.
37177         * lib/unictype/ctype_cntrl.h: Likewise.
37178         * lib/unictype/ctype_digit.h: Likewise.
37179         * lib/unictype/ctype_graph.h: Likewise.
37180         * lib/unictype/ctype_lower.h: Likewise.
37181         * lib/unictype/ctype_print.h: Likewise.
37182         * lib/unictype/ctype_punct.h: Likewise.
37183         * lib/unictype/ctype_space.h: Likewise.
37184         * lib/unictype/ctype_upper.h: Likewise.
37185         * lib/unictype/ctype_xdigit.h: Likewise.
37186         * lib/unictype/decdigit.h: Likewise.
37187         * lib/unictype/digit.h: Likewise.
37188         * lib/unictype/mirror.h: Likewise.
37189         * lib/unictype/numeric.h: Likewise.
37190         * lib/unictype/pr_alphabetic.h: Likewise.
37191         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
37192         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
37193         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
37194         * lib/unictype/pr_bidi_block_separator.h: Likewise.
37195         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
37196         * lib/unictype/pr_bidi_common_separator.h: Likewise.
37197         * lib/unictype/pr_bidi_control.h: Likewise.
37198         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
37199         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
37200         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
37201         * lib/unictype/pr_bidi_european_digit.h: Likewise.
37202         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
37203         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
37204         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
37205         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
37206         * lib/unictype/pr_bidi_pdf.h: Likewise.
37207         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
37208         * lib/unictype/pr_bidi_whitespace.h: Likewise.
37209         * lib/unictype/pr_combining.h: Likewise.
37210         * lib/unictype/pr_composite.h: Likewise.
37211         * lib/unictype/pr_currency_symbol.h: Likewise.
37212         * lib/unictype/pr_dash.h: Likewise.
37213         * lib/unictype/pr_decimal_digit.h: Likewise.
37214         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
37215         * lib/unictype/pr_deprecated.h: Likewise.
37216         * lib/unictype/pr_diacritic.h: Likewise.
37217         * lib/unictype/pr_extender.h: Likewise.
37218         * lib/unictype/pr_format_control.h: Likewise.
37219         * lib/unictype/pr_grapheme_base.h: Likewise.
37220         * lib/unictype/pr_grapheme_extend.h: Likewise.
37221         * lib/unictype/pr_grapheme_link.h: Likewise.
37222         * lib/unictype/pr_hex_digit.h: Likewise.
37223         * lib/unictype/pr_hyphen.h: Likewise.
37224         * lib/unictype/pr_id_continue.h: Likewise.
37225         * lib/unictype/pr_id_start.h: Likewise.
37226         * lib/unictype/pr_ideographic.h: Likewise.
37227         * lib/unictype/pr_ids_binary_operator.h: Likewise.
37228         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
37229         * lib/unictype/pr_ignorable_control.h: Likewise.
37230         * lib/unictype/pr_iso_control.h: Likewise.
37231         * lib/unictype/pr_join_control.h: Likewise.
37232         * lib/unictype/pr_left_of_pair.h: Likewise.
37233         * lib/unictype/pr_line_separator.h: Likewise.
37234         * lib/unictype/pr_logical_order_exception.h: Likewise.
37235         * lib/unictype/pr_lowercase.h: Likewise.
37236         * lib/unictype/pr_math.h: Likewise.
37237         * lib/unictype/pr_non_break.h: Likewise.
37238         * lib/unictype/pr_not_a_character.h: Likewise.
37239         * lib/unictype/pr_numeric.h: Likewise.
37240         * lib/unictype/pr_other_alphabetic.h: Likewise.
37241         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
37242         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
37243         * lib/unictype/pr_other_id_continue.h: Likewise.
37244         * lib/unictype/pr_other_id_start.h: Likewise.
37245         * lib/unictype/pr_other_lowercase.h: Likewise.
37246         * lib/unictype/pr_other_math.h: Likewise.
37247         * lib/unictype/pr_other_uppercase.h: Likewise.
37248         * lib/unictype/pr_paired_punctuation.h: Likewise.
37249         * lib/unictype/pr_paragraph_separator.h: Likewise.
37250         * lib/unictype/pr_pattern_syntax.h: Likewise.
37251         * lib/unictype/pr_pattern_white_space.h: Likewise.
37252         * lib/unictype/pr_private_use.h: Likewise.
37253         * lib/unictype/pr_punctuation.h: Likewise.
37254         * lib/unictype/pr_quotation_mark.h: Likewise.
37255         * lib/unictype/pr_radical.h: Likewise.
37256         * lib/unictype/pr_sentence_terminal.h: Likewise.
37257         * lib/unictype/pr_soft_dotted.h: Likewise.
37258         * lib/unictype/pr_space.h: Likewise.
37259         * lib/unictype/pr_terminal_punctuation.h: Likewise.
37260         * lib/unictype/pr_titlecase.h: Likewise.
37261         * lib/unictype/pr_unassigned_code_value.h: Likewise.
37262         * lib/unictype/pr_unified_ideograph.h: Likewise.
37263         * lib/unictype/pr_uppercase.h: Likewise.
37264         * lib/unictype/pr_variation_selector.h: Likewise.
37265         * lib/unictype/pr_white_space.h: Likewise.
37266         * lib/unictype/pr_xid_continue.h: Likewise.
37267         * lib/unictype/pr_xid_start.h: Likewise.
37268         * lib/unictype/pr_zero_width.h: Likewise.
37269         * lib/unictype/scripts.h: Likewise.
37270         * lib/unictype/scripts_byname.gperf: Likewise.
37271         * lib/unictype/sy_c_ident.h: Likewise.
37272         * lib/unictype/sy_c_whitespace.h: Likewise.
37273         * lib/unictype/sy_java_ident.h: Likewise.
37274         * lib/unictype/sy_java_whitespace.h: Likewise.
37275
37276         * lib/unictype/Makefile: New file.
37277         * lib/unictype/gen-ctype.c: New file, based on gen-unicode-ctype.c in
37278         glibc.
37279         * lib/unictype/3level.h: New file, copied from glibc.
37280         * lib/unictype/3levelbit.h: New file.
37281
37282 2007-11-11  Bruno Haible  <bruno@clisp.org>
37283
37284         * modules/gperf: New file.
37285         * modules/iconv_open (Depends-on): Add it.
37286         (Makefile.am): Remove the GPERF definition.
37287
37288 2007-11-11  Bruno Haible  <bruno@clisp.org>
37289
37290         * m4/round.m4 (gl_FUNC_ROUND): Test against NetBSD 3.0 bug.
37291         * doc/functions/round.texi: Mention the NetBSD 3.0 bug.
37292
37293 2007-11-11  Bruno Haible  <bruno@clisp.org>
37294
37295         * tests/test-argmatch.c (ARGMATCH_DIE): Undefine.
37296         (usage): Remove function.
37297
37298 2007-11-11  Bruno Haible  <bruno@clisp.org>
37299
37300         * m4/roundf.m4 (gl_FUNC_ROUNDF): Use gl_FUNC_FLOORF_LIBS and
37301         gl_FUNC_CEILF_LIBS.
37302         * m4/round.m4 (gl_FUNC_ROUND): Use gl_FUNC_FLOOR_LIBS and
37303         gl_FUNC_CEIL_LIBS.
37304         * m4/roundl.m4 (gl_FUNC_ROUNDL): Use gl_FUNC_FLOORL_LIBS and
37305         gl_FUNC_CEILL_LIBS.
37306         * modules/roundf (Files): Add m4/floorf.m4, m4/ceilf.m4.
37307         * modules/round (Files): Add m4/floor.m4, m4/ceil.m4.
37308         * modules/roundl (Files): Add m4/floorl.m4, m4/ceill.m4.
37309
37310 2007-11-11  Bruno Haible  <bruno@clisp.org>
37311
37312         * m4/roundf.m4 (gl_FUNC_ROUNDF): Handle the case that floorf and
37313         roundf were declared but do not exist on functions.
37314         * m4/roundl.m4 (gl_FUNC_ROUNDL): Handle the case that floorl and
37315         roundl were declared but do not exist on functions.
37316         * lib/round.c (HAVE_FLOOR_AND_CEIL): Use HAVE_FLOORF_AND_CEILF and
37317         HAVE_FLOORL_AND_CEILL, respectively.
37318         Needed for Sun C on Solaris 10.
37319
37320 2007-11-11  Bruno Haible  <bruno@clisp.org>
37321
37322         * m4/roundf.m4 (gl_FUNC_ROUNDF): Set REPLACE_ROUNDF instead of
37323         HAVE_DECL_ROUNDF. Remove redundant AC_SUBST.
37324         * m4/round.m4 (gl_FUNC_ROUND): Set REPLACE_ROUND instead of
37325         HAVE_DECL_ROUND. Remove redundant AC_SUBST.
37326         * m4/roundl.m4 (gl_FUNC_ROUNDL): Set REPLACE_ROUNDL instead of
37327         HAVE_DECL_ROUNDL. Remove redundant AC_SUBST.
37328         * lib/math.in.h (roundf): Use REPLACE_ROUNDF instead of
37329         HAVE_DECL_ROUNDF.
37330         (round): Use REPLACE_ROUND instead of HAVE_DECL_ROUND.
37331         (roundl): Use REPLACE_ROUNDL instead of HAVE_DECL_ROUNDL.
37332         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_ROUND* instead
37333         of HAVE_DECL_ROUND*.
37334         * modules/math (Makefile.am): Update.
37335
37336 2007-11-10  Bruno Haible  <bruno@clisp.org>
37337
37338         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Use same check for
37339         ptrdiff_t as m4/intl.m4.
37340
37341 2007-11-10  Jim Meyering  <meyering@redhat.com>
37342
37343         Avoid link failure for the argmatch test.
37344         * tests/test-argmatch.c (usage): Define function to avoid a link
37345         failure: argmatch_die requires a usage function.
37346
37347 2007-11-09  Bruno Haible  <bruno@clisp.org>
37348
37349         * doc/functions/snprintf.texi: Mention BeOS deficiency.
37350         * doc/functions/vsnprintf.texi: Likewise.
37351         * lib/vasnprintf.c (VASNPRINTF): Ensure that we never call snprintf
37352         with a size argument < 2.
37353
37354 2007-11-09  Bruno Haible  <bruno@clisp.org>
37355
37356         * lib/vasnprintf.c (VASNPRINTF): Increase reallocation of snprintf
37357         buffer. Fixes an inefficiency introduced on 2007-11-03.
37358
37359 2007-11-09  Bruno Haible  <bruno@clisp.org>
37360
37361         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8) [BeOS]: Make this test return
37362         none instead of tr_TR. Fixes a failure of test-c-strcasecmp.c.
37363
37364 2007-11-08  Jim Meyering  <meyering@redhat.com>
37365
37366         Change cache variable name prefix "jm_" to "gl_" everywhere.
37367         * m4/d-type.m4, m4/jm-winsz1.m4, m4/jm-winsz2.m4, m4/link-follow.m4:
37368         * m4/putenv.m4, m4/strtoimax.m4, m4/strtoumax.m4, m4/unlink-busy.m4:
37369         * m4/uptime.m4: s/gl_/jm_/
37370
37371 2007-11-07  Bruno Haible  <bruno@clisp.org>
37372
37373         Update to GNU gettext 0.17.
37374         * m4/intl.m4: Update to GNU gettext 0.17.
37375         * m4/po.m4: Likewise.
37376         * modules/gettext (Files): Remove m4/ulonglong.m4.
37377         (configure.ac): Require gettext infrastructure from version 0.17.
37378
37379 2007-11-06  Bruno Haible  <bruno@clisp.org>
37380
37381         * lib/fbufmode.c (fbufmode) [QNX]: Use numerical values for flags; the
37382         symbolic values are not defined in a public header.
37383         * lib/freadable.c (freadable) [QNX]: Likewise.
37384         * lib/freadahead.c (freadahead) [QNX]: Likewise.
37385         * lib/freading.c (freading) [QNX]: Likewise.
37386         * lib/fseterr.c (fseterr) [QNX]: Likewise.
37387         * lib/fwritable.c (fwritable) [QNX]: Likewise.
37388         * lib/fwriting.c (fwriting) [QNX]: Likewise.
37389         * lib/fpurge.c (fpurge) [QNX]: Likewise. Add a return statement.
37390         Reported by Alain Magloire.
37391
37392         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for QNX.
37393
37394 2007-11-05  Bruno Haible  <bruno@clisp.org>
37395
37396         * lib/vasnprintf.c (VASNPRINTF): Expand the NEED_PRINTF_DIRECTIVE_A
37397         code when NEED_PRINTF_LONG_DOUBLE or NEED_PRINTF_DOUBLE is set.
37398         Needed on Cygwin, where !NEED_PRINTF_DIRECTIVE_A && NEED_PRINTF_DOUBLE.
37399         Reported by Eric Blake.
37400
37401 2007-10-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
37402             Bruno Haible  <bruno@clisp.org>
37403
37404         * modules/malloc (configure.ac): Define GNULIB_MALLOC_GNU always.
37405         * modules/realloc (configure.ac): Define GNULIB_REALLOC_GNU always.
37406         * lib/realloc.c (SYSTEM_MALLOC_GLIBC_COMPATIBLE): New macro.
37407         (malloc): Undefine also before including <stdlib.h>.
37408         (rpl_realloc): Turn malloc(0) into malloc(1) if necessary.
37409         Needed on OSF/1 4.0.
37410
37411 2007-11-05  Jim Meyering  <meyering@redhat.com>
37412
37413         git-version-gen: sync from coreutils.
37414         * build-aux/git-version-gen: Add comments.
37415         Change the first '-' to '.' in the snapshot version string,
37416         e.g., 6.9-377-08144 -> 6.9.377-08144
37417         Remove first parameter.
37418         Don't declare a version "-dirty" merely because a time
37419         stamp has changed.
37420
37421 2007-11-04  Bruno Haible  <bruno@clisp.org>
37422
37423         * lib/lock.h: Protect all macro definitions containing an 'if'
37424         statement through a "do { ... } while (0)".
37425         * lib/tls.h: Likewise.
37426
37427 2007-11-04  Bruno Haible  <bruno@clisp.org>
37428
37429         * lib/vasnprintf.c (DCHAR_IS_TCHAR, DCHAR_CPY): Undefine at the end.
37430
37431 2007-11-04  Bruno Haible  <bruno@clisp.org>
37432
37433         * m4/printf.m4 (gl_PRINTF_ENOMEM): Use GL_NOCRASH.
37434         * modules/fprintf-posix (Depends-on): Add nocrash.
37435         * modules/snprintf-posix (Depends-on): Likewise.
37436         * modules/sprintf-posix (Depends-on): Likewise.
37437         * modules/vasnprintf-posix (Depends-on): Likewise.
37438         * modules/vasprintf-posix (Depends-on): Likewise.
37439         * modules/vfprintf-posix (Depends-on): Likewise.
37440         * modules/vsnprintf-posix (Depends-on): Likewise.
37441         * modules/vsprintf-posix (Depends-on): Likewise.
37442         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
37443         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
37444         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
37445         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
37446         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
37447         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
37448         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
37449
37450 2007-11-04  Bruno Haible  <bruno@clisp.org>
37451
37452         * modules/nocrash: New file.
37453         * m4/nocrash.m4: New file, taken from GNU clisp. Code taken from
37454         GNU libsigsegv, with permission of GNU libsigsegv's copyright holders.
37455
37456 2007-11-04  Bruno Haible  <bruno@clisp.org>
37457
37458         * tests/test-vasnprintf-posix.c (test_function): Add some tests of
37459         precision handling.
37460         * tests/test-vasprintf-posix.c (test_function): Likewise.
37461         * tests/test-snprintf-posix.h (test_function): Likewise.
37462         * tests/test-sprintf-posix.h (test_function): Likewise.
37463
37464         Fix *printf behaviour for large precisions on mingw and BeOS.
37465         * m4/printf.m4 (gl_PRINTF_PRECISION): New macro.
37466         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_UNBOUNDED_PRECISION.
37467         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_PRECISION): New macro.
37468         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
37469         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
37470         gl_PRINTF_PRECISION and test its result. Invoke
37471         gl_PREREQ_VASNPRINTF_PRECISION.
37472         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
37473         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
37474         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
37475         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
37476         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
37477         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
37478         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
37479         * doc/functions/fprintf.texi: Update.
37480         * doc/functions/printf.texi: Update.
37481         * doc/functions/snprintf.texi: Update.
37482         * doc/functions/sprintf.texi: Update.
37483         * doc/functions/vfprintf.texi: Update.
37484         * doc/functions/vprintf.texi: Update.
37485         * doc/functions/vsnprintf.texi: Update.
37486         * doc/functions/vsprintf.texi: Update.
37487
37488 2007-11-04  Bruno Haible  <bruno@clisp.org>
37489
37490         * lib/vasnprintf.c (scale10_round_decimal_decoded): Fix shift loop.
37491
37492 2007-11-04  Bruno Haible  <bruno@clisp.org>
37493
37494         * modules/relocatable-prog (Files): Add m4/lib-ld.m4.
37495         Reported by Sylvain Beucler <beuc@gnu.org>.
37496
37497 2007-11-03  Bruno Haible  <bruno@clisp.org>
37498
37499         * tests/test-fprintf-posix2.sh: New file.
37500         * tests/test-fprintf-posix2.c: New file.
37501         * modules/fprintf-posix-tests (Files): Add them.
37502         (TESTS): Add test-fprintf-posix2.sh.
37503         (configure.ac): Check for getrlimit and setrlimit.
37504         (check_PROGRAMS): Add test-fprintf-posix2.
37505
37506         * tests/test-printf-posix2.sh: New file.
37507         * tests/test-printf-posix2.c: New file.
37508         * modules/printf-posix-tests (Files): Add them.
37509         (TESTS): Add test-printf-posix2.sh.
37510         (configure.ac): Check for getrlimit and setrlimit.
37511         (check_PROGRAMS): Add test-printf-posix2.
37512
37513         Fix *printf behaviour in out-of-memory situations on MacOS X and *BSD.
37514         * m4/printf.m4 (gl_PRINTF_ENOMEM): New macro.
37515         * lib/vasnprintf.c: Implement NEED_PRINTF_DOUBLE.
37516         (decode_double): New function, copied from decode_long_double.
37517         (scale10_round_decimal_decoded): New function, extracted from
37518         scale10_round_decimal_long_double.
37519         (scale10_round_decimal_long_double): Use it.
37520         (scale10_round_decimal_double): New function.
37521         (floorlog10): New function.
37522         (VASNPRINTF): Handle NEED_PRINTF_DOUBLE case.
37523         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_ENOMEM): New macro.
37524         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
37525         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
37526         gl_PRINTF_ENOMEM and test its result. Invoke
37527         gl_PREREQ_VASNPRINTF_ENOMEM.
37528         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
37529         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
37530         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
37531         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
37532         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
37533         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
37534         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
37535         * modules/fprintf-posix (Depends-on): Add frexp-nolibm.
37536         * modules/snprintf-posix (Depends-on): Likewise.
37537         * modules/sprintf-posix (Depends-on): Likewise.
37538         * modules/vasnprintf-posix (Depends-on): Likewise.
37539         * modules/vasprintf-posix (Depends-on): Likewise.
37540         * modules/vfprintf-posix (Depends-on): Likewise.
37541         * modules/vsnprintf-posix (Depends-on): Likewise.
37542         * modules/vsprintf-posix (Depends-on): Likewise.
37543         * doc/functions/fprintf.texi: Update.
37544         * doc/functions/printf.texi: Update.
37545         * doc/functions/snprintf.texi: Update.
37546         * doc/functions/sprintf.texi: Update.
37547         * doc/functions/vfprintf.texi: Update.
37548         * doc/functions/vprintf.texi: Update.
37549         * doc/functions/vsnprintf.texi: Update.
37550         * doc/functions/vsprintf.texi: Update.
37551
37552 2007-11-03  Bruno Haible  <bruno@clisp.org>
37553
37554         * modules/frexp-nolibm-tests: New file.
37555
37556         * modules/frexp-nolibm: New file.
37557         * m4/frexp.m4 (gl_FUNC_FREXP_NO_LIBM): New macro.
37558
37559 2007-11-03  Bruno Haible  <bruno@clisp.org>
37560
37561         * lib/vasnprintf.c (VASNPRINTF): Don't assume that snprintf's return
37562         value is C99 compliant.
37563         Needed for OSF/1 5.1.
37564
37565 2007-11-03  Bruno Haible  <bruno@clisp.org>
37566
37567         Fix out-of-memory handling of vasnprintf.
37568         * lib/printf-parse.c: Include <errno.h>.
37569         (PRINTF_PARSE): When failing, set errno to EINVAL or ENOMEM.
37570         * lib/vasnprintf.c (VASNPRINTF): When PRINTF_PARSE fails, assume errno
37571         is already set.
37572
37573 2007-11-02  Eric Blake  <ebb9@byu.net>
37574
37575         Fix tests on cygwin.
37576         * modules/xprintf-posix-tests (Makefile.am): Link against -lintl.
37577
37578 2007-11-01  Bruno Haible  <bruno@clisp.org>
37579
37580         * lib/stdlib.in.h (putenv): Remove the "not POSIX compliant everywhere"
37581         warning.
37582         * doc/functions/putenv.texi: Clarify that the 'putenv' module is not
37583         needed for POSIX compatibility.
37584
37585 2007-11-01  Paul Eggert  <eggert@cs.ucla.edu>
37586
37587         * m4/putenv.m4 (gl_FUNC_PUTENV): Also mention that we're checking
37588         for compatibility with GNU.
37589
37590 2007-11-01  Bruno Haible  <bruno@clisp.org>
37591
37592         * lib/putenv.c: Include <stdlib.h>. Remove rpl_putenv declaration.
37593         (putenv): Renamed from rpl_putenv. Change argument type from
37594         'const char *' to 'char *'.
37595         * m4/putenv.m4 (gl_FUNC_PUTENV): Require gl_STDLIB_H_DEFAULTS. Instead
37596         of defining putenv in config.h, just set REPLACE_PUTENV.
37597         * modules/putenv (Depends-on): Add stdlib.
37598         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
37599         (Include): Use <stdlib.h>.
37600         * lib/stdlib.in.h (putenv): New declaration.
37601         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PUTENV and
37602         REPLACE_PUTENV.
37603         * modules/stdlib (Makefile.am): Substitute GNULIB_PUTENV and
37604         REPLACE_PUTENV.
37605         Needed for MacOS X 10.5.0.
37606         Reported by Peter O'Gorman <peter@pogma.com>.
37607
37608 2007-11-01  Jim Meyering  <meyering@redhat.com>
37609
37610         Treat an empty date string exactly like "0".
37611         * lib/getdate.y (get_date): Once any isspace or TZ= prefix is consumed,
37612         if the remaining date string (to be parsed) is empty, use "0".
37613         Reported by Mischa Molhoek and discussed in this thread:
37614         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/11726>.
37615
37616 2007-10-31  Bruno Haible  <bruno@clisp.org>
37617
37618         * m4/intmax_t.m4 (gl_AC_TYPE_INTMAX_T, gt_AC_TYPE_INTMAX_T): Use
37619         AC_TYPE_LONG_LONG_INT instead of gl_AC_TYPE_LONG_LONG.
37620         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Use
37621         AC_TYPE_UNSIGNED_LONG_LONG_INT instead of gl_AC_TYPE_UNSIGNED_LONG_LONG.
37622         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Remove macro.
37623         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Remove macro.
37624
37625 2007-10-31  Bruno Haible  <bruno@clisp.org>
37626
37627         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): New macro, extracted
37628         from AC_TYPE_LONG_LONG_INT and AC_TYPE_UNSIGNED_LONG_LONG_INT.
37629         (AC_TYPE_LONG_LONG_INT): Use it.
37630         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Moved here from m4/ulonglong.m4. Use
37631         it as well.
37632         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Remove macro; moved
37633         to m4/longlong.m4.
37634         * modules/stdint (Files): Remove m4/ulonglong.m4.
37635         * modules/strtoull (Files): Use m4/longlong.m4 instead of
37636         m4/ulonglong.m4.
37637         * modules/strtoumax (Files): Likewise.
37638
37639 2007-10-30  Bruno Haible  <bruno@clisp.org>
37640
37641         * modules/xvasprintf-posix: New file.
37642         Suggested by Eric Blake.
37643
37644 2007-10-30  Bruno Haible  <bruno@clisp.org>
37645
37646         * modules/xprintf-posix-tests: New file.
37647         * tests/test-xprintf-posix.sh: New file.
37648         * tests/test-xprintf-posix.c: New file.
37649         * tests/test-xfprintf-posix.c: New file.
37650
37651         * modules/xprintf-posix: New file.
37652
37653 2007-10-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
37654
37655         * modules/fbufmode-tests (MOSTLYCLEANFILES): Remove temp files.
37656         * modules/freadable-tests (MOSTLYCLEANFILES): Likewise.
37657         * modules/fwritable-tests (MOSTLYCLEANFILES): Likewise.
37658
37659 2007-10-29  Bruno Haible  <bruno@clisp.org>
37660
37661         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Rename the cache variable to
37662         contain the special marker '_cv_'.
37663         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
37664         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
37665         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
37666         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
37667         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
37668         Reported by Ralf Wildenhues.
37669
37670 2007-10-29  Bruno Haible  <bruno@clisp.org>
37671
37672         * gnulib-tool (func_import): When --lgpl is not specified, set
37673         sed_transform_lib_file to convert LGPL and GPLv2+ copyright headers to
37674         GPLv3.
37675         Reported by Simon Josefsson.
37676
37677 2007-10-28  Bruno Haible  <bruno@clisp.org>
37678
37679         * lib/math.in.h: Test REPLACE_ISFINITE instead of HAVE_DECL_ISFINITE.
37680         * m4/isfinite.m4 (gl_ISFINITE): Initialize REPLACE_ISFINITE instead of
37681         HAVE_DECL_ISFINITE.
37682         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
37683         * modules/math (Makefile.am): Substitute REPLACE_ISFINITE instead of
37684         HAVE_DECL_ISFINITE.
37685
37686 2007-10-28  Bruno Haible  <bruno@clisp.org>
37687
37688         * lib/stdint.in.h (_STDINT_MAX): Subtract 1 from an unused signed
37689         integer shift in the signed case. Fixes warnings with OSF/1 5.1 cc.
37690
37691 2007-10-28  Bruno Haible  <bruno@clisp.org>
37692
37693         Fix link errors with Sun C 5.0 on Solaris 10.
37694         * m4/floorf.m4 (gl_FUNC_FLOORF): Consider also the case that the
37695         function is declared but not present in the compiler's libm.
37696         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
37697         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
37698         * m4/ceill.m4 (gl_FUNC_CEILL: Likewise.
37699         * lib/math.in.h: Test REPLACE_CEILF instead of HAVE_DECL_CEILF.
37700         Test REPLACE_CEILL instead of HAVE_DECL_CEILL.
37701         Test REPLACE_FLOORF instead of HAVE_DECL_FLOORF.
37702         Test REPLACE_FLOORL instead of HAVE_DECL_FLOORL.
37703         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
37704         * modules/math (Makefile.am): Substitute REPLACE_CEILF instead of
37705         HAVE_DECL_CEILF, REPLACE_CEILL instead of HAVE_DECL_CEILL,
37706         REPLACE_FLOORF instead of HAVE_DECL_FLOORF, REPLACE_FLOORL instead of
37707         HAVE_DECL_FLOORL.
37708
37709 2007-10-28  Bruno Haible  <bruno@clisp.org>
37710
37711         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): New macro, extracted from
37712         gl_FUNC_FLOORL. Cache the result.
37713         (gl_FUNC_FLOORL): Use it.
37714         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): New macro, extracted from
37715         gl_FUNC_CEILL. Cache the result.
37716         (gl_FUNC_CEILL): Use it.
37717
37718         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): New macro, extracted from
37719         gl_FUNC_FLOOR. Cache the result.
37720         (gl_FUNC_FLOOR): Use it.
37721         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): New macro, extracted from
37722         gl_FUNC_CEIL. Cache the result.
37723         (gl_FUNC_CEIL): Use it.
37724
37725         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): New macro, extracted from
37726         gl_FUNC_FLOORF. Cache the result.
37727         (gl_FUNC_FLOORF): Use it.
37728         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): New macro, extracted from
37729         gl_FUNC_CEILF. Cache the result.
37730         (gl_FUNC_CEILF): Use it.
37731
37732 2007-10-28  Bruno Haible  <bruno@clisp.org>
37733
37734         * gnulib-tool: Allow specifying the LGPL version number through
37735         --lgpl=2 or --lgpl=3.
37736         (func_usage): Document --lgpl with argument.
37737         Handle --lgpl=... arguments.
37738         (func_import): Recognize also gl_LGPL calls with an argument. When
37739         --lgpl=2 is used and the module's license is just LGPL, report an
37740         error. Set sed_transform_lib_file according to the lgpl variable. In
37741         the generated files, use --lgpl or gl_LGPL invocations with argument,
37742         if necessary.
37743         * doc/gnulib-intro.texi (Copyright): Explain how to get modules under
37744         an LGPv2+ license.
37745         * doc/gnulib-tool.texi (Modified imports): Update explanation of
37746         gl_LGPL macro.
37747
37748 2007-10-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
37749             Bruno Haible  <bruno@clisp.org>
37750
37751         * lib/unistr.h (u8_uctomb_aux): Declare also if !HAVE_INLINE.
37752         (u16_uctomb_aux): Likewise.
37753         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Define also if
37754         !HAVE_INLINE.
37755         * lib/unistr/u16-uctomb-aux.c (u16_uctomb_aux): Likewise
37756
37757 2007-10-28  Bruno Haible  <bruno@clisp.org>
37758
37759         * modules/error: Add a notice recommending to change XGETTEXT_OPTIONS.
37760         Invoke AM_GETTEXT_OPTION if it exists.
37761         * modules/vasprintf: Likewise.
37762         * modules/verror: Likewise.
37763         * modules/xprintf: Likewise.
37764         * modules/xvasprintf: Likewise.
37765
37766 2007-10-27  Ben Pfaff  <blp@gnu.org>
37767
37768         * lib/math.in.h: Define isfinite macro and prototypes for
37769         gl_isfinitef, gl_isfinited, gl_isfinitel if we are providing
37770         implementations.
37771         * m4/math_h.m4: New substitutions for isfinite module.
37772         * lib/isfinite.c: New file.
37773         * m4/isfinite.m4: New file.
37774         * modules/math: Replace isfinite-related @VARS@ in math.in.h.
37775         * modules/isfinite: New file.
37776         * modules/isfinite-tests: New file.
37777         * tests/tests-isfinite.c: New file.
37778         * doc/functions/isfinite.texi: Mention isfinite module.
37779         * MODULES.html.sh: Mention new module.
37780
37781 2007-10-27  Ben Pfaff  <blp@gnu.org>
37782
37783         Ralf Wildenhues reported that Tru64 4.0D declares the round
37784         functions but does not have definitions.
37785         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): If the target function
37786         cannot be found in any library, set the output variable to
37787         "missing" instead of "".
37788         * m4/round.m4: Also use our substitute if we cannot find round in
37789         any library, even if it is declared.
37790         * m4/roundf.m4: Likewise for roundf.
37791         * m4/roundl.m4: Likewise for roundl.
37792         * lib/math.in.h: Undefine roundf, round, roundl before defining
37793         their replacements, to allow for hypothetical systems where these
37794         may be defined as macros but not available in libraries.
37795
37796 2007-10-27  Bruno Haible  <bruno@clisp.org>
37797
37798         * doc/gnulib.texi: Invoke @firstparagraphindent.
37799         * doc/gnulib-tool.texi (Simple update): Mention possible incompatible
37800         changes in gnulib.
37801         (Source changes): New section.
37802
37803 2007-10-26  Bruno Haible  <bruno@clisp.org>
37804
37805         * m4/gnulib-common.m4 (AC_C_RESTRICT): New overriding definition,
37806         borrowed from autoconf.
37807
37808 2007-10-26  Bruno Haible  <bruno@clisp.org>
37809
37810         * lib/strerror.c (rpl_strerror): Return "Unknown error ..." also if
37811         strerror returned the empty string. Needed on HP-UX 11.00.
37812
37813 2007-10-24  Micah Cowan  <micah@cowan.name>
37814
37815         Remove vestiges of cvs-gnulib-checkout process.  Now we use git.
37816         * build-aux/bootstrap: Remove support for now-unnecessary option,
37817         --cvs-user, and envvars CVS_USER, CVS_RSH.
37818
37819 2007-10-24  Jim Meyering  <meyering@redhat.com>
37820
37821         Avoid diagnostics from sha1sum when there is no cached checksum.
37822         * build-aux/bootstrap (update_po_files): Skip the sha1sum check
37823         if the po.s1 file hasn't been created yet.
37824
37825         * build-aux/bootstrap: Sync from coreutils:
37826         2007-10-24  Jim Meyering  <meyering@redhat.com>
37827         Get gnulib from the git repository, not from an obsolete cvs one.
37828         * build-aux/bootstrap: Suggestion from Micah Cowan.
37829         2007-10-04  Jim Meyering  <jim@meyering.net>
37830         * build-aux/bootstrap (slurp): Adapt to _.h -> .in.h name change.
37831         (update_po_files): Work also when there are no .po files in po/.
37832
37833 2007-10-24  Paul Eggert  <eggert@cs.ucla.edu>
37834
37835         * README: Append ".git" to git and cg examples.
37836         Problem reported by Benoit Sigoure.
37837
37838 2007-10-23  Micah Cowan  <micah@cowan.name>
37839
37840         * users.txt: Add wget.
37841
37842 2007-10-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
37843
37844         Fix linking of some unistdio tests on FreeBSD.
37845         * modules/unistdio/u16-vsnprintf-tests
37846         (test_u16_vsprintf1_LDADD): Add @LIBINTL@.
37847         * modules/unistdio/u16-vsprintf-tests
37848         (test_u16_vsnprintf1_LDADD): Likewise.
37849         * modules/unistdio/u32-vsnprintf-tests
37850         (test_u32_vsnprintf1_LDADD): Likewise.
37851         * modules/unistdio/u32-vsprintf-tests
37852         (test_u32_vsprintf1_LDADD): Likewise.
37853         * modules/unistdio/u8-vsnprintf-tests
37854         (test_u8_vsnprintf1_LDADD): Likewise.
37855         * modules/unistdio/u8-vsprintf-tests
37856         (test_u8_vsprintf1_LDADD): Likewise.
37857         * modules/unistdio/ulc-vsnprintf-tests
37858         (test_ulc_vsnprintf1_LDADD): Likewise.
37859         * modules/unistdio/ulc-vsprintf-tests
37860         (test_ulc_vsprintf1_LDADD): Likewise.
37861
37862         Fix linking of some uniconv tests on FreeBSD.
37863         * modules/uniconv/u16-conv-from-enc-tests
37864         (test_u16_conv_from_enc_LDADD): Link $(LDADD) before @LIBICONV@.
37865         * modules/uniconv/u16-conv-to-enc-tests
37866         (test_u16_conv_to_enc_LDADD): Likewise.
37867         * modules/uniconv/u16-strconv-from-enc-tests
37868         (test_u16_strconv_from_enc_LDADD): Likewise.
37869         * modules/uniconv/u16-strconv-to-enc-tests
37870         (test_u16_strconv_to_enc_LDADD): Likewise.
37871         * modules/uniconv/u32-conv-from-enc-tests
37872         (test_u32_conv_from_enc_LDADD): Likewise.
37873         * modules/uniconv/u32-conv-to-enc-tests
37874         (test_u32_conv_to_enc_LDADD): Likewise.
37875         * modules/uniconv/u32-strconv-from-enc-tests
37876         (test_u32_strconv_from_enc_LDADD): Likewise.
37877         * modules/uniconv/u32-strconv-to-enc-tests
37878         (test_u32_strconv_to_enc_LDADD): Likewise.
37879         * modules/uniconv/u8-conv-from-enc-tests
37880         (test_u8_conv_from_enc_LDADD): Likewise.
37881         * modules/uniconv/u8-conv-to-enc-tests
37882         (test_u8_conv_to_enc_LDADD): Likewise.
37883         * modules/uniconv/u8-strconv-from-enc-tests
37884         (test_u8_strconv_from_enc_LDADD): Likewise.
37885         * modules/uniconv/u8-strconv-to-enc-tests
37886         (test_u8_strconv_to_enc_LDADD): Likewise.
37887
37888 2007-10-22  Bruno Haible  <bruno@clisp.org>
37889
37890         * lib/stdint.in.h: Add check that intmax_t and uintmax_t have the same
37891         size.
37892
37893 2007-10-22  Eric Blake  <ebb9@byu.net>
37894
37895         Tweak x*printf documentation.
37896         * lib/xprintf.c (xprintf, xvprintf, xfprintf, xvfprintf): Adjust
37897         variable name and comments.
37898         Suggested by Bruno Haible.
37899
37900 2007-10-22  Bruno Haible  <bruno@clisp.org>
37901
37902         * lib/acl.c (copy_acl): Fix file name in comment.
37903
37904 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
37905
37906         Fix Tru64 problem with stdbool.h.
37907         * lib/stdbool.in.h (false, true):
37908         [! (defined __cplusplus || defined __BEOS__) && !defined __GNUC__]:
37909         Don't declare as an enum in this situation; it runs afoul of Tru64.
37910         Problem reported by Steven M. Schweda in
37911         <http://lists.gnu.org/archive/html/bug-autoconf/2007-10/msg00019.html>.
37912
37913 2007-10-22  Eric Blake  <ebb9@byu.net>
37914
37915         Also wrap vf?printf.
37916         * lib/xprintf.h (xvprintf, xvfprintf): New declarations.
37917         * lib/xprintf.c (xprintf, xfprintf): Work for C89.
37918         (xvprintf, xvfprintf): New functions.
37919
37920 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
37921
37922         * modules/fstrcmp-tests (test_fstrcmp_LDADD): New, add
37923         @LIBINTL@ for FreeBSD 6.2, $(LIBTHREAD) for AIX 4.3.3.
37924
37925         * lib/uniconv/u16-conv-to-enc.c (U_MBLEN): Define.
37926         * lib/uniconv/u32-conv-to-enc.c (U_MBLEN): Likewise.
37927
37928 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
37929
37930         * lib/acl.c (copy_acl): Adjust to IRIX 6.5.  Problem reported
37931         by Bruno Haible.
37932
37933 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
37934
37935         * lib/getloadavg.c
37936         [defined (__osf__) && (defined (__alpha) || defined (__alpha__)]:
37937         Undef `sys' after including sys/table.h, for Tru64 4.0D.
37938
37939         * tests/test-i-ring.c: Work for C89.
37940
37941 2007-10-22  Bruno Haible  <bruno@clisp.org>
37942
37943         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Use -1ull, not
37944         -1u, in preprocessor expression, so that we don't test for the bug
37945         in HP-UX 11.00 cpp.  Testing for this bug caused problems; see
37946         <http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00329.html>.
37947
37948 2007-10-22  Eric Blake  <ebb9@byu.net>
37949
37950         * tests/test-yesno.sh: Silence stderr during test.
37951
37952 2007-10-22  Simon Josefsson  <simon@josefsson.org>
37953
37954         * modules/crypto/gc-camellia: New file.
37955
37956         * m4/gc-camellia.m4: New file.
37957
37958         * lib/gc-libgcrypt.c (gc_cipher_open): Support Camellia.
37959
37960         * lib/gc.h (enum Gc_cipher): Add GC_CAMELLIA128, GC_CAMELLIA256.
37961
37962 2007-10-22  Simon Josefsson  <simon@josefsson.org>
37963
37964         * build-aux/maint.mk (gzip_rsyncable): Don't fail if gzip sends
37965         --help to stdout.  Reported by sms@antinode.org (Steven
37966         M. Schweda).
37967
37968 2007-10-22  Simon Josefsson  <simon@josefsson.org>
37969
37970         * users.txt: Fix link to libksba.
37971
37972 2007-10-21  Ben Pfaff  <blp@gnu.org>
37973
37974         * modules/roundf-tests: Add dependency on floorf, ceilf to allow
37975         round.c roundf implementation that depends on floorf and ceilf to
37976         be tested unconditionally.
37977
37978 2007-10-21  Ben Pfaff  <blp@gnu.org>
37979
37980         * m4/check-libm-func.m4: Removed.
37981         * m4/check-math-lib.m4: New file.
37982         * m4/round.m4: Rewrite to use gl_CHECK_MATH_LIB.
37983         * m4/roundf.m4: Ditto, and fix lack of HAVE_DECL_ROUNDF
37984         definition and lack of AC_LIBOBJ([roundf]).
37985         * m4/roundl.m4: Ditto, and similarly for roundl.
37986         * modules/round: Reference new m4 file.
37987         * modules/roundf: Ditto.
37988         * modules/roundl: Ditto.
37989         * tests/test-round2.c (main): Use ROUND instead of round.
37990         Bug report from Bruno Haible.
37991
37992 2007-10-21  Bruno Haible  <bruno@clisp.org>
37993
37994         * lib/printf-parse.c: Don't assume <stdint.h> exists in IN_LIBASPRINTF
37995         context.
37996
37997 2007-10-21  Bruno Haible  <bruno@clisp.org>
37998
37999         * tests/test-wcwidth.c (main): Allow negative result for some control
38000         characters.
38001
38002         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check also the width of U+200B.
38003         Needed on OSF/1 5.1.
38004
38005 2007-10-21  Bruno Haible  <bruno@clisp.org>
38006
38007         * tests/test-floorf1.c: Include isnanf.h.
38008         (main): Use isnanf() instead of isnan().
38009         * tests/test-ceilf1.c: Include isnanf.h.
38010         (main): Use isnanf() instead of isnan().
38011         * tests/test-truncf1.c: Include isnanf.h.
38012         (main): Use isnanf() instead of isnan().
38013         * tests/test-roundf1.c: Include isnanf.h.
38014         (main): Use isnanf() instead of isnan().
38015
38016 2007-10-21  Eric Blake  <ebb9@byu.net>
38017
38018         * users.txt: Update URL for m4.
38019
38020 2007-10-21  Bruno Haible  <bruno@clisp.org>
38021
38022         * users.txt: Add clisp. Update URLs to Simon Josefsson's projects.
38023
38024 2007-10-21  Bruno Haible  <bruno@clisp.org>
38025
38026         * gnulib-tool (func_create_megatestdir): Determine the cvsdate from
38027         Git's management files if the CVS files are not present.
38028
38029 2007-10-20  Bruno Haible  <bruno@clisp.org>
38030
38031         * lib/count-one-bits.h (COUNT_ONE_BITS): Use the builtin also for
38032         gcc-3.4.x.
38033
38034 2007-10-20  Ben Pfaff  <blp@gnu.org>
38035
38036         * lib/math.in.h: Declare round, roundf, roundl if we are providing
38037         implementations.
38038         * m4/math_h.m4: New substitutions for round, roundf, roundl modules.
38039         * lib/round.c: New file.
38040         * lib/roundf.c: New file.
38041         * lib/roundl.c: New file.
38042         * m4/round.m4: New file.
38043         * m4/roundf.m4: New file.
38044         * m4/roundl.m4: New file.
38045         * m4/check-libm-func-m4: New file.
38046         * modules/math: Replace round, roundf, roundl related @VARS@ in
38047         math.in.h.
38048         * modules/round: New file.
38049         * modules/round-tests: New file.
38050         * modules/roundf: New file.
38051         * modules/roundf-tests: New file.
38052         * modules/roundl: New file.
38053         * modules/roundl-tests: New file.
38054         * tests/test-round1.c: New file.
38055         * tests/test-round2.c: New file.
38056         * tests/test-roundf1.c: New file.
38057         * tests/test-roundf2.c: New file.
38058         * tests/test-roundl.c: New file.
38059         * doc/functions/round.texi: Mention round module.
38060         * doc/functions/roundf.texi: Mention roundf module.
38061         * doc/functions/roundl.texi: Mention roundl module.
38062         * MODULES.html.sh: Mention new modules.
38063         Thanks to Bruno Haible for suggestions.
38064
38065 2007-10-20  Jim Meyering  <meyering@redhat.com>
38066
38067         * lib/xprintf.c: Include <config.h> unconditionally.
38068
38069         Change xprintf's license to GPL.
38070         * modules/xprintf (License): s/LGPL/GPL/, since this module
38071         depends on modules (exit and exitfail) which are GPL.
38072         Suggestion from Bruno Haible.
38073
38074         xprintf fixes.
38075         * lib/xprintf.c (xprintf, xfprintf): Use va_end.
38076         Use a clearer diagnostic.
38077         Patch from Bruno Haible.
38078
38079 2007-10-20  Bruno Haible  <bruno@clisp.org>
38080
38081         * lib/vasnprintf.c (VASNPRINTF): Don't report overflow if the available
38082         length is INT_MAX and sizeof (DCHAR_T) > sizeof (TCHAR_T).
38083         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
38084
38085 2007-10-20  Bruno Haible  <bruno@clisp.org>
38086
38087         * tests/test-floorf2.c (correct_result_p): Don't rely on excess
38088         precision in the comparison result > x - 1 or similar.
38089         * tests/test-ceilf2.c (correct_result_p): Likewise.
38090         * tests/test-truncf2.c (correct_result_p): Likewise.
38091         * tests/test-trunc2.c (correct_result_p): Likewise.
38092         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
38093
38094 2007-10-20  Bruno Haible  <bruno@clisp.org>
38095
38096         * modules/ceil: New file.
38097         * m4/ceil.m4: New file.
38098         * doc/functions/ceil.texi: Mention the 'ceil' module.
38099
38100 2007-10-20  Bruno Haible  <bruno@clisp.org>
38101
38102         * modules/floor: New file.
38103         * m4/floor.m4: New file.
38104         * doc/functions/floor.texi: Mention the 'floor' module.
38105
38106 2007-10-20  Bruno Haible  <bruno@clisp.org>
38107
38108         * modules/ceilf-tests (Depends-on): Add fprintf-posix. Needed for use
38109         of %a.
38110         * modules/floorf-tests (Depends-on): Likewise.
38111         * modules/truncf-tests (Depends-on): Likewise.
38112         * modules/trunc-tests (Depends-on): Likewise.
38113         Reported by Ben Pfaff.
38114
38115 2007-10-19  Jim Meyering  <meyering@redhat.com>
38116
38117         * lib/xprintf.c (xprintf, xfprintf): Test err < 0, not just "err".
38118         Don't bother testing specific errno values.  Just test ferror.
38119
38120         New module: xprintf
38121         * modules/xprintf, lib/xprintf.c, lib/xprintf.h: New files.
38122
38123 2007-10-19  Bruno Haible  <bruno@clisp.org>
38124
38125         * modules/csharpexec (Makefile.am): Use @FOO@ syntax instead of $(FOO)
38126         syntax.
38127         * modules/javaexec (Makefile.am): Likewise.
38128         * modules/relocatable-prog (Makefile.am): Likewise.
38129         Suggested by Jim Meyering.
38130
38131 2007-10-18  Bruno Haible  <bruno@clisp.org>
38132
38133         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on glibc >= 2.3 systems.
38134         Reported by Jim Meyering.
38135
38136 2007-10-18  Eric Blake  <ebb9@byu.net>
38137
38138         * modules/filenamecat-tests (Makefile.am): Link against -lintl.
38139
38140 2007-10-18  Bruno Haible  <bruno@clisp.org>
38141
38142         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N, gl_SNPRINTF_DIRECTIVE_N): Put
38143         the format string into writable memory. Needed in Fortify conditions.
38144
38145 2007-10-18  Colin Watson <cjwatson@debian.org>  (tiny change)
38146             Bruno Haible  <bruno@clisp.org>
38147
38148         * lib/trim.c: Include config.h unconditionally. Include trim.h always.
38149         Include ctype.h always. Include stdlib.h, not mbuiter.h, for MB_CUR_MAX.
38150         * modules/trim (Depends-on): Add mbchar.
38151         (configure.ac): Add gl_FUNC_MBRTOWC.
38152         (Makefile.am): Augment lib_SOURCES.
38153
38154 2007-10-17  Paul Eggert  <eggert@cs.ucla.edu>
38155
38156         Modify glob.c to use fstatat and dirfd, to simplify it.
38157         Suggested by Eric Blake.
38158         * lib/glob.c (__fxstatat64) [!_LIBC]: New macro.
38159         Don't include <stdbool.h>; not used.
38160         (link_exists2_p, glob_in_dir) [!_LIBC]: No longer a special case.
38161         (link_exists_p): Simplify implementation, since we can now assume
38162         dirfd and fstatat.
38163         * modules/glob (Depends-on): Add dirfd, openat.  Remove stdbool.
38164
38165 2007-10-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38166
38167         * gnulib-tool (func_get_dependencies): Fix sed script to
38168         match only tests.
38169
38170 2007-10-17  Bruno Haible  <bruno@clisp.org>
38171
38172         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): On Cygwin, don't
38173         allow locale names without encoding suffix.
38174         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
38175         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
38176
38177 2007-10-16  Bruno Haible  <bruno@clisp.org>
38178
38179         * lib/getcwd.c (__getcwd): Define with explicit rpl_ prefix.
38180         * lib/getgroups.c (getgroups): Likewise.
38181         * lib/gettimeofday.c (localtime, gmtime, tzset): Likewise.
38182
38183 2007-10-16  Bruno Haible  <bruno@clisp.org>
38184
38185         * modules/absolute-header (License): Change from LGPL to LGPLv2+.
38186         * modules/malloc-posix (License): Likewise.
38187         * modules/realloc-posix (License): Likewise.
38188         * modules/calloc-posix (License): Likewise.
38189         * modules/intprops (License): Change from GPL to LGPL, with
38190         Paul Eggert's approval.
38191
38192 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
38193
38194         Merge glibc changes into lib/glob.c.
38195
38196         * lib/glob.c (glob_in_dir): Sync with glibc/posix/glob.c, dated
38197         2007-10-15 04:59:03 UTC.  Here are the changes:
38198
38199         2007-10-14  Ulrich Drepper  <drepper@redhat.com>
38200
38201         * lib/glob.c: Reimplement link_exists_p to use fstatat64.
38202
38203         * lib/glob.c: Add some branch prediction throughout.
38204
38205         2007-10-07  Ulrich Drepper  <drepper@redhat.com>
38206
38207         [BZ #5103]
38208         * lib/glob.c (glob): Recognize patterns starting \/.
38209
38210         2007-02-14  Jakub Jelinek  <jakub@redhat.com>
38211
38212         [BZ #3996]
38213         * lib/glob.c (attribute_hidden): Define if not defined.
38214         (glob): Unescape dirname, filename or username when needed and not
38215         GLOB_NOESCAPE.  Handle \/ correctly.  Handle GLOB_MARK if filename
38216         is NULL.  Handle unescaped [ in pattern without closing ].
38217         Don't pass GLOB_CHECK down to recursive glob for directories.
38218         (__glob_pattern_type): New function.
38219         (__glob_pattern_p): Implement using __glob_pattern_type.
38220         (glob_in_dir): Handle GLOB_NOCHECK patterns containing no meta
38221         characters and backslashes if not GLOB_NOESCAPE or unterminated [.
38222         Remove unreachable code.
38223
38224         2006-09-30  Ulrich Drepper  <drepper@redhat.com>
38225
38226         * lib/glob.c (glob_in_dir): Add some comments and asserts to
38227         explain why there are no leaks.
38228
38229         2006-09-25  Jakub Jelinek  <jakub@redhat.com>
38230
38231         [BZ #3253]
38232         * lib/glob.c (glob_in_dir): Don't alloca one struct globlink at a
38233         time, rather allocate increasingly bigger arrays of pointers, if
38234         possible with alloca, if too large with malloc.
38235
38236 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
38237
38238         Check for 64-bit int errors in HP-UX 10.20 preprocessor.
38239         Problem reported by H.Merijn Brand in
38240         <http://lists.gnu.org/archive/html/bug-tar/2007-10/msg00018.html>.
38241         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Check preprocessor too.
38242         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
38243
38244 2007-10-15  Bruno Haible  <bruno@clisp.org>
38245
38246         * lib/fchdir.c (close, open, closedir, opendir, dup, dup2): Define
38247         with explicit rpl_ prefix.
38248         * lib/fopen.c (fopen): Likewise.
38249         * lib/freopen.c (freopen): Likewise.
38250         * lib/iconv.c (iconv): Likewise.
38251         * lib/iconv_close.c (iconv_close): Likewise.
38252
38253 2007-10-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38254
38255         * m4/iconv_open (gl_FUNC_ICONV_OPEN_UTF): Fix cache variable name.
38256
38257 2007-10-15  Bruno Haible  <bruno@clisp.org>
38258
38259         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Use
38260         <stddef.h> instead of <stdlib.h> since we only need NULL.
38261         Reported by Ben Pfaff <blp@cs.stanford.edu>.
38262
38263 2007-10-15  Bruno Haible  <bruno@clisp.org>
38264
38265         * doc/gnulib-tool.texi (Initial import): Swap order of -I directives.
38266         Replace paragraph talking about LIBOBJS.
38267         Reported by Colin Watson <cjwatson@debian.org>.
38268
38269 2007-10-15  Bruno Haible  <bruno@clisp.org>
38270
38271         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Include
38272         <stdlib.h> before using NULL.
38273
38274 2007-10-15  Simon Josefsson  <simon@josefsson.org>
38275
38276         * m4/getaddrinfo.m4: Use NULL rather than 0 for pointers.
38277         Reported by Albert Chin <china@thewrittenword.com>.
38278
38279 2007-10-14  Bruno Haible  <bruno@clisp.org>
38280
38281         * modules/iconv_open-utf-tests: New file.
38282         * tests/test-iconv-utf.c: New file.
38283
38284         Enhance iconv_open to support UTF-16BE, UTF-16LE, UTF-32BE, UTF-32LE.
38285         * modules/iconv_open-utf: New file.
38286         * lib/iconv.in.h (_ICONV_UTF8_UTF*, _ICONV_UTF*_UTF8): New macros.
38287         (iconv, iconv_close): New declarations.
38288         * lib/iconv_open.c: Include c-strcase.h. Don't require ICONV_FLAVOR to
38289         be defined.
38290         (iconv_open): Add special handling of conversion between UTF-8 and
38291         UTF-{16,32}{BE,LE}.
38292         * lib/iconv.c: New file, incorporating code from GNU libiconv 1.11.
38293         * lib/iconv_close.c: New file.
38294         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): New macro, extracted from
38295         gl_FUNC_ICONV_OPEN.
38296         (gl_FUNC_ICONV_OPEN): Use it.
38297         (gl_FUNC_ICONV_OPEN_UTF): New macro.
38298         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize also REPLACE_ICONV
38299         and REPLACE_ICONV_UTF.
38300         * modules/iconv_open (Depends-on): Add c-strcase.
38301         (Makefile.am): Substitute also REPLACE_ICONV, REPLACE_ICONV_UTF,
38302         ICONV_CONST.
38303         * doc/functions/iconv_open.texi: Mention the iconv_open-utf module.
38304
38305 2007-10-13  Albert Chin  <china@thewrittenword.com>
38306             Bruno Haible  <bruno@clisp.org>
38307
38308         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Perform the test for getaddrinfo
38309         through a link check that includes <netdb.h>. Needed for OSF/1 5.1.
38310
38311 2007-10-13  Bruno Haible  <bruno@clisp.org>
38312
38313         * lib/argp-fmtstream.h (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is
38314         defined, use the ISO C99 inline semantics.
38315         * lib/argp.h (ARGP_EI): Likewise.
38316
38317 2007-10-13  Bruno Haible  <bruno@clisp.org>
38318
38319         Handle 'inline' change in gcc 4.3.0.
38320         * lib/argp-fmtstream.h (argp_fmtstream_putc, argp_fmtstream_puts,
38321         argp_fmtstream_write, argp_fmtstream_set_lmargin,
38322         argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin,
38323         argp_fmtstream_point): Disable 'extern' declaration if the function
38324         definition is going to be provided inline.
38325         (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is defined, use the GNU C inline
38326         semantics, not the ISO C99 inline semantics.
38327         * lib/argp.h (argp_usage, _option_is_short, _option_is_end): Disable
38328         'extern' declaration if the function definition is going to be provided
38329         inline.
38330         (ARGP_EI): Don't assume GNU C. If __GNUC_STDC_INLINE__ is defined, use
38331         the GNU C inline semantics, not the ISO C99 inline semantics. With
38332         GCC 4.2, avoid a warning.
38333
38334 2007-10-13  Bruno Haible  <bruno@clisp.org>
38335
38336         * lib/freading.h (freading): Enable the use of __freading for
38337         glibc >= 2.7.
38338         * lib/freading.c (freading): Likewise.
38339
38340 2007-10-12  Paul Eggert  <eggert@cs.ucla.edu>
38341
38342         * lib/argp-fmtstream.h (ARGP_FS_EI): Work around GCC 4.2.1 diagnostic
38343         "warning: C99 inline functions are not supported; using GNU89".
38344
38345 2007-10-12  Bruno Haible  <bruno@clisp.org>
38346
38347         * lib/ceil.c (FUNC): Avoid rounding errors for values near a power
38348         of 2.
38349         * tests/test-ceilf2.c: New file.
38350         * modules/ceilf-tests: (Files, Depends-on, Makefile.am): Add new test.
38351
38352         * tests/test-ceilf1.c: Renamed from tests/test-ceilf.c.
38353         * modules/ceilf-tests: Update.
38354
38355 2007-10-12  Bruno Haible  <bruno@clisp.org>
38356
38357         * lib/floor.c (FUNC): Avoid rounding errors for values near a power
38358         of 2.
38359         * tests/test-floorf2.c: New file.
38360         * modules/floorf-tests: (Files, Depends-on, Makefile.am): Add new test.
38361
38362         * tests/test-floorf1.c: Renamed from tests/test-floorf.c.
38363         * modules/floorf-tests: Update.
38364
38365 2007-10-12  Bruno Haible  <bruno@clisp.org>
38366
38367         * tests/test-trunc2.c: New file.
38368         * modules/trunc-tests: (Files, Depends-on, Makefile.am): Add new test.
38369
38370         * tests/test-trunc1.c: Renamed from tests/test-trunc.c.
38371         * modules/trunc-tests: Update.
38372
38373 2007-10-12  Bruno Haible  <bruno@clisp.org>
38374
38375         * lib/trunc.c (FUNC): Avoid rounding errors for values near a power
38376         of 2.
38377         * tests/test-truncf2.c: New file.
38378         * modules/truncf-tests: (Files, Depends-on, Makefile.am): Add new test.
38379
38380         * tests/test-truncf1.c: Renamed from tests/test-truncf.c.
38381         * modules/truncf-tests: Update.
38382
38383 2007-10-11  Eric Blake  <ebb9@byu.net>
38384
38385         Don't claim strerror is broken on Interix.
38386         * doc/functions/strerror.texi (strerror): Known broken systems are
38387         now Solaris 8, and not Interix.
38388         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): No longer filter out
38389         Interix on cross-compile.
38390         Reported by Martin Koeppe in
38391         http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00005.html.
38392
38393 2007-10-11  Bruno Haible  <bruno@clisp.org>
38394
38395         * modules/i-ring-tests: New file.
38396         * tests/test-i-ring.c: Renamed from lib/i-ring-test.c. Use ASSERT
38397         instead of assert.
38398
38399 2007-10-11  Bruno Haible  <bruno@clisp.org>
38400
38401         * modules/filenamecat-tests: New file.
38402         * tests/test-filenamecat.c: New file, extracted from lib/filenamecat.c.
38403         * lib/filenamecat.c: Remove test code.
38404
38405 2007-10-11  Paul Eggert  <eggert@cs.ucla.edu>
38406
38407         Simplify and modernize strerror substitute, partly to fix Solaris 8 bug.
38408
38409         * lib/strerror.c: Include <string.h> always, to test interface,
38410         and to remove the need for the dummy.
38411         Include intprops.h to compute width instead of doing it ourselves
38412         and missing a CHAR_BIT declaration, which broke tar 1.19 on Solaris 8.
38413         (strerror): Define it to return NULL if there's no system strerror.
38414         (rpl_strerror): Use INT_STRLEN_BOUND to compute bound.
38415         Omit !HAVE_STRERROR code.  We don't need to worry about supporting
38416         ancient pre-strerror Unix systems well any more.  Saying "unknown
38417         system error" is enough.
38418         * lib/string.in.h (strerror): Simplify the ifdef to reflect the
38419         simpler strerror.c implementation.
38420         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE, gl_PREREQ_STDERROR):
38421         Simplify the tests to reflect the simpler strerror implementation.
38422         * modules/strerror (Depends-on): Add intprops.
38423
38424 2007-10-09  Eric Blake  <ebb9@byu.net>
38425
38426         Silence test-fpending.
38427         * modules/fpending-tests (Files): Add wrapper script.
38428         * tests/test-fpending.sh: New file.
38429
38430 2007-10-09  Bruno Haible  <bruno@clisp.org>
38431
38432         * MODULES.html.sh (func_module): Don't create a hyperlink for
38433         function names like 'printf_frexp'.
38434         (Misc): Add crc, memxor.
38435         (Characteristics of floating types): New section.
38436         (Mathematics): Add ceilf, ceill, floorf, floorl, frexpl-nolibm,
38437         isnanf-nolibm, signbit, trunc, truncf, truncl.
38438         (Enhancements for ISO C 99 functions): New subsection Input/output.
38439         (Support for systems lacking POSIX:2001): Add arpa_inet, calloc-posix,
38440         fcntl, fopen, freopen, fseek, fseeko, ftell, ftello, iconv_open,
38441         locale, malloc-posix, netinet_in, open, realloc-posix, signal, sleep.
38442         (Compatibility checks for POSIX:2001 functions): Add clock-time.
38443         (Enhancements for POSIX:2001 functions): Add chdir-long.
38444         (File system functions): Add areadlink, chdir-safer, read-file.
38445         Remove cycle-check.
38446         (File system as inode set): New section.
38447         (Date and time): Add gethrxtime.
38448         (Multithreading): Add openmp.
38449         (Internationalization functions): Add localename.
38450         (Unicode string functions): Add unistr/u*-mbsnlen.
38451         (Support for maintaining and releasing projects): Add git-version-gen.
38452         (Lone files): Remove directories.
38453
38454 2007-10-08  Ben Pfaff  <blp@gnu.org>
38455
38456         * lib/xmalloca.h: Fix typo in comment.
38457
38458 2007-10-08  Paul Eggert  <eggert@cs.ucla.edu>
38459
38460         * lib/xnanosleep.c (xnanosleep): Don't assume GCC 4.3.0 behavior
38461         when avoiding problems with integer overflow.  Use a portable test
38462         instead.
38463
38464 2007-10-08  Simon Josefsson  <simon@josefsson.org>
38465
38466         * modules/dummy (License): Change to LGPLv2+.
38467         * modules/float (License): Likewise
38468         * modules/realloc (License): Likewise
38469         * modules/stdlib (License): Likewise
38470
38471 2007-10-07  Bruno Haible  <bruno@clisp.org>
38472
38473         * trunc.c (TWO_MANT_DIG): Change type to DOUBLE.
38474         * floor.c (TWO_MANT_DIG): Likewise.
38475         * ceil.c (TWO_MANT_DIG): Likewise.
38476         Reported by Ben Pfaff.
38477
38478 2007-10-07  Bruno Haible  <bruno@clisp.org>
38479
38480         Avoid gcc warnings "declaration of 'exp' shadows a global declaration".
38481         * lib/math.in.h (frexp, frexpl): Change parameter name to 'expptr'.
38482         * lib/frexp.c (FUNC): Likewise.
38483         * lib/printf-frexp.h (printf_frexp): Likewise.
38484         * lib/printf-frexpl.h (printf_frexpl): Likewise.
38485         * lib/printf-frexp.c (FUNC): Likewise.
38486         Suggested by Jim Meyering.
38487
38488 2007-10-07  Jim Meyering  <meyering@redhat.com>
38489
38490         Make xnanosleep's integer overflow test more robust.
38491         * lib/xnanosleep.c (xnanosleep): Declare a temporary to be "volatile",
38492         so that gcc-4.3.0 doesn't optimize away this test for overflow.
38493
38494 2007-10-07  Bruno Haible  <bruno@clisp.org>
38495
38496         * NEWS: Mention the license change.
38497
38498         * doc/gnulib-intro.texi (Copyright): Update the meaning of the license
38499         abbreviations in the modules files.
38500
38501         Change copyright notice from GPLv2+ to GPLv3+.
38502         * README: Change copyright notice.
38503         * MODULES.html.sh: Likewise.
38504         * build-aux/bootstrap.conf: Likewise.
38505         * build-aux/config.libpath: Likewise.
38506         * build-aux/csharpcomp.sh.in: Likewise.
38507         * build-aux/csharpexec.sh.in: Likewise.
38508         * build-aux/install-reloc: Likewise.
38509         * build-aux/javacomp.sh.in: Likewise.
38510         * build-aux/javaexec.sh.in: Likewise.
38511         * build-aux/ldd.sh.in: Likewise.
38512         * build-aux/reloc-ldflags: Likewise.
38513         * build-aux/relocatable.sh.in: Likewise.
38514         * build-aux/x-to-1.in: Likewise.
38515         * check-module: Likewise.
38516         * config/srclistvars.sh: Likewise.
38517         * gnulib-tool: Likewise.
38518         * lib/acl-internal.h: Likewise.
38519         * lib/acl.c: Likewise.
38520         * lib/acl.h: Likewise.
38521         * lib/acl_entries.c: Likewise.
38522         * lib/areadlink-with-size.c: Likewise.
38523         * lib/areadlink.c: Likewise.
38524         * lib/areadlink.h: Likewise.
38525         * lib/argmatch.c: Likewise.
38526         * lib/argmatch.h: Likewise.
38527         * lib/argp-ba.c: Likewise.
38528         * lib/argp-eexst.c: Likewise.
38529         * lib/argp-fmtstream.c: Likewise.
38530         * lib/argp-fmtstream.h: Likewise.
38531         * lib/argp-fs-xinl.c: Likewise.
38532         * lib/argp-help.c: Likewise.
38533         * lib/argp-namefrob.h: Likewise.
38534         * lib/argp-parse.c: Likewise.
38535         * lib/argp-pin.c: Likewise.
38536         * lib/argp-pv.c: Likewise.
38537         * lib/argp-pvh.c: Likewise.
38538         * lib/argp-xinl.c: Likewise.
38539         * lib/argp.h: Likewise.
38540         * lib/at-func.c: Likewise.
38541         * lib/atanl.c: Likewise.
38542         * lib/backupfile.c: Likewise.
38543         * lib/backupfile.h: Likewise.
38544         * lib/basename.c: Likewise.
38545         * lib/binary-io.h: Likewise.
38546         * lib/byteswap.in.h: Likewise.
38547         * lib/c-stack.c: Likewise.
38548         * lib/c-stack.h: Likewise.
38549         * lib/c-strcasestr.c: Likewise.
38550         * lib/c-strcasestr.h: Likewise.
38551         * lib/c-strstr.c: Likewise.
38552         * lib/c-strstr.h: Likewise.
38553         * lib/c-strtod.c: Likewise.
38554         * lib/calloc.c: Likewise.
38555         * lib/canon-host.c: Likewise.
38556         * lib/canon-host.h: Likewise.
38557         * lib/canonicalize-lgpl.c: Likewise.
38558         * lib/canonicalize.c: Likewise.
38559         * lib/canonicalize.h: Likewise.
38560         * lib/ceil.c: Likewise.
38561         * lib/ceilf.c: Likewise.
38562         * lib/ceill.c: Likewise.
38563         * lib/chdir-long.c: Likewise.
38564         * lib/chdir-long.h: Likewise.
38565         * lib/chdir-safer.c: Likewise.
38566         * lib/chdir-safer.h: Likewise.
38567         * lib/chown.c: Likewise.
38568         * lib/classpath.c: Likewise.
38569         * lib/classpath.h: Likewise.
38570         * lib/clean-temp.c: Likewise.
38571         * lib/clean-temp.h: Likewise.
38572         * lib/cloexec.c: Likewise.
38573         * lib/close-stream.c: Likewise.
38574         * lib/closein.c: Likewise.
38575         * lib/closein.h: Likewise.
38576         * lib/closeout.c: Likewise.
38577         * lib/closeout.h: Likewise.
38578         * lib/concat-filename.c: Likewise.
38579         * lib/copy-file.c: Likewise.
38580         * lib/copy-file.h: Likewise.
38581         * lib/count-one-bits.h: Likewise.
38582         * lib/crc.c: Likewise.
38583         * lib/crc.h: Likewise.
38584         * lib/creat-safer.c: Likewise.
38585         * lib/csharpcomp.c: Likewise.
38586         * lib/csharpcomp.h: Likewise.
38587         * lib/csharpexec.c: Likewise.
38588         * lib/csharpexec.h: Likewise.
38589         * lib/cycle-check.c: Likewise.
38590         * lib/cycle-check.h: Likewise.
38591         * lib/diacrit.c: Likewise.
38592         * lib/diacrit.h: Likewise.
38593         * lib/diffseq.h: Likewise.
38594         * lib/dirchownmod.c: Likewise.
38595         * lib/dirent.in.h: Likewise.
38596         * lib/dirfd.c: Likewise.
38597         * lib/dirfd.h: Likewise.
38598         * lib/dirname.c: Likewise.
38599         * lib/dirname.h: Likewise.
38600         * lib/dummy.c: Likewise.
38601         * lib/dup-safer.c: Likewise.
38602         * lib/dup2.c: Likewise.
38603         * lib/eealloc.h: Likewise.
38604         * lib/error.c: Likewise.
38605         * lib/error.h: Likewise.
38606         * lib/euidaccess.c: Likewise.
38607         * lib/exclude.c: Likewise.
38608         * lib/exclude.h: Likewise.
38609         * lib/execute.c: Likewise.
38610         * lib/execute.h: Likewise.
38611         * lib/exitfail.c: Likewise.
38612         * lib/exitfail.h: Likewise.
38613         * lib/expl.c: Likewise.
38614         * lib/fatal-signal.c: Likewise.
38615         * lib/fatal-signal.h: Likewise.
38616         * lib/fbufmode.c: Likewise.
38617         * lib/fbufmode.h: Likewise.
38618         * lib/fchdir.c: Likewise.
38619         * lib/fchmodat.c: Likewise.
38620         * lib/fchownat.c: Likewise.
38621         * lib/fcntl--.h: Likewise.
38622         * lib/fcntl-safer.h: Likewise.
38623         * lib/fcntl.in.h: Likewise.
38624         * lib/fd-safer.c: Likewise.
38625         * lib/fflush.c: Likewise.
38626         * lib/file-has-acl.c: Likewise.
38627         * lib/file-set.c: Likewise.
38628         * lib/file-type.c: Likewise.
38629         * lib/file-type.h: Likewise.
38630         * lib/fileblocks.c: Likewise.
38631         * lib/filemode.c: Likewise.
38632         * lib/filemode.h: Likewise.
38633         * lib/filename.h: Likewise.
38634         * lib/filenamecat.c: Likewise.
38635         * lib/filenamecat.h: Likewise.
38636         * lib/findprog.c: Likewise.
38637         * lib/findprog.h: Likewise.
38638         * lib/float.in.h: Likewise.
38639         * lib/floor.c: Likewise.
38640         * lib/floorf.c: Likewise.
38641         * lib/floorl.c: Likewise.
38642         * lib/fopen-safer.c: Likewise.
38643         * lib/fopen.c: Likewise.
38644         * lib/fpending.c: Likewise.
38645         * lib/fpending.h: Likewise.
38646         * lib/fprintf.c: Likewise.
38647         * lib/fprintftime.h: Likewise.
38648         * lib/fpucw.h: Likewise.
38649         * lib/fpurge.c: Likewise.
38650         * lib/fpurge.h: Likewise.
38651         * lib/freadable.c: Likewise.
38652         * lib/freadable.h: Likewise.
38653         * lib/freadahead.c: Likewise.
38654         * lib/freadahead.h: Likewise.
38655         * lib/freading.c: Likewise.
38656         * lib/freading.h: Likewise.
38657         * lib/free.c: Likewise.
38658         * lib/freopen.c: Likewise.
38659         * lib/frexp.c: Likewise.
38660         * lib/frexpl.c: Likewise.
38661         * lib/fseek.c: Likewise.
38662         * lib/fseterr.c: Likewise.
38663         * lib/fseterr.h: Likewise.
38664         * lib/fstatat.c: Likewise.
38665         * lib/fstrcmp.c: Likewise.
38666         * lib/fstrcmp.h: Likewise.
38667         * lib/fsusage.c: Likewise.
38668         * lib/fsusage.h: Likewise.
38669         * lib/ftell.c: Likewise.
38670         * lib/ftello.c: Likewise.
38671         * lib/fts-cycle.c: Likewise.
38672         * lib/fts.c: Likewise.
38673         * lib/fts_.h: Likewise.
38674         * lib/full-read.c: Likewise.
38675         * lib/full-read.h: Likewise.
38676         * lib/full-write.c: Likewise.
38677         * lib/full-write.h: Likewise.
38678         * lib/fwritable.c: Likewise.
38679         * lib/fwritable.h: Likewise.
38680         * lib/fwriteerror.c: Likewise.
38681         * lib/fwriteerror.h: Likewise.
38682         * lib/fwriting.c: Likewise.
38683         * lib/fwriting.h: Likewise.
38684         * lib/gcd.c: Likewise.
38685         * lib/gcd.h: Likewise.
38686         * lib/getcwd.c: Likewise.
38687         * lib/getdate.h: Likewise.
38688         * lib/getdate.y: Likewise.
38689         * lib/getdomainname.c: Likewise.
38690         * lib/getdomainname.h: Likewise.
38691         * lib/getgroups.c: Likewise.
38692         * lib/gethostname.c: Likewise.
38693         * lib/gethrxtime.c: Likewise.
38694         * lib/gethrxtime.h: Likewise.
38695         * lib/getloadavg.c: Likewise.
38696         * lib/getndelim2.c: Likewise.
38697         * lib/getndelim2.h: Likewise.
38698         * lib/getnline.c: Likewise.
38699         * lib/getnline.h: Likewise.
38700         * lib/getopt.c: Likewise.
38701         * lib/getopt.in.h: Likewise.
38702         * lib/getopt1.c: Likewise.
38703         * lib/getopt_int.h: Likewise.
38704         * lib/getpagesize.h: Likewise.
38705         * lib/getsubopt.c: Likewise.
38706         * lib/gettime.c: Likewise.
38707         * lib/getugroups.c: Likewise.
38708         * lib/getugroups.h: Likewise.
38709         * lib/getusershell.c: Likewise.
38710         * lib/gl_anyavltree_list1.h: Likewise.
38711         * lib/gl_anyavltree_list2.h: Likewise.
38712         * lib/gl_anyhash_list1.h: Likewise.
38713         * lib/gl_anyhash_list2.h: Likewise.
38714         * lib/gl_anylinked_list1.h: Likewise.
38715         * lib/gl_anylinked_list2.h: Likewise.
38716         * lib/gl_anyrbtree_list1.h: Likewise.
38717         * lib/gl_anyrbtree_list2.h: Likewise.
38718         * lib/gl_anytree_list1.h: Likewise.
38719         * lib/gl_anytree_list2.h: Likewise.
38720         * lib/gl_anytree_oset.h: Likewise.
38721         * lib/gl_anytreehash_list1.h: Likewise.
38722         * lib/gl_anytreehash_list2.h: Likewise.
38723         * lib/gl_array_list.c: Likewise.
38724         * lib/gl_array_list.h: Likewise.
38725         * lib/gl_array_oset.c: Likewise.
38726         * lib/gl_array_oset.h: Likewise.
38727         * lib/gl_avltree_list.c: Likewise.
38728         * lib/gl_avltree_list.h: Likewise.
38729         * lib/gl_avltree_oset.c: Likewise.
38730         * lib/gl_avltree_oset.h: Likewise.
38731         * lib/gl_avltreehash_list.c: Likewise.
38732         * lib/gl_avltreehash_list.h: Likewise.
38733         * lib/gl_carray_list.c: Likewise.
38734         * lib/gl_carray_list.h: Likewise.
38735         * lib/gl_linked_list.c: Likewise.
38736         * lib/gl_linked_list.h: Likewise.
38737         * lib/gl_linkedhash_list.c: Likewise.
38738         * lib/gl_linkedhash_list.h: Likewise.
38739         * lib/gl_list.c: Likewise.
38740         * lib/gl_list.h: Likewise.
38741         * lib/gl_oset.c: Likewise.
38742         * lib/gl_oset.h: Likewise.
38743         * lib/gl_rbtree_list.c: Likewise.
38744         * lib/gl_rbtree_list.h: Likewise.
38745         * lib/gl_rbtree_oset.c: Likewise.
38746         * lib/gl_rbtree_oset.h: Likewise.
38747         * lib/gl_rbtreehash_list.c: Likewise.
38748         * lib/gl_rbtreehash_list.h: Likewise.
38749         * lib/gl_sublist.c: Likewise.
38750         * lib/gl_sublist.h: Likewise.
38751         * lib/group-member.c: Likewise.
38752         * lib/group-member.h: Likewise.
38753         * lib/hard-locale.c: Likewise.
38754         * lib/hard-locale.h: Likewise.
38755         * lib/hash-pjw.c: Likewise.
38756         * lib/hash-pjw.h: Likewise.
38757         * lib/hash-triple.c: Likewise.
38758         * lib/hash.c: Likewise.
38759         * lib/hash.h: Likewise.
38760         * lib/human.c: Likewise.
38761         * lib/human.h: Likewise.
38762         * lib/i-ring.c: Likewise.
38763         * lib/i-ring.h: Likewise.
38764         * lib/idcache.c: Likewise.
38765         * lib/imaxabs.c: Likewise.
38766         * lib/imaxdiv.c: Likewise.
38767         * lib/inet_pton.c: Likewise.
38768         * lib/inet_pton.h: Likewise.
38769         * lib/intprops.h: Likewise.
38770         * lib/inttostr.c: Likewise.
38771         * lib/inttostr.h: Likewise.
38772         * lib/inttypes.in.h: Likewise.
38773         * lib/isapipe.c: Likewise.
38774         * lib/isdir.c: Likewise.
38775         * lib/isnan.c: Likewise.
38776         * lib/isnan.h: Likewise.
38777         * lib/isnanf.c: Likewise.
38778         * lib/isnanf.h: Likewise.
38779         * lib/isnanl-nolibm.h: Likewise.
38780         * lib/isnanl.c: Likewise.
38781         * lib/isnanl.h: Likewise.
38782         * lib/javacomp.c: Likewise.
38783         * lib/javacomp.h: Likewise.
38784         * lib/javaexec.c: Likewise.
38785         * lib/javaexec.h: Likewise.
38786         * lib/javaversion.c: Likewise.
38787         * lib/javaversion.h: Likewise.
38788         * lib/javaversion.java: Likewise.
38789         * lib/lbrkprop.h: Likewise.
38790         * lib/lchmod.h: Likewise.
38791         * lib/lchown.c: Likewise.
38792         * lib/ldexpl.c: Likewise.
38793         * lib/linebreak.c: Likewise.
38794         * lib/linebreak.h: Likewise.
38795         * lib/linebuffer.c: Likewise.
38796         * lib/linebuffer.h: Likewise.
38797         * lib/locale.in.h: Likewise.
38798         * lib/logl.c: Likewise.
38799         * lib/long-options.c: Likewise.
38800         * lib/long-options.h: Likewise.
38801         * lib/lstat.c: Likewise.
38802         * lib/lstat.h: Likewise.
38803         * lib/math.in.h: Likewise.
38804         * lib/mbchar.c: Likewise.
38805         * lib/mbchar.h: Likewise.
38806         * lib/mbfile.h: Likewise.
38807         * lib/mbiter.h: Likewise.
38808         * lib/mbscasecmp.c: Likewise.
38809         * lib/mbscasestr.c: Likewise.
38810         * lib/mbschr.c: Likewise.
38811         * lib/mbscspn.c: Likewise.
38812         * lib/mbslen.c: Likewise.
38813         * lib/mbsncasecmp.c: Likewise.
38814         * lib/mbsnlen.c: Likewise.
38815         * lib/mbspbrk.c: Likewise.
38816         * lib/mbspcasecmp.c: Likewise.
38817         * lib/mbsrchr.c: Likewise.
38818         * lib/mbssep.c: Likewise.
38819         * lib/mbsspn.c: Likewise.
38820         * lib/mbsstr.c: Likewise.
38821         * lib/mbstok_r.c: Likewise.
38822         * lib/mbswidth.c: Likewise.
38823         * lib/mbswidth.h: Likewise.
38824         * lib/mbuiter.h: Likewise.
38825         * lib/memcasecmp.c: Likewise.
38826         * lib/memcasecmp.h: Likewise.
38827         * lib/memchr.c: Likewise.
38828         * lib/memcmp.c: Likewise.
38829         * lib/memcoll.c: Likewise.
38830         * lib/memcoll.h: Likewise.
38831         * lib/memcpy.c: Likewise.
38832         * lib/memrchr.c: Likewise.
38833         * lib/mkancesdirs.c: Likewise.
38834         * lib/mkdir-p.c: Likewise.
38835         * lib/mkdir-p.h: Likewise.
38836         * lib/mkdir.c: Likewise.
38837         * lib/mkdirat.c: Likewise.
38838         * lib/mkdtemp.c: Likewise.
38839         * lib/mkstemp-safer.c: Likewise.
38840         * lib/mkstemp.c: Likewise.
38841         * lib/modechange.c: Likewise.
38842         * lib/modechange.h: Likewise.
38843         * lib/mountlist.c: Likewise.
38844         * lib/mountlist.h: Likewise.
38845         * lib/mpsort.c: Likewise.
38846         * lib/nanosleep.c: Likewise.
38847         * lib/obstack.c: Likewise.
38848         * lib/obstack.h: Likewise.
38849         * lib/open-safer.c: Likewise.
38850         * lib/open.c: Likewise.
38851         * lib/openat-die.c: Likewise.
38852         * lib/openat-priv.h: Likewise.
38853         * lib/openat-proc.c: Likewise.
38854         * lib/openat.c: Likewise.
38855         * lib/openat.h: Likewise.
38856         * lib/pagealign_alloc.c: Likewise.
38857         * lib/pagealign_alloc.h: Likewise.
38858         * lib/physmem.c: Likewise.
38859         * lib/physmem.h: Likewise.
38860         * lib/pipe-safer.c: Likewise.
38861         * lib/pipe.c: Likewise.
38862         * lib/pipe.h: Likewise.
38863         * lib/posixtm.c: Likewise.
38864         * lib/posixtm.h: Likewise.
38865         * lib/posixver.c: Likewise.
38866         * lib/printf-frexp.c: Likewise.
38867         * lib/printf-frexp.h: Likewise.
38868         * lib/printf-frexpl.c: Likewise.
38869         * lib/printf-frexpl.h: Likewise.
38870         * lib/printf.c: Likewise.
38871         * lib/progname.c: Likewise.
38872         * lib/progname.h: Likewise.
38873         * lib/progreloc.c: Likewise.
38874         * lib/putenv.c: Likewise.
38875         * lib/quote.c: Likewise.
38876         * lib/quote.h: Likewise.
38877         * lib/quotearg.c: Likewise.
38878         * lib/quotearg.h: Likewise.
38879         * lib/raise.c: Likewise.
38880         * lib/readline.c: Likewise.
38881         * lib/readline.h: Likewise.
38882         * lib/readlink.c: Likewise.
38883         * lib/readtokens.c: Likewise.
38884         * lib/readtokens.h: Likewise.
38885         * lib/readtokens0.c: Likewise.
38886         * lib/readtokens0.h: Likewise.
38887         * lib/readutmp.c: Likewise.
38888         * lib/readutmp.h: Likewise.
38889         * lib/realloc.c: Likewise.
38890         * lib/relocwrapper.c: Likewise.
38891         * lib/rename-dest-slash.c: Likewise.
38892         * lib/rename.c: Likewise.
38893         * lib/rmdir.c: Likewise.
38894         * lib/rpmatch.c: Likewise.
38895         * lib/safe-read.c: Likewise.
38896         * lib/safe-read.h: Likewise.
38897         * lib/safe-write.c: Likewise.
38898         * lib/safe-write.h: Likewise.
38899         * lib/same-inode.h: Likewise.
38900         * lib/same.c: Likewise.
38901         * lib/same.h: Likewise.
38902         * lib/save-cwd.c: Likewise.
38903         * lib/save-cwd.h: Likewise.
38904         * lib/savedir.c: Likewise.
38905         * lib/savedir.h: Likewise.
38906         * lib/savewd.c: Likewise.
38907         * lib/savewd.h: Likewise.
38908         * lib/search.in.h: Likewise.
38909         * lib/setenv.c: Likewise.
38910         * lib/setenv.h: Likewise.
38911         * lib/settime.c: Likewise.
38912         * lib/sh-quote.c: Likewise.
38913         * lib/sh-quote.h: Likewise.
38914         * lib/sig2str.c: Likewise.
38915         * lib/sig2str.h: Likewise.
38916         * lib/signal.in.h: Likewise.
38917         * lib/signbitd.c: Likewise.
38918         * lib/signbitf.c: Likewise.
38919         * lib/signbitl.c: Likewise.
38920         * lib/sigprocmask.c: Likewise.
38921         * lib/sincosl.c: Likewise.
38922         * lib/sleep.c: Likewise.
38923         * lib/sprintf.c: Likewise.
38924         * lib/sqrtl.c: Likewise.
38925         * lib/stat-time.h: Likewise.
38926         * lib/stdio--.h: Likewise.
38927         * lib/stdio-safer.h: Likewise.
38928         * lib/stdlib--.h: Likewise.
38929         * lib/stdlib-safer.h: Likewise.
38930         * lib/stdlib.in.h: Likewise.
38931         * lib/stpcpy.c: Likewise.
38932         * lib/stpncpy.c: Likewise.
38933         * lib/strchrnul.c: Likewise.
38934         * lib/strcspn.c: Likewise.
38935         * lib/strerror.c: Likewise.
38936         * lib/strftime.c: Likewise.
38937         * lib/strftime.h: Likewise.
38938         * lib/striconveh.c: Likewise.
38939         * lib/striconveh.h: Likewise.
38940         * lib/striconveha.c: Likewise.
38941         * lib/striconveha.h: Likewise.
38942         * lib/stripslash.c: Likewise.
38943         * lib/strnlen1.c: Likewise.
38944         * lib/strnlen1.h: Likewise.
38945         * lib/strtod.c: Likewise.
38946         * lib/strtoimax.c: Likewise.
38947         * lib/strtok_r.c: Likewise.
38948         * lib/strtol.c: Likewise.
38949         * lib/strtoll.c: Likewise.
38950         * lib/strtoul.c: Likewise.
38951         * lib/strtoull.c: Likewise.
38952         * lib/sysexits.in.h: Likewise.
38953         * lib/tempname.c: Likewise.
38954         * lib/tempname.h: Likewise.
38955         * lib/timespec.h: Likewise.
38956         * lib/tls.c: Likewise.
38957         * lib/tls.h: Likewise.
38958         * lib/tmpdir.c: Likewise.
38959         * lib/tmpdir.h: Likewise.
38960         * lib/tmpfile-safer.c: Likewise.
38961         * lib/tmpfile.c: Likewise.
38962         * lib/trigl.c: Likewise.
38963         * lib/trigl.h: Likewise.
38964         * lib/trim.c: Likewise.
38965         * lib/trim.h: Likewise.
38966         * lib/trunc.c: Likewise.
38967         * lib/truncf.c: Likewise.
38968         * lib/truncl.c: Likewise.
38969         * lib/tsearch.c: Likewise.
38970         * lib/unicodeio.c: Likewise.
38971         * lib/unicodeio.h: Likewise.
38972         * lib/unistd--.h: Likewise.
38973         * lib/unistd-safer.h: Likewise.
38974         * lib/unistdio/ulc-fprintf.c: Likewise.
38975         * lib/unistdio/ulc-vfprintf.c: Likewise.
38976         * lib/unlinkdir.c: Likewise.
38977         * lib/unlinkdir.h: Likewise.
38978         * lib/unlocked-io.h: Likewise.
38979         * lib/unsetenv.c: Likewise.
38980         * lib/userspec.c: Likewise.
38981         * lib/utime.c: Likewise.
38982         * lib/utimecmp.c: Likewise.
38983         * lib/utimecmp.h: Likewise.
38984         * lib/utimens.c: Likewise.
38985         * lib/verify.h: Likewise.
38986         * lib/verror.c: Likewise.
38987         * lib/verror.h: Likewise.
38988         * lib/version-etc-fsf.c: Likewise.
38989         * lib/version-etc.c: Likewise.
38990         * lib/version-etc.h: Likewise.
38991         * lib/vfprintf.c: Likewise.
38992         * lib/vprintf.c: Likewise.
38993         * lib/vsprintf.c: Likewise.
38994         * lib/w32spawn.h: Likewise.
38995         * lib/wait-process.c: Likewise.
38996         * lib/wait-process.h: Likewise.
38997         * lib/wcwidth.c: Likewise.
38998         * lib/write-any-file.c: Likewise.
38999         * lib/xalloc-die.c: Likewise.
39000         * lib/xalloc.h: Likewise.
39001         * lib/xasprintf.c: Likewise.
39002         * lib/xgetcwd.c: Likewise.
39003         * lib/xgetcwd.h: Likewise.
39004         * lib/xgetdomainname.c: Likewise.
39005         * lib/xgetdomainname.h: Likewise.
39006         * lib/xgethostname.c: Likewise.
39007         * lib/xmalloc.c: Likewise.
39008         * lib/xmalloca.c: Likewise.
39009         * lib/xmalloca.h: Likewise.
39010         * lib/xmemcoll.c: Likewise.
39011         * lib/xnanosleep.c: Likewise.
39012         * lib/xreadlink.c: Likewise.
39013         * lib/xreadlink.h: Likewise.
39014         * lib/xsetenv.c: Likewise.
39015         * lib/xsetenv.h: Likewise.
39016         * lib/xstriconv.c: Likewise.
39017         * lib/xstriconv.h: Likewise.
39018         * lib/xstrndup.c: Likewise.
39019         * lib/xstrndup.h: Likewise.
39020         * lib/xstrtod.c: Likewise.
39021         * lib/xstrtod.h: Likewise.
39022         * lib/xstrtol-error.c: Likewise.
39023         * lib/xstrtol.c: Likewise.
39024         * lib/xstrtol.h: Likewise.
39025         * lib/xtime.h: Likewise.
39026         * lib/xvasprintf.c: Likewise.
39027         * lib/xvasprintf.h: Likewise.
39028         * lib/yesno.c: Likewise.
39029         * lib/yesno.h: Likewise.
39030         * posix-modules: Likewise.
39031         * tests/test-alloca-opt.c: Likewise.
39032         * tests/test-arcfour.c: Likewise.
39033         * tests/test-arctwo.c: Likewise.
39034         * tests/test-argmatch.c: Likewise.
39035         * tests/test-argp-2.sh: Likewise.
39036         * tests/test-argp.c: Likewise.
39037         * tests/test-arpa_inet.c: Likewise.
39038         * tests/test-array_list.c: Likewise.
39039         * tests/test-array_oset.c: Likewise.
39040         * tests/test-atexit.c: Likewise.
39041         * tests/test-avltree_list.c: Likewise.
39042         * tests/test-avltree_oset.c: Likewise.
39043         * tests/test-avltreehash_list.c: Likewise.
39044         * tests/test-base64.c: Likewise.
39045         * tests/test-binary-io.c: Likewise.
39046         * tests/test-byteswap.c: Likewise.
39047         * tests/test-c-ctype.c: Likewise.
39048         * tests/test-c-strcasecmp.c: Likewise.
39049         * tests/test-c-strcasestr.c: Likewise.
39050         * tests/test-c-strncasecmp.c: Likewise.
39051         * tests/test-c-strstr.c: Likewise.
39052         * tests/test-canonicalize-lgpl.c: Likewise.
39053         * tests/test-canonicalize.c: Likewise.
39054         * tests/test-carray_list.c: Likewise.
39055         * tests/test-ceilf.c: Likewise.
39056         * tests/test-ceill.c: Likewise.
39057         * tests/test-count-one-bits.c: Likewise.
39058         * tests/test-crc.c: Likewise.
39059         * tests/test-dirname.c: Likewise.
39060         * tests/test-fbufmode.c: Likewise.
39061         * tests/test-fcntl.c: Likewise.
39062         * tests/test-fflush.c: Likewise.
39063         * tests/test-floorf.c: Likewise.
39064         * tests/test-floorl.c: Likewise.
39065         * tests/test-fopen.c: Likewise.
39066         * tests/test-fprintf-posix.c: Likewise.
39067         * tests/test-fprintf-posix.h: Likewise.
39068         * tests/test-fpurge.c: Likewise.
39069         * tests/test-freadable.c: Likewise.
39070         * tests/test-freadahead.c: Likewise.
39071         * tests/test-freading.c: Likewise.
39072         * tests/test-freopen.c: Likewise.
39073         * tests/test-frexp.c: Likewise.
39074         * tests/test-frexpl.c: Likewise.
39075         * tests/test-fseek.c: Likewise.
39076         * tests/test-fseeko.c: Likewise.
39077         * tests/test-fseterr.c: Likewise.
39078         * tests/test-fstrcmp.c: Likewise.
39079         * tests/test-ftell.c: Likewise.
39080         * tests/test-ftello.c: Likewise.
39081         * tests/test-fwritable.c: Likewise.
39082         * tests/test-fwriting.c: Likewise.
39083         * tests/test-getaddrinfo.c: Likewise.
39084         * tests/test-getpass.c: Likewise.
39085         * tests/test-gettimeofday.c: Likewise.
39086         * tests/test-hmac-md5.c: Likewise.
39087         * tests/test-hmac-sha1.c: Likewise.
39088         * tests/test-iconv.c: Likewise.
39089         * tests/test-iconvme.c: Likewise.
39090         * tests/test-inttypes.c: Likewise.
39091         * tests/test-isnan.c: Likewise.
39092         * tests/test-isnanf.c: Likewise.
39093         * tests/test-isnanl-nolibm.c: Likewise.
39094         * tests/test-isnanl.c: Likewise.
39095         * tests/test-isnanl.h: Likewise.
39096         * tests/test-ldexpl.c: Likewise.
39097         * tests/test-linked_list.c: Likewise.
39098         * tests/test-linkedhash_list.c: Likewise.
39099         * tests/test-locale.c: Likewise.
39100         * tests/test-localename.c: Likewise.
39101         * tests/test-lock.c: Likewise.
39102         * tests/test-lseek.c: Likewise.
39103         * tests/test-malloca.c: Likewise.
39104         * tests/test-math.c: Likewise.
39105         * tests/test-mbscasecmp.c: Likewise.
39106         * tests/test-mbscasestr1.c: Likewise.
39107         * tests/test-mbscasestr2.c: Likewise.
39108         * tests/test-mbscasestr3.c: Likewise.
39109         * tests/test-mbscasestr4.c: Likewise.
39110         * tests/test-mbschr.c: Likewise.
39111         * tests/test-mbscspn.c: Likewise.
39112         * tests/test-mbsncasecmp.c: Likewise.
39113         * tests/test-mbspbrk.c: Likewise.
39114         * tests/test-mbspcasecmp.c: Likewise.
39115         * tests/test-mbsrchr.c: Likewise.
39116         * tests/test-mbsspn.c: Likewise.
39117         * tests/test-mbsstr1.c: Likewise.
39118         * tests/test-mbsstr2.c: Likewise.
39119         * tests/test-mbsstr3.c: Likewise.
39120         * tests/test-md5.c: Likewise.
39121         * tests/test-memmem.c: Likewise.
39122         * tests/test-netinet_in.c: Likewise.
39123         * tests/test-open.c: Likewise.
39124         * tests/test-printf-frexp.c: Likewise.
39125         * tests/test-printf-frexpl.c: Likewise.
39126         * tests/test-printf-posix.c: Likewise.
39127         * tests/test-printf-posix.h: Likewise.
39128         * tests/test-rbtree_list.c: Likewise.
39129         * tests/test-rbtree_oset.c: Likewise.
39130         * tests/test-rbtreehash_list.c: Likewise.
39131         * tests/test-read-file.c: Likewise.
39132         * tests/test-rijndael.c: Likewise.
39133         * tests/test-search.c: Likewise.
39134         * tests/test-signbit.c: Likewise.
39135         * tests/test-sleep.c: Likewise.
39136         * tests/test-snprintf-posix.c: Likewise.
39137         * tests/test-snprintf-posix.h: Likewise.
39138         * tests/test-snprintf.c: Likewise.
39139         * tests/test-sprintf-posix.c: Likewise.
39140         * tests/test-sprintf-posix.h: Likewise.
39141         * tests/test-stat-time.c: Likewise.
39142         * tests/test-stdbool.c: Likewise.
39143         * tests/test-stdint.c: Likewise.
39144         * tests/test-stdio.c: Likewise.
39145         * tests/test-stdlib.c: Likewise.
39146         * tests/test-stpncpy.c: Likewise.
39147         * tests/test-strcasestr.c: Likewise.
39148         * tests/test-striconv.c: Likewise.
39149         * tests/test-striconveh.c: Likewise.
39150         * tests/test-striconveha.c: Likewise.
39151         * tests/test-string.c: Likewise.
39152         * tests/test-sys_select.c: Likewise.
39153         * tests/test-sys_socket.c: Likewise.
39154         * tests/test-sys_stat.c: Likewise.
39155         * tests/test-sys_time.c: Likewise.
39156         * tests/test-sysexits.c: Likewise.
39157         * tests/test-time.c: Likewise.
39158         * tests/test-tls.c: Likewise.
39159         * tests/test-trunc.c: Likewise.
39160         * tests/test-truncf.c: Likewise.
39161         * tests/test-truncl.c: Likewise.
39162         * tests/test-unistd.c: Likewise.
39163         * tests/test-vasnprintf-posix.c: Likewise.
39164         * tests/test-vasnprintf-posix2.c: Likewise.
39165         * tests/test-vasnprintf.c: Likewise.
39166         * tests/test-vasprintf-posix.c: Likewise.
39167         * tests/test-vasprintf.c: Likewise.
39168         * tests/test-verify.c: Likewise.
39169         * tests/test-vfprintf-posix.c: Likewise.
39170         * tests/test-vprintf-posix.c: Likewise.
39171         * tests/test-vsnprintf-posix.c: Likewise.
39172         * tests/test-vsnprintf.c: Likewise.
39173         * tests/test-vsprintf-posix.c: Likewise.
39174         * tests/test-wchar.c: Likewise.
39175         * tests/test-wctype.c: Likewise.
39176         * tests/test-wcwidth.c: Likewise.
39177         * tests/test-xstrtol.c: Likewise.
39178         * tests/test-xvasprintf.c: Likewise.
39179         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
39180         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
39181         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
39182         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
39183         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
39184         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
39185         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
39186         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
39187         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
39188         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
39189         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
39190         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
39191         * tests/uniname/test-uninames.c: Likewise.
39192         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
39193         * tests/unistdio/test-u16-asnprintf1.h: Likewise.
39194         * tests/unistdio/test-u16-printf1.h: Likewise.
39195         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
39196         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
39197         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
39198         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
39199         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
39200         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
39201         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
39202         * tests/unistdio/test-u32-asnprintf1.h: Likewise.
39203         * tests/unistdio/test-u32-printf1.h: Likewise.
39204         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
39205         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
39206         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
39207         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
39208         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
39209         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
39210         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
39211         * tests/unistdio/test-u8-asnprintf1.h: Likewise.
39212         * tests/unistdio/test-u8-printf1.h: Likewise.
39213         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
39214         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
39215         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
39216         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
39217         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
39218         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
39219         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
39220         * tests/unistdio/test-ulc-asnprintf1.h: Likewise.
39221         * tests/unistdio/test-ulc-printf1.h: Likewise.
39222         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
39223         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
39224         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
39225         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
39226         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
39227         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
39228         * tests/uniwidth/test-u16-strwidth.c: Likewise.
39229         * tests/uniwidth/test-u16-width.c: Likewise.
39230         * tests/uniwidth/test-u32-strwidth.c: Likewise.
39231         * tests/uniwidth/test-u32-width.c: Likewise.
39232         * tests/uniwidth/test-u8-strwidth.c: Likewise.
39233         * tests/uniwidth/test-u8-width.c: Likewise.
39234         * tests/uniwidth/test-uc_width.c: Likewise.
39235         * config/srclist-update: Likewise.
39236         (fixlicense): Update to GPLv3+.
39237
39238         Change copyright notice from LGPLv2.1+ to LGPLv3+.
39239         * tests/test-tsearch.c: Change copyright notice.
39240
39241         Change copyright notice from LGPLv2.0+ to LGPLv3+.
39242         * lib/c-strcaseeq.h: Change copyright notice.
39243         * lib/streq.h: Likewise.
39244         * lib/uniconv.h: Likewise.
39245         * lib/uniconv/u-conv-from-enc.h: Likewise.
39246         * lib/uniconv/u-conv-to-enc.h: Likewise.
39247         * lib/uniconv/u-strconv-from-enc.h: Likewise.
39248         * lib/uniconv/u-strconv-to-enc.h: Likewise.
39249         * lib/uniconv/u16-conv-from-enc.c: Likewise.
39250         * lib/uniconv/u16-conv-to-enc.c: Likewise.
39251         * lib/uniconv/u16-strconv-from-enc.c: Likewise.
39252         * lib/uniconv/u16-strconv-from-locale.c: Likewise.
39253         * lib/uniconv/u16-strconv-to-enc.c: Likewise.
39254         * lib/uniconv/u16-strconv-to-locale.c: Likewise.
39255         * lib/uniconv/u32-conv-from-enc.c: Likewise.
39256         * lib/uniconv/u32-conv-to-enc.c: Likewise.
39257         * lib/uniconv/u32-strconv-from-enc.c: Likewise.
39258         * lib/uniconv/u32-strconv-from-locale.c: Likewise.
39259         * lib/uniconv/u32-strconv-to-enc.c: Likewise.
39260         * lib/uniconv/u32-strconv-to-locale.c: Likewise.
39261         * lib/uniconv/u8-conv-from-enc.c: Likewise.
39262         * lib/uniconv/u8-conv-to-enc.c: Likewise.
39263         * lib/uniconv/u8-strconv-from-enc.c: Likewise.
39264         * lib/uniconv/u8-strconv-from-locale.c: Likewise.
39265         * lib/uniconv/u8-strconv-to-enc.c: Likewise.
39266         * lib/uniconv/u8-strconv-to-locale.c: Likewise.
39267         * lib/uniname.h: Likewise.
39268         * lib/uniname/uniname.c: Likewise.
39269         * lib/unistdio.h: Likewise.
39270         * lib/unistdio/u-asnprintf.h: Likewise.
39271         * lib/unistdio/u-asprintf.h: Likewise.
39272         * lib/unistdio/u-printf-args.c: Likewise.
39273         * lib/unistdio/u-printf-args.h: Likewise.
39274         * lib/unistdio/u-printf-parse.h: Likewise.
39275         * lib/unistdio/u-snprintf.h: Likewise.
39276         * lib/unistdio/u-sprintf.h: Likewise.
39277         * lib/unistdio/u-vasprintf.h: Likewise.
39278         * lib/unistdio/u-vsnprintf.h: Likewise.
39279         * lib/unistdio/u-vsprintf.h: Likewise.
39280         * lib/unistdio/u16-asnprintf.c: Likewise.
39281         * lib/unistdio/u16-asprintf.c: Likewise.
39282         * lib/unistdio/u16-printf-parse.c: Likewise.
39283         * lib/unistdio/u16-snprintf.c: Likewise.
39284         * lib/unistdio/u16-sprintf.c: Likewise.
39285         * lib/unistdio/u16-u16-asnprintf.c: Likewise.
39286         * lib/unistdio/u16-u16-asprintf.c: Likewise.
39287         * lib/unistdio/u16-u16-snprintf.c: Likewise.
39288         * lib/unistdio/u16-u16-sprintf.c: Likewise.
39289         * lib/unistdio/u16-u16-vasnprintf.c: Likewise.
39290         * lib/unistdio/u16-u16-vasprintf.c: Likewise.
39291         * lib/unistdio/u16-u16-vsnprintf.c: Likewise.
39292         * lib/unistdio/u16-u16-vsprintf.c: Likewise.
39293         * lib/unistdio/u16-vasnprintf.c: Likewise.
39294         * lib/unistdio/u16-vasprintf.c: Likewise.
39295         * lib/unistdio/u16-vsnprintf.c: Likewise.
39296         * lib/unistdio/u16-vsprintf.c: Likewise.
39297         * lib/unistdio/u32-asnprintf.c: Likewise.
39298         * lib/unistdio/u32-asprintf.c: Likewise.
39299         * lib/unistdio/u32-printf-parse.c: Likewise.
39300         * lib/unistdio/u32-snprintf.c: Likewise.
39301         * lib/unistdio/u32-sprintf.c: Likewise.
39302         * lib/unistdio/u32-u32-asnprintf.c: Likewise.
39303         * lib/unistdio/u32-u32-asprintf.c: Likewise.
39304         * lib/unistdio/u32-u32-snprintf.c: Likewise.
39305         * lib/unistdio/u32-u32-sprintf.c: Likewise.
39306         * lib/unistdio/u32-u32-vasnprintf.c: Likewise.
39307         * lib/unistdio/u32-u32-vasprintf.c: Likewise.
39308         * lib/unistdio/u32-u32-vsnprintf.c: Likewise.
39309         * lib/unistdio/u32-u32-vsprintf.c: Likewise.
39310         * lib/unistdio/u32-vasnprintf.c: Likewise.
39311         * lib/unistdio/u32-vasprintf.c: Likewise.
39312         * lib/unistdio/u32-vsnprintf.c: Likewise.
39313         * lib/unistdio/u32-vsprintf.c: Likewise.
39314         * lib/unistdio/u8-asnprintf.c: Likewise.
39315         * lib/unistdio/u8-asprintf.c: Likewise.
39316         * lib/unistdio/u8-printf-parse.c: Likewise.
39317         * lib/unistdio/u8-snprintf.c: Likewise.
39318         * lib/unistdio/u8-sprintf.c: Likewise.
39319         * lib/unistdio/u8-u8-asnprintf.c: Likewise.
39320         * lib/unistdio/u8-u8-asprintf.c: Likewise.
39321         * lib/unistdio/u8-u8-snprintf.c: Likewise.
39322         * lib/unistdio/u8-u8-sprintf.c: Likewise.
39323         * lib/unistdio/u8-u8-vasnprintf.c: Likewise.
39324         * lib/unistdio/u8-u8-vasprintf.c: Likewise.
39325         * lib/unistdio/u8-u8-vsnprintf.c: Likewise.
39326         * lib/unistdio/u8-u8-vsprintf.c: Likewise.
39327         * lib/unistdio/u8-vasnprintf.c: Likewise.
39328         * lib/unistdio/u8-vasprintf.c: Likewise.
39329         * lib/unistdio/u8-vsnprintf.c: Likewise.
39330         * lib/unistdio/u8-vsprintf.c: Likewise.
39331         * lib/unistdio/ulc-asnprintf.c: Likewise.
39332         * lib/unistdio/ulc-asprintf.c: Likewise.
39333         * lib/unistdio/ulc-printf-parse.c: Likewise.
39334         * lib/unistdio/ulc-snprintf.c: Likewise.
39335         * lib/unistdio/ulc-sprintf.c: Likewise.
39336         * lib/unistdio/ulc-vasnprintf.c: Likewise.
39337         * lib/unistdio/ulc-vasprintf.c: Likewise.
39338         * lib/unistdio/ulc-vsnprintf.c: Likewise.
39339         * lib/unistdio/ulc-vsprintf.c: Likewise.
39340         * lib/unistr.h: Likewise.
39341         * lib/unistr/u-cpy-alloc.h: Likewise.
39342         * lib/unistr/u-cpy.h: Likewise.
39343         * lib/unistr/u-endswith.h: Likewise.
39344         * lib/unistr/u-move.h: Likewise.
39345         * lib/unistr/u-set.h: Likewise.
39346         * lib/unistr/u-startswith.h: Likewise.
39347         * lib/unistr/u-stpcpy.h: Likewise.
39348         * lib/unistr/u-stpncpy.h: Likewise.
39349         * lib/unistr/u-strcat.h: Likewise.
39350         * lib/unistr/u-strcpy.h: Likewise.
39351         * lib/unistr/u-strcspn.h: Likewise.
39352         * lib/unistr/u-strdup.h: Likewise.
39353         * lib/unistr/u-strlen.h: Likewise.
39354         * lib/unistr/u-strncat.h: Likewise.
39355         * lib/unistr/u-strncpy.h: Likewise.
39356         * lib/unistr/u-strnlen.h: Likewise.
39357         * lib/unistr/u-strpbrk.h: Likewise.
39358         * lib/unistr/u-strspn.h: Likewise.
39359         * lib/unistr/u-strstr.h: Likewise.
39360         * lib/unistr/u-strtok.h: Likewise.
39361         * lib/unistr/u16-check.c: Likewise.
39362         * lib/unistr/u16-chr.c: Likewise.
39363         * lib/unistr/u16-cmp.c: Likewise.
39364         * lib/unistr/u16-cpy-alloc.c: Likewise.
39365         * lib/unistr/u16-cpy.c: Likewise.
39366         * lib/unistr/u16-endswith.c: Likewise.
39367         * lib/unistr/u16-mblen.c: Likewise.
39368         * lib/unistr/u16-mbsnlen.c: Likewise.
39369         * lib/unistr/u16-mbtouc-aux.c: Likewise.
39370         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
39371         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
39372         * lib/unistr/u16-mbtouc.c: Likewise.
39373         * lib/unistr/u16-mbtoucr.c: Likewise.
39374         * lib/unistr/u16-move.c: Likewise.
39375         * lib/unistr/u16-next.c: Likewise.
39376         * lib/unistr/u16-prev.c: Likewise.
39377         * lib/unistr/u16-set.c: Likewise.
39378         * lib/unistr/u16-startswith.c: Likewise.
39379         * lib/unistr/u16-stpcpy.c: Likewise.
39380         * lib/unistr/u16-stpncpy.c: Likewise.
39381         * lib/unistr/u16-strcat.c: Likewise.
39382         * lib/unistr/u16-strchr.c: Likewise.
39383         * lib/unistr/u16-strcmp.c: Likewise.
39384         * lib/unistr/u16-strcpy.c: Likewise.
39385         * lib/unistr/u16-strcspn.c: Likewise.
39386         * lib/unistr/u16-strdup.c: Likewise.
39387         * lib/unistr/u16-strlen.c: Likewise.
39388         * lib/unistr/u16-strmblen.c: Likewise.
39389         * lib/unistr/u16-strmbtouc.c: Likewise.
39390         * lib/unistr/u16-strncat.c: Likewise.
39391         * lib/unistr/u16-strncmp.c: Likewise.
39392         * lib/unistr/u16-strncpy.c: Likewise.
39393         * lib/unistr/u16-strnlen.c: Likewise.
39394         * lib/unistr/u16-strpbrk.c: Likewise.
39395         * lib/unistr/u16-strrchr.c: Likewise.
39396         * lib/unistr/u16-strspn.c: Likewise.
39397         * lib/unistr/u16-strstr.c: Likewise.
39398         * lib/unistr/u16-strtok.c: Likewise.
39399         * lib/unistr/u16-to-u32.c: Likewise.
39400         * lib/unistr/u16-to-u8.c: Likewise.
39401         * lib/unistr/u16-uctomb-aux.c: Likewise.
39402         * lib/unistr/u16-uctomb.c: Likewise.
39403         * lib/unistr/u32-check.c: Likewise.
39404         * lib/unistr/u32-chr.c: Likewise.
39405         * lib/unistr/u32-cmp.c: Likewise.
39406         * lib/unistr/u32-cpy-alloc.c: Likewise.
39407         * lib/unistr/u32-cpy.c: Likewise.
39408         * lib/unistr/u32-endswith.c: Likewise.
39409         * lib/unistr/u32-mblen.c: Likewise.
39410         * lib/unistr/u32-mbsnlen.c: Likewise.
39411         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
39412         * lib/unistr/u32-mbtouc.c: Likewise.
39413         * lib/unistr/u32-mbtoucr.c: Likewise.
39414         * lib/unistr/u32-move.c: Likewise.
39415         * lib/unistr/u32-next.c: Likewise.
39416         * lib/unistr/u32-prev.c: Likewise.
39417         * lib/unistr/u32-set.c: Likewise.
39418         * lib/unistr/u32-startswith.c: Likewise.
39419         * lib/unistr/u32-stpcpy.c: Likewise.
39420         * lib/unistr/u32-stpncpy.c: Likewise.
39421         * lib/unistr/u32-strcat.c: Likewise.
39422         * lib/unistr/u32-strchr.c: Likewise.
39423         * lib/unistr/u32-strcmp.c: Likewise.
39424         * lib/unistr/u32-strcpy.c: Likewise.
39425         * lib/unistr/u32-strcspn.c: Likewise.
39426         * lib/unistr/u32-strdup.c: Likewise.
39427         * lib/unistr/u32-strlen.c: Likewise.
39428         * lib/unistr/u32-strmblen.c: Likewise.
39429         * lib/unistr/u32-strmbtouc.c: Likewise.
39430         * lib/unistr/u32-strncat.c: Likewise.
39431         * lib/unistr/u32-strncmp.c: Likewise.
39432         * lib/unistr/u32-strncpy.c: Likewise.
39433         * lib/unistr/u32-strnlen.c: Likewise.
39434         * lib/unistr/u32-strpbrk.c: Likewise.
39435         * lib/unistr/u32-strrchr.c: Likewise.
39436         * lib/unistr/u32-strspn.c: Likewise.
39437         * lib/unistr/u32-strstr.c: Likewise.
39438         * lib/unistr/u32-strtok.c: Likewise.
39439         * lib/unistr/u32-to-u16.c: Likewise.
39440         * lib/unistr/u32-to-u8.c: Likewise.
39441         * lib/unistr/u32-uctomb.c: Likewise.
39442         * lib/unistr/u8-check.c: Likewise.
39443         * lib/unistr/u8-chr.c: Likewise.
39444         * lib/unistr/u8-cmp.c: Likewise.
39445         * lib/unistr/u8-cpy-alloc.c: Likewise.
39446         * lib/unistr/u8-cpy.c: Likewise.
39447         * lib/unistr/u8-endswith.c: Likewise.
39448         * lib/unistr/u8-mblen.c: Likewise.
39449         * lib/unistr/u8-mbsnlen.c: Likewise.
39450         * lib/unistr/u8-mbtouc-aux.c: Likewise.
39451         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
39452         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
39453         * lib/unistr/u8-mbtouc.c: Likewise.
39454         * lib/unistr/u8-mbtoucr.c: Likewise.
39455         * lib/unistr/u8-move.c: Likewise.
39456         * lib/unistr/u8-next.c: Likewise.
39457         * lib/unistr/u8-prev.c: Likewise.
39458         * lib/unistr/u8-set.c: Likewise.
39459         * lib/unistr/u8-startswith.c: Likewise.
39460         * lib/unistr/u8-stpcpy.c: Likewise.
39461         * lib/unistr/u8-stpncpy.c: Likewise.
39462         * lib/unistr/u8-strcat.c: Likewise.
39463         * lib/unistr/u8-strchr.c: Likewise.
39464         * lib/unistr/u8-strcmp.c: Likewise.
39465         * lib/unistr/u8-strcpy.c: Likewise.
39466         * lib/unistr/u8-strcspn.c: Likewise.
39467         * lib/unistr/u8-strdup.c: Likewise.
39468         * lib/unistr/u8-strlen.c: Likewise.
39469         * lib/unistr/u8-strmblen.c: Likewise.
39470         * lib/unistr/u8-strmbtouc.c: Likewise.
39471         * lib/unistr/u8-strncat.c: Likewise.
39472         * lib/unistr/u8-strncmp.c: Likewise.
39473         * lib/unistr/u8-strncpy.c: Likewise.
39474         * lib/unistr/u8-strnlen.c: Likewise.
39475         * lib/unistr/u8-strpbrk.c: Likewise.
39476         * lib/unistr/u8-strrchr.c: Likewise.
39477         * lib/unistr/u8-strspn.c: Likewise.
39478         * lib/unistr/u8-strstr.c: Likewise.
39479         * lib/unistr/u8-strtok.c: Likewise.
39480         * lib/unistr/u8-to-u16.c: Likewise.
39481         * lib/unistr/u8-to-u32.c: Likewise.
39482         * lib/unistr/u8-uctomb-aux.c: Likewise.
39483         * lib/unistr/u8-uctomb.c: Likewise.
39484         * lib/unitypes.h: Likewise.
39485         * lib/uniwidth.h: Likewise.
39486         * lib/uniwidth/cjk.h: Likewise.
39487         * lib/uniwidth/u16-strwidth.c: Likewise.
39488         * lib/uniwidth/u16-width.c: Likewise.
39489         * lib/uniwidth/u32-strwidth.c: Likewise.
39490         * lib/uniwidth/u32-width.c: Likewise.
39491         * lib/uniwidth/u8-strwidth.c: Likewise.
39492         * lib/uniwidth/u8-width.c: Likewise.
39493         * lib/uniwidth/width.c: Likewise.
39494
39495 2007-10-07  Bruno Haible  <bruno@clisp.org>
39496
39497         * lib/inttypes.in.h: Change copyright notice from LGPL to GPL.
39498         The file is still under LGPL (see modules/inttypes).
39499
39500 2007-10-06  Bruno Haible  <bruno@clisp.org>
39501
39502         * modules/trunc (Dependencies): Add 'extensions'.
39503         * m4/trunc.m4 (gl_FUNC_TRUNC): Require gl_USE_SYSTEM_EXTENSIONS.
39504         Reported by Ben Pfaff <blp@gnu.org>.
39505
39506 2007-10-06  Bruno Haible  <bruno@clisp.org>
39507
39508         * modules/freopen-tests: New file.
39509         * tests/test-freopen.c: New file.
39510
39511         * modules/fopen-tests: New file.
39512         * tests/test-fopen.c: New file.
39513
39514         * modules/fopen: New file.
39515         * lib/fopen.c: New file.
39516         * m4/fopen.m4: New file.
39517         * modules/freopen: New file.
39518         * lib/freopen.c: New file.
39519         * m4/freopen.m4: New file.
39520         * lib/stdio.in.h (fopen, freopen): New declarations.
39521         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize also GNULIB_FOPEN,
39522         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
39523         * modules/stdio (Makefile.am): Substitute also GNULIB_FOPEN,
39524         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
39525         * doc/functions/fopen.texi: Mention the 'fopen' module.
39526         * doc/functions/freopen.texi: Mention the 'freopen' module.
39527
39528 2007-10-06  Bruno Haible  <bruno@clisp.org>
39529
39530         * modules/open-tests: New file.
39531         * tests/test-open.c: New file.
39532
39533         * modules/open: New file.
39534         * lib/open.c: New file.
39535         * m4/open.m4: New file.
39536         * lib/fchdir.c (open): If the gnulib module 'open' is used, do what
39537         lib/open.c does.
39538         * lib/fcntl.in.h (open): Declare also if replaced by the 'open' module.
39539         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR, gl_FCNTL_H_DEFAULTS): New
39540         macros.
39541         (gl_FCNTL_H): Require gl_FCNTL_H_DEFAULTS.
39542         * modules/fcntl (Makefile.am): Also substitute GNULIB_OPEN and
39543         REPLACE_OPEN.
39544         * doc/functions/open.texi: Mention the 'open' module.
39545
39546 2007-10-04  Bruno Haible  <bruno@clisp.org>
39547
39548         * modules/ceill-tests: New file.
39549         * tests/test-ceill.c: New file.
39550
39551         * modules/ceill: New file.
39552         * lib/ceill.c: Replace entire file.
39553         * m4/ceill.m4: New file.
39554         * lib/math.in.h (ceill): Replace declaration.
39555         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILL.
39556         * modules/math (Makefile.am): Substitute also GNULIB_CEILL.
39557         * doc/functions/ceill.texi: Mention the 'ceill' module.
39558         * modules/mathl (Files): Remove lib/ceill.c.
39559         (Depends-on): Add ceill.
39560
39561 2007-10-04  Bruno Haible  <bruno@clisp.org>
39562
39563         * modules/ceilf-tests: New file.
39564         * tests/test-ceilf.c: New file.
39565
39566         * modules/ceilf: New file.
39567         * lib/ceil.c: New file.
39568         * lib/ceilf.c: New file.
39569         * m4/ceilf.m4: New file.
39570         * lib/math.in.h (ceilf): New declaration.
39571         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILF and
39572         HAVE_DECL_CEILF.
39573         * modules/math (Makefile.am): Substitute also GNULIB_CEILF and
39574         HAVE_DECL_CEILF.
39575         * doc/functions/ceilf.texi: Mention the 'ceilf' module.
39576
39577 2007-10-04  Bruno Haible  <bruno@clisp.org>
39578
39579         * modules/floorl-tests: New file.
39580         * tests/test-floorl.c: New file.
39581
39582         * modules/floorl: New file.
39583         * lib/floorl.c: Replace entire file.
39584         * m4/floorl.m4: New file.
39585         * lib/math.in.h (floorl): Replace declaration.
39586         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORL.
39587         * modules/math (Makefile.am): Substitute also GNULIB_FLOORL.
39588         * doc/functions/floorl.texi: Mention the 'floorl' module.
39589         * modules/mathl (Files): Remove lib/floorl.c.
39590         (Depends-on): Add floorl.
39591
39592 2007-10-04  Bruno Haible  <bruno@clisp.org>
39593
39594         * modules/floorf-tests: New file.
39595         * tests/test-floorf.c: New file.
39596
39597         * modules/floorf: New file.
39598         * lib/floor.c: New file.
39599         * lib/floorf.c: New file.
39600         * m4/floorf.m4: New file.
39601         * lib/math.in.h (floorf): New declaration.
39602         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORF and
39603         HAVE_DECL_FLOORF.
39604         * modules/math (Makefile.am): Substitute also GNULIB_FLOORF and
39605         HAVE_DECL_FLOORF.
39606         * doc/functions/floorf.texi: Mention the 'floorf' module.
39607
39608 2007-10-04  Benoit Sigoure  <tsuna@lrde.epita.fr>
39609             Bruno Haible  <bruno@clisp.org>
39610
39611         Advertise for the Git server instead of the CVS server.
39612         * doc/gnulib-intro.texi (Steady Development): Mention the Git
39613         repository instead of the CVS one.
39614         * doc/gnulib-tool.texi (VCS Issues): Renamed from "CVS Issues". Talk
39615         about all VCS systems generically.
39616         * doc/gnulib.texi (Introduction): Capitalize `Git'.
39617
39618 2007-10-04  Bruno Haible  <bruno@clisp.org>
39619
39620         * doc/gnulib.texi (Function Substitutes): Explain what an absent module
39621         means.
39622         Reported by Benoît Sigoure <tsuna@lrde.epita.fr>.
39623
39624 2007-10-04  Bruno Haible  <bruno@clisp.org>
39625
39626         * modules/truncl-tests: New file.
39627         * tests/test-truncl.c: New file.
39628
39629         * modules/truncl: New file.
39630         * lib/truncl.c: New file.
39631         * m4/truncl.m4: New file.
39632         * lib/math.in.h (truncl): New declaration.
39633         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCL and
39634         HAVE_DECL_TRUNCL.
39635         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCL and
39636         HAVE_DECL_TRUNCL.
39637         * doc/functions/truncl.texi: Mention the 'truncl' module.
39638
39639 2007-10-04  Bruno Haible  <bruno@clisp.org>
39640
39641         * modules/truncf-tests: New file.
39642         * tests/test-truncf.c: New file.
39643
39644         * modules/truncf: New file.
39645         * lib/trunc.c: Make paramerizable through USE_* macros.
39646         * lib/truncf.c: New file.
39647         * m4/truncf.m4: New file.
39648         * lib/math.in.h (truncf): New declaration.
39649         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCF and
39650         HAVE_DECL_TRUNCF.
39651         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCF and
39652         HAVE_DECL_TRUNCF.
39653         * doc/functions/truncf.texi: Mention the 'truncf' module.
39654
39655 2007-10-03  Bruno Haible  <bruno@clisp.org>
39656
39657         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
39658         augmentation also for tests modules.
39659         * modules/argp-tests (Makefile.am): Remove EXTRA_DIST augmentation.
39660         * modules/atexit-tests (Makefile.am): Likewise.
39661         * modules/binary-io-tests (Makefile.am): Likewise.
39662         * modules/c-strcase-tests (Makefile.am): Likewise.
39663         * modules/canonicalize-lgpl-tests (Makefile.am): Likewise.
39664         * modules/canonicalize-tests (Makefile.am): Likewise.
39665         * modules/closein-tests (Makefile.am): Likewise.
39666         * modules/fprintf-posix-tests (Makefile.am): Likewise.
39667         * modules/freadahead-tests (Makefile.am): Likewise.
39668         * modules/fseek-tests (Makefile.am): Likewise.
39669         * modules/fseeko-tests (Makefile.am): Likewise.
39670         * modules/ftell-tests (Makefile.am): Likewise.
39671         * modules/ftello-tests (Makefile.am): Likewise.
39672         * modules/isnanl-nolibm-tests (Makefile.am): Likewise.
39673         * modules/isnanl-tests (Makefile.am): Likewise.
39674         * modules/lseek-tests (Makefile.am): Likewise.
39675         * modules/mbscasecmp-tests (Makefile.am): Likewise.
39676         * modules/mbscasestr-tests (Makefile.am): Likewise.
39677         * modules/mbschr-tests (Makefile.am): Likewise.
39678         * modules/mbscspn-tests (Makefile.am): Likewise.
39679         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
39680         * modules/mbspbrk-tests (Makefile.am): Likewise.
39681         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
39682         * modules/mbsrchr-tests (Makefile.am): Likewise.
39683         * modules/mbsspn-tests (Makefile.am): Likewise.
39684         * modules/mbsstr-tests (Makefile.am): Likewise.
39685         * modules/printf-posix-tests (Makefile.am): Likewise.
39686         * modules/snprintf-posix-tests (Makefile.am): Likewise.
39687         * modules/sprintf-posix-tests (Makefile.am): Likewise.
39688         * modules/tsearch-tests (Makefile.am): Likewise.
39689         * modules/uniname/uniname-tests (Makefile.am): Likewise.
39690         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
39691         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
39692         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
39693         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
39694         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
39695         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
39696         * modules/vprintf-posix-tests (Makefile.am): Likewise.
39697         * modules/vsnprintf-posix-tests (Makefile.am): Likewise.
39698         * modules/vsprintf-posix-tests (Makefile.am): Likewise.
39699         * modules/xstrtoimax-tests (Makefile.am): Likewise.
39700         * modules/xstrtol-tests (Makefile.am): Likewise.
39701         * modules/xstrtoumax-tests (Makefile.am): Likewise.
39702         * modules/yesno-tests (Makefile.am): Likewise.
39703
39704 2007-10-03  Bruno Haible  <bruno@clisp.org>
39705
39706         * modules/trunc-tests: New file.
39707         * tests/test-trunc.c: New file.
39708
39709         * modules/trunc: New file.
39710         * lib/trunc.c: New file.
39711         * m4/trunc.m4: New file.
39712         * lib/math.in.h (trunc): New declaration.
39713         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNC and
39714         HAVE_DECL_TRUNC.
39715         * modules/math (Makefile.am): Substitute also GNULIB_TRUNC and
39716         HAVE_DECL_TRUNC.
39717         * doc/functions/trunc.texi: Mention the 'trunc' module.
39718
39719 2007-10-03  Bruno Haible  <bruno@clisp.org>
39720
39721         * tests/test-fpending.c: New file, mostly copied
39722         from coreutils/lib/t-fpending.c.
39723         * modules/fpending-tests: New file.
39724
39725 2007-10-03  Bruno Haible  <bruno@clisp.org>
39726
39727         Port the stdio extensions to QNX (untested).
39728         * lib/fseterr.c (fseterr): Add support for QNX.
39729         * lib/fbufmode.c (fbufmode): Likewise.
39730         * lib/freadable.c (freadable): Likewise.
39731         * lib/fwritable.c (fwritable): Likewise.
39732         * lib/freading.c (freading): Likewise.
39733         * lib/fwriting.c (fwriting): Likewise.
39734         * lib/freadahead.c (freadahed): Likewise.
39735         * lib/fpurge.c (fpurge): Likewise.
39736         * lib/fseeko.c (rpl_fseeko): Likewise.
39737
39738 2007-10-03  Bruno Haible  <bruno@clisp.org>
39739             Jim Meyering  <jim@meyering.net>
39740             Eric Blake  <ebb9@byu.net>
39741
39742         * doc/relocatable.texi: Use @command instead of @program.
39743
39744 2007-10-02  Jim Meyering  <jim@meyering.net>
39745
39746         Perform one more "_.h" -> ".in.h" substitution.
39747         * modules/unistd (Makefile.am) [unistd.h]: Use unistd.h.in
39748         instead of unistd_.h here, too.
39749
39750 2007-10-01  Bruno Haible  <bruno@clisp.org>
39751
39752         * gnulib-tool (func_emit_initmacro_done): Special case for alloca.c.
39753         Needed for the alloca-opt module.
39754
39755 2007-09-30  Bruno Haible  <bruno@clisp.org>
39756
39757         * lib/alloca.in.h: Renamed from lib/alloca_.h.
39758         * modules/alloca-opt (Files, Makefile.am): Use alloca.in.h instead of
39759         alloca_.h.
39760         * lib/argz.in.h: Renamed from lib/argz_.h.
39761         * modules/argz (Files, Makefile.am): Use argz.in.h instead of argz_.h.
39762         * lib/byteswap.in.h: Renamed from lib/byteswap_.h.
39763         * modules/byteswap (Files, Makefile.am): Use byteswap.in.h instead of
39764         byteswap_.h.
39765         * lib/dirent.in.h: Renamed from lib/dirent_.h.
39766         * modules/fchdir (Files, Makefile.am): Use dirent.in.h instead of
39767         dirent_.h.
39768         * lib/fcntl.in.h: Renamed from lib/fcntl_.h.
39769         * modules/fcntl (Files, Makefile.am): Use fcntl.in.h instead of
39770         fcntl_.h.
39771         * lib/float.in.h: Renamed from lib/float_.h.
39772         * modules/float (Files, Makefile.am): Use float.in.h instead of
39773         float_.h.
39774         * lib/fnmatch.in.h: Renamed from lib/fnmatch_.h.
39775         * modules/fnmatch (Files, Makefile.am): Use fnmatch.in.h instead of
39776         fnmatch_.h.
39777         * lib/getopt.in.h: Renamed from lib/getopt_.h.
39778         * modules/getopt (Files, Makefile.am): Use getopt.in.h instead of
39779         getopt_.h.
39780         * lib/glob.in.h: Renamed from lib/glob_.h.
39781         * modules/glob (Files, Makefile.am): Use glob.in.h instead of glob_.h.
39782         * lib/iconv.in.h: Renamed from lib/iconv_.h.
39783         * modules/iconv_open (Files, Makefile.am): Use iconv.in.h instead of
39784         iconv_.h.
39785         * lib/inttypes.in.h: Renamed from lib/inttypes_.h.
39786         * modules/inttypes (Files, Makefile.am): Use inttypes.in.h instead of
39787         inttypes_.h.
39788         * lib/locale.in.h: Renamed from lib/locale_.h.
39789         * modules/locale (Files, Makefile.am): Use locale.in.h instead of
39790         locale_.h.
39791         * lib/math.in.h: Renamed from lib/math_.h.
39792         * modules/math (Files, Makefile.am): Use math.in.h instead of math_.h.
39793         * lib/netinet_in.in.h: Renamed from lib/netinet_in_.h.
39794         * modules/netinet_in (Files, Makefile.am): Use netinet_in.in.h instead
39795         of netinet_in_.h. Add dependency.
39796         * lib/poll.in.h: Renamed from lib/poll_.h.
39797         * modules/poll (Files, Makefile.am): Use poll.in.h instead of poll_.h.
39798         * lib/search.in.h: Renamed from lib/search_.h.
39799         * modules/search (Files, Makefile.am): Use search.in.h instead of
39800         search_.h.
39801         * lib/signal.in.h: Renamed from lib/signal_.h.
39802         * modules/signal (Files, Makefile.am): Use signal.in.h instead of
39803         _signal.h.
39804         * lib/stdbool.in.h: Renamed from lib/stdbool_.h.
39805         * modules/stdbool (Files, Makefile.am): Use stdbool.in.h instead of
39806         stdbool_.h.
39807         * lib/stdint.in.h: Renamed from lib/stdint_.h.
39808         * modules/stdint (Files, Makefile.am): Use stdint.in.h instead of
39809         stdint_.h.
39810         * lib/stdio.in.h: Renamed from lib/stdio_.h.
39811         * modules/stdio (Files, Makefile.am): Use stdio.in.h instead of
39812         stdio_.h.
39813         * lib/stdlib.in.h: Renamed from lib/stdlib_.h.
39814         * modules/stdlib (Files, Makefile.am): Use stdlib.in.h instead of
39815         stdlib_.h.
39816         * lib/string.in.h: Renamed from lib/string_.h.
39817         * modules/string (Files, Makefile.am): Use string.in.h instead of
39818         string_.h.
39819         * doc/gnulib-tool.texi (Initial import): Update.
39820         * lib/sys_select.in.h: Renamed from lib/sys_select_.h.
39821         * modules/sys_select (Files, Makefile.am): Use sys_select.in.h instead
39822         of sys_select_.h. Add dependency.
39823         * lib/sys_socket.in.h: Renamed from lib/sys_socket_.h.
39824         * modules/sys_socket (Files, Makefile.am): Use sys_socket.in.h instead
39825         of sys_socket_.h.
39826         * lib/sys_stat.in.h: Renamed from lib/sys_stat_.h.
39827         * modules/sys_stat (Files, Makefile.am): Use sys_stat.in.h instead of
39828         sys_stat_.h.
39829         * lib/sys_time.in.h: Renamed from lib/sys_time_.h.
39830         * modules/sys_time (Files, Makefile.am): Use sys_time.in.h instead of
39831         sys_time_.h.
39832         * lib/sysexits.in.h: Renamed from lib/sysexits_.h.
39833         * modules/sysexits (Files, Makefile.am): Use sysexits.in.h instead of
39834         sysexits_.h.
39835         * lib/time.in.h: Renamed from lib/time_.h.
39836         * modules/time (Files, Makefile.am): Use time.in.h instead of time_.h.
39837         * lib/unistd.in.h: Renamed from lib/unistd_.h.
39838         * modules/unistd (Files, Makefile.am): Use unistd.in.h instead of
39839         unistd_.h.
39840         * lib/wchar.in.h: Renamed from lib/wchar_.h.
39841         * modules/wchar (Files, Makefile.am): Use wchar.in.h instead of
39842         wchar_.h.
39843         * lib/wctype.in.h: Renamed from lib/wctype_.h.
39844         * modules/wctype (Files, Makefile.am): Use wctype.in.h instead of
39845         wctype_.h.
39846         * build-aux/bootstrap (slurp): Update.
39847         * lib/.cppi-disable: Update.
39848
39849 2007-09-30  Bruno Haible  <bruno@clisp.org>
39850
39851         * tests/test-getaddrinfo.c (AF_UNSPEC): Provide a fallback definition.
39852         Needed on BeOS.
39853
39854 2007-09-30  Bruno Haible  <bruno@clisp.org>
39855
39856         * modules/dirname-tests (check_PROGRAMS): Renamed from noinst_PROGRAMS.
39857
39858 2007-09-29  Bruno Haible  <bruno@clisp.org>
39859
39860         * lib/stdio_.h (getdelim, getline): Add identifiers. Doc tweak.
39861
39862 2007-09-29  Bruno Haible  <bruno@clisp.org>
39863
39864         * lib/xreadlink.c (xreadlink): Simplify to a wrapper around areadlink.
39865         * modules/xreadlink (Depends-on): Add areadlink, remove readlink etc.
39866         * build-aux/install-reloc: Compile also areadlink.c.
39867         * modules/relocatable-prog-wrapper (Files): Add lib/areadlink.[hc].
39868
39869 2007-09-29  Bruno Haible  <bruno@clisp.org>
39870
39871         * gnulib-tool (func_emit_initmacro_done): Indentation.
39872
39873 2007-09-29  Bruno Haible  <bruno@clisp.org>
39874
39875         * README: Add CVS checkout update instructions.
39876         Info from Bob Proulx <bob@proulx.com>.
39877
39878 2007-09-28  Eric Blake  <ebb9@byu.net>
39879
39880         Provide move-if-change.
39881         * build-aux/move-if-change: New file, based on best practice
39882         rather than any canonical upstream location.
39883
39884 2007-09-28  Jim Meyering  <jim@meyering.net>
39885
39886         Fix canonicalize loop-detection corner case.
39887         Do not attempt to stat the symlink values stored via seen_triple.
39888         Without this, coreutils' tests/misc/readlink-fp-loop test would fail
39889         on linux-2.6.18, (but not 2.6.22).
39890         * lib/canonicalize.c (seen_triple): Use triple_compare_ino_str, not
39891         triple_compare.  The former compares dev,ino,filename, while the latter
39892         would actually stat dirname(filename) when dev and ino were equal.
39893         * lib/hash-triple.c: Install <string.h>.
39894         (STREQ): Define.
39895         (triple_compare_ino_str): New function.
39896         * lib/hash-triple.h (triple_compare_ino_str): Declare it.
39897
39898 2007-09-28  Eric Blake  <ebb9@byu.net>
39899
39900         Enforce that AC_REPLACE_FUNCS files exist.
39901         * gnulib-tool (func_emit_initmacro_done): Make AC_LIBSOURCES
39902         override check for typos.
39903
39904         Fix test-closein on Solaris 10.
39905         * tests/test-closein.c (main): Don't assume stdin can be inherited
39906         closed on all systems.
39907         * tests/test-closein.sh: Likewise.
39908         Reported by Piotr Tarnowski.
39909
39910 2007-09-28  Jim Meyering  <jim@meyering.net>
39911
39912         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Fix typo in comment.
39913
39914 2007-09-27  Jim Meyering  <jim@meyering.net>
39915
39916         canonicalize: Avoid a false-positive cycle failure.
39917         * modules/canonicalize (Depends-on): Add file-set and hash-triple.
39918         Sort.  Remove cycle-check.
39919         * lib/canonicalize.c: Include file-set.h and hash-triple.h,
39920         not cycle-check.h.
39921         (seen_triple): New function.
39922         (canonicalize_filename_mode): Use it instead of cycle-check.
39923         * tests/test-canonicalize.c: Add a test for this bug.
39924         * tests/test-canonicalize.sh: Set up and run the test.
39925
39926         New module, file-set, from coreutils.
39927         * modules/file-set: Define it.
39928         * lib/file-set.c, lib/file-set.h: Implement.
39929
39930         New module, hash-triple, from coreutils.
39931         * modules/hash-triple: Define it.
39932         * lib/hash-triple.c, lib/hash-triple.h: Implement.
39933
39934 2007-09-25  Eric Blake  <ebb9@byu.net>
39935
39936         Fix strerror on Interix.
39937         * lib/string_.h (strerror): Declare replacement.
39938         * doc/functions/strerror.texi (strerror): Document the Interix
39939         shortcoming.
39940         * modules/string (Makefile.am): Support new hooks.
39941         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Add new hooks.
39942         * m4/strerror.m4 (gl_FUNC_STRERROR): Defer to
39943         gl_FUNC_STRERROR_SEPARATE.
39944         (gl_FUNC_STRERROR_SEPARATE): Check for Interix bug.
39945         * lib/strerror.c (rpl_strerror): Provide replacement.
39946         * modules/strerror (Depends-on): Add string.
39947         (configure.ac): Detect use of module.
39948         * tests/test-strerror.c: New file.
39949         * modules/strerror-tests: New test module.
39950         * modules/argp (Depends-on): Add strerror.
39951         * modules/error (Depends-on): Likewise.
39952         Reported by Martin Koeppe.
39953
39954 2007-09-24  Bruno Haible  <bruno@clisp.org>
39955
39956         * README: Update git instructions.
39957
39958 2007-09-24  Eric Blake  <ebb9@byu.net>
39959
39960         Revert fpending breakage from 2007-09-08.
39961         * m4/fpending.m4 (gl_FUNC_FPENDING): Don't require existence of
39962         __fpending.c.
39963
39964 2007-09-24  Jim Meyering  <jim@meyering.net>
39965
39966         filenamecat.c: Add a test.
39967         * lib/filenamecat.c (main) [TEST_FILE_NAME_CONCAT]: Add a test
39968         showing how the function works when DIR is the empty string.
39969
39970 2007-09-21  Simon Josefsson  <simon@josefsson.org>
39971
39972         * tests/test-canonicalize.sh: Turn on executable bit.
39973
39974 2007-09-19  Eric Blake  <ebb9@byu.net>
39975
39976         * README: Update CVS instructions.
39977
39978 2007-09-18  Bruno Haible  <bruno@clisp.org>
39979
39980         * modules/areadlink: New file.
39981         * lib/areadlink.h (areadlink): New declaration.
39982         * lib/areadlink.c: New file, based on lib/xreadlink.c.
39983
39984 2007-09-17  Jim Meyering  <jim@meyering.net>
39985
39986         * lib/savewd.c (ESTALE) [!defined]: Define.
39987         Reported to be required on Interix by Martin Koeppe.
39988
39989 2007-09-17  Bruno Haible  <bruno@clisp.org>
39990
39991         * gnulib-tool (func_version): Use $version.
39992
39993 2007-09-16  Bruno Haible  <bruno@clisp.org>
39994
39995         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE, gl_PRINTF_INFINITE,
39996         gl_PRINTF_INFINITE_LONG_DOUBLE): Increase buf's size from 100 to 10000.
39997         Needed on glibc-2.6.1 with -fstack-protector -D_FORTIFY_SOURCE=2.
39998         Reported by Greg Schafer <gschafer@zip.com.au>.
39999
40000 2007-09-15  Bruno Haible  <bruno@clisp.org>
40001
40002         * gnulib-tool (sed): Try a little harder to make bash understand the
40003         alias.
40004         Reported by Bruce Korb <bruce.korb@gmail.com>.
40005
40006 2007-09-13  Eric Blake  <ebb9@byu.net>
40007
40008         * ChangeLog: Remove conflict markers.
40009
40010 2007-09-13  Simon Josefsson  <simon@josefsson.org>
40011
40012         * lib/gc-gnulib.c (gc_hash_open): Catch NULL calloc return value.
40013         Reported by Bruno Haible <bruno@clisp.org>.
40014
40015 2007-09-12  Bruno Haible  <bruno@clisp.org>
40016
40017         * m4/lock.m4: Don't provide an AC_USE_SYSTEM_EXTENSIONS definition.
40018         (gl_LOCK_EARLY_BODY): Use AC_GNU_SOURCE when AC_USE_SYSTEM_EXTENSIONS
40019         is not defined.
40020
40021 2007-09-12  Eric Blake  <ebb9@byu.net>
40022
40023         Track CVS Autoconf on AC_USE_SYSTEM_EXTENSIONS.
40024         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Update to CVS
40025         Autoconf definition.
40026         * modules/euidaccess (Depends-on): Add extensions, for
40027         AC_USE_SYSTEM_EXTENSIONS with autoconf <= 2.59.
40028         * modules/fnmatch (Depends-on): Likewise.
40029         * modules/getaddrinfo (Depends-on): Likewise.
40030         * modules/getdelim (Depends-on): Likewise.
40031         * modules/getline (Depends-on): Likewise.
40032         * modules/getsubopt (Depends-on): Likewise.
40033         * modules/gettext (Depends-on): Likewise.
40034         * modules/group-member (Depends-on): Likewise.
40035         * modules/mbchar (Depends-on): Likewise.
40036         * modules/memmem (Depends-on): Likewise.
40037         * modules/mempcpy (Depends-on): Likewise.
40038         * modules/memrchr (Depends-on): Likewise.
40039         * modules/pagealign_alloc (Depends-on): Likewise.
40040         * modules/readutmp (Depends-on): Likewise.
40041         * modules/stpcpy (Depends-on): Likewise.
40042         * modules/stpncpy (Depends-on): Likewise.
40043         * modules/strchrnul (Depends-on): Likewise.
40044         * modules/strndup (Depends-on): Likewise.
40045         * modules/strsep (Depends-on): Likewise.
40046         * modules/strverscmp (Depends-on): Likewise.
40047         * modules/vasprintf (Depends-on): Likewise.
40048         * modules/wcwidth (Depends-on): Likewise.
40049         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): AC_GNU_SOURCE will be
40050         obsolete in Autoconf 2.62; use AC_USE_SYSTEM_EXTENSIONS instead.
40051         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_GNU): Likewise.
40052         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDR_INFO): Likewise.
40053         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
40054         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
40055         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Likewise.
40056         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
40057         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Likewise.
40058         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
40059         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
40060         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
40061         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
40062         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
40063         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Likewise.
40064         * m4/readutmp.m4 (gl_READUTMP): Likewise.
40065         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
40066         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
40067         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
40068         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
40069         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
40070         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
40071         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
40072         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Likewise.
40073         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): Likewise.
40074         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
40075         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Likewise, but provide fallback,
40076         so that lock.m4 can be used in gettext without extensions module.
40077
40078 2007-09-11  Bruno Haible  <bruno@clisp.org>
40079
40080         * m4/isc-posix.m4: Remove file.
40081         Suggested by Eric Blake.
40082
40083 2007-09-11  Eric Blake  <ebb9@byu.net>
40084
40085         * ChangeLog: Restore lines accidentally truncated 2007-04-06.
40086
40087 2007-09-10  Bruno Haible  <bruno@clisp.org>
40088
40089         * posix-modules: Fix typo in error message.
40090         Reported by Matt <mkraai@beckman.com>.
40091
40092 2007-09-09  Bruno Haible  <bruno@clisp.org>
40093
40094         * doc/functions/getdelim.texi: Update list of platforms lacking the
40095         function.
40096         * doc/functions/getline.texi: Likewise.
40097
40098 2007-09-09  Jim Meyering  <jim@meyering.net>
40099
40100         * lib/hash.c (hash_initialize): Detect calloc failure.
40101         Reported by Bruno Haible.
40102
40103 2007-09-09  Bruno Haible  <bruno@clisp.org>
40104
40105         * lib/canonicalize-lgpl.c (__realpath): Set errno to ENOMEM when
40106         malloc or realloc fails.
40107
40108 2007-09-09  Bruno Haible  <bruno@clisp.org>
40109
40110         * modules/getcwd (Depends-on): Add malloc-posix.
40111         * modules/glob (Depends-on): Likewise.
40112         * modules/putenv (Depends-on): Likewise.
40113         * modules/strdup (Depends-on): Likewise.
40114         * modules/getdelim (Depends-on): Add realloc-posix.
40115         * modules/read-file (Depends-on): Likewise.
40116
40117 2007-09-09  Bruno Haible  <bruno@clisp.org>
40118
40119         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): New macro.
40120         (gl_FUNC_MALLOC_POSIX): Require it.
40121         * m4/realloc.m4 (gl_FUNC_REALLOC_POSIX): Likewise.
40122         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): Likewise.
40123         * modules/realloc (Files): Add m4/malloc.m4.
40124         * modules/calloc (Files): Likewise.
40125
40126 2007-09-09  Bruno Haible  <bruno@clisp.org>
40127
40128         * modules/malloc-posix: New file.
40129         * modules/malloc (Depends-on): Add malloc-posix.
40130         * lib/malloc.c: Include errno.h.
40131         (rpl_malloc): Merge the requirements of a glibc-compatible malloc
40132         and a POSIX-compatible malloc into a single function. Set ENOMEM
40133         when returning NULL.
40134         * m4/malloc.m4: New file.
40135         * doc/functions/malloc.texi: Mention the malloc-posix module.
40136         * lib/stdlib_.h (malloc): New declaration.
40137         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
40138         GNULIB_MALLOC_POSIX and HAVE_MALLOC_POSIX.
40139         * modules/stdlib (stdlib.h): Substitute also GNULIB_MALLOC_POSIX
40140         and HAVE_MALLOC_POSIX.
40141
40142 2007-09-09  Bruno Haible  <bruno@clisp.org>
40143
40144         * modules/realloc-posix: New file.
40145         * modules/realloc (Depends-on): Add realloc-posix.
40146         * lib/realloc.c: Include errno.h.
40147         (rpl_realloc): Merge the requirements of a glibc-compatible realloc
40148         and a POSIX-compatible realloc into a single function. Set ENOMEM
40149         when returning NULL.
40150         * m4/realloc.m4: New file.
40151         * doc/functions/realloc.texi: Mention the realloc-posix module.
40152         * lib/stdlib_.h (realloc): New declaration.
40153         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
40154         GNULIB_REALLOC_POSIX and HAVE_REALLOC_POSIX.
40155         * modules/stdlib (stdlib.h): Substitute also GNULIB_REALLOC_POSIX
40156         and HAVE_REALLOC_POSIX.
40157
40158 2007-09-09  Bruno Haible  <bruno@clisp.org>
40159
40160         * modules/calloc-posix: New file.
40161         * modules/calloc (Depends-on): Add calloc-posix.
40162         * lib/calloc.c: Include errno.h.
40163         (rpl_calloc): Merge the requirements of a glibc-compatible calloc
40164         and a POSIX-compatible calloc into a single function. Set ENOMEM
40165         when returning NULL.
40166         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): New macro.
40167         * doc/functions/calloc.texi: Mention the calloc-posix module.
40168         * lib/stdlib_.h (calloc): New declaration.
40169         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
40170         GNULIB_CALLOC_POSIX and HAVE_CALLOC_POSIX.
40171         * modules/stdlib (stdlib.h): Substitute also GNULIB_CALLOC_POSIX
40172         and HAVE_CALLOC_POSIX.
40173
40174 2007-09-09  Bruno Haible  <bruno@clisp.org>
40175
40176         Allow for modules to show an arbitrary notice.
40177         * modules/TEMPLATE-EXTENDED: Add 'Notice' field.
40178         * gnulib-tool: New option --extract-notice.
40179         (func_usage): Document it.
40180         (sed_extract_prog): Update.
40181         (func_get_notice): New function.
40182         (func_modules_notice): New function.
40183         (func_import, func_create_testdir): Invoke it.
40184         Suggested by Jim Meyering.
40185
40186 2007-09-09  Bruno Haible  <bruno@clisp.org>
40187
40188         * gnulib-tool: New options --verbose, --quiet.
40189         (func_usage): Document them.
40190         (verbose): New variable.
40191         (func_execute_command): New function.
40192         (func_import): Don't show the module list and the file list if
40193         $verbose < 0.
40194         (func_create_testdir): Likewise. Use func_execute_command.
40195         (func_create_megatestdir): Use func_execute_command.
40196
40197 2007-09-08  Bruno Haible  <bruno@clisp.org>
40198
40199         * gnulib-tool (func_import): Prefer rsync over wget when available,
40200         for fetching the PO files.
40201
40202 2007-09-08  Bruno Haible  <bruno@clisp.org>
40203
40204         * posix-modules: New file. Portions copied from gnulib-tool.
40205         * doc/gnulib.texi (POSIX Substitutes Library): New chapter.
40206
40207 2007-09-08  Jim Meyering  <jim@meyering.net>
40208
40209         Rename __fpending.c -> fpending.c and __fpending.h -> fpending.h
40210         * lib/fpending.h: Rename from __fpending.h.
40211         * lib/fpending.c: Rename from __fpending.c.
40212         Include "fpending.h", not "__fpending.h".
40213         * lib/__fpending.h, lib/__fpending.c: Remove files.
40214         * modules/fpending (Files): Reflect new file names.
40215         * lib/close-stream.c: Include "fpending.h", not "__fpending.h".
40216
40217 2007-09-08  Bruno Haible  <bruno@clisp.org>
40218
40219         * m4/inttypes-h.m4: Remove stub file.
40220
40221 2007-09-07  Simon Josefsson  <simon@josefsson.org>
40222
40223         * doc/headers/stdint.texi: Discuss #include_next issue.
40224
40225 2007-09-06  Paul Eggert  <eggert@cs.ucla.edu>
40226
40227         * build-aux/bootstrap: Remove obsolete comment about wget --help.
40228
40229 2007-09-06  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
40230
40231         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Fix misspelling
40232         in variable name.
40233
40234 2007-09-03  Jim Meyering  <jim@meyering.net>
40235
40236         New module: git-version-gen.
40237         * modules/git-version-gen: New file.
40238
40239         Import changes from coreutils for bootstrap script.
40240
40241         * build-aux/bootstrap (WGET_COMMAND): Remove code to set this variable.
40242
40243         bootstrap: uses rsync to download the .po files
40244         * build-aux/bootstrap (po_download_command_format): New global.
40245         (download_po_files): Use rsync.
40246         (update_po_files): Don't remove .po files after download,
40247         so future rsync runs can take advantage of the copies.
40248
40249         * build-aux/bootstrap (gnulib_tool): Make sha1sum check quietly.
40250
40251         Solve the unnecessary-.po-file-regeneration problem once and for all.
40252         * build-aux/bootstrap (download_po_files): New function, renamed from
40253         get_translations.  Now, downloads, but doesn't update LINGUAS.
40254         (update_po_files): New function.
40255
40256         bootstrap: Ignore more.
40257         * build-aux/bootstrap (symlink_to_dir): Add a directory name like
40258         uniwidth to e.g., lib/.gitignore.
40259         (slurp): Handle the sys_stat_.h -> sys mapping, too.
40260
40261         * build-aux/bootstrap: New setting: vc_ignore.
40262         (insert_sorted_if_absent): Create $file if absent.
40263         Adapt to new, possibly empty, list: $vc_ignore.
40264
40265         bootstrap: generate more ignorable names
40266         * build-aux/bootstrap (slurp): When generating ignorable names,
40267         also map .sin to .sed, .gperf to .c, and .y to .c.
40268
40269 2007-09-03  Jim Meyering  <jim@meyering.net>
40270
40271         * build-aux/git-version-gen: New file, from coreutils.  For details, see
40272         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commitdiff;h=bfe49f506
40273
40274 2007-09-02  Bruno Haible  <bruno@clisp.org>
40275
40276         Fix mis-recognition of 'mcs' on QNX 6.
40277         * m4/csharpcomp.m4 (gt_CSHARPCOMP): Test whether the "mcs --version"
40278         output contains the string "Mono".
40279         * lib/csharpcomp.c (compile_csharp_using_mono): Likewise.
40280         Reported by <kraai@ftbfs.org> at <https://savannah.gnu.org/bugs/?18337>.
40281
40282 2007-09-01  Bruno Haible  <bruno@clisp.org>
40283
40284         Fix collision between uniwidth/* and linebreak modules.
40285         * lib/linebreak.h (locale_charset, uc_width, u8_width, u16_width,
40286         u32_width): Remove declarations.
40287         * lib/linebreak.c: Include uniwidth.h, uniwidth/cjk.h, streq.h.
40288         (u32_mbtouc_unsafe, streq9, streq8, streq7, streq6, streq5, streq4,
40289         streq3, streq2, streq1, streq0): Remove functions.
40290         (STREQ): Remove macro.
40291         (is_cjk_encoding): Remove function.
40292         (nonspacing_table_data, nonspacing_table_ind): Remove constants.
40293         (uc_width, u8_width, u16_width, u32_width): Remove functions.
40294         * modules/linebreak (Depends-on): Add streq, uniwidth/width.
40295         * NEWS: Document the change.
40296
40297 2007-09-01  Bruno Haible  <bruno@clisp.org>
40298
40299         * lib/streq.h: Add double-inclusion guard.
40300
40301 2007-09-01  Karl Berry  <karl@gnu.org>
40302
40303         * MODULES.html.sh: Rename mreadlink_with_size to areadlink_with_size.
40304
40305 2007-08-28  Jim Meyering  <jim@meyering.net>
40306
40307         Rename mreadlink_with_size to areadlink_with_size.
40308         * NEWS: Document the change.
40309         * lib/mreadlink-with-size.c (mreadlink_with_size): Rename this to...
40310         * lib/areadlink-with-size.c (areadlink_with_size): ...this.
40311         * lib/mreadlink.h: Rename this to...
40312         * lib/areadlink.h: ...this.
40313         * modules/mreadlink-with-size: Rename this to...
40314         * modules/areadlink-with-size: ...this.
40315         * lib/canonicalize.c: Reflect the renaming.
40316         * modules/canonicalize: Likewise.
40317
40318 2007-08-26  Bruno Haible  <bruno@clisp.org>
40319
40320         * gnulib-tool (func_import): When deciding which files to remove,
40321         consider also dangling symbolic links.
40322         Reported by Eric Blake.
40323
40324 2007-08-26  Bruno Haible  <bruno@clisp.org>
40325
40326         * gnulib-tool (func_ln_if_changed): Use "test -h", not "test -L".
40327
40328 2007-08-23  Simon Josefsson  <simon@josefsson.org>
40329
40330         * lib/readline.c: Don't include getline.h, the prototype is now
40331         found in stdio.h.
40332
40333 2007-08-23  Jim Meyering  <jim@meyering.net>
40334
40335         Getdelim touchup.
40336         * lib/getdelim.c (getdelim): Don't bother to save/restore errno
40337         around the funlockfile call, since funlockfile never sets errno.
40338         Don't set errno upon failed realloc.
40339
40340 2007-08-22  Eric Blake  <ebb9@byu.net>
40341
40342         Getline touchups.
40343         * lib/getdelim.c (getdelim): Revert regression that required *n to
40344         be 0 when *lineptr is NULL.  Preserve errno across funlockfile.
40345         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Check for declaration of
40346         getdelim, rather than whether implementation is missing.
40347         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise for getline.
40348         * lib/stdio_.h (getline): Also declare if replacement is
40349         required.
40350         * doc/functions/getdelim.texi: New file.
40351         * doc/functions/getline.texi: Likewise.
40352         * doc/gnulib.texi (Function Substitutes): Add new files.
40353         Reported by Bruno Haible.
40354
40355 2007-08-22  Ludovic Courtès  <ludo@gnu.org>
40356
40357         * users.txt: Add Guile.
40358
40359 2007-08-22  Eric Blake  <ebb9@byu.net>
40360
40361         * tests/test-getdelim.c (main): Use remove, not unlink.
40362         * tests/test-getline.c (main): Likewise.
40363
40364         Move getline and getdelim into stdio.h, per POSIX 200x.
40365         * modules/getline (Files): Remove getline.h.
40366         (Depends-on): Add stdio.
40367         (configure.ac): Add module indicator.
40368         * modules/getdelim (Files): Remove getdelim.h.
40369         (Depends-on): Add stdio.
40370         (configure.ac): Add module indicator.
40371         * modules/stdio (Makefile.am): Work with new indicators.
40372         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
40373         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Work with stdio needs.
40374         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
40375         * lib/getdelim.h: Delete.
40376         * lib/getline.h: Delete.
40377         * lib/stdio_.h (getdelim, getline): Declare.
40378         * modules/getdelim-tests: New module.
40379         * modules/getline-tests: Likewise.
40380         * tests/test-getdelim.c: New file.
40381         * tests/test-getline.c: Likewise.
40382         * NEWS: Document the change.
40383         * lib/getline.c: Update choice of header.
40384         * lib/csharpcomp.c: Likewise.
40385         * lib/getpass.c: Likewise.
40386         * lib/javacomp.c: Likewise.
40387         * lib/javaversion.c: Likewise.
40388         * lib/yesno.c: Likewise.
40389         * lib/getdelim.c: Likewise.
40390         (getdelim): Set errno on failure, and avoid memory leak.
40391
40392 2007-08-19  Bruno Haible  <bruno@clisp.org>
40393
40394         * modules/closein (Depends-on): Add freadahead.
40395         * lib/closein.c: Include freadahead.h.
40396         (close_stdin): Skip the fseeko and fflush calls if freadahead(stdin)
40397         is zero.
40398
40399 2007-08-19  Bruno Haible  <bruno@clisp.org>
40400
40401         * modules/freadahead-tests: New file.
40402         * tests/test-freadahead.sh: New file.
40403         * tests/test-freadahead.c: New file.
40404
40405         * modules/freadahead: New file.
40406         * lib/freadahead.h: New file.
40407         * lib/freadahead.c: New file.
40408         * MODULES.html.sh (File stream based Input/Output): Add freadahead,
40409         fbufmode, fpurge, freadable, fwritable.
40410
40411 2007-08-19  Eric Blake  <ebb9@byu.net>
40412
40413         Test yesno in combination with closein.
40414         * lib/yesno.c (yesno): Document use of stdin.
40415         * modules/yesno-tests (Files): New module.
40416         * tests/test-yesno.c (main): New file.
40417         * tests/test-yesno.sh: Likewise.
40418
40419 2007-08-19  Bruno Haible  <bruno@clisp.org>
40420
40421         * lib/fbufmode.c (fbufmode): Add tentative support for Solaris/AMD64.
40422         * lib/fseeko.c (rpl_fseeko): Likewise.
40423         * lib/fseterr.c (fseterr): Likewise.
40424
40425 2007-08-19  Bruno Haible  <bruno@clisp.org>
40426
40427         * tests/test-lseek.c (main): Disable a test for BeOS.
40428         * doc/functions/lseek.texi: Document the BeOS bug.
40429
40430 2007-08-19  Bruno Haible  <bruno@clisp.org>
40431             Eric Blake  <ebb9@byu.net>
40432
40433         * lib/lseek.c: Include <sys/stat.h>.
40434         (rpl_lseek): Add workaround code also for Unix platforms.
40435         Needed for BeOS.
40436         * m4/lseek.m4 (gl_FUNC_LSEEK): When cross-compiling, fail on BeOS.
40437         * doc/functions/lseek.texi: Document BeOS definiency.
40438
40439 2007-08-18  Bruno Haible  <bruno@clisp.org>
40440
40441         * modules/fstrcmp-tests: New file.
40442         * tests/test-fstrcmp.c: New file.
40443
40444 2007-08-18  Bruno Haible  <bruno@clisp.org>
40445
40446         * modules/fstrcmp: New file, from GNU gettext with modifications.
40447         * lib/fstrcmp.h: New file, from GNU gettext.
40448         * lib/fstrcmp.c: New file, from GNU gettext.
40449         * MODULES.html.sh (String handling): Add fstrcmp.
40450
40451 2007-08-18  Bruno Haible  <bruno@clisp.org>
40452
40453         * lib/diffseq.h (struct context): Change type of 'heuristic' field to
40454         'bool'.
40455         (diag, compareseq): Remove const from the ctxt argument.
40456         (USE_HEURISTIC): Undefine at the end.
40457
40458 2007-08-18  Jim Meyering  <jim@meyering.net>
40459
40460         New file: lib/idcache.h
40461         * NEWS: Mention the addition.
40462         * modules/idcache (Files): Add lib/idcache.h
40463         * lib/idcache.c: Include "idcache.h".
40464         Don't include <sys/types.h>.
40465         Add a FIXME comment.
40466         Move file-scoped "static" declarations to the top.
40467         * lib/idcache.h: New file.  Include <sys/types.h> here, instead.
40468
40469 2007-08-17  Bruno Haible  <bruno@clisp.org>
40470         and Paul Eggert  <eggert@cs.ucla.edu>
40471
40472         * MODULES.html.sh: Add diffseq.
40473         * modules/diffseq: New file.
40474         * lib/diffseq.h: New file, from GNU gettext with a few minor changes,
40475         extracted from GNU gettext's fstrcmp.c and GNU diff's analyze.c.
40476
40477 2007-08-15  Paul Eggert  <eggert@cs.ucla.edu>
40478
40479         Import changes from coreutils for bootstrap script.
40480
40481         2007-07-21  Paul Eggert  <eggert@cs.ucla.edu>
40482
40483         * build-aux/bootstrap (slurp): Work even in environments where
40484         "ls" defaults to "ls -A".  Put in a FIXME, though, since the
40485         current code does not slurp files whose names start with ".", and
40486         this looks like it might be a troublesome area.
40487
40488         2007-07-11  Jim Meyering  <jim@meyering.net>
40489
40490         If there's a GPL vN copyright comment, require that N == 3.
40491
40492         2007-07-08  Jim Meyering  <jim@meyering.net>
40493
40494         Run the coreutils-specific code only if tests/Makefile.am.in exists.
40495         * build-aux/bootstrap (mam_template): Move definition out of loop.
40496
40497         Create symlinks for gl/{lib,m4}/*, just as for gnulib/{lib,m4}/*.
40498
40499         * build-aux/bootstrap (symlink_to_dir): Rename function from
40500         symlink_to_gnulib.  Add a directory parameter.  Update all
40501         callers.
40502         (cp_mark_as_generated): Also check for -- and link to -- files in
40503         gl/.
40504
40505         2007-07-08  Jim Meyering  <jim@meyering.net>
40506
40507         Adapt to deeper hierarchy in gnulib.
40508         * build-aux/bootstrap (symlink_to_dir): If the destination
40509         directory doesn't exist, create it. This is required at least for
40510         "lib/uniwidth/cjk.h".
40511
40512         2007-05-15  Jim Meyering  <jim@meyering.net>
40513
40514         * build-aux/bootstrap: Now that generated Makefile.am files
40515         are no longer under version control, they must be created at
40516         bootstrap time.
40517
40518 2007-08-14  Ben Pfaff  <blp@gnu.org>
40519
40520         * lib/count-one-bits.h: Add comments.  From Bruno Haible.
40521
40522 2007-08-14  Paul Eggert  <eggert@cs.ucla.edu>
40523
40524         * lib/count-one-bits.h: Don't include <limits.h>; no longer needed
40525         given the changes below.
40526         (COUNT_ONE_BITS): Use 'verify' rather than 'verify_true'.  Work
40527         even on hosts that have padding bits beyond the supported 64.
40528
40529 2007-08-10  Paul Eggert  <eggert@cs.ucla.edu>
40530
40531         * NEWS: In xstrtol, remove STRTOL_FATAL_ERROR and add xstrtol_fatal.
40532         * lib/xstrtol.h: Don't include exitfail.h; that's now internal to
40533         xstrtol.c.  Include getopt.h, since xstrtol_fatal's signature
40534         depends on it.
40535         (xstrtol_error): Remove.
40536         (xstrtol_fatal): New decl, replacing the functionality of xstrtol_error
40537         but with a different signature.
40538         (ATTRIBUTE_NORETURN, __attribute__): New macros.
40539         * lib/xstrtol-error.c: Include exitfail.h.
40540         (xstrtol_fatal): New function, with a different signature from the
40541         old xstrtol_error, so that the caller need not worry about passing
40542         in an exit status, or about storage management of the option argument.
40543         (xstrtol_error): Now a static function.  Redo signature to
40544         implement xstrtol_fatal.  Output the correct number of hyphens in
40545         front of the option so that the caller need not worry about
40546         storage management.
40547         (N_): New macro.
40548         (_): Remove; not used now.
40549         * modules/xstrtol: Depend on getopt.
40550         * tests/test-xstrtol.c (main): Use new xstrtol_error function instead
40551         of old STRTOL_FATAL_ERROR macro.
40552         * tests/test-xstrtol.sh (t-xstrtol.xo): Adjust to match new behavior
40553         of test program.
40554         * tests/test-xstrtoimax.sh (t-xstrtoimax.xo): Likewise.
40555         * tests/test-xstrtoumax.sh (t-xstrtoumax.xo): Likewise.
40556
40557 2007-08-08  Eric Blake  <ebb9@byu.net>
40558
40559         * lib/xstrtol-error.c: Add missing include.
40560
40561         Move xstrtol messages into gnulib domain, when --pobase is used.
40562         * lib/xstrtol.h (_STRTOL_ERROR): Move messages out of macro...
40563         * lib/xstrtol-error.c (xstrtol_error): ...into new file.
40564         * modules/xstrtol (Files): Distribute new file.
40565         * m4/xstrtol.m4 (gl_XSTRTOL): Build new file.
40566         * lib/xstrtol.c (TESTING_XSTRTO): Move tests...
40567         * tests/test-xstrtol.c: ...into new file.
40568         * tests/test-xstrtoul.c: Also test xstrtoul.
40569         * tests/test-xstrtoimax.c: Also test xstrtoimax.
40570         * tests/test-xstrtoumax.c: Also test xstrtoumax.
40571         * tests/test-xstrtol.sh: Drive the tests.
40572         * tests/test-xstrtoimax.sh: Likewise.
40573         * tests/test-xstrtoumax.sh: Likewise.
40574         * modules/xstrtol-tests: New module.
40575         * modules/xstrtoimax-tests: Likewise.
40576         * modules/xstrtoumax-tests: Likewise.
40577
40578 2007-08-08  Jim Meyering  <jim@meyering.net>
40579
40580         New function: mfile_name_concat.
40581         * lib/filenamecat.c (mfile_name_concat): New function, just like
40582         file_name_concat, but return NULL upon failure rather than exiting
40583         with a diagnostic.
40584         * lib/filenamecat.h: Declare it.
40585
40586 2007-08-07  Bruno Haible  <bruno@clisp.org>
40587
40588         * m4/inttypes.m4 (gl_INTTYPES_H): Use GL_TRIGGER_STDC_LIMIT_MACROS
40589         instead of __STDC_LIMIT_MACROS_TRIGGER. This avoids a redefinition
40590         warning from gcc.
40591         Reported by Eric Blake.
40592
40593 2007-08-07  Simon Josefsson  <simon@josefsson.org>
40594
40595         * modules/crypto/arctwo (License): Use the synonymous term "LGPLv2+".
40596         * modules/crypto/arcfour (License): Likewise.
40597         * modules/crypto/des-tests (License): Likewise.
40598         * modules/crypto/gc-arctwo-tests (License): Likewise.
40599         * modules/crypto/gc-des-tests (License): Likewise.
40600         * modules/crypto/gc-hmac-md5-tests (License): Likewise.
40601         * modules/crypto/gc-hmac-sha1-tests (License): Likewise.
40602         * modules/crypto/gc-md2-tests (License): Likewise.
40603         * modules/crypto/gc-md4-tests (License): Likewise.
40604         * modules/crypto/gc-md5-tests (License): Likewise.
40605         * modules/crypto/gc-pbkdf2-sha1-tests (License): Likewise.
40606         * modules/crypto/gc-rijndael-tests (License): Likewise.
40607         * modules/crypto/gc-sha1-tests (License): Likewise.
40608         * modules/crypto/gc-tests (License): Likewise.
40609         * modules/crypto/hmac-md5 (License): Likewise.
40610         * modules/crypto/hmac-sha1 (License): Likewise.
40611         * modules/crypto/md2-tests (License): Likewise.
40612         * modules/crypto/md4-tests (License): Likewise.
40613         * modules/crypto/md5 (License): Likewise.
40614         * modules/crypto/rijndael (License): Likewise.
40615         * modules/crypto/sha1 (License): Likewise.
40616         * modules/memxor (License): Likewise.
40617
40618 2007-08-06  Paul Eggert  <eggert@cs.ucla.edu>
40619         and Bruno Haible  <bruno@clisp.org>
40620
40621         * NEWS: Describe interface changes to human, xstrtol.
40622         * lib/human.h: Include <xstrtol.h>.
40623         (human_options): Return enum strtol_error, not int.  Remove
40624         bool arg; take int * instead.
40625         * lib/human.c: Don't include "gettext.h".
40626         (_): Remove; no longer used.
40627         Don't include <xstrtol.h>, since human.h does it.
40628         (human_options): Adjust to abovementioned interface changes.
40629         Do not report error to stderr; that's now the caller's
40630         responsibility.
40631         * lib/xstrtol.c (main) [defined TESTING_XSTRTO]: Adjust to
40632         interface change.
40633         * lib/xstrtol.h (_STRTOL_ERROR): Take Option, Arg rather than
40634         Str, Argument_type_string.  All uses changed.  Put " argument"
40635         in diagnostics to make them clearer.  Change wording of suffix
40636         message for clarity.
40637         (STRTOL_FATAL_ERROR): Take Option, Arg rather than Str,
40638         Argument_type_string.
40639         (STRTOL_FATAL_WARN): Remove; no longer used.
40640         * modules/human (Depends-on): Remove gettext-h.
40641
40642 2007-08-06  Simon Josefsson  <simon@josefsson.org>
40643
40644         * build-aux/maint.mk, build-aux/GNUmakefile: Relicense to GPLv3+.
40645
40646 2007-07-31  Bruno Haible  <bruno@clisp.org>
40647
40648         * m4/stdint.m4 (gl_STDINT_H): Test whether WCHAR_MIN and WCHAR_MAX
40649         are defined by <stdint.h> (as opposed to <wchar.h>, as on Dragonfly).
40650         Reported by Joerg Sonnenberger <joerg@britannica.bec.de>.
40651
40652 2007-07-31  Bruno Haible  <bruno@clisp.org>
40653
40654         * lib/fflush.c (rpl_fflush): On BSD systems, use the __SNPT flag.
40655         Suggested by Joerg Sonnenberger <joerg@britannica.bec.de>.
40656
40657 2007-07-30  Bruno Haible  <bruno@clisp.org>
40658
40659         * modules/base64 (License): Use the synonymous term "LGPLv2+".
40660         * modules/c-ctype (License): Likewise.
40661         * modules/c-strcase (License): Likewise.
40662         * modules/check-version (License): Likewise.
40663         * modules/iconv (License): Likewise.
40664         * modules/iconv_open (License): Likewise.
40665         * modules/read-file (License): Likewise.
40666         * modules/striconv (License): Likewise.
40667         * modules/strverscmp (License): Likewise.
40668         * modules/vasprintf (License): Likewise.
40669         * modules/crypto/des (License): Likewise.
40670         * modules/crypto/gc (License): Likewise.
40671         * modules/crypto/gc-arcfour (License): Likewise.
40672         * modules/crypto/gc-arctwo (License): Likewise.
40673         * modules/crypto/gc-des (License): Likewise.
40674         * modules/crypto/gc-hmac-md5 (License): Likewise.
40675         * modules/crypto/gc-hmac-sha1 (License): Likewise.
40676         * modules/crypto/gc-md2 (License): Likewise.
40677         * modules/crypto/gc-md4 (License): Likewise.
40678         * modules/crypto/gc-md5 (License): Likewise.
40679         * modules/crypto/gc-pbkdf2-sha1 (License): Likewise.
40680         * modules/crypto/gc-random (License): Likewise.
40681         * modules/crypto/gc-rijndael (License): Likewise.
40682         * modules/crypto/gc-sha1 (License): Likewise.
40683         * modules/crypto/md2 (License): Likewise.
40684         * modules/crypto/md4 (License): Likewise.
40685
40686 2007-07-30  Jim Meyering  <jim@meyering.net>
40687
40688         * lib/fts.c (fts_read): Upon failure to chdir into a subdirectory,
40689         set fts_info to FTS_DNR, not to FTS_ERR, so that the caller knows
40690         it has valid stat data.  This bug would cause du not to count the
40691         sizes of inaccessible directories.
40692         Patch by Bryan Mason <bmason@redhat.com>, via Jose Maria Plans
40693         in <http://bugzilla.redhat.com/250077>.
40694
40695 2007-07-25  Peter O'Gorman  <peter@pogma.com>
40696             Bruno Haible  <bruno@clisp.org>
40697
40698         * m4/include_next.m4 (gl_INCLUDE_NEXT): Test whether #include_next
40699         really works. Needed because AIX 4.3 "xlc -E" doesn't understand
40700         #include_next, gives a diagnostic about it, but reports no error in
40701         the exit code.
40702         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
40703
40704 2007-07-24  Ben Pfaff  <blp@gnu.org>
40705
40706         Improve name: "count-one-bits" is better than "popcount".
40707         * MODULES.html.sh: Update name.
40708         * lib/popcount.h: Renamed lib/count-one-bits.h.
40709         (popcount): Renamed count_one_bits.
40710         (popcountl): Renamed count_one_bits_l.
40711         (popcountll): Renamed count_one_bits_ll.
40712         * m4/popcount.m4: Renamed m4/count-one-bits.m4.
40713         * modules/popcount: Renamed module/count-one-bits.
40714         * modules/popcount-tests: Renamed module/count-one-bits-tests.
40715         * tests/test-popcount.c: Renamed tests/test-count-one-bits.c.
40716
40717 2007-07-23  Ben Pfaff  <blp@gnu.org>
40718
40719         * lib/popcount.h (popcount32): Reduce size of constants, to allow
40720         better code generation, and add U to large constants to avoid
40721         warnings, in non-GCC case.
40722         Suggested by Bruno Haible.
40723
40724 2007-07-23  Ben Pfaff  <blp@gnu.org>
40725
40726         * lib/popcount.h: Use verify_true instead of if...abort.
40727         * modules/popcount: Depend on verify module.
40728         Suggested by Jim Meyering.
40729
40730 2007-07-23  Bruno Haible  <bruno@clisp.org>
40731
40732         * gnulib-tool (func_import): Create a .cvsignore file also when the
40733         directory is not yet in CVS but the toplevel directory is. When
40734         creating a .cvsignore file, add ".deps" and ".dirstamp" to it.
40735         Reported by Karl Berry.
40736
40737 2007-07-22  Ben Pfaff  <blp@gnu.org>
40738
40739         * lib/popcount.h: Use faster, branchless algorithm for non-GCC
40740         case.
40741         Suggested by Eric Blake.
40742
40743 2007-07-22  Ben Pfaff  <blp@gnu.org>
40744
40745         New module: popcount.
40746         * MODULES.html.sh: Add popcount.
40747         * modules/popcount: New file.
40748         * modules/popcount-tests: New file.
40749         * tests/test-popcount.c: New file.
40750         * lib/popcount.h: New file.
40751         * m4/popcount.m4: New file.
40752
40753 2007-07-22  Paul Eggert  <eggert@cs.ucla.edu>
40754
40755         * build-aux/announce-gen: Update to GPLv3.
40756
40757         * build-aux/config.guess: Update from config.
40758
40759 2007-07-21  Bruno Haible  <bruno@clisp.org>
40760
40761         * lib/error.c (_) [ENABLE_NLS]: Define to gettext.
40762         * lib/verror.c (_) [ENABLE_NLS]: Likewise.
40763
40764 2007-07-20  Jim Meyering  <jim@meyering.net>
40765
40766         * check-module: Diagnose a self-dependency.
40767
40768 2007-07-19  Bruno Haible  <bruno@clisp.org>
40769
40770         * gnulib-tool (func_import): Don't abort if pobase or po_domain is
40771         empty.
40772         Reported by Eric Blake.
40773
40774 2007-07-18  Bruno Haible  <bruno@clisp.org>
40775
40776         * gnulib-tool: New options --po-base, --po-domain.
40777         (func_usage): Document them.
40778         (pobase, po_domain): New variables.
40779         (func_emit_lib_Makefile_am): Augment AM_CPPFLAGS, defining
40780         DEFAULT_TEXT_DOMAIN.
40781         (func_emit_po_Makevars, func_emit_po_POTFILES_in): New functions.
40782         (func_import): Consider pobase and po_domain. Create a po/ directory.
40783         (func_create_testdir): Set pobase and po_domain to empty.
40784         * build-aux/po/Makefile.in.in: New file, from GNU gettext 0.16.1.
40785         * build-aux/po/remove-potcdate.sin: New file, from GNU gettext 0.16.1.
40786
40787 2007-07-18  Bruno Haible  <bruno@clisp.org>
40788
40789         * gnulib-tool (func_get_automake_snippet): Synthesize also an
40790         EXTRA_DIST augmentation for files in build-aux/.
40791
40792 2007-07-16  Bruno Haible  <bruno@clisp.org>
40793
40794         * modules/lseek (License): Use the synonymous term "LGPLv2+".
40795         * modules/getdelim (License): Likewise.
40796
40797 2007-07-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
40798
40799         * modules/arpa_inet (License): Use the synonymous term LGPLv2+.
40800         * modules/d-type (License): Likewise.
40801         * modules/extensions (License): Likewise.
40802         * modules/fnmatch (License): Likewise.
40803         * modules/fseeko (License): Likewise.
40804         * modules/getaddrinfo (License): Likewise.
40805         * modules/getline (License): Likewise.
40806         * modules/getlogin_r (License): Likewise.
40807         * modules/getpass (License): Likewise.
40808         * modules/gettimeofday (License): Likewise.
40809         * modules/glob (License): Likewise.
40810         * modules/inet_ntop (License): Likewise.
40811         * modules/malloc (License): Likewise.
40812         * modules/malloca (License): Likewise.
40813         * modules/memmem (License): Likewise.
40814         * modules/mempcpy (License): Likewise.
40815         * modules/memset (License): Likewise.
40816         * modules/minmax (License): Likewise.
40817         * modules/mktime (License): Likewise.
40818         * modules/netinet_in (License): Likewise.
40819         * modules/pathmax (License): Likewise.
40820         * modules/poll (License): Likewise.
40821         * modules/regex (License): Likewise.
40822         * modules/snprintf (License): Likewise.
40823         * modules/stdbool (License): Likewise.
40824         * modules/stdint (License): Likewise.
40825         * modules/stdio (License): Likewise.
40826         * modules/strcase (License): Likewise.
40827         * modules/strcasestr (License): Likewise.
40828         * modules/strdup (License): Likewise.
40829         * modules/string (License): Likewise.
40830         * modules/strndup (License): Likewise.
40831         * modules/strnlen (License): Likewise.
40832         * modules/strpbrk (License): Likewise.
40833         * modules/strptime (License): Likewise.
40834         * modules/strsep (License): Likewise.
40835         * modules/sys_select (License): Likewise.
40836         * modules/sys_socket (License): Likewise.
40837         * modules/sys_stat (License): Likewise.
40838         * modules/sys_time (License): Likewise.
40839         * modules/time (License): Likewise.
40840         * modules/time_r (License): Likewise.
40841         * modules/timegm (License): Likewise.
40842         * modules/unistd (License): Likewise.
40843         * modules/vsnprintf (License): Likewise.
40844         * modules/wctype (License): Likewise.
40845
40846 2007-07-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
40847
40848         * modules/argz (License): LGPLv2+.
40849
40850 2007-07-15  Karl Berry  <karl@gnu.org>
40851
40852         * doc/gnulib.texi: revise node structure per new fdl.texi.
40853
40854 2007-07-14  Bruno Haible  <bruno@clisp.org>
40855
40856         * lib/uniname/gen-uninames.lisp (main): Emit a "do not edit" line to
40857         the output file.
40858         * lib/uniname/uninames.h: Regenerated.
40859
40860 2007-07-14  Karl Berry  <karl@gnu.org>
40861
40862         * doc/*gpl*.texi, doc/fdl.texi: new versions, consistently
40863         omitting sectioning and index commands.
40864
40865 2007-07-13  Bruno Haible  <bruno@clisp.org>
40866
40867         New gnulib-tool option --more-symlinks.
40868         * gnulib-tool (func_usage): Document --more-symlinks.
40869         (do_copyrights): New variable.
40870         Recognize option --more-symlinks.
40871         (func_import): Don't add a copyright notice transform to
40872         sed_transform_lib_file if do_copyrights is empty.
40873
40874 2007-07-13  Bruno Haible  <bruno@clisp.org>
40875
40876         * lib/vasnprintf.c (decimal_point_char): Define also if
40877         (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE)
40878         && !NEED_PRINTF_DIRECTIVE_A.
40879         Reported by Clemens Koller <clemens.koller@anagramm.de> via
40880         Gary V. Vaughan <gary@gnu.org>.
40881
40882 2007-07-13  Paul Eggert  <eggert@cs.ucla.edu>
40883
40884         * lib/inttypes_.h: Undo previous change, since it was fixed
40885         in a different way in the 2007-07-02 fix to m4/inttypes.m4.
40886
40887 2007-07-13  Bruno Haible  <bruno@clisp.org>
40888
40889         * lib/stdint_.h: Fix typo: _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H was
40890         misspelled as _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H.
40891
40892 2007-07-13  Jim Meyering  <jim@meyering.net>
40893
40894         df: Don't fail for Tru64's "file-on-file mount".
40895         * m4/fsusage.m4 (gl_FSUSAGE): Reject Tru64's buggy statvfs,
40896         so we fall through and use statfs instead.  Details here:
40897         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/10878>
40898         Reported by Albert Chin.
40899
40900 2007-07-13  Bruno Haible  <bruno@clisp.org>
40901
40902         * modules/alloca-opt (License): Use the synonymous term "LGPLv2+".
40903         * modules/configmake (License): Likewise.
40904         * modules/gettext (License): Likewise.
40905         * modules/gettext-h (License): Likewise.
40906         * modules/include_next (License): Likewise.
40907         * modules/link-warning (License): Likewise.
40908         * modules/localcharset (License): Likewise.
40909         * modules/localename (License): Likewise.
40910         * modules/lock (License): Likewise.
40911         * modules/relocatable-lib-lgpl (License): Likewise.
40912         * modules/size_max (License): Likewise.
40913         * modules/vasnprintf (License): Likewise.
40914         * modules/wchar (License): Likewise.
40915         * modules/xsize (License): Likewise.
40916
40917 2007-07-13  Bruno Haible  <bruno@clisp.org>
40918
40919         * gnulib-tool (func_import): Treat LGPLv2 as synonymous to LGPL.
40920         (func_create_testdir): Handle copying terms "GPLv2+" and "LGPLv2+".
40921
40922 2007-07-12  Bruno Haible  <bruno@clisp.org>
40923
40924         * doc/gnulib-intro.texi (Copyright): Clarify the license abbreviations
40925         in the modules files.
40926
40927 2007-07-11  Karl Berry  <karl@gnu.org>
40928
40929         * MODULES.html.sh (func_module): use
40930          sed -e '\|^'"${includefile}"'$|d'
40931          instead of /.../d, to avoid errors on $includefile's containing /.
40932
40933 2007-07-10  Sergey Poznyakoff  <gray@gnu.org.ua>
40934
40935         * gnulib-tool (func_import): Avoid duplication of --avoid
40936         statements
40937         (func_dest_tmpfilename,func_create_testdir): Translate `-' in file
40938         names to `_' in variable names.
40939
40940 2007-07-10  Eric Blake  <ebb9@byu.net>
40941
40942         * lib/version-etc.c (version_etc_va): Default to GPLv3+.
40943         * NEWS: Document this change.
40944
40945 2007-07-08  Bruno Haible  <bruno@clisp.org>
40946
40947         Update to Unicode 5.0.
40948         * lib/uniwidth/width.c (nonspacing_table_data): Add U+00AD,
40949         U+0350..U+035F, U+05A2, U+05BA, U+05C5, U+05C7, U+0600..U+0603,
40950         U+0610..U+0615, U+0656..U+065E, U+07EB..U+07F3, U+0A01, U+0AE2..U+0AE3,
40951         U+0CBC. Remove U+0CBF, U+0CC6. Add U+0CE2..U+0CE3, U+135F,
40952         U+17B4..U+17B5, U+17DD. Remove U+180E. Add U+1920..U+1922,
40953         U+1927..U+192B, U+1932, U+1939..U+193B, U+1A17..U+1A18, U+1B00..U+1B03,
40954         U+1B34, U+1B36..U+1B3A, U+1B3C, U+1B42, U+1B6B..U+1B73, U+1DC0..U+1DCA,
40955         U+1DFE..U+1DFF, U+20EB..U+20EF, U+A802, U+A806, U+A80B, U+A825..U+A826,
40956         U+10A01..U+10A03, U+10A05..U+10A06, U+10A0C..U+10A0F, U+10A38..U+10A3A,
40957         U+10A3F, U+1D242..U+1D244.
40958         (nonspacing_table_ind): Update.
40959         (uc_width): Assign width 0 to U+E0100..U+E01EF. Assign width 1 to
40960         U+4DC0..U+4DFF. Assign width 2 to U+2329..U+232A, U+FE10..U+FE1F.
40961
40962 2007-07-08  Bruno Haible  <bruno@clisp.org>
40963
40964         Update to Unicode 5.0.
40965         * lib/uniname/gen-uninames.lisp (main): Add the range 0x12xxx to the
40966         code transform. Extend the name index field of unicode_name_to_code and
40967         unicode_code_to_name from 16 to 24 bits.
40968         * lib/uniname/uniname.c (unicode_character_name,
40969         unicode_name_character): Add the range 0x12xxx to the code transform.
40970         * lib/uniname/uninames.h: Regenerated.
40971         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.0.
40972
40973 2007-07-07  Bruno Haible  <bruno@clisp.org>
40974
40975         * modules/wcwidth-tests: New file.
40976         * tests/test-wcwidth.c: New file.
40977
40978         Work around MacOS X wcwidth() bug.
40979         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test against MacOS X 10.3 bug.
40980         * lib/wcwidth.c: Include localcharset.h, streq.h, uniwidth.h.
40981         (rpl_wcwidth): Special-case the UTF-8 locales. Fall back to the
40982         original wcwidth in non-UTF-8 locales.
40983         * modules/wcwidth (Depends-on): Add localcharset, streq,
40984         uniwidth/width.
40985         * doc/functions/wcwidth.texi: Update.
40986
40987 2007-07-07  Bruno Haible  <bruno@clisp.org>
40988
40989         * lib/wchar_.h: Include the GL_LINK_WARNING macro.
40990         (wcwidth): New declaration.
40991         * m4/wchar.m4 (gl_WCHAR_MODULE_INDICATOR, gl_WCHAR_H_DEFAULTS): New
40992         macros.
40993         (gl_WCHAR_H): Require gl_WCHAR_H_DEFAULTS. Don't set WCHAR_H to empty
40994         here. Prepare for creating <wchar.h> unconditionally.
40995         * modules/wchar (Depends-on): Add link-warning.
40996         (Makefile.am): Substitute also GNULIB_WCWIDTH, HAVE_DECL_WCWIDTH,
40997         REPLACE_WCWIDTH, and GL_LINK_WARNING.
40998         * lib/wcwidth.h: Remove file.
40999         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gl_WCHAR_H_DEFAULTS. Set
41000         HAVE_DECL_WCWIDTH, REPLACE_WCWIDTH, WCHAR_H.
41001         * modules/wcwidth (Files): Remove lib/wcwidth.h.
41002         (configure.ac): Invoke gl_WCHAR_MODULE_INDICATOR.
41003         (Include): Replace wcwidth.h with <wchar.h>.
41004         * lib/wcwidth.c: Include <wchar.h> instead of wcwidth.h.
41005         * lib/mbchar.h: Don't include wcwidth.h.
41006         * lib/mbswidth.c: Likewise.
41007         * NEWS: Mention the change.
41008
41009 2007-07-07  Bruno Haible  <bruno@clisp.org>
41010
41011         * lib/wcwidth.c: New file, extracted from lib/wcwidth.h.
41012         * lib/wcwidth.h: Don't include wctype.h. Replace inline function
41013         definition with an external declaration.
41014         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Use wcwidth.c when wcwidth is not
41015         defined as a function. Remove AC_C_INLINE requirement.
41016         * modules/wcwidth (Files): Add lib/wcwidth.c.
41017         (Makefile.am): Remove redundant statement.
41018
41019 2007-07-07  Bruno Haible  <bruno@clisp.org>
41020
41021         * MODULES.html.sh (Unicode string functions): Add the new modules.
41022
41023         * tests/uniwidth/test-u32-strwidth.c: New file.
41024         * modules/uniwidth/u32-strwidth-tests: New file.
41025
41026         * lib/uniwidth/u32-strwidth.c: New file.
41027         * modules/uniwidth/u32-strwidth: New file.
41028
41029         * tests/uniwidth/test-u16-strwidth.c: New file.
41030         * modules/uniwidth/u16-strwidth-tests: New file.
41031
41032         * lib/uniwidth/u16-strwidth.c: New file.
41033         * modules/uniwidth/u16-strwidth: New file.
41034
41035         * tests/uniwidth/test-u8-strwidth.c: New file.
41036         * modules/uniwidth/u8-strwidth-tests: New file.
41037
41038         * lib/uniwidth/u8-strwidth.c: New file.
41039         * modules/uniwidth/u8-strwidth: New file.
41040
41041         * tests/uniwidth/test-u32-width.c: New file.
41042         * modules/uniwidth/u32-width-tests: New file.
41043
41044         * lib/uniwidth/u32-width.c: New file.
41045         * modules/uniwidth/u32-width: New file.
41046
41047         * tests/uniwidth/test-u16-width.c: New file.
41048         * modules/uniwidth/u16-width-tests: New file.
41049
41050         * lib/uniwidth/u16-width.c: New file.
41051         * modules/uniwidth/u16-width: New file.
41052
41053         * tests/uniwidth/test-u8-width.c: New file.
41054         * modules/uniwidth/u8-width-tests: New file.
41055
41056         * lib/uniwidth/u8-width.c: New file.
41057         * modules/uniwidth/u8-width: New file.
41058
41059         * tests/uniwidth/test-uc_width.c: New file.
41060         * modules/uniwidth/width-tests: New file.
41061
41062         * lib/uniwidth/width.c: New file, from GNU libiconv.
41063         * lib/uniwidth/cjk.h: New file, from GNU libiconv.
41064         * modules/uniwidth/width: New file.
41065
41066         * lib/uniwidth.h: New file, from GNU libiconv.
41067         * modules/uniwidth/base: New file.
41068
41069 2007-07-07  Bruno Haible  <bruno@clisp.org>
41070
41071         * lib/uniname.h: New file, from GNU gettext.
41072         * lib/uniname/gen-uninames.lisp: New file, from GNU gettext.
41073         * lib/uniname/uninames.h: New file, from GNU gettext.
41074         * lib/uniname/uniname.c: New file, from GNU gettext.
41075         * tests/uniname/test-uninames.sh: New file.
41076         * tests/uniname/test-uninames.c: New file, from GNU gettext.
41077         * tests/uniname/UnicodeDataNames.txt: New file, from GNU gettext.
41078         * modules/uniname/base: New file.
41079         * modules/uniname/uniname: New file.
41080         * modules/uniname/uniname-tests: New file.
41081         * MODULES.html.sh (Unicode string functions): Add the new modules.
41082
41083 2007-07-06  Bruno Haible  <bruno@clisp.org>
41084
41085         * doc/Makefile (TEXI2HTML): Specify a --reference-limit.
41086
41087 2007-07-06  Bruno Haible  <bruno@clisp.org>
41088
41089         * lib/sys_time_.h: Use a recursion-safe inclusion guard rather than
41090         a split double-inclusion guard. Needed for cygwin, where <sys/time.h>
41091         includes <cygwin/sys_time.h> which includes <sys/select.h> which
41092         include <sys/time.h>.
41093         Reported by Eric Blake.
41094
41095 2007-07-06  Eric Blake  <ebb9@byu.net>
41096
41097         Fix testing canonicalize on cygwin.
41098         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
41099         Revert patch from 2007-06-19.
41100         * tests/test-canonicalize-lgpl.c (main): Instead, skip test when
41101         canonicalize module is also in use.
41102         * tests/test-canonicalize.c: New file.
41103         * tests/test-canonicalize.sh: Likewise.
41104         * modules/canonicalize-tests: Likewise.
41105
41106 2007-07-06  Jim Meyering  <jim@meyering.net>
41107
41108         * lib/getugroups.c (getugroups): Detect getgrent failure.
41109         Adjust comment to reflect reality: this function may return -1.
41110
41111 2007-07-05  Sergey Poznyakoff  <gray@gnu.org.ua>
41112
41113         * build-aux/bootstrap (TP_URL,get_translations): Update to use
41114         the new TP address.
41115         (usage): Fix typo
41116         (gnulib_mk): New variable.
41117
41118 2007-07-05  Jim Meyering  <jim@meyering.net>
41119
41120         Don't let endgrent clobber errno, no matter how improbable.
41121         * lib/getugroups.c (getugroups): Save and restore errno around
41122         endgrent call.
41123
41124         Close the group DB even when failing with 2^31 or more members.
41125         * lib/getugroups.c (getugroups): Don't return without calling endgrent.
41126
41127 2007-07-04  Jim Meyering  <jim@meyering.net>
41128
41129         * lib/getugroups.h: New file.
41130         * lib/getugroups.c: Include "getugroups.h".
41131         Remove uses of "register" keyword.
41132         Move local variable, "cp", down into scope where used.
41133         Give "username" parameter the "const" attribute.
41134         * modules/getugroups (Files): Add lib/getugroups.h
41135
41136 2007-07-04  Karl Berry  <karl@gnu.org>
41137
41138         * MODULES.html.sh (func_all_modules): Complete rename of
41139         gpl/lgpl to gpl-2.0 and lgpl-2.1, and add gpl-3.0.
41140
41141 2007-07-02  Bruno Haible  <bruno@clisp.org>
41142
41143         * m4/inttypes.m4 (gl_INTTYPES_H): Define __STDC_LIMIT_MACROS in C++
41144         mode, when inttypes.h comes from gnulib.
41145         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
41146
41147 2007-07-02  Simon Josefsson  <simon@josefsson.org>
41148
41149         * NEWS: Mention lgpl module name change.
41150
41151         * modules/lgpl-2.1: Renamed from lgpl.
41152
41153         * NEWS: Mention gpl module name change.
41154
41155         * modules/gpl-3.0: New file, based on gpl-2.0.
41156
41157         * modules/gpl-2.0: Renamed from gpl.
41158
41159         * modules/gpl: Fix filename, doc/gpl.texi is now found at
41160         doc/gpl-2.0.texi.
41161
41162 2007-07-02  Paul Eggert  <eggert@cs.ucla.edu>
41163
41164         * lib/inttypes_.h [defined __cplusplus&&!defined __STDC_LIMIT_MACROS]:
41165         #define __STDC_LIMIT_MACROS temporarily while including
41166         <stdint.h>, so that __STDC_LIMIT_MACROS is defined.
41167         Problem reported by Joel E. Denny in
41168         <http://lists.gnu.org/archive/html/bug-gnulib/2007-07/msg00008.html>.
41169
41170 2007-07-01  Bruno Haible  <bruno@clisp.org>
41171
41172         * lib/unistdio.h: New file.
41173         * lib/unistdio/u-asnprintf.h: New file.
41174         * lib/unistdio/u-asprintf.h: New file.
41175         * lib/unistdio/u-printf-args.c: New file.
41176         * lib/unistdio/u-printf-args.h: New file.
41177         * lib/unistdio/u-printf-parse.h: New file.
41178         * lib/unistdio/u-snprintf.h: New file.
41179         * lib/unistdio/u-sprintf.h: New file.
41180         * lib/unistdio/u-vasprintf.h: New file.
41181         * lib/unistdio/u-vsnprintf.h: New file.
41182         * lib/unistdio/u-vsprintf.h: New file.
41183         * lib/unistdio/ulc-asnprintf.c: New file.
41184         * lib/unistdio/ulc-asprintf.c: New file.
41185         * lib/unistdio/ulc-fprintf.c: New file, based on lib/fprintf.c.
41186         * lib/unistdio/ulc-printf-parse.c: New file.
41187         * lib/unistdio/ulc-snprintf.c: New file.
41188         * lib/unistdio/ulc-sprintf.c: New file.
41189         * lib/unistdio/ulc-vasnprintf.c: New file.
41190         * lib/unistdio/ulc-vasprintf.c: New file.
41191         * lib/unistdio/ulc-vfprintf.c: New file, based on lib/vfprintf.c.
41192         * lib/unistdio/ulc-vsnprintf.c: New file.
41193         * lib/unistdio/ulc-vsprintf.c: New file.
41194         * lib/unistdio/u8-asnprintf.c: New file.
41195         * lib/unistdio/u8-asprintf.c: New file.
41196         * lib/unistdio/u8-printf-parse.c: New file.
41197         * lib/unistdio/u8-snprintf.c: New file.
41198         * lib/unistdio/u8-sprintf.c: New file.
41199         * lib/unistdio/u8-vasnprintf.c: New file.
41200         * lib/unistdio/u8-vasprintf.c: New file.
41201         * lib/unistdio/u8-vsnprintf.c: New file.
41202         * lib/unistdio/u8-vsprintf.c: New file.
41203         * lib/unistdio/u8-u8-asnprintf.c: New file.
41204         * lib/unistdio/u8-u8-asprintf.c: New file.
41205         * lib/unistdio/u8-u8-snprintf.c: New file.
41206         * lib/unistdio/u8-u8-sprintf.c: New file.
41207         * lib/unistdio/u8-u8-vasnprintf.c: New file.
41208         * lib/unistdio/u8-u8-vasprintf.c: New file.
41209         * lib/unistdio/u8-u8-vsnprintf.c: New file.
41210         * lib/unistdio/u8-u8-vsprintf.c: New file.
41211         * lib/unistdio/u16-asnprintf.c: New file.
41212         * lib/unistdio/u16-asprintf.c: New file.
41213         * lib/unistdio/u16-printf-parse.c: New file.
41214         * lib/unistdio/u16-snprintf.c: New file.
41215         * lib/unistdio/u16-sprintf.c: New file.
41216         * lib/unistdio/u16-vasnprintf.c: New file.
41217         * lib/unistdio/u16-vasprintf.c: New file.
41218         * lib/unistdio/u16-vsnprintf.c: New file.
41219         * lib/unistdio/u16-vsprintf.c: New file.
41220         * lib/unistdio/u16-u16-asnprintf.c: New file.
41221         * lib/unistdio/u16-u16-asprintf.c: New file.
41222         * lib/unistdio/u16-u16-snprintf.c: New file.
41223         * lib/unistdio/u16-u16-sprintf.c: New file.
41224         * lib/unistdio/u16-u16-vasnprintf.c: New file.
41225         * lib/unistdio/u16-u16-vasprintf.c: New file.
41226         * lib/unistdio/u16-u16-vsnprintf.c: New file.
41227         * lib/unistdio/u16-u16-vsprintf.c: New file.
41228         * lib/unistdio/u32-asnprintf.c: New file.
41229         * lib/unistdio/u32-asprintf.c: New file.
41230         * lib/unistdio/u32-printf-parse.c: New file.
41231         * lib/unistdio/u32-snprintf.c: New file.
41232         * lib/unistdio/u32-sprintf.c: New file.
41233         * lib/unistdio/u32-vasnprintf.c: New file.
41234         * lib/unistdio/u32-vasprintf.c: New file.
41235         * lib/unistdio/u32-vsnprintf.c: New file.
41236         * lib/unistdio/u32-vsprintf.c: New file.
41237         * lib/unistdio/u32-u32-asnprintf.c: New file.
41238         * lib/unistdio/u32-u32-asprintf.c: New file.
41239         * lib/unistdio/u32-u32-snprintf.c: New file.
41240         * lib/unistdio/u32-u32-sprintf.c: New file.
41241         * lib/unistdio/u32-u32-vasnprintf.c: New file.
41242         * lib/unistdio/u32-u32-vasprintf.c: New file.
41243         * lib/unistdio/u32-u32-vsnprintf.c: New file.
41244         * lib/unistdio/u32-u32-vsprintf.c: New file.
41245         * tests/unistdio/test-ulc-asnprintf1.c: New file.
41246         * tests/unistdio/test-ulc-asnprintf1.h: New file.
41247         * tests/unistdio/test-ulc-printf1.h: New file.
41248         * tests/unistdio/test-ulc-vasnprintf1.c: New file.
41249         * tests/unistdio/test-ulc-vasnprintf2.c: New file.
41250         * tests/unistdio/test-ulc-vasnprintf2.sh: New file.
41251         * tests/unistdio/test-ulc-vasnprintf3.c: New file.
41252         * tests/unistdio/test-ulc-vasnprintf3.sh: New file.
41253         * tests/unistdio/test-ulc-vasprintf1.c: New file.
41254         * tests/unistdio/test-ulc-vsnprintf1.c: New file.
41255         * tests/unistdio/test-ulc-vsprintf1.c: New file.
41256         * tests/unistdio/test-u8-asnprintf1.c: New file.
41257         * tests/unistdio/test-u8-asnprintf1.h: New file.
41258         * tests/unistdio/test-u8-printf1.h: New file.
41259         * tests/unistdio/test-u8-vasnprintf1.c: New file.
41260         * tests/unistdio/test-u8-vasnprintf2.c: New file.
41261         * tests/unistdio/test-u8-vasnprintf2.sh: New file.
41262         * tests/unistdio/test-u8-vasnprintf3.c: New file.
41263         * tests/unistdio/test-u8-vasnprintf3.sh: New file.
41264         * tests/unistdio/test-u8-vasprintf1.c: New file.
41265         * tests/unistdio/test-u8-vsnprintf1.c: New file.
41266         * tests/unistdio/test-u8-vsprintf1.c: New file.
41267         * tests/unistdio/test-u16-asnprintf1.c: New file.
41268         * tests/unistdio/test-u16-asnprintf1.h: New file.
41269         * tests/unistdio/test-u16-printf1.h: New file.
41270         * tests/unistdio/test-u16-vasnprintf1.c: New file.
41271         * tests/unistdio/test-u16-vasnprintf2.c: New file.
41272         * tests/unistdio/test-u16-vasnprintf2.sh: New file.
41273         * tests/unistdio/test-u16-vasnprintf3.c: New file.
41274         * tests/unistdio/test-u16-vasnprintf3.sh: New file.
41275         * tests/unistdio/test-u16-vasprintf1.c: New file.
41276         * tests/unistdio/test-u16-vsnprintf1.c: New file.
41277         * tests/unistdio/test-u16-vsprintf1.c: New file.
41278         * tests/unistdio/test-u32-asnprintf1.c: New file.
41279         * tests/unistdio/test-u32-asnprintf1.h: New file.
41280         * tests/unistdio/test-u32-printf1.h: New file.
41281         * tests/unistdio/test-u32-vasnprintf1.c: New file.
41282         * tests/unistdio/test-u32-vasnprintf2.c: New file.
41283         * tests/unistdio/test-u32-vasnprintf2.sh: New file.
41284         * tests/unistdio/test-u32-vasnprintf3.c: New file.
41285         * tests/unistdio/test-u32-vasnprintf3.sh: New file.
41286         * tests/unistdio/test-u32-vasprintf1.c: New file.
41287         * tests/unistdio/test-u32-vsnprintf1.c: New file.
41288         * tests/unistdio/test-u32-vsprintf1.c: New file.
41289         * modules/unistdio/base: New file.
41290         * modules/unistdio/u-printf-args: New file.
41291         * modules/unistdio/ulc-asnprintf: New file.
41292         * modules/unistdio/ulc-asprintf: New file.
41293         * modules/unistdio/ulc-fprintf: New file.
41294         * modules/unistdio/ulc-printf-parse: New file.
41295         * modules/unistdio/ulc-snprintf: New file.
41296         * modules/unistdio/ulc-sprintf: New file.
41297         * modules/unistdio/ulc-vasnprintf: New file.
41298         * modules/unistdio/ulc-vasprintf: New file.
41299         * modules/unistdio/ulc-vfprintf: New file.
41300         * modules/unistdio/ulc-vsnprintf: New file.
41301         * modules/unistdio/ulc-vsprintf: New file.
41302         * modules/unistdio/u8-asnprintf: New file.
41303         * modules/unistdio/u8-asprintf: New file.
41304         * modules/unistdio/u8-printf-parse: New file.
41305         * modules/unistdio/u8-snprintf: New file.
41306         * modules/unistdio/u8-sprintf: New file.
41307         * modules/unistdio/u8-vasnprintf: New file.
41308         * modules/unistdio/u8-vasprintf: New file.
41309         * modules/unistdio/u8-vsnprintf: New file.
41310         * modules/unistdio/u8-vsprintf: New file.
41311         * modules/unistdio/u8-u8-asnprintf: New file.
41312         * modules/unistdio/u8-u8-asprintf: New file.
41313         * modules/unistdio/u8-u8-snprintf: New file.
41314         * modules/unistdio/u8-u8-sprintf: New file.
41315         * modules/unistdio/u8-u8-vasnprintf: New file.
41316         * modules/unistdio/u8-u8-vasprintf: New file.
41317         * modules/unistdio/u8-u8-vsnprintf: New file.
41318         * modules/unistdio/u8-u8-vsprintf: New file.
41319         * modules/unistdio/u16-asnprintf: New file.
41320         * modules/unistdio/u16-asprintf: New file.
41321         * modules/unistdio/u16-printf-parse: New file.
41322         * modules/unistdio/u16-snprintf: New file.
41323         * modules/unistdio/u16-sprintf: New file.
41324         * modules/unistdio/u16-vasnprintf: New file.
41325         * modules/unistdio/u16-vasprintf: New file.
41326         * modules/unistdio/u16-vsnprintf: New file.
41327         * modules/unistdio/u16-vsprintf: New file.
41328         * modules/unistdio/u16-u16-asnprintf: New file.
41329         * modules/unistdio/u16-u16-asprintf: New file.
41330         * modules/unistdio/u16-u16-snprintf: New file.
41331         * modules/unistdio/u16-u16-sprintf: New file.
41332         * modules/unistdio/u16-u16-vasnprintf: New file.
41333         * modules/unistdio/u16-u16-vasprintf: New file.
41334         * modules/unistdio/u16-u16-vsnprintf: New file.
41335         * modules/unistdio/u16-u16-vsprintf: New file.
41336         * modules/unistdio/u32-asnprintf: New file.
41337         * modules/unistdio/u32-asprintf: New file.
41338         * modules/unistdio/u32-printf-parse: New file.
41339         * modules/unistdio/u32-snprintf: New file.
41340         * modules/unistdio/u32-sprintf: New file.
41341         * modules/unistdio/u32-vasnprintf: New file.
41342         * modules/unistdio/u32-vasprintf: New file.
41343         * modules/unistdio/u32-vsnprintf: New file.
41344         * modules/unistdio/u32-vsprintf: New file.
41345         * modules/unistdio/u32-u32-asnprintf: New file.
41346         * modules/unistdio/u32-u32-asprintf: New file.
41347         * modules/unistdio/u32-u32-snprintf: New file.
41348         * modules/unistdio/u32-u32-sprintf: New file.
41349         * modules/unistdio/u32-u32-vasnprintf: New file.
41350         * modules/unistdio/u32-u32-vasprintf: New file.
41351         * modules/unistdio/u32-u32-vsnprintf: New file.
41352         * modules/unistdio/u32-u32-vsprintf: New file.
41353         * modules/unistdio/ulc-asnprintf-tests: New file.
41354         * modules/unistdio/ulc-vasnprintf-tests: New file.
41355         * modules/unistdio/ulc-vasprintf-tests: New file.
41356         * modules/unistdio/ulc-vsnprintf-tests: New file.
41357         * modules/unistdio/ulc-vsprintf-tests: New file.
41358         * modules/unistdio/u8-asnprintf-tests: New file.
41359         * modules/unistdio/u8-vasnprintf-tests: New file.
41360         * modules/unistdio/u8-vasprintf-tests: New file.
41361         * modules/unistdio/u8-vsnprintf-tests: New file.
41362         * modules/unistdio/u8-vsprintf-tests: New file.
41363         * modules/unistdio/u16-asnprintf-tests: New file.
41364         * modules/unistdio/u16-vasnprintf-tests: New file.
41365         * modules/unistdio/u16-vasprintf-tests: New file.
41366         * modules/unistdio/u16-vsnprintf-tests: New file.
41367         * modules/unistdio/u16-vsprintf-tests: New file.
41368         * modules/unistdio/u32-asnprintf-tests: New file.
41369         * modules/unistdio/u32-vasnprintf-tests: New file.
41370         * modules/unistdio/u32-vasprintf-tests: New file.
41371         * modules/unistdio/u32-vsnprintf-tests: New file.
41372         * modules/unistdio/u32-vsprintf-tests: New file.
41373         * MODULES.html.sh (Unicode string functions): Add the new modules.
41374
41375 2007-07-01  Bruno Haible  <bruno@clisp.org>
41376
41377         * lib/sprintf.c (sprintf): Limit the available length estimation,
41378         to avoid address wraparound.
41379         * lib/vsprintf.c (vsprintf): Likewise.
41380         * modules/sprintf-posix (Dependencies): Add stdint.
41381         * modules/vsprintf-posix (Dependencies): Likewise.
41382
41383 2007-07-01  Bruno Haible  <bruno@clisp.org>
41384
41385         * gnulib-tool (self_abspathname): Determine PATH_SEPARATOR and handle
41386         Windows PATH as well. Conservative double-quoting. Comments.
41387
41388 2007-07-01  Bruno Haible  <bruno@clisp.org>
41389             Eric Blake  <ebb9@byu.net>
41390             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41391
41392         * gnulib-tool (self_abspathname): Fix algorithm to cope with
41393         empty components in $PATH, denoting '.'.
41394
41395 2007-07-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41396
41397         * gnulib-tool: Fix indentation.
41398         (func_create_megatestdir): Likewise.
41399         Report by Bruno Haible.
41400
41401 2007-06-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41402
41403         Sync from Automake.
41404         * build-aux/gnupload: Fix shell portability issues with for loops.
41405         Report by Karl Berry.
41406
41407 2007-06-29  Simon Josefsson  <simon@josefsson.org>
41408
41409         * build-aux/maint.mk (POURL): Use translationproject.org.
41410
41411 2007-06-27  Simon Josefsson  <simon@josefsson.org>
41412             Bruno Haible  <bruno@clisp.org>
41413
41414         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Require gl_HEADER_SYS_SOCKET
41415         before using HAVE_WS2TCPIP_H. Check for gai_strerror through an
41416         explicit link test, rather than AC_REPLACE_FUNCS - for mingw.
41417         (gl_PREREQ_GETADDRINFO): Require gl_HEADER_SYS_SOCKET before using
41418         HAVE_SYS_SOCKET_H and HAVE_WS2TCPIP_H.
41419
41420 2007-06-27  Bruno Haible  <bruno@clisp.org>
41421
41422         * build-aux/config.rpath: Upgrade to libtool-1.5.24.
41423         * build-aux/config.libpath: Upgrade to libtool-1.5.24.
41424
41425 2007-06-26  Karl Berry  <karl@gnu.org>
41426
41427         * MODULES.html.sh: remove xreadlink-with-size.
41428
41429 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
41430
41431         * lib/time_.h: Port to Solaris 8 with Sun Studio 11, using a
41432         method that I hope also handles the double-include problem noted
41433         by Bruno Haible in
41434         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00186.html>.
41435
41436 2007-06-23  Bruno Haible  <bruno@clisp.org>
41437
41438         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
41439         Don't let the 'mostlyclean' target fail if the last subdirectory could
41440         not be removed.
41441         Reported by Karl Berry.
41442
41443 2007-06-23  Bruno Haible  <bruno@clisp.org>
41444
41445         * gnulib-tool (echo): Add a speedier workaround for ksh.
41446         * tests/test-echo.sh: Likewise.
41447
41448 2007-06-23  Bruno Haible  <bruno@clisp.org>
41449
41450         * gnulib-tool (echo): Add workarounds also for bash versions < 2.04.
41451         * tests/test-echo.sh: Likewise.
41452
41453 2007-06-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41454
41455         * gnulib-tool (IFS): Initialize early, so we don't set it to
41456         empty later.
41457         (self_abspathname): Rewrite algorithm to set it, reindent.
41458         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am)
41459         (func_create_megatestdir): Merge some sed scripts.
41460
41461 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
41462
41463         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Check some typos
41464         exposed by Sun Studio 11 cc on Solaris 8.
41465
41466 2007-06-22  Bruno Haible  <bruno@clisp.org>
41467
41468         * gnulib-tool (echo): Ensure the echo primitive does not interpret
41469         backslashes.
41470         * tests/test-echo.sh: New file.
41471
41472 2007-06-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41473
41474         * gnulib-tool (func_add_or_update, func_create_testdir): Do not
41475         simplify `sed_replace_build_aux' scripts, they are portable but
41476         echoing them with `echo' is not.
41477         Report and analysis by Fernando Ferreira <fernando.prog@netcabo.pt>.
41478
41479 2007-06-21  Karl Berry  <karl@gnu.org>
41480
41481         * config/srclist.txt: guess we can't handle the licenses via
41482         srclist at the moment.
41483
41484 2007-06-21  Paul Eggert  <eggert@cs.ucla.edu>
41485
41486         * MODULES.html.sh: Add include_next.
41487         * modules/include_next: New file.
41488
41489 2007-06-20  Paul Eggert  <eggert@cs.ucla.edu>
41490
41491         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define and AC_SUBST
41492         INCLUDE_NEXT.
41493         (gl_CHECK_NEXT_HEADERS): New macro.
41494         * m4/fcntl_h.m4 (gl_FCNTL_H): use gl_CHECK_NEXT_HEADERS instead of
41495         the obsolescent gl_ABSOLUTE_HEADER.
41496         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
41497         * m4/float_h.m4 (gl_FLOAT_H): Likewise.
41498         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
41499         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
41500         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
41501         * m4/math_h.m4 (gl_MATH_H): Likewise.
41502         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
41503         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
41504         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
41505         * m4/stdint.m4 (gl_STDINT_H): Likewise.
41506         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
41507         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
41508         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
41509         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
41510         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
41511         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
41512         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
41513         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
41514         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
41515         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
41516         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
41517         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
41518         * m4/inttypes.m4 (gl_INTTYPES_H): Define
41519         _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H to avoid the problem of unclean
41520         builds, since ABSOLUTE_INTTYPES_H is no longer being defined.
41521         * m4/stdint.m4 (gl_STDINT_H): Likewise, for
41522         _GL_JUST_INCLUDE_SYSTEM_STDINT_H.
41523         * lib/fcntl_.h: Use @INCLUDE_NEXT@ @NEXT_foo_H@
41524         rather than @HAVE_INCLUDE_NEXT@ and @ABSOLUTE_foo_H@.
41525         * lib/float_.h: Likewise.
41526         * lib/inttypes_.h: Likewise.
41527         * lib/math_.h: Likewise.
41528         * lib/search_.h: Likewise.
41529         * lib/signal_.h: Likewise.
41530         * lib/stdint_.h: Likewise.
41531         * lib/stdio_.h: Likewise.
41532         * lib/stdlib_.h: Likewise.
41533         * lib/string_.h: Likewise.
41534         * lib/sys_stat_.h: Likewise.
41535         * lib/sys_time_.h: Likewise.
41536         * lib/time_.h: Likewise.
41537         * lib/unistd_.h: Likewise.
41538         * lib/wchar_.h: Likewise.
41539         * lib/wctype_.h: Likewise.
41540         * lib/dirent_.h: Likewise.
41541         * lib/iconv_.h: Likewise.
41542         * lib/locale_.h: Likewise.
41543         * lib/netinet_in_.h: Likewise.
41544         * lib/sys_select_.h: Likewise.
41545         * lib/sys_socket_.h: Likewise.
41546         * lib/sysexits_.h: Likewise.
41547         * modules/fcntl (Depends-on): Depend on include_next, not
41548         absolute_header.
41549         (Makefile): Substitute INCLUDE_NEXT and NEXT_foo_H, not
41550         HAVE_INCLUDE_NEXT and ABSOLUTE_foo_H.
41551         * modules/fchdir: Likewise.
41552         * modules/float: Likewise.
41553         * modules/iconv_open: Likewise.
41554         * modules/inttypes: Likewise.
41555         * modules/locale: Likewise.
41556         * modules/math: Likewise.
41557         * modules/netinet_in: Likewise.
41558         * modules/search: Likewise.
41559         * modules/signal: Likewise.
41560         * modules/stdint: Likewise.
41561         * modules/stdio: Likewise.
41562         * modules/stdlib: Likewise.
41563         * modules/string: Likewise.
41564         * modules/sys_select: Likewise.
41565         * modules/sys_socket: Likewise.
41566         * modules/sys_stat: Likewise.
41567         * modules/sys_time: Likewise.
41568         * modules/sysexits: Likewise.
41569         * modules/time: Likewise.
41570         * modules/unistd: Likewise.
41571         * modules/wchar: Likewise.
41572         * modules/wctype: Likewise.
41573         * modules/sys_stat: Change maintainer to "all".
41574         * modules/unistd: Likewise.
41575
41576 2007-06-20  Karl Berry  <karl@gnu.org>
41577
41578         * config/srclist.txt: track www changes in license files.
41579
41580 2007-06-20  Sergey Poznyakoff  <gray@gnu.org.ua>
41581
41582         * build-aux/bootstrap: Remove stray dot.
41583         Make sure build_aux settings are honored when linking
41584         gnulib_extra_files.
41585
41586 2007-06-19  Eric Blake  <ebb9@byu.net>
41587
41588         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
41589         Allow compilation on cygwin.
41590
41591 2007-06-19  Jim Meyering  <jim@meyering.net>
41592
41593         xreadlink-with-size: Remove module.  No longer used.
41594         Ex-callers now use xreadlink or mreadlink-with-size.
41595         * modules/xreadlink-with-size: Remove module.
41596         * lib/xreadlink-with-size.c: Remove file.
41597         * lib/xreadlink.h (xreadlink_with_size): Remove prototype.
41598         (xreadlink): Remove inaccurate comment.  The one in xreadlink.c,
41599         just before the function definition *is* accurate.
41600
41601         Eliminate one way canonicalize_filename_mode could exit.
41602         * lib/canonicalize.c (canonicalize_filename_mode):
41603         Use mreadlink_with_size, not xreadlink_with_size.
41604
41605 2007-06-18  Paul Eggert  <eggert@cs.ucla.edu>
41606
41607         Detect porting problems to FreeBSD/arm, which has time_t wider than
41608         long int.  Original problem reported for GNU diff by Xin Li in
41609         <http://lists.gnu.org/archive/html/bug-gnu-utils/2007-06/msg00091.html>.
41610         * modules/getdate (Depends-on): Add intprops, verify.
41611         * lib/getdate.y: Include intprops.h, verify.h.  Verify that time_t
41612         is an integer type no wider than long int.
41613
41614 2007-06-18  Jim Meyering  <jim@meyering.net>
41615
41616         New module: mreadlink-with-size.
41617         * MODULES.html.sh: Add mreadlink-with-size.
41618         * modules/mreadlink-with-size: New module
41619         * modules/canonicalize (Depends-on): Depend on mreadlink-with-size,
41620         not xreadlink-with-size.
41621         * lib/mreadlink-with-size.c, lib/mreadlink.h: New files.
41622
41623 2007-06-16  Bruno Haible  <bruno@clisp.org>
41624
41625         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Catch the MacOS X 10.4 bug.
41626         * doc/functions/frexpl.texi: Document the MacOS X 10.4 bug.
41627         Reported by Gary V. Vaughan <gary@gnu.org>.
41628
41629 2007-06-15  Paul Eggert  <eggert@cs.ucla.edu>
41630
41631         Revamp lchown so that it lives in unistd.h where it belongs.
41632         * lib/lchown.h: Remove.
41633         * lib/dirchownmod.c: Don't include lib/lchown.h.
41634         * lib/fchownat.c: Likewise.
41635         * lib/openat.c: Likewise.
41636         * lib/lchown.c (REPLACE_CHOWN): Define to 0 if the system chown
41637         does not follow symlinks.
41638         (EOPNOTSUPP): Define if not defined.
41639         * lib/unistd_.h (chown): Do not replace if REPLADE_CHOWN
41640         is defined to 0.
41641         (lchown): New decl.
41642         * m4/lchown.m4 (gl_FUNC_LCHOWN): Require gl_UNISTD_H_DEFAULTS.
41643         Do not check for lchown decl.
41644         Set REPLACE_LCHOWN.
41645         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set GNULIB_LCHOWN,
41646         REPLACE_LCHOWN.
41647         * modules/chown: Make it clear it follows symlinks.
41648         * modules/lchown: Make it clear it doesn't follow symlinks.
41649         (Files): Remove lib/lchown.h
41650         (Depends-on): Add unistd.
41651         (configure.ac): Add gl_UNISTD_MODULE_INDICATOR([lchown]).
41652         (Include): Include <unistd.h>, not "lchown.h".
41653         * modules/unistd (unistd.h): Substitude GNULIB_LCHOWN and
41654         REPLACE_LCHOWN.
41655
41656 2007-06-15  Jim Meyering  <jim@meyering.net>
41657
41658         Change license (GPL to LGPL) of fsusage and dependents.
41659         * modules/fsusage (License): Change to LGPL.
41660         * modules/full-read (License): Likewise.
41661         * modules/full-write (License): Likewise.
41662         * modules/safe-read (License): Likewise.
41663         * modules/safe-write (License): Likewise.
41664
41665 2007-06-14  Ben Pfaff  <blp@gnu.org>
41666
41667         Missing part of allocsa -> malloca transition.
41668         * modules/relocatable-prog-wrapper: gl_ALLOCSA should be
41669         gl_MALLOCA.
41670
41671 2007-06-12  Bruno Haible  <bruno@clisp.org>
41672
41673         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Guess no when cross-compiling
41674         to ia64, x86_64, i386.
41675         Reported by Eric Blake.
41676
41677 2007-06-12  Bruno Haible  <bruno@clisp.org>
41678
41679         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Guess no also when
41680         cross-compiling to x86_64.
41681
41682 2007-06-12  Paul Eggert  <eggert@cs.ucla.edu>
41683
41684         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Fix POSIX sed portability
41685         glitch reported by Ralf Wildenhues in
41686         <http://lists.gnu.org/archive/html/bug-gnulib/2007-06/msg00114.html>.
41687
41688         * m4/regex.m4 (gl_REGEX): Catch a bug with [[:alnum:]_-] reported by
41689         Vin Shelton.
41690
41691 2007-06-11  Bruno Haible  <bruno@clisp.org>
41692
41693         * lib/printf-args.c (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Fix NULL
41694         replacement string.
41695         Reported by Eric Blake.
41696
41697 2007-06-10  Bruno Haible  <bruno@clisp.org>
41698
41699         Prepare vasnprintf code for use with Unicode strings.
41700         * lib/printf-args.h (PRINTF_FETCHARGS): New macro.
41701         (arg_type) [ENABLE_UNISTDIO]: Define TYPE_U8_STRING, TYPE_U16_STRING,
41702         TYPE_U32_STRING.
41703         (argument) [ENABLE_UNISTDIO]: Add a_u8_string, a_u16_string,
41704         a_u32_string variants.
41705         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
41706         * lib/printf-args.c: Don't include config.h and the specification
41707         header if PRINTF_FETCHARGS is already defined.
41708         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
41709         (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Add code for TYPE_U8_STRING,
41710         TYPE_U16_STRING, TYPE_U32_STRING.
41711         * lib/printf-parse.h [ENABLE_UNISTDIO] (u8_directive, u8_directives,
41712         u16_directive, u16_directives, u32_directive, u32_directives): New
41713         types.
41714         (ulc_printf_parse, u8_printf_parse, u16_printf_parse, u32_printf_parse):
41715         New declarations.
41716         * lib/printf-parse.c: Don't include config.h and the specification
41717         header if PRINTF_PARSE is already defined. Eliminate the set of
41718         parameters for WIDE_CHAR_VERSION; the user of this file must provide
41719         them now. Include c-ctype.h.
41720         (PRINTF_PARSE) [ENABLE_UNISTDIO]: Add code implementing the 'U'
41721         directive and CHAR_T_ONLY_ASCII.
41722         * lib/vasnprintf.c: Don't include config.h and the specification header
41723         if VASNPRINTF is already defined.
41724         (DCHAR_IS_TCHAR, DCHAR_CPY): New macros.
41725         (VASNPRINTF): Use PRINTF_FETCHARGS instead of printf_fetchargs. Use
41726         DCHAR_CPY. Handle the case that DCHAR_T and FCHAR_T are not the same
41727         type. Handle the case that TCHAR_T and FCHAR_T are not of the same
41728         size. Handle the case that DCHAR_T and TCHAR_T are not the same type,
41729         add a conversion from TCHAR_T[] to DCHAR_T[], and rework the padding
41730         code accordingly.
41731         (VASNPRINTF) [ENABLE_UNISTDIO]: Implement the 'U' directive. Enable
41732         pad_ourselves also in this case, with the 'c' and 's' directives, and
41733         with a different notion of "width".
41734         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): New macros.
41735
41736 2007-06-10  Bruno Haible  <bruno@clisp.org>
41737
41738         * modules/unistr/u32-mbsnlen: New file.
41739         * lib/unistr/u32-mbsnlen.c: New file.
41740
41741         * modules/unistr/u16-mbsnlen: New file.
41742         * lib/unistr/u16-mbsnlen.c: New file.
41743
41744         * modules/unistr/u8-mbsnlen: New file.
41745         * lib/unistr/u8-mbsnlen.c: New file.
41746
41747         * lib/unistr.h (u8_mbsnlen, u16_mbsnlen, u32_mbsnlen): New
41748         declarations.
41749
41750 2007-06-10  Bruno Haible  <bruno@clisp.org>
41751
41752         * lib/string_.h (mbsnlen): New declaration.
41753         * lib/mbsnlen.c: New file.
41754         * m4/mbsnlen.m4: New file.
41755         * modules/mbsnlen: New file.
41756         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set GNULIB_MBSNLEN.
41757         * modules/string (string.h): Substitute GNULIB_MBSNLEN.
41758         * MODULES.html.sh (Internationalization functions): Add mbsnlen.
41759
41760 2007-06-10  Bruno Haible  <bruno@clisp.org>
41761
41762         * lib/mbslen.c: Include <stdlib.h>, needed for MB_CUR_MAX.
41763
41764 2007-06-10  Bruno Haible  <bruno@clisp.org>
41765
41766         * lib/mbiter.h: Include <stddef.h>, needed for ptrdiff_t.
41767         * lib/mbuiter.h: Likewise.
41768
41769 2007-06-10  Bruno Haible  <bruno@clisp.org>
41770
41771         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Check for _snprintf
41772         declaration.
41773
41774 2007-06-10  Karl Berry  <karl@gnu.org>
41775
41776         * config/srclist.txt: remove gettext entries, Bruno prefers
41777         to update individually.
41778
41779 2007-06-10  Bruno Haible  <bruno@clisp.org>
41780
41781         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Remove variable
41782         'maxlen'. Ensure only length + width bytes are allocated, not
41783         length + 1 + width.
41784
41785 2007-06-09  Bruno Haible  <bruno@clisp.org>
41786
41787         * lib/vasnprintf.c (FCHAR_T, DCHAR_T, TCHAR_T): New macros.
41788         (CHAR_T): Remove macro.
41789         (VASNPRINTF): Update.
41790
41791 2007-06-09  Bruno Haible  <bruno@clisp.org>
41792
41793         * MODULES.html.sh (Unicode string functions): Add the new modules.
41794
41795         * modules/uniconv/u32-conv-to-enc: New file.
41796         * lib/uniconv/u32-conv-to-enc.c: New file.
41797         * modules/uniconv/u32-conv-to-enc-tests: New file.
41798         * tests/uniconv/test-u32-conv-to-enc.c: New file.
41799
41800         * modules/uniconv/u16-conv-to-enc: New file.
41801         * lib/uniconv/u16-conv-to-enc.c: New file.
41802         * lib/uniconv/u-conv-to-enc.h: New file.
41803         * modules/uniconv/u16-conv-to-enc-tests: New file.
41804         * tests/uniconv/test-u16-conv-to-enc.c: New file.
41805
41806         * modules/uniconv/u8-conv-to-enc: New file.
41807         * lib/uniconv/u8-conv-to-enc.c: New file.
41808         * modules/uniconv/u8-conv-to-enc-tests: New file.
41809         * tests/uniconv/test-u8-conv-to-enc.c: New file.
41810
41811         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
41812         u32_conv_to_encoding): New declarations.
41813
41814 2007-06-09  Bruno Haible  <bruno@clisp.org>
41815
41816         * tests/uniconv/test-u32-strconv-to-enc.c (main): Remove unused code.
41817
41818 2007-06-09  Bruno Haible  <bruno@clisp.org>
41819
41820         Rename 'allocsa' -> 'malloca', 'freesa' -> 'freea'.
41821         * modules/malloca: Renamed from modules/allocsa, updated.
41822         * lib/malloca.h: Renamed from lib/allocsa.h, updated.
41823         * lib/malloca.c: Renamed from lib/allocsa.c, updated.
41824         * lib/malloca.valgrind: Renamed from lib/allocsa.valgrind, updated.
41825         * m4/malloca.m4: Renamed from m4/allocsa.m4, updated.
41826         * modules/malloca-tests: Renamed from modules/allocsa-tests, updated.
41827         * tests/test-malloca.c: Renamed from tests/test-allocsa.c, updated.
41828         * modules/xmalloca: Renamed from modules/xallocsa, updated.
41829         * lib/xmalloca.h: Renamed from lib/xallocsa.h, updated.
41830         * lib/xmalloca.c: Renamed from lib/xallocsa.c, updated.
41831         * modules/c-strcasestr (Depends-on): Update.
41832         * lib/c-strcasestr.c: Update.
41833         * modules/c-strstr (Depends-on): Update.
41834         * lib/c-strstr.c: Update.
41835         * modules/canonicalize-lgpl (Depends-on): Update.
41836         * lib/canonicalize-lgpl.c: Update.
41837         * modules/clean-temp (Depends-on): Update.
41838         * lib/clean-temp.c: Update.
41839         * modules/csharpcomp (Depends-on): Update.
41840         * lib/csharpcomp.c: Update.
41841         * modules/csharpexec (Depends-on): Update.
41842         * lib/csharpexec.c: Update.
41843         * modules/javacomp (Depends-on): Update.
41844         * lib/javacomp.c: Update.
41845         * modules/javaexec (Depends-on): Update.
41846         * lib/javaexec.c: Update.
41847         * modules/mbscasestr (Depends-on): Update.
41848         * lib/mbscasestr.c: Update.
41849         * modules/mbsstr (Depends-on): Update.
41850         * lib/mbsstr.c: Update.
41851         * modules/setenv (Depends-on): Update.
41852         * lib/setenv.c: Update.
41853         * modules/strcasestr (Depends-on): Update.
41854         * lib/strcasestr.c: Update.
41855         * modules/striconveha (Depends-on): Update.
41856         * lib/striconveha.c: Update.
41857         * modules/relocatable-prog-wrapper (Files): Update.
41858         * lib/relocwrapper.c: Update.
41859         * build-aux/install-reloc: Update.
41860         * MODULES.html.sh (Memory management functions <stdlib.h>): Update.
41861
41862 2007-06-08  Bruno Haible  <bruno@clisp.org>
41863
41864         Port to uClibc.
41865         * lib/fbufmode.c (fbufmode): Add special code for uClibc.
41866         * lib/fpurge.c (fpurge): Likewise.
41867         * lib/freading.c (freading): Likewise.
41868         * lib/fseeko.c (rpl_fseeko): Likewise.
41869         * lib/fseterr.c (fseterr): Likewise.
41870         * lib/fwriting.c (fwriting): Likewise.
41871         * tests/test-fflush.c (main): Avoid a failure on uClibc.
41872
41873 2007-06-08  Bruno Haible  <bruno@clisp.org>
41874
41875         * m4/intlmacosx.m4: New file, extracted from gettext.m4.
41876         * m4/gettext.m4 (gt_INTL_MACOSX): Remove macro, moved to intlmacosx.m4.
41877         * modules/gettext (Files): Add m4/intlmacosx.m4.
41878
41879 2007-06-07  Bruno Haible  <bruno@clisp.org>
41880
41881         * modules/localename-tests: New file.
41882         * tests/test-localename.c: New file.
41883
41884         New module 'localename'.
41885         * lib/localename.h: New file.
41886         * lib/localename.c: New file, from GNU gettext.
41887         * m4/localename.m4: New file.
41888         * modules/localename: New file.
41889
41890 2007-06-07  Bruno Haible  <bruno@clisp.org>
41891
41892         Work around the lack of <wchar.h> on some builds of uClibc.
41893         * doc/headers/wchar.texi: Update.
41894         * lib/wchar_.h: Include <wchar.h> only if it exists.
41895         * m4/wchar.m4 (gl_WCHAR_H): Check for <wchar.h>. Set HAVE_WCHAR_H.
41896         * m4/stdint.m4 (gl_STDINT_H): Check for <wchar.h>.
41897         (gl_STDINT_TYPE_PROPERTIES): Don't try to include <wchar.h> if it
41898         doesn't exist.
41899         * modules/wchar (wchar.h): Substitute HAVE_WCHAR_H.
41900         * modules/mbfile (Depends-on): Add wchar.
41901         * modules/mbiter (Depends-on): Likewise.
41902         * modules/mbuiter (Depends-on): Likewise.
41903         Reported by Simon Josefsson.
41904
41905 2007-06-06  Paul Eggert  <eggert@cs.ucla.edu>
41906
41907         Work around problem reported by Steven M. Schweda in
41908         <http://lists.gnu.org/archive/html/bug-tar/2007-06/msg00002.html>:
41909         Tru64 5.1B with the Compaq compiler environment installed declares
41910         an 'isblank' function but does not define it in the C library.
41911         * lib/fnmatch.c (isblank): Check for HAVE_ISBLANK, too.
41912         * lib/regex_internal.h (isblank): Likewise.
41913         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for isblank existence.
41914         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
41915
41916 2007-06-05  Bruno Haible  <bruno@clisp.org>
41917
41918         Fix *printf so that it recognizes non-IEEE numbers on i386, x86_64,
41919         ia64.
41920         * modules/printf-safe: New file.
41921         * modules/fprintf-posix (Depends-on): Add printf-safe.
41922         * modules/printf-posix (Depends-on): Likewise.
41923         * modules/snprintf-posix (Depends-on): Likewise.
41924         * modules/sprintf-posix (Depends-on): Likewise.
41925         * modules/vasnprintf-posix (Depends-on): Likewise.
41926         * modules/vasprintf-posix (Depends-on): Likewise.
41927         * modules/vfprintf-posix (Depends-on): Likewise.
41928         * modules/vprintf-posix (Depends-on): Likewise.
41929         * modules/vsnprintf-posix (Depends-on): Likewise.
41930         * modules/vsprintf-posix (Depends-on): Likewise.
41931         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
41932         AC_C_BIGENDIAN. Define CHECK_PRINTF_SAFE if printf-safe is used. Test
41933         non-IEEE numbers on i386, x86_64, ia64. When cross-compiling, guess
41934         "no" on i386, x86_64, ia64.
41935         * tests/test-snprintf-posix.h (LDBL80_WORDS): New macro.
41936         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
41937         on i386, x86_64, ia64.
41938         * tests/test-sprintf-posix.h (LDBL80_WORDS): New macro.
41939         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
41940         on i386, x86_64, ia64.
41941         * tests/test-vasnprintf-posix.c: Include float.h.
41942         (LDBL80_WORDS): New macro.
41943         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
41944         on i386, x86_64, ia64.
41945         * tests/test-vasprintf-posix.c: Include float.h.
41946         (LDBL80_WORDS): New macro.
41947         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
41948         on i386, x86_64, ia64.
41949         * tests/test-snprintf-posix.c: Include float.h.
41950         * tests/test-sprintf-posix.c: Likewise.
41951         * tests/test-vsnprintf-posix.c: Likewise.
41952         * tests/test-vsprintf-posix.c: Likewise.
41953
41954 2007-06-05  Bruno Haible  <bruno@clisp.org>
41955
41956         Fix isnanl so that it recognizes non-IEEE numbers on i386, x86_64, ia64.
41957         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Require AC_C_BIGENDIAN. Test
41958         non-IEEE numbers on i386, x86_64, ia64.
41959         (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require AC_C_BIGENDIAN.
41960         * lib/isnan.c (FUNC): Add special code for i386, x86_64, ia64.
41961         * tests/test-isnanl.h: Include float.h.
41962         (main): Check also non-IEEE numbers on i386, x86_64, ia64.
41963
41964 2007-06-05  Bruno Haible  <bruno@clisp.org>
41965
41966         * lib/vasnprintf.c (VASNPRINTF): Do the extra handling of NaN and Inf
41967         also the %a / %A. Handle the %a / %A code before this extra handling.
41968
41969 2007-06-05  Bruno Haible  <bruno@clisp.org>
41970
41971         * lib/vasnprintf.c [NEED_PRINTF_LONG_DOUBLE ||
41972         NEED_PRINTF_INFINITE_LONG_DOUBLE]: Include fpucw.h.
41973
41974 2007-06-05  Bruno Haible  <bruno@clisp.org>
41975
41976         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): Fix
41977         typo in variable name.
41978
41979 2007-06-05  Eric Blake  <ebb9@byu.net>
41980
41981         * m4/lseek.m4 (gl_FUNC_LSEEK): Work when cross-compiling.
41982         Reported by Simon Josefsson.
41983
41984 2007-06-04  Bruno Haible  <bruno@clisp.org>
41985
41986         Avoid test failures on some PowerPC platforms.
41987         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP):
41988         Define differently for PowerPC.
41989         * tests/test-frexpl.c (MIN_NORMAL_EXP): Likewise.
41990         Reported by Gary V. Vaughan <gary@gnu.org>.
41991
41992 2007-06-02  Bruno Haible  <bruno@clisp.org>
41993
41994         Fix test-stdint failure on FreeBSD/ia64.
41995         * m4/stdint.m4 (gl_STDINT_H): Check the values of PTRDIFF_MIN,
41996         PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN,
41997         WCHAR_MAX, WINT_MIN, WINT_MAX entirely, not only for plausibility.
41998         * doc/headers/stdint.texi: Update.
41999
42000 2007-06-01  Bruno Haible  <bruno@clisp.org>
42001
42002         * tests/test-binary-io.c (main): Pass a third argument to open().
42003         Reported by Gary V. Vaughan <gary@gnu.org>.
42004
42005 2007-06-01  Bruno Haible  <bruno@clisp.org>
42006
42007         * doc/functions/frexpl.texi: Update for mingw.
42008
42009 2007-06-01  Bruno Haible  <bruno@clisp.org>
42010
42011         * tests/test-lseek.c (main): Disable test of errno for invalid third
42012         argument.
42013         * doc/functions/lseek.texi: Update.
42014         Reported by Gary V. Vaughan <gary@gnu.org>.
42015
42016 2007-05-28  Bruno Haible  <bruno@clisp.org>
42017
42018         * m4/intl.m4 (AM_INTL_SUBDIR): Substitute variables WOE32, WINDRES.
42019
42020 2007-05-31  Eric Blake  <ebb9@byu.net>
42021
42022         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Guess no on mingw when
42023         cross compiling.
42024
42025 2007-05-30  Eric Blake  <ebb9@byu.net>
42026         and Bruno Haible  <bruno@clisp.org>
42027
42028         Work around mingw test failures exposed by m4-1.4.9b.
42029         * m4/stdint.m4 (gl_STDINT_H): Detect mingw bug.
42030         * tests/test-unistd.c: Disable uid_t and git_t tests for the
42031         moment.
42032
42033 2007-05-30  Bruno Haible  <bruno@clisp.org>
42034
42035         * tests/test-lseek.c: Explicitly close file descriptors 0 and 1 before
42036         assuming that they are closed. Needed on HP-UX 11.
42037
42038 2007-05-29  Bruno Haible  <bruno@clisp.org>
42039
42040         Fix a problem with #include_next.
42041         * lib/dirent_.h: Split the double-inclusion guard.
42042         * lib/fcntl_.h: Likewise.
42043         * lib/float_.h: Likewise.
42044         * lib/iconv_.h: Likewise.
42045         * lib/inttypes_.h: Likewise.
42046         * lib/locale_.h: Likewise.
42047         * lib/math_.h: Likewise.
42048         * lib/netinet_in_.h: Likewise.
42049         * lib/search_.h: Likewise.
42050         * lib/signal_.h: Likewise.
42051         * lib/stdint_.h: Likewise.
42052         * lib/stdio_.h: Likewise.
42053         * lib/stdlib_.h: Likewise.
42054         * lib/string_.h: Likewise.
42055         * lib/sys_select_.h: Likewise.
42056         * lib/sys_socket_.h: Likewise.
42057         * lib/sys_stat_.h: Likewise.
42058         * lib/sys_time_.h: Likewise.
42059         * lib/sysexits_.h: Likewise.
42060         * lib/time_.h: Likewise.
42061         * lib/unistd_.h: Likewise.
42062         * lib/wchar_.h: Likewise.
42063         * lib/wctype_.h: Likewise.
42064
42065 2007-05-29  Bruno Haible  <bruno@clisp.org>
42066
42067         * tests/test-unistd.c: Disable the tests for useconds_t and intptr_t
42068         for the moment.
42069
42070 2007-05-29  Bruno Haible  <bruno@clisp.org>
42071
42072         * m4/isnan.m4 (gl_DOUBLE_EXPONENT_LOCATION): Silence the AC_C_BIGENDIAN
42073         invocation.
42074         Reported by Eric Blake.
42075
42076 2007-05-29  Bruno Haible  <bruno@clisp.org>
42077
42078         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Fix typo in cross-
42079         compiling case.
42080
42081 2007-05-29  Eric Blake  <ebb9@byu.net>
42082             Bruno Haible  <bruno@clisp.org>
42083
42084         * m4/isnanf.m4 (gl_FUNC_ISNANF_NO_LIBM): Avoid syntax error on
42085         cross compiles.
42086
42087 2007-05-28  Eric Blake  <ebb9@byu.net>
42088
42089         * modules/closein-tests (test_closein_LDADD): Support test on
42090         cygwin with libtool.
42091
42092 2007-05-28  Bruno Haible  <bruno@clisp.org>
42093
42094         * tests/uniconv/test-u16-conv-from-enc.c: Remove #ifdef HAVE_CONFIG_H.
42095         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
42096         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
42097         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
42098         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
42099         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
42100         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
42101         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
42102         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
42103
42104 2007-05-28  Eric Blake  <ebb9@byu.net>
42105
42106         Unconditionally include <config.h> in unit tests.
42107         * tests/test-alloca-opt.c: Remove #ifdef HAVE_CONFIG_H.
42108         * tests/test-allocsa.c, tests/test-arcfour.c,
42109         tests/test-arctwo.c, tests/test-argmatch.c, tests/test-argp.c,
42110         tests/test-array_list.c, tests/test-array_oset.c,
42111         tests/test-atexit.c, test-avltree_list.c, test-avltree_oset.c,
42112         test-avltreehash_list.c, test-base64.c, test-binary-io.c,
42113         test-c-ctype.c, test-c-strcasecmp.c, test-c-strcasestr.c,
42114         test-c-strncasecmp.c, test-c-strstr.c, test-canonicalize-lgpl.c,
42115         test-carray_list.c, test-crc.c, test-des.c, test-dirname.c,
42116         test-fflush.c, test-fprintf-posix.c, test-gc-arcfour.c,
42117         test-gc-arctwo.c, test-gc-des.c, test-gc-hmac-md5.c,
42118         test-gc-hmac-sha1.c, test-gc-md2.c, test-gc-md4.c, test-gc-md5.c,
42119         test-gc-pbkdf2-sha1.c, test-gc-rijndael.c, test-gc-sha1.c,
42120         test-gc.c, test-getpass.c, test-hmac-md5.c, test-hmac-sha1.c,
42121         test-iconv.c, test-linked_list.c, test-linkedhash_list.c,
42122         test-lock.c, test-mbscasecmp.c, test-mbscasestr1.c,
42123         test-mbscasestr2.c, test-mbscasestr3.c, test-mbscasestr4.c,
42124         test-mbschr.c, test-mbscspn.c, test-mbsncasecmp.c, test-mbspbrk.c,
42125         test-mbspcasecmp.c, test-mbsrchr.c, test-mbsspn.c, test-mbsstr1.c,
42126         test-mbsstr2.c, test-mbsstr3.c, test-md2.c, test-md4.c,
42127         test-md5.c, test-memmem.c, test-printf-posix.c,
42128         test-rbtree_list.c, test-rbtree_oset.c, test-rbtreehash_list.c,
42129         test-read-file.c, test-rijndael.c, test-snprintf-posix.c,
42130         test-snprintf.c, test-sprintf-posix.c, test-stdint.c,
42131         test-strcasestr.c, test-striconv.c, test-striconveh.c,
42132         test-striconveha.c, test-tls.c, test-vasnprintf-posix.c,
42133         test-vasnprintf-posix2.c, test-vasnprintf.c,
42134         test-vasprintf-posix.c, test-vasprintf.c, test-verify.c,
42135         test-vfprintf-posix.c, test-vprintf-posix.c,
42136         test-vsnprintf-posix.c, test-vsnprintf.c, test-vsprintf-posix.c,
42137         test-xvasprintf.c: Likewise.
42138
42139 2007-05-28  Bruno Haible  <bruno@clisp.org>
42140
42141         * gnulib-tool (func_import): Remember the --with-tests command-line
42142         option through the macro gl_WITH_TESTS in the gnulib-cache.m4.
42143         Reported by Eric Blake.
42144
42145 2007-05-28  Bruno Haible  <bruno@clisp.org>
42146
42147         * modules/ftell-tests: New file.
42148         * tests/test-ftell.c: New file, based on tests/test-ftello.c.
42149         * tests/test-ftell.sh: New file, based on tests/test-ftello.sh.
42150
42151         * lib/ftell.c: New file.
42152         * modules/ftell: New file.
42153         * m4/ftell.m4: New file.
42154         * doc/functions/ftell.texi: Update.
42155         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELL,
42156         REPLACE_FTELL.
42157         * lib/stdio_.h (rpl_ftell): New declaration.
42158         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELL,
42159         REPLACE_FTELL.
42160
42161 2007-05-28  Eric Blake  <ebb9@byu.net>
42162
42163         * lib/allocsa.h (safe_alloca): Avoid compiler warning.
42164
42165 2007-05-28  Bruno Haible  <bruno@clisp.org>
42166
42167         * modules/fseek-tests: New file.
42168         * tests/test-fseek.c: New file, based on tests/test-fseeko.c.
42169         * tests/test-fseek.sh: New file, based on tests/test-fseeko.sh.
42170
42171         * lib/fseek.c: New file.
42172         * modules/fseek: New file.
42173         * m4/fseek.m4: New file.
42174         * doc/functions/fseek.texi: Update.
42175         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEK,
42176         REPLACE_FSEEK.
42177         * lib/stdio_.h (rpl_fseek): New declaration.
42178         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEK,
42179         REPLACE_FSEEK.
42180
42181 2007-05-28  Bruno Haible  <bruno@clisp.org>
42182
42183         * lib/stdio_.h (fflush): More comments.
42184
42185 2007-05-28  Bruno Haible  <bruno@clisp.org>
42186
42187         * m4/lseek.m4 (gl_FUNC_LSEEK): When not cross-compiling, perform a real
42188         runtime test.
42189
42190 2007-05-28  Eric Blake  <ebb9@byu.net>
42191
42192         Improve lseek module.
42193         * lib/lseek.c (rpl_lseek): Detect EBADF on mingw.
42194         * lib/unistd_.h (lseek): Scale back link warning message.
42195         * tests/test-lseek.c: Beef up test.
42196         * tests/test-lseek.sh: Exercise more facets of lseek.
42197         Reported by Bruno Haible.
42198
42199 2007-05-28  Bruno Haible  <bruno@clisp.org>
42200
42201         * tests/test-unistd.c: Test all the types that <unistd.h> is expected
42202         to define.
42203
42204 2007-05-27  Bruno Haible  <bruno@clisp.org>
42205
42206         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-31 patch.
42207
42208 2007-05-27  Bruno Haible  <bruno@clisp.org>
42209
42210         * modules/openmp: New file.
42211         * m4/openmp.m4: New file, taken from autoconf's CVS with changes by
42212         Noah Misch.
42213
42214 2007-05-26  Bruno Haible  <bruno@clisp.org>
42215
42216         * modules/chdir-long (Depends-on): Add fchdir.
42217         * modules/chdir-safer (Depends-on): Likewise.
42218         * modules/fts (Depends-on): Likewise.
42219         * modules/fts-lgpl (Depends-on): Likewise.
42220         * modules/openat (Depends-on): Likewise.
42221         * modules/savewd (Depends-on): Likewise.
42222
42223 2007-05-24  Eric Blake  <ebb9@byu.net>
42224
42225         Fix lseek on mingw.
42226         * modules/lseek: New module.
42227         * m4/lseek.m4: New file.
42228         * lib/lseek.c: New file.
42229         * modules/lseek-tests: New file.
42230         * tests/test-lseek.c: New file.
42231         * tests/test-lseek.sh: New file.
42232         * MODULES.html.sh: Document lseek module.
42233         * modules/fflush (Depends-on): Add lseek, fseeko.
42234         * modules/fseeko (Depends-on): Likewise.
42235         * modules/ftello (Depends-on): Likewise.
42236         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Replace fseek[o] if lseek is
42237         broken.
42238         * m4/ftello.m4 (gl_FUNC_FTELLO): Replace ftell[o] if lseek is
42239         broken.
42240         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Trigger fseeko module.
42241         * lib/fseeko.c (rpl_fseeko): Quit early on non-seekable files.
42242         * lib/ftello.c (rpl_ftello): Likewise.
42243         * tests/test-fseeko.c (main): Test this.
42244         * tests/test-fseeko.sh: Likewise.
42245         * tests/test-ftello.c (main): Likewise.
42246         * tests/test-ftello.sh: Likewise.
42247         * lib/stdio_.h (fseek, ftell): Simplify, since missing fseeko now
42248         implies replacing fseek.
42249         * modules/stdio (Makefile.am): No longer need HAVE_FSEEKO,
42250         HAVE_FTELLO.
42251         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add lseek info.
42252         * modules/unistd (Makefile.am): Likewise.
42253         * lib/unistd_.h (lseek): Declare a replacement.
42254         * doc/functions/lseek.texi (lseek): Document this fix.
42255         * doc/functions/fseek.texi (fseek): Likewise.
42256         * doc/functions/ftell.texi (ftell): Likewise.
42257
42258 2007-05-24  Bruno Haible  <bruno@clisp.org>
42259
42260         * tests/test-vasnprintf-posix.c (test_function): Allow up to 50 bytes
42261         in the printed representation of a NaN.
42262         * tests/test-vasprintf-posix.c (test_function): Likewise.
42263         * tests/test-snprintf-posix.h (test_function): Likewise.
42264         * tests/test-sprintf-posix.h (test_function): Likewise.
42265         Reported by Eric Blake.
42266
42267 2007-05-23  Eric Blake  <ebb9@byu.net>
42268
42269         Fix fseeko/ftello on cygwin 1.5.24.
42270         * doc/functions/fseeko.texi (fseeko): Document the fix.
42271         * doc/functions/ftello.texi (ftello): Document the fix.
42272         * doc/functions/stdin.texi (stdin): Document the cygwin bug.
42273         * doc/functions/stdout.text (stdout): New file.
42274         * doc/functions/stderr.text (stderr): New file.
42275         * doc/gnulib.texi (Function Substitutes): Use new files.
42276         * tests/test-fseeko.c (main): Check for broken fseeko on cygwin
42277         prior to 1.7.0.
42278         * tests/test-ftello.c (main): Likewise for ftello.
42279         * tests/test-fseeko.sh: New file.
42280         * tests/test-ftello.sh: New file.
42281         * modules/fseeko-tests (Makefile.am): Ensure test-fseeko is run
42282         with seekable stdin.
42283         * modules/ftello-tests (Makefile.am): Likewise for test-ftello.
42284         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Detect the cygwin bug.
42285         (gl_REPLACE_FSEEKO): New macro.
42286         * m4/ftello.m4 (gl_FUNC_FTELLO, gl_REPLACE_FTELLO): Likewise.
42287         * modules/fseeko (Files): Distribute fseeko.c.
42288         * modules/ftello (Files): Distribute ftello.c.
42289         * lib/fseeko.c (rpl_fseeko) [__CYGWIN__]: Convert stdin to 64-bit
42290         mode.
42291         * lib/ftello.c (rpl_ftello): New file.
42292         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Allow replacement of
42293         fseeko, ftello.
42294         (gl_STDIN_LARGE_OFFSET): New macro.
42295         * modules/stdio (Makefile.am): Perform the replacement.
42296         * lib/stdio_.h (rpl_fseeko, rpl_ftello): Define when needed.
42297
42298 2007-05-23  Bruno Haible  <bruno@clisp.org>
42299
42300         * lib/stdio_.h (fseeko, ftello): Provide a link warning only if
42301         GNULIB_POSIXCHECK is defined.
42302
42303 2007-05-21  Bruno Haible  <bruno@clisp.org>
42304
42305         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE):
42306         Check also the output for NaN arguments. When cross-compiling, guess
42307         no on IRIX.
42308         * lib/vasnprintf.c: Update comments.
42309         * tests/test-vasnprintf-posix.c (strisnan): New function.
42310         (test_function): Use it.
42311         * tests/test-vasprintf-posix.c (strisnan): New function.
42312         (test_function): Use it.
42313         * tests/test-snprintf-posix.h (strisnan): New function.
42314         (test_function): Use it.
42315         * tests/test-sprintf-posix.h (strisnan): New function.
42316         (test_function): Use it.
42317         Reported by Eric Blake.
42318
42319 2007-05-20  Bruno Haible  <bruno@clisp.org>
42320
42321         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Add test for large finite
42322         numbers that fails on BeOS.
42323         * doc/functions/frexpl.texi: Update.
42324
42325 2007-05-20  Jim Meyering  <jim@meyering.net>
42326
42327         * NEWS: Mention the incompatible change (s/futimens/gl_futimens/)
42328         forced upon us by glibc-2.6.
42329
42330 2007-05-20  Bruno Haible  <bruno@clisp.org>
42331
42332         Fix *printf result for NaN, Inf on AIX, Solaris, OSF/1.
42333         * m4/printf.m4 (gl_PRINTF_INFINITE): Update cross-compiling guesses.
42334         (gl_PRINTF_INFINITE_LONG_DOUBLE): New macro.
42335         * lib/vasnprintf.c: Use NEED_PRINTF_INFINITE_DOUBLE instead of
42336         NEED_PRINTF_INFINITE.
42337         (is_infinitel): New function.
42338         (VASNPRINTF): Handle NEED_PRINTF_INFINITE_LONG_DOUBLE case.
42339         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE): Renamed from
42340         gl_PREREQ_VASNPRINTF_INFINITE.
42341         (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): New macro.
42342         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
42343         gl_PRINTF_INFINITE_LONG_DOUBLE and test its result. Invoke
42344         gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE and
42345         gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE instead of
42346         gl_PREREQ_VASNPRINTF_INFINITE.
42347         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
42348         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
42349         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
42350         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
42351         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
42352         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
42353         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
42354         * doc/functions/fprintf.texi: Update.
42355         * doc/functions/printf.texi: Update.
42356         * doc/functions/snprintf.texi: Update.
42357         * doc/functions/sprintf.texi: Update.
42358         * doc/functions/vfprintf.texi: Update.
42359         * doc/functions/vprintf.texi: Update.
42360         * doc/functions/vsnprintf.texi: Update.
42361         * doc/functions/vsprintf.texi: Update.
42362
42363 2007-05-20  Bruno Haible  <bruno@clisp.org>
42364
42365         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): Set REPLACE_FREXPL if frexpl
42366         was not found in libc.
42367         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
42368
42369 2007-05-20  Bruno Haible  <bruno@clisp.org>
42370
42371         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
42372         printed as "-nan" instead of "nan".
42373         * tests/test-vasprintf-posix.c (test_function): Likewise.
42374         * tests/test-snprintf-posix.h (test_function): Likewise.
42375         * tests/test-sprintf-posix.h (test_function): Likewise.
42376         Needed for HP-UX 11.
42377
42378 2007-05-20  Jim Meyering  <jim@meyering.net>
42379
42380         Fix buggy test for the fchownat-deref bug.
42381         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Create the dangling
42382         symlink required for the run-test.  Without it, this test would
42383         always declare that fchownat doesn't work, and client code would
42384         unnecessarily use the replacement function with fixed libc.
42385         (gl_FUNC_FCHOWNAT): Eliminate a variable that wasn't initialized.
42386         Reported by Greg Schafer.
42387
42388 2007-05-19  Bruno Haible  <bruno@clisp.org>
42389
42390         * m4/isnanf.m4 (gl_ISNANF_WORKS): New macro.
42391         (gl_FUNC_ISNANF_NO_LIBM): Invoke it.
42392         * lib/isnan.c (FUNC): Use run-time expressions for SGI compiler.
42393         Needed for IRIX 6.5 and Solaris 2.5.1.
42394
42395 2007-05-19  Bruno Haible  <bruno@clisp.org>
42396
42397         * tests/test-vasnprintf-posix.c (have_minus_zero): New function.
42398         (test_function): Skip tests involving -0.0 on platforms where
42399         -0.0 = 0.0.
42400         * tests/test-vasprintf-posix.c (have_minus_zero): New function.
42401         (test_function): Skip tests involving -0.0 on platforms where
42402         -0.0 = 0.0.
42403         * tests/test-snprintf-posix.h (have_minus_zero): New function.
42404         (test_function): Skip tests involving -0.0 on platforms where
42405         -0.0 = 0.0.
42406         * tests/test-sprintf-posix.h (have_minus_zero): New function.
42407         (test_function): Skip tests involving -0.0 on platforms where
42408         -0.0 = 0.0.
42409         * tests/test-fprintf-posix.h (test_function): Remove all -0.0 related
42410         tests.
42411         * tests/test-printf-posix.h (test_function): Likewise.
42412         * tests/test-printf-posix.output: Remove all -0.0 related results.
42413         Needed for IRIX 6.5.
42414
42415 2007-05-19  Bruno Haible  <bruno@clisp.org>
42416
42417         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
42418         printed as "nan0x7fffffff" instead of "nan".
42419         * tests/test-vasprintf-posix.c (test_function): Likewise.
42420         * tests/test-snprintf-posix.h (test_function): Likewise.
42421         * tests/test-sprintf-posix.h (test_function): Likewise.
42422         * tests/test-fprintf-posix.h (NaN): Remove macro.
42423         (test_function): Remove all NaN related tests.
42424         * tests/test-printf-posix.h (NaN): Remove macro.
42425         (test_function): Remove all NaN related tests.
42426         * tests/test-printf-posix.output: Remove all NaN related results.
42427         Needed for IRIX 6.5.
42428
42429 2007-05-19  Bruno Haible  <bruno@clisp.org>
42430
42431         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Fix C89 syntax error in test code.
42432         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
42433
42434 2007-05-19  Bruno Haible  <bruno@clisp.org>
42435
42436         * lib/float_.h: New file.
42437         * m4/float_h.m4: New file.
42438         * modules/float: New file.
42439         * modules/isnanl (Dependencies): Add float.
42440         * modules/isnanl-nolibm (Dependencies): Likewise.
42441         * modules/mathl (Dependencies): Likewise.
42442         * modules/printf-frexpl (Dependencies): Likewise.
42443         * modules/signbit (Dependencies): Likewise.
42444         * modules/vasnprintf (Dependencies): Likewise.
42445         * doc/headers/float.texi: Update.
42446
42447 2007-05-19  Jim Meyering  <jim@meyering.net>
42448
42449         * lib/utimens.c (gl_futimens): Rename from futimens,
42450         now that glibc-2.6 declares futimens.
42451         * lib/utimens.h: Likewise.
42452
42453 2007-05-19  Bruno Haible  <bruno@clisp.org>
42454
42455         Avoid test failures on mingw.
42456         * tests/test-fprintf-posix.sh: Convert CR/LF to LF in output.
42457         * tests/test-printf-posix.sh: Likewise.
42458         * tests/test-vfprintf-posix.sh: Likewise.
42459         * tests/test-vprintf-posix.sh: Likewise.
42460
42461 2007-05-19  Bruno Haible  <bruno@clisp.org>
42462
42463         Fix *printf result for NaN, Inf, -0.0 on mingw.
42464         * m4/printf.m4 (gl_PRINTF_INFINITE): New macro.
42465         * lib/vasnprintf.c: Include math.h and isnan.h.
42466         (is_infinite_or_zero): New function.
42467         (VASNPRINTF): Fix also the handling of infinite or zero 'double'
42468         values in the %f, %F, %e, %E, %g, %G directives.
42469         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE): New macro.
42470         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
42471         gl_PRINTF_INFINITE and test its result. Invoke
42472         gl_PREREQ_VASNPRINTF_INFINITE.
42473         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
42474         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
42475         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
42476         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
42477         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
42478         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
42479         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
42480         * doc/functions/fprintf.texi: Update.
42481         * doc/functions/printf.texi: Update.
42482         * doc/functions/snprintf.texi: Update.
42483         * doc/functions/sprintf.texi: Update.
42484         * doc/functions/vfprintf.texi: Update.
42485         * doc/functions/vprintf.texi: Update.
42486         * doc/functions/vsnprintf.texi: Update.
42487         * doc/functions/vsprintf.texi: Update.
42488
42489 2007-05-19  Bruno Haible  <bruno@clisp.org>
42490
42491         * lib/vasnprintf.c (convert_to_decimal): Add an extra_zeroes argument.
42492         (scale10_round_decimal_long_double): Inline scale10_round_long_double.
42493         Instead of multiplying with 10^k, set extra_zeroes to k.
42494         (scale10_round_long_double): Remove function.
42495
42496 2007-05-18  Bruno Haible  <bruno@clisp.org>
42497
42498         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Fix logic bug
42499         introduced on 2007-05-06.
42500
42501 2007-05-18  Bruno Haible  <bruno@clisp.org>
42502
42503         * tests/test-vasnprintf-posix.c (test_function): Also test the %e and
42504         %g directives.
42505         * tests/test-vasprintf-posix.c (test_function): Likewise.
42506         * tests/test-snprintf-posix.h (test_function): Likewise.
42507         * tests/test-sprintf-posix.h (test_function): Likewise.
42508
42509 2007-05-18  Bruno Haible  <bruno@clisp.org>
42510
42511         * tests/test-vasnprintf-posix.c (SIZEOF): New macro.
42512         (strmatch): New function.
42513         (test_function): Test the %f directive on numbers of various exponents.
42514         * tests/test-vasprintf-posix.c (SIZEOF): New macro.
42515         (strmatch): New function.
42516         (test_function): Test the %f directive on numbers of various exponents.
42517         * tests/test-snprintf-posix.h (strmatch): New function.
42518         (test_function): Test the %f directive on numbers of various exponents.
42519         * tests/test-sprintf-posix.h (strmatch): New function.
42520         (test_function): Test the %f directive on numbers of various exponents.
42521         * tests/test-snprintf-posix.c (SIZEOF): New macro.
42522         * tests/test-sprintf-posix.c (SIZEOF): New macro.
42523         * tests/test-vsnprintf-posix.c (SIZEOF): New macro.
42524         * tests/test-vsprintf-posix.c (SIZEOF): New macro.
42525
42526 2007-05-18  Bruno Haible  <bruno@clisp.org>
42527
42528         Add support for 'long double' number output.
42529         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE): New macro.
42530         * lib/vasnprintf.c: Include math.h and float+.h.
42531         (mp_limb_t): New type.
42532         (GMP_LIMB_BITS): New macro.
42533         (mp_twolimb_t): New type.
42534         (GMP_TWOLIMB_BITS): New macro.
42535         (mpn_t): New type.
42536         (multiply, divide, convert_to_decimal, decode_long_double,
42537         scale10_round_long_double, scale10_round_decimal_long_double,
42538         floorlog10l): New functions.
42539         (VASNPRINTF) [NEED_PRINTF_LONG_DOUBLE]: Implement 'long double' support
42540         for the %f, %F, %e, %E, %g, %G directives.
42541         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_LONG_DOUBLE): New macro.
42542         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
42543         gl_PRINTF_LONG_DOUBLE and test its result. Invoke
42544         gl_PREREQ_VASNPRINTF_LONG_DOUBLE.
42545         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
42546         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
42547         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
42548         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
42549         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
42550         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
42551         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
42552         * modules/fprintf-posix (Depends-on): Add frexpl-nolibm.
42553         * modules/snprintf-posix (Depends-on): Likewise.
42554         * modules/sprintf-posix (Depends-on): Likewise.
42555         * modules/vasnprintf-posix (Depends-on): Likewise.
42556         * modules/vasprintf-posix (Depends-on): Likewise.
42557         * modules/vfprintf-posix (Depends-on): Likewise.
42558         * modules/vsnprintf-posix (Depends-on): Likewise.
42559         * modules/vsprintf-posix (Depends-on): Likewise.
42560         * modules/vasnprintf (Files): Add lib/float+.h.
42561         * doc/functions/fprintf.texi: Update.
42562         * doc/functions/printf.texi: Update.
42563         * doc/functions/snprintf.texi: Update.
42564         * doc/functions/sprintf.texi: Update.
42565         * doc/functions/vfprintf.texi: Update.
42566         * doc/functions/vprintf.texi: Update.
42567         * doc/functions/vsnprintf.texi: Update.
42568         * doc/functions/vsprintf.texi: Update.
42569
42570 2007-05-18  Bruno Haible  <bruno@clisp.org>
42571
42572         * lib/vasnprintf.c (USE_SNPRINTF): Define to 0 on BeOS.
42573
42574 2007-05-18  Bruno Haible  <bruno@clisp.org>
42575
42576         * lib/vasnprintf.c (VASNPRINTF) [WIN32]: Use %I64d instead of %lld
42577         for printing 64-bit integers. Needed for mingw.
42578
42579 2007-05-18  Bruno Haible  <bruno@clisp.org>
42580
42581         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
42582         gl_FUNC_FREXPL_WORKS.
42583         * modules/printf-frexpl (Files): Add m4/frexpl.m4.
42584
42585 2007-05-18  Bruno Haible  <bruno@clisp.org>
42586
42587         * modules/frexpl-nolibm-tests: New file.
42588
42589         * modules/frexpl-nolibm: New file.
42590         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): New macro.
42591
42592 2007-05-17  Paul Eggert  <eggert@cs.ucla.edu>
42593
42594         * lib/dirent_.h: Prefer #include_next <foo.h> to #include
42595         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
42596         GCC 4.2, which otherwise issues a lot of warnings.
42597         * lib/iconv_.h, lib/locale_.h, lib/netinet_in_.h, lib/sys_select_.h:
42598         * lib/sys_socket_.h, lib/sys_stat_.h, lib/sysexits_.h, lib/unistd_.h:
42599         Likewise.
42600         * modules/fchdir (dirent.h): Substitute @HAVE_INCLUDE_NEXT@.
42601         * modules/iconv_open (iconv.h): Likewise.
42602         * modules/locale (locale.h): Likewise.
42603         * modules/netinet_in (netinet/in.h): Likewise.
42604         * modules/sys_select (sys_select.h): Likewise.
42605         * modules/sys_socket (sys/socket.h): Likewise.
42606         * modules/sys_stat (sys/stat.h): Likewise.
42607         * modules/sysexits (sysexits.h): Likewise.
42608         * modules/unistd (unistd.h): Likewise.
42609
42610 2007-05-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42611
42612         * modules/closein-tests (Makefile.am): Distribute
42613         `test-closein.sh'.
42614
42615 2007-05-17  Bruno Haible  <bruno@clisp.org>
42616
42617         * tests/test-printf-posix.output: Renamed from
42618         tests/test-fprintf-posix.out.
42619         * modules/fprintf-posix-tests: Update.
42620         * modules/printf-posix-tests: Update.
42621         * modules/vfprintf-posix-tests: Update.
42622         * modules/vprintf-posix-tests: Update.
42623         * tests/test-fprintf-posix.sh: Update.
42624         * tests/test-printf-posix.sh: Update.
42625         * tests/test-vfprintf-posix.sh: Update.
42626         * tests/test-vprintf-posix.sh: Update.
42627         Reported by Ralf Wildenhues.
42628
42629 2007-05-16  Paul Eggert  <eggert@cs.ucla.edu>
42630
42631         * lib/fcntl_.h: Prefer #include_next <foo.h> to #include
42632         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
42633         GCC 4.2, which otherwise issues a lot of warnings.
42634         * lib/inttypes_.h, lib/math_.h, lib/search_.h, lib/signal_.h:
42635         * lib/stdint_.h, lib/stdio_.h, lib/stdlib_.h, lib/string_.h:
42636         * lib/sys_time_.h, lib/time_.h, lib/wchar_.h, lib/wctype_.h: Likewise.
42637         * lib/stdlib_.h: Don't bother with #pragma GCC system_header, as
42638         it should no longer be needed.
42639         * lib/string_.h: Likewise.
42640         * modules/absolute-header (HAVE_INCLUDE_NEXT): New 'make' define.
42641         * modules/fcntl (fcntl.h): Substitute @HAVE_INCLUDE_NEXT@.
42642         * modules/inttypes (inttypes.h): Likewise.
42643         * modules/math (math.h): Likewise.
42644         * modules/search (search.h): Likewise.
42645         * modules/signal (signal.h): Likewise.
42646         * modules/stdint (stdint.h): Likewise.
42647         * modules/stdio (stdio.h): Likewise.
42648         * modules/stdlib (stdlib.h): Likewise.
42649         * modules/string (string.h): Likewise.
42650         * modules/sys_time (sys/time.h): Likewise.
42651         * modules/time (time.h): Likewise.
42652         * modules/wchar (wchar.h): Likewise.
42653         * modules/wctype (wtype.h): Likewise.
42654
42655 2007-05-16  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
42656
42657         * doc/gnulib-tool.texi (CVS Issues): Fix typo.
42658
42659 2007-05-13  Bruno Haible  <bruno@clisp.org>
42660
42661         * stpcpy.m4 (gl_FUNC_STPCPY): Require AC_C_RESTRICT.
42662         * stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
42663         * strsep.m4 (gl_FUNC_STRSEP): Likewise.
42664         * strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
42665         (gl_PREREQ_STRTOK_R): Don't require it here.
42666
42667 2007-05-13  Bruno Haible  <bruno@clisp.org>
42668
42669         * lib/stdlib_.h (mkdtemp, mkstemp): Comment out argument name. Needed
42670         when used in C++ mode.
42671
42672 2007-05-12  Bruno Haible  <bruno@clisp.org>
42673
42674         * lib/linebuffer.h: Tweak doc.
42675         * lib/linebuffer.c: Likewise.
42676
42677 2007-05-12  James Youngman  <jay@gnu.org>
42678
42679         * lib/linebuffer.c (readlinebuffer_delim): New function,
42680         like readlinebuffer, but use a caller-specified delimiter.
42681         (readlinebuffer): Just call readlinebuffer_delim with '\n'
42682         as the delimiter.
42683         * lib/linebuffer.h (readlinebuffer_delim): Declare it.
42684
42685 2007-05-12  Sergey Poznyakoff  <gray@gnu.org.ua>
42686
42687         * m4/openat.m4 (gl_FUNC_OPENAT): Do not require openat-die.
42688         * modules/openat (Files): Remove openat-die.c.
42689         (Depends-on): Add openat-die.
42690         * modules/openat-die: New module.
42691
42692 2007-05-06  Bruno Haible  <bruno@clisp.org>
42693
42694         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING, gl_VSNPRINTF_ZEROSIZE_C99):
42695         Update with info about Cygwin.
42696         * doc/functions/fprintf.texi: Update.
42697         * doc/functions/printf.texi: Update.
42698         * doc/functions/snprintf.texi: Update.
42699         * doc/functions/sprintf.texi: Update.
42700         * doc/functions/vfprintf.texi: Update.
42701         * doc/functions/vprintf.texi: Update.
42702         * doc/functions/vsnprintf.texi: Update.
42703         * doc/functions/vsprintf.texi: Update.
42704         Reported by Eric Blake.
42705
42706 2007-05-06  Bruno Haible  <bruno@clisp.org>
42707
42708         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Perform the
42709         padding ourselves for the floating-point directives.
42710         * m4/printf.m4 (gl_PRINTF_FLAG_ZERO): New macro.
42711         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_ZERO): New macro.
42712         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
42713         gl_PRINTF_FLAG_ZERO and test its result. Invoke
42714         gl_PREREQ_VASNPRINTF_FLAG_ZERO.
42715         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
42716         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
42717         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
42718         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
42719         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
42720         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
42721         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
42722         * tests/test-snprintf-posix.h (test_function): Also check the width
42723         and some flags in the %f directive.
42724         * tests/test-sprintf-posix.h (test_function): Likewise.
42725         * tests/test-vasnprintf-posix.c (test_function): Likewise.
42726         * tests/test-vasprintf-posix.c (test_function): Likewise.
42727         * doc/functions/fprintf.texi: Update.
42728         * doc/functions/printf.texi: Update.
42729         * doc/functions/snprintf.texi: Update.
42730         * doc/functions/sprintf.texi: Update.
42731         * doc/functions/vfprintf.texi: Update.
42732         * doc/functions/vprintf.texi: Update.
42733         * doc/functions/vsnprintf.texi: Update.
42734         * doc/functions/vsprintf.texi: Update.
42735
42736 2007-05-06  Bruno Haible  <bruno@clisp.org>
42737
42738         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_GROUPING]: Don't
42739         pass the ' flag character to sprintf or snprintf.
42740         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING): New macro.
42741         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_GROUPING): New macro.
42742         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
42743         gl_PRINTF_FLAG_GROUPING and test its result. Invoke
42744         gl_PREREQ_VASNPRINTF_FLAG_GROUPING.
42745         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
42746         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
42747         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
42748         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
42749         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
42750         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
42751         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
42752         * tests/test-snprintf-posix.h (test_function): Also check the grouping
42753         flag.
42754         * tests/test-sprintf-posix.h (test_function): Likewise.
42755         * tests/test-vasnprintf-posix.c (test_function): Likewise.
42756         * tests/test-vasprintf-posix.c (test_function): Likewise.
42757         * doc/functions/fprintf.texi: Update.
42758         * doc/functions/printf.texi: Update.
42759         * doc/functions/snprintf.texi: Update.
42760         * doc/functions/sprintf.texi: Update.
42761         * doc/functions/vfprintf.texi: Update.
42762         * doc/functions/vprintf.texi: Update.
42763         * doc/functions/vsnprintf.texi: Update.
42764         * doc/functions/vsprintf.texi: Update.
42765
42766 2007-05-01  Bruno Haible  <bruno@clisp.org>
42767
42768         * tests/test-argp-2.sh (func_compare): Drop .exe suffix.
42769
42770 2007-05-03  Paul Eggert  <eggert@cs.ucla.edu>
42771
42772         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use better
42773         comment for D_INO_IN_DIRENT.  Problem reported by James Youngman.
42774
42775 2007-05-02  Paul Eggert  <eggert@cs.ucla.edu>
42776
42777         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Test whether
42778         readdir returns garbage in d_ino.  Problem reported by Kaz Sasayama in
42779         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00021.html>.
42780
42781 2007-05-02  Sergey Poznyakoff  <gray@gnu.org.ua>
42782
42783         * lib/argp-help.c (struct hol_entry): New member `ord'.
42784         (HOL_ENTRY_PTRCMP): Use ord for comparison
42785         (hol_sort): Initialize ord.
42786
42787 2007-05-01  Bruno Haible  <bruno@clisp.org>
42788
42789         * doc/functions/_Exit_C99.texi: Renamed from doc/functions/_Exit.texi.
42790         Reported by Eric Blake.
42791         * doc/gnulib.texi (Function Substitutes): Update.
42792
42793 2007-05-01  Bruno Haible  <bruno@clisp.org>
42794
42795         * doc/functions.texi: Remove file, now redundant through
42796         doc/functions/*.texi.
42797
42798 2007-05-01  Bruno Haible  <bruno@clisp.org>
42799
42800         * modules/argp (Depends-on): Add sleep.
42801
42802 2007-05-01  Bruno Haible  <bruno@clisp.org>
42803
42804         * modules/sleep-tests: New file.
42805         * tests/test-sleep.c: New file.
42806
42807         * modules/sleep: New file.
42808         * lib/sleep.c: New file.
42809         * m4/sleep.m4: New file.
42810         * lib/unistd_.h (sleep): New declaration.
42811         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_SLEEP,
42812         HAVE_SLEEP.
42813         * modules/unistd (Makefile.am): Substitute GNULIB_SLEEP, HAVE_SLEEP.
42814         * doc/functions/sleep.texi: Document the sleep module.
42815
42816 2007-05-01  Bruno Haible  <bruno@clisp.org>
42817
42818         * lib/sigprocmask.h: Remove file.
42819         * lib/signal_.h: Incorporate the previous contents of sigprocmask.h.
42820         * lib/sigprocmask.c: Include <signal.h> instead of sigprocmask.h.
42821         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Substitute GNULIB_SIGPROCMASK,
42822         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T.
42823         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
42824         gl_SIGNAL_H_DEFAULTS. Set HAVE_POSIX_SIGNALBLOCKING as a shell variable.
42825         (gl_PREREQ_SIGPROCMASK): Require gl_SIGNAL_H_DEFAULTS. Set
42826         HAVE_SIGSET_T as a shell variable.
42827         * modules/signal (Makefile.am): Substitute GNULIB_SIGPROCMASK,
42828         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T into signal.h.
42829         * modules/sigprocmask (Files): Remove lib/sigprocmask.h.
42830         (Depends-on): Add signal. Remove verify.
42831         (configure.ac): Invoke gl_SIGNAL_MODULE_INDICATOR.
42832         (Include): Mention <signal.h> instead of sigprocmask.h.
42833         * NEWS: Mention the change.
42834         * lib/fatal-signal.c: Don't include sigprocmask.h.
42835
42836 2007-05-01  Bruno Haible  <bruno@clisp.org>
42837
42838         * modules/signal: New file.
42839         * lib/signal_.h: New file.
42840         * m4/signal_h.m4: New file.
42841
42842 2007-05-01  Bruno Haible  <bruno@clisp.org>
42843
42844         * lib/wctype_.h: Test HAVE_ISWCNTRL at configure time.
42845         * m4/wctype.m4 (gl_WCTYPE_H): Substitute HAVE_ISWCNTRL.
42846         * modules/wctype (Makefile.am): Substitute HAVE_ISWCNTRL instead of
42847         HAVE_WCTYPE_CTMP_BUG into wctype.h.
42848
42849 2007-05-01  Bruno Haible  <bruno@clisp.org>
42850
42851         * lib/sys_stat_.h: Test HAVE_LSTAT, HAVE_DECL_MKDIR, HAVE_IO_H at
42852         configure time.
42853         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Substitute HAVE_LSTAT,
42854         HAVE_DECL_MKDIR, HAVE_IO_H via AC_SUBST.
42855         * modules/sys_stat (Makefile.am): Substitute their values into
42856         sys/stat.h.
42857
42858 2007-05-01  Bruno Haible  <bruno@clisp.org>
42859
42860         * lib/glob_.h: Test HAVE_SYS_CDEFS_H at configure time.
42861         * m4/glob.m4 (gl_PREREQ_GLOB): Substitute HAVE_SYS_CDEFS_H via AC_SUBST.
42862         * modules/glob (Makefile.am): Put HAVE_SYS_CDEFS_H value into glob.h.
42863
42864 2007-05-01  Bruno Haible  <bruno@clisp.org>
42865
42866         * doc/header/assert.texi: Undo last change: don't mention the gnulib
42867         'assert' module here.
42868
42869 2007-05-01  Bruno Haible  <bruno@clisp.org>
42870
42871         * doc/functions/*.texi: New files.
42872         * doc/functions/google-ranking.txt: New file.
42873         * doc/gnulib.texi (Function Substitutes): New chapter.
42874         (ctime, inet_ntoa): Remove sections.
42875         * doc/ctime.texi: Remove file.
42876         * doc/inet_ntoa.texi: Remove file.
42877         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Update
42878         dependencies.
42879         (%.info): New rule, specifying a --reference-limit.
42880
42881 2007-05-01  Bruno Haible  <bruno@clisp.org>
42882
42883         * MODULES.html.sh (posix_functions): Remove 'exec', 'toc'.
42884
42885 2007-05-01  Bruno Haible  <bruno@clisp.org>
42886
42887         * modules/mkdir (Depends-on): Add sys_stat, because sys_stat provides
42888         the portability of 'mkdir' to mingw systems.
42889
42890 2007-05-01  Bruno Haible  <bruno@clisp.org>
42891
42892         * doc/headers/google-ranking.txt: New file.
42893
42894 2007-04-30  Eric Blake  <ebb9@byu.net>
42895
42896         Prefer fseeko to fseek.
42897         * modules/getpass (Depends-on): Add fseeko.
42898         * lib/getpass.c (getpass): Use fseeko, not fseek.
42899
42900 2007-04-30  Sergey Poznyakoff  <gray@gnu.org.ua>
42901
42902         * lib/argp-help.c (hol_entry_cmp): Option sorting algorithm
42903         assumes the sorting is stable, while most qsort implementations
42904         are not.  Use argument addresses to ensure they never compare as
42905         equal.
42906
42907         * tests/test-argp-2.sh (usage-indent test): Fix output
42908         (func_compare): Restore diff options
42909         * tests/test-argp.c: Restore #include "progname.h"
42910
42911 2007-04-29  Bruno Haible  <bruno@clisp.org>
42912
42913         * m4/printf.m4 (gl_VSNPRINTF_ZEROSIZE_C99): New macro.
42914         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
42915         gl_VSNPRINTF_ZEROSIZE_C99. Test gl_cv_func_vsnprintf_zerosize_c99.
42916         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
42917         * modules/snprintf-posix-tests (Files): Add tests/test-snprintf.c.
42918         (configure.ac): Define CHECK_SNPRINTF_POSIX.
42919         (TESTS, check_PROGRAMS): Add test-snprintf.
42920         * modules/vsnprintf-posix-tests (Files): Add tests/test-vsnprintf.c.
42921         (configure.ac): Define CHECK_VSNPRINTF_POSIX.
42922         (TESTS, check_PROGRAMS): Add test-vsnprintf.
42923         * tests/test-snprintf.c (main) [!CHECK_SNPRINTF_POSIX]: Disable
42924         assertions that fail on HP-UX, OSF/1, or IRIX.
42925         * tests/test-vsnprintf.c (main) [!CHECK_VSNPRINTF_POSIX]: Likewise.
42926
42927 2007-04-29  Bruno Haible  <bruno@clisp.org>
42928
42929         * MODULES.html.sh (posix_functions): Remove 'contents'.
42930
42931 2007-04-29  Karl Berry  <karl@gnu.org>
42932
42933         * config/srclist.txt (gendocs_template_min): new entry.
42934
42935 2007-04-29  Bruno Haible  <bruno@clisp.org>
42936
42937         Work around fpurge bug on BSD systems.
42938         * modules/fpurge (Makefile.am): Compile fpurge.c unconditionally.
42939         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't invoke AC_LIBOBJ.
42940         * lib/fpurge.h (fpurge): Don't handle __fpurge wrapper here. Define
42941         fpurge to rpl_fpurge if the system already has this function.
42942         * lib/fpurge.c (fpurge): Handle also the __fpurge wrapper case and
42943         the case where the system already has this function. Correct invariants
42944         on BSD systems.
42945         * lib/fseeko.c (rpl_fseeko): Update recognition of preceding fflush on
42946         BSD systems.
42947
42948 2007-04-29  Sergey Poznyakoff  <gray@gnu.org.ua>
42949
42950         * lib/argp-help.c (hol_cluster_cmp): Reverse comparison.  Change
42951         proposed by Sven Verdoolaege.
42952
42953         * tests/test-argp.c: Fix option ordering.  Test deeply clustered
42954         options.
42955         * tests/test-argp-2.sh (func_compare): Use diff instead of cmp.
42956         (usage and help tests): Update
42957
42958 2007-04-29  Bruno Haible  <bruno@clisp.org>
42959
42960         * tests/test-fflush.c (main): Use a file of size 17, not 10.
42961         Print more information in case of failure. Disable a test on BeOS.
42962
42963 2007-04-29  Bruno Haible  <bruno@clisp.org>
42964
42965         * tests/**/test-*.[hc] (ASSERT): Use fprintf to show the line number.
42966         This helps debugging on systems on which no gdb is available.
42967
42968 2007-04-29  Bruno Haible  <bruno@clisp.org>
42969
42970         * lib/freading.h: Improve comments.
42971         * lib/fwriting.h: Likewise.
42972         * tests/test-freading.c (main): Don't check freading immediately after
42973         repositioning. Needed for glibc.
42974
42975 2007-04-29  Bruno Haible  <bruno@clisp.org>
42976
42977         * lib/freading.c (freading): Trivial simplification.
42978
42979 2007-04-28  Bruno Haible  <bruno@clisp.org>
42980
42981         * tests/test-fwriting.c (main): Also test the interaction between
42982         fflush and fwriting.
42983         * modules/fwriting-tests (Depends-on): Add fflush.
42984
42985         * tests/test-freading.c (main): Also test the interaction between
42986         fflush and freading.
42987         * modules/freading-tests (Depends-on): Add fflush.
42988
42989 2007-04-28  Bruno Haible  <bruno@clisp.org>
42990
42991         * lib/stdio_.h (fseek, ftell): Provide link warnings suggesting to use
42992         fseeko and ftello.
42993         Suggested by Eric Blake.
42994
42995 2007-04-28  Jim Meyering  <jim@meyering.net>
42996
42997         Avoid false-negative in gl_STDINT_H's C99 conformance test.
42998         * m4/stdint.m4 (gl_STDINT_H): When checking whether stdint.h conforms
42999         to C99, include all of gl_STDINT_INCLUDES, not just <stddef.h>.
43000
43001 2007-04-27  Eric Blake  <ebb9@byu.net>
43002
43003         * doc/headers/assert.texi (assert.h): Document assert module use.
43004
43005 2007-04-27  Bruno Haible  <bruno@clisp.org>
43006
43007         * doc/headers/*.texi: New files.
43008         * doc/gnulib.texi (Header File Substitutes): New chapter.
43009         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Specify
43010         dependencies.
43011         (standards.info ,standards.html, standards.dvi): Update dependencies.
43012         (mostlyclean, clean): New targets.
43013
43014 2007-04-27  Bruno Haible  <bruno@clisp.org>
43015
43016         * lib/sysexits_.h: Renamed from lib/sysexit_.h.
43017         * modules/sysexits (Files, Makefile.am): Update.
43018
43019         * lib/sys_socket_.h: Renamed from lib/socket_.h.
43020         * modules/sys_socket (Files, Makefile.am): Update.
43021
43022         * lib/sys_stat_.h: Renamed from lib/stat_.h.
43023         * modules/sys_stat (Files, Makefile.am): Update.
43024
43025 2007-04-27  Eric Blake  <ebb9@byu.net>
43026
43027         * lib/freading.h: Improve comments.
43028         * lib/fwriting.h: Likewise.
43029         * lib/fflush.c: Likewise.
43030
43031         Fix closein for mingw.
43032         * modules/closein-tests: Add tests for closein.
43033         * tests/test-closein.c: New file.
43034         * tests/test-closein.sh: Likewise.
43035         * lib/unistd_.h [!SEEK_CUR]: Mingw also needs stdlib.h for _exit.
43036         * lib/closein.c (close_stdin): Don't fflush non-seekable streams.
43037
43038 2007-04-27  Bruno Haible  <bruno@clisp.org>
43039
43040         * lib/inttypes_.h [_DECC]: Don't use #include_next if the compiler
43041         version is < 6.
43042         * lib/math_.h [__DECC]: Likewise.
43043         * lib/stdio_.h [__DECC]: Likewise.
43044         * lib/stdlib_.h [__DECC]: Likewise.
43045         * lib/string_.h [__DECC]: Likewise.
43046         * lib/time_.h [__DECC]: Likewise.
43047         * lib/wchar_.h [__DECC]: Likewise.
43048         * lib/wctype_.h [__DECC]: Likewise.
43049
43050 2007-04-27  Bruno Haible  <bruno@clisp.org>
43051
43052         * tests/test-fbufmode.c (main): Relax test, to avoid failure on mingw.
43053
43054 2007-04-27  Bruno Haible  <bruno@clisp.org>
43055
43056         * lib/fflush.c: Add comments.
43057         * modules/fpurge-tests (Depends-on): Add fflush.
43058         * modules/freadable-tests (Depends-on): Likewise.
43059         * modules/fwritable-tests (Depends-on): Likewise.
43060
43061 2007-04-27  Charles Wilson  <libtool@cwilson.fastmail.fm>
43062
43063         * m4/argz.m4 (gl_FUNC_ARGZ): Use !HAVE_WORKING_ARGZ instead of
43064         SYSTEM_ARGZ_IS_BROKEN.  Also, minor stylistic improvements.
43065         Report by Bruno Haible <bruno@clisp.org>.
43066
43067 2007-04-26  Eric Blake  <ebb9@byu.net>
43068
43069         Fix fflush on mingw.
43070         * modules/fflush (Depends-on): Add freading.
43071         * lib/fflush.c (rpl_fflush): Use freading to avoid losing buffered
43072         but unread data.
43073
43074 2007-04-26  Eric Blake  <ebb9@byu.net>
43075         and Bruno Haible  <bruno@clisp.org>
43076
43077         Implement freading and fwriting.
43078         * lib/freading.c: New file.
43079         * lib/freading.h: Likewise.
43080         * m4/freading.m4: Likewise.
43081         * modules/freading: Likewise.
43082         * modules/freading-tests: Likewise.
43083         * tests/test-freading.c: Likewise.
43084         * lib/fwriting.c: New file.
43085         * lib/fwriting.h: Likewise.
43086         * m4/fwriting.m4: Likewise.
43087         * modules/fwriting: Likewise.
43088         * modules/fwriting-tests: Likewise.
43089         * tests/test-fwriting.c: Likewise.
43090         * MODULES.html.sh (File stream based Input/Output): Mention them.
43091
43092 2007-04-26  Bruno Haible  <bruno@clisp.org>
43093
43094         * lib/stdio_.h (fseeko, ftello): Check that off_t has the same size as
43095         'long' when we assume it.
43096         Suggested by Eric Blake.
43097
43098 2007-04-26  Bruno Haible  <bruno@clisp.org>
43099
43100         Ensure fseeko, ftello are declared on glibc systems.
43101         * modules/fflush (configure.ac-early): Require AC_FUNC_FSEEKO.
43102         * modules/fseeko (configure.ac-early): Likewise.
43103         * modules/ftello (configure.ac-early): Likewise.
43104         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't define HAVE_FSEEKO, rely on
43105         AC_FUNC_FSEEKO for this.
43106         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Inline gl_CHECK_FSEEKO.
43107         (gl_CHECK_FSEEKO): Remove macro.
43108
43109 2007-04-26  Bruno Haible  <bruno@clisp.org>
43110
43111         * tests/test-fflush.c (main): Also check the ftell result after
43112         fflush and fseek/fseeko.
43113         * lib/fflush.c (rpl_fflush): For BSD implementations, update the
43114         file descriptor position cache in the stream.
43115         * lib/fseeko.c (rpl_fseeko): Likewise.
43116
43117 2007-04-26  Bruno Haible  <bruno@clisp.org>
43118
43119         * modules/fflush-tests (Depends-on): Add fseeko.
43120
43121 2007-04-25  Charles Wilson  <libtool@cwilson.fastmail.fm>
43122             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43123
43124         * lib/argz_.h: ensure error_t definition is obtained in same
43125         mechanism system argz.h would have.
43126         * m4/argz.m4 (gl_FUNC_ARGZ): add new test to check if $host's
43127         argz facilities are known bad.  Err on the side of caution if
43128         cross-compiling.
43129
43130 2007-04-25  Eric Blake  <ebb9@byu.net>
43131
43132         * lib/fpurge.c (includes): Use stdlib.h for free.
43133         * tests/test-fflush.c (main): Also test fflush-fseeko.
43134
43135 2007-04-25  Bruno Haible  <bruno@clisp.org>
43136
43137         Make fflush+fseek POSIX-compliant on FreeBSD and MacOS X.
43138         * lib/fseeko.c: New file.
43139         * lib/stdio_.h: Include <sys/types.h> when off_t is needed.
43140         (fseeko, fseek): Define to replacements if REPLACE_FFLUSH.
43141         * m4/fseeko.m4 (gl_CHECK_FSEEKO): New macro, extracted from
43142         gl_FUNC_FSEEKO.
43143         (gl_FUNC_FSEEKO): Invoke it.
43144         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Arrange to compile fseeko.c. Invoke
43145         gl_CHECK_FSEEKO. Define HAVE_FSEEKO.
43146         * modules/fflush (Files): Add lib/fseeko.c, m4/fseeko.m4.
43147
43148 2007-04-25  Bruno Haible  <bruno@clisp.org>
43149
43150         * modules/fflush (Depends-on): Add ftello.
43151
43152 2007-04-25  Bruno Haible  <bruno@clisp.org>
43153
43154         * modules/ftello-tests: New file.
43155         * tests/test-ftello.c: New file.
43156
43157         * modules/ftello: New file.
43158         * m4/ftello.m4: New file.
43159         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELLO,
43160         HAVE_FTELLO.
43161         * lib/stdio_.h (ftello): New declaration.
43162         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELLO,
43163         HAVE_FTELLO.
43164
43165 2007-04-25  Bruno Haible  <bruno@clisp.org>
43166
43167         * modules/fseeko-tests: New file.
43168         * tests/test-fseeko.c: New file.
43169
43170         * modules/fseeko: New file.
43171         * m4/fseeko.m4: New file.
43172         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEKO,
43173         HAVE_FSEEKO.
43174         * lib/stdio_.h (fseeko): New declaration.
43175         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEKO,
43176         HAVE_FSEEKO.
43177
43178 2007-04-25  Bruno Haible  <bruno@clisp.org>
43179
43180         * lib/stdio_.h (fflush): Add support for GNULIB_POSIXCHECK.
43181
43182 2007-04-25  Bruno Haible  <bruno@clisp.org>
43183
43184         * lib/unistd_.h: Include <stdio.h> if needed to get the SEEK_* macros.
43185         * tests/test-stdio.c: Check that the various SEEK_* macros are defined.
43186         * tests/test-unistd.c: Likewise.
43187         * tests/test-fcntl.c: Likewise.
43188
43189 2007-04-23  Eric Blake  <ebb9@byu.net>
43190
43191         * lib/fflush.c: Fix missing include.
43192         Reported by Bruno Haible.
43193
43194 2007-04-23  Bruno Haible  <bruno@clisp.org>
43195
43196         * lib/fpurge.c (fpurge) [glibc, BSD]: Free a malloc()ed ungetc buffer.
43197         Reported by Eric Blake.
43198
43199 2007-04-23  Bruno Haible  <bruno@clisp.org>
43200
43201         * lib/fbufmode.c (fbufmode): Port to Solaris/SPARC64.
43202
43203 2007-04-23  Bruno Haible  <bruno@clisp.org>
43204
43205         * lib/fseterr.c (fseterr): Don't hardcode the value of _IOERR.
43206
43207 2007-04-23  Bruno Haible  <bruno@clisp.org>
43208
43209         * tests/test-fbufmode.c (main): Be prepared to a failure of setvbuf.
43210         Needed on HP-UX 11.
43211
43212 2007-04-16  Eric Blake  <ebb9@byu.net>
43213
43214         Make fflush rely on fpurge.
43215         * lib/fflush.c (rpl_fflush): Rely on fpurge module, rather than
43216         open coding all variants.
43217         * modules/fflush (Depends-on): Add fpurge and unistd.
43218         * modules/fflush-tests (Depends-on): Unistd is no longer extra.
43219         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Simplify.
43220
43221         Fix --with-tests compilation on cygwin.
43222         * modules/argmatch-tests (Makefile.am): List gnulib library first
43223         in LDADD.
43224         * modules/argp-tests (Makefile.am): Likewise.
43225         * modules/array-list-tests (Makefile.am): Likewise.
43226         * modules/array-oset-tests (Makefile.am): Likewise.
43227         * modules/avltree-list-tests (Makefile.am): Likewise.
43228         * modules/avltree-oset-tests (Makefile.am): Likewise.
43229         * modules/avltreehash-list-tests (Makefile.am): Likewise.
43230         * modules/carray-list-tests (Makefile.am): Likewise.
43231         * modules/dirname-tests (Makefile.am): Likewise.
43232         * modules/frexp-tests (Makefile.am): Likewise.
43233         * modules/isnanl-tests (Makefile.am): Likewise.
43234         * modules/linked-list-tests (Makefile.am): Likewise.
43235         * modules/linkedhash-list-tests (Makefile.am): Likewise.
43236         * modules/lock-tests (Makefile.am): Likewise.
43237         * modules/rbtree-list-tests (Makefile.am): Likewise.
43238         * modules/rbtree-oset-tests (Makefile.am): Likewise.
43239         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
43240         * modules/tls-tests (Makefile.am): Likewise.
43241         * modules/tsearch-tests (Makefile.am): Likewise.
43242         * modules/xvasprintf-tests (Makefile.am): Likewise.
43243
43244         Fix fpurge for cygwin.
43245         * lib/fpurge.c (fpurge): Fix order of operation flub, and return a
43246         value.
43247         * modules/fpurge-tests (Depends-on): Clean up trash.
43248
43249 2007-04-16  Simon Josefsson  <simon@josefsson.org>
43250
43251         * lib/gc-libgcrypt.c (gc_hash_open): Shut up compiler warnings.
43252
43253         * m4/autobuild.m4: Re-indent.
43254
43255 2007-04-13  Bruno Haible  <bruno@clisp.org>
43256
43257         * modules/fpurge-tests: New file.
43258         * tests/test-fpurge.c: New file.
43259
43260         * modules/fpurge: New file.
43261         * lib/fpurge.h: New file.
43262         * lib/fpurge.c: New file.
43263         * m4/fpurge.m4: New file.
43264
43265 2007-04-13  Bruno Haible  <bruno@clisp.org>
43266
43267         * modules/fbufmode-tests: New file.
43268         * tests/test-fbufmode.c: New file.
43269
43270         * modules/fbufmode: New file.
43271         * lib/fbufmode.h: New file.
43272         * lib/fbufmode.c: New file.
43273         * m4/fbufmode.m4: New file.
43274
43275 2007-04-13  Bruno Haible  <bruno@clisp.org>
43276
43277         * modules/fwritable-tests: New file.
43278         * tests/test-fwritable.c: New file.
43279
43280         * modules/fwritable: New file.
43281         * lib/fwritable.h: New file.
43282         * lib/fwritable.c: New file.
43283         * m4/fwritable.m4: New file.
43284
43285 2007-04-13  Bruno Haible  <bruno@clisp.org>
43286
43287         * modules/freadable-tests: New file.
43288         * tests/test-freadable.c: New file.
43289
43290         * modules/freadable: New file.
43291         * lib/freadable.h: New file.
43292         * lib/freadable.c: New file.
43293         * m4/freadable.m4: New file.
43294
43295 2007-04-13  Bruno Haible  <bruno@clisp.org>
43296
43297         * modules/fflush-tests (Makefile.am): Remove EXTRA_DIST. Augment
43298         MOSTLYCLEANFILES.
43299
43300 2007-04-13  Paul Eggert  <eggert@cs.ucla.edu>
43301
43302         * build-aux/bootstrap (gnulib_tool_option_extras): New var, used by
43303         gzip bootstrap.conf to avoid dragging in i18n machinery.
43304         (gnulib_tool_option): Use it.
43305
43306 2007-04-13  Bruno Haible  <bruno@clisp.org>
43307
43308         * tests/test-vasnprintf-posix.c (test_function): Add tests for %f and
43309         %F directives.
43310         * tests/test-vasprintf-posix.c (test_function): Likewise.
43311         * tests/test-snprintf-posix.h (test_function): Likewise.
43312         * tests/test-sprintf-posix.h (test_function): Likewise.
43313         * tests/test-fprintf-posix.h (test_function): Likewise.
43314         * tests/test-printf-posix.h (test_function): Likewise.
43315         * tests/test-fprintf-posix.out: Likewise.
43316
43317 2007-04-13  Bruno Haible  <bruno@clisp.org>
43318
43319         * modules/lock-tests (configure.ac): For LIBSCHED, try also -lposix4.
43320         * modules/tls-tests (configure.ac): Likewise.
43321         Reported by Arto C. Nirkko <anirkko@insel.ch>.
43322
43323 2007-04-13  Bruno Haible  <bruno@clisp.org>
43324
43325         * lib/tls.c (glthread_tls_get): Fix return type.
43326         Patch by Arto C. Nirkko <anirkko@insel.ch>.
43327
43328 2007-04-12  Eric Blake  <ebb9@byu.net>
43329
43330         * modules/gettime (Depends-on): Remove gettime.
43331         Reported by Dmitry V. Levin.
43332
43333 2007-04-12  Bruno Haible  <bruno@clisp.org>
43334
43335         * modules/fflush (Include): Mention <stdio.h>.
43336         * modules/strtoimax (Include): Mention <inttypes.h>.
43337         * modules/strtoumax (Include): Likewise.
43338
43339 2007-04-12  Eric Blake  <ebb9@byu.net>
43340
43341         * .cvsignore: New file.
43342         * .gitignore: Likewise.
43343
43344 2007-04-12  Bruno Haible  <bruno@clisp.org>
43345
43346         * modules/iconv-tests (test_iconv_LDADD): Mention -liconv after LDADD,
43347         not before, since $(LDADD) often contains libgnu.a.
43348         * modules/striconv-tests (test_striconv_LDADD): Likewise.
43349         * modules/striconveh-tests (test_striconveh_LDADD): Likewise.
43350         * modules/striconveha-tests (test_striconveha_LDADD): Likewise.
43351         Needed on Cygwin.
43352
43353 2007-04-12  Eric Blake  <ebb9@byu.net>
43354
43355         Work around glibc's failure to flush stdin on fclose.
43356         * lib/closein.c (close_stdin): Flush stdin before closing.
43357
43358         Work around glibc's failure to reset seekable stdin on exit.
43359         * modules/closein: New module.
43360         * lib/closein.c: New file.
43361         * lib/closein.h: Likewise.
43362         * m4/closein.m4: Likewise.
43363         * MODULES.html.sh (File stream based Input/Output): Document it.
43364
43365 2007-04-12  Simon Josefsson  <simon@josefsson.org>
43366
43367         * gnulib-tool: Rename generated 'autobuild' script to
43368         'do-autobuild' in --create-megatestdir output.
43369
43370         * doc/gnulib.texi (Build robot for gnulib): Fix.
43371
43372 2007-04-12  Simon Josefsson  <simon@josefsson.org>
43373
43374         * modules/sysexits (Depends-on): Add absolute-header.
43375
43376 2007-04-12  Eric Blake  <ebb9@byu.net>
43377
43378         No need to preserve errno on success.
43379         * lib/fflush.c (rpl_fflush): Simplify errno tracking.
43380         Reported by Bruno Haible.
43381
43382 2007-04-12  Simon Josefsson  <simon@josefsson.org>
43383
43384         * MODULES.html.sh (Support for maintaining and releasing
43385         projects): Add autobuild.  Suggested by Eric Blake <ebb9@byu.net>.
43386
43387 2007-04-12  Simon Josefsson  <simon@josefsson.org>
43388
43389         * gnulib-tool (func_modules_add_dummy): Respect --avoid=dummy.
43390
43391 2007-04-12  Simon Josefsson  <simon@josefsson.org>
43392
43393         * modules/autobuild: New module.
43394
43395         * m4/autobuild.m4: New file.
43396
43397 2007-04-11  Bruno Haible  <bruno@clisp.org>
43398
43399         * lib/vasnprintf.c (VASNPRINTF): Implement the %F directive using the
43400         %f directive, if NEED_PRINTF_DIRECTIVE_F is defined.
43401         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): New macro.
43402         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_F): New macro.
43403         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
43404         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
43405         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
43406         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
43407         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
43408         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
43409         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Invoke
43410         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
43411         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
43412         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Invoke
43413         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
43414         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
43415         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Invoke
43416         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
43417         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
43418         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Invoke
43419         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
43420         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
43421         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Invoke
43422         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
43423         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
43424         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Invoke
43425         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
43426         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
43427         Reported by Eric Blake.
43428
43429 2007-04-11  Bruno Haible  <bruno@clisp.org>
43430
43431         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Fix test. It always failed.
43432
43433 2007-04-10  Bruno Haible  <bruno@clisp.org>
43434
43435         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct result
43436         for NaN and Infinity. Needed on FreeBSD 6.1.
43437         * tests/test-vasnprintf-posix.c (test_function): Undo last change
43438         regarding results for "%010a" of Infinity and NaN.
43439         * tests/test-vasprintf-posix.c (test_function): Likewise.
43440         * tests/test-snprintf-posix.h (test_function): Likewise.
43441         * tests/test-sprintf-posix.h (test_function): Likewise.
43442         * tests/test-fprintf-posix.h (test_function): Likewise.
43443         * tests/test-printf-posix.h (test_function): Likewise.
43444         * tests/test-fprintf-posix.out: Likewise.
43445
43446 2007-04-10  Bruno Haible  <bruno@clisp.org>
43447
43448         * modules/locale-tests: New file.
43449         * tests/test-locale.c: New file.
43450
43451         * modules/locale: New file.
43452         * lib/locale_.h: New file.
43453         * m4/locale_h.m4: New file.
43454
43455 2007-04-10  Paul Eggert  <eggert@cs.ucla.edu>
43456             Bruno Haible  <bruno@clisp.org>
43457
43458         * m4/signbit.m4 (gl_SIGNBIT): When the sign bit position could not
43459         be determined, test for availability of the copysignf, copysign,
43460         copysignl functions.
43461         * lib/signbitf.c (gl_signbitf): Use copysignf if available in libc.
43462         * lib/signbitd.c (gl_signbitd): Use copysign if available in libc.
43463         * lib/signbitl.c (gl_signbitl): Use copysignl if available in libc.
43464
43465 2007-04-09  Eric Blake  <ebb9@byu.net>
43466
43467         * lib/stdio_.h [REPLACE_FFLUSH]: Declare rpl_fflush.
43468         * modules/stdio (Makefile.am): Support fflush.
43469         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
43470         * modules/fflush: New file.
43471         * lib/fflush.c: Likewise.
43472         * m4/fflush.m4: Likewise.
43473         * modules/fflush-tests: New test.
43474         * tests/test-fflush.c: Likewise.
43475         * MODULES.html.sh (Input/output <stdio.h>): Document new module.
43476
43477 2007-04-06  Bruno Haible  <bruno@clisp.org>
43478
43479         * lib/vasnprintf.c: Include <math.h>. Don't include float+.h.
43480         (VASNPRINTF): Use signbit for faster determination whether to print a
43481         minus sign.
43482         * modules/vasnprintf (Files): Remove lib/float+.h.
43483         * modules/fprintf-posix (Depends-on): Add signbit.
43484         * modules/snprintf-posix (Depends-on): Likewise.
43485         * modules/sprintf-posix (Depends-on): Likewise.
43486         * modules/vasnprintf-posix (Depends-on): Likewise.
43487         * modules/vasprintf-posix (Depends-on): Likewise.
43488         * modules/vfprintf-posix (Depends-on): Likewise.
43489         * modules/vsnprintf-posix (Depends-on): Likewise.
43490         * modules/vsprintf-posix (Depends-on): Likewise.
43491
43492 2007-04-06  Bruno Haible  <bruno@clisp.org>
43493
43494         * tests/test-frexp.c (main): Test also the sign bit of zero results.
43495         * tests/test-frexpl.c (main): Likewise.
43496         * tests/test-ldexpl.c (main): Likewise.
43497         * modules/frexp-tests (Depends-on): Add signbit.
43498         * modules/frexpl-tests (Depdends-on): Likewise.
43499         * modules/ldexpl-tests (Depdends-on): Likewise.
43500
43501 2007-04-06  Bruno Haible  <bruno@clisp.org>
43502
43503         * modules/signbit-tests: New file.
43504         * tests/test-signbit.c: New file.
43505
43506         * modules/signbit: New file.
43507         * lib/signbitf.c: New file.
43508         * lib/signbitd.c: New file.
43509         * lib/signbitl.c: New file.
43510         * m4/signbit.m4: New file.
43511         * lib/math_.h (gl_signbitf, gl_signbitd, gl_signbitl): New declarations.
43512         (signbit): New macro.
43513         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_SIGNBIT and
43514         REPLACE_SIGNBIT.
43515         * modules/math (Makefile.am) Substibute also GNULIB_SIGNBIT and
43516         REPLACE_FREXPL into math.h.
43517
43518 2007-04-06  Bruno Haible  <bruno@clisp.org>
43519
43520         * modules/isnanf-nolibm-tests: New file.
43521         * tests/test-isnanf.c: New file.
43522
43523         * modules/isnanf-nolibm: New file.
43524         * lib/isnanf.h: New file.
43525         * lib/isnanf.c: New file.
43526         * lib/isnan.c: Consider the USE_FLOAT macro.
43527         * m4/isnanf.m4: New file.
43528
43529 2007-04-06  Bruno Haible  <bruno@clisp.org>
43530
43531         * modules/gettext-h (configure.ac): AC_SUBST LIBINTL and LTLIBINTL.
43532         (Link): New section.
43533
43534         * modules/canonicalize-lgpl-tests (Makefile.am): Undo last change.
43535
43536 2007-04-06  Bruno Haible  <bruno@clisp.org>
43537
43538         Assume the 'long double' type.
43539         * m4/longdouble.m4: Remove file.
43540         * config/srclist.txt: Don't mention longdouble.m4.
43541         * lib/allocsa.h: Assume HAVE_LONG_DOUBLE to be true.
43542         * lib/float+.h: Likewise.
43543         * lib/frexp.c: Likewise.
43544         * lib/printf-args.h: Likewise.
43545         * lib/printf-args.c: Likewise.
43546         * lib/printf-frexp.c: Likewise.
43547         * lib/printf-parse.c: Likewise.
43548         * lib/vasnprintf.c: Likewise.
43549         * m4/allocsa.m4: Remove gt_TYPE_LONGDOUBLE invocation.
43550         * m4/intl.m4: Likewise.
43551         * m4/isnanl.m4: Likewise.
43552         * m4/printf.m4: Likewise.
43553         * m4/printf-frexpl.m4: Likewise.
43554         * m4/vasnprintf.m4: Likewise.
43555         * modules/allocsa (Files): Remove m4/longdouble.m4.
43556         * modules/gettext (Files): Likewise.
43557         * modules/relocatable-prog-wrapper (Files): Likewise.
43558         * modules/vasnprintf (Files): Likewise.
43559         * modules/isnanl (Files): Likewise.
43560         (Include): Simplify.
43561         * modules/isnanl-nolibm (Files): Remove m4/longdouble.m4.
43562         (Include): Simplify.
43563         * modules/printf-frexpl (Files): Remove m4/longdouble.m4.
43564         (Include): Simplify.
43565         * modules/snprintf-posix-tests (Files): Remove m4/longdouble.m4.
43566         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
43567         * modules/sprintf-posix-tests (Files): Remove m4/longdouble.m4.
43568         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
43569         * modules/vasnprintf-posix-tests (Files): Remove m4/longdouble.m4.
43570         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
43571         * modules/vasprintf-posix-tests (Files): Remove m4/longdouble.m4.
43572         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
43573         * modules/vsnprintf-posix-tests (Files): Remove m4/longdouble.m4.
43574         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
43575         * modules/vsprintf-posix-tests (Files): Remove m4/longdouble.m4.
43576         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
43577         * tests/test-isnanl-nolibm.c: Assume HAVE_LONG_DOUBLE to be true.
43578         * tests/test-isnanl.c: Likewise.
43579         * tests/test-snprintf-posix.h: Likewise.
43580         * tests/test-sprintf-posix.h: Likewise.
43581         * tests/test-vasnprintf-posix.c: Likewise.
43582         * tests/test-vasnprintf-posix2.c: Likewise.
43583         * tests/test-vasprintf-posix.c: Likewise.
43584
43585 2007-04-06  Bruno Haible  <bruno@clisp.org>
43586
43587         Fix problem with Compaq (ex-DEC) Desktop C compiler on Tru64.
43588         * lib/math_.h [__DECC]: Include the overridden include file through
43589         #include_next, outside the double-inclusion guard.
43590         * lib/stdio_.h [__DECC]: Likewise.
43591         * lib/stdlib_.h [__DECC]: Likewise.
43592         * lib/string_.h [__DECC]: Likewise.
43593         * lib/time_.h [__DECC]: Likewise.
43594         * lib/wchar_.h [__DECC]: Likewise.
43595         * lib/wctype_.h [__DECC]: Likewise.
43596         * lib/inttypes_.h [__DECC]: Likewise.
43597         Reported by Albert Chin <china@thewrittenword.com> in
43598         <http://lists.gnu.org/archive/html/bug-gnulib/2007-04/msg00088.html>.
43599
43600 2007-04-04  Eric Blake  <ebb9@byu.net>
43601
43602         * m4/stdint.m4 (gl_STDINT_H): Detect WINT_MAX bug in cygwin
43603         1.5.x.
43604
43605 2007-04-04  Bruno Haible  <bruno@clisp.org>
43606
43607         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct
43608         rounding. Don't assume that FreeBSD 6 and NetBSD 4 pass this test.
43609
43610 2007-04-04  Bruno Haible  <bruno@clisp.org>
43611
43612         * tests/test-vasnprintf-posix.c (test_function): Allow two possible
43613         results for "%010a" of Infinity and NaN.
43614         * tests/test-vasprintf-posix.c (test_function): Likewise.
43615         * tests/test-snprintf-posix.h (test_function): Likewise.
43616         * tests/test-sprintf-posix.h (test_function): Likewise.
43617         * tests/test-fprintf-posix.h (test_function): Remove these tests.
43618         * tests/test-printf-posix.h (test_function): Likewise.
43619         * tests/test-fprintf-posix.out: Update.
43620         Needed for FreeBSD 6.1.
43621
43622 2007-04-04  Bruno Haible  <bruno@clisp.org>
43623
43624         * DEPENDENCIES: Remove mentions of tar and gzip, since they are not
43625         directly used by the gnulib modules nor by gnulib-tool.
43626
43627 2007-04-04  Paul Eggert  <eggert@cs.ucla.edu>
43628
43629         * DEPENDENCIES: Give overall description of version dependency
43630         desirability.  Use more-typical names for apps.
43631         Add shell, coreutils, diffutils, grep, tar, gzip.
43632
43633 2007-04-04  Simon Josefsson  <simon@josefsson.org>
43634
43635         * MODULES.html.sh: Rename crypto modules.  Remove iconvme.
43636
43637 2007-04-04  Karl Berry  <karl@gnu.org>
43638
43639         * MODULES.html.sh (func_module): missing '.
43640
43641 2007-04-03  Bruno Haible  <bruno@clisp.org>
43642
43643         * modules/argmatch-tests (Makefile.am): New variable
43644         test_argmatch_LDADD.
43645         * modules/argp-tests (Makefile.am): New variable test_argp_LDADD.
43646         * modules/array-list-tests (Makefile.am): New variable
43647         test_array_list_LDADD.
43648         * modules/array-oset-tests (Makefile.am): New variable
43649         test_array_oset_LDADD.
43650         * modules/avltree-list-tests (Makefile.am): New variable
43651         test_avltree_list_LDADD.
43652         * modules/avltree-oset-tests (Makefile.am): New variable
43653         test_avltree_oset_LDADD.
43654         * modules/avltreehash-list-tests (Makefile.am): New variable
43655         test_avltreehash_list_LDADD.
43656         * modules/canonicalize-lgpl-tests (Makefile.am): New variable
43657         test_canonicalize_lgpl_LDADD.
43658         * modules/carray-list-tests (Makefile.am): New variable
43659         test_carray_list_LDADD.
43660         * modules/dirname-tests (Makefile.am): New variable
43661         test_dirname_LDADD.
43662         * modules/linked-list-tests (Makefile.am): New variable
43663         test_linked_list_LDADD.
43664         * modules/linkedhash-list-tests (Makefile.am): New variable
43665         test_linkedhash_list_LDADD.
43666         * modules/rbtree-list-tests (Makefile.am): New variable
43667         test_rbtree_list_LDADD.
43668         * modules/rbtree-oset-tests (Makefile.am): New variable
43669         test_rbtree_oset_LDADD.
43670         * modules/rbtreehash-list-tests (Makefile.am): New variable
43671         test_rbtreehash_list_LDADD.
43672         * modules/xvasprintf-tests (Makefile.am): New variable
43673         test_xvasprintf_LDADD.
43674         Reported by Eric Blake.
43675
43676 2007-04-03  Eric Blake  <ebb9@byu.net>
43677
43678         * DEPENDENCIES: Weaken m4 requirements.
43679
43680 2007-04-03  Bruno Haible  <bruno@clisp.org>
43681
43682         * modules/frexp-tests (configure.ac): Remove AC_SUBST.
43683         * modules/isnanl-tests (configure.ac): Likewise.
43684
43685 2007-04-03  Ben Pfaff  <blp@gnu.org>
43686
43687         * modules/iconv_open: Add $(srcdir)/ to source directory
43688         references in Makefile fragments that call gperf, to fix VPATH
43689         builds.
43690
43691 2007-04-03  Bruno Haible  <bruno@clisp.org>
43692
43693         * modules/ldexpl (Depends-on): Add isnanl, remove isnanl-nolibm.
43694         * lib/ldexpl.c: Undo last change.
43695
43696 2007-04-03  Bruno Haible  <bruno@clisp.org>
43697
43698         * modules/printf-frexpl (Depends-on): Undo last change.
43699         (Files): Add m4/ldexpl.m4.
43700
43701 2007-04-03  Bruno Haible  <bruno@clisp.org>
43702
43703         * m4/isnanl.m4 (gl_FUNC_ISNANL): Substitute ISNANL_LIBM.
43704         * modules/isnanl (Link): New section.
43705
43706         * m4/frexp.m4 (gl_FUNC_FREXP): Substitute FREXP_LIBM.
43707         * modules/frexp (Link): New section.
43708
43709         * m4/frexpl.m4 (gl_FUNC_FREXPL): Substitute FREXPL_LIBM.
43710         * modules/frexpl (Link): New section.
43711
43712         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Substitute LDEXPL_LIBM.
43713         * modules/ldexpl (Link): New section.
43714
43715 2007-04-03  Bruno Haible  <bruno@clisp.org>
43716
43717         * modules/TEMPLATE-EXTENDED: New file.
43718         * gnulib-tool (func_all_modules, func_verify_module): Exclude it.
43719
43720 2007-04-03  Bruno Haible  <bruno@clisp.org>
43721
43722         * DEPENDENCIES: New file.
43723         Suggested by Simon Josefsson.
43724
43725 2007-04-03  Bruno Haible  <bruno@clisp.org>
43726
43727         * doc/gnulib.texi: Escape @.
43728
43729 2007-04-03  James Youngman  <jay@gnu.org>
43730         and Paul Eggert  <eggert@cs.ucla.edu>
43731
43732         * lib/stat-time.h (get_stat_birthtime): Check for zero-valued
43733         birthtime on all systems that have birthtime, not just those which
43734         use st_birthtimensec rather than st_birthtim.  Putting zero in
43735         st_birthtim.tv_sec is how (for example) FreeBSD/x86 6.1 indicates
43736         that the birth time is not available for files on an NFS mount.
43737
43738 2007-04-03  Simon Josefsson  <simon@josefsson.org>
43739
43740         * modules/memxor: Move back from crypto/, suggested by Bruno.
43741         * modules/crypto/hmac-sha1: Fix memxor dependency.
43742
43743         * modules/crypto/gc: Moved from ../.
43744
43745 2007-04-02  Eric Blake  <ebb9@byu.net>
43746
43747         * lib/ldexpl.c (includes): Avoid libm.
43748
43749         * modules/printf-frexpl (Depends-on): Depend on ldexpl.
43750
43751 2007-04-02  Bruno Haible  <bruno@clisp.org>
43752
43753         * lib/sysexit_.h (EX_OK): Disable the EX_OK definition from <unistd.h>
43754         on IRIX.
43755
43756 2007-04-02  Bruno Haible  <bruno@clisp.org>
43757
43758         * m4/intdiv0.m4 (gt_INTDIV0): Avoid performing the test for real on
43759         x86 or x86_64 platforms running MacOS X.
43760         Reported by Ryan Schmidt <@ryandesign.com>.
43761
43762 2007-04-02  Bruno Haible  <bruno@clisp.org>
43763
43764         * m4/intdiv0.m4 (gt_INTDIV0): When cross-compiling, treat x86_64 like
43765         i386.
43766
43767 2007-04-01  Simon Josefsson  <simon@josefsson.org>
43768
43769         * modules/crypto/arcfour: Moved from ../.
43770         * modules/crypto/arcfour-tests: Moved from ../.
43771         * modules/crypto/arctwo: Moved from ../.
43772         * modules/crypto/arctwo-tests: Moved from ../.
43773         * modules/crypto/des: Moved from ../.
43774         * modules/crypto/des-tests: Moved from ../.
43775         * modules/crypto/gc-arcfour: Moved from ../.
43776         * modules/crypto/gc-arcfour-tests: Moved from ../.
43777         * modules/crypto/gc-arctwo: Moved from ../.
43778         * modules/crypto/gc-arctwo-tests: Moved from ../.
43779         * modules/crypto/gc-des: Moved from ../.
43780         * modules/crypto/gc-des-tests: Moved from ../.
43781         * modules/crypto/gc-hmac-md5: Moved from ../.
43782         * modules/crypto/gc-hmac-md5-tests: Moved from ../.
43783         * modules/crypto/gc-hmac-sha1: Moved from ../.
43784         * modules/crypto/gc-hmac-sha1-tests: Moved from ../.
43785         * modules/crypto/gc-md2: Moved from ../.
43786         * modules/crypto/gc-md2-tests: Moved from ../.
43787         * modules/crypto/gc-md4: Moved from ../.
43788         * modules/crypto/gc-md4-tests: Moved from ../.
43789         * modules/crypto/gc-md5: Moved from ../.
43790         * modules/crypto/gc-md5-tests: Moved from ../.
43791         * modules/crypto/gc-pbkdf2-sha1: Moved from ../.
43792         * modules/crypto/gc-pbkdf2-sha1-tests: Moved from ../.
43793         * modules/crypto/gc-random: Moved from ../.
43794         * modules/crypto/gc-rijndael: Moved from ../.
43795         * modules/crypto/gc-rijndael-tests: Moved from ../.
43796         * modules/crypto/gc-sha1: Moved from ../.
43797         * modules/crypto/gc-sha1-tests: Moved from ../.
43798         * modules/crypto/gc-tests: Moved from ../.
43799         * modules/crypto/hmac-md5: Moved from ../.
43800         * modules/crypto/hmac-md5-tests: Moved from ../.
43801         * modules/crypto/hmac-sha1: Moved from ../.
43802         * modules/crypto/hmac-sha1-tests: Moved from ../.
43803         * modules/crypto/md2: Moved from ../.
43804         * modules/crypto/md2-tests: Moved from ../.
43805         * modules/crypto/md4: Moved from ../.
43806         * modules/crypto/md4-tests: Moved from ../.
43807         * modules/crypto/md5: Moved from ../.
43808         * modules/crypto/md5-tests: Moved from ../.
43809         * modules/crypto/memxor: Moved from ../.
43810         * modules/crypto/rijndael: Moved from ../.
43811         * modules/crypto/rijndael-tests: Moved from ../.
43812         * modules/crypto/sha1: Moved from ../.
43813
43814 2007-03-30  James Youngman  <jay@gnu.org>
43815
43816         * tests/test-stat-time.c (prepare_test): use chmod() rather than
43817         rename() to change the ctime of a file (because ctime is unaffected
43818         by rename on jfs2 on AIX 5.1).
43819         (main): Start by doing cleanup, in case a previous run failed leaving
43820         test files behind.
43821
43822 2007-03-31  Bruno Haible  <bruno@clisp.org>
43823
43824         Support old proprietary implementations of iconv.
43825         * modules/iconv_open: New file.
43826         * lib/iconv_.h: New file.
43827         * m4/iconv_h.m4: New file.
43828         * lib/iconv_open.c: New file.
43829         * lib/iconv_open-aix.gperf: New file.
43830         * lib/iconv_open-hpux.gperf: New file.
43831         * lib/iconv_open-irix.gperf: New file.
43832         * lib/iconv_open-osf.gperf: New file.
43833         * m4/iconv_open.m4: New file.
43834         * modules/linebreak (Depends-on): Add iconv_open.
43835         * modules/striconv (Depends-on): Likewise.
43836         * modules/striconveh (Depends-on): Likewise.
43837         * modules/unicodeio (Depends-on): Likewise.
43838         * lib/striconveh.h (mem_cd_iconveh, str_cd_iconveh): Allow cd to be
43839         (iconv_t)(-1).
43840         * lib/striconveh.c (mem_cd_iconveh_internal): Use an indirect
43841         conversion if cd is (iconv_t)(-1).
43842         (mem_iconveh, str_iconveh): Don't fail just because a direct conversion
43843         is not possible.
43844
43845 2007-03-31  Bruno Haible  <bruno@clisp.org>
43846
43847         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
43848         work on Solaris either. Protect also second use of "autodetect_jp".
43849
43850 2007-03-31  Bruno Haible  <bruno@clisp.org>
43851
43852         * m4/frexpl.m4 (gl_FUNC_FREXPL): Set HAVE_DECL_FREXPL to 0 when
43853         the function is not present.
43854
43855 2007-03-31  Bruno Haible  <bruno@clisp.org>
43856
43857         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Set HAVE_DECL_LDEXPL to 0 when
43858         the function is not present.
43859
43860 2007-03-31  Bruno Haible  <bruno@clisp.org>
43861
43862         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-29 patch. Test also against
43863         a bug in HP-UX iconv_open().
43864
43865 2007-03-31  Bruno Haible  <bruno@clisp.org>
43866
43867         * MODULES.html.sh (func_module): Don't show gnulib-common.m4.
43868         (Mathematics <math.h>): New section, add fpieee.
43869         (Input/output <stdio.h>): Add fseterr.
43870         (Mathematics <math.h>): New section, add printf-frexp.
43871         (Container data structures): Add sublist.
43872         (Core language properties): Add fpucw, inline.
43873         (Functions for greatest-width integer types <inttypes.h>): Add
43874         imaxabs, imaxdiv, inttypes.
43875         (Mathematics <math.h>): Add frexp, frexpl, isnan-nolibm, isnanl,
43876         isnanl-nolibm, ldexp.
43877         (Mathematics <math.h>): New section, add printf-frexpl.
43878         (Support for systems lacking POSIX:2001): Add fprintf-posix,
43879         printf-posix, snprintf-posix, sprintf-posix, string, search, socklen,
43880         sys_select, sys_socket, vasnprintf-posix, vasprintf-posix,
43881         vfprintf-posix, vprintf-posix, vsnprintf-posix, vsprintf-posix.
43882         (Unicode string functions): Add unistr/u*-mbtoucr.
43883         (Java): Add javacomp-script, javaexec-script.
43884         (C#): Add csharpcomp-script, csharpexec-script.
43885         (Support for building libraries and executables): Add havelib,
43886         relocatable-*.
43887         (Support for maintaining and releasing projects): Renamed from
43888         'Support for maintaining and release projects'. Add announce-gen.
43889
43890 2007-03-31  Bruno Haible  <bruno@clisp.org>
43891
43892         * README: Talk primarily about git.
43893         (git and CVS): Renamed from CVS.
43894         * doc/gnulib.texi (Introduction, Build robot for gnulib): Mention that
43895         gnulib is available through git.
43896         * doc/gnulib-tool.texi (CVS Issues): Mention git and svn as well.
43897
43898 2007-03-30  Bruno Haible  <bruno@clisp.org>
43899
43900         * lib/alloca_.h: Change prefix of double-inclusion guard macro to _GL_.
43901         * lib/poll_.h: Likewise.
43902         * lib/stat_.h: Likewise.
43903         * lib/sys_time_.h: Likewise.
43904         * lib/sysexit_.h: Likewise.
43905         * lib/glob_.h: Prefix double-inclusion guard macro with _GL_.
43906         * lib/stdbool_.h: Likewise.
43907         * lib/byteswap_.h: Add double-inclusion guard.
43908
43909 2007-03-30  Sergey Poznyakoff  <gray@mirddin.farlep.net>
43910
43911         * lib/sysexit_.h: Prefix double-inclusion guard macro with _GNULIB.
43912
43913 2007-03-30  Karl Berry  <karl@gnu.org>
43914
43915         * config/srclist-update: double space after USA in the license
43916         substitution, since that's how it's usually (?) written.
43917
43918 2007-03-30  Paul Eggert  <eggert@cs.ucla.edu>
43919
43920         * lib/write-any-file.c (can_write_any_file): Fix else-else bug
43921         reported by Bruno Haible.
43922
43923 2007-03-29  Bruno Haible  <bruno@clisp.org>
43924
43925         * m4/iconv.m4 (AM_ICONV_LINK): Require AC_CANONICAL_HOST. Test against
43926         a bug in AIX iconv().
43927
43928 2007-03-29  Bruno Haible  <bruno@clisp.org>
43929
43930         * modules/ldexpl-tests: New file.
43931         * tests/test-ldexpl.c: New file.
43932
43933 2007-03-29  Bruno Haible  <bruno@clisp.org>
43934
43935         * lib/ldexpl.c: Include fpucw.h.
43936         (ldexpl): Use BEGIN/END_LONG_DOUBLE_ROUNDING. Skip the last unneeded
43937         multiplication.
43938         * modules/ldexpl (Depends-on): Add fpucw.
43939
43940 2007-03-29  Bruno Haible  <bruno@clisp.org>
43941
43942         * modules/ldexpl: New file.
43943         * m4/ldexpl.m4: New file.
43944         * lib/math_.h (ldexpl): Define to a replacement if REPLACE_LDEXPL is
43945         set.
43946         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize also GNULIB_LDEXPL,
43947         REPLACE_LDEXPL.
43948         * modules/math (Makefile.am): Substitute also GNULIB_LDEXPL,
43949         REPLACE_LDEXPL.
43950         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
43951         gl_FUNC_LDEXPL_WORKS.
43952         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Remove test for ldexpl.
43953         * modules/mathl (Files): Remove lib/ldexpl.c.
43954         (Depends-on): Add ldexpl.
43955
43956 2007-03-29  Bruno Haible  <bruno@clisp.org>
43957
43958         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Declare frexpl.
43959
43960 2007-03-29  Bruno Haible  <bruno@clisp.org>
43961
43962         * tests/test-striconveh.c (main): Don't assume that a direct conversion
43963         between ISO-8859-1 and ISO-8859-2 is possible. Needed for OSF/1, IRIX
43964         and possibly also HP-UX.
43965         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
43966         work on AIX, IRIX, HP-UX, OSF/1.
43967         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
43968         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
43969         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
43970         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
43971         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
43972         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
43973
43974 2007-03-29  Bruno Haible  <bruno@clisp.org>
43975
43976         * tests/test-stat-time.c: Include <fcntl.h>, not <sys/fcntl.h>.
43977
43978 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
43979
43980         * lib/acl-internal.h (acl_get_fd, acl_set_fd): undef before defining,
43981         to work around a problem on OSF/1 5.1 reported by Bruno Haible.
43982
43983 2007-03-29  Eric Blake  <ebb9@byu.net>
43984
43985         * lib/acl-internal.h: Remove redundant include.
43986         (ACL_NOT_WELL_SUPPORTED): Also filter on EBUSY, returned by
43987         Cygwin when a file is locked.
43988
43989 2007-03-29  Bruno Haible  <bruno@clisp.org>
43990
43991         * lib/vasprintf.c [IN_LIBASPRINTF]: Include different specification
43992         file.
43993         * lib/asprintf.c [IN_LIBASPRINTF]: Likewise.
43994
43995 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
43996
43997         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Don't bother to
43998         try to remove a parent directory if the child couldn't be removed
43999         (except for the first rmdir, which could fail because the child
44000         doesn't exist).  Problem reported by Jeff Blaine in
44001         <http://lists.gnu.org/archive/html/bug-tar/2007-03/msg00014.html>.
44002
44003 2007-03-28  Bruno Haible  <bruno@clisp.org>
44004
44005         * lib/striconveh.c (utf8conv_carefully): New function.
44006         (mem_cd_iconveh_internal): Invoke it.
44007
44008 2007-03-28  Bruno Haible  <bruno@clisp.org>
44009
44010         * lib/striconveh.c (mem_cd_iconveh_internal): Use u8_mbtoucr instead
44011         of u8_mbtouc in order to distinguish invalid and incomplete UTF-8
44012         input.
44013         * modules/striconveh (Depends-on): Add unistr/u8-mbtoucr. Replace
44014         utf8-ucs4 with unistr/u8-mbtouc. Replace ucs4-utf8 with
44015         unistr/u8-uctomb.
44016
44017 2007-03-28  Bruno Haible  <bruno@clisp.org>
44018
44019         * modules/unistr/u8-mbtoucr: New file.
44020         * lib/unistr/u8-mbtoucr.c: New file.
44021         * modules/unistr/u16-mbtoucr: New file.
44022         * lib/unistr/u16-mbtoucr.c: New file.
44023         * modules/unistr/u16-mbtoucr: New file.
44024         * lib/unistr/u16-mbtoucr.c: New file.
44025         * lib/unistr.h (u8_mbtoucr, u16_mbtoucr, u32_mbtoucr): New declarations.
44026
44027 2007-03-27  Simon Josefsson  <simon@josefsson.org>
44028             Bruno Haible  <bruno@clisp.org>
44029
44030         * m4/vasprintf.m4: Convert AC_SUBST into shell variable for
44031         REPLACE_VASPRINTF.  Set HAVE_VASPRINTF.  Add
44032         AC_REQUIRE([gl_STDIO_H_DEFAULTS]).
44033
44034         * m4/stdio_h.m4: Add stubs for vasprintf too.
44035
44036         * modules/stdio: Support vasprintf in sed command.
44037
44038         * modules/vasprintf: Depend on stdio for prototypes.  Remove
44039         vasprintf.h.  Add stdio module indicator.
44040
44041         * lib/stdio_.h: Declare asprintf and vasprintf, based on
44042         vasprintf.h.
44043
44044         * lib/vasprintf.h: File removed.
44045
44046         * lib/asprintf.c: Use stdio.h instead of vasprintf.h.
44047         * lib/vasprintf.c: Ditto.
44048         * lib/xvasprintf.c: Ditto.
44049         * tests/test-vasprintf-posix.c: Ditto.
44050         * tests/test-vasprintf.c: Ditto.
44051
44052 2007-03-27  Bruno Haible  <bruno@clisp.org>
44053
44054         Make vasnprintf multithread-safe.
44055         * lib/vasnprintf.c (decimal_point_char): New function.
44056         (VASNPRINTF): Use it.
44057         Suggested by Simon Josefsson.
44058
44059 2007-03-27  Eric Blake  <ebb9@byu.net>
44060
44061         Support sub-second birthtime on cygwin.
44062         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Also check for st_birthtim.
44063         * lib/stat-time.h (STAT_TIMESPEC): Adjust comments.
44064         (get_stat_birthtime): Also work with st_birthtim.
44065
44066 2007-03-27  Paul Eggert  <eggert@cs.ucla.edu>
44067
44068         * lib/stat-time.h (USE_BIRTHTIME): Remove.
44069         (get_stat_atime_ns, get_stat_ctime_ns, get_stat_mtime_ns):
44070         (get_stat_birthtime_ns): Do not try to use "spare" fields.
44071         (get_stat_birthtime_ns): Simplify compile-time tests.
44072         (get_stat_birthtime): Change the API to look like
44073         get_stat_mtime etc., except return a negative tv_nsec on error.
44074         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
44075         Don't check for "spare" fields.
44076         (gl_STAT_BIRTHTIME): Don't check for struct stat.st_birthtimespec.tv_sec
44077         or for struct stat.st_birthtime, as these tests aren't used.
44078         * tests/test-stat-time.c (test_birthtime): Adjust to new API.
44079
44080 2007-03-27  Bruno Haible  <bruno@clisp.org>
44081
44082         * lib/stat-time.h: Include <sys/stat.h>.
44083
44084 2007-03-27  James Youngman  <jay@gnu.org>
44085
44086         * lib/stat-time.h (get_stat_birthtime): New function for
44087           retrieving st_birthtime as provided by UFS2 (hence *BSD).
44088         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Probe for st_birthtime
44089           and its variants.
44090         * modules/stat-time (configure.ac): call gl_STAT_BIRTHTIME.
44091         * modules/stat-time-test: New file.
44092         * tests/test-stat-time.c: New test, devised by Bruno Haible.
44093
44094 2007-03-26  Bruno Haible  <bruno@clisp.org>
44095
44096         Better support of signalling NaNs.
44097         * lib/atanl.c: Include isnanl.h.
44098         (atanl): Perform test for NaN at the beginning of the function and
44099         through a call to isnanl.
44100         * lib/cosl.c: Include isnanl.h.
44101         (cosl): Perform test for NaN at the beginning of the function and
44102         through a call to isnanl.
44103         * lib/ldexpl.c: Include isnanl.h.
44104         (ldexpl): Perform test for NaN through a call to isnanl.
44105         * lib/logl.c: Include isnanl.h.
44106         (logl): Perform test for NaN at the beginning of the function and
44107         through a call to isnanl.
44108         * lib/sinl.c: Include isnanl.h.
44109         (sinl): Perform test for NaN at the beginning of the function and
44110         through a call to isnanl.
44111         * lib/sqrtl.c: Include isnanl.h.
44112         (sqrtl): Perform test for NaN at the beginning of the function and
44113         through a call to isnanl.
44114         * lib/tanl.c: Include isnanl.h.
44115         (tanl): Perform test for NaN at the beginning of the function and
44116         through a call to isnanl.
44117         * lib/trigl.c (ieee754_rem_pio2l): Remove test for NaN.
44118         * modules/mathl (Depends-on): Add isnanl.
44119
44120 2007-03-26  Eric Blake  <ebb9@byu.net>
44121
44122         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Fix
44123         regression in logic sense of previous patch.
44124
44125 2007-03-26  Bruno Haible  <bruno@clisp.org>
44126
44127         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Don't use
44128         unportable shell command "if ! ...".
44129         Reported by Ralf Wildenhues.
44130
44131 2007-03-25  Bruno Haible  <bruno@clisp.org>
44132
44133         * lib/sysexit_,h: If HAVE_SYSEXITS_H is defined, include the original
44134         <sysexits.h> file, and only add EX_CONFIG.
44135         * m4/sysexits.m4 (gl_SYSEXITS): If <sysexits.h> exists, check its
44136         absolute file name and whether it is sufficient. Substitute also
44137         HAVE_SYSEXITS_H and ABSOLUTE_SYSEXITS_H.
44138         * modules/sysexits (Makefile.am): Substitute HAVE_SYSEXITS_H and
44139         ABSOLUTE_SYSEXITS_H into sysexits.h.
44140
44141 2007-03-25  Bruno Haible  <bruno@clisp.org>
44142
44143         * lib/getaddrinfo.c (getaddrinfo): Don't access hints->ai_flags when
44144         hints is NULL.
44145
44146 2007-03-25  Bruno Haible  <bruno@clisp.org>
44147
44148         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Add a cast.
44149         * lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise.
44150
44151 2007-03-25  Bruno Haible  <bruno@clisp.org>
44152
44153         * lib/vasnprintf.c: Include langinfo.h.
44154         (VASNPRINTF): Prefer nl_langinfo over localeconv, since it's more
44155         multithread-safe.
44156         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): New macro.
44157         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke it.
44158         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
44159         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
44160         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
44161         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
44162         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
44163         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX: Likewise.
44164         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
44165         Reported by Simon Josefsson.
44166
44167 2007-03-25  Bruno Haible  <bruno@clisp.org>
44168
44169         * lib/printf-parse.c [!IN_LIBINTL]: Include <stdint.h>, for intmax_t.
44170         (PRINTF_PARSE): Make the support for size specifier 'j' unconditional.
44171         * modules/vasnprintf (Depends-on): Add stdint.
44172
44173 2007-03-25  Bruno Haible  <bruno@clisp.org>
44174
44175         * modules/fpieee: New file.
44176         * m4/fpieee.m4: New file.
44177         * modules/isnan-nolibm (Depends-on): Add fpieee.
44178         * modules/isnanl-nolibm (Depends-on): Add fpieee.
44179         * modules/isnanl (Depends-on): Add fpieee.
44180
44181 2007-03-25  Bruno Haible  <bruno@clisp.org>
44182
44183         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Test also finite numbers.
44184
44185 2007-03-25  Bruno Haible  <bruno@clisp.org>
44186
44187         Avoid test failures on IRIX 6.5.
44188         * tests/test-frexpl.c (MIN_NORMAL_EXP): New macro.
44189         (main): Use it.
44190         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP): New
44191         macros.
44192         (main): Use them.
44193
44194 2007-03-25  Bruno Haible  <bruno@clisp.org>
44195
44196         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): New macro.
44197         (gl_FUNC_FREXPL): Invoke it. Set REPLACE_FREXPL to 1 if it frexpl
44198         exists but doesn't work.
44199         * lib/math_.h (frexpl): Define as a replacement macro if REPLACE_FREXPL
44200         is set. Don't provide a prototype if REPLACE_FREXPL is not set.
44201         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPL.
44202         * modules/math (Makefile.am) Substibute also REPLACE_FREXPL into math.h.
44203
44204 2007-03-25  Bruno Haible  <bruno@clisp.org>
44205
44206         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Add check whether frexp(inf)
44207         returns inf. Needed on IRIX 6.5.
44208
44209 2007-03-25  Bruno Haible  <bruno@clisp.org>
44210
44211         * tests/test-frexpl.c: Include isnanl-nolibm.h.
44212         (main): Use isnanl instead of x != x idiom.
44213         * modules/frexpl-tests (Depends-on): Add isnanl-nolibm.
44214
44215         * tests/test-frexp.c: Include isnan.h.
44216         (main): Use isnan instead of x != x idiom.
44217         * modules/frexp-tests (Depends-on): Add isnan-nolibm.
44218
44219 2007-03-25  Bruno Haible  <bruno@clisp.org>
44220
44221         * tests/test-frexp.c (NaN): New function/macro.
44222         (main): Use it instead of 0.0 / 0.0.
44223         * tests/test-isnan.c (NaN): New function/macro.
44224         (main): Use it instead of 0.0 / 0.0.
44225         * tests/test-vasnprintf-posix.c (NaN): New function/macro.
44226         (test_function): Use it instead of 0.0 / 0.0.
44227         * tests/test-vasprintf-posix.c (NaN): New function/macro.
44228         (test_function): Use it instead of 0.0 / 0.0.
44229         * tests/test-snprintf-posix.h (NaN): New function/macro.
44230         (test_function): Use it instead of 0.0 / 0.0.
44231         * tests/test-sprintf-posix.h (NaN): New function/macro.
44232         (test_function): Use it instead of 0.0 / 0.0.
44233         * tests/test-fprintf-posix.h (NaN): New function/macro.
44234         (test_function): Use it instead of 0.0 / 0.0.
44235         * tests/test-printf-posix.h (NaN): New function/macro.
44236         (test_function): Use it instead of 0.0 / 0.0.
44237
44238         * lib/isnan.c (FUNC): Work around a DEC C compiler bug.
44239
44240 2007-03-25  Bruno Haible  <bruno@clisp.org>
44241
44242         * lib/glob_.h: Include <sys/stat.h>. Avoids warnings on AIX 5.1.
44243
44244 2007-03-25  Bruno Haible  <bruno@clisp.org>
44245
44246         * lib/regexec.c (merge_state_with_log): Make static.
44247
44248 2007-03-25  Bruno Haible  <bruno@clisp.org>
44249
44250         * lib/trigl.c (kernel_rem_pio2): Make static.
44251
44252 2007-03-25  Bruno Haible  <bruno@clisp.org>
44253
44254         * lib/sincosl.c (sincosl_table): Make static.
44255
44256 2007-03-25  Bruno Haible  <bruno@clisp.org>
44257
44258         * lib/argp.h (__restrict): Define to empty, rather than to 'restrict',
44259         if the compiler does not support C99.
44260
44261 2007-03-25  Bruno Haible  <bruno@clisp.org>
44262
44263         * modules/time (Makefile.am): Ensure all rule action lines start with a
44264         tab.
44265
44266 2007-03-24  Bruno Haible  <bruno@clisp.org>
44267
44268         * modules/tsearch-tests: New file.
44269         * tests/test-tsearch.sh: New file.
44270         * tests/test-tsearch.c: New file, mostly copied from glibc.
44271
44272         * modules/search-tests: New file.
44273         * tests/test-search.c: New file.
44274
44275         * modules/search: New file.
44276         * lib/search_.h: New file, incorporating lib/tsearch.h.
44277         * m4/search_h.m4: New file.
44278         * lib/tsearch.h: Remove file.
44279         * lib/tsearch.c: Include search.h instead of tsearch.h.
44280         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Require gl_SEARCH_H_DEFAULTS. Set
44281         HAVE_TSEARCH.
44282         * modules/tsearch (Files): Remove lib/tsearch.h.
44283         (Depends-on): Add search.
44284         (configure.ac): Invoke gl_SEARCH_MODULE_INDICATOR.
44285         (Include): Change tsearch.h into search.h.
44286
44287 2007-03-24  Bruno Haible  <bruno@clisp.org>
44288
44289         * modules/fpucw: New file.
44290         * lib/fpucw.h: New file.
44291         * lib/frexp.c: Include fpucw.h.
44292         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
44293         (FUNC): Use them.
44294         * lib/printf-frexp.c: Include fpucw.h.
44295         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
44296         (FUNC): Use them.
44297         * lib/vasnprintf.c: Include fpucw.h.
44298         (VASNPRINTF): Invoke BEGIN/END_LONG_DOUBLE_ROUNDING around the
44299         'long double' calculations.
44300         * tests/test-frexpl.c: Include fpucw.h.
44301         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
44302         * tests/test-printf-frexpl.c: Include fpucw.h.
44303         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
44304         * modules/frexpl (Depends-on): Add fpucw.
44305         * modules/printf-frexpl (Depends-on): Likewise.
44306         * modules/fprintf-posix (Depends-on): Likewise.
44307         * modules/snprintf-posix (Depends-on): Likewise.
44308         * modules/sprintf-posix (Depends-on): Likewise.
44309         * modules/vasnprintf-posix (Depends-on): Likewise.
44310         * modules/vasprintf-posix (Depends-on): Likewise.
44311         * modules/vfprintf-posix (Depends-on): Likewise.
44312         * modules/vsnprintf-posix (Depends-on): Likewise.
44313         * modules/vsprintf-posix (Depends-on): Likewise.
44314         * modules/frexpl-tests (Depends-on): Likewise.
44315         * modules/printf-frexpl-tests (Depends-on): Likewise.
44316
44317 2007-03-24  Bruno Haible  <bruno@clisp.org>
44318
44319         * lib/float+.h: New file.
44320         * lib/isnan.c: Include float+.h.
44321         (SIZE): New macro.
44322         (FUNC): Compare only SIZE bytes of the value.
44323         * lib/vasnprintf.c: Include float+.h.
44324         (VASNPRINTF): When comparing agains +0.0L or +0.0, compare only
44325         SIZEOF_LDBL or SIZEOF_DBL bytes.
44326         * modules/isnan-nolibm (Files): Add lib/float+.h.
44327         * modules/isnanl-nolibm (Files): Add lib/float+.h.
44328         * modules/isnanl (Files): Add lib/float+.h.
44329         * modules/vasnprintf (Files): Add lib/float+.h.
44330
44331 2007-03-24  Bruno Haible  <bruno@clisp.org>
44332
44333         * lib/vasnprintf.c [!HAVE_LONG_DOUBLE]: Include printf-frexp.h. Don't
44334         include isnanl-nolibm.h.
44335
44336 2007-03-24  Bruno Haible  <bruno@clisp.org>
44337
44338         * tests/test-read-file.c (main): Don't produce spurious output for
44339         expected situations. Make the test fail if it encountered unexpected
44340         results.
44341
44342 2007-03-24  Bruno Haible  <bruno@clisp.org>
44343
44344         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove the special-casing of NetBSD,
44345         since its fr_FR.ISO8859-1 locale wouldn't pass the tests.
44346
44347 2007-03-24  Bruno Haible  <bruno@clisp.org>
44348
44349         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Fix last change.
44350
44351 2007-03-24  Bruno Haible  <bruno@clisp.org>
44352
44353         * modules/unistr/base (Depends-on): Remove utf8-ucs4-unsafe,
44354         utf16-ucs4-unsafe, utf8-ucs4, utf16-ucs4, ucs4-utf8, ucs4-utf16.
44355
44356         * modules/unistr/u8-mbtouc: Add source files from module utf8-ucs4.
44357         * modules/utf8-ucs4: Turn into a symbolic link to module
44358         unistr/u8-mbtouc.
44359
44360         * modules/unistr/u8-mbtouc-unsafe: Add source files from module
44361         utf8-ucs4-unsafe.
44362         * modules/utf8-ucs4-unsafe: Turn into a symbolic link to module
44363         unistr/u8-mbtouc-unsafe.
44364
44365         * modules/unistr/u16-mbtouc: Add source files from module utf16-ucs4.
44366         * modules/utf16-ucs4: Turn into a symbolic link to module
44367         unistr/u16-mbtouc.
44368
44369         * modules/unistr/u16-mbtouc-unsafe: Add source files from module
44370         utf16-ucs4-unsafe.
44371         * modules/utf16-ucs4-unsafe: Turn into a symbolic link to module
44372         unistr/u16-mbtouc-unsafe.
44373
44374         * modules/unistr/u8-uctomb: Add source files from module utf4-utf8.
44375         * modules/ucs4-utf8: Turn into a symbolic link to module
44376         unistr/u8-ubtomb.
44377
44378         * modules/unistr/u16-uctomb: Add source files from module utf4-utf16.
44379         * modules/ucs4-utf16: Turn into a symbolic link to module
44380         unistr/u16-ubtomb.
44381
44382 2007-03-24  Bruno Haible  <bruno@clisp.org>
44383
44384         * lib/unistr/u8-mbtouc-aux.c: Renamed from lib/unistr/utf8-ucs4.c.
44385         Enable the function only if HAVE_INLINE.
44386         * lib/unistr/u8-mbtouc-unsafe-aux.c: Renamed from
44387         lib/unistr/utf8-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
44388         * lib/unistr/u16-mbtouc-aux.c: Renamed from lib/unistr/utf16-ucs4.c.
44389         Enable the function only if HAVE_INLINE.
44390         * lib/unistr/u16-mbtouc-unsafe-aux.c: Renamed from
44391         lib/unistr/utf16-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
44392         * lib/unistr/u8-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf8.c.
44393         Enable the function only if HAVE_INLINE.
44394         * lib/unistr/u16-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf16.c.
44395         Enable the function only if HAVE_INLINE.
44396         * modules/utf8-ucs4: Update.
44397         * modules/utf8-ucs4-unsafe: Update.
44398         * modules/utf16-ucs4: Update.
44399         * modules/utf16-ucs4-unsafe: Update.
44400         * modules/ucs4-utf8: Update.
44401         * modules/ucs4-utf16: Update.
44402
44403 2007-03-24  Bruno Haible  <bruno@clisp.org>
44404
44405         * lib/utf8-ucs4.h: Remove file.
44406         * lib/utf8-ucs4-unsafe.h: Remove file.
44407         * lib/utf16-ucs4.h: Remove file.
44408         * lib/utf16-ucs4-unsafe.h: Remove file.
44409         * lib/ucs4-utf8.h: Remove file.
44410         * lib/ucs4-utf16.h: Remove file.
44411         * lib/unistr.h: Include their previous contents.
44412         * m4/utf-ucs4.m4: Remove file.
44413         * m4/ucs4-utf.m4: Remove file.
44414         * modules/utf8-ucs4 (Files): Remove lib/utf8-ucs4.h.
44415         (Depends-on): Add unistr/base.
44416         (configure.ac): Remove gl_UTF_UCS4.
44417         (Makefile.am): Update.
44418         (Include): Change to unistr.h.
44419         * modules/utf8-ucs4-unsafe (Files): Remove lib/utf8-ucs4-unsafe.h.
44420         (Depends-on): Add unistr/base.
44421         (configure.ac): Remove gl_UTF_UCS4.
44422         (Makefile.am): Update.
44423         (Include): Change to unistr.h.
44424         * modules/utf16-ucs4 (Files): Remove lib/utf16-ucs4.h.
44425         (Depends-on): Add unistr/base.
44426         (configure.ac): Remove gl_UTF_UCS4.
44427         (Makefile.am): Update.
44428         (Include): Change to unistr.h.
44429         * modules/utf16-ucs4-unsafe (Files): Remove lib/utf16-ucs4-unsafe.h.
44430         (Depends-on): Add unistr/base.
44431         (configure.ac): Remove gl_UTF_UCS4.
44432         (Makefile.am): Update.
44433         (Include): Change to unistr.h.
44434         * modules/ucs4-utf8 (Files): Remove lib/ucs4-utf8.h.
44435         (Depends-on): Add unistr/base.
44436         (configure.ac): Remove gl_UCS4_UTF.
44437         (Makefile.am): Update.
44438         (Include): Change to unistr.h.
44439         * modules/ucs4-utf16 (Files): Remove lib/ucs4-utf16.h.
44440         (Depends-on): Add unistr/base.
44441         (configure.ac): Remove gl_UCS4_UTF.
44442         (Makefile.am): Update.
44443         (Include): Change to unistr.h.
44444         * lib/unistr/utf8-ucs4.c: Include unistr.h instead of utf8-ucs4.h.
44445         * lib/unistr/utf8-ucs4-unsafe.c: Include unistr.h instead of
44446         utf8-ucs4-unsafe.h.
44447         * lib/unistr/utf16-ucs4.c: Include unistr.h instead of utf16-ucs4.h.
44448         * lib/unistr/utf16-ucs4-unsafe.c: Include unistr.h instead of
44449         utf16-ucs4-unsafe.h.
44450         * lib/unistr/ucs4-utf8.c: Include unistr.h instead of ucs4-utf8.h.
44451         * lib/unistr/ucs4-utf16.c: Include unistr.h instead of ucs4-utf16.h.
44452         * lib/unistr/u8-chr.c: Don't include ucs4-utf8.h.
44453         * lib/unistr/u8-strchr.c: Likewise.
44454         * lib/unistr/u8-strrchr.c: Likewise.
44455         * lib/unistr/u16-chr.c: Don't include ucs4-utf16.h.
44456         * lib/unistr/u16-strchr.c: Likewise.
44457         * lib/unistr/u16-strrchr.c: Likewise.
44458         * lib/striconveh.c: Update.
44459         * lib/linebreak.c: Update.
44460
44461 2007-03-24  Bruno Haible  <bruno@clisp.org>
44462
44463         * lib/argp-help.c (fill_in_uparams, canon_doc_option): Cast the
44464         arguments of isspace, isalpha, isalnum, isdigit to 'unsigned char'.
44465
44466 2007-03-22  Bruno Haible  <bruno@clisp.org>
44467
44468         * lib/strptime.c (__strptime_internal): Use ANSI C syntax.
44469
44470 2007-03-23  Paul Eggert  <eggert@cs.ucla.edu>
44471
44472         * MODULES.html.sh (File system functions): New module write-any-file.
44473         * modules/write-any-file, lib/write-any-file.c, lib/write-any-file.h:
44474         * m4/write-any-file.m4: New files.
44475
44476 2007-03-23  Eric Blake  <ebb9@byu.net>
44477
44478         * gnulib-tool: Rearrange space-tab sequences, since some editors
44479         like to eat them.
44480
44481 2007-03-23  Eric Blake  <ebb9@byu.net>
44482
44483         * lib/version-etc.c (version_etc_va): Update license wording to
44484         be more concise.  Recommended by Richard Stallman.
44485
44486 2007-03-22  Bruno Haible  <bruno@clisp.org>
44487
44488         * lib/poll.c (MSG_PEEK): New fallback definition.
44489
44490 2007-03-22  Bruno Haible  <bruno@clisp.org>
44491
44492         * modules/sys_socket-tests (configure.ac): Check for shutdown function.
44493         * tests/test-sys_socket.c (a): Test only if shutdown() exists.
44494         (main): Update.
44495         Fixes a compilation error on BeOS.
44496
44497 2007-03-22  Bruno Haible  <bruno@clisp.org>
44498
44499         * modules/frexpl-tests: New file.
44500         * tests/test-frexpl.c: New file.
44501
44502         * modules/frexpl: New file.
44503         * m4/frexpl.m4: New file.
44504         * modules/math (Makefile.am): Also substitute GNULIB_FREXPL into math.h.
44505         * lib/math_.h (frexpl): Test GNULIB_FREXPL instead of GNULIB_MATHL.
44506         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPL.
44507         * modules/mathl (Files): Remove lib/frexpl.c, lib/frexp.c.
44508         (Depends-on): Add frexpl. Remove isnanl-nolibm.
44509         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Don't test for frexpl.
44510
44511 2007-03-22  Bruno Haible  <bruno@clisp.org>
44512
44513         * lib/frexpl.c: Share code with lib/frexp.c.
44514         * modules/mathl (Files): Add lib/frexp.c.
44515         (Depends-on): Add isnanl-nolibm.
44516
44517 2007-03-22  Bruno Haible  <bruno@clisp.org>
44518
44519         * modules/printf-frexp (Files): Add m4/frexp.m4.
44520         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Define HAVE_FREXP_IN_LIBC
44521         only if the found frexp function actually works.
44522
44523 2007-03-22  Bruno Haible  <bruno@clisp.org>
44524
44525         * lib/frexp.c: Remove older implementation that uses divisions.
44526
44527 2007-03-21  Bruno Haible  <bruno@clisp.org>
44528
44529         * modules/frexp-tests: New file.
44530         * tests/test-frexp.c: New file.
44531
44532         * modules/frexp: New file.
44533         * lib/frexp.c: New file.
44534         * m4/frexp.m4: New file.
44535         * lib/math_.h (frexp): New declaration.
44536         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Also initialize GNULIB_FREXP and
44537         REPLACE_FREXP.
44538         * modules/math (math.h): Also substitute GNULIB_FREXP, REPLACE_FREXP.
44539
44540 2007-03-21  Bruno Haible  <bruno@clisp.org>
44541
44542         * modules/isnanl-tests: New file.
44543         * tests/test-isnanl.c: New file.
44544
44545         * modules/isnanl: New file.
44546         * lib/isnanl.h: New file.
44547         * m4/isnanl.m4 (gl_FUNC_ISNANL): New macro.
44548         (gl_FUNC_ISNANL_NO_LIBM): Invoke gl_HAVE_ISNANL_NO_LIBM,
44549         gl_FUNC_ISNANL_WORKS.
44550         (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM, gl_FUNC_ISNANL_WORKS):
44551         New macros.
44552
44553 2007-03-21  Bruno Haible  <bruno@clisp.org>
44554
44555         * modules/isnanl-nolibm (Files): Add lib/isnanl-nolibm.h, remove
44556         lib/isnanl.h.
44557         (Include): Update.
44558         * lib/isnanl-nolibm.h: Renamed from lib/isnanl.h.
44559         * lib/vasnprintf.c: Update.
44560         * modules/isnanl-nolibm-tests (Files): Add tests/test-isnanl-nolibm.c,
44561         tests/test-isnanl.h, remove tests/test-isnanl.c.
44562         (Makefile.am): Update.
44563         * tests/test-isnanl-nolibm.c: New file.
44564         * tests/test-isnanl.h: New file.
44565         * tests/test-isnanl.c: Remove file.
44566
44567 2007-03-21  Jim Meyering  <jim@meyering.net>
44568
44569         When trying to open ".", treat ESTALE like EACCES.
44570         * lib/savewd.c (savewd_save): Resort to forking not just upon
44571         failure with EACCES, but also when errno is ESTALE.
44572
44573 2007-03-20  Bruno Haible  <bruno@clisp.org>
44574
44575         * lib/string_.h (strndup): Enable declaration also if HAVE_STRNDUP.
44576         Needed on AIX 5.1. Reported by Matthew Woehlke.
44577
44578 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
44579
44580         Suggestions by Bruno Haible:
44581         * lib/acl-internal.h: Include "gettext.h" rather than rolling
44582         our own.
44583         (ACL_NOT_WELL_SUPPORTED): Parenthesize arg when used.
44584         * modules/acl (Depends-on): Add gettext.
44585
44586 2007-03-19  Bruno Haible  <bruno@clisp.org>
44587
44588         * modules/iconvme: Remove file.
44589         * lib/iconvme.h: Remove file.
44590         * lib/iconvme.c: Remove file.
44591         * m4/iconvme.m4: Remove file.
44592
44593 2007-03-19  Bruno Haible  <bruno@clisp.org>
44594
44595         * doc/relocatable-maint.texi: Break long shell script line.
44596         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
44597
44598 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
44599
44600         Add limited support for Solaris 10 ZFS-style ACLs: just enough to
44601         handle file_has_acl.
44602         * lib/acl-internal.h, lib/acl_entries.c, lib/file-has-acl.c: New files.
44603         * lib/acl.c: Move header inclusions and related macro defns into
44604         lib/acl-internal.h.
44605         (S_ISLNK): Remove defn, since that's now done for us.
44606         (file_has_acl): Move to lib/file-has-acl.c.
44607         Call acl_trivial if available.  This is the crucial part of the fix.
44608         (acl_entries): Move to lib/acl_entries.c.  Now extern, since it's
44609         shared within the library.  Rewrite a bit, partly to make it compatible
44610         with the GNU coding style.
44611         * m4/acl.m4 (AC_FUNC_ACL): Add AC_LIBOBJ([file-has-acl]).
44612         Remove unnecessary double-quotes.
44613         Don't test for acl_to_text; the build will catch that.
44614         Replace acl_entries if it doesn't exist and it is needed.
44615         Check for -lsec and acl_trivial (as used on Solaris 10).
44616         * modules/acl (Files): Add lib/acl-internal.h, lib/acl_entries.c,
44617         lib/file-has-acl.c.
44618         (Depends-on): Add sys_stat, for S_ISLNK.
44619
44620 2007-03-19  Ben Pfaff  <blp@gnu.org>
44621
44622         * doc/gnulib.texi: Fix typos.
44623         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
44624
44625 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
44626
44627         * lib/getcwd.c (__getcwd): Remove redundant comparison of buf to NULL.
44628         If size is zero here, buf must be zero.
44629
44630 2007-03-19  Simon Josefsson  <simon@josefsson.org>
44631
44632         * des.c: Remove weak_keys_chksum.  Reported by Bruno Haible
44633         <bruno@clisp.org>.
44634
44635 2007-03-18  Bruno Haible  <bruno@clisp.org>
44636
44637         * lib/vasnprintf.c (VASNPRINTF): Undo first part of last patch.
44638         Suggested by Eric Blake.
44639
44640 2007-03-18  Ben Pfaff  <blp@gnu.org>
44641
44642         * doc/relocatable.texi: Recommend using as prefix a directory
44643         that does not exist and will never be created.  Based on
44644         discussion with Bruno Haible, Ralf Wildenhues, Matthew Woehlke,
44645         and others.
44646
44647 2007-03-17  Bruno Haible  <bruno@clisp.org>
44648
44649         * lib/fchownat.c: Include lchown.h.
44650
44651 2007-03-17  Bruno Haible  <bruno@clisp.org>
44652
44653         Fix endless loop when the given allocated size was > INT_MAX.
44654         * lib/vasnprintf.c (EOVERFLOW): New fallback definition.
44655         (VASNPRINTF): Fail with EOVERFLOW when the given allocated size is
44656         larger than INT_MAX, or when it grow to a value larger than INT_MAX.
44657         * lib/vsprintf.c (vsprintf): Don't pass a size > INT_MAX to vasnprintf.
44658         * lib/sprintf.c (sprintf): Likewise.
44659
44660 2007-03-17  Bruno Haible  <bruno@clisp.org>
44661
44662         * tests/test-argp-2.sh (func_compare): Output a context diff.
44663
44664 2007-03-17  Bruno Haible  <bruno@clisp.org>
44665
44666         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check also the
44667         locale's decimal-point character.
44668
44669 2007-03-17  Bruno Haible  <bruno@clisp.org>
44670
44671         * lib/vasnprintf.c (VASNPRINTF): Clear out the memory used for arg_mem
44672         before comparing it. Needed because on some platforms (e.g. x86) a
44673         'long double' occupies less bytes than sizeof (long double).
44674
44675 2007-03-17  Bruno Haible  <bruno@clisp.org>
44676
44677         * tests/test-crc.c (main): Make printf statements 64-bit clean.
44678         * tests/test-gc-pbkdf2-sha1.c (main): Likewise.
44679         * tests/test-getaddrinfo.c (simple): Likewise.
44680         * tests/test-read-file.c (main): Likewise.
44681
44682 2007-03-17  Bruno Haible  <bruno@clisp.org>
44683
44684         * tests/test-dirname.c (main): Make printf statements 64-bit clean.
44685
44686 2007-03-17  Bruno Haible  <bruno@clisp.org>
44687
44688         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Remove
44689         unused variable.
44690
44691 2007-03-17  Bruno Haible  <bruno@clisp.org>
44692
44693         * tests/test-c-strcasecmp.c: Include c-strcase.h.
44694         * tests/test-c-strncasecmp.c: Likewise.
44695
44696 2007-03-17  Bruno Haible  <bruno@clisp.org>
44697
44698         * modules/stdlib (Depends-on): Add unistd.
44699         * lib/stdlib_.h: Include <unistd.h> if mkstemp is desired.
44700         Needed for MacOS X 10.3.
44701
44702 2007-03-17  Bruno Haible  <bruno@clisp.org>
44703
44704         * lib/unistr/u-strdup.h: Include <stdlib.h>.
44705
44706 2007-03-17  Bruno Haible  <bruno@clisp.org>
44707
44708         * lib/unistr/u-cpy-alloc.h: Include <stdlib.h>.
44709
44710 2007-03-17  Bruno Haible  <bruno@clisp.org>
44711
44712         * gnulib-tool (func_import): Update .cvsignore and .gitignore files
44713         to reflect files copied from gnulib (with or without modifications).
44714         Suggested by Jim Meyering.
44715
44716 2007-03-17  Eric Blake  <ebb9@byu.net>
44717
44718         * NEWS: Document stdlib change from 2007-02-18.
44719
44720 2007-03-17  Jim Meyering  <jim@meyering.net>
44721
44722         Detect use of AC_CONFIG_AUX_DIR also when its argument is quoted.
44723         * build-aux/bootstrap: Put ""s around use of $build_aux, in case
44724         someone uses a name containing shell meta-characters.
44725         Reported by Alfred M. Szmidt.
44726
44727         * build-aux/bootstrap: Don't use \> in grep regexp.  For HP-UX.
44728
44729 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
44730
44731         * build-aux/bootstrap (with_gettext): New variable.  Run autopoint
44732         and copy gettext configuration files only if configure.ac contains
44733         a use of AM_GNU_GETTEXT_VERSION.
44734
44735 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
44736
44737         * build-aux/bootstrap (gnulib_name): New variable.
44738         (gnulib_tool_options): Use it.
44739
44740 2007-03-13  Simon Josefsson  <simon@josefsson.org>
44741
44742         * tests/test-des.c: Use new namespace.
44743
44744 2007-03-15  Bruno Haible  <bruno@clisp.org>
44745
44746         * lib/dummy.c (gl_dummy_symbol): Renamed from 'dummy'.
44747         Reported by James Youngman <jay@gnu.org>.
44748
44749 2007-03-15  Bruno Haible  <bruno@clisp.org>
44750
44751         * lib/glob.c (glob): Add 'restrict' so that prototype matches the
44752         declared prototype. Needed with cc on OSF/1 5.1.
44753
44754 2007-03-15  Bruno Haible  <bruno@clisp.org>
44755
44756         * lib/gl_list.h (gl_listelement_dispose_fn): New type.
44757         (gl_list_create_empty, gl_list_create): Add dispose_fn argument.
44758         (struct gl_list_implementation): Add dispose_fn argument to the
44759         'create_empty', 'create' methods.
44760         (struct gl_list_impl_base): Add field 'dispose_fn'.
44761         * lib/gl_list.c (gl_list_create_empty, gl_list_create): Add dispose_fn
44762         argument.
44763         * lib/gl_array_list.c (gl_array_create_empty, gl_array_create): Add
44764         dispose_fn argument.
44765         (gl_array_remove_node, gl_array_remove_at, gl_array_list_free): Call
44766         dispose_fn on the dropped values.
44767         * lib/gl_carray_list.c (gl_carray_create_empty, gl_carray_create): Add
44768         dispose_fn argument.
44769         (gl_carray_remove_at, gl_carray_list_free): Call dispose_fn on the
44770         dropped values.
44771         * lib/gl_anyavltree_list2.h (gl_tree_create): Add dispose_fn argument.
44772         (gl_tree_remove_node): Call dispose_fn on the dropped value.
44773         * lib/gl_anyrbtree_list2.h (gl_tree_create): Add dispose_fn argument.
44774         (gl_tree_remove_node): Call dispose_fn on the dropped value.
44775         * lib/gl_anytree_list2.h (gl_tree_create_empty): Add dispose_fn
44776         argument.
44777         (gl_tree_list_free): Call dispose_fn on the dropped values.
44778         * lib/gl_anytreehash_list2.h (gl_tree_list_free): Call dispose_fn on
44779         the dropped values.
44780         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
44781         Add dispose_fn argument.
44782         (gl_linked_remove_node, gl_linked_remove_at, gl_linked_list_free):
44783         Call dispose_fn on the dropped values.
44784         * lib/gl_sublist.c (gl_sublist_create_empty, gl_sublist_create_fill):
44785         Add dispose_fn argument.
44786         (gl_sublist_create): Initialize the 'dispose_fn' field.
44787         * lib/clean-temp.c (create_temp_dir, register_fd): Update.
44788         * tests/test-array_list.c (main): Update.
44789         * tests/test-carray_list.c (main): Update.
44790         * tests/test-avltree_list.c (main): Update.
44791         * tests/test-rbtree_list.c (main): Update.
44792         * tests/test-avltreehash_list.c (main): Update.
44793         * tests/test-rbtreehash_list.c (main): Update.
44794         * tests/test-linked_list.c (main): Update.
44795         * tests/test-linkedhash_list.c (main): Update.
44796         * tests/test-array_oset.c (main): Update.
44797
44798 2007-03-15  Bruno Haible  <bruno@clisp.org>
44799
44800         * lib/gl_oset.h (gl_setelement_dispose_fn): New type.
44801         (gl_oset_create_empty): Add dispose_fn argument.
44802         (struct gl_oset_implementation): Add dispose_fn argument to
44803         'create_empty' method.
44804         (struct gl_oset_impl_base): Add dispose_fn field.
44805         * lib/gl_oset.c (gl_oset_create_empty): Add dispose_fn argument.
44806         * lib/gl_array_oset.c (gl_array_create_empty): Add dispose_fn argument.
44807         (gl_array_remove_at, gl_array_free): Call dispose_fn on the dropped
44808         values.
44809         * lib/gl_anytree_oset.h (gl_tree_create_empty): Add dispose_fn argument.
44810         (gl_tree_oset_free): Call dispose_fn on the dropped values.
44811         * lib/gl_avltree_oset.c (gl_tree_remove_node): Call dispose_fn on the
44812         dropped value.
44813         * lib/gl_rbtree_oset.c (gl_tree_remove_node): Call dispose_fn on the
44814         dropped value.
44815         * tests/test-array_oset.c (main): Update.
44816         * tests/test-avltree_oset.c (main): Update.
44817         * tests/test-rbtree_oset.c (main): Update.
44818         * lib/gl_anytreehash_list1.h (add_to_bucket): Update.
44819
44820 2007-03-13  Bruno Haible  <bruno@clisp.org>
44821
44822         * tests/test-stdbool.c (i): Update after last patch.
44823
44824 2007-03-12  Bruno Haible  <bruno@clisp.org>
44825
44826         * lib/quotearg.c: Include <wctype.h> early, before the definition of
44827         the iswprint macro. Needed on Solaris 2.5.1.
44828
44829 2007-03-12  Bruno Haible  <bruno@clisp.org>
44830
44831         * tests/test-printf-frexp.c (main): Declare x as volatile.
44832
44833 2007-03-12  Simon Josefsson  <simon@josefsson.org>
44834
44835         * doc/gnulib.texi (Build robot for gnulib): New section.
44836
44837 2007-03-12  Jim Meyering  <jim@meyering.net>
44838
44839         * build-aux/bootstrap: New file.
44840         * build-aux/bootstrap.conf: New file, from coreutils.
44841
44842 2007-03-11  Bruno Haible  <bruno@clisp.org>
44843
44844         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Require AC_C_INLINE.
44845
44846 2007-03-12  Simon Josefsson  <simon@josefsson.org>
44847
44848         * lib/des.h, lib/des.c, lib/gc-gnulib.c: Use gl_ namespace, to
44849         avoid collisions with 'des_setkey'.  Reported by Bruno Haible
44850         <bruno@clisp.org>.  Also change 'tripledes_' to '3des_'.
44851
44852 2007-03-11  Bruno Haible  <bruno@clisp.org>
44853
44854         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): If the test program fails to
44855         compile, set LOCALE_TR_UTF8 to 'none' instead of empty.
44856
44857 2007-03-11  Bruno Haible  <bruno@clisp.org>
44858
44859         * lib/stdint_.h (INT64_MIN, INTMAX_MIN): Avoid using the ~INT..._MAX
44860         formula. Needed for SunPRO C 5.0.
44861
44862 2007-03-11  Bruno Haible  <bruno@clisp.org>
44863
44864         * modules/long-options (Depends-on): Add getopt.
44865
44866 2007-03-11  Bruno Haible  <bruno@clisp.org>
44867
44868         * modules/modechange (Depends-on): Add stdbool.
44869
44870 2007-03-11  Bruno Haible  <bruno@clisp.org>
44871
44872         * modules/i-ring (Depends-on): Add stdbool.
44873
44874 2007-03-11  Bruno Haible  <bruno@clisp.org>
44875
44876         * modules/gc-des (Depends-on): Add stdbool.
44877
44878 2007-03-11  Bruno Haible  <bruno@clisp.org>
44879
44880         * m4/mktime.m4 (gl_PREREQ_MKTIME): Require AC_C_INLINE.
44881
44882 2007-03-11  Bruno Haible  <bruno@clisp.org>
44883
44884         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Require AC_C_RESTRICT.
44885
44886 2007-03-11  Bruno Haible  <bruno@clisp.org>
44887
44888         * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Fix syntax error.
44889
44890 2007-03-11  Bruno Haible  <bruno@clisp.org>
44891
44892         * lib/vasnprintf.c (sprintf): Undefine.
44893
44894 2007-03-11  Bruno Haible  <bruno@clisp.org>
44895
44896         * lib/isnan.c (rpl_isnan, rpl_isnanl): Work around bug regarding
44897         initializers in SunPRO C and Compaq C compilers.
44898
44899 2007-03-11  Bruno Haible  <bruno@clisp.org>
44900
44901         * lib/gl_array_oset.c (gl_array_iterator_next): Make pointer
44902         decrementing code ANSI C compliant.
44903
44904 2007-03-11  Bruno Haible  <bruno@clisp.org>
44905
44906         * lib/dummy.c [__sun]: Define a dummy variable, not just a typedef.
44907         Needed for Solaris 2.5.1 ranlib and SunPRO C 5.0.
44908
44909 2007-03-11  Bruno Haible  <bruno@clisp.org>
44910
44911         * tests/test-stdbool.c (s, d, e, xlcbug): Disable checks that gnulib's
44912         <stdbool.h> substitute doesn't pass.
44913
44914 2007-03-11  Bruno Haible  <bruno@clisp.org>
44915
44916         * lib/vasnprintf.c (snprintf): Undefine. Avoids an endless recursion.
44917
44918 2007-03-11  Bruno Haible  <bruno@clisp.org>
44919
44920         * gnulib-tool (func_create_megatestdir): Create also an autobuild
44921         script, for submission to autobuild.josefsson.org.
44922
44923 2007-03-10  Bruno Haible  <bruno@clisp.org>
44924
44925         * modules/canonicalize-lgpl-tests: New file.
44926         * tests/test-canonicalize-lgpl.sh: New file.
44927         * tests/test-canonicalize-lgpl.c: New file.
44928
44929         * modules/c-strcase-tests: New file.
44930         * tests/test-c-strcase.sh: New file.
44931         * tests/test-c-strcasecmp.c: New file.
44932         * tests/test-c-strncasecmp.c: New file.
44933
44934         * modules/atexit-tests: New file.
44935         * tests/test-atexit.sh: New file.
44936         * tests/test-atexit.c: New file.
44937
44938 2007-03-10  Bruno Haible  <bruno@clisp.org>
44939
44940         * tests/test-binary-io.sh: Use temporary filenames that are not so
44941         likely to clash with those of other tests (in a parallel make).
44942         * tests/test-binary-io.c: Likewise.
44943
44944 2007-03-10  Bruno Haible  <bruno@clisp.org>
44945
44946         * lib/fseterr.c (fseterr): Port to Solaris/SPARC64. Deactivate the
44947         fallback; use #error instead.
44948         Suggested by Simon Josefsson.
44949
44950 2007-03-10  Bruno Haible  <bruno@clisp.org>
44951
44952         * gnulib-tool (func_create_testdir): Treat MOSTLYCLEANFILES like
44953         CLEANFILES. Put spaces in each line of $cleaned_files, not only the
44954         first and the last.
44955
44956 2007-03-10  Bruno Haible  <bruno@clisp.org>
44957
44958         * lib/stdint_.h (uint_least64_t): Fix typo in last patch.
44959
44960 2007-03-10  Bruno Haible  <bruno@clisp.org>
44961
44962         * modules/snprintf-posix-tests (EXTRA_DIST): New variable. Needed for
44963         "make distcheck".
44964         * modules/sprintf-posix-tests (EXTRA_DIST): Likewise.
44965         * modules/vsnprintf-posix-tests (EXTRA_DIST): Likewise.
44966         * modules/vsprintf-posix-tests (EXTRA_DIST): Likewise.
44967
44968 2007-03-10  Bruno Haible  <bruno@clisp.org>
44969
44970         * modules/allocsa-tests (test_allocsa_SOURCES): Remove redundant
44971         variable.
44972         * modules/dirname-tests (test_dirname_SOURCES): Remove redundant
44973         variable.
44974
44975 2007-03-09  Eric Blake  <ebb9@byu.net>
44976         and Matthew Woehlke  <mw_triad@users.sourceforge.net>  (tiny change)
44977
44978         * lib/stdint_.h (int64_t, uint64_t): Don't undefine if 64-bit
44979         types are not being provided by gnulib.
44980         (GL_INT64_T, GL_UINT64_T): New witnesses of whether gnulib 64-bit
44981         types are supported.
44982
44983 2007-03-10  Bruno Haible  <bruno@clisp.org>
44984
44985         * lib/stdio_.h (__attribute__): New macro.
44986         (fprintf, vfprintf, printf, vprintf, snprintf, vsnprintf, sprintf,
44987         vsprintf): Specify __attribute__ __format__ for GCC.
44988         Suggested by Eric Blake.
44989
44990 2007-03-09  Bruno Haible  <bruno@clisp.org>
44991
44992         * modules/printf-posix-tests: New file.
44993         * tests/test-printf-posix.sh: New file.
44994         * tests/test-printf-posix.c: New file.
44995
44996         * modules/printf-posix: New file.
44997         * lib/printf.c: New file.
44998         * m4/printf-posix-rpl.m4: New file.
44999         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_PRINTF_POSIX,
45000         REPLACE_PRINTF.
45001         * lib/stdio_.h (printf): New declaration.
45002         (format, __format__, ____printf____, ____scanf____, ____strftime____,
45003         ____strfmon____): New macros.
45004         * modules/stdio (Makefile.am): Substitute also GNULIB_PRINTF_POSIX,
45005         REPLACE_PRINTF.
45006
45007 2007-03-09  Bruno Haible  <bruno@clisp.org>
45008
45009         * tests/test-vasnprintf-posix2.sh: New file.
45010         * tests/test-vasnprintf-posix2.c: New file.
45011         * modules/vasnprintf-posix-tests (Files): Add them and m4/locale-fr.m4.
45012         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
45013         (Makefile.am): Activate test-vasnprintf-posix2.sh.
45014
45015         * lib/vasnprintf.c (VASNPRINTF): For the 'a' and 'A' directives, use
45016         a locale dependent decimal point, rather than always '.'.
45017
45018 2007-03-09  Eric Blake  <ebb9@byu.net>
45019
45020         * lib/stdlib_.h (EXIT_FAILURE): GNU code expects this to be 1, in
45021         spite of platforms like Tandem/NSK that define it to -1.
45022
45023 2007-03-08  Bruno Haible  <bruno@clisp.org>
45024
45025         * modules/vprintf-posix-tests: New file.
45026         * tests/test-vprintf-posix.sh: New file.
45027         * tests/test-vprintf-posix.c: New file.
45028         * tests/test-printf-posix.h: New file.
45029
45030         * modules/vprintf-posix: New file.
45031         * lib/vprintf.c: New file.
45032         * m4/vprintf-posix.m4: New file.
45033         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VPRINTF_POSIX,
45034         REPLACE_VPRINTF.
45035         * lib/stdio_.h (vprintf): New declaration.
45036         * modules/stdio (Makefile.am): Substitute also GNULIB_VPRINTF_POSIX,
45037         REPLACE_VPRINTF.
45038
45039 2007-03-08  Bruno Haible  <bruno@clisp.org>
45040
45041         * modules/fprintf-posix-tests: New file.
45042         * tests/test-fprintf-posix.sh: New file.
45043         * tests/test-fprintf-posix.c: New file.
45044
45045         * modules/fprintf-posix: New file.
45046         * lib/fprintf.c: New file.
45047         * m4/fprintf-posix.m4: New file.
45048         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FPRINTF_POSIX,
45049         REPLACE_FPRINTF.
45050         * lib/stdio_.h (fprintf): New declaration.
45051         * modules/stdio (Makefile.am): Substitute also GNULIB_FPRINTF_POSIX,
45052         REPLACE_FPRINTF.
45053
45054 2007-03-08  Bruno Haible  <bruno@clisp.org>
45055
45056         * modules/vfprintf-posix-tests: New file.
45057         * tests/test-vfprintf-posix.sh: New file.
45058         * tests/test-vfprintf-posix.c: New file.
45059         * tests/test-fprintf-posix.h: New file.
45060         * tests/test-fprintf-posix.out: New file.
45061
45062         * modules/vfprintf-posix: New file.
45063         * lib/vfprintf.c: New file.
45064         * m4/vfprintf-posix.m4: New file.
45065         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VFPRINTF_POSIX,
45066         REPLACE_VFPRINTF.
45067         * lib/stdio_.h (vfprintf): New declaration.
45068         * modules/stdio (Makefile.am): Substitute also GNULIB_VFPRINTF_POSIX,
45069         REPLACE_VFPRINTF.
45070
45071 2007-03-08  Bruno Haible  <bruno@clisp.org>
45072
45073         * lib/stdio_.h: Treat __need___FILE like __need_FILE.
45074
45075 2007-03-08  Bruno Haible  <bruno@clisp.org>
45076
45077         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Use 'case' statements
45078         instead of 'expr' invocations.
45079         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
45080         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
45081         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
45082         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
45083         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
45084         Suggested by Paul Eggert.
45085
45086 2007-03-08  Bruno Haible  <bruno@clisp.org>
45087
45088         * modules/fseterr-tests: New file.
45089         * tests/test-fseterr.c: New file.
45090
45091         * modules/fseterr: New file.
45092         * lib/fseterr.h: New file.
45093         * lib/fseterr.c: New file.
45094
45095 2007-03-08  Bruno Haible  <bruno@clisp.org>
45096
45097         * lib/fnmatch_.h: Convert tabs in the middle of lines to spaces.
45098         * lib/getopt_.h: Likewise.
45099         * lib/mbswidth.h: Likewise.
45100         * lib/setenv.h: Likewise.
45101         * lib/vasnprintf.h: Likewise.
45102         * lib/vasprintf.h: Likewise.
45103         * lib/verror.h: Likewise.
45104         * lib/xsetenv.h: Likewise.
45105         * lib/xvasprintf.h: Likewise.
45106
45107 2007-03-08  Jim Meyering  <jim@meyering.net>
45108
45109         * users.txt: Add parted.
45110
45111         * ChangeLog: Restore 1500 lines mistakenly removed from the end.
45112
45113 2007-03-07  Bruno Haible  <bruno@clisp.org>
45114
45115         * m4/printf.m4: Make the shell script snippets copy&pastable.
45116
45117 2007-03-02  Bruno Haible  <bruno@clisp.org>
45118
45119         * lib/netinet_in_.h: New file.
45120         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Test whether netinet/in.h
45121         is self-contained. Set ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H.
45122         * modules/netinet_in (Files): Add lib/netinet_in_.h.
45123         (Depends-on): Add absolute-header.
45124         (Makefile.am): Substitute ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H
45125         into netinet/in.h.
45126
45127 2007-03-03  Bruno Haible  <bruno@clisp.org>
45128
45129         * lib/sys_select_.h: New file.
45130         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SELECT): Test whether sys/select.h
45131         is self-contained. Set ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H.
45132         * modules/sys_select (Files): Add lib/sys_select_.h.
45133         (Depends-on): Add absolute-header.
45134         (Makefile.am): Substitute ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H
45135         into sys/select.h.
45136
45137 2007-03-02  Bruno Haible  <bruno@clisp.org>
45138
45139         * lib/socket_.h: If sys/socket.h exists, include that and <sys/types.h>
45140         before it. Turn HAVE_WINSOCK2_H and HAVE_WS2TCPIP_H into configute-time
45141         values.
45142         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Test also whether
45143         <sys/socket.h> is self-contained. Set ABSOLUTE_SYS_SOCKET_H,
45144         HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H.
45145         * modules/sys_socket (Depends-on): Add absolute-header.
45146         (Makefile.am): Substitute ABSOLUTE_SYS_SOCKET_H, HAVE_SYS_SOCKET_H,
45147         HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H into sys/socket.h.
45148         (Include): Remove requirement of inclusion of <sys/types.h>.
45149
45150 2007-03-02  Bruno Haible  <bruno@clisp.org>
45151
45152         * lib/byteswap_.h (bswap_32): Fix formula.
45153
45154 2007-03-06  Bruno Haible  <bruno@clisp.org>
45155
45156         * modules/sprintf-posix-tests: New file.
45157         * tests/test-sprintf-posix.c: New file.
45158
45159         * modules/sprintf-posix: New file.
45160         * lib/sprintf.c: New file.
45161         * m4/sprintf-posix.m4: New file.
45162         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_SPRINTF_POSIX,
45163         REPLACE_SPRINTF.
45164         * lib/stdio_.h (sprintf): New declaration.
45165         * modules/stdio (Makefile.am): Substitute also GNULIB_SPRINTF_POSIX,
45166         REPLACE_SPRINTF.
45167
45168 2007-03-06  Bruno Haible  <bruno@clisp.org>
45169
45170         * modules/vsprintf-posix-tests: New file.
45171         * tests/test-vsprintf-posix.c: New file.
45172         * tests/test-sprintf-posix.h: New file.
45173
45174         * modules/vsprintf-posix: New file.
45175         * lib/vsprintf.c: New file.
45176         * m4/vsprintf-posix.m4: New file.
45177         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VSPRINTF_POSIX,
45178         REPLACE_VSPRINTF.
45179         * lib/stdio_.h (vsprintf): New declaration.
45180         * modules/stdio (Makefile.am): Substitute also GNULIB_VSPRINTF_POSIX,
45181         REPLACE_VSPRINTF.
45182
45183 2007-03-06  Bruno Haible  <bruno@clisp.org>
45184
45185         * modules/vsnprintf (Depend-on): Remove minmax.
45186
45187 2007-03-06  Bruno Haible  <bruno@clisp.org>
45188
45189         * modules/snprintf-posix-tests: New file.
45190         * tests/test-snprintf-posix.c: New file.
45191
45192         * modules/snprintf-posix: New file.
45193         * m4/snprintf-posix.m4: New file.
45194         * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): New macro, extracted from
45195         gl_FUNC_SNPRINTF.
45196         (gl_FUNC_SNPRINTF): Invoke it.
45197         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_SNPRINTF.
45198         * lib/stdio_.h (snprintf): Define as a replacement if REPLACE_SNPRINTF
45199         is set.
45200         * modules/stdio (Makefile.am): Substitute also REPLACE_SNPRINTF.
45201
45202 2007-03-06  Bruno Haible  <bruno@clisp.org>
45203
45204         * modules/vsnprintf-posix-tests: New file.
45205         * tests/test-vsnprintf-posix.c: New file.
45206         * tests/test-snprintf-posix.h: New file.
45207
45208         * modules/vsnprintf-posix: New file.
45209         * m4/vsnprintf-posix.m4: New file.
45210         * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): New macro, extracted from
45211         gl_FUNC_VSNPRINTF.
45212         (gl_FUNC_VSNPRINTF): Invoke it.
45213         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_VSNPRINTF.
45214         * lib/stdio_.h (vsnprintf): Define as a replacement if
45215         REPLACE_VSNPRINTF is set.
45216         * modules/stdio (Makefile.am): Substitute also REPLACE_VSNPRINTF.
45217
45218 2007-03-06  Bruno Haible  <bruno@clisp.org>
45219
45220         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Test for vasnprintf here.
45221         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): ... not here.
45222
45223 2007-03-06  Bruno Haible  <bruno@clisp.org>
45224
45225         * lib/math_.h (acosl): Declare also if HAVE_DECL_ACOSL is set.
45226         (asinl): Declare also if HAVE_DECL_ASINL is set.
45227         (atanl): Declare also if HAVE_DECL_ATANL is set.
45228         (ceill): Declare also if HAVE_DECL_CEILL is set.
45229         (cosl): Declare also if HAVE_DECL_COSL is set.
45230         (expl): Declare also if HAVE_DECL_EXPL is set.
45231         (floorl): Declare also if HAVE_DECL_FLOORL is set.
45232         (frexpl): Declare also if HAVE_DECL_FREXPL is set.
45233         (ldexpl): Declare also if HAVE_DECL_LDEXPL is set.
45234         (logl): Declare also if HAVE_DECL_LOGL is set.
45235         (sinl): Declare also if HAVE_DECL_SINL is set.
45236         (sqrtl): Declare also if HAVE_DECL_SQRTL is set.
45237         (tanl): Declare also if HAVE_DECL_TANL is set.
45238         * modules/math (Makefile.am): Substitute the values of HAVE_DECL_*.
45239         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Set HAVE_DECL_* to 1.
45240         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Fix tests for the
45241         declaration of frexpl, ldexpl.
45242         * modules/printf-frexpl (Depends-on): Add math.
45243         * lib/printf-frexp.c (frexpl, ldexpl): Undo last change.
45244
45245 2007-03-05  Bruno Haible  <bruno@clisp.org>
45246
45247         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Also test whether
45248         frexpl and ldexpl are declared.
45249         * lib/printf-frexp.c (frexpl, ldexpl): Provide fallback declarations.
45250
45251 2007-03-05  Bruno Haible  <bruno@clisp.org>
45252
45253         * gnulib-tool (func_get_automake_snippet): Don't synthesize an
45254         EXTRA_lib_SOURCES augmentation for the relocatable-prog-wrapper module.
45255
45256 2007-03-05  Bruno Haible  <bruno@clisp.org>
45257
45258         * lib/stdio_.h: Include <stddef.h>.
45259
45260 2007-03-05  Bruno Haible  <bruno@clisp.org>
45261
45262         * m4/printf.m4 (gl_SNPRINTF_DIRECTIVE_N): New macro.
45263
45264 2007-03-05  Bruno Haible  <bruno@clisp.org>
45265
45266         * m4/printf.m4: Update with info about OpenBSD 3.9, HP-UX 10.20,
45267         NetBSD 4, from Ralf Wildenhues.
45268
45269 2007-03-04  Bruno Haible  <bruno@clisp.org>
45270
45271         * lib/vasprintf.h: Update #if logic for the case when the functions
45272         exist but are overridden.
45273
45274 2007-03-04  Bruno Haible  <bruno@clisp.org>
45275
45276         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Exclude two buggy
45277         implementations: glibc-2.4 and MacOS X 10.3.
45278         * tests/test-vasnprintf-posix.c (test_function): Test also the case
45279         that exhibits the bugs in glibc-2.4 and MacOS X 10.3.
45280         * tests/test-vasprintf-posix.c (test_function): Likewise.
45281
45282 2007-03-04  Bruno Haible  <bruno@clisp.org>
45283
45284         * modules/vasprintf-posix-tests: New file.
45285         * tests/test-vasprintf-posix.c: New file.
45286
45287         * modules/vasprintf-posix: New file.
45288         * lib/vasprintf.h (asprintf, vasprintf): Rename if REPLACE_VASPRINTF is
45289         defined.
45290         * m4/vasprintf-posix.m4: New file.
45291         * m4/vasprintf.m4 (gl_REPLACE_VASPRINTF): New macro, extracted from
45292         gl_FUNC_VASPRINTF.
45293         (gl_FUNC_VASPRINTF): Invoke it.
45294         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Define REPLACE_VASNPRINTF
45295         here.
45296         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Not here.
45297
45298 2007-03-04  Bruno Haible  <bruno@clisp.org>
45299
45300         * lib/sys_time_.h: Rename GETTIMEOFDAY_REPLACEMENT to
45301         REPLACE_GETTIMEOFDAY.
45302         * modules/sys_time (Makefile.am): Likewise.
45303         * m4/sys_time_h.m4: Likewise.
45304         * m4/gettimeofday.m4: Likewise.
45305
45306 2007-03-04  Bruno Haible  <bruno@clisp.org>
45307
45308         * modules/vasnprintf-posix-tests: New file.
45309         * tests/test-vasnprintf-posix.c: New file.
45310
45311         * modules/vasnprintf-posix: New file.
45312         * lib/vasnprintf.c: Include isnan.h, isnanl.h, printf-frexp.h,
45313         printf-frexpl.h.
45314         (VASNPRINTF): Handle the 'a' and 'A' directives here, if needed.
45315         * lib/vasnprintf.h (asnprintf, vasnprintf): Rename if
45316         REPLACE_VASNPRINTF is defined.
45317         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): New macro, extracted from
45318         gl_FUNC_VASNPRINTF.
45319         (gl_FUNC_VASNPRINTF): Invoke it.
45320         * m4/vasnprintf-posix.m4: New file.
45321         * m4/printf.m4: New file.
45322
45323 2007-03-04  Bruno Haible  <bruno@clisp.org>
45324
45325         Compile progreloc.c only if --enable-relocatable is specified.
45326         * m4/relocatable.m4 (gl_RELOCATABLE): Arrange to compile progreloc.c
45327         if --enable-relocatable was specified.
45328         * modules/relocatable-prog (Makefile.am): Remove progreloc.c from
45329         lib_SOURCES.
45330
45331 2007-03-04  Jim Meyering  <jim@meyering.net>
45332
45333         * lib/acl.c (ACL_NOT_WELL_SUPPORTED): New macro.
45334         Use it consistently, rather than enumerating errno constants.
45335
45336 2007-03-04  Bruno Haible  <bruno@clisp.org>
45337
45338         * modules/xvasprintf-tests: New file.
45339         * tests/test-xvasprintf.c: New file.
45340
45341         * modules/vasprintf-tests: New file.
45342         * tests/test-vasprintf.c: New file.
45343
45344         * modules/vasnprintf-tests: New file.
45345         * tests/test-vasnprintf.c: New file.
45346
45347         * modules/vsnprintf-tests: New file.
45348         * tests/test-vsnprintf.c: New file.
45349
45350         * modules/snprintf-tests: New file.
45351         * tests/test-snprintf.c: New file.
45352
45353 2007-03-04  Bruno Haible  <bruno@clisp.org>
45354
45355         Compile relocatable.c only if --enable-relocatable is specified.
45356         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_BODY): Renamed from
45357         gl_RELOCATABLE_LIBRARY.
45358         (gl_RELOCATABLE_LIBRARY, gl_RELOCATABLE_LIBRARY_SEPARATE): New macros.
45359         * m4/relocatable.m4 (gl_RELOCATABLE): Invoke gl_RELOCATABLE_LIBRARY.
45360         (gl_RELOCATABLE_BODY): Require gl_RELOCATABLE_LIBRARY_BODY instead of
45361         gl_RELOCATABLE_LIBRARY.
45362         * modules/relocatable-lib (configure.ac): Invoke gl_RELOCATABLE_LIBRARY.
45363         (Makefile.am): Remove lib_SOURCES.
45364         * modules/relocatable-lib-lgpl (configure.ac): Invoke
45365         gl_RELOCATABLE_LIBRARY.
45366         (Makefile.am): Remove lib_SOURCES.
45367         * modules/relocatable-prog (Makefile.am): Don't compile relocatable.c
45368         always.
45369         * modules/relocatable-prog-wrapper (configure.ac): Invoke
45370         gl_RELOCATABLE_LIBRARY_SEPARATE instead of gl_RELOCATABLE_LIBRARY.
45371
45372 2007-03-04  Bruno Haible  <bruno@clisp.org>
45373
45374         * modules/argmatch-tests: New file.
45375         * tests/test-argmatch.c: New file.
45376
45377         * tests/test-allocsa.c (main): Halve the number of loop runs.
45378
45379         * modules/alloca-opt-tests: New file.
45380         * tests/test-alloca-opt.c: New file.
45381
45382 2007-03-04  Jim Meyering  <jim@meyering.net>
45383
45384         Work around difference between Linux ACLs and Solaris 10 ZFS.
45385         * lib/acl.c (set_acl): Revert to using chmod_or_fchmod also
45386         for EINVAL.
45387
45388 2007-03-03  Bruno Haible  <bruno@clisp.org>
45389
45390         * modules/relocatable-prog (Depends-on): Add back progreloc's
45391         dependencies: canonicalize-lgpl, xalloc, xreadlink, stdbool, unistd.
45392
45393 2007-03-03  Bruno Haible  <bruno@clisp.org>
45394
45395         * modules/relocatable-lib-lgpl: Renamed from modules/relocatable-lib.
45396         * modules/relocatable-lib: New file.
45397
45398 2007-03-03  Bruno Haible  <bruno@clisp.org>
45399
45400         * modules/relocatable-prog: Renamed from modules/relocatable.
45401         * doc/relocatable-maint.texi: Talk about module 'relocatable-prog'.
45402
45403 2007-03-03  Bruno Haible  <bruno@clisp.org>
45404
45405         * modules/relocatable-script (Files): Add doc/relocatable.texi,
45406         m4/relocatable-lib.m4.
45407         (Depends-on): Remove 'relocatable'.
45408         (configure.ac): Add gl_RELOCATABLE_NOP.
45409
45410 2007-03-03  Bruno Haible  <bruno@clisp.org>
45411
45412         * modules/relocatable-prog-wrapper: New file.
45413         * modules/relocatable (Depends-on): Add it. Remove all other
45414         dependencies except progname.
45415         (Files): Remove build-aux/install-reloc, lib/relocwrapper.c.
45416
45417         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): New macro.
45418         (gl_FUNC_STRERROR): Nop.
45419         * lib/strerror.c: Compile the file only if !HAVE_STRERROR.
45420
45421         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): New macro.
45422         * lib/setenv.c: Compile the file only if _LIBC || !HAVE_SETENV.
45423
45424         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): New macro.
45425         (gl_FUNC_READLINK): Update.
45426
45427         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL_SEPARATE): New macro.
45428
45429 2007-03-03  Bruno Haible  <bruno@clisp.org>
45430
45431         * lib/xreadlink.c: Include <unistd.h> unconditionally.
45432         * modules/xreadlink (Depends-on): Add unistd.
45433         * modules/xreadlink-with-size (Depends-on): Likewise.
45434
45435 2007-03-03  Bruno Haible  <bruno@clisp.org>
45436
45437         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_UNSETENV): New macros,
45438         extracted from gt_FUNC_SETENV.
45439         (gt_FUNC_SETENV): Remove macro.
45440         * modules/setenv (configure.ac): Add gl_FUNC_SETENV, gl_FUNC_UNSETENV,
45441         remove gt_FUNC_SETENV.
45442
45443 2007-03-03  Bruno Haible  <bruno@clisp.org>
45444
45445         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY): Define
45446         ENABLE_RELOCATABLE here.
45447         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Don't define it here.
45448
45449 2007-03-03  Bruno Haible  <bruno@clisp.org>
45450
45451         * modules/rbtreehash-list-tests (Depends-on): Add progname.
45452         * tests/test-rbtreehash_list.c: Include progname.h.
45453         (main): Call set_program_name.
45454
45455         * modules/rbtree-oset-tests (Depends-on): Add progname.
45456         * tests/test-rbtree_oset.c: Include progname.h.
45457         (main): Call set_program_name.
45458
45459         * modules/rbtree-list-tests (Depends-on): Add progname.
45460         * tests/test-rbtree_list.c: Include progname.h.
45461         (main): Call set_program_name.
45462
45463         * modules/linked-list-tests (Depends-on): Add progname.
45464         * tests/test-linked_list.c: Include progname.h.
45465         (main): Call set_program_name.
45466
45467 2007-03-03  Bruno Haible  <bruno@clisp.org>
45468
45469         * lib/glob-libc.h (_Restrict_): New macro, copied from lib/regex.h.
45470         All uses of __restrict changed to _Restrict_.
45471         * lib/glob_.h (__restrict): Remove macro.
45472
45473 2007-03-02  Bruno Haible  <bruno@clisp.org>
45474
45475         * modules/gettext (configure.ac): Require gettext infrastructure
45476         from version 0.16.1.
45477
45478 2007-03-02  Bruno Haible  <bruno@clisp.org>
45479
45480         * modules/linkedhash-list-tests (Depends-on): Add progname.
45481         * tests/test-linkedhash_list.c: Include progname.h.
45482         (main): Call set_program_name.
45483
45484         * modules/carray-list-tests (Depends-on): Add progname.
45485         * tests/test-carray_list.c: Include progname.h.
45486         (main): Call set_program_name.
45487
45488         * modules/avltreehash-list-tests (Depends-on): Add progname.
45489         * tests/test-avltreehash_list.c: Include progname.h.
45490         (main): Call set_program_name.
45491
45492         * modules/avltree-oset-tests (Depends-on): Add progname.
45493         * tests/test-avltree_oset.c: Include progname.h.
45494         (main): Call set_program_name.
45495
45496         * modules/avltree-list-tests (Depends-on): Add progname.
45497         * tests/test-avltree_list.c: Include progname.h.
45498         (main): Call set_program_name.
45499
45500         * modules/array-oset-tests (Depends-on): Add progname.
45501         * tests/test-array_oset.c: Include progname.h.
45502         (main): Call set_program_name.
45503
45504         * modules/array-list-tests (Depends-on): Add progname.
45505         * tests/test-array_list.c: Include progname.h.
45506         (main): Call set_program_name.
45507
45508         * modules/argp-tests (Depends-on): Add progname.
45509         * tests/test-argp.c: Include argp.h first. Include progname.h.
45510         (main): Call set_program_name.
45511
45512 2007-03-02  Paul Eggert  <eggert@cs.ucla.edu>
45513
45514         * doc/gnulib-tool.texi (Initial import): Reword description of
45515         _FILE_OFFSET_BITS and _GNU_SOURCE, since they sometimes have a
45516         limited effect even if defined after the first system include.
45517
45518 2007-03-01  Bruno Haible  <bruno@clisp.org>
45519
45520         * build-aux/config.libpath: Update to libtool-1.5.22.
45521         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
45522
45523 2007-03-01  Bruno Haible  <bruno@clisp.org>
45524
45525         * doc/relocatable-maint.texi: Recommend to set foo_CPPFLAGS, not
45526         foo_CFLAGS.
45527         Reported by Ralf Wildenhues.
45528
45529 2007-03-01  Bruno Haible  <bruno@clisp.org>
45530
45531         * build-aux/install-reloc: Remove object files left over by some
45532         compilers.
45533         Reported by Ralf Wildenhues.
45534
45535 2007-03-01  Bruno Haible  <bruno@clisp.org>
45536
45537         * build-aux/install-reloc: Break long lines.
45538
45539 2007-03-01  Bruno Haible  <bruno@clisp.org>
45540
45541         * doc/relocatable.texi: Document that it may not work on OpenBSD.
45542         Reported by Ralf Wildenhues.
45543
45544 2007-03-01  Bruno Haible  <bruno@clisp.org>
45545
45546         * doc/gnulib-tool.texi (Initial import): Remove paragraph about
45547         include ordering constraints.
45548
45549 2007-03-01  Paul Eggert  <eggert@cs.ucla.edu>
45550
45551         Followup to the 2007-02-12 patch, using suggestions from Bruno Haible in
45552         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00136.html>.
45553         * doc/gnulib-tool.texi (Initial import): Mention _FILE_OFFSET_BITS
45554         as another example.
45555         * lib/time_.h: Fix misspelling.
45556         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
45557         Require gl_HEADER_TIME_H_DEFAULTS.
45558         * m4/strptime.m4 (gl_FUNC_STRPTIME): Likewise.
45559         * m4/time_r.m4 (gl_TIME_R): Likewise.
45560         * m4/timegm.m4 (gl_FUNC_TIMEGM): Likewise.
45561
45562 2007-03-01  Bruno Haible  <bruno@clisp.org>
45563
45564         * m4/utimecmp.m4 (gl_UTIMECMP): Don't require gl_TIMESPEC.
45565         * m4/utimens.m4 (gl_UTIMENS): Likewise.
45566
45567 2007-03-01  Jim Meyering  <jim@meyering.net>
45568
45569         * modules/xreadlink (Maintainer): Add my name.
45570         * modules/xreadlink-with-size (Depends-on): Alphabetize.
45571
45572 2007-02-26  Ben Pfaff  <blp@cs.stanford.edu>
45573             Bruno Haible  <bruno@clisp.org>
45574
45575         * build-aux/install-reloc: Compile also c-ctype.c.
45576         * build-aux/relocatable.sh.in: New file.
45577         * doc/relocatable.texi: New file.
45578         * doc/relocatable-maint.texi: New file.
45579         * doc/gnulib.texi: Include relocatable-maint.texi.
45580         * lib/progreloc.c: Include unistd.h unconditionally.
45581         * lib/relocwrapper.c: Include unistd.h unconditionally.
45582         Include c-ctype.h.
45583         (add_dotbin): Use c_tolower.
45584         * m4/relocatable-lib.m4: New file, extracted from m4/relocatable.m4.
45585         (gl_RELOCATABLE_LIBRARY): Renamed from AC_RELOCATABLE_LIBRARY.
45586         (gl_RELOCATABLE_NOP): Renamed from AC_RELOCATABLE_NOP.
45587         * m4/relocatable.m4 (AC_RELOCATABLE_LIBRARY, AC_RELOCATABLE_NOP): Move
45588         to m4/relocatable-lib.m4.
45589         (gl_RELOCATABLE): Renamed from AC_RELOCATABLE. Set also
45590         RELOCATABLE_CONFIG_H_DIR, RELOCATABLE_SRC_DIR, RELOCATABLE_BUILD_DIR.
45591         (gl_RELOCATABLE_BODY): Renamed from AC_RELOCATABLE_BODY. Don't
45592         require obsolete macro AC_EXEEXT. Don't check for unistd.h. Don't set
45593         SET_RELOCATABLE. Instead set RELOCATABLE_LDFLAGS, INSTALL_PROGRAM_ENV.
45594         * modules/relocatable: New file.
45595         * modules/relocatable-lib: New file.
45596         * modules/relocatable-script: New file.
45597
45598 2007-02-28  Bruno Haible  <bruno@clisp.org>
45599
45600         Import --enable-relocatable infrastructure.
45601         * build-aux/config.libpath: New file, from GNU gettext.
45602         * build-aux/install-reloc: New file, from GNU gettext.
45603         * build-aux/reloc-ldflags: New file, from GNU gettext.
45604         * lib/relocatable.h: New file, from GNU gettext.
45605         * lib/relocatable.c: New file, from GNU gettext.
45606         * lib/relocwrapper.c: New file, from GNU gettext.
45607         * m4/relocatable.m4: New file, from GNU gettext.
45608
45609 2007-02-28  Bruno Haible  <bruno@clisp.org>
45610
45611         * MODULES.html.sh (File system functions): Add xreadlink-with-size.
45612
45613         * modules/xreadlink: New file, from GNU gettext with modifications.
45614         * lib/xreadlink.c: New file, from GNU gettext.
45615         * lib/xreadlink.h: Add comments.
45616         (xreadlink): New declaration.
45617
45618         * modules/xreadlink-with-size: Renamed from modules/xreadlink.
45619         (Files): Remove m4/xreadlink.m4. Replace lib/xreadlink.c with
45620         lib/xreadlink-with-size.c.
45621         (configure.ac): Remove gl_XREADLINK invocation.
45622         (Makefile.am): Augment lib_SOURCES.
45623         * m4/xreadlink.m4: Remove file.
45624         * lib/xreadlink-with-size.c: Renamed from lib/xreadlink.c.
45625         (xreadlink_with_size): Renamed from xreadink.
45626         * lib/xreadlink.h (xreadlink_with_size): Renamed from xreadink.
45627         * modules/canonicalize (Depends-on): Replace xreadlink with
45628         xreadlink-with-size.
45629         * lib/canonicalize.c (canonicalize_filename_mode): Update.
45630
45631 2007-02-25  Jim Meyering  <jim@meyering.net>
45632
45633         * build-aux/announce-gen: When complaining about excess arguments,
45634         list them.
45635
45636 2007-02-25  Paul Eggert  <eggert@cs.ucla.edu>
45637
45638         * README: Document signed integer overflow situation more
45639         accurately.
45640
45641 2007-02-25  Bruno Haible  <bruno@clisp.org>
45642
45643         * lib/vasnprintf.c (VASNPRINTF): Fix estimate of size needed for a
45644         'a' or 'A' conversion.
45645
45646 2007-02-25  Bruno Haible  <bruno@clisp.org>
45647
45648         * modules/filename: Renamed from modules/pathname.
45649         (Files): Replace lib/pathname.h with lib/filename.h. Replace
45650         lib/concatpath.c with lib/concat-filename.c.
45651         (Makefile.am): Update.
45652         (Include): Replace pathname.h with filename.h.
45653         * lib/filename.h: Renamed from lib/pathname.h.
45654         (concatenated_filename): Renamed from concatenated_pathname.
45655         * lib/concat-filename.c: Renamed from lib/concatpath.c.
45656         (concatenated_filename): Renamed from concatenated_pathname.
45657         * lib/findprog.c: Include filename.h instead of pathname.h.
45658         (find_in_path): Update.
45659         * lib/javacomp.c: Include filename.h instead of pathname.h.
45660         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
45661         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
45662         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
45663         is_oldgcj_14_13_usable, is_javac_usable): Update.
45664         * lib/javaexec.c: Include filename.h instead of pathname.h.
45665         (execute_java_class): Update.
45666         * modules/findprog: Update.
45667         * modules/javacomp: Update.
45668         * modules/javaexec: Update.
45669         * MODULES.html.sh (File system functions): Add 'filename', remove
45670         'pathname'.
45671
45672 2007-02-25  Bruno Haible  <bruno@clisp.org>
45673
45674         * modules/printf-frexpl-tests: New file.
45675         * tests/test-printf-frexpl.c: New file.
45676
45677         * modules/printf-frexpl: New file.
45678         * lib/printf-frexpl.h: New file.
45679         * lib/printf-frexpl.c: New file.
45680         * m4/printf-frexpl.m4: New file.
45681
45682 2007-02-25  Bruno Haible  <bruno@clisp.org>
45683
45684         * modules/printf-frexp-tests: New file.
45685         * tests/test-printf-frexp.c: New file.
45686
45687         * modules/printf-frexp: New file.
45688         * lib/printf-frexp.h: New file.
45689         * lib/printf-frexp.c: New file.
45690         * m4/printf-frexp.m4: New file.
45691
45692 2007-02-25  Bruno Haible  <bruno@clisp.org>
45693
45694         Assume automake >= 1.10 for the tests.
45695         * modules/arcfour-tests (TESTS): Remove $(EXEEXT) suffix.
45696         * modules/arctwo-tests: Likewise.
45697         * modules/argp-tests: Likewise.
45698         * modules/avltree-list-tests: Likewise.
45699         * modules/avltree-oset-tests: Likewise.
45700         * modules/avltreehash-list-tests: Likewise.
45701         * modules/carray-list-tests: Likewise.
45702         * modules/crc-tests: Likewise.
45703         * modules/des-tests: Likewise.
45704         * modules/gc-arcfour-tests: Likewise.
45705         * modules/gc-arctwo-tests: Likewise.
45706         * modules/gc-des-tests: Likewise.
45707         * modules/gc-hmac-md5-tests: Likewise.
45708         * modules/gc-hmac-sha1-tests: Likewise.
45709         * modules/gc-md2-tests: Likewise.
45710         * modules/gc-md4-tests: Likewise.
45711         * modules/gc-md5-tests: Likewise.
45712         * modules/gc-pbkdf2-sha1-tests: Likewise.
45713         * modules/gc-rijndael-tests: Likewise.
45714         * modules/gc-sha1-tests: Likewise.
45715         * modules/gc-tests: Likewise.
45716         * modules/getaddrinfo-tests: Likewise.
45717         * modules/hmac-md5-tests: Likewise.
45718         * modules/hmac-sha1-tests: Likewise.
45719         * modules/linked-list-tests: Likewise.
45720         * modules/linkedhash-list-tests: Likewise.
45721         * modules/lock-tests: Likewise.
45722         * modules/md2-tests: Likewise.
45723         * modules/md4-tests: Likewise.
45724         * modules/md5-tests: Likewise.
45725         * modules/rbtree-list-tests: Likewise.
45726         * modules/rbtree-oset-tests: Likewise.
45727         * modules/rbtreehash-list-tests: Likewise.
45728         * modules/read-file-tests: Likewise.
45729         * modules/rijndael-tests: Likewise.
45730         * modules/stdint-tests: Likewise.
45731         * modules/tls-tests: Likewise.
45732
45733 2007-02-24  Bruno Haible  <bruno@clisp.org>
45734
45735         * lib/isnanl.h (isnanl): Define through isnan if isnan is a macro.
45736         * m4/isnan.m4 (gl_FUNC_ISNAN_NO_LIBM): Don't check for isnan as a
45737         function; instead check whether isnan with a double argument links.
45738         * m4/isnanl.m4 (gl_FUNC_ISNANL_NO_LIBM): Don't check for isnanl as a
45739         function; instead check whether isnan with a 'long double' argument
45740         links.
45741         Reported by Eric Blake <ebb9@byu.net>.
45742
45743 2007-02-24  Bruno Haible  <bruno@clisp.org>
45744
45745         * lib/isnan.c: Support the 'long double' case if USE_LONG_DOUBLE is
45746         defined.
45747         * lib/isnanl.c: Remove all code. Just include isnan.c.
45748         * modules/isnanl-nolibm (Files): Add lib/isnan.c.
45749
45750 2007-02-25  Jim Meyering  <jim@meyering.net>
45751
45752         Avoid conflicting types for 'unsetenv' on FreeBSD.
45753         * lib/putenv.c (_unsetenv): Rename from "unsetenv", to avoid
45754         conflicting with FreeBSD's (5.0 and 6.1) function declaration
45755         in stdlib.h.
45756
45757 2007-02-24  Bruno Haible  <bruno@clisp.org>
45758
45759         * modules/isnanl-nolibm-tests: New file.
45760         * tests/test-isnanl.c: New file.
45761
45762         * modules/isnanl-nolibm: New file.
45763         * lib/isnanl.h: New file.
45764         * lib/isnanl.c: New file.
45765         * m4/isnanl.m4: New file.
45766
45767 2007-02-24  Bruno Haible  <bruno@clisp.org>
45768
45769         * modules/isnan-nolibm-tests: New file.
45770         * tests/test-isnan.c: New file.
45771
45772         * modules/isnan-nolibm: New file.
45773         * lib/isnan.h: New file.
45774         * lib/isnan.c: New file.
45775         * m4/isnan.m4: New file.
45776
45777 2007-02-24  Bruno Haible  <bruno@clisp.org>
45778
45779         * lib/frexpl.c (frexpl): Correct return values for x = 1.0L. Don't
45780         assume that an exponent fits in 20 bits.
45781
45782 2007-02-24  Jim Meyering  <jim@meyering.net>
45783
45784         * m4/regex.m4: Update the description of the configure-time option,
45785         --without-included-regex, to state accurately what the defaults are,
45786         and perhaps to give people an idea why using this option is risky.
45787
45788 2007-02-24  Paul Eggert  <eggert@cs.ucla.edu>
45789
45790         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check for a nanosleep that
45791         loops on small arguments.  This attempts to avoid the problem
45792         Bruno Haible reported for AIX 4.3.2 in
45793         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00309.html>.
45794
45795 2007-02-23  Bruno Haible  <bruno@clisp.org>
45796
45797         * m4/perl.m4 (gl_PERL): Require version 5.005, not 5.003.
45798         Needed for help2man.
45799
45800 2007-02-23  Karl Berry  <karl@gnu.org>
45801
45802         * doc/gnulib-tool.texi (CVS Issues): mention that when foo_.h
45803         exists, foo.h should be cvs-ignored, not committed.
45804
45805 2007-02-23  Eric Blake  <ebb9@byu.net>
45806
45807         * lib/getdate.h (includes):  Include <time.h>, not "timespec.h".
45808         * lib/stat-time.h (includes): Likewise.
45809         * lib/utimecmp.c (includes): Likewise.
45810         * lib/utimens.h (includes): Likewise.
45811         * lib/getdate.y (includes): Also include "timespec.h" for use
45812         internal to the module.
45813         * modules/utimens (Depends-on): Revert yesterday's patch.
45814         * modules/nanosleep (Depends-on): Add missing dependency.
45815
45816 2007-02-22  Bruno Haible  <bruno@clisp.org>
45817
45818         * lib/glob.c: Don't include getlogin_r.h.
45819
45820 2007-02-22  Jim Meyering  <jim@meyering.net>
45821
45822         * modules/utimens (Depends-on): Add timespec, required for
45823         utimens.h's inclusion of timespec.h.
45824
45825 2007-02-21  Paul Eggert  <eggert@cs.ucla.edu>
45826
45827         * lib/getcwd.c (__getcwd): Undo previous change; it mishandled
45828         long unreadable paths in GNU/Linux.  Problem reported by Andreas
45829         Schwab in
45830         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00261.html>.
45831         I'll try to think of a better way to fix the Solaris problem.
45832
45833         * lib/getcwd.c (__getcwd): Don't assume getcwd (NULL, 0) works
45834         like glibc; on Solaris 10, it fails with errno == EINVAL.
45835         POSIX says the behavior is unspecified if the first argument is NULL,
45836         so play it safe and never pass NULL to the system getcwd.
45837
45838 2007-02-21  Jim Meyering  <jim@meyering.net>
45839
45840         * lib/gettimeofday.c (rpl_gettimeofday): Remove declaration
45841         of gettimeofday.  It would conflict with the one now always
45842         provided via sys_time_.h.  Reported by Matthew Woehlke, as
45843         an IRIX 6.5 build failure.
45844
45845 2007-02-20  Paul Eggert  <eggert@cs.ucla.edu>
45846
45847         Minor fixups to port to Solaris 10 with Sun C 5.8.
45848         * lib/getcwd.c [!_LIBC]: Include dirfd.h, since we use dirfd.
45849         * modules/getcwd (Depends-on): Add dirfd.
45850         * lib/putenv.c (putenv): #undef it.
45851         (rpl_putenv): New decl.
45852         (malloc, free): Include <stdlib.h> rather than prototyping separately.
45853
45854 2007-02-20  Bruno Haible  <bruno@clisp.org>
45855
45856         * modules/stdio-tests: New file.
45857         * tests/test-stdio.c: New file.
45858
45859         * modules/vsnprintf (Files): Remove lib/vsnprintf.h.
45860         (Depends-on): Add stdio.
45861         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
45862         (Include): Use <stdio.h> instead of vsnprintf.h.
45863         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
45864         HAVE_DECL_VSNPRINTF.
45865         * lib/vsnprintf.c: Include <stdio.h> instead of vsnprintf.h.
45866
45867         * modules/snprintf (Files): Remove lib/snprintf.h.
45868         (Depends-on): Add stdio.
45869         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
45870         (Include): Use <stdio.h> instead of snprintf.h.
45871         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
45872         HAVE_DECL_SNPRINTF.
45873         * lib/snprintf.c: Include <stdio.h> instead of snprintf.h.
45874         * lib/getaddrinfo.c: Likewise.
45875
45876         * modules/stdio: New file.
45877         * lib/stdio_.h: New file, incorporating snprintf.h and vsnprintf.h.
45878         * lib/snprintf.h: Remove file.
45879         * lib/vsnprintf.h: Remove file.
45880         * lib/.cppi-disable: Remove snprintf.h.
45881         * m4/stdio_h.m4: New file.
45882         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdio.
45883
45884 2007-02-20  Jim Meyering  <jim@meyering.net>
45885
45886         * lib/ftruncate.c [HAVE_CHSIZE]: Document that this code is
45887         used by e.g., mingw.  From Bruno Haible.
45888
45889 2007-02-19  Bruno Haible  <bruno@clisp.org>
45890
45891         * lib/string_.h: Use "#pragma GCC system_header" to suppress some gcc
45892         warnings.
45893         Reported by Ben Pfaff <blp@cs.stanford.edu>.
45894
45895 2007-02-19  Bruno Haible  <bruno@clisp.org>
45896
45897         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Don't request a complaint mail
45898         from mingw users.
45899
45900 2007-02-19  Bruno Haible  <bruno@clisp.org>
45901
45902         * lib/stdlib_.h: Use "#pragma GCC system_header" to suppress some gcc
45903         warnings.
45904         Reported by Joel E. Denny <jdenny@ces.clemson.edu> via Paul Eggert.
45905
45906 2007-02-19  Jim Meyering  <jim@meyering.net>
45907
45908         Don't use FD after a successful "fdopendir (fd)".
45909         * lib/getcwd.c (__getcwd) [AT_FDCWD]: fdopendir (fd) usually closes fd.
45910         Reset it by calling dirfd on the just-obtained DIR*.
45911
45912         * m4/ftruncate.m4: Adjust comment to give this module a 3-year reprieve.
45913         Prompted by a report from Bruno Haible that mingw lacks ftruncate.
45914
45915 2007-02-18  Bruno Haible  <bruno@clisp.org>
45916
45917         * lib/readlink.c: Include <unistd.h>.
45918         * m4/readlink.m4 (gl_FUNC_READLINK): Require gl_UNISTD_H_DEFAULTS. Set
45919         HAVE_READLINK.
45920         * modules/readlink (Depends-on): Add unistd.
45921         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
45922         (Include): Add <unistd.h>.
45923
45924         * lib/getlogin_r.h: Remove file.
45925         * lib/getlogin_r.c: Include <unistd.h> instead of getlogin_r.h.
45926         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE): Remove macro.
45927         (gl_GETLOGIN_R): Inline it here. Require gl_UNISTD_H_DEFAULTS. Set
45928         HAVE_DECL_GETLOGIN_R.
45929         * modules/getlogin_r (Files): Remove lib/getlogin_r.h.
45930         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
45931         (Include): Use <unistd.h> instead of getlogin_r.h.
45932
45933         * lib/getcwd.h: Remove file.
45934         * lib/getcwd.c: Include <unistd.h> instead of getcwd.h.
45935         * lib/xgetcwd.c: Likewise.
45936         * m4/getcwd.m4 (gl_FUNC_GETCWD): Require gl_UNISTD_H_DEFAULTS. Set
45937         REPLACE_GETCWD. Don't define __GETCWD_PREFIX.
45938         * modules/getcwd (Files): Remove lib/getcwd.h.
45939         (Depends-on): Add unistd.
45940         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
45941         (Include): Use <unistd.h> instad of getcwd.h.
45942
45943         * lib/ftruncate.c: Include <unistd.h> first.
45944         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Require gl_UNISTD_H_DEFAULTS.
45945         Set HAVE_FTRUNCATE.
45946         * modules/ftruncate (Depends-on): Add unistd.
45947         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
45948
45949         * lib/fchdir.c: Include <unistd.h> first.
45950         * lib/dirent_.h: Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT.
45951         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_UNISTD_H_DEFAULTS instead
45952         of gl_HEADER_UNISTD_DEFAULTS. Set REPLACE_FCHDIR. Don't set UNISTD_H.
45953         * modules/fchdir (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
45954         (Makefile.am): Substitute also REPLACE_FCHDIR into dirent.h.
45955
45956         * lib/dup2.c: Include <unistd.h> first.
45957         * m4/dup2.m4 (gl_FUNC_DUP2): Require gl_UNISTD_H_DEFAULTS. Set
45958         HAVE_DUP2.
45959         * modules/dup2 (Depends-on): Add unistd.
45960         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
45961
45962         * lib/chown.c: Include <unistd.h> first. Undefine chown later.
45963         * m4/chown.m4 (gl_FUNC_CHOWN): Require gl_UNISTD_H_DEFAULTS. Set
45964         REPLACE_CHOWN. Don't define chown as a macro here.
45965         * modules/chown (Depends-on): Add unistd.
45966         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
45967
45968         * lib/unistd_.h: Test HAVE_UNISTD_H determined at configure time.
45969         Add definition for GL_LINK_WARNING.
45970         (chown, dup2): New declarations.
45971         (fchdir): Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT. Provide optional
45972         link warning.
45973         (ftruncate): New declaration.
45974         (getcwd): New declaration, taken from old getcwd.h.
45975         (getlogin_r): New declaration, taken from old getlogin_r.h.
45976         (readlink): New declaration.
45977         * m4/unistd_h.m4 (gl_UNISTD_H): Renamed from gl_HEADER_UNISTD. Don't
45978         set UNISTD_H. Inline gl_PREREQ_UNISTD. Set HAVE_UNISTD_H.
45979         (gl_PREREQ_UNISTD): Remove macro.
45980         (gl_UNISTD_MODULE_INDICATOR): New macro.
45981         (gl_UNISTD_H_DEFAULTS): Renamed from gl_HEADER_UNISTD_DEFAULTS. Set
45982         many new variables. Don't set UNISTD_H.
45983         * modules/unistd (Description): Change.
45984         (Depends-on): Add link-warning.
45985         (configure.ac): Update.
45986         (Makefile.am): Create unistd.h always. Substitute many new variables
45987         into it.
45988
45989 2007-02-18  Bruno Haible  <bruno@clisp.org>
45990
45991         * lib/stdlib_.h (getsubopt): New declaration, copied from getsubopt.h.
45992         * modules/stdlib (stdlib.h): Also substitute GNULIB_GETSUBOPT and
45993         HAVE_GETSUBOPT.
45994         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Also initialize
45995         GNULIB_GETSUBOPT and HAVE_GETSUBOPT.
45996         * lib/getsubopt.h: Remove file.
45997         * modules/getsubopt (Files): Remove lib/getsubopt.h.
45998         (Depends-on): Add stdlib.
45999         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
46000         (Includes): Use <stdlib.h> instead of getsubopt.h.
46001         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Require gl_STDLIB_H_DEFAULTS.
46002         Set HAVE_GETSUBOPT.
46003         * lib/getsubopt.c: Don't include getsubopt.h.
46004
46005 2007-02-18  Bruno Haible  <bruno@clisp.org>
46006
46007         * modules/fchdir (Depends-on): Add dup2.
46008
46009 2007-02-18  Bruno Haible  <bruno@clisp.org>
46010
46011         * lib/stdlib_.h: Handle glibc's special invocation convention
46012         specially.
46013
46014 2007-02-18  Bruno Haible  <bruno@clisp.org>
46015
46016         * modules/stdlib-tests: New file.
46017         * tests/test-stdlib.c: New file.
46018
46019         * modules/mkstemp (Files): Remove lib/mkstemp.h.
46020         (Depends-on): Add stdlib.
46021         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
46022         (Includes): Use <stdlib.h> instead of mkstemp.h.
46023         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require gl_STDLIB_H_DEFAULTS. Set
46024         REPLACE_MKSTEMP. Remove definition of __MKSTEMP_PREFIX.
46025         * lib/mkstemp.c: Don't include mkstemp.h.
46026         * lib/mkstemp-safer.c: Include <stdlib.h> instead of mkstemp.h.
46027         * lib/stdlib--.h: Don't include mkstemp.h.
46028
46029         * modules/mkdtemp (Files): Remove lib/mkdtemp.h.
46030         (Depends-on): Add stdlib.
46031         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
46032         (Includes): Use <stdlib.h> instead of mkdtemp.h.
46033         * m4/mkdtemp.m4 (gt_FUNC_MKDTEMP): Require gl_STDLIB_H_DEFAULTS. Set
46034         HAVE_MKDTEMP.
46035         * lib/mkdtemp.c: Don't include mkdtemp.h.
46036         * lib/clean-temp.c: Don't include mkdtemp.h.
46037
46038         * modules/exit (Files): Remove lib/exit.h.
46039         (Depends-on): Add stdlib.
46040         (Makefile.am): Remove lib_SOURCES.
46041         (Include): Use <stdlib.h> instead of exit.h.
46042         * lib/argmatch.c: Don't include exit.h.
46043         * lib/execute.c: Likewise.
46044         * lib/pagealign_alloc.c: Likewise.
46045         * lib/pipe.c: Likewise.
46046         * lib/wait-process.c: Likewise.
46047         * lib/copy-file.c: Include <stdlib.h> instead of exit.h.
46048         * lib/exitfail.c: Likewise.
46049         * lib/savewd.c: Likewise.
46050         * lib/xsetenv.c: Likewise.
46051
46052         * modules/stdlib: New file.
46053         * lib/stdlib_.h: New file, incorporating exit.h, mkdtemp.h, mkstemp.h
46054         and extra comments about mkstemp().
46055         * lib/exit.h: Remove file.
46056         * lib/mkdtemp.h: Remove file.
46057         * lib/mkstemp.h: Remove file.
46058         * m4/stdlib_h.m4: New file.
46059         * MODULES.html.sh (Support for systems lacking ANSI C 89): Add stdlib.
46060
46061 2007-02-18  Bruno Haible  <bruno@clisp.org>
46062
46063         * modules/math-tests: New file.
46064         * tests/test-math.c: New file.
46065
46066         * modules/math: New file.
46067         * modules/mathl (Files): Remove lib/mathl.h.
46068         (Depends-on): Add math.
46069         (Makefile.am): Don't mention mathl.h.
46070         (Include): Use <math.h> instead of mathl.h.
46071         * lib/math_.h: New file.
46072         * lib/mathl.h: Remove file.
46073         * lib/acosl.c: Include <config.h> and <math.h> first. Don't include
46074         mathl.h.
46075         * lib/asinl.c: Likewise.
46076         * lib/atanl.c: Likewise.
46077         * lib/ceill.c: Likewise.
46078         * lib/cosl.c: Likewise.
46079         * lib/expl.c: Likewise.
46080         * lib/floorl.c: Likewise.
46081         * lib/frexpl.c: Likewise.
46082         * lib/ldexpl.c: Likewise.
46083         * lib/logl.c: Likewise.
46084         * lib/sincosl.c: Likewise.
46085         * lib/sinl.c: Likewise.
46086         * lib/sqrtl.c: Likewise.
46087         * lib/tanl.c: Likewise.
46088         * lib/trigl.c: Likewise.
46089         * m4/math_h.m4: New file.
46090         * MODULES.html.sh (Mathematics): Add math.
46091
46092 2007-02-17  Bruno Haible  <bruno@clisp.org>
46093
46094         * modules/wctype-tests: New file.
46095         * tests/test-wctype.c: New file.
46096
46097         * modules/wchar-tests: New file.
46098         * tests/test-wchar.c: New file.
46099
46100         * modules/unistd-tests: New file.
46101         * tests/test-unistd.c: New file.
46102
46103         * modules/time-tests: New file.
46104         * tests/test-time.c: New file.
46105
46106         * modules/sysexits-tests: New file.
46107         * tests/test-sysexits.c: New file.
46108
46109         * modules/sys_time-tests: New file.
46110         * tests/test-sys_time.c: New file.
46111
46112         * modules/sys_stat-tests: New file.
46113         * tests/test-sys_stat.c: New file.
46114
46115         * modules/sys_socket-tests: New file.
46116         * tests/test-sys_socket.c: New file.
46117
46118         * modules/sys_select-tests: New file.
46119         * tests/test-sys_select.c: New file.
46120
46121         * modules/string-tests: New file.
46122         * tests/test-string.c: New file.
46123
46124         * modules/stdbool-tests: New file.
46125         * tests/test-stdbool.c: New file.
46126
46127         * modules/netinet_in-tests: New file.
46128         * tests/test-netinet_in.c: New file.
46129
46130         * modules/inttypes-tests: New file.
46131         * tests/test-inttypes.c: New file.
46132
46133         * modules/fcntl-tests: New file.
46134         * tests/test-fcntl.c: New file.
46135
46136         * modules/byteswap-tests: New file.
46137         * tests/test-byteswap.c: New file.
46138
46139         * modules/arpa_inet-tests: New file.
46140         * tests/test-arpa_inet.c: New file.
46141
46142 2007-02-17  Bruno Haible  <bruno@clisp.org>
46143
46144         * lib/inttypes_.h: Add definition for GL_LINK_WARNING.
46145         (imaxabs, imaxdiv, strtoimax, strtoumax): Don't declare the function
46146         if the corresponding module is not enabled. Emit link warnings if
46147         the function is used nevertheless.
46148         * m4/inttypes.m4 (gl_INTTYPES_H): Never use the existing <inttypes.h>.
46149         Don't AC_SUBST HAVE_DECL_IMAXABS, HAVE_DECL_IMAXDIV,
46150         HAVE_DECL_STRTOIMAX, HAVE_DECL_STRTOUMAX.
46151         (gl_INTTYPES_MODULE_INDICATOR, gl_INTTYPES_H_DEFAULTS): New macros.
46152         * modules/inttypes (Depends-on): Add link-warning.
46153         (Makefile.am): Copy the contents of build-aux/link-warning.h into
46154         inttypes.h. Substitute also GNULIB_IMAXABS, GNULIB_IMAXDIV,
46155         GNULIB_STRTOIMAX, GNULIB_STRTOUMAX.
46156         * modules/imaxabs (configure.ac): Invoke gl_INTTYPES_MODULE_INDICATOR.
46157         * modules/imaxdiv (configure.ac): Likewise.
46158         * modules/strtoimax (configure.ac): Likewise.
46159         * modules/strtoumax (configure.ac): Likewise.
46160
46161 2007-02-17  Bruno Haible  <bruno@clisp.org>
46162
46163         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Include the contents of
46164         gl_STRING_MODULE_INDICATOR_DEFAULTS.
46165         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Remove macro.
46166         (gl_HEADER_STRING_H_BODY, gl_STRING_MODULE_INDICATOR): Update.
46167
46168 2007-02-17  Bruno Haible  <bruno@clisp.org>
46169
46170         * modules/link-warning: New file.
46171         * build-aux/link-warning.h: New file, extracted from lib/string_.h.
46172         * lib/string_.h (GL_LINK_WARNING): Remove definition.
46173         * modules/string (Depends-on): Add link-warning.
46174         (Makefile.am): Copy the contents of build-aux/link-warning.h into
46175         string.h.
46176         * MODULES.html.sh (Support for building libraries and executables): Add
46177         link-warning.
46178
46179 2007-02-17  Bruno Haible  <bruno@clisp.org>
46180
46181         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strcasecmp,
46182         strncasecmp, strchr, strchrnul, strdup, strndup, strnlen, strcspn,
46183         strpbrk, strspn, strrchr, strsep, strstr, strcasestr, strtok_r): Break
46184         long lines.
46185
46186 2007-02-17  Ben Pfaff  <blp@cs.stanford.edu>
46187             Bruno Haible  <bruno@clisp.org>
46188
46189         * modules/tmpfile: New file.
46190         * lib/tmpfile.c: New file.
46191         * m4/tmpfile.m4: New file.
46192         * MODULES.html.sh (func_all_modules): New section "Input/output".
46193
46194 2007-02-15  Bruno Haible  <bruno@clisp.org>
46195
46196         * lib/clean-temp.c [WIN32 && !CYGWIN]: Include <windows.h>.
46197         (supports_delete_on_close): New function.
46198         (open_temp, fopen_temp): Use _O_TEMPORARY when supported.
46199
46200 2007-02-14  Bruno Haible  <bruno@clisp.org>
46201
46202         * modules/mbspcasecmp-tests: New file.
46203         * tests/test-mbspcasecmp.sh: New file.
46204         * tests/test-mbspcasecmp.c: New file.
46205
46206         New module mbspcasecmp.
46207         * modules/mbspcasecmp: New file.
46208         * lib/mbspcasecmp.c: New file.
46209         * lib/string_.h (strncasecmp): Change warning message.
46210         (mbspcasecmp): New declaration.
46211         * m4/mbspcasecmp.m4: New file.
46212         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
46213         GNULIB_MBSPCASECMP.
46214         * modules/string (string.h): Also substitute GNULIB_MBSPCASECMP.
46215         * MODULES.html.sh (Internationalization functions): Add mbspcasecmp.
46216
46217 2007-02-14  Bruno Haible  <bruno@clisp.org>
46218
46219         * modules/mbsncasecmp-tests: New file.
46220         * tests/test-mbsncasecmp.sh: New file.
46221         * tests/test-mbsncasecmp.c: New file.
46222
46223         New module mbsncasecmp.
46224         * modules/mbsncasecmp: New file.
46225         * lib/mbsncasecmp.c: New file.
46226         * lib/string_.h (mbsncasecmp): New declaration.
46227         * m4/mbsncasecmp.m4: New file.
46228         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
46229         GNULIB_MBSNCASECMP.
46230         * modules/string (string.h): Also substitute GNULIB_MBSNCASECMP.
46231         * MODULES.html.sh (Internationalization functions): Add mbsncasecmp.
46232
46233 2007-02-14  Paul Eggert  <eggert@cs.ucla.edu>
46234
46235         * lib/exclude.c (FNM_EXTMATCH): Define if system does not.
46236         Verify that it doesn't overlap with our flags.
46237         (fnmatch_no_wildcards): Don't use strcasecmp or strncasecmp, which
46238         do not have the desired effect in multibyte locales; instead, use
46239         mbscasecmp.
46240         * modules/exclude (Depends-on): Depend on mbscasecmp, not strcase.
46241         Add dependency on xalloc.  Depend on fnmatch, not fnmatch-gnu, since
46242         we don't require GNU fnmatch ourselves (if our users require it, they
46243         should do so explicitly).
46244
46245         Fix regex code so it doesn't rely on strcasecmp.
46246         * lib/regex_internal.h: Include <langinfo.h> only if _LIBC is defined.
46247         Otherwise, include gnulib's langinfo.h.
46248         * lib/regcomp.c (init_dfa): Don't use strcasecmp, as it can have
46249         undesirable behavior in non-C locales.  Instead, rely on localecharset.
46250         * m4/regex.m4 (gl_PREREQ_REGEX): Don't require AM_LANGINFO_CODESET.
46251         * modules/regex (FILES): Remove m4/codeset.m4.
46252         (Depends-on): Add localcharset.  Remove strcase.
46253
46254 2007-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46255
46256         * m4/unlinkdir.m4 (gl_UNLINKDIR): Fix m4 quoting bug.
46257         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
46258
46259 2007-02-13  Bruno Haible  <bruno@clisp.org>
46260
46261         * m4/intdiv0.m4 (gt_INTDIV0): Assume ANSI C. Fix underquoting bug.
46262         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
46263
46264 2007-02-12  Bruno Haible  <bruno@clisp.org>
46265
46266         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
46267         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): If
46268         GNULIB_POSIXCHECK and the gnulib module not enabled, provoke a link-
46269         time warning rather than a link error.
46270
46271 2007-02-12  Bruno Haible  <bruno@clisp.org>
46272
46273         * m4/locale-fr.m4 (gt_LOCALE_FR): Fix m4 quoting bug.
46274         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
46275         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
46276
46277 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
46278
46279         * lib/string_.h (strncasecmp): Fix typo: this macro takes 3
46280         args, not 2.
46281
46282 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
46283
46284         New module 'time', so that apps can include <time.h> as per
46285         POSIX and GNU instead of separate include files like time_r.h
46286         and timegm.h.  This implementation tries out a simpler approach
46287         for replacing decls in standard include files (as compared to
46288         the string module), somewhat as an experiment.
46289
46290         * config/srclist.txt: Comment out mktime.c for now.
46291         * doc/gnulib-tool.texi (Initial import): Don't use time_r as an example
46292         since it doesn't apply any more.  Use generic wording instead.
46293         * MODULES.html.sh (Support for systems lacking POSIX:2001): New module
46294         'time'.
46295         * lib/time_.h, m4/time_h.m4, modules/time: New files.
46296         * lib/strptime.h, lib/time_r.h, lib/timegm.h: Remove.
46297         * lib/mktime.c: Include config.h depending on _LIBC, not HAVE_CONFIG_H.
46298         Don't include <sys/types.h>; no longer needed since we assume C89.
46299         * lib/mktime.c: Don't include "time_r.h"; no longer needed.
46300         * lib/strftime.c: Likewise.
46301         * lib/time_r.c: Likewise.
46302         * lib/nanosleep.c (nanosleep): #undef after include files, not before.
46303         * lib/nanosleep.c: Include <time.h> first, to check interface.
46304         * lib/strptime.c: Likewise.
46305         * lib/time_r.c: Likewise.
46306         * lib/timegm.c: Likewise.
46307         * lib/strptime.c: Don't include strptime.h or time_r.h; no longer
46308         needed.
46309         * lib/timegm.c: Don't include timegm.h; no longer needed.
46310         * lib/timespec.h: Don't include <sys/time.h> before <time.h>;
46311         time.h now handles any problems in that area.
46312         (struct timespec, nanosleep): Remove; time.h now arranges for these.
46313         * lib/xnanosleep.c: Don't include timespec.h; no longer needed now
46314         that time.h defines struct timespec.
46315         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check that nanosleep is declared.
46316         Set REPLACE_NANOSLEEP.  Don't AC_DEFINE nanosleep; the time module now
46317         handles that.
46318         * m4/strptime.m4 (gl_FUNC_STPRTIME): Set REPLACE_STRPTIME.
46319         * m4/time_r.m4 (gl_TIME_R): Don't define HAVE_TIME_R_POSIX; no longer
46320         needed.  Set REPLACE_LOCALTIME.
46321         * m4/timegm.m4 (gl_FUNC_TIMEGM): Set REPLACE_TIMEGM.
46322         * m4/timespec.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Move to time_h.m4.
46323         (gl_TIMESPEC): Don't check for sys/time.h or struct timespec or
46324         nanosleep; time_h.m4 now does that.  Don't require
46325         gl_USE_SYSTEM_EXTENSIONS; no longer needed directly, and the time
46326         module handles this now.
46327         * modules/getdate (Depends-on): Remove timespec.  Add time.
46328         * modules/nanosleep (Depends-on): Likewise.
46329         * modules/stat-time (Depends-on): Likewise.
46330         * modules/nanosleep (Include): Include time.h, not timespec.h.
46331         * modules/strptime (Files): Remove lib/strptime.h.
46332         (Depends-on): Add extensions, time.
46333         (Include): Include time.h, not strptime.h.
46334         * modules/time_r (Files): Remove lib/time_r.h.
46335         (Depends-on): Add time.
46336         (Include): Include time.h, not time_r.h.
46337         * modules/timegm: Likewise.
46338         * modules/timespec (Description): Now does timespec-related decls
46339         of our own, instead of struct timespec itself.
46340         (Depends-on): Add time; remove extensions.
46341         (Maintainer): Add self.
46342         * modules/utimecmp (Depends-on): Add time; remove timespec.
46343         * modules/utimens (Depends-on): Likewise.
46344         * modules/xnanosleep (Depends-on): Likewise.
46345
46346 2007-02-11  Bruno Haible  <bruno@clisp.org>
46347
46348         * lib/c-strstr.c: Include allocsa.h.
46349         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
46350         * lib/c-strcasestr.c: Include allocsa.h.
46351         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
46352         * lib/strcasestr.c: Include allocsa.h.
46353         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
46354         * lib/mbsstr.c: Include allocsa.h.
46355         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
46356         allocsa/freesa instead of malloc/free.
46357         * lib/mbscasestr.c: Include allocsa.h.
46358         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
46359         allocsa/freesa instead of malloc/free.
46360         * modules/c-strstr (Depends-on): Add allocsa.
46361         * modules/c-strcasestr (Depends-on): Likewise.
46362         * modules/strcasestr (Depends-on): Likewise.
46363         * modules/mbsstr (Depends-on): Likewise.
46364         * modules/mbscasestr (Depends-on): Likewise.
46365
46366 2007-02-11  Bruno Haible  <bruno@clisp.org>
46367
46368         * lib/mbsspn.c (mbsspn): Fix bug. Remove unnecessary strlen call.
46369
46370         * modules/mbsspn-tests: New file.
46371         * tests/test-mbsspn.sh: New file.
46372         * tests/test-mbsspn.c: New file.
46373
46374 2007-02-11  Bruno Haible  <bruno@clisp.org>
46375
46376         * lib/mbspbrk.c (mbspbrk): Remove unneeded cast.
46377
46378         * modules/mbspbrk-tests: New file.
46379         * tests/test-mbspbrk.sh: New file.
46380         * tests/test-mbspbrk.c: New file.
46381
46382 2007-02-11  Bruno Haible  <bruno@clisp.org>
46383
46384         * lib/mbscspn.c (mbscspn): Remove unnecessary strlen call and
46385         unneeded cast.
46386
46387         * modules/mbscspn-tests: New file.
46388         * tests/test-mbscspn.sh: New file.
46389         * tests/test-mbscspn.c: New file.
46390
46391 2007-02-11  Bruno Haible  <bruno@clisp.org>
46392
46393         * modules/mbscasecmp-tests: New file.
46394         * tests/test-mbscasecmp.sh: New file.
46395         * tests/test-mbscasecmp.c: New file.
46396
46397 2007-02-11  Bruno Haible  <bruno@clisp.org>
46398
46399         Ensure O(n) worst-case complexity of mbscasestr.
46400         * lib/mbscasestr.c: Include stdbool.h.
46401         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
46402         functions.
46403         (mbscasestr): Add some bookkeeping. Invoke knuth_morris_pratt_* when
46404         the bookkeeping indicates that it's worth it.
46405         * modules/mbscasestr (Depends-on): Add stdbool, mbslen, strnlen.
46406
46407         * modules/mbscasestr-tests: New file.
46408         * tests/test-mbscasestr1.c: New file.
46409         * tests/test-mbscasestr2.sh: New file.
46410         * tests/test-mbscasestr2.c: New file.
46411         * tests/test-mbscasestr3.sh: New file.
46412         * tests/test-mbscasestr3.c: New file.
46413         * tests/test-mbscasestr4.sh: New file.
46414         * tests/test-mbscasestr4.c: New file.
46415         * m4/locale-tr.m4: New file.
46416
46417 2007-02-11  Bruno Haible  <bruno@clisp.org>
46418
46419         Ensure O(n) worst-case complexity of mbsstr.
46420         * lib/mbsstr.c: Include stdbool.h.
46421         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
46422         functions.
46423         (mbsstr): Add some bookkeeping. Invoke knuth_morris_pratt_* when the
46424         bookkeeping indicates that it's worth it.
46425         * modules/mbsstr (Depends-on): Add stdbool, mbslen, strnlen.
46426
46427         * modules/mbsstr-tests: New file.
46428         * tests/test-mbsstr1.c: New file.
46429         * tests/test-mbsstr2.sh: New file.
46430         * tests/test-mbsstr2.c: New file.
46431         * tests/test-mbsstr3.sh: New file.
46432         * tests/test-mbsstr3.c: New file.
46433         * m4/locale-fr.m4: New file.
46434
46435 2007-02-11  Bruno Haible  <bruno@clisp.org>
46436
46437         * lib/mbsrchr.c (mbsrchr): Fix bug.
46438
46439         * modules/mbsrchr-tests: New file.
46440         * tests/test-mbsrchr.sh: New file.
46441         * tests/test-mbsrchr.c: New file.
46442
46443 2007-02-11  Bruno Haible  <bruno@clisp.org>
46444
46445         * lib/mbschr.c (mbschr): Fix bug.
46446
46447         * modules/mbschr-tests: New file.
46448         * tests/test-mbschr.sh: New file.
46449         * tests/test-mbschr.c: New file.
46450         * m4/locale-zh.m4: New file.
46451
46452 2007-02-11  Bruno Haible  <bruno@clisp.org>
46453
46454         Support for copying multibyte string iterators.
46455         * lib/mbiter.h: Include <string.h>.
46456         (mbiter_multi_copy): New function.
46457         (mbi_copy): New macro.
46458         * lib/mbuiter.h: Include <string.h>.
46459         (mbuiter_multi_copy): New function.
46460         (mbui_copy): New macro.
46461
46462 2007-02-11  Bruno Haible  <bruno@clisp.org>
46463
46464         New module mbslen.
46465         * modules/mbslen: New file.
46466         * lib/mbslen.c: New file.
46467         * lib/string_.h (mbslen): New declaration.
46468         * m4/mbslen.m4: New file.
46469         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
46470         GNULIB_MBSLEN.
46471         * modules/string (string.h): Also substitute GNULIB_MBSLEN.
46472         * MODULES.html.sh (Internationalization functions): Add mbslen.
46473
46474 2007-02-11  Bruno Haible  <bruno@clisp.org>
46475
46476         Ensure O(n) worst-case complexity of strcasestr substitute.
46477         * lib/strcasestr.c: Include stdbool.h.
46478         (knuth_morris_pratt): New function.
46479         (strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when the
46480         bookkeeping indicates that it's worth it.
46481         * modules/strcasestr (Depends-on): Add stdbool, strnlen.
46482
46483         * modules/strcasestr-tests: New file.
46484         * tests/test-strcasestr.c: New file.
46485
46486 2007-02-11  Bruno Haible  <bruno@clisp.org>
46487
46488         Ensure O(n) worst-case complexity of c_strcasestr.
46489         * lib/c-strcasestr.c: Include stdbool.h, string.h.
46490         (knuth_morris_pratt): New function.
46491         (c_strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when
46492         the bookkeeping indicates that it's worth it.
46493         * modules/c-strcasestr (Depends-on): Add stdbool, strnlen.
46494
46495         * modules/c-strcasestr-tests: New file.
46496         * tests/test-c-strcasestr.c: New file.
46497
46498 2007-02-11  Bruno Haible  <bruno@clisp.org>
46499
46500         Ensure O(n) worst-case complexity of c_strstr.
46501         * lib/c-strstr.c: Include stdbool.h, string.h.
46502         (knuth_morris_pratt): New function.
46503         (c_strstr): Add some bookkeeping. Invoke knuth_morris_pratt when the
46504         bookkeeping indicates that it's worth it.
46505         * modules/c-strstr (Depends-on): Add stdbool, strnlen.
46506
46507         * lib/c-strstr.c: Complete rewrite for maintainability.
46508
46509         * modules/c-strstr-tests: New file.
46510         * tests/test-c-strstr.c: New file.
46511
46512 2007-02-11  Bruno Haible  <bruno@clisp.org>
46513
46514         * m4/javacomp.m4 (gt_JAVACOMP): Work around a 'tr' bug in coreutils
46515         5.2.1 and earlier, whereby \055 was treated just like the range
46516         delimiter '-'.
46517         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
46518
46519 2007-02-08  Bruno Haible  <bruno@clisp.org>
46520
46521         * modules/regex (Depends-on): Add stdbool.
46522         Reported by Dalibor Topic <robilad@kaffe.org>.
46523
46524 2007-02-05  Paul Eggert  <eggert@cs.ucla.edu>
46525
46526         * m4/regex.m4 (gl_REGEX): Check for glibc bug #3957.
46527         Prefer returning from main to exiting from it.
46528         Remove unnecessary parens after sizeof.
46529
46530 2007-02-05  Bruno Haible  <bruno@clisp.org>
46531
46532         New module mbssep.
46533         * modules/mbssep: New file.
46534         * lib/mbssep.c: New file.
46535         * lib/string_.h (strsep): Add a conditional link warning.
46536         (mbssep): New declaration.
46537         * m4/mbssep.m4: New file.
46538         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
46539         GNULIB_MBSSEP.
46540         * modules/string (string.h): Also substitute GNULIB_MBSSEP.
46541         * MODULES.html.sh (Internationalization functions): Add mbssep.
46542
46543 2007-02-05  Bruno Haible  <bruno@clisp.org>
46544
46545         * lib/strsep.c (strsep): Fix actions in case of no delimiters.
46546         Optimize search in case of 1 delimiter.
46547
46548 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
46549
46550         * lib/acl.h: Include sys/types.h before sys/acl.h.
46551
46552 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
46553
46554         Merge upstream fix for glibc bugzilla #3957:
46555
46556         2007-02-05  Jakub Jelinek  <jakub@redhat.com>
46557
46558         * lib/regcomp.c (parse_bracket_exp): Set '\n' bit rather than '\0'
46559         bit for RE_HAT_LISTS_NOT_NEWLINE.
46560         (build_charclass_op): Remove bogus comment.
46561
46562 2007-02-05  Simon Josefsson  <simon@josefsson.org>
46563
46564         * lib/gc.h, lib/gc-libgcrypt.c: Support SHA-256/384/512.
46565
46566 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
46567
46568         * lib/getsubopt.c [!_LIBC]: Include config.h and getsubopt.h.
46569         * lib/memmem.c [!defined _LIBC]: Include config.h.
46570
46571 2007-02-04  Bruno Haible  <bruno@clisp.org>
46572
46573         * lib/string_.h (GL_LINK_WARNING2): Put the word "warning:" into the
46574         warning message.
46575
46576 2007-02-04  Bruno Haible  <bruno@clisp.org>
46577
46578         New module mbstok_r.
46579         * modules/mbstok_r: New file.
46580         * lib/mbstok_r.c: New file.
46581         * lib/string_.h (strtok_r): Change argument names to match the
46582         comments. Add a conditional link warning.
46583         (mbstok_r): New declaration.
46584         * m4/mbstok_r.m4: New file.
46585         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
46586         GNULIB_MBSTOK_R.
46587         * modules/string (string.h): Also substitute GNULIB_MBSTOK_R.
46588         * MODULES.html.sh (Internationalization functions): Add mbstok_r.
46589
46590 2007-02-04  Bruno Haible  <bruno@clisp.org>
46591
46592         New module mbsspn.
46593         * modules/mbsspn: New file.
46594         * lib/mbsspn.c: New file.
46595         * lib/string_.h (strspn): Add a conditional link warning.
46596         (mbsspn): New declaration.
46597         * m4/mbsspn.m4: New file.
46598         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
46599         GNULIB_MBSSPN.
46600         * modules/string (string.h): Also substitute GNULIB_MBSSPN.
46601         * MODULES.html.sh (Internationalization functions): Add mbsspn.
46602
46603 2007-02-04  Bruno Haible  <bruno@clisp.org>
46604
46605         New module mbspbrk.
46606         * modules/mbspbrk: New file.
46607         * lib/mbspbrk.c: New file.
46608         * lib/string_.h (strpbrk): Add a conditional link warning.
46609         (mbspbrk): New declaration.
46610         * m4/mbspbrk.m4: New file.
46611         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
46612         GNULIB_MBSPBRK.
46613         * modules/string (string.h): Also substitute GNULIB_MBSPBRK.
46614         * MODULES.html.sh (Internationalization functions): Add mbspbrk.
46615
46616 2007-02-04  Bruno Haible  <bruno@clisp.org>
46617
46618         New module mbscspn.
46619         * modules/mbscspn: New file.
46620         * lib/mbscspn.c: New file.
46621         * lib/string_.h (strcspn): Add a conditional link warning.
46622         (mbscspn): New declaration.
46623         * m4/mbscspn.m4: New file.
46624         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
46625         GNULIB_MBSCSPN.
46626         * modules/string (string.h): Also substitute GNULIB_MBSCSPN.
46627         * MODULES.html.sh (Internationalization functions): Add mbscspn.
46628
46629 2007-02-04  Bruno Haible  <bruno@clisp.org>
46630
46631         New module mbscasestr, reduced goal of strcasestr.
46632         * modules/mbscasestr: New file.
46633         * lib/mbscasestr.c: New file, copied from lib/strcasestr.c.
46634         (mbscasestr): Renamed from strcasestr.
46635         * lib/strcasestr.c: Don't include mbuiter.h.
46636         (strcasestr): Remove support for multibyte locales.
46637         * lib/string_.h (strcasestr): Don`t rename. Declare only if missing.
46638         Change the conditional link warning.
46639         (mbscasestr): New declaration.
46640         * m4/mbscasestr.m4: New file.
46641         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Enable the replacement only if
46642         the system does not have strcasestr. Set HAVE_STRCASESTR instead of
46643         REPLACE_STRCASESTR.
46644         (gl_PREREQ_STRCASESTR): Don't require gl_FUNC_MBRTOWC.
46645         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
46646         HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
46647         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSCASESTR.
46648         * modules/string (string.h): Also substitute GNULIB_MBSCASESTR.
46649         Substitute HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
46650         * modules/strcasestr (Files): Remove m4/mbrtowc.m4.
46651         (Depends-on): Remove mbuiter.
46652         * MODULES.html.sh (Internationalization functions): Add mbscasestr.
46653
46654 2007-02-04  Bruno Haible  <bruno@clisp.org>
46655
46656         Simplify handling of strncasecmp.
46657         * lib/string_.h (strncasecmp): Remove test for GNULIB_STRCASE. Change
46658         the conditional link warning.
46659         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
46660         HAVE_STRCASECMP, not REPLACE_STRCASECMP.
46661         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Don't initialize GNULIB_STRCASE.
46662         * modules/strcase (configure.ac): Don't invoke
46663         gl_STRING_MODULE_INDICATOR.
46664         * modules/string (string.h): Don't substitute GNULIB_STRCASE.
46665
46666 2007-02-04  Bruno Haible  <bruno@clisp.org>
46667
46668         New module mbscasecmp, reduced goal of strcasecmp.
46669         * modules/mbscasecmp: New file.
46670         * lib/mbscasecmp.c: New file, copied from lib/strcasecmp.c.
46671         (mbscasecmp): Renamed from strcasecmp.
46672         * lib/strcasecmp.c: Don't include mbuiter.h.
46673         (strcasecmp): Remove support for multibyte locales.
46674         * lib/string_.h (strcasecmp): Don`t rename. Declare only if missing.
46675         Change the conditional link warning.
46676         (mbscasecmp): New declaration.
46677         * m4/mbscasecmp.m4: New file.
46678         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Enable the replacement only if
46679         the system lacks strcasecmp. Set HAVE_STRCASECMP instead of
46680         REPLACE_STRCASECMP.
46681         (gl_PREREQ_STRCASECMP): Don't require gl_FUNC_MBRTOWC.
46682         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
46683         GNULIB_MBSCASECMP.
46684         * modules/string (string.h): Also substitute GNULIB_MBSCASECMP.
46685         Substitute HAVE_STRCASECMP instead of REPLACE_STRCASECMP.
46686         * modules/strcase (Files): Remove m4/mbrtowc.m4.
46687         (Depends-on): Remove mbuiter.
46688         * MODULES.html.sh (Internationalization functions): Add mbscasecmp.
46689
46690 2007-02-04  Bruno Haible  <bruno@clisp.org>
46691
46692         New module mbsstr. Remove module strstr.
46693         * modules/mbsstr: New file.
46694         * modules/strstr: Remove file.
46695         * lib/mbsstr.c: Renamed from lib/strstr.c.
46696         (mbsstr): Renamed from strstr.
46697         * lib/string_.h (strstr): Remove declaration. Change the conditional
46698         link warning.
46699         (mbsstr): New declaration.
46700         * m4/mbsstr.m4: New file.
46701         * m4/strstr.m4: Remove file.
46702         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
46703         REPLACE_STRSTR.
46704         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSSTR.
46705         Don't initialize GNULIB_STRSTR.
46706         * modules/string (string.h): Also substitute GNULIB_MBSSTR. Don't
46707         substitute GNULIB_STRSTR and REPLACE_STRSTR.
46708         * MODULES.html.sh (Internationalization functions): Add mbsstr.
46709         (Support for systems lacking ANSI C 89): Remove strstr.
46710
46711 2007-02-04  Bruno Haible  <bruno@clisp.org>
46712
46713         New module mbsrchr.
46714         * modules/mbsrchr: New file.
46715         * lib/mbsrchr.c: New file.
46716         * lib/string_.h (strrchr): Add a conditional link warning.
46717         (mbsrchr): New declaration.
46718         * m4/mbsrchr.m4: New file.
46719         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
46720         GNULIB_MBSRCHR.
46721         * modules/string (string.h): Also substitute GNULIB_MBSRCHR.
46722         * MODULES.html.sh (Internationalization functions): Add mbsrchr.
46723
46724 2007-02-04  Bruno Haible  <bruno@clisp.org>
46725
46726         New module mbschr.
46727         * modules/mbschr: New file.
46728         * lib/mbschr.c: New file.
46729         * lib/string_.h (strchr): Add a conditional link warning.
46730         (mbschr): New declaration.
46731         * m4/mbschr.m4: New file.
46732         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
46733         GNULIB_MBSCHR.
46734         * modules/string (string.h): Also substitute GNULIB_MBSCHR.
46735         * MODULES.html.sh (Internationalization functions): Add mbschr.
46736
46737 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
46738
46739         * lib/stdbool_.h: Mention that bool bit-fields aren't supported.
46740
46741         * modules/stdarg (configure.ac-early): Require AC_PROG_CC_STDC.
46742
46743 2007-02-04  Bruno Haible  <bruno@clisp.org>
46744
46745         New module description section 'configure.ac-early'.
46746         * gnulib-tool (sed_extract_prog): Recognize configure.ac-early.
46747         (func_get_autoconf_early_snippet): New function.
46748         (func_import, func_create_testdir): Use it. Remove special cases for
46749         modules 'extensions' and 'lock'.
46750         * modules/extensions (configure.ac-early): Require
46751         gl_USE_SYSTEM_EXTENSIONS.
46752         * modules/lock (configure.ac-early): Require gl_LOCK_EARLY.
46753
46754 2007-02-04  Bruno Haible  <bruno@clisp.org>
46755
46756         Make use of gcj-4.3's -fsource and -ftarget option.
46757         * m4/javacomp.m4 (gt_JAVACOMP): Test whether gcj is in version >= 4.3,
46758         and if so try the options -fsource and -ftarget.
46759         * lib/javacomp.c (compile_using_gcj): Add fsource_option,
46760         source_version, ftarget_option, target_version arguments.
46761         (is_envjavac_gcj43, is_envjavac_gcj43_usable): New functions.
46762         (is_envjavac_oldgcj_14_14_usable): Renamed from
46763         is_envjavac_gcj_14_14_usable.
46764         (is_envjavac_oldgcj_14_13_usable): Renamed from
46765         is_envjavac_gcj_14_13_usable.
46766         (is_gcj_present): Update.
46767         (is_gcj_43, is_gcj43_usable): New functions.
46768         (is_oldgcj_14_14_usable): Renamed from is_gcj_14_14_usable. Update.
46769         (is_oldgcj_14_13_usable): Renamed from is_gcj_14_13_usable. Update.
46770         (compile_java_class): Test whether gcj is in version >= 4.3, and if so
46771         try the options -fsource and -ftarget.
46772
46773 2007-02-03  Paul Eggert  <eggert@cs.ucla.edu>
46774
46775         * lib/xalloc.h (x2nrealloc): Fix an unlikely bug in the overflow
46776         checking code.  Set N = ceil (1.5 * N) rather than to a slightly
46777         larger value.
46778
46779 2007-02-03  Jim Meyering  <jim@meyering.net>
46780
46781         Give tools a better chance to allocate space for very large buffers.
46782         * lib/xalloc.h (x2nrealloc): Use 3/2, not 2, as buffer size factor.
46783
46784         Make pwd and readlink work also when run with an unreadable parent dir
46785         on systems with openat support.
46786         * lib/getcwd.c (__getcwd) [HAVE_PARTLY_WORKING_GETCWD]: Use the system
46787         provided getcwd function, even when we have openat support.
46788         Reported by Dmitry V. Levin in <http://bugzilla.redhat.com/227168>.
46789
46790 2007-02-02  Bruno Haible  <bruno@clisp.org>
46791
46792         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
46793         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): Provoke a link
46794         error only if GNULIB_POSIXCHECK is defined. Needed to avoid artificial
46795         portability problems if one of these functions is only used on specific
46796         platforms.
46797         Reported by Paul Eggert.
46798
46799 2007-02-02  Paul Eggert  <eggert@cs.ucla.edu>
46800
46801         Avoid mempcpy in the regex code, as the string.h mempcpy stuff
46802         is causing more trouble than it's curing.
46803         * lib/regex_internal.h (__mempcpy): Remove.
46804         * lib/regcomp.c (regerror): Rewrite to avoid the need for mempcpy
46805         (and make the code a tad smaller to boot).
46806         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for mempcpy.
46807
46808 2007-02-02  Jim Meyering  <jim@meyering.net>
46809
46810         * modules/arpa_inet: Put AC_PROG_MKDIR_P in the configure.ac:
46811         section, not in the Makefile.am: one.
46812
46813 2007-02-02  Eric Blake  <ebb9@byu.net>
46814
46815         * lib/strchrnul.c: Always include config.h first.
46816
46817         * modules/mountlist (Depends-on): Revert 2007-01-31 change,
46818         gnulib strstr is not necessary here.
46819
46820 2007-02-02  Simon Josefsson  <simon@josefsson.org>
46821
46822         * m4/socklen.m4: Fix typo.
46823
46824 2007-02-02  Eric Blake  <ebb9@byu.net>
46825
46826         * modules/arpa_inet (Makefile.am): Use MKDIR_P to avoid races.
46827         * modules/netinet_in (Makefile.am): Likewise.
46828
46829 2007-02-01  Bruno Haible  <bruno@clisp.org>
46830
46831         * lib/string_.h (GL_LINK_WARNING): New macro.
46832         (strcasecmp, strstr, strcasestr): If provided by the system,
46833         conditionally define as a macro that leads to a warning instead of to
46834         an error.
46835         (strncasecmp): Conditionally define as a macro that leads to a warning.
46836
46837 2007-02-01  Karl Berry  <karl@gnu.org>
46838
46839         * config/srclist.txt (strtok_r.c): lose sync, no more strtok_r.h.
46840
46841 2007-02-01  Bruno Haible  <bruno@clisp.org>
46842
46843         * MODULES.html.sh (Unicode string functions): Update after 2007-01-27
46844         renamings.
46845
46846 2007-02-01  Eric Blake  <ebb9@byu.net>
46847
46848         * modules/regex (Depends-on): Revert dependence on mempcpy.
46849         * lib/regex_internal.h [! _LIBC && !__mempcpy]: Undo string
46850         module's definition of mempcpy.
46851         Reported by Paul Eggert.
46852
46853 2007-02-01  Paul Eggert  <eggert@cs.ucla.edu>
46854
46855         * lib/string_.h: If the gnulib module XYZ is not present, undefine
46856         the symbol XYZ before redefining it.  This fixes a problem with
46857         programs that don't use XYZ, when compiled on systems that define
46858         XYZ to something else.
46859
46860 2007-01-31  Paul Eggert  <eggert@cs.ucla.edu>
46861
46862         * lib/mkdir-p.c (make_dir_parents): Close a race condition that
46863         occurs when "mkdir -m foo" creates a setgid directory that is (1)
46864         writeable to group or other and (2) is intended to have a special
46865         mode bit that is set or cleared.  In such a case, the directory
46866         should be neither group- nor other-writeable until the special
46867         mode bits are right.
46868
46869 2007-01-31  Eric Blake  <ebb9@byu.net>
46870
46871         * modules/mountlist (Depends-on): Add strstr.
46872
46873         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Correct m4 usage
46874         bug.
46875         * modules/string (Makefile.am): Remove redundant replacement.
46876         * modules/regex (Depends-on): Add mempcpy.
46877
46878 2007-01-31  Bruno Haible  <bruno@clisp.org>
46879
46880         New module description field 'Link'.
46881         * gnulib-tool (func_usage): Document --extract-link-directive.
46882         (sed_extract_prog): Recognize 'Link' directive.
46883         (func_get_link_directive): New function.
46884         (func_import): Show summary of link directives.
46885         Handle --extract-link-directive option.
46886         * modules/acl (Link): New section.
46887         * modules/clock-time (Link): New section.
46888         * modules/euidaccess (Link): New section.
46889         * modules/gettext (Link): New section.
46890         * modules/iconv (Link): New section.
46891         * modules/lock (Link): New section.
46892         * modules/nanosleep (Link): New section.
46893         * modules/readline (Link): New section.
46894
46895 2007-01-27  Bruno Haible  <bruno@clisp.org>
46896
46897         Enforce the use of gnulib modules for unportable <string.h> functions.
46898         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): New macro.
46899         (gl_STRING_MODULE_INDICATOR_DEFAULTS): New macro.
46900         (gl_HEADER_STRING_H_BODY): Require it.
46901         * lib/string_.h: If the gnulib module XYZ is not present, redefine
46902         the symbol XYZ to one that gives a link error.
46903         * modules/string (Makefile.am): Also substitute the GNULIB_* variables.
46904         * modules/memmem (configure.ac): Invoke gl_STRING_MODULE_INDICATOR.
46905         * modules/mempcpy (configure.ac): Likewise.
46906         * modules/memrchr (configure.ac): Likewise.
46907         * modules/stpcpy (configure.ac): Likewise.
46908         * modules/stpncpy (configure.ac): Likewise.
46909         * modules/strcase (configure.ac): Likewise.
46910         * modules/strcasestr (configure.ac): Likewise.
46911         * modules/strchrnul (configure.ac): Likewise.
46912         * modules/strdup (configure.ac): Likewise.
46913         * modules/strndup (configure.ac): Likewise.
46914         * modules/strnlen (configure.ac): Likewise.
46915         * modules/strpbrk (configure.ac): Likewise.
46916         * modules/strsep (configure.ac): Likewise.
46917         * modules/strstr (configure.ac): Likewise.
46918         * modules/strtok_r (configure.ac): Likewise.
46919
46920 2007-01-31  Jean-Louis Martineau  <martineau@zmanda.com>  (tiny change)
46921
46922         * lib/gai_strerror.c (values): Add EAI_OVERFLOW.
46923
46924 2007-01-30  Jim Meyering  <jim@meyering.net>
46925
46926         * lib/mpsort.c (mpsort): Remove spurious "return" in void function.
46927
46928 2007-01-29  Bruno Haible  <bruno@clisp.org>
46929
46930         * lib/allocsa.h: Use '#if HAVE_*' instead of '#ifdef HAVE_*'.
46931         * lib/execute.c: Likewise.
46932         * lib/pipe.c: Likewise.
46933         * lib/printf-args.h: Likewise.
46934         * lib/printf-args.c: Likewise.
46935         * lib/printf-parse.c: Likewise.
46936         * lib/vasnprintf.c: Likewise.
46937
46938 2007-01-29  Eric Blake  <ebb9@byu.net>
46939
46940         * lib/memrchr.c: Assume <string.h> unconditionally, to pull in
46941         declaration.
46942
46943 2007-01-29  Paul Eggert  <eggert@cs.ucla.edu>
46944
46945         * lib/strptime.h (strptime): Use 'restrict' for args where
46946         POSIX requires this.
46947         * lib/strptime.c (strptime): Likewise.
46948         Change license notice from LGPL to GPL, since gnulib-tool will
46949         change this as needed.
46950         Include <config.h> if _LIBC is not defined, not if HAVE_CONFIG_H is
46951         defined.
46952         Include "strptime.h" first, to check interface.
46953         Do not #undef _LIBC and _NL_CURRENT.
46954         Do not include <stdlib.h>; no longer needed.
46955         Include "time_r.h" and declare ptime_locale_status
46956         only if _LIBC is not defined.
46957         (__P): Remove unused macro.
46958         (match_string): Bring back glibc version, but use it only if _LIBC
46959         is defined.
46960         (__strptime_internal): Compile tm_gmtoff code if _LIBC is defined, too.
46961         Remove unnecessary assertion and abort() call.
46962         Use #ifdef _NL_CURRENT rather than #if 0, for benefit of glibc.
46963         * m4/strptime.m4: Fix serial number comment.
46964         (gl_FUNC_STRPTIME): Require AC_C_RESTRICT, gl_TM_GMTOFF.
46965         * modules/strptime (Files): Add m4/tm_gmtoff.m4.
46966         (Depends-on): Add time_r.
46967
46968 2007-01-29  Bruno Haible  <bruno@clisp.org>
46969
46970         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
46971         strptime.
46972         * modules/strptime (Depends-on): Add stdbool.
46973         * lib/strptime.h: Include <time.h> always. Add comments.
46974
46975 2007-01-29  Yoann Vandoorselaere  <yoann@prelude-ids.org>
46976
46977         * modules/strptime: New file.
46978         * lib/strptime.h: New file.
46979         * lib/strptime.c: New file.
46980         * m4/strptime.m4: New file.
46981
46982 2007-01-28  Paul Eggert  <eggert@cs.ucla.edu>
46983
46984         * MODULES.html.sh: New module mpsort.
46985         * lib/mpsort.c, lib/mpsort.h, m4/mpsort.m4, modules/mpsort: New files.
46986
46987         * lib/regex.h (_Restrict_): Renamed from __restrict, to avoid
46988         a circularity problem with HP-UX ia64 reported by Bob Proulx in
46989         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00394.html>.
46990         All uses changed.
46991         (_Restrict_arr_): Renamed from __restrict_arr, for similar reasons.
46992         All uses changed.
46993         * lib/regcomp.c, lib/regexec.c: Change all uses from __restrict
46994         to _Restrict_.
46995         * lib/regexec.c (regexec): Declare pmatch with _Restrict_arr_, so that
46996         the parameter matches the prototype.
46997
46998 2007-01-28  Jim Meyering  <jim@meyering.net>
46999
47000         * modules/sys_time (Makefile.am) [MOSTLYCLEANFILES]: Do use
47001         sys/time.h here, reverting that part of the previous patch:
47002         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/8959>.
47003
47004 2007-01-28  Bruno Haible  <bruno@clisp.org>
47005
47006         * modules/sys_time (Makefile.am): Build sys/time.h only when it's the
47007         value of $(SYS_TIME_H).
47008         [MOSTLYCLEANFILES]: Now that sys/time.h is created only when needed,
47009         remove it conditionally, too. [added by Jim Meyering]
47010         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Set SYS_TIME_H.
47011         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
47012         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Set SYS_TIME_H when setting
47013         GETTIMEOFDAY_REPLACEMENT to 1.
47014
47015 2007-01-28  Bruno Haible  <bruno@clisp.org>
47016
47017         * m4/unistd_h.m4 (gl_HEADER_UNISTD_DEFAULTS): New macro.
47018         (gl_HEADER_UNISTD): Require it. Don't set UNISTD_H to empty here.
47019         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_HEADER_UNISTD_DEFAULTS.
47020         Set UNISTD_H instead of UNISTD_H2.
47021         * modules/fchdir (BUILT_SOURCES): Drop $(UNISTD_H2).
47022
47023 2007-01-28  Bruno Haible  <bruno@clisp.org>
47024
47025         * modules/mbchar (Makefile.am): Add mbchar.c to lib_SOURCES.
47026         * m4/mbchar.m4 (gl_MBCHAR): Remove AC_LIBOBJ invocation.
47027
47028 2007-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47029
47030         * gnulib-tool (func_emit_lib_Makefile_am, func_add_or_update)
47031         (func_create_testdir): Ensure C locale for `grep' and `tr'
47032         character ranges.
47033         (func_create_megatestdir): Avoid one `grep'.  Fix bug in
47034         ACLOCAL_AMFLAGS parsing state machine.
47035
47036 2007-01-27  Bruno Haible  <bruno@clisp.org>
47037
47038         * modules/unistr/base: Update.
47039
47040 2007-01-27  Bruno Haible  <bruno@clisp.org>
47041
47042         Rename u32-mbtouc -> u32-mbtouc-unsafe, u32-mbtouc-safe -> u32-mbtouc,
47043         u32_mbtouc -> u32_mbtouc_unsafe, u32_mbtouc_safe -> u32_mbtouc.
47044         * modules/unistr/u32-mbtouc-unsafe: Renamed from
47045         modules/unistr/u32-mbtouc.
47046         * lib/unistr/u32-mbtouc-unsafe.c: Renamed from lib/unistr/u32-mbtouc.c.
47047         * lib/unistr.h: Update.
47048         * lib/linebreak.c: Update.
47049         * modules/unistr/u32-mbtouc: Renamed from
47050         modules/unistr/u32-mbtouc-safe.
47051         * lib/unistr/u32-mbtouc.c: Renamed from lib/unistr/u32-mbtouc-safe.c.
47052         * lib/unistr.h: Update.
47053         * lib/unistr/u32-to-u8.c: Update.
47054         * lib/unistr/u32-to-u16.c: Update.
47055
47056 2007-01-27  Bruno Haible  <bruno@clisp.org>
47057
47058         Rename utf16-ucs4 -> utf16-ucs4-unsafe, utf16-ucs4-safe -> utf16-ucs4,
47059         u16_mbtouc -> u16_mbtouc_unsafe, u16_mbtouc_safe -> u16_mbtouc.
47060         * modules/utf16-ucs4-unsafe: Renamed from modules/utf16-ucs4.
47061         * lib/utf16-ucs4-unsafe.h: Renamed from lib/utf16-ucs4.h.
47062         * lib/unistr/utf16-ucs4-unsafe.c: Renamed from lib/unistr/utf16-ucs4.c.
47063         * modules/unistr/u16-mbtouc-unsafe: Renamed from
47064         modules/unistr/u16-mbtouc.
47065         * lib/unistr/u16-mbtouc-unsafe.c: Renamed from lib/unistr/u16-mbtouc.c.
47066         * lib/unistr.h: Update.
47067         * lib/linebreak.c: Update.
47068         * modules/linebreak: Update.
47069         * modules/utf16-ucs4: Renamed from modules/utf16-ucs4-safe.
47070         * lib/utf16-ucs4.h: Renamed from lib/utf16-ucs4-safe.h.
47071         * lib/unistr/utf16-ucs4.c: Renamed from lib/unistr/utf16-ucs4-safe.c.
47072         * modules/unistr/u16-mbtouc: Renamed from
47073         modules/unistr/u16-mbtouc-safe.
47074         * lib/unistr/u16-mbtouc.c: Renamed from lib/unistr/u16-mbtouc-safe.c.
47075         * lib/unistr.h: Update.
47076         * lib/unistr/u16-to-u8.c: Update.
47077         * modules/unistr/u16-to-u8: Update.
47078         * lib/unistr/u16-to-u32.c: Update.
47079         * modules/unistr/u16-to-u32: Update.
47080
47081 2007-01-27  Bruno Haible  <bruno@clisp.org>
47082
47083         Rename utf8-ucs4 -> utf8-ucs4-unsafe, utf8-ucs4-safe -> utf8-ucs4,
47084         u8_mbtouc -> u8_mbtouc_unsafe, u8_mbtouc_safe -> u8_mbtouc.
47085         * modules/utf8-ucs4-unsafe: Renamed from modules/utf8-ucs4.
47086         * lib/utf8-ucs4-unsafe.h: Renamed from lib/utf8-ucs4.h.
47087         * lib/unistr/utf8-ucs4-unsafe.c: Renamed from lib/unistr/utf8-ucs4.c.
47088         * modules/unistr/u8-mbtouc-unsafe: Renamed from
47089         modules/unistr/u8-mbtouc.
47090         * lib/unistr/u8-mbtouc-unsafe.c: Renamed from lib/unistr/u8-mbtouc.c.
47091         * lib/unistr.h: Update.
47092         * lib/striconveh.c: Update.
47093         * modules/striconveh: Update.
47094         * lib/linebreak.c: Update.
47095         * modules/linebreak: Update.
47096         * modules/utf8-ucs4: Renamed from modules/utf8-ucs4-safe.
47097         * lib/utf8-ucs4.h: Renamed from lib/utf8-ucs4-safe.h.
47098         * lib/unistr/utf8-ucs4.c: Renamed from lib/unistr/utf8-ucs4-safe.c.
47099         * modules/unistr/u8-mbtouc: Renamed from modules/unistr/u8-mbtouc-safe.
47100         * lib/unistr/u8-mbtouc.c: Renamed from lib/unistr/u8-mbtouc-safe.c.
47101         * lib/unistr.h: Update.
47102         * lib/striconveh.c: Update.
47103         * modules/striconveh: Update.
47104         * lib/unistr/u8-to-u16.c: Update.
47105         * modules/unistr/u8-to-u16: Update.
47106         * lib/unistr/u8-to-u32.c: Update.
47107         * modules/unistr/u8-to-u32: Update.
47108
47109 2007-01-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47110
47111         Sync from Libtool.
47112         * lib/argz.c: Do not include strings.h nor memory.h, include
47113         string.h unconditionally.  Patch by Simon Josefsson.
47114
47115 2007-01-27  Bruno Haible  <bruno@clisp.org>
47116
47117         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New macro, extracted
47118         from gl_HEADER_STRING_H_BODY.
47119         (gl_HEADER_STRING_H_BODY): Require it.
47120         * m4/memmem.m4 (gl_FUNC_MEMMEM): Require gl_HEADER_STRING_H_DEFAULTS.
47121         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
47122         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
47123         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
47124         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
47125         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Likewise.
47126         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
47127         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
47128         * m4/strdup.m4 (gl_FUNC_STRDUP): Likewise.
47129         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
47130         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
47131         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Likewise.
47132         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
47133         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
47134         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
47135
47136 2007-01-27  Bruno Haible  <bruno@clisp.org>
47137
47138         * gnulib-tool (func_emit_lib_Makefile_am): If $for_test is true, turn
47139         check_PROGRAMS into noinst_PROGRAMS.
47140         (func_emit_tests_Makefile_am): Likewise. Also don't initialize
47141         check_PROGRAMS in this case.
47142         (func_import): Set for_test to false.
47143         (func_create_testdir): Set for_test to true.
47144
47145 2007-01-27  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
47146             Bruno Haible  <bruno@clisp.org>
47147
47148         * modules/strcasestr (Files): Remove lib/strcasestr.h.
47149         (Depends-on): Add string.
47150         (Includes): Use <string.h> instead of strcasestr.h.
47151         * modules/string (Makefile.am): Also substitute the value of
47152         REPLACE_STRCASESTR.
47153         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Don't define strcasestr here;
47154         assume strcasestr is declared in <string.h> not <strings.h>. Also
47155         set REPLACE_STRCASESTR.
47156         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Provide a default value for
47157         REPLACE_STRCASESTR.
47158         * lib/strcasestr.h: Remove file.
47159         * lib/strcasestr.c: Include <string.h> instead of strcasestr.h.
47160         * lib/string_.h (strcasestr): New declaration.
47161
47162 2007-01-27  Bruno Haible  <bruno@clisp.org>
47163
47164         * lib/string_.h: Use 'extern'.
47165
47166 2007-01-27  Jim Meyering  <jim@meyering.net>
47167
47168         * lib/regex_internal.c (re_string_reconstruct): Remove declaration
47169         of set-but-not-used local, "q".
47170
47171         * lib/mempcpy.c: Include <config.h> before <string.h>.
47172         This fixes a compilation error on HP-UX, due to the system's
47173         "restrict"-using mempcpy prototype.
47174
47175 2007-01-26  Bruno Haible  <bruno@clisp.org>
47176
47177         Small optimization.
47178         * lib/javacomp.c: Include c-strstr.h.
47179          (is_envjavac_gcj): Use c_strstr instead of strstr.
47180         * modules/javacomp (Depends-on): Add c-strstr, remove strstr.
47181
47182 2007-01-26  Bruno Haible  <bruno@clisp.org>
47183
47184         * MODULES.html.sh (Unicode string functions): Add the new modules.
47185
47186         * modules/uniconv/u32-strconv-to-locale: New file.
47187         * lib/uniconv/u32-strconv-to-locale.c: New file.
47188
47189         * modules/uniconv/u16-strconv-to-locale: New file.
47190         * lib/uniconv/u16-strconv-to-locale.c: New file.
47191
47192         * modules/uniconv/u8-strconv-to-locale: New file.
47193         * lib/uniconv/u8-strconv-to-locale.c: New file.
47194
47195         * modules/uniconv/u32-strconv-from-locale: New file.
47196         * lib/uniconv/u32-strconv-from-locale.c: New file.
47197
47198         * modules/uniconv/u16-strconv-from-locale: New file.
47199         * lib/uniconv/u16-strconv-from-locale.c: New file.
47200
47201         * modules/uniconv/u8-strconv-from-locale: New file.
47202         * lib/uniconv/u8-strconv-from-locale.c: New file.
47203
47204         * modules/uniconv/u32-strconv-to-enc: New file.
47205         * lib/uniconv/u32-strconv-to-enc.c: New file.
47206         * modules/uniconv/u32-strconv-to-enc-tests: New file.
47207         * tests/uniconv/test-u32-strconv-to-enc.c: New file.
47208
47209         * modules/uniconv/u16-strconv-to-enc: New file.
47210         * lib/uniconv/u16-strconv-to-enc.c: New file.
47211         * lib/uniconv/u-strconv-to-enc.h: New file.
47212         * modules/uniconv/u16-strconv-to-enc-tests: New file.
47213         * tests/uniconv/test-u16-strconv-to-enc.c: New file.
47214
47215         * modules/uniconv/u8-strconv-to-enc: New file.
47216         * lib/uniconv/u8-strconv-to-enc.c: New file.
47217         * modules/uniconv/u8-strconv-to-enc-tests: New file.
47218         * tests/uniconv/test-u8-strconv-to-enc.c: New file.
47219
47220         * modules/uniconv/u32-strconv-from-enc: New file.
47221         * lib/uniconv/u32-strconv-from-enc.c: New file.
47222         * modules/uniconv/u32-strconv-from-enc-tests: New file.
47223         * tests/uniconv/test-u32-strconv-from-enc.c: New file.
47224
47225         * modules/uniconv/u16-strconv-from-enc: New file.
47226         * lib/uniconv/u16-strconv-from-enc.c: New file.
47227         * modules/uniconv/u16-strconv-from-enc-tests: New file.
47228         * tests/uniconv/test-u16-strconv-from-enc.c: New file.
47229
47230         * modules/uniconv/u8-strconv-from-enc: New file.
47231         * lib/uniconv/u8-strconv-from-enc.c: New file.
47232         * lib/uniconv/u-strconv-from-enc.h: New file.
47233         * modules/uniconv/u8-strconv-from-enc-tests: New file.
47234         * tests/uniconv/test-u8-strconv-from-enc.c: New file.
47235
47236         * modules/uniconv/u32-conv-from-enc: New file.
47237         * lib/uniconv/u32-conv-from-enc.c: New file.
47238         * modules/uniconv/u32-conv-from-enc-tests: New file.
47239         * tests/uniconv/test-u32-conv-from-enc.c: New file.
47240
47241         * modules/uniconv/u16-conv-from-enc: New file.
47242         * lib/uniconv/u16-conv-from-enc.c: New file.
47243         * lib/uniconv/u-conv-from-enc.h: New file.
47244         * modules/uniconv/u16-conv-from-enc-tests: New file.
47245         * tests/uniconv/test-u16-conv-from-enc.c: New file.
47246
47247         * modules/uniconv/u8-conv-from-enc: New file.
47248         * lib/uniconv/u8-conv-from-enc.c: New file.
47249         * modules/uniconv/u8-conv-from-enc-tests: New file.
47250         * tests/uniconv/test-u8-conv-from-enc.c: New file.
47251
47252         * modules/uniconv/base: New file.
47253         * lib/uniconv.h: New file.
47254
47255 2007-01-26  Paul Eggert  <eggert@cs.ucla.edu>
47256
47257         * doc/gnulib-tool.texi (Initial import): Update to match current
47258         behavior with strdup module.
47259         * lib/.cppi-disable: Remove strcase.h, strdup.h, strndup.h, strnlen.h.
47260         * lib/memmem.h: Remove; all uses removed.  This is now done
47261         by <string.h>.
47262         * lib/mempcpy.h: Likewise.
47263         * lib/memrchr.h: Likewise.
47264         * lib/stpcpy.h: Likewise.
47265         * lib/stpncpy.h: Likewise.
47266         * lib/strcase.h: Likewise.
47267         * lib/strchrnul.h: Likewise.
47268         * lib/strdup.h: Likewise.
47269         * lib/strndup.h: Likewise.
47270         * lib/strnlen.h: Likewise.
47271         * lib/strpbrk.h: Likewise.
47272         * lib/strsep.h: Likewise.
47273         * lib/strstr.h: Likewise.
47274         * lib/strtok_r.h: Likewise.
47275         * lib/string_.h: New file.
47276         * lib/argp-namefrob.h: Don't include no-longer-existent include files.
47277         Rely on <string.h> instead.
47278         * lib/canon-host.c: Likewise.
47279         * lib/chdir-long.c: Likewise.
47280         * lib/concatpath.c: Likewise.
47281         * lib/exclude.c: Likewise.
47282         * lib/fchdir.c: Likewise.
47283         * lib/getaddrinfo.c: Likewise.
47284         * lib/getcwd.c: Likewise.
47285         * lib/getsubopt.c: Likewise.
47286         * lib/glob.c: Likewise.
47287         * lib/hard-locale.c: Likewise.
47288         * lib/iconvme.c: Likewise.
47289         * lib/javacomp.c: Likewise.
47290         * lib/mempcpy.c: Likewise.
47291         * lib/memrchr.c: Likewise.
47292         * lib/regex_internal.h: Likewise.
47293         * lib/stpncpy.c: Likewise.
47294         * lib/strcasecmp.c: Likewise.
47295         * lib/strchrnul.c: Likewise.
47296         * lib/strdup.c: Likewise.
47297         * lib/striconv.c: Likewise.
47298         * lib/striconveh.c: Likewise.
47299         * lib/striconveha.c: Likewise.
47300         * lib/strncasecmp.c: Likewise.
47301         * lib/strndup.c: Likewise.
47302         * lib/strnlen.c: Likewise.
47303         * lib/strsep.c: Likewise.
47304         * lib/strstr.c: Likewise.
47305         * lib/strtok_r.c: Likewise.
47306         * lib/userspec.c: Likewise.
47307         * lib/w32spawn.h: Likewise.
47308         * lib/xstrndup.c: Likewise.
47309         * lib/mountlist.c (strstr): Remove decl.
47310         * m4/string_h.m4: New file.
47311         * m4/memmem.m4 (gl_FUNC_MEMMEM): Set HAVE_DECL_MEMMEM if necessary.
47312         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Set HAVE_MEMPCPY if necessary.
47313         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Set HAVE_MEMRCHR
47314         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Set HAVE_STPCPY if necessary.
47315         * m4/stpncpy.m4 (gl_PREREQ_STPNCPY): Set HAVE_STPNCPY if necessary.
47316         * m4/strcase.m4 (gl_FUNC_STRCASECMP):
47317         Set REPLACE_STRCASECMP if necessary.
47318         (gl_FUNC_STRNCASECMP): Set HAVE_DECL_STRNCASECMP if necessary.
47319         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Set HAVE_STRCHRNUL if necessary.
47320         * m4/strdup.m4 (gl_FUNC_STRDUP): Set HAVE_DECL_STRDUP if necessary.
47321         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_DECL_STRNLEN and
47322         HAVE_DECL_STRDUP if necessary.
47323         (gl_PREREQ_STRNLEN): Don't bother to check for strnlen decl,
47324         since gl_FUNC_STRNDUP does that now.
47325         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set HAVE_DECL_STRNLEN if necessary.
47326         Check for decl here...
47327         (gl_PREREQ_STRNLEN): ... not here.
47328         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Set HAVE_STRPBRK if necessary.
47329         * m4/strsep.m4 (gl_FUNC_STRSEP): Set HAVE_STRSEP if necessary.
47330         * m4/strstr.m4 (gl_FUNC_STRSTR): Set REPLACE_STRSTR if necessary.
47331         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_DECL_STRTOK_R if
47332         necessary.
47333         * modules/string: New file.
47334         * modules/memmem (Files): Remove special-purpose include file.
47335         (Depends-on): Add string.
47336         (Include): Include <string.h>, not the removed file.
47337         * modules/mempcpy: Likewise.
47338         * modules/memrchr: Likewise.
47339         * modules/stpcpy: Likewise.
47340         * modules/stpncpy: Likewise.
47341         * modules/strcase: Likewise.
47342         * modules/strchrnul: Likewise.
47343         * modules/strdup: Likewise.
47344         * modules/strndup: Likewise.
47345         * modules/strnlen: Likewise.
47346         * modules/strpbrk: Likewise.
47347         * modules/strsep: Likewise.
47348         * modules/strstr: Likewise.
47349         * modules/strtok_r: Likewise.
47350         * tests/test-dirname.c: Don't include "strdup.h", since
47351         <string.h> now suffices.
47352         * tests/test-memmem.c: Don't include "memmem.h", since
47353         <string.h> now suffices.
47354
47355 2007-01-25  Bruno Haible  <bruno@clisp.org>
47356
47357         * lib/striconveh.c (mem_cd_iconveh_internal): Ignore *lengthp if
47358         *resultp is 0.
47359
47360         * lib/unistr/u16-to-u8.c (u16_to_u8): Fix u8_uctomb invocation.
47361         * lib/unistr/u32-to-u8.c (u32_to_u8): Likewise.
47362         * lib/unistr/u8-to-u16.c (u8_to_u16): Fix u16_uctomb invocation.
47363         * lib/unistr/u32-to-u16.c (u32_to_u16): Likewise.
47364
47365         * modules/unistr/u8-to-u16 (Depends-on): Add missing modules.
47366         * modules/unistr/u8-to-u32 (Depends-on): Add missing modules.
47367         * modules/unistr/u16-to-u8 (Depends-on): Add missing modules.
47368         * modules/unistr/u16-to-u32 (Depends-on): Add missing modules.
47369         * modules/unistr/u32-to-u8 (Depends-on): Add missing modules.
47370         * modules/unistr/u32-to-u16 (Depends-on): Add missing modules.
47371
47372 2007-01-24  Bruno Haible  <bruno@clisp.org>
47373
47374         Don't AC_REQUIRE autoconf macros that invoke AC_LIBOBJ. See
47375         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00279.html>.
47376         * m4/argp.m4 (gl_ARGP): Invoke, don't require, gl_GETOPT_SUBSTITUTE.
47377         * m4/fts.m4 (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): Invoke, don't require,
47378         gl_FUNC_FTS_CORE.
47379         (gl_FUNC_FTS_CORE): Invoke, don't require, gl_FUNC_OPENAT.
47380         * m4/lstat.m4 (gl_FUNC_LSTAT): Invoke, don't require,
47381         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
47382         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Invoke, don't require, AC_FUNC_MEMCMP.
47383         * m4/mktime.m4 (gl_FUNC_MKTIME): Invoke, don't require, AC_FUNC_MKTIME.
47384         * m4/openat.m4 (gl_FUNC_OPENAT): Invoke, don't require,
47385         gl_FUNC_FCHOWNAT.
47386         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Invoke, don't require,
47387         gl_FUNC_STRFTIME.
47388         * m4/strtod.m4 (gl_FUNC_STRTOD): Invoke, don't require, AC_FUNC_STRTOD.
47389         Reported by Ralf Wildenhues.
47390
47391 2007-01-24  Bruno Haible  <bruno@clisp.org>
47392
47393         Drop AC_REQUIRE calls that are redundant with the module dependencies.
47394         * m4/canon-host.m4 (gl_PREREQ_CANON_HOST): Don't require
47395         gl_GETADDRINFO.
47396         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Don't require AM_STDBOOL_H,
47397         gl_FUNC_MEMPCPY, gl_FUNC_OPENAT, gl_FUNC_MEMRCHR.
47398         * m4/openat.m4 (gl_PREREQ_OPENAT): Don't require gl_SAVE_CWD.
47399
47400 2007-01-24  Paul Eggert  <eggert@cs.ucla.edu>
47401
47402         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Add test for glibc bug 361.
47403         Don't use 'exit'; just return from 'main'.
47404         (_AC_LIBOBJ_FNMATCH): Check for headers and functions just once.
47405
47406         * lib/fnmatch_.h: Readjust white space and comments to match
47407         glibc, to avoid spurious diffs.
47408
47409 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
47410
47411         * lib/fnmatch_loop.c (internal_fnmatch) [!_LIBC]: #if-out the
47412         2004-12-01 change by Jakub Jelinek, since this code won't compile
47413         if !LIBC.  Problem reported by Bob Proulx.
47414
47415 2007-01-23  Bruno Haible  <bruno@clisp.org>
47416
47417         * lib/striconveh.c: Include c-strcaseeq.h.
47418         (mem_iconveh, str_iconveh): Use STRCASEEQ instead of c_strcasecmp.
47419         * modules/striconveh (Depends-on): Add c-strcaseeq.
47420
47421 2007-01-23  Bruno Haible  <bruno@clisp.org>
47422
47423         * MODULES.html.sh (String handling): Add streq, c-strcaseeq.
47424
47425         * modules/c-strcaseeq: New file.
47426         * lib/c-strcaseeq.h: New file.
47427
47428         * modules/streq: New file.
47429         * lib/streq.h: New file.
47430
47431 2007-01-23  Bruno Haible  <bruno@clisp.org>
47432
47433         * modules/striconveha-tests: New file.
47434         * tests/test-striconveha.c: New file.
47435
47436         * lib/striconveha.h: Include <stdbool.h>.
47437         (mem_iconveha, str_iconveha): Add 'transliterate' argument.
47438         * lib/striconveha.c: Include allocsa.h, strdup.h, c-strcase.h.
47439         (mem_iconveha_notranslit): Renamed from mem_iconveha.
47440         (mem_iconveha): New function.
47441         (str_iconveha_notranslit): Renamed from str_iconveha.
47442         (str_iconveha): New function.
47443         * modules/striconveha (Depends-on): Add stdbool, allocsa, strdup,
47444         c-strcase.
47445
47446 2007-01-23  Bruno Haible  <bruno@clisp.org>
47447
47448         * lib/striconveha.c (mem_iconveha): Fix endless recursion. Try all
47449         encodings without forgiving before trying any encoding with handler.
47450         (str_iconveha): Try all encodings without forgiving before trying any
47451         encoding with handler.
47452
47453 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
47454
47455         Import the following changes from libc.
47456
47457         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
47458
47459         * lib/fnmatch_loop.c: Adjust for changed secondary hash function.
47460
47461         2004-12-01  Jakub Jelinek  <jakub@redhat.com>
47462
47463         * lib/fnmatch_loop.c (internal_fnmatch): Clear is_seqval after
47464         normal_bracket label.
47465
47466         2004-09-01  Jakub Jelinek  <jakub@redhat.com>
47467
47468         [BZ #361]
47469         * lib/fnmatch_loop.c (FCT): For backslash between brackets, branch
47470         to normal_bracket after fetching the next character.
47471
47472 2007-01-22  Bruno Haible  <bruno@clisp.org>
47473
47474         * lib/striconveh.h (mem_cd_iconveh, mem_iconveh): Add 'offsets'
47475         argument.
47476         * lib/striconveh.c (iconv_carefully_1): New function.
47477         (mem_cd_iconveh_internal, mem_cd_iconveh, mem_iconveh): Add 'offsets'
47478         argument.
47479         (str_cd_iconveh): Update.
47480         * lib/striconveha.h (mem_iconveha): Add 'offsets' argument.
47481         * lib/striconveha.c (mem_iconveha): Add 'offsets' argument.
47482         * tests/test-striconveh.c (MAGIC): New macro.
47483         (new_offsets): New function.
47484         (main): Test call with and without offsets.
47485
47486 2007-01-22  Bruno Haible  <bruno@clisp.org>
47487
47488         * modules/sys_stat (Makefile.am): Use @MKDIR_P@ instead of $(MKDIR_P).
47489         * modules/sys_select (Makefile.am): Likewise.
47490         * modules/sys_socket (Makefile.am): Likewise.
47491         * modules/sys_time (Makefile.am): Likewise.
47492
47493 2007-01-22  Paul Eggert  <eggert@cs.ucla.edu>
47494
47495         * modules/gettimeofday (License): Change from GPL to LGPL, since
47496         gettimeofday is a library function.
47497
47498 2007-01-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
47499
47500         * lib/poll.c (rpl_poll): Don't check against FD_SETSIZE under Win32.
47501
47502 2007-01-21  Bruno Haible  <bruno@clisp.org>
47503
47504         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): New macro.
47505
47506 2007-01-21  Bruno Haible  <bruno@clisp.org>
47507
47508         * modules/striconveha: New file.
47509         * lib/striconveha.h: New file.
47510         * lib/striconveha.c: New file.
47511         * MODULES.html.sh (Internationalization functions): Add striconveha.
47512         * lib/striconv.c (str_iconv): Optimize the case of an empty input
47513         string.
47514         * lib/striconveh.c (mem_iconveh, str_iconveh): Likewise.
47515
47516 2007-01-21  Bruno Haible  <bruno@clisp.org>
47517
47518         * lib/striconv.c (str_iconv): Guarantee errno is set when strdup fails.
47519         * lib/striconveh.c (str_iconveh): Likewise.
47520
47521 2007-01-21  Bruno Haible  <bruno@clisp.org>
47522
47523         * lib/striconveh.h (mem_iconveh): New declaration.
47524         * lib/striconveh.c (mem_iconveh): New function.
47525         * tests/test-striconveh.c (main): Add tests for mem_iconveh.
47526
47527 2007-01-21  Bruno Haible  <bruno@clisp.org>
47528
47529         * lib/xstriconv.h (xmem_cd_iconv): Change specification.
47530
47531         * lib/striconveh.h (mem_cd_iconveh): Change specification.
47532         * lib/striconveh.c (mem_cd_iconveh): Don't free the user-supplied
47533         original result buffer.
47534         (str_cd_iconveh): Update.
47535         * tests/test-striconveh.c (main): Update.
47536
47537         * lib/striconv.h (mem_cd_iconv): Change specification.
47538         * lib/striconv.c (mem_cd_iconv): Don't free the user-supplied original
47539         result buffer.
47540         (str_cd_iconv): Update.
47541         * tests/test-striconv.c (main): Update.
47542
47543 2007-01-21  Bruno Haible  <bruno@clisp.org>
47544
47545         * gnulib-tool: Fix test whether sed is GNU sed supporting --posix.
47546
47547 2007-01-20  Jim Meyering  <jim@meyering.net>
47548
47549         * lib/userspec.c (parse_with_separator): If a user or group string
47550         starts with "+", skip the corresponding name-to-ID look-up, since
47551         such a look-up must fail: user and group names may not include "+".
47552
47553 2007-01-19  Paul Eggert  <eggert@cs.ucla.edu>
47554
47555         * lib/poll.c: Include sys/time.h and time.h unconditionally,
47556         since we now assume the sys_time module.
47557         * m4/poll.m4 (gl_PREREQ_POLL): Don't require AC_HEADER_TIME or
47558         check for sys/time.h; no longer needed.
47559         * modules/poll (Depends-on): Depend on sys_time.
47560
47561 2007-01-18  Bruno Haible  <bruno@clisp.org>
47562
47563         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove test for <sys/time.h>.
47564         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
47565
47566         * m4/tempname.m4 (gl_PREREQ_TEMPNAME): Remove tests for sys/time.h and
47567         gettimeofday.
47568
47569         * tests/test-gettimeofday.c: Include <time.h>.
47570         (dummy): Remove variable.
47571
47572         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Renamed from
47573         gl_HEADER_SYS_TIME_H.
47574         (gl_HEADER_SYS_TIME_H): New macro.
47575
47576         * lib/sys_time_.h: Test GETTIMEOFDAY_REPLACEMENT instead of
47577         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
47578         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
47579         gl_FUNC_GETTIMEOFDAY_CLOBBER): Set GETTIMEOFDAY_REPLACEMENT instead of
47580         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
47581         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H): Initialize
47582         GETTIMEOFDAY_REPLACEMENT instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE
47583         and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
47584         * modules/sys_time (sys/time.h): Substitute GETTIMEOFDAY_REPLACEMENT
47585         instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and
47586         GETTIMEOFDAY_CLOBBERS_LOCALTIME.
47587
47588         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Undo the
47589         last change; it caused a compilation error when cross-compiling to
47590         Cygwin.
47591
47592 2007-01-18  Jim Meyering  <jim@meyering.net>
47593
47594         Use "$(MKDIR_P) sys", not race-prone "test -d sys || mkdir sys".
47595         * modules/sys_stat (Makefile.am): Use "$(MKDIR_P) sys", rather
47596         than the race-prone "test -d sys || mkdir sys".
47597         (configure.ac): Use AC_PROG_MKDIR_P.
47598         * modules/sys_select: Likewise.
47599         * modules/sys_socket: Likewise.
47600         * modules/sys_time: Likewise.
47601
47602 2007-01-18  Eric Blake  <ebb9@byu.net>
47603
47604         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Also
47605         replace gettimeofday.
47606         * lib/gettimeofday.c (rpl_gettimeofday): Declare with replacement
47607         name, to avoid infinite recursion.
47608
47609 2007-01-17  Paul Eggert  <eggert@cs.ucla.edu>
47610
47611         * MODULES.html.sh (Support for systems lacking POSIX:2001): New
47612         module sys_time.
47613         * lib/gethrxtime.c: Include <sys/time.h>, since we can no longer
47614         assume timespec.h defines struct timeval.
47615         * lib/settime.c: Likewise.
47616         * lib/utimens.c: Likewise.
47617         * lib/gettime.c (gettime): Remove test against HAVE_GETTIMEOFDAY,
47618         since we now assume the gettimeofday module.
47619         * lib/tempname.c (__gen_tempname): Likewise.
47620         * lib/gettimeofday.h: Remove.
47621         * lib/gettimeofday.c: Include <sys/time.h> instead of "gettimeofday.h".
47622         Don't include <sys/types.h> and <stdlib.h>; shouldn't be needed.
47623         Include <time.h>, for 'time()'.
47624         (localtime_buffer_addr): Also use this workaround if
47625         TZSET_CLOBBERS_LOCALTIME.  Set to a dummy static variable by default,
47626         to simplify the uses.  All uses changed.
47627         (localtime, gmtime, tzset, gettimeofday): Reformat slightly so
47628         that #undef is inside {}, and 'const' follows type name consistently.
47629         (tzset): Define replacement only if TZSET_CLOBBERS_LOCALTIME.
47630         (gettimeofday): Do not use the maximum possible value for
47631         tv->tv_usec, since that might break usages other than ls.c.
47632         Instead, we'll leave ls.c alone.  This undoes today's patch
47633         by Bruno.  Add a compile-time warning for 1s-clock resolution;
47634         we've never observed the problem but might as well keep the
47635         canary.
47636         * lib/nanosleep.c: Include timespec.h first, for interface check.
47637         * lib/nanosleep.c: Include <sys/time.h> unconditionally, since we
47638         now assume the sys_time module.
47639         * lib/tempname.c: Likewise.
47640         * lib/timespec.h: Likewise.
47641         * lib/nanosleep.c: Don't worry about TIME_WITH_SYS_TIME; no longer
47642         needed.
47643         * lib/strftime.c: Likewise.
47644         * lib/timespec.h: Likewise.
47645         * lib/posixtm.c: Include posixtm.h first, for interface check.
47646         Don't worry about TM_IN_SYS_TIME; that's wayyy obsolete.
47647         * lib/posixtm.h: Include stdbool.h and time.h, for proper interface.
47648         * lib/strftime.c: Don't include <sys/types.h>; shouldn't be needed.
47649         * lib/sys_time_.h: New file.
47650         * lib/timespec.h (struct timespec): Use long int, not long.
47651         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
47652         (gl_FUNC_GETTIMEOFDAY_CLOBBER, gl_PREREQ_GETTIMEOFDAY):
47653         Remove obsolescent call to AC_HEADER_TIME.
47654         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
47655         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
47656         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
47657         * m4/timespec.m4 (gl_TIMESPEC, gl_CHECK_TYPE_STRUCT_TIMESPEC):
47658         Likewise.
47659         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
47660         * m4/utimbuf.m4 (gl_CHECK_TYPE_STRUCT_UTIMBUF): Likewise.
47661         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Move sys/time.h tests
47662         into the sys_time module.  Check for gettimeofday just once.
47663         Prefix our variables with gl_, not with ac_ or jm_.  Tighten test
47664         for gettimeofday signature to just check the signature.  Merely
47665         compile it, since linking doesn't test signature.  Improve test for
47666         whether gettimeofday.o is actually needed.
47667         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Renamed from
47668         AC_FUNC_GETTIMEOFDAY_CLOBBER.  All uses changed.  Use
47669         AC_RUN_IFELSE rather than AC_TRY_RUN.  If clobbering, set
47670         and define GETTIMEOFDAY_CLOBBERS_LOCALTIME.
47671         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Don't define
47672         GETTIMEOFDAY_CLOBBERS_LOCALTIME; that's gl_FUNC_GETTIMEOFDAY_CLOBBER's
47673         job.  Don't define tzset; that's gl_FUNC_TZSET_CLOBBER's job.
47674         * m4/mktime.m4 (AC_FUNC_MKTIME): Just include <time.h> rather
47675         than worrying about sys/time.h.
47676         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
47677         Don't bother worrying about TIME_WITH_SYS_TIME.
47678         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
47679         * m4/posixtm.m4 (gl_POSIXTM): Remove obsolescent call to AC_STRUCT_TM.
47680         * m4/sys_time_h.m4: New file.
47681         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require gl_HEADER_SYS_TIME_H.
47682         Don't include sys/time.h.  Return from main rather than exiting.
47683         Define TZSET_CLOBBERS_LOCALTIME, for consistency with other names;
47684         all uses changed.
47685         * modules/gethrxtime (Depends-on): Add sys_time.
47686         * modules/gettime (Depends-on): Likewise.
47687         * modules/gettimeofday (Depends-on): Likewise.
47688         * modules/nanosleep (Depends-on): Likewise.
47689         * modules/settime (Depends-on): Likewise.
47690         * modules/tempname (Depends-on): Likewise.
47691         * modules/utimens (Depends-on): Likewise.
47692         * modules/gettimeofday (Files): Remove lib/gettimeofday.h.
47693         (Include:) Change back to <sys/time.h>.
47694         (Maintainer:) Add self.
47695         * modules/sys_time: New file.
47696         * modules/tempname (Depends-on): Add gettimeofday.
47697         * tests/test-gettimeofday.c: Include <sys/time.h>
47698         rather than gettimeofday.h.
47699
47700 2007-01-17  Bruno Haible  <bruno@clisp.org>
47701
47702         * gnulib-tool (func_get_license): Revert last patch. Instead, let
47703         the license default to GPL.
47704         (func_create_testdir): Don't complain if a module is LGPL and its
47705         tests module depends on GPLed modules.
47706
47707 2007-01-17  Bruno Haible  <bruno@clisp.org>
47708
47709         * lib/gettimeofday.c (gettimeofday): Add code for the case
47710         HAVE_GETTIMEOFDAY && !GETTIMEOFDAY_CLOBBERS_LOCALTIME. Use the
47711         maximum possible value for tv->tv_usec, rather than the minimum one.
47712
47713 2005-10-08  Martin Lambers  <marlam@marlam.de>
47714 2005-10-08  Paul Eggert  <eggert@cs.ucla.edu>
47715 2007-01-16  Bruno Haible  <bruno@clisp.org>
47716
47717         * modules/gettimeofday (Files): Add lib/gettimeofday.h.
47718         (configure.ac): Remove AC_FUNC_GETTIMEOFDAY_CLOBBER. Add
47719         gl_FUNC_GETTIMEOFDAY.
47720         (Include): Add gettimeofday.h.
47721         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): New macro.
47722         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't invoke gl_PREREQ_GETTIMEOFDAY.
47723         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Define
47724         GETTIMEOFDAY_CLOBBERS_LOCALTIME. Invoke gl_PREREQ_GETTIMEOFDAY here.
47725         (gl_PREREQ_GETTIMEOFDAY): Check for <sys/timeb.h> and _ftime.
47726         * lib/gettimeofday.h: New file.
47727         * lib/gettimeofday.c: Include <sys/timeb.h>.
47728         (localtime_buffer_addr, rpl_localtime, rpl_gmtime, rpl_tzset): Define
47729         only if GETTIMEOFDAY_CLOBBERS_LOCALTIME.
47730         (rpl_gettimeofday) [!HAVE_GETTIMEOFDAY]: Use _ftime() when available;
47731         fall back on time().
47732
47733         * tests/test-gettimeofday.c: New file.
47734         * modules/gettimeofday-tests: New file.
47735
47736 2007-01-16  Eric Blake  <ebb9@byu.net>
47737
47738         * modules/fnmatch (Depends-on): Depend on wchar.
47739         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Assume <wchar.h>.
47740         * m4/fnmatch.m4: Likewise.
47741         * modules/mbchar (Makefile.am): Assume <wchar.h>.
47742         * m4/mbchar.m4: Likewise.
47743         * modules/mbswidth (Depends-on): Depend on wchar.
47744         * lib/mbswidth.c: Assume <wchar.h>.
47745         * m4/mbswidth.m4: Likewise.
47746         * modules/quotearg (Depends-on): Depend on wchar.
47747         * lib/quotearg.c: Assume <wchar.h>.
47748         * m4/quotearg.m4: Likewise.
47749         * modules/regex (Depends-on): Depend on wchar.
47750         * lib/regex_internal.h: Assume <wchar.h>.
47751         * m4/regex.m4: Likewise.
47752         * modules/stdint (Depends-on): Depend on wchar.
47753         * lib/stdint_.h [!defined WCHAR_MIN]: Assume <wchar.h>.
47754         * m4/stdint.m4: Likewise.
47755         * tests/test-stdint.c [HAVE_WINT_T]: Likewise.
47756         * modules/strftime (Depends-on): Depend on wchar.
47757         * lib/strftime.c (DO_MULTIBYTE): Assume <wchar.h>.
47758         * modules/strtol (Depends-on): Depend on wchar.
47759         * lib/strtol.c: Assume <wchar.h>.
47760         * modules/wcwidth (Depends-on): Depend on wchar.
47761         * lib/wcwidth.h: Assume <wchar.h>.
47762         * m4/wcwidth.m4: Likewise.
47763
47764 2007-01-16  Bruno Haible  <bruno@clisp.org>
47765
47766         * modules/csharpexec-script: New, created from...
47767         * modules/csharpexec: ... this.
47768
47769 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
47770
47771         * modules/javaexec-script: New, created from...
47772         * modules/javaexec: ... this.
47773
47774 2007-01-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
47775
47776         * modules/poll (Dependencies): Add sys_select.
47777
47778 2007-01-15  Jim Meyering  <jim@meyering.net>
47779
47780         * m4/readutmp.m4 (gl_READUTMP): Work around AIX 4.3 struct-
47781         redefinition bug when using both <utmp.h> and <utmpx.h> headers.
47782         * lib/readutmp.h: Likewise.  Reported by Daniel Richard G. in
47783         <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/9415>.
47784
47785 2007-01-15  Bruno Haible  <bruno@clisp.org>
47786
47787         * modules/striconveh: New file.
47788         * lib/striconveh.h: New file.
47789         * lib/striconveh.c: New file.
47790         * MODULES.html.sh (Internationalization functions): Add striconveh.
47791
47792         * modules/striconveh-tests: New file.
47793         * tests/test-striconveh.c: New file.
47794
47795 2007-01-15  Bruno Haible  <bruno@clisp.org>
47796
47797         * lib/striconv.c (str_cd_iconv): Use the first algorithm if iconv is
47798         not from GNU libiconv or GNU libc.
47799
47800 2007-01-15  Bruno Haible  <bruno@clisp.org>
47801
47802         * doc/gnulib-intro.texi (Copyright): Explain the different license
47803         terms for module descriptions, autoconf macros, tests, documentation.
47804
47805 2007-01-14  Bruno Haible  <bruno@clisp.org>
47806
47807         * modules/striconv-tests: New file.
47808         * tests/test-striconv.c: New file.
47809
47810 2007-01-14  Bruno Haible  <bruno@clisp.org>
47811
47812         * modules/iconv-tests: New file.
47813         * tests/test-iconv.c: New file.
47814
47815 2007-01-14  Bruno Haible  <bruno@clisp.org>
47816
47817         * gnulib-tool (func_get_license): For test modules, use the license of
47818         the main module.
47819
47820 2007-01-14  Bruno Haible  <bruno@clisp.org>
47821
47822         * modules/iconv (Include): Clarify that <iconv.h> can only be included
47823         if iconv is found to exist.
47824
47825 2007-01-14  Bruno Haible  <bruno@clisp.org>
47826
47827         * modules/c-ctype-tests: New file.
47828         * tests/test-c-ctype.c: New file.
47829
47830 2007-01-14  Bruno Haible  <bruno@clisp.org>
47831
47832         * modules/binary-io-tests: New file.
47833         * tests/test-binary-io.sh: New file.
47834         * tests/test-binary-io.c: New file.
47835
47836 2007-01-14  Bruno Haible  <bruno@clisp.org>
47837
47838         * modules/array-oset-tests: New file.
47839         * tests/test-array_oset.c: New file.
47840
47841 2007-01-14  Bruno Haible  <bruno@clisp.org>
47842
47843         * modules/array-list-tests: New file.
47844         * tests/test-array_list.c: New file.
47845
47846 2007-01-14  Bruno Haible  <bruno@clisp.org>
47847
47848         * gnulib-tool (func_create_testdir): Don't unnecessarily run configure
47849         and make.
47850         Reported by Simon Josefsson in
47851         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00139.html>
47852
47853 2007-01-14  Bruno Haible  <bruno@clisp.org>
47854
47855         * modules/allocsa-tests: New file.
47856         * tests/test-allocsa.c: New file.
47857
47858 2007-01-14  Bruno Haible  <bruno@clisp.org>
47859
47860         * modules/fchdir (Depends-on): Add absolute-header.
47861         * modules/unistd (Depends-on): Likewise.
47862
47863 2006-12-30  Bruno Haible  <bruno@clisp.org>
47864
47865         * modules/fchdir: New file.
47866         * modules/unistd (Files): Add lib/unistd_.h.
47867         (Makefile.am): Generate unistd.h from unistd_.h.
47868         * lib/fchdir.c: New file.
47869         * lib/dirent_.h: New file.
47870         * lib/unistd_.h: New file.
47871         * lib/fcntl_.h (open) [FCHDIR_REPLACEMENT]: New replacement.
47872         * m4/fchdir.m4: New file.
47873         * m4/unistd_h.m4 (gl_PREREQ_UNISTD): New macro.
47874         (gl_HEADER_UNISTD): Invoke it.
47875         * lib/dup-safer.c (dup_safer) [FCHDIR_REPLACEMENT]: Use the dup
47876         function.
47877         * lib/backupfile.c (opendir, closedir): Undefine.
47878         * lib/chown.c (open, close): Undefine.
47879         * lib/clean-temp.c (open, close): Undefine.
47880         * lib/copy-file.c (open, close): Undefine.
47881         * lib/execute.c (open, close): Undefine.
47882         * lib/fsusage.c (open, close): Undefine.
47883         * lib/gc-gnulib.c (open, close): Undefine.
47884         * lib/getcwd.c (opendir, closedir): Undefine.
47885         * lib/glob.c (opendir, closedir): Undefine.
47886         * lib/javacomp.c (open, close): Undefine.
47887         * lib/mountlist.c (open, close, opendir, closedir): Undefine.
47888         * lib/openat-proc.c (open, close): Undefine.
47889         * lib/pagealign_alloc.c (open, close): Undefine.
47890         * lib/pipe.c (open, close): Undefine.
47891         * lib/progreloc.c (open, close): Undefine.
47892         * lib/savedir.c (opendir, closedir): Undefine.
47893         * lib/utime.c (open, close): Undefine.
47894         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add fchdir.
47895
47896 2007-01-10  Bruno Haible  <bruno@clisp.org>
47897
47898         * lib/striconv.c (mem_cd_iconv): Align the temporary buffer.
47899
47900 2007-01-12  Eric Blake  <ebb9@byu.net>
47901
47902         Provide a robust <wchar.h>.  Further simplifications are now
47903         possible in other modules, but not included here.
47904         * modules/wchar: New module.
47905         * m4/wchar.m4: New file.
47906         * lib/wchar_.h: Likewise.
47907         * modules/mbchar (Depends-on): Depend on wchar, as the first use
47908         of the new module.
47909         * MODULES.html.sh (Extended multibyte and wide character utilities):
47910         New section.
47911
47912 2007-01-12  Paul Eggert  <eggert@cs.ucla.edu>
47913
47914         * lib/xreadlink.c (SYMLINK_MAX) [!defined SYMLINK_MAX]: Define
47915         to a reasonable default for memory allocation.
47916         (xreadlink): Don't allocate a huge buffer, to work around a buggy
47917         file system that reports garbage st_size values for symlinks.
47918         Problem reported by Liyang Hu.
47919
47920 2007-01-11  Simon Josefsson  <simon@josefsson.org>
47921
47922         * gnulib-tool (func_all_modules): Exclude all .* files (e.g.,
47923         Emacs .#* auto-save files).
47924
47925 2007-01-11  Bruno Haible  <bruno@clisp.org>
47926
47927         * gnulib-tool (func_all_modules): Exclude all files inside the CVS
47928         directory.
47929
47930 2007-01-10  Paul Eggert  <eggert@cs.ucla.edu>
47931
47932         Use @...@ consistently in lib/wctype_.h.
47933         * lib/wctype_.h [HAVE_WINT_T]: Go back to using @...@, but rely
47934         on it being set to 1 or 0.
47935         * m4/wctype.m4 (gl_WCTYPE_H): Set HAVE_WINT_T to 1 or 0, and
47936         go back to AC_SUBSTing it.
47937         * modules/wctype (Makefile.am): Undo previous change.
47938
47939 2007-01-10  Eric Blake  <ebb9@byu.net>
47940
47941         * lib/wctype_.h [HAVE_WINT_T]: Rely on AC_DEFINE.
47942         * m4/wctype.m4 (gl_WCTYPE_H): No need to AC_SUBST(HAVE_WINT_T).
47943         * modules/wctype (Makefile.am): Likewise.
47944         Reported by Chris McGuire.
47945
47946 2007-01-10  Jim Meyering  <jim@meyering.net>
47947
47948         fts.c: a small readability/maintainability improvement
47949         * lib/fts.c (fts_read): Make this code slightly more readable and
47950         maintainable by hoisting the "sp->fts_cur = p" assignments to
47951         immediately follow the statements that set P.  Derived from
47952         the patch by Miloslav Trmac in http://bugzilla.redhat.com/222089.
47953
47954 2007-01-10  Eric Blake  <ebb9@byu.net>
47955
47956         * lib/wctype_.h [HAVE_WINT_T]: Include <stddef.h> before
47957         <wchar.h>, to work around BSDI bug in BSD/OS 4.0.1.
47958         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
47959         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
47960         Reported by Chris McGuire.
47961
47962 2007-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47963
47964         * gnulib-tool (func_all_modules): Use POSIX conforming escaping
47965         in sed script.
47966
47967 2007-01-09  Bruno Haible  <bruno@clisp.org>
47968
47969         * MODULES.html.sh: Accept options --cvs-urls, --git-urls.
47970         (repo_url_prefix, repo_url_suffix, repo_url_suffix_repl): New
47971         variables.
47972         (func_module): Use them.
47973
47974 2007-01-09  Bruno Haible  <bruno@clisp.org>
47975
47976         * modules/unistr/base: New file.
47977         * lib/unistr.h: New file.
47978
47979         * modules/unistr/u8-to-u16: New file.
47980         * lib/unistr/u8-to-u16.c: New file.
47981
47982         * modules/unistr/u8-to-u32: New file.
47983         * lib/unistr/u8-to-u32.c: New file.
47984
47985         * modules/unistr/u16-to-u8: New file.
47986         * lib/unistr/u16-to-u8.c: New file.
47987
47988         * modules/unistr/u16-to-u32: New file.
47989         * lib/unistr/u16-to-u32.c: New file.
47990
47991         * modules/unistr/u32-to-u8: New file.
47992         * lib/unistr/u32-to-u8.c: New file.
47993
47994         * modules/unistr/u32-to-u16: New file.
47995         * lib/unistr/u32-to-u16.c: New file.
47996
47997         * modules/unistr/u8-check: New file.
47998         * modules/unistr/u16-check: New file.
47999         * modules/unistr/u32-check: New file.
48000         * lib/unistr/u8-check.c: New file.
48001         * lib/unistr/u16-check.c: New file.
48002         * lib/unistr/u32-check.c: New file.
48003
48004         * modules/unistr/u8-chr: New file.
48005         * modules/unistr/u16-chr: New file.
48006         * modules/unistr/u32-chr: New file.
48007         * lib/unistr/u8-chr.c: New file.
48008         * lib/unistr/u16-chr.c: New file.
48009         * lib/unistr/u32-chr.c: New file.
48010
48011         * modules/unistr/u8-cmp: New file.
48012         * modules/unistr/u16-cmp: New file.
48013         * modules/unistr/u32-cmp: New file.
48014         * lib/unistr/u8-cmp.c: New file.
48015         * lib/unistr/u16-cmp.c: New file.
48016         * lib/unistr/u32-cmp.c: New file.
48017
48018         * modules/unistr/u8-cpy: New file.
48019         * modules/unistr/u16-cpy: New file.
48020         * modules/unistr/u32-cpy: New file.
48021         * lib/unistr/u8-cpy.c: New file.
48022         * lib/unistr/u16-cpy.c: New file.
48023         * lib/unistr/u32-cpy.c: New file.
48024         * lib/unistr/u-cpy.h: New file.
48025
48026         * modules/unistr/u8-cpy-alloc: New file.
48027         * modules/unistr/u16-cpy-alloc: New file.
48028         * modules/unistr/u32-cpy-alloc: New file.
48029         * lib/unistr/u8-cpy-alloc.c: New file.
48030         * lib/unistr/u16-cpy-alloc.c: New file.
48031         * lib/unistr/u32-cpy-alloc.c: New file.
48032         * lib/unistr/u-cpy-alloc.h: New file.
48033
48034         * modules/unistr/u8-endswith: New file.
48035         * modules/unistr/u16-endswith: New file.
48036         * modules/unistr/u32-endswith: New file.
48037         * lib/unistr/u8-endswith.c: New file.
48038         * lib/unistr/u16-endswith.c: New file.
48039         * lib/unistr/u32-endswith.c: New file.
48040         * lib/unistr/u-endswith.h: New file.
48041
48042         * modules/unistr/u8-mblen: New file.
48043         * modules/unistr/u16-mblen: New file.
48044         * modules/unistr/u32-mblen: New file.
48045         * lib/unistr/u8-mblen.c: New file.
48046         * lib/unistr/u16-mblen.c: New file.
48047         * lib/unistr/u32-mblen.c: New file.
48048
48049         * modules/unistr/u8-mbtouc: New file.
48050         * modules/unistr/u16-mbtouc: New file.
48051         * modules/unistr/u32-mbtouc: New file.
48052         * lib/unistr/u8-mbtouc.c: New file.
48053         * lib/unistr/u16-mbtouc.c: New file.
48054         * lib/unistr/u32-mbtouc.c: New file.
48055
48056         * modules/unistr/u8-mbtouc-safe: New file.
48057         * modules/unistr/u16-mbtouc-safe: New file.
48058         * modules/unistr/u32-mbtouc-safe: New file.
48059         * lib/unistr/u8-mbtouc-safe.c: New file.
48060         * lib/unistr/u16-mbtouc-safe.c: New file.
48061         * lib/unistr/u32-mbtouc-safe.c: New file.
48062
48063         * modules/unistr/u8-move: New file.
48064         * modules/unistr/u16-move: New file.
48065         * modules/unistr/u32-move: New file.
48066         * lib/unistr/u8-move.c: New file.
48067         * lib/unistr/u16-move.c: New file.
48068         * lib/unistr/u32-move.c: New file.
48069         * lib/unistr/u-move.h: New file.
48070
48071         * modules/unistr/u8-next: New file.
48072         * modules/unistr/u16-next: New file.
48073         * modules/unistr/u32-next: New file.
48074         * lib/unistr/u8-next.c: New file.
48075         * lib/unistr/u16-next.c: New file.
48076         * lib/unistr/u32-next.c: New file.
48077
48078         * modules/unistr/u8-prev: New file.
48079         * modules/unistr/u16-prev: New file.
48080         * modules/unistr/u32-prev: New file.
48081         * lib/unistr/u8-prev.c: New file.
48082         * lib/unistr/u16-prev.c: New file.
48083         * lib/unistr/u32-prev.c: New file.
48084
48085         * modules/unistr/u8-set: New file.
48086         * modules/unistr/u16-set: New file.
48087         * modules/unistr/u32-set: New file.
48088         * lib/unistr/u8-set.c: New file.
48089         * lib/unistr/u16-set.c: New file.
48090         * lib/unistr/u32-set.c: New file.
48091         * lib/unistr/u-set.h: New file.
48092
48093         * modules/unistr/u8-startswith: New file.
48094         * modules/unistr/u16-startswith: New file.
48095         * modules/unistr/u32-startswith: New file.
48096         * lib/unistr/u8-startswith.c: New file.
48097         * lib/unistr/u16-startswith.c: New file.
48098         * lib/unistr/u32-startswith.c: New file.
48099         * lib/unistr/u-startswith.h: New file.
48100
48101         * modules/unistr/u8-stpcpy: New file.
48102         * modules/unistr/u16-stpcpy: New file.
48103         * modules/unistr/u32-stpcpy: New file.
48104         * lib/unistr/u8-stpcpy.c: New file.
48105         * lib/unistr/u16-stpcpy.c: New file.
48106         * lib/unistr/u32-stpcpy.c: New file.
48107         * lib/unistr/u-stpcpy.h: New file.
48108
48109         * modules/unistr/u8-stpncpy: New file.
48110         * modules/unistr/u16-stpncpy: New file.
48111         * modules/unistr/u32-stpncpy: New file.
48112         * lib/unistr/u8-stpncpy.c: New file.
48113         * lib/unistr/u16-stpncpy.c: New file.
48114         * lib/unistr/u32-stpncpy.c: New file.
48115         * lib/unistr/u-stpncpy.h: New file.
48116
48117         * modules/unistr/u8-strcat: New file.
48118         * modules/unistr/u16-strcat: New file.
48119         * modules/unistr/u32-strcat: New file.
48120         * lib/unistr/u8-strcat.c: New file.
48121         * lib/unistr/u16-strcat.c: New file.
48122         * lib/unistr/u32-strcat.c: New file.
48123         * lib/unistr/u-strcat.h: New file.
48124
48125         * modules/unistr/u8-strchr: New file.
48126         * modules/unistr/u16-strchr: New file.
48127         * modules/unistr/u32-strchr: New file.
48128         * lib/unistr/u8-strchr.c: New file.
48129         * lib/unistr/u16-strchr.c: New file.
48130         * lib/unistr/u32-strchr.c: New file.
48131
48132         * modules/unistr/u8-strcmp: New file.
48133         * modules/unistr/u16-strcmp: New file.
48134         * modules/unistr/u32-strcmp: New file.
48135         * lib/unistr/u8-strcmp.c: New file.
48136         * lib/unistr/u16-strcmp.c: New file.
48137         * lib/unistr/u32-strcmp.c: New file.
48138
48139         * modules/unistr/u8-strcpy: New file.
48140         * modules/unistr/u16-strcpy: New file.
48141         * modules/unistr/u32-strcpy: New file.
48142         * lib/unistr/u8-strcpy.c: New file.
48143         * lib/unistr/u16-strcpy.c: New file.
48144         * lib/unistr/u32-strcpy.c: New file.
48145         * lib/unistr/u-strcpy.h: New file.
48146
48147         * modules/unistr/u8-strcspn: New file.
48148         * modules/unistr/u16-strcspn: New file.
48149         * modules/unistr/u32-strcspn: New file.
48150         * lib/unistr/u8-strcspn.c: New file.
48151         * lib/unistr/u16-strcspn.c: New file.
48152         * lib/unistr/u32-strcspn.c: New file.
48153         * lib/unistr/u-strcspn.h: New file.
48154
48155         * modules/unistr/u8-strdup: New file.
48156         * modules/unistr/u16-strdup: New file.
48157         * modules/unistr/u32-strdup: New file.
48158         * lib/unistr/u8-strdup.c: New file.
48159         * lib/unistr/u16-strdup.c: New file.
48160         * lib/unistr/u32-strdup.c: New file.
48161         * lib/unistr/u-strdup.h: New file.
48162
48163         * modules/unistr/u8-strlen: New file.
48164         * modules/unistr/u16-strlen: New file.
48165         * modules/unistr/u32-strlen: New file.
48166         * lib/unistr/u8-strlen.c: New file.
48167         * lib/unistr/u16-strlen.c: New file.
48168         * lib/unistr/u32-strlen.c: New file.
48169         * lib/unistr/u-strlen.h: New file.
48170
48171         * modules/unistr/u8-strmblen: New file.
48172         * modules/unistr/u16-strmblen: New file.
48173         * modules/unistr/u32-strmblen: New file.
48174         * lib/unistr/u8-strmblen.c: New file.
48175         * lib/unistr/u16-strmblen.c: New file.
48176         * lib/unistr/u32-strmblen.c: New file.
48177
48178         * modules/unistr/u8-strmbtouc: New file.
48179         * modules/unistr/u16-strmbtouc: New file.
48180         * modules/unistr/u32-strmbtouc: New file.
48181         * lib/unistr/u8-strmbtouc.c: New file.
48182         * lib/unistr/u16-strmbtouc.c: New file.
48183         * lib/unistr/u32-strmbtouc.c: New file.
48184
48185         * modules/unistr/u8-strncat: New file.
48186         * modules/unistr/u16-strncat: New file.
48187         * modules/unistr/u32-strncat: New file.
48188         * lib/unistr/u8-strncat.c: New file.
48189         * lib/unistr/u16-strncat.c: New file.
48190         * lib/unistr/u32-strncat.c: New file.
48191         * lib/unistr/u-strncat.h: New file.
48192
48193         * modules/unistr/u8-strncmp: New file.
48194         * modules/unistr/u16-strncmp: New file.
48195         * modules/unistr/u32-strncmp: New file.
48196         * lib/unistr/u8-strncmp.c: New file.
48197         * lib/unistr/u16-strncmp.c: New file.
48198         * lib/unistr/u32-strncmp.c: New file.
48199
48200         * modules/unistr/u8-strncpy: New file.
48201         * modules/unistr/u16-strncpy: New file.
48202         * modules/unistr/u32-strncpy: New file.
48203         * lib/unistr/u8-strncpy.c: New file.
48204         * lib/unistr/u16-strncpy.c: New file.
48205         * lib/unistr/u32-strncpy.c: New file.
48206         * lib/unistr/u-strncpy.h: New file.
48207
48208         * modules/unistr/u8-strnlen: New file.
48209         * modules/unistr/u16-strnlen: New file.
48210         * modules/unistr/u32-strnlen: New file.
48211         * lib/unistr/u8-strnlen.c: New file.
48212         * lib/unistr/u16-strnlen.c: New file.
48213         * lib/unistr/u32-strnlen.c: New file.
48214         * lib/unistr/u-strnlen.h: New file.
48215
48216         * modules/unistr/u8-strpbrk: New file.
48217         * modules/unistr/u16-strpbrk: New file.
48218         * modules/unistr/u32-strpbrk: New file.
48219         * lib/unistr/u8-strpbrk.c: New file.
48220         * lib/unistr/u16-strpbrk.c: New file.
48221         * lib/unistr/u32-strpbrk.c: New file.
48222         * lib/unistr/u-strpbrk.h: New file.
48223
48224         * modules/unistr/u8-strrchr: New file.
48225         * modules/unistr/u16-strrchr: New file.
48226         * modules/unistr/u32-strrchr: New file.
48227         * lib/unistr/u8-strrchr.c: New file.
48228         * lib/unistr/u16-strrchr.c: New file.
48229         * lib/unistr/u32-strrchr.c: New file.
48230
48231         * modules/unistr/u8-strspn: New file.
48232         * modules/unistr/u16-strspn: New file.
48233         * modules/unistr/u32-strspn: New file.
48234         * lib/unistr/u8-strspn.c: New file.
48235         * lib/unistr/u16-strspn.c: New file.
48236         * lib/unistr/u32-strspn.c: New file.
48237         * lib/unistr/u-strspn.h: New file.
48238
48239         * modules/unistr/u8-strstr: New file.
48240         * modules/unistr/u16-strstr: New file.
48241         * modules/unistr/u32-strstr: New file.
48242         * lib/unistr/u8-strstr.c: New file.
48243         * lib/unistr/u16-strstr.c: New file.
48244         * lib/unistr/u32-strstr.c: New file.
48245         * lib/unistr/u-strstr.h: New file.
48246
48247         * modules/unistr/u8-strtok: New file.
48248         * modules/unistr/u16-strtok: New file.
48249         * modules/unistr/u32-strtok: New file.
48250         * lib/unistr/u8-strtok.c: New file.
48251         * lib/unistr/u16-strtok.c: New file.
48252         * lib/unistr/u32-strtok.c: New file.
48253         * lib/unistr/u-strtok.h: New file.
48254
48255         * modules/unistr/u8-uctomb: New file.
48256         * modules/unistr/u16-uctomb: New file.
48257         * modules/unistr/u32-uctomb: New file.
48258         * lib/unistr/u8-uctomb.c: New file.
48259         * lib/unistr/u16-uctomb.c: New file.
48260         * lib/unistr/u32-uctomb.c: New file.
48261
48262         * MODULES.html.sh (Unicode string functions): Add the new modules.
48263
48264 2007-01-08  Bruno Haible  <bruno@clisp.org>
48265
48266         * gnulib-tool (func_all_modules): Use find, not ls, to traverse the
48267         modules directory. Filter out CVS, ChangeLog, COPYING, README also from
48268         subdirectories.
48269
48270 2007-01-08  Karl Berry  <karl@gnu.org>
48271
48272         * doc/error.texi: mention that main() fns must set program_name
48273         when progname is used.
48274
48275 2007-01-08  Paul Eggert  <eggert@cs.ucla.edu>
48276
48277         * m4/wctype.m4 (gl_WCTYPE_H): Compute ABSOLUTE_WCTYPE_H even if
48278         WCTYPE_H is empty, for the benefit of builds from non-distclean
48279         directories.  Problem reported by Eric Blake in
48280         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00157.html>.
48281
48282 2007-01-08  Bruno Haible  <bruno@clisp.org>
48283
48284         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Remove
48285         PROVIDE_CANONICALIZE_FILENAME_MODE macro definition.
48286         * lib/canonicalize.h: Test GNULIB_CANONICALIZE instead of
48287         PROVIDE_CANONICALIZE_FILENAME_MODE.
48288         * modules/canonicalize (configure.ac): Use gl_MODULE_INDICATOR.
48289
48290 2007-01-08  Bruno Haible  <bruno@clisp.org>
48291
48292         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove _LGPL_PACKAGE macro definition.
48293         * lib/fts_.h (_LGPL_PACKAGE): Remove macro.
48294         Use !GNULIB_FTS instead of _LGPL_PACKAGE.
48295         * lib/fts.c: Likewise.
48296         * modules/fts (configure.ac): Use gl_MODULE_INDICATOR.
48297
48298 2006-12-25  Bruno Haible  <bruno@clisp.org>
48299
48300         * modules/utf8-ucs4-safe: New file.
48301         * lib/utf8-ucs4-safe.h: New file.
48302         * lib/unistr/utf8-ucs4-safe.c: New file.
48303
48304         * modules/utf16-ucs4-safe: New file.
48305         * lib/utf16-ucs4-safe.h: New file.
48306         * lib/unistr/utf16-ucs4-safe.c: New file.
48307
48308         * MODULES.html.sh (Unicode string functions): Add the new modules.
48309
48310 2007-01-08  Bruno Haible  <bruno@clisp.org>
48311
48312         * modules/utf8-ucs4 (Files, lib_SOURCES): Add unistr/utf8-ucs4.c.
48313         (Depends-on): Add unitypes.
48314         * lib/utf8-ucs4.h: Add double-inclusion guard. Include unitypes.h.
48315         (u8_mbtouc_aux): Move out to separate file.
48316         (u8_mbtouc): Use ucs4_t, uint8_t types.
48317         * lib/unistr/utf8-ucs4.c: New file.
48318
48319         * modules/utf16-ucs4 (Files, lib_SOURCES): Add unistr/utf16-ucs4.c.
48320         (Depends-on): Add unitypes.
48321         * lib/utf16-ucs4.h: Add double-inclusion guard. Include unitypes.h.
48322         (u16_mbtouc_aux): Move out to separate file.
48323         (u16_mbtouc): Use ucs4_t, uint16_t types.
48324         * lib/unistr/utf16-ucs4.c: New file.
48325
48326         * modules/ucs4-utf8 (Files, lib_SOURCES): Add unistr/ucs4-utf8.c.
48327         (Depends-on): Add unitypes.
48328         * lib/ucs4-utf8.h: Add double-inclusion guard. Include unitypes.h.
48329         (u8_uctomb_aux): Move out to separate file.
48330         (u8_uctomb): Use ucs4_t, uint8_t types.
48331         * lib/unistr/ucs4-utf8.c: New file.
48332
48333         * modules/ucs4-utf16 (Files, lib_SOURCES): Add unistr/ucs4-utf16.c.
48334         (Depends-on): Add unitypes.
48335         * lib/ucs4-utf16.h: Add double-inclusion guard. Include unitypes.h.
48336         (u16_uctomb_aux): Move out to separate file.
48337         (u16_uctomb): Use ucs4_t, uint16_t types.
48338         * lib/unistr/ucs4-utf16.c: New file.
48339
48340 2006-12-25  Bruno Haible  <bruno@clisp.org>
48341
48342         * modules/unitypes: New file.
48343         * lib/unitypes.h: New file.
48344         * MODULES.html.sh (func_all_modules): New section "Unicode string
48345         functions". Move ucs4-utf8, ucs4-utf16, utf8-ucs4, utf16-ucs4 to
48346         this section. Add unitypes.
48347
48348 2007-01-08  Bruno Haible  <bruno@clisp.org>
48349
48350         Avoid variable names that conflict with those from libtool.
48351         * m4/lib-link.m4 (AC_LIB_RPATH, AC_LIB_LINKFLAGS_BODY,
48352         AC_LIB_LINKFLAGS_FROM_LIBS): Rename libext to acl_libext,
48353         shlibext to acl_shlibext, libname_spec to acl_libname_spec,
48354         library_names_spec to acl_library_names_spec, hardcode_* to
48355         acl_hardcode_*.
48356         Reported by Ralf Wildenhues.
48357
48358 2007-01-08  Bruno Haible  <bruno@clisp.org>
48359
48360         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Remove GC_USE_ARCFOUR macro
48361         definition.
48362         * m4/gc-arctwo.m4 (gl_GC_ARCTWO): Remove GC_USE_ARCTWO macro
48363         definition.
48364         * m4/gc-des.m4 (gl_GC_DES): Remove GC_USE_DES macro definition.
48365         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Remove GC_USE_HMAC_MD5 macro
48366         definition.
48367         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Remove GC_USE_HMAC_SHA1 macro
48368         definition.
48369         * m4/gc-md2.m4 (gl_GC_MD2): Remove GC_USE_MD2 macro definition.
48370         * m4/gc-md4.m4 (gl_GC_MD4): Remove GC_USE_MD4 macro definition.
48371         * m4/gc-md5.m4 (gl_GC_MD5): Remove GC_USE_MD5 macro definition.
48372         * m4/gc-random.m4 (gl_GC_RANDOM): Remove GC_USE_RANDOM macro
48373         definition.
48374         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Remove GC_USE_RIJNDAEL macro
48375         definition.
48376         * m4/gc-sha1.m4 (gl_GC_SHA1): Remove GC_USE_SHA1 macro definition.
48377         * lib/gc-gnulib.c: Use GNULIB_GC_<algorithm> instead of
48378         GC_USE_<algorithm>.
48379         * lib/gc-libgcrypt.c: Likewise.
48380         * modules/gc-arcfour (configure.ac): Use gl_MODULE_INDICATOR.
48381         * modules/gc-arctwo (configure.ac): Likewise.
48382         * modules/gc-des (configure.ac): Likewise.
48383         * modules/gc-hmac-md5 (configure.ac): Likewise.
48384         * modules/gc-hmac-sha1 (configure.ac): Likewise.
48385         * modules/gc-md2 (configure.ac): Likewise.
48386         * modules/gc-md4 (configure.ac): Likewise.
48387         * modules/gc-md5 (configure.ac): Likewise.
48388         * modules/gc-random (configure.ac): Likewise.
48389         * modules/gc-rijndael (configure.ac): Likewise.
48390         * modules/gc-sha1 (configure.ac): Likewise.
48391
48392 2007-01-08  Bruno Haible  <bruno@clisp.org>
48393
48394         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove GNULIB_CLOSE_STREAM
48395         macro definition.
48396         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove GNULIB_FCNTL_SAFER macro
48397         definition.
48398         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove GNULIB_FOPEN_SAFER macro
48399         definition.
48400         * modules/close-stream (configure.ac): Invoke gl_MODULE_INDICATOR.
48401         * modules/fcntl-safer (configure.ac): Likewise.
48402         * modules/fopen-safer (configure.ac): Likewise.
48403         * modules/fwriteerror (configure.ac): Likewise. Remove explicit
48404         GNULIB_FWRITEERROR macro definition.
48405
48406 2007-01-08  Bruno Haible  <bruno@clisp.org>
48407
48408         * m4/gnulib-common.m4: New file.
48409         * gnulib-tool (func_get_autoconf_snippet): Undo last change.
48410         (func_get_filelist): Add m4/gnulib-common.m4.
48411
48412 2007-01-08  Bruno Haible  <bruno@clisp.org>
48413
48414         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Simplify the sorting
48415         command.
48416
48417 2007-01-08  Jim Meyering  <jim@meyering.net>
48418
48419         Use a more robust test for a "can't happen" condition.
48420         * lib/fts.c (fts_read): Revert the change of 2006-11-22, since it
48421         narrowed the st_size value.  Presuming the "can't happen" condition
48422         is true, that narrowing could conceivably convert an invalid st_size
48423         value into a valid one.  Instead, use a change based on Matthew
48424         Woehlke's original patch.
48425
48426         Slight readability improvement: use an assert-like macro
48427         in place of literal "abort ()" uses.
48428         * lib/fts.c (fts_assert): Define.
48429         (fts_set_stat_required, cwd_advance_fd, fts_read, fd_ring_check):
48430         Use this macro instead of a bare 'abort'.
48431
48432 2007-01-05  Paul Eggert  <eggert@cs.ucla.edu>
48433
48434         Don't worry about using IRIX 5.3's wctype.h broken definitions;
48435         simply work around them.
48436         * lib/wctype_.h: Remove test for HAVE_WCTYPE_CTMP_BUG.
48437         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower):
48438         (iswprint, iswpunct, iswspace, iswupper, iswxdigit): Undef before
48439         declaring.
48440         Don't bother to define as macros, since the standard doesn't require it.
48441         * m4/wctype.m4 (WCTYPE_H, ABSOLUTE_WCTYPE_H): Simplify, since we no
48442         longer worry about IRIX 5.3.
48443         (HAVE_WCTYPE_CTMP_BUG): Remove.
48444
48445 2007-01-04  Paul Eggert  <eggert@cs.ucla.edu>
48446
48447         * lib/wctype_.h (_ctmp_) [HAVE_WCTYPE_CTMP_BUG]: Now of type wchar_t,
48448         not wint_t.  Also, include <ctype.h>, to fix another IRIX bug.
48449         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
48450         Problems reported by Georg Schwarz for IRIX 5.3.
48451
48452         * gnulib-tool (autoconf_minversion): Take the maximum version number
48453         found, not the minimum.  Problem reported by James Youngman.
48454
48455 2007-01-03  Karl Berry  <karl@gnu.org>
48456
48457         * doc/error.texi: new file, explaining interaction with progname.
48458         * doc/gnulib.texi: include it.  Update copyright.
48459
48460 2007-01-03  Simon Josefsson  <simon@josefsson.org>
48461
48462         * gnulib-tool (func_create_testdir): Run AC_CANONICAL_BUILD and
48463         AC_CANONICAL_HOST, to improve autobuild outputs.
48464
48465 2007-01-03  Paolo Bonzini  <bonzini@gnu.org>
48466             Yoann Vandoorselaere <yoann.v@prelude-ids.com>
48467
48468         * lib/poll.c (poll): Use recv on Mac OS X to distinguish connected
48469         sockets, server sockets, and other file descriptors.  Count errors
48470         to compute the return value.  Reorder the code a bit to be easier
48471         to follow.  Don't set event bits that were not requested (except
48472         POLLERR and POLLHUP).
48473
48474 2007-01-01  Bruno Haible  <bruno@clisp.org>
48475
48476         * modules/lchmod (Include): Require lchmod.h, not lchown.h.
48477
48478 2007-01-03  Jim Meyering  <jim@meyering.net>
48479
48480         * modules/fts-lgpl (Depends-on): Add i-ring.  Reported by Bruno Haible.
48481
48482 2007-01-02  Bruno Haible  <bruno@clisp.org>
48483
48484         * modules/settime (Include): Require timespec.h.
48485         * modules/nanosleep (Include): Likewise.
48486
48487 2007-01-01  Bruno Haible  <bruno@clisp.org>
48488
48489         * gnulib-tool (func_emit_copyright_notice): Bump year.
48490         (func_get_autoconf_snippet): Emit a GNULIB_<modulename> macro.
48491
48492 2007-01-01  Bruno Haible  <bruno@clisp.org>
48493
48494         Improve support for OpenBSD.
48495         * build-aux/config.rpath (libname_spec): Export.
48496         (library_names_spec): New variable. Export.
48497         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Extract libname_spec and
48498         library_names_spec from the config.rpath output. Locate shared library
48499         through the name pattern in library_names_spec.
48500
48501 2007-01-01  Eric Blake  <ebb9@byu.net>
48502
48503         * lib/version-etc.c (COPYRIGHT_YEAR): Bump for new year.
48504
48505 2006-12-30  Paul Eggert  <eggert@cs.ucla.edu>
48506
48507         * gnulib-tool (SORT): Remove, since we no longer assume GNU sort.
48508         Rewrite so as not to assume GNU sort or "tail -1".  Also, don't
48509         assume the C locale, and avoid an "eval" that could cause trouble.
48510         Problem with SORT reported by Bob Proulx.
48511
48512         * lib/getpagesize.h (getpagesize) [defined __amigaos4__]:
48513         Define.  Trivial patch from Henning Nielsen Lund, originally
48514         sent to bug-grep@gnu.org today.
48515
48516 2006-12-29  Paul Eggert  <eggert@cs.ucla.edu>
48517
48518         * lib/acl.h: Include sys/types.h and sys/stat.h, for mode_t and
48519         struct stat.  Problem reported by Henning Nielsen Lund.
48520         * lib/acl.c: Include acl.h first, to check interface.  Don't
48521         bother to include sys/types.h and sys/stat.h again.
48522
48523 2006-12-28  Paul Eggert  <eggert@cs.ucla.edu>
48524
48525         Import the following change from libc; problem reported by
48526         Sven Verdoolaege.
48527
48528         2005-10-13  Ulrich Drepper  <drepper@redhat.com>
48529
48530         [BZ #1373]
48531         * lib/argp.h: Remove __NTH for __argp_usage inline function.
48532
48533 2006-12-28  Jim Meyering  <jim@meyering.net>
48534
48535         * build-aux/announce-gen: Do not assume that the package
48536         builds any of tar.gz, tar.bz2, and .xdelta files.
48537         Suggestion from Simon Josefsson.
48538
48539 2006-12-28  Simon Josefsson  <simon@josefsson.org>
48540
48541         * modules/announce-gen: New file.
48542
48543 2006-12-27  Paul Eggert  <eggert@cs.ucla.edu>
48544
48545         * lib/mbchar.h: Just include <wctype.h>; the wctype module
48546         handles its gotchas now.
48547         * lib/mbswidth.c: Likewise.
48548         * lib/wcwidth.h: Likewise.
48549         * m4/mbchar.m4 (gl_MBCHAR): Don't bother checking for wctype.h
48550         and iswcntrl; the wctype module does this stuff now.
48551         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
48552         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
48553         * modules/mbchar (Depends-on): Add wctype.
48554         * modules/mbswidth (Depends-on): Likewise.
48555         * modules/wcwidth (Depends-on): Likewise.
48556
48557 2006-12-27  Eric Blake  <ebb9@byu.net>
48558
48559         * lib/fnmatch.c: Reinstate inclusion of <wchar.h>, since this
48560         module uses more than what <wctype.h> is required to provide.
48561
48562 2006-12-26  Eric Blake  <ebb9@byu.net>
48563
48564         * gnulib-tool (sed_extract_prog): Avoid space-tab.
48565
48566 2006-12-26  Eric Blake  <ebb9@byu.net>
48567
48568         * modules/absolute-header: New module.
48569         * modules/fcntl (Depends-on): Depend on it.
48570         * modules/inttypes (Depends-on): Likewise.
48571         * modules/stdint (Depends-on): Likewise.
48572         * modules/sys_stat (Depends-on): Likewise.
48573         * modules/wctype (Depends-on): Likewise.
48574         * MODULES.html.sh (Support for building libraries and
48575         executables): Document it.
48576
48577 2006-12-25  Paul Eggert  <eggert@cs.ucla.edu>
48578
48579         * gnulib-tool (SED): Remove, undoing previous change.
48580         The problem was that it broke coreutils on Solaris, because
48581         "sed --posix" leaked into a makefile.
48582         (sed): New alias, if 'alias' and GNU sed.
48583
48584 2006-12-24  Jim Meyering  <jim@meyering.net>
48585
48586         Work around an fchownat bug in glibc-2.4:
48587         http://lists.ubuntu.com/archives/ubuntu-users/2006-September/093218.html
48588         This bug would cause "chown -RP ... DIR" to follow symlinks in DIR,
48589         in spite of the -P option.
48590         * m4/openat.m4 (gl_FUNC_FCHOWNAT, gl_FUNC_FCHOWNAT_DEREF_BUG):
48591         New macros.
48592         (gl_PREREQ_OPENAT): Require gl_FUNC_FCHOWNAT.
48593         * modules/openat (Files): Add lib/fchownat.c.
48594         * lib/openat.c (fchownat): Don't define here.  Move to...
48595         * lib/fchownat.c: ...this new file.
48596
48597 2006-12-23  Paul Eggert  <eggert@cs.ucla.edu>
48598
48599         Fix bug reported by Bruno Haible in
48600         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00228.html>
48601         where quotearg.c didn't compile on Mac OS X 10.2 because it
48602         lacks <wchar.h> and wint_t.
48603         * lib/wctype_.h (__wctype_wint_t): New type.
48604         Include <stdio.h>, <time.h>, <wchar.h> only if HAVE_WINT_T.
48605         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph):
48606         (iswlower, iswprint, iswpunct, iswspace, iswupper, ixwxdigit):
48607         Arg is now of type __wctype_wint_t, not wint_t.
48608         * m4/wctype.m4 (gl_WCTYPE_H): Require gt_TYPE_WINT_T, and
48609         substitute HAVE_WINT_T.
48610         * modules/wctype (Files): Add m4/wint_t.m4.
48611         (wctype.h): Substitute HAVE_WINT_T.
48612
48613 2006-12-23  Bruno Haible  <bruno@clisp.org>
48614
48615         * lib/safe-read.h [C++]: Wrap declarations in extern "C".
48616
48617 2006-12-23  Bruno Haible  <bruno@clisp.org>
48618
48619         * lib/canonicalize-lgpl.c (__realpath): Test HAVE_READLINK instead of
48620         S_ISLNK.
48621         Needed because gnulib's sys/stat.h replacement defines S_ISLNK on
48622         mingw.
48623
48624 2006-12-22  Bruno Haible  <bruno@clisp.org>
48625
48626         * lib/copy-file.c: Include acl.h.
48627         (copy_file_preserving) [USE_ACL]: Use copy_acl instead of chmod.
48628         Close the file descriptors only after being done with copy_acl.
48629         * modules/copy-file (Depends-on): Add acl.
48630
48631 2006-12-22  Bruno Haible  <bruno@clisp.org>
48632
48633         * gnulib-tool (SED): New variable.
48634         Use $SED instead of sed everywhere.
48635
48636 2006-12-22  Bruno Haible  <bruno@clisp.org>
48637
48638         * modules/no-c++: New file.
48639         * m4/no-c++.m4: New file.
48640         * MODULES.html.sh (Support for building libraries and executables):
48641         Add no-c++.
48642
48643 2006-12-22  Paul Eggert  <eggert@cs.ucla.edu>
48644
48645         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
48646         Include <limits.h>, and use its INT_MAX to rewrite the
48647         j loop so that it does not overflow 'int'.  Problem reported by
48648         Ralf Wildenhues in
48649         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00084.html>.
48650         Play it safe by shifting left by 1 rather than multiplying by 2,
48651         as GCC is less likely to optimize this away when the value
48652         is signed (when it assumes overflow leads to undefined behavior).
48653         Also, don't assume time_t uses two's complement.
48654
48655 2006-12-21  Paul Eggert  <eggert@cs.ucla.edu>
48656
48657         * MODULES.html.sh: New module wctype.
48658         * lib/wctype_.h, m4/wctype.m4, modules/wctype: New files.
48659         * lib/fnmatch.c: Don't bother to include <wchar.h> before
48660         <wctype.h>, since the new wctype module should fix this.
48661         * lib/quotearg.c: Include <wctype.h> unconditionally, since
48662         the wctype module should arrange for it.
48663         * lib/regex_internal.h: Likewise.
48664         * m4/quotearg.m4 (gl_QUOTEARG): Don't check for wctype.h or iswprint,
48665         since the wctype module should handle this now.
48666         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wctype.h.
48667         * modules/fnmatch (Depends-on): Add wctype.
48668         * modules/quotearg (Depends-on): Likewise.
48669         * modules/regex (Depends-on): Likewise.
48670
48671 2006-12-19  Bruno Haible  <bruno@clisp.org>
48672
48673         * lib/strdup.h [C++]: Wrap definitions in extern "C".
48674         Suggested by Lorenzo Bettini <bettini@dsi.unifi.it>.
48675
48676 2006-12-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48677
48678         * modules/savewd (Depends-on): Fix dependency on fcntl.
48679
48680 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
48681
48682         * m4/stdint.m4 (gl_STDINT_H): Set STDINT_H to empty if stdint.h
48683         conforms to C99, rather than relying on the user's environment
48684         setting of STDINT_H.
48685
48686 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
48687         and Eric Blake  <ebb9@byu.net>
48688
48689         * lib/dirname.h (DOUBLE_SLASH_IS_DISTINCT_ROOT): Default to 0, not 1.
48690         This is more consistent with the other defines here.
48691         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT):
48692         Port to z/OS.  Problem reported by Paul Gilmartin.
48693         Change local vars to use gl_ prefix rather than ac_.
48694         Don't define DOUBLE_SLASH_IS_DISTINCT_ROOT to 0, for consistency
48695         with other defines.
48696         * modules/double-slash-root: New module.
48697         * modules/dirname (Files): Remove m4/double-slash-root.m4.
48698         (Depends-on): Add double-slash-root.
48699         * MODULES.html.sh (File system functions): Mention new module.
48700
48701 2006-12-14  Paul Eggert  <eggert@cs.ucla.edu>
48702
48703         * lib/yesno.c [!ENABLE_NLS]: Don't include getline.h.
48704         (yesno) [!ENABLE_NLS]: Don't invoke getline or rpmatch.
48705         This is for the benefit of gzip, which doesn't do i18n.
48706
48707 2006-12-12  Jim Meyering  <jim@meyering.net>
48708
48709         * m4/acl.m4 (gl_ACL_GET_FILE): Fix logic error.
48710         Reported by Andreas Schwab <schwab@suse.de>.
48711
48712 2006-12-12  Bruno Haible  <bruno@clisp.org>
48713
48714         Merge these changes.
48715         2006-09-05  Bruno Haible  <bruno@clisp.org>
48716         * lib/iconvme.c (iconv_string): No need to save and restore errno when
48717         iconv_alloc succeeded.
48718         (iconv_alloc): Don't assume that malloc() or realloc(), when failing,
48719         sets errno to ENOMEM. (malloc on GNU/kFreeBSD doesn't.) No need to
48720         test for " && dest " at the end - dest is always != NULL there. Call
48721         iconv with 4xNULL arguments initially, to reset the state. Call iconv
48722         with 2xNULL arguments, also to flush the state storage. Handle the
48723         IRIX iconv behaviour. Realloc the final result, to throw away unused
48724         memory.
48725
48726 2006-12-11  Paul Eggert  <eggert@cs.ucla.edu>
48727
48728         * m4/openat.m4 (gl_FUNC_OPENAT): Don't compile mkdirat
48729         and fchmodat unconditionally, since glibc 2.4 has them.
48730         Problem reported by Arkadiusz Miskiewicz.
48731
48732 2006-12-10  Bruno Haible  <bruno@clisp.org>
48733
48734         * gnulib-tool (func_import): Show the include files only for those
48735         modules that are copied and specified.
48736         Reported by Karl Berry.
48737
48738 2006-12-08  Jim Meyering  <jim@meyering.net>
48739
48740         * build-aux/announce-gen ($VERSION): Don't use of $Revision...$.
48741         Instead, use Emacs' time-stamp write hook.  Note that the time is UTC.
48742
48743         * build-aux/announce-gen: Add two new options, both optional:
48744         --bootstrap-tools=TOOL_LIST
48745               a comma-separated list of tools, e.g.,
48746               autoconf,automake,bison,gnulib
48747         --gnulib-snapshot-date=DATE
48748               if gnulib is in the bootstrap tool list,
48749               then report this as the snapshot date.
48750               If not specified, use the current date/time.
48751               If you specify a date here, be sure it's UTC.
48752
48753 2006-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48754
48755         * tests/test-argp-2.sh: Fix test to match actual output.
48756         (func_compare): Fix sed script to be portable.
48757
48758 2006-12-05  Paul Eggert  <eggert@cs.ucla.edu>
48759
48760         * lib/utimens.c (futimens) [HAVE_BUGGY_NFS_TIME_STAMPS]: Add a
48761         workaround for this case.  It is not autoconfigured now; offhand
48762         it's hard to see how to autoconfigure it.
48763
48764 2006-12-03  Paul Eggert  <eggert@cs.ucla.edu>
48765
48766         * lib/mkdir-p.c (make_dir_parents): Fix race condition when making
48767         a directory that is about to be chowned.  Such a directory's
48768         initial file permissions should permit the owner only and this
48769         should not be changed until after the chown, since the group and
48770         other bits would be incorrect if they granted permission before
48771         the chown.
48772
48773         Fix porting problem for iswctype reported by Georg Schwarz in:
48774         http://lists.gnu.org/archive/html/bug-coreutils/2006-12/msg00017.html
48775         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Require HAVE_ISWCTYPE, too.
48776         * lib/regex_internal.h (RE_ENABLE_I18N): Likewise.
48777         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for iswctype, too.
48778         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
48779
48780 2006-12-03  Jim Meyering  <jim@meyering.net>
48781
48782         * lib/fts.c (fts_load): Don't set sp->fts_dev here, since
48783         p->fts_statp may not yet be defined.
48784         (fts_read): Instead, set it in the caller, once p->fts_statp is
48785         sure to be defined, and corresponds to a top-level directory.
48786         This bug made du -x fail.  Here's the coreutils test case:
48787         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commit;h=ba45154d8e9f
48788         Reported by Mike Frysinger.
48789
48790 2006-12-01  Jim Meyering  <jim@meyering.net>
48791
48792         * modules/savewd (Depends-on): Add fcntl_h to avoid self-test
48793         build failure due to missing definition of HAVE_WORKING_O_NOFOLLOW.
48794         Reported by Simon Josefsson.
48795
48796 2006-11-30  Jim Meyering  <jim@meyering.net>
48797
48798         * m4/warning.m4: Use the all-permissive copyright notice
48799         recommended by RMS (rather than LGPL).
48800         * m4/vararrays.m4: Likewise.
48801         * m4/flexmember.m4: Likewise.
48802
48803 2006-11-29  Bruno Haible  <bruno@clisp.org>
48804
48805         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
48806         noinst_LIBRARIES. Augment noinst_LIBRARIES and noinst_LTLIBRARIES
48807         using +=.
48808         Reported by Simon Josefsson <simon@josefsson.org>.
48809
48810 2006-11-28  James Youngman <jay@gnu.org>
48811
48812         * README: Advise users that they might find the bug-gnulib@gnu.org
48813         and autotools-announce@gnu.org mailing lists useful.
48814
48815 2006-11-28  Bruno Haible  <bruno@clisp.org>
48816
48817         * m4/ptrdiff_max.m4: Remove file.
48818
48819 2006-11-21  Bruno Haible  <bruno@clisp.org>
48820
48821         * m4/eoverflow.m4 (gl_EOVERFLOW): Use AC_COMPUTE_INT instead of
48822         _AC_COMPUTE_INT.
48823         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
48824         * m4/ptrdiff_max.m4 (gl_PTRDIFF_MAX): Use AC_COMPUTE_INT instead of
48825         _AC_COMPUTE_INT.
48826         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
48827         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_COMPUTE_INT instead of
48828         _AC_COMPUTE_INT.
48829         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
48830
48831 2006-11-28  Jim Meyering  <jim@meyering.net>
48832
48833         * lib/regcomp.c (parse_branch): Rename local, exp->expr, to avoid
48834         warning from "gcc -Wshadow" about shadowing the builtin.
48835
48836 2006-11-27  Bruno Haible  <bruno@clisp.org>
48837
48838         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): Use AC_COMPUTE_INT instead of
48839         _AC_COMPUTE_INT.
48840         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
48841
48842 2006-11-27  Bruno Haible  <bruno@clisp.org>
48843             Paul Eggert  <eggert@cs.ucla.edu>
48844
48845         * lib/regex.h (__restrict_arr): Redo logic of #if, for clarity.
48846
48847 2006-11-26  Bruno Haible  <bruno@clisp.org>
48848
48849         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
48850         noinst_LTLIBRARIES.
48851
48852 2006-11-27  Paul Eggert  <eggert@cs.ucla.edu>
48853             Bruno Haible  <bruno@clisp.org>
48854
48855         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to 0
48856         if compiling with "gcc -ansi".
48857
48858 2006-11-26  Paul Eggert  <eggert@cs.ucla.edu>
48859
48860         Fix some incompatibilities with gcc -ansi -pedantic.
48861         * lib/regex.h (__restrict_arr): Don't use the [restrict] syntax
48862         if compiling pedantically with GCC, unless it's C99 or later.
48863         Don't trust sys/cdefs.h's definition of __restrict_arr, either, as
48864         it mishandles gcc -ansi -pedantic as well.
48865         * lib/regex_internal.h (re_token_t): Don't use enum bitfields
48866         if gcc -pedantic.
48867         * lib/regexec.c (check_node_accept_bytes): Don't use auto
48868         initializers for struct if -pedantic, unless it's C99 or later.
48869
48870 2006-11-25  Nix  <nix@esperi.org.uk>  (tiny change)
48871
48872         * m4/fcntl_h.m4 (gl_FCNTL_H): Test the atime, not the mtime.
48873         Don't close an fd more than once. Identical atimes indicate
48874         success, not failure.
48875
48876 2006-11-22  Robinson Mittmann <bob@hoplon.com>  (tiny change)
48877
48878         * lib/sincosl.c (kernel_sinl): Fix typo in threshold.
48879
48880 2006-11-23  Jim Meyering  <jim@meyering.net>
48881
48882         * build-aux/announce-gen: New file.  From coreutils.
48883
48884 2006-11-22  Jim Meyering  <jim@meyering.net>
48885
48886         Work around a compile-time error from the HP-UX 11.00 /bin/cc.
48887         * lib/fts.c (enum Fts_stat): Give this previously-anon enum a name.
48888         (fts_read): Use a temporary to narrow the overused st_size member
48889         before using it in a switch statement.  Reported by Matthew Woehlke.
48890
48891         * m4/clock_time.m4 (gl_CLOCK_TIME): Quote AC_SUBST argument.
48892         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
48893
48894 2006-11-20  Bruno Haible  <bruno@clisp.org>
48895
48896         * gettext.m4 (AM_GNU_GETTEXT): Revert 2005-07-28 patch: Use
48897         changequote instead of pairs of brackets.
48898         Reported by Andreas Schwab <schwab@suse.de>.
48899
48900 2006-11-21  Jim Meyering  <jim@meyering.net>
48901
48902         * lib/fts.c (fts_safe_changedir): Move a declaration "up",
48903         so as to remain compatible with older compilers.
48904         Patch from Michael Deutschmann.
48905
48906 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
48907
48908         * MODULES.html.sh (File system functions): Add openat.
48909
48910         * lib/openat.h (rpl_fstatat): New macro, if
48911         [HAVE_OPENAT && ! LSTAT_FOLLOWS_SLASHED_SYMLINK.
48912         (fstatat): Define to rpl_fstatat under the same conditions,
48913         unless COMPILING_FSTATAT.
48914         * m4/openat.m4 (gl_FUNC_OPENAT): Compile fstatat.c too, if fstatat
48915         seems to have the bug.
48916         * lib/fstatat.c: New file.
48917         * modules/openat (Files): Add it.
48918
48919 2006-11-20  Bruno Haible  <bruno@clisp.org>
48920
48921         * Makefile: New file.
48922
48923 2006-11-20  Jim Meyering  <jim@meyering.net>
48924
48925         The beginnings of syntax-related checks for gnulib.
48926         * lib/Makefile: New file.
48927         * lib/t-idcache: New script.  Ensure that the two halves of
48928         idcache.c stay in sync.
48929
48930         * lib/idcache.c: Adjust comments in user- and group- portions to
48931         be more accurate, and to be consistent with one another.
48932
48933 2006-11-20  Jim Meyering  <jim@meyering.net>
48934
48935         * lib/idcache.c: Restore most of the 2006-11-06 patch, so as to
48936         continue using the flexible array member (thus, this module performs
48937         half as many malloc calls), with the addition that...
48938         (getgroup, getuser): Consistently record a non-match via an empty
48939         "name" string, and map an empty string match to a NULL return value.
48940         * modules/idcache (Depends-on): Re-add flexmember.
48941
48942         * lib/idcache.c (getuser): Remove all uses of the register keyword.
48943         (getuidbyname, getgroup, getgidbyname): Likewise.
48944
48945         Use cleaner syntax: NULL rather than 0.
48946         * lib/idcache.c (getuidbyname, getgidbyname): Return NULL, not 0.
48947
48948 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
48949
48950         * lib/idcache.c: Undo most recent patch, dated 2006-11-06.
48951         It mishandled the case where the group was missing.
48952         Problem reported by Greg Schafer.
48953         * modules/idcache: Likewise.
48954
48955 2006-11-18  Jim Meyering  <jim@meyering.net>
48956
48957         * check-module (%exempt_header): Add exception for some
48958         conditionally-included headers.
48959
48960         * modules/i-ring (Depends-on): Add verify.
48961         (License): Change to LGPL.
48962
48963 2006-11-16  Paul Eggert  <eggert@cs.ucla.edu>
48964
48965         * modules/getaddinfo (Depends-on): Remove inttostr; add snprintf.
48966         * lib/getaddrinfo.c: Include snprintf.h rather than intprops.h
48967         and inttostr.h.  Use snprintf rather than uinttostr, so that
48968         LGPLed code doesn't depend on GPLed.
48969
48970 2006-11-17  Paul Eggert  <eggert@cs.ucla.edu>
48971
48972         * modules/inline (License): Change from GPL to LGPL.
48973
48974 2006-11-17  Jim Meyering  <jim@meyering.net>
48975
48976         * modules/d-type (License): Switch to LGPL.
48977
48978 2006-11-15  Bruno Haible  <bruno@clisp.org>
48979
48980         * m4/alloca.m4 (gl_FUNC_ALLOCA): Fix the AC_CACHE_CHECK message.
48981
48982 2006-11-15  Eric Blake  <ebb9@byu.net>
48983
48984         * m4/allocsa.m4 (gl_ALLOCSA): Don't invoke macro already picked up by
48985         the module dependency.
48986
48987 2006-11-15  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
48988             Bruno Haible  <bruno@clisp.org>
48989
48990         * gnulib-tool (func_create_testdir): Add license consistency check.
48991
48992 2006-11-15  Eric Blake  <ebb9@byu.net>
48993
48994         * m4/alloca.m4 (gl_FUNC_ALLOCA): Use AC_CACHE_CHECK to avoid a
48995         random "(cached)" in configure output.
48996
48997 2006-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48998
48999         * m4/inttypes.m4 (gl_INTTYPES_H): Use AC_CACHE_CHECK so that the
49000         test for conforming inttypes.h is both announced and cached.
49001
49002         * MODULES.html.sh (seen_modules, seen_files): New variables.
49003         (func_module): Rewrite to use a few less gnulib-tool and sed
49004         invocations.  Avoid a couple of quadratic algorithms for ...
49005         (missed_modules, missed_files): ... these, with ...
49006         (func_append, func_tmpdir): ... these new functions, from
49007         gnulib-tool.  Analogously, install traps for cleanup.
49008
49009         * tests/test-gc.c (main): Remove unused variables.
49010         * tests/test-read-file.c: Include stdlib.h, for 'free'.
49011
49012 2006-11-14  Paul Eggert  <eggert@cs.ucla.edu>
49013
49014         * modules/inttostr (License): Change to LGPL.
49015
49016 2006-11-14  Eric Blake  <ebb9@byu.net>
49017
49018         * modules/tempname (License): Change to LGPL.
49019
49020 2006-11-14  Eric Blake  <ebb9@byu.net>
49021
49022         * doc/functions.texi (Function Portability): *printf functions on
49023         Cygwin now understand all POSIX size specifiers.
49024
49025 2006-11-14  Bruno Haible  <bruno@clisp.org>
49026
49027         * modules/c-ctype (License): Change to LGPL.
49028
49029 2006-11-12  Bruno Haible  <bruno@clisp.org>
49030
49031         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
49032         AC_LIB_LINKFLAGS_BODY): Also set a LIB${NAME}_PREFIX variable. Needed
49033         for GNOME libraries, for which the include files are installed in
49034         subdirectories of $prefix/include.
49035
49036 2006-11-12  Bruno Haible  <bruno@clisp.org>
49037
49038         * m4/lib-link.m4: Require at least autoconf-2.54.
49039         (AC_LIB_LINKFLAGS_BODY) [autoconf < 2.61]: Turn dots into the library
49040         name to underscores for the --with option.
49041
49042 2006-11-13  Bruno Haible  <bruno@clisp.org>
49043
49044         * gnulib-tool (func_create_testdir): Set gl_source_base correctly in
49045         the tests directory.
49046         Reported by Ralf Wildenhues.
49047
49048 2006-11-13  Bruno Haible  <bruno@clisp.org>
49049
49050         * gnulib-tool (func_emit_initmacro_start): Also override AC_LIBSOURCES.
49051         (func_emit_initmacro_end): Undo the override here.
49052         (func_emit_initmacro_done): Emit a definition for gl_LIBSOURCES.
49053         Works around the famous automake error in coreutils.
49054
49055 2006-11-13  Eric Blake  <ebb9@byu.net>
49056
49057         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Return the
49058         element, not its node.
49059
49060 2006-11-12  Bruno Haible  <bruno@clisp.org>
49061
49062         * gnulib-tool (func_emit_lib_Makefile_am): Replace occurrences of
49063         '$(top_srcdir)/build-aux/', taking into account the real auxdir.
49064
49065 2006-11-12  Bruno Haible  <bruno@clisp.org>
49066
49067         * gnulib-tool: New option --local-symlink.
49068         (func_usage): Document it.
49069         (lsymbolic): New variable.
49070         (func_import, func_create_testdir): If --symlink was not specified,
49071         test whether --local-symlink was specified and the file comes from
49072         the local_gnulib_dir.
49073
49074 2006-11-12  Bruno Haible  <bruno@clisp.org>
49075
49076         * gnulib-tool (func_ln): New function.
49077         (func_ln_if_changed, func_create_testdir): Use it instead of "ln -s".
49078
49079 2006-11-12  Bruno Haible  <bruno@clisp.org>
49080
49081         Finish support for source files in subdirectories.
49082         * gnulib-tool (func_emit_lib_Makefile_am): If some of the source files
49083         are in subdirectories, set uses_subdirs and add 'subdir-objects' to
49084         AUTOMAKE_OPTIONS.
49085         (func_import, func_create_testdir): Invoke AM_PROG_CC_C_O in this case.
49086
49087 2006-11-12  Bruno Haible  <bruno@clisp.org>
49088
49089         * gnulib-tool (func_get_automake_snippet): Synthesize also an
49090         EXTRA_lib_SOURCES augmentation.
49091         (func_emit_lib_Makefile_am): Initialize EXTRA_lib..._SOURCES to empty.
49092
49093 2006-11-12  Jim Meyering  <jim@meyering.net>
49094
49095         Make fts (in FTS_CWDFD mode) more efficient by caching a few open
49096         file descriptors.  This also averts a failure on systems with
49097         native openat support when a traversed directory lacks "x" access.
49098         * lib/fts_.h: Include "i-ring.h"
49099         (struct FTS) [fts_fd_ring]: New member.
49100         * lib/fts.c (RESTORE_INITIAL_CWD): Also call fd_ring_clear.
49101         (FCHDIR): Add parentheses.
49102         (fd_ring_check, fd_ring_print) [!FTS_DEBUG]: Define away.
49103         (cwd_advance_fd): Add a 3rd parameter.  Adjust all callers.
49104         When descending, rather than simply closing the previous
49105         fts_cwd_fd value, push that file descriptor onto the ring.
49106         (same_fd, fd_ring_print, fd_ring_check) [FTS_DEBUG]: New functions.
49107         (fts_open): Initialize the new fd_ring member.
49108         (fts_close): Clear the ring.
49109         (fts_safe_changedir): When possible, use our new fd_ring to skip
49110         the diropen and fstat and dev/ino comparison that would normally
49111         accompany a virtual `chdir ("..")'.
49112
49113         * modules/fts (Depends-on): Add i-ring.
49114         * modules/i-ring: New module.
49115         * lib/i-ring.c, lib/i-ring.h, lib/i-ring-test.c: New files.
49116         * m4/i-ring.m4: New file.
49117
49118 2006-11-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49119
49120         * gnulib-tool (func_create_testdir): Fix replacement of
49121         `build-aux' in configure.ac.  Run autotools in gltests
49122         subdirectory.
49123         (func_create_testdir, func_create_megatestdir, test): There is
49124         no need for '--force' in most autotool invocations in a new
49125         tree.  Actually fail the whole test if any of the tools, or the
49126         configure or make stages fail.
49127
49128         Sync from Automake.
49129         * build-aux/gnupload: Revert last change.  Add pointer to upload
49130         instructions of the GNU Maintenance Instructions.
49131         Suggestion by Karl Berry.
49132
49133 2006-11-10  Jim Meyering  <jim@meyering.net>
49134
49135         * lib/fts.c [FTS_DEBUG]: Don't try to print a pointer via %s.
49136
49137 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
49138
49139         * lib/gettext.h (dgettext, dcgettext, ngettext) [! ENABLE_NLS]:
49140         (dngettext, dcngettext, bindtextdomain) [! ENABLE_NLS]:
49141         (bind_textdomain_codeset) [! ENABLE_NLS]:
49142         Evaluate all the arguments.  That way, callers get compatible behavior
49143         if the arguments have side effects.  Also, it avoids some GCC
49144         diagnostics in some cases; Joel E. Denny reported problems when Bison
49145         was configured with --enable-gcc-warnigs.
49146
49147 2006-11-10  Jim Meyering  <jim@meyering.net>
49148
49149         * m4/inline.m4 (gl_INLINE): Check with the compiler, not cpp, so that
49150         relevant options in CFLAGS (like -O, -fno-inline) are taken into
49151         account.
49152
49153 2006-11-10  Jim Meyering  <jim@meyering.net>
49154
49155         * modules/inline: New file/module.
49156         * modules/xalloc (Files): Remove m4/inline.m4.
49157         (Depends-on): Add inline, instead.
49158         * modules/oset: Likewise.
49159         * modules/list: Likewise.
49160
49161 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
49162
49163         * lib/stdint_.h (uintmax_t): Fix typo: int64_t -> uint64_t.
49164         Problem reported by Matthew Woehlke.
49165
49166 2006-11-09  Bruno Haible  <bruno@clisp.org>
49167
49168         * lib/tempname.c (gen_tempname): Remove variant that invokes
49169         __gen_tempname.
49170         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Don't test for
49171         __gen_tempname.
49172
49173 2006-11-08  Bruno Haible  <bruno@clisp.org>
49174
49175         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Set ac_cv_type_long_long_int
49176         to 'yes' instead of 'cross-compiling'.
49177
49178 2006-11-08  Paul Eggert  <eggert@cs.ucla.edu>
49179
49180         * lib/quotearg.h (quotearg_free): New decl.
49181         * lib/quotearg.c (quotearg_free): New function.
49182         (slot0, nslots, slotvec0, slotvec):
49183         Now file-scope so that quotearg_free can get at them.
49184
49185 2006-11-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49186
49187         Sync from Automake.
49188         * build-aux/gnupload: Add missing 'gnu' to example URL.
49189         Report by Karl Berry.
49190
49191 2006-11-08  Bruno Haible  <bruno@clisp.org>
49192
49193         * m4/inline.m4 (gl_INLINE): Also test __NO_INLINE__.
49194         Suggested by Paul Eggert.
49195
49196 2006-11-08  Jim Meyering  <jim@meyering.net>
49197
49198         * lib/fts.c [!_LGPL_PACKAGE]: Don't include fcntl--.h twice.
49199         It's already included if !_LIBC.
49200         (fts_safe_changedir): Add a comment.
49201
49202 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
49203
49204         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Detect bug in
49205         Tandem NonStop Kernel (OSS) cc -O circa 2004, reported by
49206         Matthew Woehlke.
49207
49208         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Move
49209         definitions up, to avoid colliding with change below.
49210         (static_inline) [HAVE_INLINE]: New macro.
49211         (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
49212         Provide extern decls when !HAVE_INLINE.  Do not define unless
49213         static_inline is defined, either by us or by xmalloc.c.  Use
49214         static_inline rather than static inline.
49215         (XCALLOC): Optimize sizeof(T) = 1 case.
49216         * lib/xmalloc.c (static_inline) [!HAVE_INLINE]: New macro.
49217
49218 2006-11-07  Bruno Haible  <bruno@clisp.org>
49219
49220         * lib/xalloc.h (XNMALLOC): Restore optimization of sizeof(T) = 1 case.
49221         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require gl_INLINE instead of
49222         AC_C_INLINE.
49223         * modules/xalloc (Files): Add m4/inline.m4.
49224
49225 2006-11-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49226
49227         * README: Fix typo.
49228         * doc/gnulib.texi (Miscellaneous Notes): Likewise, rename...
49229         (Miscellanous Notes): ...from this.
49230
49231 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
49232
49233         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
49234         Mention that offsetof should be used instead of sizeof.
49235         From Bruno Haible.
49236
49237 2006-11-07  Bruno Haible  <bruno@clisp.org>
49238
49239         * lib/w32spawn.h (prepare_spawn): Use XNMALLOC instead of xmalloc.
49240
49241 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
49242
49243         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
49244         * lib/gl_anyavltree_list2.h (create_subtree_with_contents):
49245         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
49246         (gl_tree_add_before, gl_tree_add_after):
49247         Use XMALLOC instead of xmalloc, and XCALLOC instead of xzalloc.
49248         * lib/gl_anyhash_list2.h (hash_resize): Likewise.
49249         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
49250         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before):
49251         (gl_linked_add_after, gl_linked_add_at): Likewise.
49252         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents):
49253         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
49254         (gl_tree_add_before, gl_tree_add_after): Likewise.
49255         * lib/gl_anytree_list2.h (gl_tree_create_empty): Likewise.
49256         * lib/gl_anytree_oset.h (gl_tree_create_empty): Likewise.
49257         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
49258
49259 2006-11-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49260
49261         * lib/gl_oset.h: Use C comment style, not C++ comment style.
49262
49263 2006-11-06  Bruno Haible  <bruno@clisp.org>
49264
49265         * m4/inline.m4: New file.
49266         * m4/gl_list.m4 (gl_LIST): Require gl_INLINE.
49267         * modules/list (Files): Add m4/inline.m4.
49268         * modules/oset (Files): Likewise.
49269
49270 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
49271
49272         * lib/idcache.c: Include <stddef.h>, for offsetof.
49273         (struct userid.name): Change from char * to a flexible array member.
49274         All uses changed.
49275         * modules/idcache (Depends-on): Add flexmember.
49276
49277         * MODULES.html.sh (Core language properties): New module flexmember.
49278         * modules/flexmember, m4/flexmember.m4: New files.
49279
49280         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc): Now static
49281         inline functions that are identical with the old xnmalloc_inline,
49282         xnrealloc_inline, x2nrealloc_inline of lib/xmalloc.c.  This is so
49283         that we can avoid some unnecessary integer multiplications and
49284         divisions in the common case where the element size is known at
49285         compile time.
49286         (XNMALLOC) [HAVE_INLINE]: Remove special case, which is no longer
49287         needed.
49288         (xnboundedmalloc): Remove.
49289         (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Use lower-case letters for
49290         arguments, for consistency with rest of this header.
49291         (xcharalloc): Rewrite using XNMALLOC.
49292         * lib/xmalloc.c (xnmalloc_inline, xnmalloc, xnrealloc_inline):
49293         (xnrealloc, x2nrealloc_inline, x2nrealloc): Remove.  The *_inline
49294         versions have been moved to lib/xalloc.h and renamed to be the
49295         non-*_inline versions.
49296         (xmalloc, xrealloc): Implement without reference to the xnmalloc
49297         and xnrealloc functions, since those functions are now inline and
49298         now call us.
49299         (x2realloc): Invoke x2realloc, not x2realloc_inline, to accommodate
49300         renaming described above.
49301         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Remove AC_C_INLINE since
49302         xmalloc.c no longer uses inline directly.  gl_PREREQ_XALLOC now
49303         captures the dependency in AC_C_INLINE.
49304
49305         New module canonicalize-lgpl, proposed by Charles Wilson in
49306         <http://lists.gnu.org/archive/html/bug-gnulib/2006-11/msg00020.html>
49307         with a few small changes afterwards.
49308         * MODULES.html.sh (File system functions): New module
49309         canonicalize-lgpl.
49310         * lib/canonicalize.h: Add comments for canonicalize_filename_mode
49311         and canonicalize_file_name.
49312         * lib/canonicalize-lgpl.c, m4/canonicalize-lgpl.m4:
49313         * modules/canonicalize-lgpl: New files.
49314
49315 2006-11-05  Bruno Haible  <bruno@clisp.org>
49316
49317         * gnulib-tool (func_import, func_create_testdir): Create directories
49318         also for files in subdirectories of lib/.
49319
49320 2006-11-05  Bruno Haible  <bruno@clisp.org>
49321
49322         * lib/gl_array_list.c (gl_array_iterator_next): Make pointer decrement
49323         ANSI C compliant.
49324
49325 2006-11-03  Bruno Haible  <bruno@clisp.org>
49326
49327         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
49328         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require AC_C_INLINE.
49329         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): New macros.
49330         (xnboundedmalloc): New inline function.
49331         * lib/classpath.c (new_classpath): Use XNMALLOC instead of xmalloc.
49332         * lib/clean-temp.c (create_temp_dir): Use XNMALLOC, XMALLOC instead of
49333         xmalloc.
49334         * lib/concatpath.c (concatenated_pathname): Use XNMALLOC instead of
49335         xmalloc.
49336         * lib/fatal-signal.c (at_fatal_signal): Use XNMALLOC instead of xmalloc.
49337         * lib/findprog.c (find_in_path): Use XNMALLOC instead of xmalloc.
49338         * lib/gl_array_list.c (gl_array_create_empty): Use XMALLOC instead of
49339         xmalloc.
49340         (gl_array_create): Use XNMALLOC, XMALLOC instead of xmalloc.
49341         * lib/gl_array_oset.c (gl_array_create_empty): Use XNMALLOC instead of
49342         xmalloc.
49343         * lib/gl_avltree_oset.c (gl_tree_add_first, gl_tree_add_before,
49344         gl_tree_add_after): Use XMALLOC instead of xmalloc.
49345         * lib/gl_carray_list.c (gl_carray_create_empty): Use XMALLOC instead of
49346         xmalloc.
49347         (gl_carray_create): Use XNMALLOC, XMALLOC instead of xmalloc.
49348         * lib/gl_rbtree_oset.c (gl_tree_add_first, gl_tree_add_before,
49349         gl_tree_add_after): Use XMALLOC instead of xmalloc.
49350         * lib/gl_sublist.c (gl_sublist_create): Use XMALLOC instead of xmalloc.
49351         * lib/pagealign_alloc.c (new_memnode): Use XMALLOC instead of xmalloc.
49352         * lib/sh-quote.c (shell_quote_argv): Use XNMALLOC instead of xmalloc.
49353         * lib/xvasprintf.c (xstrcat): Use XNMALLOC instead of xmalloc.
49354
49355 2006-11-03  Bruno Haible  <bruno@clisp.org>
49356
49357         * lib/c-ctype.h [C++]: Define functions without name mangling.
49358         * lib/fwriteerror.h [C++]: Likewise.
49359         * lib/gcd.h [C++]: Likewise.
49360         * lib/linebreak.h [C++]: Likewise.
49361
49362 2006-11-03  Paul Eggert  <eggert@cs.ucla.edu>
49363
49364         * lib/canonicalize.h: (canonicalize_mode_t, CAN_EXISTING):
49365         (CAN_ALL_BUT_LAST, CAN_MISSING, canonicalize_filename_mode):
49366         Define only if PROVIDE_CANONICALIZE_FILENAME_MODE is defined.
49367         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
49368         Check for functions and headers just once.
49369         Check for declaration of canonicalize_file_name.
49370         Define PROVIDE_CANONICALIZE_FILENAME_MODE.
49371
49372 2006-11-02  Charles Wilson  <cygwin@cwilson.fastmail.fm>
49373
49374         * gnulib-tool (func_import): Fix typo in actioncmd.
49375
49376 2006-11-02  Bruno Haible  <bruno@clisp.org>
49377
49378         * gnulib-tool (func_get_automake_snippet): Interpret a backslash-
49379         newline sequence in the Makefile.am snippet as a space, like "make"
49380         does.
49381         Reported by Roger Persson <perrog@gmail.com>.
49382
49383 2006-11-01  Bruno Haible  <bruno@clisp.org>
49384
49385         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Check whether strncasecmp is
49386         already declared in <string.h>.
49387         * lib/strcase.h (strncasecmp): Don't declare it if yes.
49388
49389 2006-11-01  Bruno Haible  <bruno@clisp.org>
49390
49391         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Don't define strcasecmp here.
49392         * lib/strcase.h: Include <string.h>.
49393         (strcasecmp): Define to rpl_strcasecmp here.
49394
49395 2006-11-01  Bruno Haible  <bruno@clisp.org>
49396
49397         * lib/printf-parse.c (PRINTF_PARSE): Cast malloc/realloc results.
49398
49399 2006-11-01  Eric Blake  <ebb9@byu.net>
49400
49401         * lib/mkstemp-safer.c (mkstemp_safer): Allow C++ compilation.
49402
49403         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Allow C++ configuration.
49404
49405 2006-10-29  Bruno Haible  <bruno@clisp.org>
49406
49407         Make it compile in C++ mode.
49408         * lib/full-write.c (full_rw): Add a cast.
49409
49410 2006-11-01  Bruno Haible  <bruno@clisp.org>
49411
49412         * gnulib-tool (func_get_automake_snippet): Change sed_combine_lines to
49413         be POSIX compliant.
49414         Reported by Roger Persson <perrog@gmail.com>.
49415
49416 2006-11-01  Eric Blake  <ebb9@byu.net>
49417
49418         * lib/getopt_.h: Fix comments.
49419
49420 2006-10-31  Eric Blake  <ebb9@byu.net>
49421
49422         * modules/tmpdir (Depends-on): Add sys_stat.
49423         * modules/mkdtemp (Depends-on): Add tempname, drop unistd.
49424         * lib/mkdtemp.c (gen_tempname): Remove; tempname covers this.
49425         * lib/tmpdir.c (S_ISDIR): Simplify, thanks to sys_stat.
49426         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Simplify, thanks to
49427         tempname.
49428
49429 2006-10-31  Paul Eggert  <eggert@cs.ucla.edu>
49430
49431         Avoid some C++ diagnostics reported by Bruno Haible.
49432         * lib/quotearg.c (clone_quoting_options): Use xmemdup rather than
49433         xmalloc.
49434         (quotearg_alloc): Use xcharalloc rather than xmalloc.
49435         (struct slotvec): Move to top level.
49436         (quotearg_n_options): Rewrite to avoid xmalloc.
49437         * lib/xalloc.h (xcharalloc): New function.
49438         * (xrealloc, xnrealloc, x2realloc, x2nrealloc, xmemdup):
49439         [defined __cplusplus]: Add function template that provides result
49440         type propagation.  This part of the change is from Bruno Haible.
49441
49442 2006-10-29  Bruno Haible  <bruno@clisp.org>
49443
49444         Make it compile in C++ mode.
49445         * lib/striconv.c (mem_cd_iconv): Cast malloc/realloc result.
49446         * lib/strnlen1.c (strnlen1): Cast memchr result.
49447         * lib/mbchar.h (mb_copy): Rename arguments to 'new_mbc', 'old_mbc'.
49448         * lib/clean-temp.c (string_equals, string_hash): Add casts.
49449         (create_temp_dir): Rename local variable 'template'.
49450         (compile_csharp_using_sscli): Add cast.
49451         * lib/fatal-signal.c (at_fatal_signal): Cast xmalloc result.
49452         * lib/findprog.c (find_in_path): Likewise.
49453         * lib/linebreak.c (mbs_width_linebreaks): Cast malloc result.
49454         * lib/wait-process.c (register_slave_subprocess): Likewise.
49455
49456 2006-10-22  Bruno Haible  <bruno@clisp.org>
49457
49458         * modules/tsearch: New file.
49459         * lib/tsearch.h: New file.
49460         * lib/tsearch.c: New file, from glibc-2.5 with small modifications.
49461         * m4/tsearch.m4: New file.
49462         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add tsearch.
49463
49464 2006-10-29  Eric Blake  <ebb9@byu.net>
49465
49466         * lib/arcfour.c: Assume config.h.
49467         * lib/arctwo.c: Likewise.
49468         * lib/base64.c: Likewise.
49469         * lib/check-version.c: Likewise.
49470         * lib/crc.c: Likewise.
49471         * lib/des.c: Likewise.
49472         * lib/gc-gnulib.c: Likewise.
49473         * lib/gc-libgcrypt.c: Likewise.
49474         * lib/gc-pbkdf2-sha1.c: Likewise.
49475         * lib/getaddrinfo.c: Likewise.
49476         * lib/getdelim.c: Likewise.
49477         * lib/getline.c: Likewise.
49478         * lib/hmac-md5.c: Likewise.
49479         * lib/hmac-sha1.c: Likewise.
49480         * lib/iconvme.c: Likewise.
49481         * lib/md2.c: Likewise.
49482         * lib/md4.c: Likewise.
49483         * lib/memxor.c: Likewise.
49484         * lib/read-file.c: Likewise.
49485         * lib/readline.c: Likewise.
49486         * lib/rijndael-alg-fst.c: Likewise.
49487         * lib/rijndael-api-fst.c: Likewise.
49488         * lib/xgetdomainname.c: Likewise.
49489
49490 2006-10-28  Eric Blake  <ebb9@byu.net>
49491
49492         * lib/xstrndup.c: Assume config.h.
49493
49494 2006-10-27  Paul Eggert  <eggert@cs.ucla.edu>
49495
49496         Move stat.h-substitute stuff from lib/stat-macros.h to lib/stat_.h.
49497         stat-macros.h is now for our own macros, whereas stat_h is for
49498         macros in the <sys/stat.h> name space.
49499         * lib/stat-macros.h: Remove copyright notice, as this file is now tiny.
49500         (STAT_MACROS_H): Remove.
49501         (S_IFMT, S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISLNK, S_ISNAM):
49502         (S_ISMPB, S_ISMPC, S_ISNWK, S_ISREG, S_ISSOCK, S_ISDOOR, S_ISPORT):
49503         (S_TYPEISMQ, S_TYPEISTMO, S_TYPEISSEM, S_TYPEISSHM, S_ISCTG, S_ISOFD):
49504         (S_ISOFL, S_ISWHT, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRGRP):
49505         (S_IROTH, S_IWUSR, S_IWGRP, S_IWOTH, S_IXUSR, S_IXGRP, S_IXOTH):
49506         (S_IRWXU, S_IRWXG, S_IRWXO, S_IXUGO, S_IRWXUGO):
49507         Move these macros to ...
49508         * lib/stat_.h: here.  Don't include stat-macros.h.
49509         * lib/canonicalize.c: Don't include stat-macros.h.
49510         * lib/chown.c: Likewise.
49511         * lib/euidaccess.c: Likewise.
49512         * lib/file-type.c: Likewise.
49513         * lib/filemode.c: Likewise.
49514         * lib/glob.c: Likewise.
49515         * lib/isapipe.c: Likewise.
49516         * lib/lchown.c: Likewise.
49517         * lib/lstat.c: Likewise.
49518         * lib/mkdir-p.c: Likewise.
49519         * lib/rmdir.c: Likewise.
49520         * m4/lchown.m4 (gl_FUNC_LCHOWN): Don't require gl_STAT_MACROS.
49521         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Don't check for io.h
49522         unless mkdir isn't declared, to speed up 'configure'.
49523         Always create sys/stat.h, since it's unlikely any real sys/stat.h
49524         would define all the S_* symbols.
49525         * modules/canonicalize (Depends-on):
49526         Depend on sys_stat, not stat-macros.
49527         * modules/chown: Likewise.
49528         * modules/euidaccess: Likewise.
49529         * modules/filemode: Likewise.
49530         * modules/file-type: Likewise.
49531         * modules/glob: Likewise.
49532         * modules/isapipe: Likewise.
49533         * modules/lchown: Likewise.
49534         * modules/lstat: Likewise.
49535         * modules/mkancesdirs: Likewise.
49536         * modules/rmdir: Likewise.
49537         * modules/mkdir-p (Depends-on): Also depend on sys_stat.
49538         * modules/modechange: Likewise.
49539         * modules/stat-macros (Files): Remove m4/stat-macros.m4.
49540         (configure.ac): Remove gl_STAT_MACROS.
49541         * modules/sys_stat (Depends-on): Remove stat-macros.
49542
49543 2006-10-27  Bruno Haible  <bruno@clisp.org>
49544
49545         * m4/signed.m4: Remove file.
49546         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS_: Remove bh_C_SIGNED
49547         invocation.
49548         * modules/vasnprintf (Files): Remove m4/signed.m4.
49549
49550 2006-10-27  Bruno Haible  <bruno@clisp.org>
49551
49552         Update to GNU gettext 0.16.
49553         * modules/gettext (Files): Add m4/intl.m4, m4/intldir.m4. Remove
49554         m4/inttypes-h.m4, m4/signed.m4.
49555         * m4/gettext.m4: Update to GNU gettext 0.16.
49556         * m4/intl.m4: New file, from GNU gettext.
49557         * m4/intldir.m4: New file, from GNU gettext.
49558         * config/srclist.txt: Update
49559
49560 2006-10-27  Eric Blake  <ebb9@byu.net>
49561
49562         * MODULES.html.sh: Document tempname.
49563         * modules/mkstemp (Depends-on): Add tempname, and drop transitive
49564         dependencies.
49565         (Files): Move lib/tempname.c...
49566         * modules/tempname: ...to this new module.
49567         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Remove tempname checks.
49568         (gl_PREREQ_TEMPNAME): Move...
49569         * m4/tempname.m4: ...to this new file.
49570         * lib/mkstemp.c (includes) [!_LIBC]: Use tempname.h.
49571         * modules/sys_stat (Depends-on): Add stat-macros.
49572         * lib/stat_.h (includes): Pick up stat macros.
49573         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Replace <sys/stat.h>
49574         if stat macros are broken.
49575         * lib/tempname.c (includes): No need to include "stat-macros.h".
49576         (__gen_tempname) [!_LIBC]: Expose as gen_tempname.
49577         (direxists, __path_search) [!_LIBC]: Don't compile these in
49578         gnulib; the tmpdir module covers that.
49579         * lib/tempname.h: New file.
49580
49581 2006-10-26  Paul Eggert  <eggert@cs.ucla.edu>
49582
49583         * COPYING: Explain how gnulib-tool converts licence headers.
49584         Almost all wording by Eric Blake.
49585
49586 2006-10-25  Paul Eggert  <eggert@cs.ucla.edu>
49587
49588         * lib/mbchar.h (is_basic_table): Make read-only.
49589         * lib/mbchar.c (is_basic_table): Likewise.
49590         Reported by John Darrington.
49591
49592 2006-10-25  Bruno Haible  <bruno@clisp.org>
49593
49594         * lib/progname.h (set_program_name): Undefine before defining.
49595
49596 2006-10-25  Bruno Haible  <bruno@clisp.org>
49597
49598         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to
49599         false for non-gcc C++ compilers.
49600         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
49601
49602 2006-10-24  Bruno Haible  <bruno@clisp.org>
49603
49604         * lib/striconv.c (mem_cd_iconv, str_cd_iconv): Treat all non-GNU
49605         iconv implementations like Irix iconv.
49606
49607 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
49608
49609         * modules/vararrays: New file.
49610         * m4/vararrays.m4: New file, taken from diffutils.
49611         * MODULES.html.sh: New module vararrays.
49612
49613 2006-10-24  Karl Berry  <karl@gnu.org>
49614
49615         * doc/gnulib-intro.texi: --- instead of --; non-naive naive.
49616         Don't call GNU Unix.
49617
49618 2006-10-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49619
49620         * users.txt: Add Libtool.
49621
49622         Sync from Libtool:
49623
49624         2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
49625
49626         * lib/argz.c: Remove check for HAVE_CONFIG_H, to conform
49627         to gnulib's policy of including config.h unconditionally.
49628
49629 2006-10-24  Bruno Haible  <bruno@clisp.org>
49630
49631         * modules/wcwidth (Files): Add m4/wint_t.m4.
49632         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gt_TYPE_WINT_T.
49633         * lib/wcwidth.h (iswprint): Use 'int' if 'wint_t' is not defined.
49634
49635 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
49636
49637         * lib/getdate.y (yyerror): Make the arguments pointer-to-const,
49638         to pacify GCC with some -W flags enabled.  Problem reported by
49639         Bruno Haible.
49640
49641 2006-10-24  Jim Meyering  <jim@meyering.net>
49642
49643         * MODULES.html.sh: Remove uinttostr.  It's not a module.
49644         Reported by Karl Berry.
49645
49646 2006-10-23  Bruno Haible  <bruno@clisp.org>
49647
49648         * lib/fts.c (fts_build): Move variable declaration, for C89 compliance.
49649
49650 2006-10-24  Bruno Haible  <bruno@clisp.org>
49651
49652         * lib/gl_list.h: Use C comment style, not C++ comment style.
49653
49654 2006-10-23  Eric Blake  <ebb9@byu.net>
49655
49656         * lib/getaddrinfo.c (includes): Add missing include.
49657
49658 2006-10-23  Bruno Haible  <bruno@clisp.org>
49659             Paul Eggert  <eggert@cs.ucla.edu>
49660
49661         Ability to rename obstack_free.
49662         * lib/obstack.h (__obstack_free): New macro. Declare instead of
49663         obstack_free.
49664         (obstack_free): Invoke the __obstack_free macro.
49665         * lib/obstack.c (obstack_free): Use __obstack_free macro.
49666
49667 2006-10-23  Bruno Haible  <bruno@clisp.org>
49668             Paul Eggert  <eggert@cs.ucla.edu>
49669
49670         * lib/argp.h (argp_parse, __argp_parse): Comment out the identifiers
49671         __argc, __argv from the declaration. (They are defined as macros on
49672         mingw.)
49673
49674 2006-10-22  Bruno Haible  <bruno@clisp.org>
49675
49676         * doc/gnulib-intro.texi: New file.
49677         * doc/gnulib.texi: Include it.
49678
49679 2006-10-21  Bruno Haible  <bruno@clisp.org>
49680
49681         * doc/gnulib.texi: Split the chapter "Gnulib" into 3 chapters
49682         "Introduction", "Miscellanous Notes", "Particular Modules".
49683
49684 2006-10-21  Bruno Haible  <bruno@clisp.org>
49685
49686         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
49687         Change mostlyclean-local rule to avoid sh syntax error from bash
49688         versions 2.00..2.05 when $(MOSTLYCLEANDIRS) is empty.
49689
49690 2006-10-23  Jim Meyering  <jim@meyering.net>
49691
49692         * lib/getaddrinfo.c (getnameinfo): Use new lightweight uinttostr,
49693         in place of snprintf.
49694
49695         * modules/inttostr (Files): Add lib/uinttostr.c.
49696         * lib/uinttostr.c (inttostr): New file/function.
49697         * lib/inttostr.h (uinttostr): Declare.
49698         * m4/inttostr.m4: Add AC_LIBOBJ([uinttostr]).
49699         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
49700         Add uinttostr.
49701         * modules/getaddrinfo (Depends-on): Remove snprintf.  Add inttostr.
49702
49703 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
49704
49705         * lib/canonicalize.c (ELOOP): Define if not already defined.
49706         Problem reported by Bruno Haible in
49707         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00282.html>.
49708
49709 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
49710
49711         * lib/stdint_.h [defined _AIX]: Don't include <sys/types.h>.
49712         Problem reported by Perry Smith and Ville Laurikari.
49713
49714         * lib/getndelim2.c (SSIZE_MAX): Use same defn that getdelim.c
49715         uses.
49716
49717 2006-10-19  Bruno Haible  <bruno@clisp.org>
49718
49719         * lib/getndelim2.c (SSIZE_MAX): Provide fallback definition. Needed
49720         for mingw.
49721
49722 2006-10-19  Bruno Haible  <bruno@clisp.org>
49723
49724         * lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
49725         Needed for mingw.
49726
49727 2006-10-19  Bruno Haible  <bruno@clisp.org>
49728
49729         * m4/size_max.m4 (gl_SIZE_MAX): Cache the result.
49730
49731 2006-10-19  Bruno Haible  <bruno@clisp.org>
49732
49733         * m4/allocsa.m4 (gl_ALLOCSA): Invoke gl_FUNC_ALLOCA, don't AC_REQUIRE
49734         it.
49735
49736 2006-10-19  Bruno Haible  <bruno@clisp.org>
49737
49738         * m4/alloca.m4 (gl_FUNC_ALLOCA): Cache the result of the AC_EGREP_CPP
49739         invocation.
49740
49741 2006-10-19  Bruno Haible  <bruno@clisp.org>
49742
49743         * gnulib-tool (func_create_testdir): Don't include ftruncate and
49744         mountlist by default.
49745
49746 2006-10-16  Bruno Haible  <bruno@clisp.org>
49747
49748         * lib/c-strstr.c: Include c-strstr.h.
49749
49750 2006-10-18  Charles Wilson  <cygwin@cwilson.fastmail.fm>
49751
49752         * gnulib-tool: Don't clobber $sourcebase when $local_gnulib_dir ends
49753         in a slash.
49754
49755 2006-10-18  Bruno Haible  <bruno@clisp.org>
49756
49757         * lib/lock.h [C++]: Wrap definitions in extern "C".
49758
49759 2006-10-18  Bruno Haible  <bruno@clisp.org>
49760
49761         * gnulib-tool (func_emit_initmacro_end): Remove duplicates from the
49762         gl_LIBOBJS list.
49763
49764 2006-10-18  Bruno Haible  <bruno@clisp.org>
49765
49766         * lib/findprog.c (find_in_path): Avoid "gcc -Wwrite-strings" warning.
49767
49768 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>
49769
49770         * lib/xstrtol.h: Include gettext.h.
49771         (_STRTOL_ERROR): Wrap English-language formats inside gettext.
49772         Problem reported by Eric Blake.
49773         * modules/xstrtol (Depends-on): Add gettext-h.
49774
49775 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)
49776
49777         * lib/strftime.c (advance): New macro.
49778         (add): Use it to avoid adding 0 to a FILE *.  FILE can be an
49779         incomplete type, so you can't add 0 to it.  Problem and patch
49780         reported by Eelco Dolstra for dietlibc.
49781
49782 2006-10-18  Jim Meyering  <jim@meyering.net>
49783
49784         * lib/readutmp.c (desirable_utmp_entry): Use "bool" as the
49785         type for a local, and rename it: s/up/user_proc/.
49786
49787 2006-10-18  Sergey Poznyakoff  <gray@gnu.org.ua>
49788
49789         * lib/readutmp.c (desirable_utmp_entry): Implement new flag:
49790         READ_UTMP_USER_PROCESS.
49791         * lib/readutmp.h (READ_UTMP_USER_PROCESS): New flag
49792
49793 2006-10-17  Paul Eggert  <eggert@cs.ucla.edu>
49794
49795         * lib/localcharset.c: Do not check HAVE_SETLOCALE.
49796         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't check for setlocale.
49797
49798 2006-10-17  Eric Blake  <ebb9@byu.net>
49799
49800         * lib/sigprocmask.c (sigprocmask): Fix typo.
49801
49802         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Fix typo.
49803
49804         * modules/clean-temp (Makefile.am): Don't add to make output...
49805         (configure.ac): ...instead define SIGNAL_SAFE_LIST inside
49806         config.h.
49807
49808 2006-10-17  Bruno Haible  <bruno@clisp.org>
49809
49810         * lib/gettext.h (gettext, ngettext, pgettext, npgettext): Define
49811         differently if DEFAULT_TEXT_DOMAIN is set.
49812
49813 2006-10-16  Bruno Haible  <bruno@clisp.org>
49814
49815         * lib/clean-temp.c: Include fwriteerror.h.
49816
49817 2006-10-16  Bruno Haible  <bruno@clisp.org>
49818
49819         * getndelim2.m4 (gl_GETNDELIM2): Remove 2003-10-23 hack.
49820
49821 2006-10-16  Bruno Haible  <bruno@clisp.org>
49822
49823         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Also test for sigset_t.
49824         * lib/sigprocmask.h: Include <sys/types.h>.
49825         (sigset_t): Use the system's definition if present.
49826
49827 2006-10-17  Eric Blake  <ebb9@byu.net>
49828
49829         * lib/xvasprintf.c (includes): Assume config.h.
49830         * lib/xasprintf.c (includes): Likewise.
49831
49832 2006-10-16  Paul Eggert  <eggert@cs.ucla.edu>
49833
49834         * lib/fsusage.c (PROPAGATE_ALL_ONES): Don't assume uintmax_t is
49835         at least as wide as intmax_t.
49836
49837 2006-10-16  Alexandre Duret-Lutz  <adl@gnu.org>
49838
49839         (Imported from Automake.)
49840         * build-aux/gnupload: Update to version 1.1 of directive file.
49841
49842 2006-10-16  Eric Blake  <ebb9@byu.net>
49843
49844         * modules/configmake (Makefile.am): Add pkglibexecdir support, to
49845         match Automake 1.10a.
49846
49847 2006-10-14  Bruno Haible  <bruno@clisp.org>
49848
49849         * modules/sigprocmask: New file.
49850         * lib/sigprocmask.h: New file.
49851         * lib/sigprocmask.c: New file.
49852         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Renamed from
49853         gt_SIGNALBLOCKING. When not defining HAVE_POSIX_SIGNALBLOCKING,
49854         request sigprocmask.o.
49855         (gl_PREREQ_SIGPROCMASK): New macro.
49856         * modules/fatal-signal (Files): Remove m4/signalblocking.m4.
49857         (Depends-on): Add sigprocmask.
49858         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Don't require
49859         gt_SIGNALBLOCKING. Test for 'raise' only once.
49860         * lib/fatal-signal.c: Include sigprocmask.h.
49861         (fatal_signal_set, init_fatal_signal_set, block_fatal_signals,
49862         unblock_fatal_signals): Define always.
49863         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
49864         sigprocmask.
49865
49866 2006-10-14  Paul Eggert  <eggert@cs.ucla.edu>
49867
49868         Sync from Automake.
49869         * build-aux/install-sh (posix_mkdir): Reject FreeBSD 6.1 mkdir -p -m,
49870         which incorrectly sets the mode of an existing destination
49871         directory.  In some cases the unpatched install-sh could do the
49872         equivalent of "chmod 777 /" or "chmod 0 /" on a buggy FreeBSD
49873         system.  We hope this is rare in practice, but it's clearly worth
49874         fixing.  Problem reported by Alex Unleashed in
49875         <http://lists.gnu.org/archive/html/bug-autoconf/2006-10/msg00012.html>.
49876         Also, don't bother to check for -m bugs unless we're using -m;
49877         suggested by Stepan Kasal.
49878
49879 2006-10-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49880
49881         Sync from Automake.
49882         * build-aux/depcomp (gcc3): Put dependency extraction flags before the
49883         `-c' flag, so they appear at the same position as in %FASTDEP%
49884         mode in depend2.am.  Fixes build failure for FreeBSD's c89,
49885         which ignores unknown options only after the first non-option.
49886         Bug report against M4 by Nelson H. F. Beebe.
49887
49888 2006-10-13  Jim Meyering  <jim@meyering.net>
49889
49890         Fix a bug in yesterday's change.
49891         * lib/fts.c (fts_open): When using FTS_XDEV|FTS_NOSTAT,
49892         p->fts_statp->st_dev would be used uninitialized.
49893         Ensures that we always call fts_stat on the very first entry.
49894         Miklos Szeredi reported that find -xdev stopped working.
49895
49896 2006-10-12  Bruno Haible  <bruno@clisp.org>
49897
49898         * gnulib-tool (func_get_automake_snippet): Append an automatically
49899         computed EXTRA_DIST augmentation.
49900         * modules/acl (Makefile.am): Remove EXTRA_DIST augmentation.
49901         * modules/alloca-opt (Makefile.am): Likewise.
49902         * modules/allocsa (Makefile.am): Likewise.
49903         * modules/arcfour (Makefile.am): Likewise.
49904         * modules/arctwo (Makefile.am): Likewise.
49905         * modules/argmatch (Makefile.am): Likewise.
49906         * modules/argz (Makefile.am): Likewise.
49907         * modules/atexit (Makefile.am): Likewise.
49908         * modules/backupfile (Makefile.am): Likewise.
49909         * modules/byteswap (Makefile.am): Likewise.
49910         * modules/c-strtod (Makefile.am): Likewise.
49911         * modules/c-strtold (Makefile.am): Likewise.
49912         * modules/calloc (Makefile.am): Likewise.
49913         * modules/canon-host (Makefile.am): Likewise.
49914         * modules/canonicalize (Makefile.am): Likewise.
49915         * modules/chdir-long (Makefile.am): Likewise.
49916         * modules/chdir-safer (Makefile.am): Likewise.
49917         * modules/check-version (Makefile.am): Likewise.
49918         * modules/chown (Makefile.am): Likewise.
49919         * modules/cloexec (Makefile.am): Likewise.
49920         * modules/close-stream (Makefile.am): Likewise.
49921         * modules/closeout (Makefile.am): Likewise.
49922         * modules/crc (Makefile.am): Likewise.
49923         * modules/csharpexec (Makefile.am): Likewise.
49924         * modules/cycle-check (Makefile.am): Likewise.
49925         * modules/des (Makefile.am): Likewise.
49926         * modules/dev-ino (Makefile.am): Likewise.
49927         * modules/dirfd (Makefile.am): Likewise.
49928         * modules/dirname (Makefile.am): Likewise.
49929         * modules/dup2 (Makefile.am): Likewise.
49930         * modules/eealloc (Makefile.am): Likewise.
49931         * modules/error (Makefile.am): Likewise.
49932         * modules/euidaccess (Makefile.am): Likewise.
49933         * modules/exclude (Makefile.am): Likewise.
49934         * modules/exitfail (Makefile.am): Likewise.
49935         * modules/fcntl-safer (Makefile.am): Likewise.
49936         * modules/fcntl (Makefile.am): Likewise.
49937         * modules/file-type (Makefile.am): Likewise.
49938         * modules/fileblocks (Makefile.am): Likewise.
49939         * modules/filemode (Makefile.am): Likewise.
49940         * modules/filenamecat (Makefile.am): Likewise.
49941         * modules/fnmatch (Makefile.am): Likewise.
49942         * modules/fopen-safer (Makefile.am): Likewise.
49943         * modules/fpending (Makefile.am): Likewise.
49944         * modules/fprintftime (Makefile.am): Likewise.
49945         * modules/free (Makefile.am): Likewise.
49946         * modules/fsusage (Makefile.am): Likewise.
49947         * modules/ftruncate (Makefile.am): Likewise.
49948         * modules/fts (Makefile.am): Likewise.
49949         * modules/gc-arcfour (Makefile.am): Likewise.
49950         * modules/gc-des (Makefile.am): Likewise.
49951         * modules/gc-hmac-md5 (Makefile.am): Likewise.
49952         * modules/gc-hmac-sha1 (Makefile.am): Likewise.
49953         * modules/gc-md4 (Makefile.am): Likewise.
49954         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
49955         * modules/gc-sha1 (Makefile.am): Likewise.
49956         * modules/gc (Makefile.am): Likewise.
49957         * modules/getaddrinfo (Makefile.am): Likewise.
49958         * modules/getcwd (Makefile.am): Likewise.
49959         * modules/getdelim (Makefile.am): Likewise.
49960         * modules/getdomainname (Makefile.am): Likewise.
49961         * modules/getgroups (Makefile.am): Likewise.
49962         * modules/gethostname (Makefile.am): Likewise.
49963         * modules/gethrxtime (Makefile.am): Likewise.
49964         * modules/getline (Makefile.am): Likewise.
49965         * modules/getloadavg (Makefile.am): Likewise.
49966         * modules/getlogin_r (Makefile.am): Likewise.
49967         * modules/getndelim2 (Makefile.am): Likewise.
49968         * modules/getopt (Makefile.am): Likewise.
49969         * modules/getpagesize (Makefile.am): Likewise.
49970         * modules/getpass-gnu (Makefile.am): Likewise.
49971         * modules/getpass (Makefile.am): Likewise.
49972         * modules/getsubopt (Makefile.am): Likewise.
49973         * modules/gettime (Makefile.am): Likewise.
49974         * modules/gettimeofday (Makefile.am): Likewise.
49975         * modules/getugroups (Makefile.am): Likewise.
49976         * modules/getusershell (Makefile.am): Likewise.
49977         * modules/glob (Makefile.am): Likewise.
49978         * modules/group-member (Makefile.am): Likewise.
49979         * modules/hard-locale (Makefile.am): Likewise.
49980         * modules/hash (Makefile.am): Likewise.
49981         * modules/hmac-md5 (Makefile.am): Likewise.
49982         * modules/hmac-sha1 (Makefile.am): Likewise.
49983         * modules/human (Makefile.am): Likewise.
49984         * modules/idcache (Makefile.am): Likewise.
49985         * modules/imaxabs (Makefile.am): Likewise.
49986         * modules/imaxdiv (Makefile.am): Likewise.
49987         * modules/inet_ntop (Makefile.am): Likewise.
49988         * modules/inet_pton (Makefile.am): Likewise.
49989         * modules/intprops (Makefile.am): Likewise.
49990         * modules/inttostr (Makefile.am): Likewise.
49991         * modules/inttypes (Makefile.am): Likewise.
49992         * modules/isapipe (Makefile.am): Likewise.
49993         * modules/javaversion (Makefile.am): Likewise.
49994         * modules/lchmod (Makefile.am): Likewise.
49995         * modules/lchown (Makefile.am): Likewise.
49996         * modules/localcharset (Makefile.am): Likewise.
49997         * modules/long-options (Makefile.am): Likewise.
49998         * modules/lstat (Makefile.am): Likewise.
49999         * modules/malloc (Makefile.am): Likewise.
50000         * modules/mathl (Makefile.am): Likewise.
50001         * modules/mbchar (Makefile.am): Likewise.
50002         * modules/md2 (Makefile.am): Likewise.
50003         * modules/md4 (Makefile.am): Likewise.
50004         * modules/md5 (Makefile.am): Likewise.
50005         * modules/memcasecmp (Makefile.am): Likewise.
50006         * modules/memchr (Makefile.am): Likewise.
50007         * modules/memcmp (Makefile.am): Likewise.
50008         * modules/memcoll (Makefile.am): Likewise.
50009         * modules/memcpy (Makefile.am): Likewise.
50010         * modules/memmem (Makefile.am): Likewise.
50011         * modules/memmove (Makefile.am): Likewise.
50012         * modules/mempcpy (Makefile.am): Likewise.
50013         * modules/memrchr (Makefile.am): Likewise.
50014         * modules/memset (Makefile.am): Likewise.
50015         * modules/memxor (Makefile.am): Likewise.
50016         * modules/mkancesdirs (Makefile.am): Likewise.
50017         * modules/mkdir-p (Makefile.am): Likewise.
50018         * modules/mkdir (Makefile.am): Likewise.
50019         * modules/mkdtemp (Makefile.am): Likewise.
50020         * modules/mkstemp (Makefile.am): Likewise.
50021         * modules/mktime (Makefile.am): Likewise.
50022         * modules/modechange (Makefile.am): Likewise.
50023         * modules/mountlist (Makefile.am): Likewise.
50024         * modules/nanosleep (Makefile.am): Likewise.
50025         * modules/obstack (Makefile.am): Likewise.
50026         * modules/openat (Makefile.am): Likewise.
50027         * modules/pagealign_alloc (Makefile.am): Likewise.
50028         * modules/pathmax (Makefile.am): Likewise.
50029         * modules/physmem (Makefile.am): Likewise.
50030         * modules/poll (Makefile.am): Likewise.
50031         * modules/posixtm (Makefile.am): Likewise.
50032         * modules/posixver (Makefile.am): Likewise.
50033         * modules/putenv (Makefile.am): Likewise.
50034         * modules/quote (Makefile.am): Likewise.
50035         * modules/quotearg (Makefile.am): Likewise.
50036         * modules/raise (Makefile.am): Likewise.
50037         * modules/read-file (Makefile.am): Likewise.
50038         * modules/readline (Makefile.am): Likewise.
50039         * modules/readlink (Makefile.am): Likewise.
50040         * modules/readtokens (Makefile.am): Likewise.
50041         * modules/readutmp (Makefile.am): Likewise.
50042         * modules/realloc (Makefile.am): Likewise.
50043         * modules/regex (Makefile.am): Likewise.
50044         * modules/rename-dest-slash (Makefile.am): Likewise.
50045         * modules/rename (Makefile.am): Likewise.
50046         * modules/rijndael (Makefile.am): Likewise.
50047         * modules/rmdir (Makefile.am): Likewise.
50048         * modules/rpmatch (Makefile.am): Likewise.
50049         * modules/safe-read (Makefile.am): Likewise.
50050         * modules/safe-write (Makefile.am): Likewise.
50051         * modules/same-inode (Makefile.am): Likewise.
50052         * modules/same (Makefile.am): Likewise.
50053         * modules/save-cwd (Makefile.am): Likewise.
50054         * modules/savedir (Makefile.am): Likewise.
50055         * modules/setenv (Makefile.am): Likewise.
50056         * modules/settime (Makefile.am): Likewise.
50057         * modules/sha1 (Makefile.am): Likewise.
50058         * modules/sig2str (Makefile.am): Likewise.
50059         * modules/snprintf (Makefile.am): Likewise.
50060         * modules/stat-macros (Makefile.am): Likewise.
50061         * modules/stat-time (Makefile.am): Likewise.
50062         * modules/stdbool (Makefile.am): Likewise.
50063         * modules/stdint (Makefile.am): Likewise.
50064         * modules/stdlib-safer (Makefile.am): Likewise.
50065         * modules/stpcpy (Makefile.am): Likewise.
50066         * modules/stpncpy (Makefile.am): Likewise.
50067         * modules/strcase (Makefile.am): Likewise.
50068         * modules/strcasestr (Makefile.am): Likewise.
50069         * modules/strchrnul (Makefile.am): Likewise.
50070         * modules/strcspn (Makefile.am): Likewise.
50071         * modules/strdup (Makefile.am): Likewise.
50072         * modules/strerror (Makefile.am): Likewise.
50073         * modules/strftime (Makefile.am): Likewise.
50074         * modules/strndup (Makefile.am): Likewise.
50075         * modules/strnlen (Makefile.am): Likewise.
50076         * modules/strpbrk (Makefile.am): Likewise.
50077         * modules/strsep (Makefile.am): Likewise.
50078         * modules/strstr (Makefile.am): Likewise.
50079         * modules/strtod (Makefile.am): Likewise.
50080         * modules/strtoimax (Makefile.am): Likewise.
50081         * modules/strtok_r (Makefile.am): Likewise.
50082         * modules/strtol (Makefile.am): Likewise.
50083         * modules/strtoll (Makefile.am): Likewise.
50084         * modules/strtoul (Makefile.am): Likewise.
50085         * modules/strtoull (Makefile.am): Likewise.
50086         * modules/strtoumax (Makefile.am): Likewise.
50087         * modules/strverscmp (Makefile.am): Likewise.
50088         * modules/sys_socket (Makefile.am): Likewise.
50089         * modules/sys_stat (Makefile.am): Likewise.
50090         * modules/sysexits (Makefile.am): Likewise.
50091         * modules/time_r (Makefile.am): Likewise.
50092         * modules/timegm (Makefile.am): Likewise.
50093         * modules/timespec (Makefile.am): Likewise.
50094         * modules/tmpfile-safer (Makefile.am): Likewise.
50095         * modules/trim (Makefile.am): Likewise.
50096         * modules/unistd-safer (Makefile.am): Likewise.
50097         * modules/unlinkdir (Makefile.am): Likewise.
50098         * modules/unlocked-io (Makefile.am): Likewise.
50099         * modules/userspec (Makefile.am): Likewise.
50100         * modules/utime (Makefile.am): Likewise.
50101         * modules/utimecmp (Makefile.am): Likewise.
50102         * modules/utimens (Makefile.am): Likewise.
50103         * modules/vasnprintf (Makefile.am): Likewise.
50104         * modules/vasprintf (Makefile.am): Likewise.
50105         * modules/vsnprintf (Makefile.am): Likewise.
50106         * modules/xalloc (Makefile.am): Likewise.
50107         * modules/xgetcwd (Makefile.am): Likewise.
50108         * modules/xnanosleep (Makefile.am): Likewise.
50109         * modules/xreadlink (Makefile.am): Likewise.
50110         * modules/xstrtod (Makefile.am): Likewise.
50111         * modules/xstrtol (Makefile.am): Likewise.
50112         * modules/xstrtold (Makefile.am): Likewise.
50113         * modules/yesno (Makefile.am): Likewise.
50114         * modules/getdate (Makefile.am): Don't add getdate.h to EXTRA_DIST.
50115
50116 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
50117
50118         * modules/error (Makefile.am): Distribute files through
50119         EXTRA_DIST, not lib_SOURCES.
50120
50121 2006-10-12  Eric Blake  <ebb9@byu.net>
50122
50123         * modules/error (Makefile.am): Distribute files in /lib.
50124         * modules/obstack (Makefile.am): Likewise.
50125
50126 2006-10-12  Bruno Haible  <bruno@clisp.org>
50127
50128         * modules/acl (Makefile.am): Distribute all files in lib/ through
50129         EXTRA_DIST.
50130         * modules/arcfour (Makefile.am): Likewise.
50131         * modules/arctwo (Makefile.am): Likewise.
50132         * modules/argmatch (Makefile.am): Likewise.
50133         * modules/argz (Makefile.am): Likewise.
50134         * modules/atexit (Makefile.am): Likewise.
50135         * modules/backupfile (Makefile.am): Likewise.
50136         * modules/c-strtod (Makefile.am): Likewise.
50137         * modules/c-strtold (Makefile.am): Likewise.
50138         * modules/calloc (Makefile.am): Likewise.
50139         * modules/canon-host (Makefile.am): Likewise.
50140         * modules/canonicalize (Makefile.am): Likewise.
50141         * modules/chdir-long (Makefile.am): Likewise.
50142         * modules/chdir-safer (Makefile.am): Likewise.
50143         * modules/check-version (Makefile.am): Likewise.
50144         * modules/chown (Makefile.am): Likewise.
50145         * modules/cloexec (Makefile.am): Likewise.
50146         * modules/close-stream (Makefile.am): Likewise.
50147         * modules/closeout (Makefile.am): Likewise.
50148         * modules/crc (Makefile.am): Likewise.
50149         * modules/cycle-check (Makefile.am): Likewise.
50150         * modules/des (Makefile.am): Likewise.
50151         * modules/dirfd (Makefile.am): Likewise.
50152         * modules/dirname (Makefile.am): Likewise.
50153         * modules/dup2 (Makefile.am): Likewise.
50154         * modules/euidaccess (Makefile.am): Likewise.
50155         * modules/exclude (Makefile.am): Likewise.
50156         * modules/exitfail (Makefile.am): Likewise.
50157         * modules/fcntl-safer (Makefile.am): Likewise.
50158         * modules/file-type (Makefile.am): Likewise.
50159         * modules/fileblocks (Makefile.am): Likewise.
50160         * modules/filemode (Makefile.am): Likewise.
50161         * modules/filenamecat (Makefile.am): Likewise.
50162         * modules/fnmatch (Makefile.am): Likewise.
50163         * modules/fopen-safer (Makefile.am): Likewise.
50164         * modules/fpending (Makefile.am): Likewise.
50165         * modules/fprintftime (Makefile.am): Likewise.
50166         * modules/free (Makefile.am): Likewise.
50167         * modules/fsusage (Makefile.am): Likewise.
50168         * modules/ftruncate (Makefile.am): Likewise.
50169         * modules/fts (Makefile.am): Likewise.
50170         * modules/gc (Makefile.am): Likewise.
50171         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
50172         * modules/getaddrinfo (Makefile.am): Likewise.
50173         * modules/getcwd (Makefile.am): Likewise.
50174         * modules/getdelim (Makefile.am): Likewise.
50175         * modules/getdomainname (Makefile.am): Likewise.
50176         * modules/getgroups (Makefile.am): Likewise.
50177         * modules/gethostname (Makefile.am): Likewise.
50178         * modules/gethrxtime (Makefile.am): Likewise.
50179         * modules/getline (Makefile.am): Likewise.
50180         * modules/getloadavg (Makefile.am): Likewise.
50181         * modules/getlogin_r (Makefile.am): Likewise.
50182         * modules/getopt (Makefile.am): Likewise.
50183         * modules/getpass (Makefile.am): Likewise.
50184         * modules/getpass-gnu (Makefile.am): Likewise.
50185         * modules/getsubopt (Makefile.am): Likewise.
50186         * modules/gettime (Makefile.am): Likewise.
50187         * modules/gettimeofday (Makefile.am): Likewise.
50188         * modules/getugroups (Makefile.am): Likewise.
50189         * modules/getusershell (Makefile.am): Likewise.
50190         * modules/glob (Makefile.am): Likewise.
50191         * modules/group-member (Makefile.am): Likewise.
50192         * modules/hard-locale (Makefile.am): Likewise.
50193         * modules/hash (Makefile.am): Likewise.
50194         * modules/hmac-md5 (Makefile.am): Likewise.
50195         * modules/hmac-sha1 (Makefile.am): Likewise.
50196         * modules/human (Makefile.am): Likewise.
50197         * modules/idcache (Makefile.am): Likewise.
50198         * modules/imaxabs (Makefile.am): Likewise.
50199         * modules/imaxdiv (Makefile.am): Likewise.
50200         * modules/inet_ntop (Makefile.am): Likewise.
50201         * modules/inet_pton (Makefile.am): Likewise.
50202         * modules/inttostr (Makefile.am): Likewise.
50203         * modules/isapipe (Makefile.am): Likewise.
50204         * modules/lchown (Makefile.am): Likewise.
50205         * modules/long-options (Makefile.am): Likewise.
50206         * modules/lstat (Makefile.am): Likewise.
50207         * modules/malloc (Makefile.am): Likewise.
50208         * modules/mathl (Makefile.am): Likewise.
50209         * modules/mbchar (Makefile.am): Likewise.
50210         * modules/md2 (Makefile.am): Likewise.
50211         * modules/md4 (Makefile.am): Likewise.
50212         * modules/md5 (Makefile.am): Likewise.
50213         * modules/memcasecmp (Makefile.am): Likewise.
50214         * modules/memchr (Makefile.am): Likewise.
50215         * modules/memcmp (Makefile.am): Likewise.
50216         * modules/memcoll (Makefile.am): Likewise.
50217         * modules/memcpy (Makefile.am): Likewise.
50218         * modules/memmem (Makefile.am): Likewise.
50219         * modules/memmove (Makefile.am): Likewise.
50220         * modules/mempcpy (Makefile.am): Likewise.
50221         * modules/memrchr (Makefile.am): Likewise.
50222         * modules/memset (Makefile.am): Likewise.
50223         * modules/memxor (Makefile.am): Likewise.
50224         * modules/mkancesdirs (Makefile.am): Likewise.
50225         * modules/mkdir (Makefile.am): Likewise.
50226         * modules/mkdir-p (Makefile.am): Likewise.
50227         * modules/mkdtemp (Makefile.am): Likewise.
50228         * modules/mkstemp (Makefile.am): Likewise.
50229         * modules/mktime (Makefile.am): Likewise.
50230         * modules/modechange (Makefile.am): Likewise.
50231         * modules/mountlist (Makefile.am): Likewise.
50232         * modules/nanosleep (Makefile.am): Likewise.
50233         * modules/openat (Makefile.am): Likewise.
50234         * modules/pagealign_alloc (Makefile.am): Likewise.
50235         * modules/physmem (Makefile.am): Likewise.
50236         * modules/poll (Makefile.am): Likewise.
50237         * modules/posixtm (Makefile.am): Likewise.
50238         * modules/posixver (Makefile.am): Likewise.
50239         * modules/putenv (Makefile.am): Likewise.
50240         * modules/quote (Makefile.am): Likewise.
50241         * modules/quotearg (Makefile.am): Likewise.
50242         * modules/raise (Makefile.am): Likewise.
50243         * modules/read-file (Makefile.am): Likewise.
50244         * modules/readline (Makefile.am): Likewise.
50245         * modules/readlink (Makefile.am): Likewise.
50246         * modules/readtokens (Makefile.am): Likewise.
50247         * modules/readutmp (Makefile.am): Likewise.
50248         * modules/realloc (Makefile.am): Likewise.
50249         * modules/regex (Makefile.am): Likewise.
50250         * modules/rename (Makefile.am): Likewise.
50251         * modules/rename-dest-slash (Makefile.am): Likewise.
50252         * modules/rijndael (Makefile.am): Likewise.
50253         * modules/rmdir (Makefile.am): Likewise.
50254         * modules/rpmatch (Makefile.am): Likewise.
50255         * modules/safe-read (Makefile.am): Likewise.
50256         * modules/safe-write (Makefile.am): Likewise.
50257         * modules/same (Makefile.am): Likewise.
50258         * modules/save-cwd (Makefile.am): Likewise.
50259         * modules/savedir (Makefile.am): Likewise.
50260         * modules/setenv (Makefile.am): Likewise.
50261         * modules/settime (Makefile.am): Likewise.
50262         * modules/sha1 (Makefile.am): Likewise.
50263         * modules/sig2str (Makefile.am): Likewise.
50264         * modules/snprintf (Makefile.am): Likewise.
50265         * modules/stdlib-safer (Makefile.am): Likewise.
50266         * modules/stpcpy (Makefile.am): Likewise.
50267         * modules/stpncpy (Makefile.am): Likewise.
50268         * modules/strcase (Makefile.am): Likewise.
50269         * modules/strcasestr (Makefile.am): Likewise.
50270         * modules/strchrnul (Makefile.am): Likewise.
50271         * modules/strcspn (Makefile.am): Likewise.
50272         * modules/strdup (Makefile.am): Likewise.
50273         * modules/strerror (Makefile.am): Likewise.
50274         * modules/strftime (Makefile.am): Likewise.
50275         * modules/strndup (Makefile.am): Likewise.
50276         * modules/strnlen (Makefile.am): Likewise.
50277         * modules/strpbrk (Makefile.am): Likewise.
50278         * modules/strsep (Makefile.am): Likewise.
50279         * modules/strstr (Makefile.am): Likewise.
50280         * modules/strtod (Makefile.am): Likewise.
50281         * modules/strtoimax (Makefile.am): Likewise.
50282         * modules/strtok_r (Makefile.am): Likewise.
50283         * modules/strtol (Makefile.am): Likewise.
50284         * modules/strtoll (Makefile.am): Likewise.
50285         * modules/strtoul (Makefile.am): Likewise.
50286         * modules/strtoull (Makefile.am): Likewise.
50287         * modules/strtoumax (Makefile.am): Likewise.
50288         * modules/strverscmp (Makefile.am): Likewise.
50289         * modules/time_r (Makefile.am): Likewise.
50290         * modules/timegm (Makefile.am): Likewise.
50291         * modules/tmpfile-safer (Makefile.am): Likewise.
50292         * modules/unistd-safer (Makefile.am): Likewise.
50293         * modules/unlinkdir (Makefile.am): Likewise.
50294         * modules/userspec (Makefile.am): Likewise.
50295         * modules/utime (Makefile.am): Likewise.
50296         * modules/utimecmp (Makefile.am): Likewise.
50297         * modules/utimens (Makefile.am): Likewise.
50298         * modules/vasnprintf (Makefile.am): Likewise.
50299         * modules/vasprintf (Makefile.am): Likewise.
50300         * modules/vsnprintf (Makefile.am): Likewise.
50301         * modules/xalloc (Makefile.am): Likewise.
50302         * modules/xgetcwd (Makefile.am): Likewise.
50303         * modules/xnanosleep (Makefile.am): Likewise.
50304         * modules/xreadlink (Makefile.am): Likewise.
50305         * modules/xstrtod (Makefile.am): Likewise.
50306         * modules/xstrtol (Makefile.am): Likewise.
50307         * modules/xstrtold (Makefile.am): Likewise.
50308         * modules/yesno (Makefile.am): Likewise.
50309
50310 2006-10-12  Jim Meyering  <jim@meyering.net>
50311
50312         * m4/getloadavg.m4: Revert the change below.
50313
50314         * m4/getloadavg.m4 (gl_GETLOADAVG): Test for the existence of
50315         lib/getloadavg.c using "ls -L", not "test -f".  The latter would
50316         fail with a symlink, which is what coreutils' ./bootstrap now
50317         creates by default.
50318
50319 2006-10-12  Bruno Haible  <bruno@clisp.org>
50320
50321         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): Don't define for MSVC or
50322         mingw.
50323         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): Handle
50324         MSVC and mingw explicitly.
50325
50326 2006-10-11  Simon Josefsson  <jas@extundo.com>
50327             Bruno Haible  <bruno@clisp.org>
50328
50329         Add support for multiple gnulib-tool invocations in the scope of a
50330         single configure.ac file.
50331         * gnulib-tool (func_emit_lib_Makefile_am): In the _LIBADD variable,
50332         use a private [LT]LIBOBJS variant. Define a _DEPENDENCIES variable
50333         with the same contents as the _LIBADD variable.
50334         (func_emit_initmacro_start, func_emit_initmacro_end,
50335         func_emit_initmacro_done): New functions.
50336         (func_import, func_create_testdir): Invoke them. Allow the identifiers
50337         gl_LIBOBJS and gl_LTLIBOBJS.
50338
50339 2006-10-11  Bruno Haible  <bruno@clisp.org>
50340
50341         * gnulib-tool (GETTEXTPATH, AUTOHEADER, AUTOPOINT): New variables.
50342         (func_create_testdir): Don't create po/Makefile.am, don't invoke
50343         autoreconf. Instead, invoke autopoint explicitly but move back the
50344         *.m4 files from gnulib.
50345
50346 2006-10-11  Bruno Haible  <bruno@clisp.org>
50347
50348         * gnulib-tool (func_usage): Make module names after --create-testdir
50349         optional.
50350         (func_create_testdir): If no module was specified, use nearly all
50351         modules.
50352
50353 2006-10-12  Jim Meyering  <jim@meyering.net>
50354
50355         Big performance improvement for fts-based tools that use FTS_NOSTAT.
50356         Avoid spurious inode-mismatch problems on non-POSIX file systems.
50357         Details: http://article.gmane.org/gmane.comp.lib.gnulib.bugs/7416
50358         * lib/fts_.h (FTS_DEFER_STAT): Define new flag.
50359         (FTS_OPTIONMASK): Extend the mask to reflect this addition.
50360         * lib/fts.c (DT_IS_KNOWN, DT_MUST_BE): Define.
50361         (FTS_NO_STAT_REQUIRED, FTS_STAT_REQUIRED): Define.
50362         (fts_set_stat_required): New function.
50363         (fts_open): Defer the calls to fts_stat, if possible or requested.
50364         Move the code that maps a command-line fts_info value FTS_DOT to FTS_D
50365         into fts_stat itself.
50366         (fts_read): Perform any required (deferred) fts_stat call.
50367         (fts_build): Likewise, for the directory we're about to open and read.
50368         In the readdir loop, carefully decide whether each entry will require
50369         an eventual call to fts_stat, using dirent.d_type info if available.
50370         (fts_stat): Move the test for whether to honor FTS_COMFOLLOW on
50371         a command line argument into this function.  Update all callers.
50372         Map a return value of FTS_DOT to FTS_D for a command line argument.
50373         * modules/fts (Depends-on): Add d-type.  Alphabetize.
50374         Thanks to Miklos Szeredi for his tenacity and for the initial
50375         bug report about "find" failing on a FUSE-based file system.
50376
50377         * lib/fts.c (fts_open): Use consistent indentation.
50378
50379 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
50380
50381         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Renamed from
50382         gl_USE_SYSTEM_EXTENSIONS, to fix a coreutils bootstrap failure
50383         reported by Jim Meyering.  All uses of cache variables renamed
50384         to match Autoconf's.
50385         (gl_USE_SYSTEM_EXTENSIONS): New macro, which simply requires
50386         the other one.
50387
50388         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
50389         Fix misspelling in diagnostic.
50390
50391 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
50392
50393         * lib/mkdir-p.c (HAVE_FCHMOD): Define to false if not already
50394         defined.  Problem reported by Matthew Woehlke.
50395
50396         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): New macro.
50397         Add support for Tandem NonStop R series.
50398         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX):
50399         Use new macro.
50400
50401         * lib/rename-dest-slash.c: Include stdbool.h but not string.h.
50402         (has_trailing_slash): Omit size arg; all callers changed.
50403         Omit 'inline', since it doesn't help performance and we'd
50404         need to configure it.
50405         Don't count //, ///, etc. as having a trailing slash.
50406         As a side effect, this removes a C99ism reported by Matthew Woehlke.
50407         (rpl_rename_dest_slash): On failure, use rename's errno rather
50408         than (in some cases) an incorrect or junk errno.
50409         Simplify code by removing need to compute length; this does
50410         cause it to make two passes instead of one over the file name,
50411         but it's worth it.
50412
50413         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Undo previous
50414         change, since Autoconf's version may no longer be appropriate now
50415         that we are using CVS Autoconf's version.  Add support for Tandem.
50416
50417 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
50418             Bruno Haible  <bruno@clisp.org>
50419
50420         * lib/allocsa.h (sa_alignment_longlong, sa_alignment_max): Test
50421         HAVE_LONG_LONG_INT instead of HAVE_LONG_LONG.
50422         * m4/allocsa.m4 (gl_ALLOCSA): Invoke AC_TYPE_LONG_LONG_INT instead of
50423         gl_AC_TYPE_LONG_LONG.
50424
50425         * lib/printf-args.h (arg_type, argument): Test HAVE_LONG_LONG_INT
50426         instead of HAVE_LONG_LONG.
50427         * lib/printf-args.c (printf_fetchargs): Likewise.
50428         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
50429         * lib/vasnprintf.c (VASNPRINTF): Likewise.
50430         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
50431         gl_PREREQ_VASNPRINTF): Invoke AC_TYPE_LONG_LONG_INT instead of
50432         gl_AC_TYPE_LONG_LONG.
50433
50434 2006-10-11  Bruno Haible  <bruno@clisp.org>
50435
50436         * m4/longlong.m4: Add comments.
50437         * m4/ulonglong.m4: Likewise.
50438
50439 2006-10-10  Bruno Haible  <bruno@clisp.org>
50440
50441         Make it possible to #define stpcpy, strdup to aliases.
50442         * lib/stpcpy.c (stpcpy) [!_LIBC]: Don't undefine.
50443         * lib/strdup.c (strdup) [!_LIBC]: Don't undefine.
50444
50445 2006-10-10  Bruno Haible  <bruno@clisp.org>
50446
50447         Make it possible to #define gcd to an alias.
50448         * lib/gcd.c: Include config.h.
50449
50450 2006-10-10  Bruno Haible  <bruno@clisp.org>
50451
50452         Make it possible to #define c_isascii to an alias.
50453         * lib/c-ctype.h: Don't define the macros if NO_C_CTYPE_MACROS is
50454         defined. Undefine the macros before defining them, to avoid gcc
50455         warnings.
50456         * lib/c-ctype.c: Include config.h. Don't undefine the macros; instead,
50457         define NO_C_CTYPE_MACROS early.
50458
50459 2006-10-10  Bruno Haible  <bruno@clisp.org>
50460
50461         Make it possible to #define set_program_name to an alias.
50462         * lib/progname.c: Don't undefine set_program_name; instead, undefine
50463         ENABLE_RELOCATABLE early.
50464
50465 2006-10-10  Paul Eggert  <eggert@cs.ucla.edu>
50466
50467         Port to Tandem NSK OSS, which has 64-bit signed int but at most
50468         32-bit unsigned int.  Problem reported by Matthew Woehlke in:
50469         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00062.html
50470         More generally, don't assume that 64-bit signed int is available
50471         if unsigned int is, and vice versa.
50472         * lib/inttypes_.h (_PRIu64_PREFIX, _SCNu64_PREFIX): Depend on
50473         unsigned symbols, not on their signed counterparts.
50474         * lib/stdint_.h (uint64_t, uint_least64_t, uint_fast64_t, uintmax_t):
50475         (UINT64_MAX, UINT_LEAST64_MAX, UINT_FAST64_MAX, UINTMAX_MAX):
50476         (UINT64_C, UINTMAX_C):
50477         Likewise.
50478         * lib/strtoimax.c (strtoll): Depend on signed symbols, not their
50479         unsigned counterparts.
50480         (Have_long_long, Unsigned): New macros.
50481         (Int): Renamed from INT.
50482         (strtoimax): Use the new macros.
50483         * m4/stdint.m4 (gl_STDINT_H): Require AC_TYPE_UNSIGNED_LONG_LONG_INT
50484         and substitute HAVE_UNSIGNED_LONG_LONG_INT.
50485         * modules/inttypes (inttypes.h): Substitute
50486         HAVE_UNSIGNED_LONG_LONG_INT.
50487         * modules/stdint (stdint.h): Likewise.
50488         (Files): Add m4/ulonglong.m4.
50489
50490 2006-10-10  Bruno Haible  <bruno@clisp.org>
50491
50492         Fix a gcc -Wshadow warning.
50493         * lib/gl_anyhash_list2.h (hash_resize): Rename local variable 'index'
50494         to 'bucket'.
50495         * lib/gl_anylinked_list2.h (gl_linked_search_from_to,
50496         gl_linked_indexof_from_to): Likewise.
50497         * lib/gl_linkedhash_list.c (add_to_bucket, remove_from_bucket):
50498         Likewise.
50499         * lib/gl_anytreehash_list1.h (add_to_bucket, remove_from_bucket):
50500         Likewise.
50501         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Likewise.
50502         Reported by Eric Blake.
50503
50504 2006-10-09  Paul Eggert  <eggert@cs.ucla.edu>
50505
50506         * lib/filemode.h [HAVE_DECL_STRMODE]: Include unistd.h too,
50507         for NetBSD.  Problem reported by Bruno Haible.
50508
50509 2006-10-09  Jim Meyering  <jim@meyering.net>
50510
50511         * lib/lchown.c: Include <sys/stat.h> before "stat-macros.h".
50512         Patch from Bruno Haible.
50513
50514 2006-10-09  Jim Meyering  <jim@meyering.net>
50515
50516         * lib/fts-cycle.c (leave_dir): When "leaving" a top level directory due
50517         to FTS_SKIP, don't copy the parent's uninitialized dev/ino values.
50518         Trigger with e.g., mkdir d && valgrind ./chmod u+rwx d d
50519
50520 2006-10-08  Paul Eggert  <eggert@cs.ucla.edu>
50521
50522         Don't include <config.h> twice; this doesn't work in some cases,
50523         e.g., when config.h has "#define intmax_t long long int" and
50524         we include <config.h>, <inttypes.h>, <config.h> in that order.
50525         Problem reported by Matthew Woehlke in:
50526         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00073.html
50527         * lib/fprintftime.c: Don't include config.h or fprintftime.h.
50528         * lib/fts-cycle.c: Don't include config.h.
50529         * lib/strftime.c: Include fprintftime.h if FPRINTFTIME is defined.
50530         * lib/xstrtoimax.c: Remove copyright notice since it's short tnow.
50531         Don't include config.h or xstrtol.h.  Define STRTOL_T_MINIMUM
50532         and STRTOL_T_MAXIMUM unconditionally, since we now assume gnulib
50533         inttypes.h.
50534         * lib/xstrtoumax.c: Likewise.
50535         * lib/xstrtol.c: Include config.h and xstrtol.h after defining
50536         __strtol and the like, so that this module is more like its siblings.
50537         (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [! defined STRTOL_T_MINIMUM]:
50538         Remove; no longer needed now that we assume gnulib inttypes.h.
50539
50540 2006-10-08  Bruno Haible  <bruno@clisp.org>
50541
50542         * doc/gnulib-tool.texi: Emphasize the drawbacks of the --symlink
50543         option.
50544
50545 2006-10-07  Jim Meyering  <jim@meyering.net>
50546
50547         * modules/inttypes (inttypes.h): Revert what seems to have been
50548         an inadvertent part of today's change: use "|", not "/" in the
50549         substitution for the "/"-containing string, $(ABSOLUTE_INTTYPES_H).
50550
50551 2006-10-07  Bruno Haible  <bruno@clisp.org>
50552
50553         * modules/sublist: New file.
50554
50555 2006-10-07  Bruno Haible  <bruno@clisp.org>
50556
50557         * modules/alloca-opt (alloca.h): Add a "DO NOT EDIT" comment.
50558         * modules/argz (argz.h): Likewise.
50559         * modules/arpa_inet (arpa/inet.h): Likewise.
50560         * modules/byteswap (byteswap.h): Likewise.
50561         * modules/configmake (configmake.h): Likewise.
50562         * modules/fcntl (fcntl.h): Likewise.
50563         * modules/fnmatch (fnmatch.h): Likewise.
50564         * modules/getopt (getopt.h): Likewise.
50565         * modules/glob (glob.h): Likewise.
50566         * modules/inttypes (inttypes.h): Likewise.
50567         * modules/netinet_in (netinet/in.h): Likewise.
50568         * modules/poll (poll.h): Likewise.
50569         * modules/stdbool (stdbool.h): Likewise.
50570         * modules/stdint (stdint.h): Likewise.
50571         * modules/sys_select (sys/select.h): Likewise.
50572         * modules/sys_socket (sys/socket.h): Likewise.
50573         * modules/sys_stat (sys/stat.h): Likewise.
50574         * modules/sysexits (sysexits.h): Likewise.
50575         * modules/unistd (unistd.h): Likewise.
50576         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
50577         Add a "DO NOT EDIT" comment to the generated file.
50578         (func_import): Likewise for gnulib-comp.m4.
50579
50580 2006-10-07  Bruno Haible  <bruno@clisp.org>
50581
50582         * lib/gl_sublist.h: New file.
50583         * lib/gl_sublist.c: New file.
50584
50585 2006-10-06  Paul Eggert  <eggert@cs.ucla.edu>
50586
50587         * lib/mkancesdirs.c (mkancesdirs): Pass to MAKE_DIR both the full file
50588         name (relative to the original working directory) and the file
50589         name component (relative to the temporary working directory).  All
50590         callers changed.
50591         * lib/mkancesdirs.h (mkancesdirs): Adjust prototype to match.
50592         * lib/mkdir-p.c (make_dir_parents): Likewise.
50593         * lib/mkdir-p.h (make_dir_parents): Likewise.
50594
50595 2006-10-06  Eric Blake  <ebb9@byu.net>
50596
50597         Define several macros for use by the clean-temp module.
50598         * m4/close-stream.m4 (gl_CLOSE_STREAM): Define GNULIB_CLOSE_STREAM.
50599         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Define GNULIB_FCNTL_SAFER.
50600         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Define GNULIB_FOPEN_SAFER.
50601
50602         * lib/clean-temp.h (close_stream_temp): New declaration.
50603         * lib/clean-temp.c (includes): Pull in headers according to what
50604         other modules are in use.
50605         (close_stream_temp) [GNULIB_CLOSE_STREAM]: New function.
50606
50607 2006-10-06  Bruno Haible  <bruno@clisp.org>
50608
50609         * lib/javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp
50610         instead of fopen, fwriteerror.
50611
50612 2006-10-06  Bruno Haible  <bruno@clisp.org>
50613
50614         * lib/clean-temp.h (cleanup_temp_file, cleanup_temp_subdir,
50615         cleanup_temp_dir_contents, cleanup_temp_dir): Change return type to
50616         int.
50617         * lib/clean-temp.c (do_unlink, do_rmdir, cleanup_temp_file,
50618         cleanup_temp_subdir, cleanup_temp_dir_contents, cleanup_temp_dir):
50619         Return an error indicator.
50620         Suggested by Eric Blake.
50621
50622 2006-10-06  Bruno Haible  <bruno@clisp.org>
50623
50624         * lib/clean-temp.c (PATH_MAX): Provide a fallback for GNU Hurd.
50625         Reported by Eric Blake.
50626
50627 2006-10-06  Bruno Haible  <bruno@clisp.org>
50628
50629         * modules/closeout (Description): Mention stderr too.
50630
50631 2006-10-06  Bruno Haible  <bruno@clisp.org>
50632         and Paul Eggert  <eggert@cs.ucla.edu>
50633
50634         * lib/closeout.c (close_stdout): Also close stderr.
50635         * lib/closeout.h: Update comment.
50636
50637 2006-10-05  Paul Eggert  <eggert@cs.ucla.edu>
50638
50639         Fix some Darwin-7.9.0 porting problems reported by Bruno Haible in
50640         <http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00063.html>.
50641         * lib/dirchownmod.c: Include lchown.h.
50642         * lib/lchown.c: Don't include files that lchown.h now includes.
50643         Don't declare chown, since lchown.h now does that.
50644         * lib/lchown.h: Include errno.h, sys/types.h, unistd.h.
50645         (lchown): Define to rpl_chown if lchown is declared but
50646         does not exist.  Declare using a prototype if lchown is not
50647         declared.  Add a copyright notice.
50648         * lib/mkstemp.h: Include <unistd.h>.
50649         * lib/openat.c: Include lchown.h.
50650
50651         * lib/fcntl_.h (O_NOFOLLOW): Don't depend on O_NOFOLLOW_IS_INEFFECTIVE;
50652         we now test for that separately.
50653         * lib/fts.c (fts_safe_changedir): Inspect HAVE_WORKING_O_NOFOLLOW
50654         rather than O_NOFOLLOW, when testing whether it's possible to
50655         avoid a race condition reliably.
50656         * lib/savewd.c (savewd_chdir): Likewise.
50657
50658         Remove macros that are no longer needed now that stdint.h is
50659         reliable.
50660         * lib/fsusage.c (UINTMAX_MAX): Remove.
50661         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Remove.
50662         * lib/utimecmp.c (SIZE_MAX): Remove.
50663
50664         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check whether lchown is declared.
50665
50666         * m4/fcntl_h.m4 (gl_FCNTL_H): Define HAVE_WORKING_O_NOFOLLOW instead
50667         of O_NOFOLLOW_IS_INEFFECTIVE.  Define HAVE_WORKING_O_NOATIME if
50668         O_NOATIME works.
50669
50670 2006-10-05  Bruno Haible  <bruno@clisp.org>
50671
50672         * lib/gl_list.h (gl_sortedlist_search_from_to,
50673         gl_sortedlist_indexof_from_to): New declarations.
50674         (gl_list_implementation): New fields sortedlist_search_from_to,
50675         sortedlist_indexof_from_to.
50676         (gl_sortedlist_search_from_to, gl_sortedlist_indexof_from_to): New
50677         inline functions.
50678         * lib/gl_list.c (gl_sortedlist_search_from_to,
50679         gl_sortedlist_indexof_from_to): New functions.
50680         * lib/gl_array_list.c (gl_array_sortedlist_indexof_from_to): New
50681         function.
50682         (gl_array_sortedlist_indexof, gl_array_sortedlist_search): Use it.
50683         (gl_array_sortedlist_search_from_to): New function.
50684         (gl_array_list_implementation): Update.
50685         * lib/gl_carray_list.c (gl_carray_sortedlist_indexof_from_to): New
50686         function.
50687         (gl_carray_sortedlist_indexof, gl_carray_sortedlist_search): Use it.
50688         (gl_carray_sortedlist_search_from_to): New function.
50689         (gl_carray_list_implementation): Update.
50690         * lib/gl_anylinked_list2.h (gl_linked_sortedlist_search_from_to,
50691         gl_linked_sortedlist_indexof_from_to): New functions.
50692         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
50693         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
50694         * lib/gl_anytree_list2.h (gl_tree_sortedlist_search_from_to,
50695         gl_tree_sortedlist_indexof_from_to): New functions.
50696         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
50697         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
50698         Update.
50699         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
50700         * lib/gl_rbtreehash_list.c (gl_avltreehash_list_implementation):
50701         Update.
50702
50703 2006-10-05  Bruno Haible  <bruno@clisp.org>
50704
50705         * lib/gl_list.h (gl_list_search_from, gl_list_search_from_to,
50706         gl_list_indexof_from, gl_list_indexof_from_to): New declarations.
50707         (struct gl_list_implementation): Add fields search_from_to,
50708         indexof_from_to. Remove fields search, indexof.
50709         (gl_list_search): Use the search_from_to method.
50710         (gl_list_search_from, gl_list_search_from_to): New functions.
50711         (gl_list_indexof): Use the indexof_from_to method.
50712         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
50713         * lib/gl_list.c (gl_list_search): Use the search_from_to method.
50714         (gl_list_search_from, gl_list_search_from_to): New functions.
50715         (gl_list_indexof): Use the indexof_from_to method.
50716         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
50717         * lib/gl_array_list.c (gl_array_indexof_from_to): Renamed from
50718         gl_array_indexof. Add start_index, end_index arguments.
50719         (gl_array_search_from_to): Renamed from gl_array_search. Add
50720         start_index, end_index arguments.
50721         (gl_array_remove, gl_array_list_implementation): Update.
50722         * lib/gl_carray_list.c (gl_carray_indexof_from_to): Renamed from
50723         gl_carray_indexof. Add start_index, end_index arguments.
50724         (gl_carray_search_from_to): Renamed from gl_carray_search. Add
50725         start_index, end_index arguments.
50726         (gl_carray_remove, gl_carray_list_implementation): Update.
50727         * lib/gl_anylinked_list2.h (gl_linked_search_from_to): Renamed from
50728         gl_linked_search. Add start_index, end_index arguments.
50729         (gl_linked_indexof_from_to): Renamed from gl_linked_indexof. Add
50730         start_index, end_index arguments.
50731         (gl_linked_remove): Update.
50732         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
50733         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
50734         * lib/gl_anytree_list1.h (iterstack_item_t): Change type of 'rightp'
50735         field to 'size_t'.
50736         * lib/gl_anytree_list2.h (gl_tree_search_from_to): Renamed from
50737         gl_tree_search. Add start_index, end_index arguments.
50738         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
50739         start_index, end_index arguments.
50740         (gl_tree_remove): Update.
50741         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
50742         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
50743         * lib/gl_anytreehash_list1.h (compare_position_threshold): New
50744         function.
50745         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Renamed from
50746         gl_tree_search. Add start_index, end_index arguments.
50747         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
50748         start_index, end_index arguments.
50749         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
50750         Update.
50751         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
50752
50753 2006-10-05  Bruno Haible  <bruno@clisp.org>
50754
50755         * modules/fwriteerror (configure.ac): Define GNULIB_FWRITEERROR.
50756
50757         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
50758         fwriteerror_temp): New declarations.
50759         * lib/clean-temp.c (uintptr_t): Provide fallback definition.
50760         (descriptors): New variable.
50761         (cleanup): First, close the descriptors.
50762         (register_fd, unregister_fd, open_temp, fopen_temp, close_temp,
50763         fclose_temp, fwriteerror_temp): New functions.
50764
50765 2006-10-04  Jim Meyering  <jim@meyering.net>
50766
50767         * lib/fts.c (fts_open): Tiny comment change.
50768
50769 2006-10-04  Bruno Haible  <bruno@clisp.org>
50770
50771         Make it possible to invoke AC_GNU_SOURCE after gl_LOCK_EARLY.
50772         * m4/lock.m4 (gl_LOCK_EARLY_BODY): New macro, extracted code from
50773         gl_LOCK_BODY.
50774         (gl_LOCK_EARLY): Require gl_LOCK_EARLY_BODY, not gl_LOCK_BODY.
50775         (gl_LOCK_BODY): Remove settings of CPPFLAGS, now done in
50776         gl_LOCK_EARLY_BODY.
50777         (gl_LOCK): Require gl_LOCK_BODY.
50778
50779 2006-10-04  Bruno Haible  <bruno@clisp.org>
50780
50781         * lib/gl_oset.h (gl_setelement_threshold_fn): New type.
50782         (gl_oset_search_atleast): New declaration.
50783         (struct gl_oset_implementation): Add field 'search_atleast'.
50784         (gl_oset_search_atleast): New inline function.
50785         * lib/gl_oset.c (gl_oset_search_atleast): New function.
50786         * lib/gl_array_oset.c (gl_array_search_atleast): New function.
50787         (gl_array_oset_implementation): Update.
50788         * lib/gl_anytree_oset.h (gl_tree_search_atleast): New function.
50789         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Update.
50790         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Update.
50791
50792 2006-10-04  Bruno Haible  <bruno@clisp.org>
50793
50794         * lib/fatal-signal.c (fatal_signals) [WOE32]: Add the SIGBREAK signal.
50795
50796 2006-10-03  Bruno Haible  <bruno@clisp.org>
50797
50798         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Renamed
50799         from gl_avltreehash_list_implementation.
50800
50801 2006-10-03  Bruno Haible  <bruno@clisp.org>
50802
50803         * lib/gl_oset.c (gl_oset_add): Fix return type.
50804
50805 2006-10-02  Paolo Bonzini  <bonzini@gnu.org>  (tiny change)
50806
50807         * lib/quotearg.c (mbstate_t) [!HAVE_MBRTOWC]: #define to int.
50808
50809 2006-10-02  Eric Blake  <ebb9@byu.net>
50810
50811         * modules/strnlen (Depends-on): Add extensions.
50812
50813 2006-10-02  Eric Blake  <ebb9@byu.net>
50814
50815         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use autoconf's
50816         definition in 2.60+.
50817
50818 2006-10-02  Dmitry V. Levin  <ldv@altlinux.org>
50819
50820         * lib/fts.c (fts_close, fts_build, fts_palloc): Remove redundant
50821         checks.
50822
50823 2006-10-02  Bruno Haible  <bruno@clisp.org>
50824
50825         * gnulib-tool (func_emit_lib_Makefile_am): Don't add no-dependencies
50826         to the AUTOMAKE_OPTIONS.
50827         Reported by Jim Meyering.
50828
50829 2006-09-29  Paul Eggert  <eggert@cs.ucla.edu>
50830
50831         Work around bug in Solaris 10 /proc file system:
50832         /proc/self/fd/NNN/.. isn't the parent directory of
50833         the directory whose file descriptor is NNN.  This needs to
50834         be worked around at run time, not compile time, since a
50835         program might be built on Solaris 8, where things work, and
50836         run on Solaris 10.
50837         * lib/openat-priv.h (BUILD_PROC_NAME): Remove.  All callers changed
50838         to use the following interface instead:
50839         (OPENAT_BUFFER_SIZE): New macro.
50840         (openat_proc_name): New function.
50841         * lib/at-func.c (AT_FUNC_NAME): Adjust to above changes.
50842         * lib/openat.c (openat_permissive, openat_needs_fchdir, fdopendir):
50843         Likewise.
50844         * lib/openat-proc.c: New file.
50845         * modules/openat (Files): Add lib/openat-proc.c.
50846         (Depends-on): Add same-inode, stdbool.
50847         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBOBJ(openat-proc).
50848
50849 2006-09-29  Bruno Haible  <bruno@clisp.org>
50850
50851         * lib/fwriteerror.h (fwriteerror_no_ebadf): New declaration.
50852         * lib/(do_fwriteerror): Renamed from fwriteerror. Add ignore_ebadf
50853         argument. Set stdout_closed before testing for ferror, not after.
50854         (fwriteerror, fwriteerror_no_ebadf): New functions.
50855
50856 2006-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50857
50858         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Avoid unused variables warning.
50859
50860 2006-09-28  Paolo Bonzini  <bonzini@gnu.org>
50861
50862         * lib/poll.c (rpl_poll) [__APPLE__]: Use FIONREAD instead of MSG_PEEK.
50863         * m4/poll.m4: Look for sys/ioctl.h and sys/filio.h.
50864
50865 2006-09-28  Jim Meyering  <jim@meyering.net>
50866
50867         * lib/mkdir-p.c: Include "dirchownmod.h", not "dirchownmod.c".
50868         Include <unistd.h>.
50869
50870 2006-09-28  Bruno Haible  <bruno@clisp.org>
50871
50872         * modules/avltreehash-list (Depends-on): Add stdint, remove size_max.
50873         * modules/linkedhash-list (Depends-on): Likewise.
50874         * modules/rbtreehash-list (Depends-on): Likewise.
50875
50876 2006-09-28  Bruno Haible  <bruno@clisp.org>
50877
50878         * lib/strndup.h: Simplify the redefinition of strndup.
50879         (_GL_CONCAT, _GL_XCONCAT, __STRNDUP_ID): Remove macros.
50880         * m4/strndup.m4 (gl_FUNC_STRNDUP): Don't define __STRNDUP_PREFIX.
50881
50882 2006-09-28  Bruno Haible  <bruno@clisp.org>
50883
50884         * lib/gl_avltreehash_list.c: Include <stdint.h> instead of size_max.h.
50885         * lib/gl_linkedhash_list.c: Likewise.
50886         * lib/gl_rbtreehash_list.c: Likewise.
50887
50888 2006-09-27  Paul Eggert  <eggert@cs.ucla.edu>
50889
50890         * lib/canon-host.c (canon_host_r): Work around bug in Darwin 7.9.0
50891         getaddrinfo.
50892
50893         * lib/__fpending.h: Don't include <stdio_ext.h> unless
50894         HAVE_DECL___FPENDING.  This avoids a bug with lsbcc, where
50895         it causes <stdio_ext.h> to cause a compile-time error.
50896         Problem reported by Nelson H. F. Beebe.
50897         * lib/getpass.c: Likewise, except for HAVE_DECL___FSETLOCKING instead
50898         of HAVE_DECL___PENDING.
50899
50900         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for stdio_ext at most once.
50901         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for __fsetlocking's
50902         declaration.
50903
50904 2006-09-27  Jim Meyering  <jim@meyering.net>
50905
50906         This file could end up with a definition for a function
50907         named __strndup, rather than rpl_strndup on a system with
50908         incomplete weak_alias support.
50909         * lib/strndup.c (strndup): Rename from __strndup.
50910         Remove #defines that used to map __strndup to strndup.
50911         Don't use K&R prototypes.
50912         Remove LIBC-related code, since this file is not sync'd with glibc.
50913         * lib/strndup.h: Revamp, accordingly.
50914         * m4/strndup.m4: Modernize.
50915
50916 2006-09-26  Paul Eggert  <eggert@cs.ucla.edu>
50917
50918         * modules/savewd (Depends-on): Add 'raise'.
50919         * lib/savewd.c: Include <signal.h>, for 'raise'.
50920
50921 2006-09-26  Jim Meyering  <jim@meyering.net>
50922
50923         * m4/acl.m4 (AC_FUNC_ACL): Disable ACL support altogether
50924         when we detect Darwin 8.7.0's acl_get_file bug.
50925         Rearrange to perform the new (below) run-test while $LIBS
50926         contains any acl-related library.  Set USE_ACL at the end.
50927         (gl_ACL_GET_FILE): New function.
50928
50929 2006-09-26  Eric Blake  <ebb9@byu.net>
50930
50931         * lib/verror.c: Include <config.h> unconditionally.
50932
50933 2006-09-25  Paul Eggert  <eggert@cs.ucla.edu>
50934
50935         * modules/clock-time (Maintainer): Add self.
50936         * modules/getlogin_r (Depends-on): Add extensions.
50937
50938 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50939
50940         * modules/clock-time: New module.
50941         * modules/nanosleep (Depends-on): Add clock-time.
50942         * modules/gethrxtime (Depends-on): Likewise.
50943         * modules/gettime (Depends-on): Likewise.
50944         * modules/settime (Depends-on): Likewise.
50945
50946         * modules/fts-lgpl: Depend on openat.
50947         * modules/mkancesdirs: Depend on savewd.
50948         * modules/mkdir-p: Likewise.
50949
50950 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50951
50952         * m4/host-os.m4 (gl_HOST_OS): Require AC_CANONICAL_HOST.
50953
50954         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Rename cache variable from
50955         `gl_have_arbitrary_file_name_length_limit' to
50956         `gl_cv_have_arbitrary_file_name_length_limit', so that caching
50957         actually works between configure runs.
50958
50959 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50960             Bruno Haible  <bruno@clisp.org>
50961
50962         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Include <string.h>.
50963
50964 2006-09-25  Jim Meyering  <jim@meyering.net>
50965
50966         * m4/fcntl_h.m4 (gl_FCNTL_H): Fix typo in test for failed open.
50967         This typo caused coreutils/tests/dd/misc to fail on Darwin 8.7.0.
50968
50969 2006-09-25  Eric Blake  <ebb9@byu.net>
50970
50971         * gnulib-tool (func_import, func_create_testdir): Fix typos in
50972         exec's in 2006-09-18 patch when shuffling fds.
50973
50974 2006-09-25  Bruno Haible  <bruno@clisp.org>
50975
50976         * m4/getloadavg.m4 (gl_GETLOADAVG): Fix directory in error message.
50977         Reported by Jim Meyering.
50978
50979 2006-09-24  Jim Meyering  <jim@meyering.net>
50980
50981         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use '>' to
50982         compare a pointer against a literal "0".  That caused failures with
50983         at least HP-UX's hpcc.
50984
50985 2006-09-22  Simon Josefsson  <jas@extundo.com>
50986
50987         * modules/gc-sha1:
50988         * modules/gc-md4:
50989         * modules/gc-hmac-sha1:
50990         * modules/gc-hmac-md5:
50991         * modules/gc-des:
50992         * modules/gc-arcfour: Distribute more files.
50993
50994 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50995
50996         * lib/gl_anylinked_list2.h [lint] (gl_linked_iterator)
50997         (gl_linked_iterator_from_to): Initialize struct completely.
50998         * lib/gl_anytree_list2.h [lint] (gl_tree_iterator): Likewise.
50999         (gl_tree_iterator_from_to): Likewise
51000         * lib/gl_anytree_oset.h [lint] (gl_tree_iterator): Likewise.
51001         * lib/gl_array_list.c [lint] (gl_array_iterator)
51002         (gl_array_iterator_from_to): Likewise.
51003         * lib/gl_array_oset.c [lint] (gl_array_iterator): Likewise.
51004         * lib/gl_carray_list.c [lint] (gl_carray_iterator)
51005         (gl_carray_iterator_from_to): Likewise.
51006
51007         * lib/gc-gnulib.c [GC_USE_HMAC_SHA1]: include hmac.h for hmac_sha1.
51008         * lib/md4.c (md4_process_block): Remove unused variable.
51009         * lib/rijndael-api-fst.c (rijndaelBlockDecrypt): GCC suggests
51010         parentheses for clarity.
51011
51012 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51013
51014         * modules/bison-i18n (Depends-on): Add gettext.
51015
51016 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51017
51018         * m4/fsusage.m4 (gl_STATFS_TRUNCATES): Avoid unused variable.
51019         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
51020         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Likewise;
51021         also add missing comma that caused broken test.
51022         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Include
51023         stdlib.h, for `abort'.
51024         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Avoid unused
51025         variables.
51026         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Check for and
51027         include unistd.h if present, for `rmdir'.
51028         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Avoid unused
51029         variables.
51030         * m4/putenv.m4 (gl_FUNC_PUTENV): Rewrite using AC_RUN_IFELSE, and
51031         in the process include standard headers for prototypes.
51032         * m4/readutmp.m4 (gl_READUTMP): Require AC_GNU_SOURCE, so utmpxname
51033         gets declared on GNU/Linux.
51034         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Check for and include
51035         unistd.h, for `rmdir'.
51036         * m4/time_r.m4 (gl_TIME_R): Avoid unused variables.
51037
51038         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Avoid expression that is
51039         always true.
51040         * m4/strndup.m4 (gl_FUNC_STRNDUP): include stdlib.h, for `free'.
51041
51042         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Avoid gcc -Wall warnings.
51043
51044 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51045
51046         * gnulib-tool (func_version): Create output all at once.  This
51047         may help avoid triggering unnecessary SIGPIPEs, and at any
51048         rate it doesn't hurt.
51049
51050 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51051             Bruno Haible  <bruno@clisp.org>
51052
51053         * m4/lock.m4 (gl_LOCK_BODY): Avoid unused variables warning.
51054         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
51055         * m4/signed.m4 (bh_C_SIGNED): Likewise.
51056
51057         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): New macro.
51058         (gl_FUNC_VASPRINTF): Invoke it.
51059
51060 2006-09-22  Bruno Haible  <bruno@clisp.org>
51061
51062         * m4/getloadavg.m4 (gl_GETLOADAVG): Expect the directory of
51063         getloadavg.c as first argument.
51064
51065 2006-09-22  Bruno Haible  <bruno@clisp.org>
51066
51067         * gnulib-tool (func_import, func_create_testdir): Set gl_source_base
51068         at the beginning of the gl_INIT macro.
51069         * modules/getloadavg (configure.ac): Pass $gl_source_base to
51070         gl_GETLOADAVG.
51071
51072 2006-09-22  Bruno Haible  <bruno@clisp.org>
51073
51074         * gnulib-tool (func_create_megatestdir): Don't include the config-h
51075         module.
51076         Suggested by Ralf Wildenhues.
51077
51078 2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
51079
51080         Import this patch from libc:
51081
51082         2006-09-06  Jakub Jelinek  <jakub@redhat.com>
51083
51084         * lib/regex_internal.c (re_string_reconstruct): Handle
51085         offset < pstr->valid_raw_len && pstr->offsets_needed case.
51086         Ensure no bytes read before raw_mbs array.  Pass a saved copy of
51087         pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
51088         re_string_context_at.
51089
51090         * m4/regex.m4 (gl_REGEX): Check for locale.h, since the test
51091         now requires it.
51092         (gl_PREREQ_REGEX): Don't check for locale.h any more, since
51093         gl_REGEX now does it for us.
51094         (gl_REGEX): Add test taken from
51095         http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html.
51096
51097         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_SYS_LARGEFILE.
51098         Check that large offsets work.  Modernize Autoconf usages.
51099         Prefer "yes" to mean a good thing rather than a bad.
51100         Don't put "#define mkstemp" in config.h, as this might interfere
51101         with standard system headers that "#define mkstemp mkstemp64".
51102
51103         * modules/mkstemp (Depends-on): Add extensions, so that
51104         mkstemp is visible on some platforms.
51105         (Makefile.am): Add mkstemp.h to EXTRA_DIST.
51106         (Include): Change to "mkstemp.h" from <stdlib.h>.
51107         (Files): Add mkstemp.h.
51108
51109         * lib/mkstemp.h: New file, since some standard headers
51110         #define mkstemp.
51111         * lib/mkstemp.c: Revamp to put the !_LIBC code together.
51112         Include "mkstemp.h".
51113         Make the _LIBC code resemble glibc original more,
51114         e.g., use K&R style.
51115         * lib/mkstemp-safer.c: Include "mkstemp.h" instead of <stdlib.h>.
51116         (mkstemp): Remove, since mkstemp.h does this for us.
51117         * lib/stdlib--.h: Include mkstemp.h.
51118
51119         Import this patch from libc:
51120
51121         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
51122
51123         * lib/tempname.c (__gen_tempname): Change attempts_min
51124         into a macro.  Use preprocessor to decide how to initialize
51125         attempts [Coverity CID 67].
51126
51127 2006-09-20  Bruno Haible  <bruno@clisp.org>
51128
51129         * lib/mkdtemp.c: Import from libc.
51130         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
51131                 * sysdeps/posix/tempname.c (__gen_tempname): Change
51132                 attempts_min into a macro.  Use preprocessor to decide how to
51133                 initialize attempts [Coverity CID 67].
51134         2001-11-27  Paul Eggert  <eggert@twinsun.com>
51135                 * sysdeps/posix/tempname.c (__gen_tempname): Try at least
51136                 ATTEMPTS_MIN or TMP_MAX times, whichever is greater.
51137
51138 2006-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51139
51140         * gnulib-tool (func_exit): New function, to allow to pass the
51141         exit status portably through the trap.  Use everywhere.
51142         (--help, --version): Signal a write error.
51143         (trap): catch SIGPIPE, for write errors.
51144         Exit at the end of the trap, with the correct exit status.
51145
51146 2006-09-19  Karl Berry  <karl@gnu.org>
51147
51148         * doc/gnulib.texi: note about the license texinfo files.
51149
51150 2006-09-19  Eric Blake  <ebb9@byu.net>
51151
51152         * gnulib-tool: Avoid space-tab.
51153
51154 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
51155
51156         * lib/getaddrinfo.c (getaddrinfo) [defined HAVE_IPV6]: Fix typo
51157         that prevented coreutils 6.1 from building.  Problem reported
51158         by Petter Reinholdtsen.
51159
51160 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
51161
51162         * gnulib-tool (avoidlist): Fix typo that broke options like
51163         --avoid=lock that are used by coreutils bootstrap.
51164
51165 2006-09-18  Mark D. Baushke  <mdb@gnu.org>
51166
51167         * m4/inttypes.m4 (gl_INTTYPES_H): Quote "test" args
51168         more systematically.
51169
51170 2006-09-18  Jim Meyering  <jim@meyering.net>
51171
51172         * lib/savewd.c (savewd_restore): Don't shadow: s/status/child_status/.
51173
51174 2006-09-18  Bruno Haible  <bruno@clisp.org>
51175
51176         * modules/inttypes (Files): Remove m4/inttypes-h.m4.
51177
51178 2006-09-18  Bruno Haible  <bruno@clisp.org>
51179
51180         * m4/inttypes-h.m4 (gl_HEADER_INTTYPES_H): Remove macro.
51181         * m4/inttypes-pri.m4: Require autoconf >= 2.52.
51182         (gt_INTTYPES_PRI): Invoke AC_CHECK_HEADERS on inttypes.h. Test
51183         ac_cv_header_inttypes_h instead of gl_cv_header_inttypes_h.
51184         * m4/gettext.m4: Require autoconf >= 2.52.
51185         (gt_INTL_SUBDIR_CORE): Invoke AC_CHECK_HEADERS on inttypes.h.
51186         * m4/inttypes.m4 (gl_INTTYPES_H): Test ac_cv_header_inttypes_h instead
51187         of gl_cv_header_inttypes_h.
51188
51189 2006-09-18  Bruno Haible  <bruno@clisp.org>
51190
51191         * lib/javaversion.c: Include configmake.h.
51192
51193 2006-09-18  Bruno Haible  <bruno@clisp.org>
51194
51195         * gnulib-tool (func_import, func_create_testdir): Use exec tricks to
51196         avoid that the while loops be executed in a subshell.
51197
51198 2006-09-18  Bruno Haible  <bruno@clisp.org>
51199
51200         * MODULES.html.sh (func_module): Break long lines.
51201         Suggested by Bruce Korb <bkorb@gnu.org>.
51202
51203 2006-09-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51204
51205         Speed up by a factor of 1.12.
51206         * gnulib-tool (nl): New variable.
51207         (func_import): Rewrite include directive extraction to only read each
51208         directive once.
51209
51210 2006-09-17  Bruno Haible  <bruno@clisp.org>
51211
51212         * modules/javaversion (Makefile.am): Remove DEFS setting.
51213         (Depends-on): Add configmake, for PKGDATADIR definition.
51214
51215 2006-09-17  Bruno Haible  <bruno@clisp.org>
51216
51217         * gnulib-tool (func_create_testdir): Rewrite all files at once.
51218
51219 2006-09-17  Bruno Haible  <bruno@clisp.org>
51220
51221         * gnulib-tool (func_append): New function, stolen from libtool.m4.
51222         (func_modules_transitive_closure, func_modules_add_dummy,
51223         func_modules_to_filelist, func_import, func_create_testdir,
51224         func_create_megatestdir, ...): Use it wherever possible.
51225         Suggested by Ralf Wildenhues.
51226
51227 2006-09-16  Karl Berry  <karl@gnu.org>
51228
51229         * doc/fdl.texi (ADDENDUM): switch to @heading from @appendixsubsec,
51230         to avoid sectioning errors.
51231         * doc/lgpl.texi, gpl.texi (Copying): downcase @unnumbered title.
51232         [ifinfo]: blank line after @center-ed titles.
51233         * doc/lgpl.texi (Library Copying): Rename main node to GNU LGPL.
51234         Spell FSF address consistently with others.
51235         (These changes approved by rms.)
51236
51237 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51238
51239         Speed up by a factor of 1.61.
51240         * gnulib-tool (func_modules_transitive_closure): Rewrite to not check
51241         already checked module names again.
51242
51243 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51244
51245         Speed up by a factor of 1.13.
51246         * gnulib-tool (func_import): Rewrite all old_files at once; likewise
51247         for new_files, and the input to func_add_or_update.
51248
51249 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51250
51251         * gnulib-tool (func_all_modules, func_modules_to_filelist, func_import,
51252         func_create_testdir, ...): Change 'sort | uniq' to 'sort -u'.
51253
51254 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
51255
51256         * modules/mkancesdirs (Depends-on): Add fcntl.
51257         * modules/savewd: New file.
51258         * MODULES.html.sh (File system functions): Add savewd.
51259
51260         * modules/configmake (Makefile.am): Add support for the
51261         Automake-supplied PKGLIBDIR, PKGINCLUDEDIR, PKGDATADIR.
51262
51263 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
51264
51265         * m4/savewd.m4: New file.
51266
51267 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
51268
51269         * lib/dirchownmod.c: Don't include fcntl.h; no longer needed.
51270         (dirchownmod): New arg FD.  All callers changed.
51271         Use FD rather than opening the directory ourself, as opening is
51272         now the caller's responsibility.
51273         * lib/dirchownmod.h: Likewise.
51274         * lib/mkancesdirs.c: Include <sys/types.h>, for portability to older
51275         hosts that require <sys/types.h> before <sys/stat.h>.  Include
51276         fcntl.h, savewd.h, and unistd.h, not dirname.h and stat-macros.h.
51277         (test_dir): Remove.
51278         (mkancesdirs): Return length of prefix of FILE that has already
51279         been made, or -2 if there is a child doing the work.  Redo
51280         algorithm so that it is O(N) rather than O(N**2).  Optimize away
51281         ".", and treat ".." specially since it might stray back into
51282         already-created areas.  Use a subprocess if necessary.  New arg
51283         WD; all users changed.  MAKE_DIR function should now return 1
51284         if it creates a directory that is not readable.  Return -2 if
51285         a child process is spun off.
51286         * lib/mkancesdirs.h: Include <stddef.h>, for ptrdiff_t.
51287         Adjust signature to match code.
51288         * lib/mkdir-p.c: Include dirname.h, for IS_ABSOLUTE_FILE_NAME.
51289         (make_dir_parents): Use a subprocess if necessary.  New arg WD;
51290         all users changed.
51291         * lib/savewd.c, lib/savewd.h: New files.
51292
51293 2006-09-15  Jim Meyering  <jim@meyering.net>
51294
51295         * modules/rename-dest-slash: New module.
51296         * MODULES.html.sh (posix_compat): Add it here.
51297
51298         * modules/rename: Reflect vb_FUNC_RENAME -> gl_FUNC_RENAME change.
51299
51300 2006-09-15  Jim Meyering  <jim@meyering.net>
51301
51302         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): New
51303         file.
51304
51305         * m4/rename.m4 (gl_FUNC_RENAME): Rename from vb_FUNC_RENAME.
51306
51307 2006-09-15  Jim Meyering  <jim@meyering.net>
51308
51309         * lib/rename-dest-slash.c (has_trailing_slash): Use
51310         FILE_SYSTEM_PREFIX_LEN, for non-POSIX systems.
51311         (rpl_rename_dest_slash): Perform the cheaper trailing slash
51312         test before testing whether SRC is a directory.
51313         Suggestions from Bruno Haible.
51314
51315         Avoid a warning about an unused variable.
51316         * lib/regex_internal.c (re_dfa_add_node): Move declaration of "type"
51317         into the #ifdef block where it's used.
51318
51319         * lib/rename-dest-slash.c: New file.
51320
51321 2006-09-14  Bruno Haible  <bruno@clisp.org>
51322
51323         * lib/allocsa.c: Include <config.h> unconditionally.
51324         * lib/asnprintf.c: Likewise.
51325         * lib/asprintf.c: Likewise.
51326         * lib/c-strcasecmp.c: Likewise.
51327         * lib/c-strcasestr.c: Likewise.
51328         * lib/c-strncasecmp.c: Likewise.
51329         * lib/c-strstr.c: Likewise.
51330         * lib/classpath.c: Likewise.
51331         * lib/clean-temp.c: Likewise.
51332         * lib/concatpath.c: Likewise.
51333         * lib/copy-file.c: Likewise.
51334         * lib/csharpcomp.c: Likewise.
51335         * lib/csharpexec.c: Likewise.
51336         * lib/execute.c: Likewise.
51337         * lib/fatal-signal.c: Likewise.
51338         * lib/findprog.c: Likewise.
51339         * lib/fwriteerror.c: Likewise.
51340         * lib/gl_array_list.c: Likewise.
51341         * lib/gl_array_oset.c: Likewise.
51342         * lib/gl_avltree_list.c: Likewise.
51343         * lib/gl_avltree_oset.c: Likewise.
51344         * lib/gl_avltreehash_list.c: Likewise.
51345         * lib/gl_carray_list.c: Likewise.
51346         * lib/gl_linked_list.c: Likewise.
51347         * lib/gl_linkedhash_list.c: Likewise.
51348         * lib/gl_list.c: Likewise.
51349         * lib/gl_oset.c: Likewise.
51350         * lib/gl_rbtree_list.c: Likewise.
51351         * lib/gl_rbtree_oset.c: Likewise.
51352         * lib/gl_rbtreehash_list.c: Likewise.
51353         * lib/imaxabs.c: Likewise.
51354         * lib/imaxdiv.c: Likewise.
51355         * lib/javacomp.c: Likewise.
51356         * lib/javaexec.c: Likewise.
51357         * lib/javaversion.c: Likewise.
51358         * lib/linebreak.c: Likewise.
51359         * lib/localcharset.c: Likewise.
51360         * lib/lock.c: Likewise.
51361         * lib/mbchar.c: Likewise.
51362         * lib/mbswidth.c: Likewise.
51363         * lib/mkdtemp.c: Likewise.
51364         * lib/pipe.c: Likewise.
51365         * lib/printf-args.c: Likewise.
51366         * lib/printf-parse.c: Likewise.
51367         * lib/progname.c: Likewise.
51368         * lib/progreloc.c: Likewise.
51369         * lib/readlink.c: Likewise.
51370         * lib/sh-quote.c: Likewise.
51371         * lib/stpcpy.c: Likewise.
51372         * lib/stpncpy.c: Likewise.
51373         * lib/strcasecmp.c: Likewise.
51374         * lib/strcasestr.c: Likewise.
51375         * lib/strcspn.c: Likewise.
51376         * lib/striconv.c: Likewise.
51377         * lib/strncasecmp.c: Likewise.
51378         * lib/strnlen1.c: Likewise.
51379         * lib/strstr.c: Likewise.
51380         * lib/strtok_r.c: Likewise.
51381         * lib/tls.c: Likewise.
51382         * lib/tmpdir.c: Likewise.
51383         * lib/unicodeio.c: Likewise.
51384         * lib/unsetenv.c: Likewise.
51385         * lib/vasnprintf.c: Likewise.
51386         * lib/vasprintf.c: Likewise.
51387         * lib/wait-process.c: Likewise.
51388         * lib/xallocsa.c: Likewise.
51389         * lib/xsetenv.c: Likewise.
51390         * lib/xstriconv.c: Likewise.
51391
51392 2006-09-13  Simon Josefsson  <jas@extundo.com>
51393
51394         * m4/getdate.m4: Don't AC_LIBOBJ([getdate]), automake takes care of
51395         that internally, suggested by Ralf Wildenhues
51396         <Ralf.Wildenhues@gmx.de>.
51397
51398 2006-09-13  Simon Josefsson  <jas@extundo.com>
51399
51400         * gnulib-tool (func_emit_lib_Makefile_am): Use $(LIBOBJS), not
51401         @LIBOBJS@.
51402         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
51403
51404 2006-09-13  Paul Eggert  <eggert@cs.ucla.edu>
51405
51406         * lib/_fpending.c: Include <config.h> unconditionally, since we no
51407         longer worry about uses that don't define HAVE_CONFIG_H.
51408         * lib/acl.c, lib/alloca.c, lib/argmatch.c, lib/atexit.c:
51409         * lib/backupfile.c, lib/basename.c, lib/c-stack.c, lib/c-strtod.c:
51410         * lib/calloc.c,lib/ canon-host.c, lib/canonicalize.c, lib/chdir-long.c:
51411         * lib/chdir-safer.c, lib/chown.c, lib/cloexec.c, lib/close-stream.c:
51412         * lib/closeout.c, lib/creat-safer.c, lib/cycle-check.c, lib/diacrit.c:
51413         * lib/dirchownmod.c, lib/dirfd.c, lib/dirname.c, lib/dup-safer.c:
51414         * lib/dup2.c, lib/error.c, lib/euidaccess.c, lib/exclude.c:
51415         * lib/exitfail.c, lib/fchmodat.c, lib/fchown-stub.c, lib/fd-safer.c:
51416         * lib/file-type.c, lib/fileblocks.c, lib/filemode.c, lib/filenamecat.c:
51417         * lib/fnmatch.c, lib/fopen-safer.c, lib/fprintftime.c, lib/free.c:
51418         * lib/fsusage.c, lib/ftruncate.c, lib/fts-cycle.c, lib/fts.c:
51419         * lib/full-write.c, lib/gai_strerror.c, lib/getcwd.c, lib/getdate.y:
51420         * lib/getdomainname.c, lib/getgroups.c, lib/gethostname.c:
51421         * lib/gethrxtime.c, lib/getloadavg.c, lib/getlogin_r.c:
51422         * lib/getndelim2.c, lib/getnline.c, lib/getopt.c, lib/getopt1.c:
51423         * lib/getpass.c, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c:
51424         * lib/getusershell.c, lib/glob.c, lib/group-member.c:
51425         * lib/hard-locale.c, lib/hash-pjw.c, lib/hash.c, lib/human.c:
51426         * lib/idcache.c, lib/inet_ntop.c, lib/inet_pton.c, lib/inttostr.c:
51427         * lib/isdir.c, lib/lchown.c, lib/linebuffer.c, lib/long-options.c:
51428         * lib/lstat.c, lib/malloc.c, lib/md5.c, lib/memcasecmp.c, lib/memchr.c:
51429         * lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, lib/memmove.c:
51430         * lib/memrchr.c, lib/mkancesdirs.c, lib/mkdir-p.c, lib/mkdir.c:
51431         * lib/mkdirat.c, lib/mkstemp-safer.c, lib/mkstemp.c, lib/modechange.c:
51432         * lib/mountlist.c, lib/nanosleep.c, lib/obstack.c, lib/open-safer.c:
51433         * lib/openat-die.c, lib/openat.c, lib/pagealign_alloc.c, lib/physmem.c:
51434         * lib/pipe-safer.c, lib/posixtm.c, lib/posixver.c, lib/putenv.c:
51435         * lib/quote.c, lib/quotearg.c, lib/raise.c, lib/readtokens.c:
51436         * lib/readtokens0.c, lib/readutmp.c, lib/realloc.c, lib/regex.c:
51437         * lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c:
51438         * lib/same.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c:
51439         * lib/settime.c, lib/sha1.c, lib/sig2str.c, lib/snprintf.c:
51440         * lib/strdup.c, lib/strerror.c, lib/strftime.c, lib/stripslash.c:
51441         * lib/strndup.c, lib/strnlen.c, lib/strpbrk.c, lib/strtod.c:
51442         * lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c:
51443         * lib/time_r.c, lib/timegm.c, lib/tmpfile-safer.c, lib/unlinkdir.c:
51444         * lib/userspec.c, lib/utime.c, lib/utimecmp.c, lib/utimens.c:
51445         * lib/version-etc-fsf.c, lib/version-etc.c, lib/xalloc-die.c:
51446         * lib/xgetcwd.c, lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c:
51447         * lib/xnanosleep.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtoimax.c:
51448         * lib/xstrtol.c, lib/xstrtoumax.c, lib/yesno.c:
51449         Likewise.
51450
51451 2006-09-13  Eric Blake  <ebb9@byu.net>
51452
51453         * lib/getopt.c: Fix typo in last commit.
51454
51455 2006-09-12  Sergey Poznyakoff  <gray@gnu.org.ua>
51456
51457         * lib/argp-help.c (argp_doc): Make sure NULL is not passed to
51458         dgettext.
51459
51460 2006-09-12  Jim Meyering  <jim@meyering.net>
51461
51462         * lib/nanosleep.c: Include <sys/types.h> before sys/select.h, to avoid
51463         compilation failure (due to use of pid_t in latter) on NetBSD 1.6.
51464         Reported by Nelson H. F. Beebe.
51465
51466 2006-09-10  Sergey Poznyakoff  <gray@gnu.org.ua>
51467
51468         * lib/argp-parse.c (__argp_parse) [!_LIBC]: Make sure
51469         program_invocation_name and program_invocation_short_name are
51470         initialized.
51471         * lib/argp-namefrob.h: Move declarations of program_invocation_name
51472         and program_invocation_short_name to argp.h, so they are visible
51473         to user programs.
51474         * lib/argp.h: Likewise
51475
51476 2006-09-10  Bruno Haible  <bruno@clisp.org>
51477
51478         * modules/mkdtemp (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
51479         m4/inttypes_h.m4, m4/uintmax_t.m4.
51480
51481 2006-09-10  Bruno Haible  <bruno@clisp.org>
51482
51483         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Don't require
51484         gl_AC_TYPE_UINTMAX_T.
51485
51486 2006-09-10  Bruno Haible  <bruno@clisp.org>
51487
51488         * lib/mkdtemp.c: Include <stdint.h> always. Don't include <inttypes.h>.
51489
51490 2006-09-09  Sergey Poznyakoff  <gray@gnu.org.ua>
51491
51492         * lib/argp.h (struct argp): Document the N_("..") "\v" N_("..")
51493         convention.  Text proposed by Bruno Haible.
51494         (struct argp_option): Document the use of N_() wrappers.
51495
51496         * lib/argp-help.c (argp_doc): Split the untranslated doc string on
51497         '\v', and translate the two parts separately, instead of feeding
51498         the whole string to gettext.  This allows to exclude
51499         '\v' from the strings visible to the translator by writing doc
51500         strings as N_("..") "\v" N_("..").
51501
51502 2006-09-09  Paul Eggert  <eggert@cs.ucla.edu>
51503
51504         * config/srclist.txt: Undo latest change; the bug was fixed.
51505
51506 2006-09-09  Bruno Haible  <bruno@clisp.org>
51507
51508         * gnulib-tool (func_emit_lib_Makefile_am): Eliminate lib_LDFLAGS
51509         assignments if building a library without libtool.
51510         (func_emit_tests_Makefile_am): Likewise. Handle lib_* variables as
51511         in func_emit_lib_Makefile_am.
51512         (func_import): When building a static library libfoo.a, arrange to
51513         define variables LIBFOO_LIBDEPS and LIBFOO_LTLIBDEPS.
51514         (func_create_testdir): Likewise.
51515         * modules/gc (configure.ac, Makefile.am): If building statically,
51516         augment gl_libdeps and gl_ltlibdeps instead of lib_LDFLAGS.
51517         * modules/iconvme (configure.ac, Makefile.am): Likewise.
51518         * modules/striconv (configure.ac, Makefile.am): Likewise.
51519         Based on a suggestion by Ralf Wildenhues.
51520
51521 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
51522
51523         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
51524         Check for unistd.h too, since Autoconf doesn't assume POSIX.
51525         Also:
51526
51527         2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
51528         Add year_2050_test to catch glibc bug 2821
51529         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
51530
51531         2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
51532         Prefer #ifdef to #if.
51533
51534         2006-04-02  Paul Eggert  <eggert@cs.ucla.edu>
51535         Return from 'main' instead of calling 'exit'.
51536
51537 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
51538
51539         * lib/mktime.c (guess_time_tm): Fix bug where mktime
51540         returned the maximum time_t value rather than (time_t) -1.
51541         Problem originally reported by William Bardwell
51542         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
51543
51544         * lib/isapipe.h (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
51545         Moved to here ...
51546         * lib/isapipe.c (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
51547         ... from here.
51548
51549 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
51550
51551         * config/srclist.txt: Temporarily comment out mktime.c until glibc bug
51552         2821 is fixed.
51553
51554 2006-09-08  Jim Meyering  <jim@meyering.net>
51555
51556         Don't make generated files read-only.  That would bother too many
51557         people.  However, do retain the ability to work when targets are
51558         read-only: remove the destination and temporary files before writing
51559         them (when generated via sed or echo), or by using the -f option for
51560         both cp and mv commands.  Suggestion to use -f from Paul Eggert.
51561         * modules/alloca-opt, modules/argz, modules/arpa_inet:
51562         * modules/byteswap, modules/configmake, modules/fcntl:
51563         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
51564         * modules/localcharset, modules/netinet_in, modules/poll:
51565         * modules/stdbool, modules/stdint, modules/sys_select:
51566         * modules/sys_socket, modules/sys_stat, modules/sysexits:
51567
51568 2006-09-08  Jim Meyering  <jim@meyering.net>
51569
51570         Avoid new build failure on FreeBSD 6.0.
51571         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Include
51572         <sys/param.h> when testing whether getmntinfo uses statvfs.  Patch by
51573         Pavel Tsekov, in <http://savannah.gnu.org/bugs/?17643>.
51574
51575 2006-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51576
51577         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't use plain echo.
51578
51579 2006-09-07  Jim Meyering  <jim@meyering.net>
51580
51581         Fix global typo in last change: use chmod u-w, not chmod u-x.
51582         Spotted by Paul Eggert and Bruce Korb.
51583         * modules/alloca-opt, modules/argz, modules/arpa_inet:
51584         * modules/byteswap, modules/configmake, modules/fcntl:
51585         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
51586         * modules/localcharset, modules/netinet_in, modules/poll:
51587         * modules/stdbool, modules/stdint, modules/sys_select:
51588         * modules/sys_socket, modules/sys_stat, modules/sysexits:
51589
51590 2006-09-06  Jim Meyering  <jim@meyering.net>
51591
51592         Make generated files be read-only.
51593         * modules/alloca-opt (Makefile.am): Work also when $@ is read-only.
51594         Ensure that each generated file is now read-only.
51595         * modules/argz: Likewise.
51596         * modules/arpa_inet: Likewise.
51597         * modules/byteswap: Likewise.
51598         * modules/configmake: Likewise.
51599         * modules/fcntl: Likewise.
51600         * modules/fnmatch: Likewise.
51601         * modules/getopt: Likewise.
51602         * modules/glob: Likewise.
51603         * modules/inttypes: Likewise.
51604         * modules/netinet_in: Likewise.
51605         * modules/poll: Likewise.
51606         * modules/stdbool: Likewise.
51607         * modules/stdint: Likewise.
51608         * modules/sys_select: Likewise.
51609         * modules/sys_socket: Likewise.
51610         * modules/sys_stat: Likewise.
51611         * modules/sysexits: Likewise.
51612         * modules/localcharset: Same as above, but continue using temporary
51613         file named "t-$@" (why different?) rather than the "$@-t" used
51614         everywhere else.
51615
51616         * modules/sysexits (Makefile.am): Replace literal occurrences
51617         of "sysexit.h" more readable, and more consistent, "$@".
51618
51619 2006-09-06  Bruno Haible  <bruno@clisp.org>
51620
51621         * modules/striconv: New file.
51622         * modules/xstriconv: New file.
51623         * MODULES.html.sh (Internationalization functions): Add striconv,
51624         xstriconv.
51625
51626 2006-09-06  Bruno Haible  <bruno@clisp.org>
51627
51628         * modules/gc (Makefile.am): Augment lib_LDFLAGS, not lib_LIBADD.
51629         * modules/iconvme (Makefile.am): Likewise. Also handle the case of
51630         not using libtool correctly.
51631
51632 2006-09-06  Bruno Haible  <bruno@clisp.org>
51633
51634         * lib/striconv.h: New file.
51635         * lib/striconv.c: New file, merging iconvme.c with GNU gettext's
51636         iconvstring.c.
51637         * lib/xstriconv.h: New file.
51638         * lib/xstriconv.c: New file.
51639
51640 2006-09-06  Bruno Haible  <bruno@clisp.org>
51641
51642         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
51643         lib_..._LDFLAGS.
51644
51645 2006-09-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51646
51647         * lib/argz_.h: Sync from Libtool.
51648
51649         2006-09-04  George Bosilca <bosilca@cs.utk.edu>
51650                 and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
51651
51652         * lib/libltdl/argz_.h: It's __cplusplus, not _cplusplus.
51653
51654 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
51655
51656         * modules/trim: New file.
51657
51658 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
51659
51660         * lib/trim.h: New file.
51661         * lib/trim.c: New file.
51662
51663 2006-09-05  Bruno Haible  <bruno@clisp.org>
51664
51665         * MODULES.html.sh (String handling): Add trim.
51666
51667 2006-09-04  Karl Berry  <karl@gnu.org>
51668
51669         * config/srclist.txt (signed.m4, gettext.m4): changes not propagated
51670         until next release.
51671
51672 2006-09-03  Bruno Haible  <bruno@clisp.org>
51673
51674         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Locate mingw shared libraries
51675         correctly.
51676
51677 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
51678
51679         * m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG,
51680         not gl_GETLOADAVG.  Omit unneeded semicolons.
51681         Problems reported by Ralf Wildenhues in
51682         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
51683         (gl_PREREQ_GETLOADAVG): Use AC_DEFUN, not m4_define.  Put
51684         at the end, which is the usual gnulib style.
51685
51686         * m4/fstypename.m4 (gl_FSTYPENAME): Use AC_CHECK_MEMBERS instead
51687         of doing all the work ourselves.
51688         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for
51689         sys/statvfs.h since the code doesn't use HAVE_SYS_STATVFS_H.
51690
51691 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
51692
51693         * lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG.
51694         Problem reported by Ralf Wildenhues in
51695         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
51696
51697         * lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by
51698         HAVE_STRUCT_STATFS_F_FSTYPENAME.
51699
51700 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
51701
51702         * gnulib-tool (func_emit_lib_Makefile_am): Fix typos in
51703         yesterday's patch by changing test -n to test -z.
51704
51705 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
51706
51707         * modules/getloadavg (Files): Add m4/getloadavg.m4.
51708         (configure.ac): AC_FUNC_GETLOADAVG -> gl_GETLOADAVG, as
51709         the former is now obsolescent.
51710
51711         * modules/chdir-long (Depends-on): Add fcntl.
51712
51713 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
51714
51715         * m4/fnmatch.m4: Add comment that Autoconf AC_FUNC_FNMATCH is
51716         obsolescent, and programs should use gnulib instead.
51717         * m4/getloadavg.m4: New file, with contents taken from Autoconf
51718         but with prefixes changed.
51719
51720 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
51721
51722         * lib/getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h
51723         or stdbool.h, because they might not exist while configuring.
51724
51725         * lib/chdir-long.c: Include <fcntl.h>, for O_DIRECTORY.
51726         Don't include unistd.h or limits.h; not needed, since chdir-long.h
51727         does that for us.
51728         (O_DIRECTORY): Remove.
51729
51730 2006-08-31  Eric Blake  <ebb9@byu.net>
51731
51732         * gnulib-tool: Don't let emacs change spaces to TAB.
51733
51734 2006-08-31  Bruno Haible  <bruno@clisp.org>
51735
51736         * gnulib-tool: When calling func_import more than once, do it in a
51737         subshell.
51738         Reported by Eric Blake <ebb9@byu.net>.
51739
51740 2006-08-31  Bruno Haible  <bruno@clisp.org>
51741
51742         * gnulib-tool (nl): Remove variable.
51743         (sed_transform_lib_file): Use more robust test for config-h module.
51744         (func_import): Fix typo in 2006-08-25 patch.
51745
51746 2006-08-31  Bruno Haible  <bruno@clisp.org>
51747
51748         * gnulib-tool (func_emit_lib_Makefile_am): When --makefile-name was
51749         specified, augment Makefile.am variables instead of assigning them.
51750
51751 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
51752
51753         Work around a bug in both the Linux and SunOS 64-bit kernels:
51754         nanosleep mishandles sleeps for longer than 2**31 seconds.
51755         Problem reported by Frank v Waveren in
51756         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
51757         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_CLOCK_TIME.
51758         Check for nanosleep bug.
51759         (LIB_NANOSLEEP): Append clock_gettime library if needed.
51760
51761 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
51762
51763         Work around a bug in both the Linux and SunOS 64-bit kernels:
51764         nanosleep mishandles sleeps for longer than 2**31 seconds.
51765         Problem reported by Frank v Waveren in
51766         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
51767         * lib/nanosleep.c (BILLION): New constant.
51768         (getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions.
51769         (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new
51770         implementation.
51771
51772 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
51773
51774         * modules/nanosleep (Depends-on): Add gettime.
51775
51776 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
51777         and Simon Josefsson  <jas@extundo.com>
51778         and Oskar Liljeblad  <oskar@osk.mine.nu>
51779
51780         * MODULES.html.sh (Support for building documentation): Add gpl, lgpl.
51781         * gnulib-tool (func_import): New license type 'unmodifiable license
51782         text'.
51783         * modules/fdl: Use it.  Longer description.
51784         * module/gpl, module/lgpl: New files.
51785
51786 2006-08-30  Jim Meyering  <jim@meyering.net>
51787
51788         * lib/isapipe.c (isapipe): Rename local s/fd/fd_pair/ to avoid
51789         shadowing the parameter.
51790
51791 2006-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51792
51793         Sync from Libtool:
51794
51795         2006-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51796
51797         * lib/libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code
51798         sharing with gnulib.  Report by Eric Blake.
51799
51800 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
51801
51802         * modules/isapipe: New file.
51803         * MODULES.html.sh (File descriptor based Input/Output): Add isapipe.
51804
51805 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
51806
51807         * modules/configmake (Makefile.am): Add a comment, and omit
51808         the CONFIGMAKE_ prefix from generated macro names.  Suggested
51809         by Bruno Haible.
51810
51811 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
51812
51813         * m4/isapipe.m4: New file.
51814
51815 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
51816
51817         * lib/isapipe.c, lib/isapipe.h: New files.
51818
51819 2006-08-29  Jim Meyering  <jim@meyering.net>
51820
51821         * modules/configmake (Makefile.am): Make configmake.h depend on
51822         Makefile.  Otherwise, a stale configmake.h could hang around.
51823
51824 2006-08-29  Eric Blake  <ebb9@byu.net>
51825
51826         * lib/error.c (error_at_line, print_errno_message): Match libc, after
51827         resolution of upstream bug 3044.
51828
51829 2006-08-29  Bruno Haible  <bruno@clisp.org>
51830
51831         * modules/localcharset (Depends-on): Add configmake.
51832         (Makefile.am): Remove setting of LIBDIR through DEFS.
51833
51834 2006-08-29  Bruno Haible  <bruno@clisp.org>
51835
51836         * lib/localcharset.c: Include configmake.h in order to get LIBDIR
51837         defined.
51838
51839 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
51840
51841         * modules/fcntl: New file.
51842         * modules/chdir-safer (Depends-on): Add fcntl.
51843         * modules/fts: Likewise.
51844         * modules/mkdir-p: Likewise.
51845
51846         * modules/stdint (Makefile.am): Do not substitute ABSOLUTE_INTTYPES_H.
51847         This undoes the most recent change, since we're now addressing the
51848         problem in a different way.
51849
51850         * gnulib-tool (emit_lib_Makefile_am): Don't put $makefile_name
51851         into output, since the output might be called Makefile.am even
51852         if $makefile_name is something different.
51853         (func_import): Use $makefile_am rather than
51854         ${makefile_name-Makefile.am}, to fix a bug where makefile_name was
51855         empty.
51856
51857         * modules/inttypes (Files): Add m4/inttypes-h.m4.
51858
51859 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
51860
51861         * m4/inttypes.m4 (gl_INTTYPES_H): Move ABSOLUTE_INTTYPES_H code here...
51862         * m4/stdint.m4 (gl_STDINT_H): ... from here.  This undoes the most
51863         recent change to stdint.m4, since we're now addressing the problem in a
51864         different way.
51865
51866 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
51867
51868         * m4/fcntl_h.m4: New file.
51869
51870 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
51871
51872         * lib/fcntl_.h: New file.
51873         * lib/chdir-safer.c (O_DIRECTORY, O_NOFOLLOW): Remove, now that we have
51874         the fcntl module.
51875         * lib/dirchownmod.c: Likewise.
51876         * lib/fts.c: Likewise.
51877
51878         * lib/inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]:
51879         Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else.
51880         * lib/stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define
51881         just before including <inttypes.h>, to avoid circular inclusion.
51882
51883 2006-08-28  Jim Meyering  <jim@meyering.net>
51884
51885         * doc/visibility.texi: Actually read and correct the grammar of the
51886         sentence affected by yesterday's change.
51887
51888 2006-08-28  Eric Blake  <ebb9@byu.net>
51889
51890         * modules/inttypes (Makefile.am): Fix sed error when inttypes.h
51891         needs wrapper.
51892
51893 2006-08-28  Eric Blake  <ebb9@byu.net>
51894
51895         * m4/inttypes.m4 (gl_INTTYPES_H): Fix missing #endif.
51896
51897 2006-08-28  Eric Blake  <ebb9@byu.net>
51898
51899         * m4/codeset.m4 (AM_LANGINFO_CODESET): Avoid compiler warning.
51900
51901 2006-08-28  Bruno Haible  <bruno@clisp.org>
51902
51903         * modules/c-strstr: New file, from GNU gettext.
51904         * MODULES.html.sh (String handling): Add c-strstr.
51905
51906 2006-08-28  Bruno Haible  <bruno@clisp.org>
51907
51908         * m4/inttypes.m4 (gl_INTTYPES_H): Don't test for the existence of SCNX*
51909         macros.
51910         Reported by Eric Blake.
51911
51912 2006-08-28  Bruno Haible  <bruno@clisp.org>
51913
51914         * lib/vasnprintf.c (EOVERFLOW): Remove definition.
51915         (VASNPRINTF): Return a string of length > INT_MAX without failing.
51916         * lib/vasprintf.c: Include errno.h, limits.h.
51917         (EOVERFLOW): New fallback definition.
51918         (vasprintf): Test here whether the string length is > INT_MAX.
51919         * lib/vsnprintf.c: Include errno.h, limits.h.
51920         (EOVERFLOW): New fallback definition.
51921         (vsnprintf): Fix bug when generated string was too long for the buffer.
51922         Test here whether the string length is > INT_MAX.
51923
51924 2006-08-28  Bruno Haible  <bruno@clisp.org>
51925
51926         * lib/inttypes_.h (SCNX*): Remove definitions.
51927         Reported by Eric Blake.
51928
51929 2006-08-28  Bruno Haible  <bruno@clisp.org>
51930
51931         * lib/c-strstr.h: New file, from GNU gettext.
51932         * lib/c-strstr.c: New file, from GNU gettext.
51933
51934 2006-08-28  Bruno Haible  <bruno@clisp.org>
51935
51936         * gnulib-tool: Reorder some statements.
51937
51938 2006-08-28  Bruno Haible  <bruno@clisp.org>
51939
51940         * gnulib-tool: New option --makefile-name.
51941         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use
51942         $makefile_name.
51943         (func_import): Write $makefile_name to the cache file, and read it from
51944         there unless explicitly specified. Use $makefile_name as file name
51945         instead of Makefile.am. Adjust the recommendations accordingly.
51946
51947 2006-08-28  Bruno Haible  <bruno@clisp.org>
51948
51949         * gnulib-tool (func_verify_module): Check against misapplying patch.
51950
51951 2006-08-28  Bruno Haible  <bruno@clisp.org>
51952
51953         * gnulib-tool (func_relativize, func_relconcat): New functions.
51954         Give an error if --local-dir is given with --update.
51955         Remove trailing slashes from $local_gnulib_dir.
51956         (func_import): Store the relativized $local_gnulib_dir in
51957         gnulib-cache.m4, and read it from there if not specified explicitly.
51958
51959 2006-08-28  Bruno Haible  <bruno@clisp.org>
51960
51961         * gnulib-tool (func_get_tests_module): Don't assume that $gnulib_dir
51962         is the current directory. Respect also $local_gnulib_dir.
51963
51964 2006-08-28  Bruno Haible  <bruno@clisp.org>
51965             Simon Josefsson  <jas@extundo.com>
51966
51967         BeOS portability.
51968         * lib/getaddrinfo.c (PF_INET, PF_UNSPEC): New macros.
51969
51970 2006-08-27  Jim Meyering  <jim@meyering.net>
51971
51972         * doc/visibility.texi: Remove duplicate word: "pointer".
51973
51974 2006-08-26  Bruno Haible  <bruno@clisp.org>
51975
51976         * modules/inttypes (Files): Add lib/inttypes_.h, remove lib/inttypes.h.
51977         Add m4/inttypes.m4, remove m4/_inttypes_h.m4 and m4/include_next.m4.
51978         (Makefile.am): Create inttypes.h from inttypes_.h.
51979         * modules/stdint (Makefile.am): Substitute also ABSOLUTE_INTTYPES_H.
51980
51981         * modules/imaxabs: New file.
51982
51983         * modules/imaxdiv: New file.
51984
51985 2006-08-26  Bruno Haible  <bruno@clisp.org>
51986
51987         * m4/inttypes.m4: New file.
51988         * m4/_inttypes_h.m4: Remove file.
51989         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Also AC_SUBST
51990         PRI_MACROS_BROKEN.
51991         * m4/stdint.m4 (gl_STDINT_H): Define also ABSOLUTE_INTTYPES_H.
51992
51993         * m4/imaxabs.m4: New file.
51994
51995         * m4/imaxdiv.m4: New file.
51996
51997 2006-08-26  Bruno Haible  <bruno@clisp.org>
51998
51999         * lib/inttypes_.h: New file.
52000         * lib/inttypes.h: Remove file.
52001         * lib/stdint_.h: Include <inttypes.h> through its absolute filename.
52002
52003         * lib/imaxabs.c: New file.
52004
52005         * lib/imaxdiv.c: New file.
52006
52007 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
52008
52009         New config-h module, so that "make" output needn't be cluttered
52010         by -DHAVE_CONFIG_H.
52011         * MODULES.html.sh (Support for building libraries and executables):
52012         Add config-h.
52013         * modules/config-h: New file.
52014         * gnulib-tool (nl, sed_transform_lib_file): New vars.
52015         (func_import): Turn "#ifdef HAVE_CONFIG_H" to "#if 1" if
52016         the config-h module is used.
52017
52018         New configmake module, so that "make" output needn't be cluttered
52019         by fluff like '-DLIBDIR=\"/usr/local/lib\"'.
52020         * MODULES.html.sh (Support for building libraries and executables):
52021         Add configmake.
52022         * modules/configmake: New file.
52023
52024 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
52025
52026         * m4/config-h.m4: New file.
52027
52028 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
52029
52030         * config/srclist.txt: Add elisp-comp.
52031
52032 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
52033
52034         * MODULES.html.sh (Support for building libraries and executables):
52035         Add elisp-comp.
52036         * build-aux/elisp-comp: New file.
52037         * modules/elisp-comp: New file.
52038
52039 2006-08-24  Bruno Haible  <bruno@clisp.org>
52040
52041         * gnulib-tool (func_create_testdir): Use non-default values of
52042         sourcebase and m4base.
52043
52044 2006-08-24  Bruno Haible  <bruno@clisp.org>
52045
52046         * MODULES.html.sh (Compatibility checks for POSIX:2001 functions: Fix
52047         HTML structure.
52048
52049 2006-08-23  Paul Eggert  <eggert@cs.ucla.edu>
52050
52051         * modules/openat (Depends-on): Add lchown.
52052
52053 2006-08-23  Bruno Haible  <bruno@clisp.org>
52054
52055         * gnulib-tool (func_import, func_create_testdir): Emit an invocation
52056         of gl_LOCK_EARLY instead of gl_LOCK.
52057
52058 2006-08-23  Bruno Haible  <bruno@clisp.org>
52059
52060         * m4/lock.m4 (gl_LOCK_BODY): Change the default value of gl_use_threads
52061         on OSF/1 to no.
52062         Reported by Stephen Cartwright <sgcartwr@ucalgary.ca>.
52063
52064 2006-08-23  Bruno Haible  <bruno@clisp.org>
52065
52066         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't consider BeOS statvfs
52067         as unusable.
52068
52069         * m4/lock.m4 (gl_LOCK_EARLY): Renamed from gl_LOCK.
52070         (gl_LOCK_BODY): Remove gl_PREREQ_LOCK invocation.
52071         (gl_LOCK): New macro.
52072
52073 2006-08-22  Simon Josefsson  <jas@extundo.com>
52074
52075         * modules/gc-md5 (Makefile.am): Need to add md5.h, after changes
52076         to md5 module.
52077
52078 2006-08-22  Simon Josefsson  <jas@extundo.com>
52079
52080         * MODULES.html.sh: Add "Support for maintaining and release
52081         projects".
52082
52083         * build-aux/gnupload: New file, from coreutils.
52084
52085 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
52086
52087         Avoid the need for AC_LIBSOURCES in m4 macros.
52088         * modules/arcfour (EXTRA_DIST): Add arcfour.h.
52089         * modules/arctwo (EXTRA_DIST): Add arctwo.h.
52090         * modules/check-version (EXTRA_DIST): Add check-version.h.
52091         * modules/crc (EXTRA_DIST): Add crc.h.
52092         * modules/des (EXTRA_DIST): Add des.h.
52093         * modules/gc (EXTRA_DIST): Add gc.h.
52094         * modules/getdelim (EXTRA_DIST): Add getdelim.h.
52095         * modules/getline (EXTRA_DIST): Add getline.h.
52096         * modules/getlogin_r (EXTRA_DIST): Add getlogin_r.h.
52097         * modules/hmac-md5 (EXTRA_DIST): Add hmac.h.
52098         * modules/hmac-sha1 (EXTRA_DIST): Add hmac.h.
52099         * modules/md2 (EXTRA_DIST): Add md2.h.
52100         * modules/md4 (EXTRA_DIST): Add md4.h.
52101         * modules/pagealign_alloc (EXTRA_DIST): Add pagealign_alloc.h.
52102         * modules/read-file (EXTRA_DIST): Add read-file.h.
52103         * modules/readline (EXTRA_DIST): Add readline.h.
52104         * modules/rijndael (EXTRA_DIST): Add rijndael-alg-fst.h,
52105         rijndael-api-fst.h.
52106
52107 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
52108
52109         * m4/rijndael.m4 (gl_ARCFOUR):
52110         * m4/arctwo.m4 (gl_ARCTWO):
52111         * m4/check-version.m4 (gl_CHECK_VERSION):
52112         * m4/crc.m4 (gl_CRC):
52113         * m4/des.m4 (gl_DES):
52114         * m4/gc-pbkdf2-sha1.m4 (gl_GC_PBKDF2_SHA1):
52115         * m4/gc.m4 (gl_GC):
52116         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
52117         * m4/getline.m4 (gl_FUNC_GETLINE):
52118         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE):
52119         * m4/hmac-md5.m4 (gl_HMAC_MD5):
52120         * m4/hmac-sha1.m4 (gl_HMAC_SHA1):
52121         * m4/md2.m4 (gl_MD2):
52122         * m4/md4.m4 (gl_MD4):
52123         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC):
52124         * m4/read-file.m4 (gl_FUNC_READ_FILE):
52125         * m4/readline.m4 (gl_FUNC_READLINE):
52126         * m4/rijndael.m4 (gl_RIJNDAEL):
52127         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
52128         to get the necessary .h files and whatnot.
52129
52130 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
52131
52132         * config/srclist.txt: Remove gnupload, since coreutils now syncs from
52133         gnulib rather than the other way around.
52134         * config/srclistvars.sh (COREUTILS): Remove.
52135
52136 2006-08-22  Jim Meyering  <jim@meyering.net>
52137
52138         * modules/mkdir-p (Makefile.am): Fix typo: s/lib+SOURCES/lib_SOURCES/.
52139
52140         * modules/getpass-gnu (Makefile.am): Add getpass.h to EXTRA_DIST.
52141
52142 2006-08-22  Eric Blake  <ebb9@byu.net>
52143
52144         * modules/regexprops-generic: New file.
52145         * MODULES.html.sh (Support for building documentation): List it.
52146
52147 2006-08-22  Eric Blake  <ebb9@byu.net>
52148
52149         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Avoid compiler warning.
52150         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
52151         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
52152         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
52153
52154 2006-08-22  Bruno Haible  <bruno@clisp.org>
52155
52156         * gnulib-tool (func_emit_lib_Makefile_am): Don't treat lib_LIBRARIES
52157         and lib_LTLIBRARIES like the other lib_* variables.
52158
52159 2006-08-22  Bruno Haible  <bruno@clisp.org>
52160
52161         * build-aux/x-to-1.in: New file, from GNU gettext.
52162
52163 2006-08-22  Bruno Haible  <bruno@clisp.org>
52164
52165         * m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if <utmp.h> or
52166         <utmpx.h> exists.
52167
52168 2006-08-22  Bruno Haible  <bruno@clisp.org>
52169
52170         * lib/readutmp.h: Skip most definitions if neither <utmp.h> nor
52171         <utmpx.h> exists.
52172
52173 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
52174
52175         BeOS portability.
52176         * lib/dirchownmod.c (dirchownmod): Don't use fchmod if it doesn't
52177         exist.
52178         Problem reported by Bruno Haible.
52179
52180 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
52181
52182         Avoid the need for AC_LIBSOURCES in m4 macros.
52183         * modules/acl (EXTRA_DIST): Add acl.h.
52184         * modules/argmatch (Files): Add m4/argmatch.m4.
52185         (configure.ac): Add gl_ARGMATCH.
52186         (EXTRA_DIST): Renamed from lib_SOURCES, for
52187         consistency with the other modules.  Remove argmatch.c.
52188         * modules/backupfile (EXTRA_DIST): Add backupfile.h.
52189         * modules/c-strtod (EXTRA_DIST): Add c-strtod.h.
52190         * modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h.
52191         * modules/canonhost (EXTRA_DIST): Add c-canonhost.h.
52192         * modules/canonicalize (EXTRA_DIST): Add canonicalize.h.
52193         * modules/chdir-long (EXTRA_DIST): Add chdir-long.h.
52194         * modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h.
52195         * modules/cloexec (EXTRA_DIST): Add cloexec.h.
52196         * modules/close-stream (EXTRA_DIST): Add close-stream.h.
52197         * modules/closeout (EXTRA_DIST): Add closeout.h.
52198         * modules/cycle-check (EXTRA_DIST): Add cycle-check.h.
52199         * modules/dev-ino (EXTRA_DIST): Add dev-ino.h.
52200         * modules/dirfd (EXTRA_DIST): Add dirfd.h.
52201         * modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES.  Add
52202         dirname.h; remove basename.c and stripslash.c.
52203         * modules/exclude (EXTRA_DIST): Add exclude.h.
52204         * modules/exitfail (EXTRA_DIST): Add exitfail.h.
52205         * modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h.
52206         * modules/file-type (EXTRA_DIST): Add file-type.h.
52207         * modules/filemode (EXTRA_DIST): Add filemode.h.
52208         * modules/filenamecat (EXTRA_DIST): Add filenamecat.h.
52209         * modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
52210         * modules/fpending (EXTRA_DIST): Add __fpending.h.
52211         * modules/fprintftime (EXTRA_DIST): Add fprintftime.h.
52212         * modules/fsusage (EXTRA_DIST): Add fsusage.h.
52213         * modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c.
52214         * modules/getcwd (EXTRA_DIST): Add getcwd.h.
52215         * modules/getdate (EXTRA_DIST): Add getdate.c.
52216         * modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h.
52217         * modules/getpagesize (EXTRA_DIST): Add getpagesize.h.
52218         * modules/getpass (EXTRA_DIST): Add getpass.h.
52219         * modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h.
52220         * modules/group-member (EXTRA_DIST): Add group-member.h.
52221         * modules/hard-locale (EXTRA_DIST): Add hard-locale.h.
52222         * modules/hash (EXTRA_DIST): Add hash.h.
52223         * modules/human (EXTRA_DIST): Add human.h.
52224         * modules/inttypes (EXTRA_DIST): Add inttypes.h.
52225         * modules/lchmod (EXTRA_DIST): Add lchmod.h.
52226         * modules/lchown (EXTRA_DIST): Add lchown.h.
52227         * modules/long-options (EXTRA_DIST): Add long-options.h.
52228         * modules/lstat (EXTRA_DIST): Add lstat.h.
52229         * modules/md5 (EXTRA_DIST): Add memcasecmp.h.
52230         * modules/memcoll (EXTRA_DIST): Add memcoll.h.
52231         * modules/mempcpy (EXTRA_DIST): Add mempcpy.h.
52232         * modules/memrchr (EXTRA_DIST): Add memrchr.h.
52233         * modules/memxor (EXTRA_DIST): Add memxor.h.
52234         * modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h.
52235         * modules/mkdir-p (EXTRA_DIST): Add modechange.h.
52236         * modules/mountlist (EXTRA_DIST): Add mountlist.h.
52237         * modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h.
52238         * modules/pathmax (EXTRA_DIST): Add pathmax.h.
52239         * modules/physmem (EXTRA_DIST): Add physmem.h.
52240         * modules/posixtm (EXTRA_DIST): Add posixtm.h.
52241         * modules/posixver (EXTRA_DIST): Add posixver.h.
52242         * modules/quote (EXTRA_DIST): Add quote.h.
52243         * modules/quotearg (EXTRA_DIST): Add quotearg.h.
52244         * modules/readtokens (EXTRA_DIST): Add readtokens.h.
52245         * modules/readutmp (EXTRA_DIST): Add readutmp.h.
52246         * modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c
52247         regex_internal.h regexec.c.
52248         * modules/safe-read (EXTRA_DIST): Add safe-read.h.
52249         * modules/safe-write (EXTRA_DIST): Add safe-write.h.
52250         * modules/same (EXTRA_DIST): Add same.h.
52251         * modules/same-inode (EXTRA_DIST): Add same-inode.h.
52252         * modules/save-cwd (EXTRA_DIST): Add save-cwd.h.
52253         * modules/savedir (EXTRA_DIST): Add savedir.h.
52254         * modules/sha1 (EXTRA_DIST): Add sha1.h.
52255         * modules/sig2str (EXTRA_DIST): Add sig2str.h.
52256         * modules/stat-macros (EXTRA_DIST): Add stat-macros.h.
52257         * modules/stat-time (EXTRA_DIST): Add stat-time.h.
52258         * modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h.
52259         * modules/strdup (EXTRA_DIST): Add strdup.h.
52260         * modules/strftime (EXTRA_DIST): Add strftime.h.
52261         * modules/strndup (EXTRA_DIST): Add strndup.h.
52262         * modules/strnlen (EXTRA_DIST): Add strnlen.h.
52263         * modules/strverscmp (EXTRA_DIST): Add strverscmp.h.
52264         * modules/time_r (EXTRA_DIST): Add time_r.h.
52265         * modules/timespec (EXTRA_DIST): Add timespec.h.
52266         * modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
52267         * modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h.
52268         * modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h.
52269         * modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h.
52270         * modules/userspec (EXTRA_DIST): Add userspec.h.
52271         * modules/utimecmp (EXTRA_DIST): Add utimecmp.h.
52272         * modules/utimens (EXTRA_DIST): Add utimens.h.
52273         * modules/xalloc (EXTRA_DIST): Add xalloc.h.
52274         * modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h.
52275         * modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h.
52276         * modules/xreadlink (EXTRA_DIST): Add xreadlink.h.
52277         * modules/xstrtod (EXTRA_DIST): Add xstrtod.h.
52278         * modules/xstrtol (EXTRA_DIST): Add xstrtol.h.
52279         * modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h.
52280         * modules/yesno (EXTRA_DIST): Add yesno.h.
52281
52282 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
52283
52284         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Check for fchmod.
52285
52286         * m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed.
52287         * m4/dev-ino.m4, same-inode.m4: Remove.
52288
52289         * m4/_inttypes_h.m4 (gl_INTTYPES_H):
52290         * m4/acl.m4 (AC_FUNC_ACL):
52291         * m4/backupfile.m4 (gl_BACKUPFILE):
52292         * m4/c-strtod.m4 (gl_C99_STRTOLD):
52293         * m4/canon-host.m4 (gl_CANON_HOST):
52294         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
52295         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG):
52296         * m4/chdir-safer.m4 (gl_CHDIR_SAFER):
52297         * m4/cloexec.m4 (gl_CLOEXEC):
52298         * m4/close-stream.m4 (gl_CLOSE_STREAM):
52299         * m4/closeout.m4 (gl_CLOSEOUT):
52300         * m4/dirfd.m4 (gl_FUNC_DIRFD):
52301         * m4/dirname.m4 (gl_DIRNAME):
52302         * m4/exclude.m4 (gl_EXCLUDE):
52303         * m4/exitfail.m4 (gl_EXITFAIL):
52304         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER):
52305         * m4/file-type.m4 (gl_FILE_TYPE):
52306         * m4/filemode.m4 (gl_FILEMODE):
52307         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT):
52308         * m4/fpending.m4 (gl_FUNC_FPENDING):
52309         * m4/fprintftime.m4 (gl_FPRINTFTIME):
52310         * m4/fts.m4 (gl_FUNC_FTS):
52311         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
52312         * m4/getdate.m4 (gl_GETDATE):
52313         * m4/gethrxtime.m4 (gl_GETHRXTIME):
52314         * m4/getpagesize.m4 (gl_GETPAGESIZE):
52315         * m4/getpass.m4 (gl_FUNC_GETPASS):
52316         * m4/gettime.m4 (gl_GETTIME):
52317         * m4/getugroups.m4 (gl_GETUGROUPS):
52318         * m4/glob.m4 (gl_GLOB_SUBSTITUTE):
52319         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER):
52320         * m4/hard-locale.m4 (gl_HARD_LOCALE):
52321         * m4/hash.m4 (gl_HASH):
52322         * m4/idcache.m4 (gl_IDCACHE):
52323         * m4/lchmod.m4 (gl_FUNC_LCHMOD):
52324         * m4/lchown.m4 (gl_FUNC_LCHOWN):
52325         * m4/long-options.m4 (gl_LONG_OPTIONS):
52326         * m4/lstat.m4 (gl_FUNC_LSTAT):
52327         * m4/md5.m4 (gl_MD5):
52328         * m4/memcasecmp.m4 (gl_MEMCASECMP):
52329         * m4/memcoll.m4 (gl_MEMCOLL):
52330         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY):
52331         * m4/memrchr.m4 (gl_FUNC_MEMRCHR):
52332         * m4/memxor.m4 (gl_MEMXOR):
52333         * m4/mkancesdirs.m4 (gl_MKANCESDIRS):
52334         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS):
52335         * m4/modechange.m4 (gl_MODECHANGE):
52336         * m4/mountlist.m4 (gl_MOUNTLIST):
52337         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
52338         * m4/openat.m4 (gl_FUNC_OPENAT):
52339         * m4/pathmax.m4 (gl_PATHMAX):
52340         * m4/physmem.m4 (gl_PHYSMEM):
52341         * m4/posixtm.m4 (gl_POSIXTM):
52342         * m4/posixver.m4 (gl_POSIXVER):
52343         * m4/quote.m4 (gl_QUOTE):
52344         * m4/quotearg.m4 (gl_QUOTEARG):
52345         * m4/readtokens.m4 (gl_READTOKENS):
52346         * m4/readutmp.m4 (gl_READUTMP):
52347         * m4/regex.m4 (gl_REGEX):
52348         * m4/safe-read.m4 (gl_SAFE_READ):
52349         * m4/safe-write.m4 (gl_SAFE_WRITE):
52350         * m4/same.m4 (gl_SAME):
52351         * m4/save-cwd.m4 (gl_SAVE_CWD):
52352         * m4/savedir.m4 (gl_SAVEDIR):
52353         * m4/settime.m4 (gl_SETTIME):
52354         * m4/sha1.m4 (gl_SHA1):
52355         * m4/sig2str.m4 (gl_FUNC_SIG2STR):
52356         * m4/stat-macros.m4 (gl_STAT_MACROS):
52357         * m4/stat-time.m4 (gl_STAT_TIME):
52358         * m4/stdio-safer.m4 (gl_FOPEN_SAFER):
52359         * m4/stdlib-safer.m4 (gl_STDLIB_SAFER):
52360         * m4/strdup.m4 (gl_FUNC_STRDUP):
52361         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME):
52362         * m4/strndup.m4 (gl_FUNC_STRNDUP):
52363         * m4/strnlen.m4 (gl_FUNC_STRNLEN):
52364         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP):
52365         * m4/time_r.m4 (gl_TIME_R):
52366         * m4/timespec.m4 (gl_TIMESPEC):
52367         * m4/unistd-safer.m4 (gl_UNISTD_SAFER):
52368         * m4/unlinkdir.m4 (gl_UNLINKDIR):
52369         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO):
52370         * m4/userspec.m4 (gl_USERSPEC):
52371         * m4/utimecmp.m4 (gl_UTIMECMP):
52372         * m4/utimens.m4 (gl_UTIMENS):
52373         * m4/xalloc.m4 (gl_XALLOC):
52374         * m4/xgetcwd.m4 (gl_XGETCWD):
52375         * m4/xnanosleep.m4 (gl_XNANOSLEEP):
52376         * m4/xreadlink.m4 (gl_XREADLINK):
52377         * m4/xstrtod.m4 (gl_XSTRTOD):
52378         * m4/yesno.m4 (gl_YESNO):
52379         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
52380         to get the necessary .h files and whatnot.
52381
52382 2006-08-21  Mark D. Baushke  <mdb@gnu.org>
52383             Bruno Haible  <bruno@clisp.org>
52384
52385         * gnulib-tool (func_verify_module): Work around Sun's non-POSIX 1003.2
52386         /bin/sh understanding of '!' conditional negation.
52387
52388 2006-08-21  Jim Meyering  <jim@meyering.net>
52389
52390         * modules/openat (Depends-on): Really alphabetize.
52391
52392         * modules/acl (Depends-on): Add error and quote.
52393
52394         * check-module (find_included_lib_files): Add at-func.c to the
52395         ok-to-include-more-than-once white list.
52396
52397         * modules/openat (Depends-on): Add lstat.  Alphabetize.
52398
52399 2006-08-21  Bruno Haible  <bruno@clisp.org>
52400
52401         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
52402         Emit a pkgdata_DATA variable only if some snippets add contents to it.
52403         Reported by Martin Lambers <marlam@marlam.de>.
52404
52405 2006-08-21  Bruno Haible  <bruno@clisp.org>
52406
52407         * gnulib-tool (func_emit_lib_Makefile_am): If the snippets already
52408         specify an installation location, don't emit a noinst_LIBRARIES or
52409         noinst_LTLIBRARIES assignment.
52410
52411 2006-08-21  Bruno Haible  <bruno@clisp.org>
52412
52413         BeOS portability.
52414         * modules/mbchar (Include): Don't test HAVE_WCTYPE_H any more, since
52415         BeOS has mbrtowc() but no <wctype.h>.
52416
52417 2006-08-21  Bruno Haible  <bruno@clisp.org>
52418
52419         BeOS portability.
52420         * m4/mbchar.m4 (gl_MBCHAR): Compile mbchar.c also if <wctype.h> doesn't
52421         exist.
52422
52423 2006-08-21  Bruno Haible  <bruno@clisp.org>
52424
52425         BeOS portability.
52426         * lib/mbchar.h: Include <wctype.h> only if it exists.
52427
52428 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
52429
52430         Remove files that are no longer needed by their respective modules.
52431         * m4/obstack.m4: Remove.
52432         * m4/strerror_r.m4: Remove.
52433         * m4/uint32_t.m4: Remove.
52434         * m4/uintptr_t.m4: Remove.
52435         * m4/ullong_max.m4: Remove.
52436         * m4/xstrtoimax.m4: Remove.
52437         * m4/xstrtoumax.m4: Remove.
52438
52439         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Do not require
52440         gl_AC_TYPE_UINTMAX_T, gl_STRUCT_DEV_INO, or gl_SAME_INODE, since gnulib
52441         dependencies now capture this.
52442
52443         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
52444         Do not use AC_LIBSOURCES, since gnulib modules now do this.
52445         * m4/fsusage.m4 (gl_FSUSAGE): Likewise.
52446         * m4/human.m4 (gl_HUMAN): Likewise.
52447         * m4/inttostr.m4 (gl_INTTOSTR): Likewise.
52448         * m4/xstrtol.m4 (gl_XSTRTOL): Likewise.
52449
52450         * m4/filemode.m4 (gl_FILEMODE): Require AC_STRUCT_ST_DM_MODE.
52451
52452         * m4/filemode.m4 (gl_PREREQ_FSUSAGE_EXTRA): Do not require
52453         gl_AC_TYPE_INTMAX_T or gl_AC_TYPE_UINTMAX_T, since we now require
52454         stdint.
52455         * m4/human.m4 (gl_HUMAN): Likewise.
52456         * m4/inttostr.m4 (gl_PREREQ_INTTOSTR): Likewise.
52457         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Likewise.
52458         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
52459         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
52460         * m4/xstrtol (gl_XSTRTOL): Likewise.
52461
52462         * m4/gethrxtime.m4 (gl_XTIME): gl_AC_TYPE_LONG_LONG ->
52463         AC_TYPE_LONG_LONG_INT.
52464         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
52465         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Likewise.
52466         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Likewise, for unsigned long.
52467         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
52468
52469         * m4/human.m4 (gl_HUMAN): Do not require AM_STDBOOL_H since we depend
52470         on stdbool.
52471
52472         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL_H, gl_PREREQ_XSTRTOL): Remove.
52473         (gl_PREREQ_XSTRTOUL): Remove.
52474
52475         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for hasmntopt.
52476
52477         * m4/posixver.m4: Fix comment since head -1 now works even in POSIX
52478         mode.
52479
52480 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
52481
52482         Add and change modules to make it easier for coreutils to use
52483         gnulib-tool.
52484         * modules/backupfile (Files): Remove m4/d-ino.m4.
52485         (Depends-on): Add d-ino.
52486         * modules/cycle-check (Depends-on): Add stdint.
52487         (lib_SOURCES): Add cycle-check.h.
52488         * modules/d-ino: New module.
52489         * modules/d-type: New module.
52490         * modules/error (Files): Remove m4/strerror_r.m4.
52491         * modules/filemode (Files): Add m4/st_dm_mode.m4.
52492         * modules/fsuage (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
52493         m4/inttypes_h.m4, m4/uintmax_t.m4.
52494         (Depends-on): Add stdint.
52495         (lib_SOURCES): Add fsusage.h.
52496         * modules/getcwd (Files): Remove d-ino.m4.
52497         (Depends-on): Add d-ino.
52498         * modules/getndelim2 (Depends-on): Add stdint.
52499         * modules/glob (Files): Remove m4/d-type.m4.
52500         (Depends-on): Add d-type.
52501         * modules/host-os: New module.
52502         * modules/human (Files):  Remove m4/ulonglong.m4, m4/stdint_h.m4,
52503         m4/inttypes_h.m4, m4/uintmax_t.m4.
52504         * Depends-on: Add stdint.
52505         (lib_SOURCES): Add human.h.
52506         * modules/inttostr (Files): Remove m4/intmax_t.m4,
52507         m4/inttostr.m4, m4/inttypes_h.m4, m4/longlong.m4, m4/stdint_h.m4,
52508         m4/uintmax_t.m4, m4/ulonglong.m4.
52509         (Depends-on): Add stdint.
52510         (EXTRA_DIST): Add inttostr.h.
52511         * modules/lchmod: New module.
52512         * modules/link-follow: New module.
52513         * modules/mkdir-p (Files): Remove lib/lchmod.h, m4/lchmod.m4.
52514         (Depends-on): Add lchmod.
52515         * modules/mkstemp (Files): Remove m4/ulonglong.m4,
52516         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4.
52517         (Depends-on): Add stdint.
52518         * modules/obstack (Files): Remove m4/inttypes_h.m4, m4/obstack.m4,
52519         m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4.
52520         (Depends-on): Add stdint.
52521         (configure.ac): Change gl_OBSTACK to AC_FUNC_OBSTACK.
52522         * modules/perl: New module.
52523         * modules/regex (Depends-on): Add stdint.
52524         * modules/rmdir-errno: New module.
52525         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
52526         m4/intmax_t.m4.
52527         (Depends-on): Add stdint.
52528         * modules/strtoumax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
52529         m4/uintmax_t.m4.
52530         (Depends-on): Add stdint.
52531         * modules/unlink-busy: New module.
52532         * modules/utimecmp (Depends-on): Add stdint.
52533         * modules/uptime: New module.
52534         * modules/winsz-ioctl: New module.
52535         * modules/winsz-termios: New module.
52536         * modules/xnanosleep (Depends-on): Add nanosleep.
52537         * modules/ullong_max: Remove.
52538         * modules/xstrtoimax (Files): Remove m4/xstrtoimax.m4.
52539         (configure.ac): Remove gl_XSTRTOIMAX; no action needed now.
52540         * modules/xstrtol (Files): Remove m4/ulonglong.m4, m4/longlong.m4,
52541         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/intmax_t.m4.
52542         (Depends-on): Add inttypes.
52543         (lib_SOURCES): Add xstrtol.h.
52544         * modules/xstrtoumax (Files): Remove m4/xstrtoumax.m4.
52545         (configure.ac): Remove gl_XSTRTOUMAX; no action needed now.
52546         * MODULES.html.sh: Move 'assert' into the assert section.
52547         Move 'dummy' into the linking section.
52548         Remove ullong_max.
52549         Add section for compatibility checks for POSIX:2001 functions,
52550         and put d-ino, d-type, link-follow, rmdir-errno, unlink-busy,
52551         winsz-ioctl, and winsz-termios into it.
52552         Add lchmod.
52553         Add top-level Misc section and put host-os, perl, and uptime
52554         into it.
52555
52556 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
52557
52558         * lib/cycle-check.h: Include <stdint.h> unconditionally, since we
52559         now assume the stdint module.  Do not include inttypes.h.
52560         * lib/fsusage.h: Likewise.
52561         * lib/getndelim2.c: Likewise.
52562         * lib/human.h: Likewise.
52563         * lib/inttostr.h: Likewise.
52564         * lib/obstack.c: Likewise.
52565         * lib/regex_internal.h: Likewise.
52566         * lib/tempname.c: Likewise.
52567         * lib/utimecmp.c: Likewise.
52568         * lib/xstrtol.h: Likewise.
52569
52570         * lib/stat_.h: Fix typo: HAVE_FUNC_LSTAT -> HAVE_LSTAT.
52571
52572         * lib/strtoimax.c: Adjust to macro name changes in Autoconf,
52573         e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT.
52574         * lib/xtime.h: Likewise.
52575
52576 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
52577
52578         * modules/openat (Files): Add lib/fchmodat.c.
52579         Fixes problem reported by Jay Youngman.
52580
52581 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
52582
52583         * lib/fchmodat.c: New file, from coreutils.  This was inadvertently
52584         omitted in the 2006-08-17 update.  Problem reported by Jay Youngman.
52585
52586 2006-08-18  Paul Eggert  <eggert@cs.ucla.edu>
52587             Bruno Haible  <bruno@clisp.org>
52588
52589         * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists
52590         and is a script that invokes bison. Tighten the code. Add comments.
52591
52592 2006-08-18  Jim Meyering  <jim@meyering.net>
52593
52594         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Also check for
52595         CLOCK_REALTIME, since gethrxtime may revert to using clock_gettime via
52596         gettime.c.  Gabor Z. Papp reported that gethrxtime-using programs
52597         failed to link due to unresolved clock_gettime on a linux-2.4.x system.
52598
52599 2006-08-18  Bruno Haible  <bruno@clisp.org>
52600
52601         * modules/bison-i18n: New file.
52602         * MODULES.html.sh (Internationalization functions): Add it.
52603
52604 2006-08-18  Bruno Haible  <bruno@clisp.org>
52605
52606         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for
52607         sys/statvfs.h. When getmntinfo was found, check its declaration and
52608         set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it.
52609
52610 2006-08-18  Bruno Haible  <bruno@clisp.org>
52611
52612         * m4/bison-i18n.m4: New file, from bison.
52613
52614 2006-08-18  Bruno Haible  <bruno@clisp.org>
52615
52616         * lib/mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h.
52617         (ME_DUMMY): Treat "kernfs" as a dummy.
52618         (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement.
52619
52620 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
52621
52622         Update from coreutils.
52623
52624         2006-08-15  Jim Meyering  <jim@meyering.net>
52625
52626         * m4/openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES.
52627
52628         2006-01-17  Jim Meyering  <jim@meyering.net>
52629
52630         * m4/fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT.
52631
52632         2006-01-11  Jim Meyering  <jim@meyering.net>
52633
52634         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c.
52635         Check for the lchmod function.
52636
52637 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
52638
52639         Update from coreutils.
52640
52641         * lib/__fpending.h: Add copyright notice.
52642         * lib/fprintftime.h: Likewise.
52643         * lib/savedir.c: Use (C) in copyright notice.
52644         * lib/savedir.h: Likewise.
52645
52646         2006-08-15  Jim Meyering  <jim@meyering.net>
52647
52648         * lib/at-func.c: New file, with the logic of all emulated at-functions.
52649         * lib/openat-priv.h: Include <errno.h> and define ENOSYS,
52650         in support of the EXPECTED_ERRNO macro.
52651         * lib/openat.c (fstatat, unlinkat, fchownat): Remove function
52652         definitions.  Instead, define the appropriate symbols and include
52653         "at-func.c".
52654         * lib/mkdirat.c (mkdirat): Likewise.
52655         * lib/fchmodat.c (fchmodat): Likewise.
52656         (ENOSYS): Remove definition.
52657         * lib/openat.c: Don't include <errno.h>, now that "openat-priv.h" does
52658         it.  Don't include "unistd--.h" -- it wasn't ever used.
52659
52660         2006-01-17  Jim Meyering  <jim@meyering.net>
52661
52662         Rewrite fts.c not to change the current working directory,
52663         by using openat, fstatat, fdopendir, etc..
52664
52665         * lib/fts.c [! _LIBC]: Include "openat.h" and "unistd--.h".
52666         (HAVE_OPENAT_SUPPORT): Define.
52667         [_LIBC] (fchdir): Don't undef or define; no longer used.
52668         (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir.
52669         Now, this `function' always succeeds, and consumes its file descriptor
52670         parameter -- so callers must not close such FDs.  Update callers.
52671         (diropen_fd, opendirat, cwd_advance_fd): New functions.
52672         (diropen): Add parameter, SP.  Adjust all callers.
52673         Implement using diropen_fd, rather than open.
52674         (fts_open): Initialize new member, fts_cwd_fd.
52675         Remove fts_rft-setting code.
52676         (fts_close): Close fts_cwd_fd, if necessary.
52677         (__opendir2): Define in terms of opendir or opendirat,
52678         depending on whether the FST_NOCHDIR flag is set.
52679         (fts_build): Since fts_safe_changedir consumes its FD, and since
52680         this code must do `closedir(dirp)', dup the dirfd(dirp) argument,
52681         and close the dup'd file descriptor upon failure.
52682         (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat.
52683         (fts_safe_changedir): Tweak semantics to reflect that this function
52684         now calls cwd_advance_fd and hence consumes its FD argument.
52685         * lib/fts_.h [struct FTS] (fts_cwd_fd): New member.
52686         [struct FTS] (fts_rft): Remove now-unused member.
52687         [struct FTS] (fts_cycle.state): Improve comment.
52688
52689         * lib/openat.c (openat_needs_fchdir): New function.
52690         * lib/openat.h (openat_needs_fchdir): Declare it.
52691
52692 2006-08-16  Paul Eggert  <eggert@cs.ucla.edu>
52693
52694         * lib/memcoll.c (memcoll): Set errno = 0 in the shortcut case, too.
52695         Problem and fix reported by Pádraig Brady in
52696         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00099.html>.
52697
52698 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
52699
52700         * modules/cycle-check (configure.ac): Add gl_CYCLE_CHECK.
52701
52702 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
52703
52704         * lib/memcoll.c (memcoll): Optimize for the common case where the
52705         arguments are bytewise equal.
52706
52707 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
52708
52709         * doc/regexprops-generic.texi: Add a copyright notice.
52710
52711 2006-08-15  Bruno Haible  <bruno@clisp.org>
52712
52713         * modules/tmpdir (License): Change to LGPL.
52714
52715 2006-08-15  Bruno Haible  <bruno@clisp.org>
52716
52717         * gnulib-tool (func_all_modules, func_verify_module): COPYING is not a
52718         module.
52719
52720 2006-08-14  Simon Josefsson  <jas@extundo.com>
52721
52722         * config/srclist.txt: Add gnupload.
52723
52724 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
52725
52726         Change copyright notice from LGPL 2 to GPL 2, since that's the
52727         standard form used in the gnulib repository.
52728         * tests/test-lock.c: Likewise.
52729         * tests/test-stdint.c: Likewise.
52730         * tests/test-tls.c: Likewise.
52731
52732         * users.txt: Add bison, diffutils, libprelude, prelude-lml,
52733         prelude-manager.  User shorter URLs for GNU projects, without '?'.
52734         Add copyright notice.
52735
52736         * check-module: Add copyright notice.  Output a copyright
52737         notice if "--version" is specified.
52738         * modules/COPYING: New file.
52739         * tests/test-getaddrinfo.c: Add copyright notice.
52740         * tests/test-verify.c: Likewise.
52741
52742 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
52743
52744         Change copyright notice from LGPL 2 to GPL 2, since that's the
52745         standard form used in the gnulib repository.
52746         * lib/lock.c: LGPL -> GPL.
52747         * lib/lock.h: Likewise.
52748         * lib/strnlen1.c: Likewise.
52749         * lib/strnlen1.h: Likewise.
52750         * lib/tls.c: Likewise.
52751         * lib/tls.h: Likewise.
52752         * lib/tmpdir.c: Likewise.
52753
52754         * lib/TODO: Remove; this belongs only in coreutils.
52755
52756 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
52757
52758         Add copyright notices to long-enough files that lack them, since
52759         otherwise the files aren't clearly free.  Use the same notice that
52760         getdate.texi already uses.
52761         * doc/alloca-opt.texi: Add copyright notice.
52762         * doc/alloca.texi: Likewise.
52763         * doc/ctime.texi: Likewise.
52764         * doc/functions.texi: Likewise.
52765         * doc/gcd.texi: Likewise.
52766         * doc/gnulib-tool.texi: Likewise.
52767         * doc/inet_ntoa.texi: Likewise.
52768         * doc/visibility.texi: Likewise.
52769
52770         * doc/getdate.texi: Update FDL version from 1.1 to 1.2.
52771         * doc/quote.texi: Add copyright notice.
52772
52773         * doc/solaris-versions: Add SunOS 5.10, SunOS 1.x, SunOS 4.0, SunOS
52774         4.0.x, SunOS 4.1.1.1, SunOS 4.1.1_U1, SunOS 4.1.3B.  SunOS 4.1.3
52775         was Solaris 1.1A.  Remove space before B in Solaris 1.1.1B.
52776         Mention SunOS 5.11.  Mention that everything before SunOS 5.7
52777         is now obsolete, and give a pointer to the Sun list.
52778         Add copyright notice.
52779
52780 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
52781
52782         * config/srclistvars.sh: Add copyright notice.
52783
52784 2006-08-14  Eric Blake  <ebb9@byu.net>
52785
52786         Import the following change from libc:
52787
52788         2006-08-12  Ulrich Drepper  <drepper@redhat.com>
52789
52790         Upstream bug 2997.
52791         * lib/misc/error.c: Add space between program name and message if file
52792         name is missing.
52793
52794 2006-08-12  Karl Berry  <karl@gnu.org>
52795
52796         * config/srclist.txt (ssize_t.m4, sig_atomic_t.m4, signalblocking.m4):
52797         remove, these originate in gnulib now.
52798
52799 2006-08-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52800
52801         * doc/Makefile (standards.info standards.html standards.dvi):
52802         Also depend on make-stds.texi.
52803
52804 2006-08-11  Paul Eggert  <eggert@cs.ucla.edu>
52805
52806         * lib/pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE ->
52807         HAVE_PIPE.  Fix a file descriptor leak when fd_safer fails.
52808
52809         * lib/regex_internal.c (re_string_skip_chars): Don't assume WEOF fits
52810         in wchar_t.  Problem reported by Eric Blake.
52811
52812         * lib/snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when
52813         LEN is smaller than SIZE.  Suggested by Bruno Haible.
52814         Also, help the compiler to keep LEN in a register.
52815
52816 2006-08-11  Eric Blake  <ebb9@byu.net>
52817
52818         * users.txt: Sort.  Add tar.
52819
52820 2006-08-11  Bruno Haible  <bruno@clisp.org>
52821
52822         * users.txt: New file.
52823
52824 2006-08-11  Bruno Haible  <bruno@clisp.org>
52825
52826         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Include <stdio.h> and <time.h>
52827         before <wchar.h>. Needed for OSF/1 and BSD/OS.
52828
52829 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
52830
52831         * modules/snprintf (Depends-on): Remove minmax.
52832         (Maintainer): Add self and Bruno.
52833
52834 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
52835
52836         * lib/.cppi-disable: Add snprintf.h, socket_.h.
52837         * lib/snprintf.c: Include <errno.h> and <limits.h>.
52838         (EOVERFLOW): Define if the system does not.
52839         Do not include "minmax.h"; it wasn't used.
52840         (snprintf): Don't assume size_t promotes to an unsigned type.
52841         Fix bug when generated string was too long for the buffer: the
52842         buffer's contents are supposed to be the initial prefix of the
52843         output.  Don't assume vasnprintf returns EOVERFLOW if the size
52844         exceeds INT_MAX; do the check ourselves.
52845
52846         Import the following changes from libc:
52847
52848         2006-06-02  Jakub Jelinek  <jakub@redhat.com>
52849
52850         * lib/posix/regex_internal.c (re_string_skip_chars): If no character
52851         has been converted at all, set *last_wc to WEOF.  If mbrtowc failed,
52852         set wc to the byte which couldn't be converted.
52853         (re_string_reconstruct): Don't clear valid_raw_len before calling
52854         re_string_skip_chars.  If wc is WEOF after re_string_skip_chars, set
52855         tip_context using re_string_context_at.
52856
52857         2006-05-02  Ulrich Drepper  <drepper@redhat.com>
52858
52859         * lib/posix/regex.h: g++ still cannot handled [restrict].
52860
52861         2006-04-21  Ulrich Drepper  <drepper@redhat.com>
52862
52863         * lib/posix/regex.h: Remove special handling for VMS.
52864
52865 2006-08-10  Jim Meyering  <jim@meyering.net>
52866
52867         * modules/same-inode: New module.
52868         * modules/dev-ino: New module.
52869         * modules/cycle-check: Depend on these modules, rather than simply
52870         including their .h files.
52871         (Makefile.am): Don't list cycle-check.[ch] here, now that they're
52872         required via m4/cycle-check.m4.
52873         * modules/same: Depend on new same-inode module, rather than
52874         including same-inode.h.
52875         * modules/chdir-safer: New file.
52876
52877         * modules/chown (Depends-on): Add stat-macros.
52878
52879 2006-08-10  Jim Meyering  <jim@meyering.net>
52880
52881         * m4/cycle-check.m4: New file.
52882         Require gl_STRUCT_DEV_INO and gl_SAME_INODE.
52883         * m4/dev-ino.m4, m4/same-inode.m4: New files.
52884
52885 2006-08-10  Eric Blake  <ebb9@byu.net>
52886
52887         * modules/verror (Depends-on): Remove bogus gl_VERROR that snuck
52888         in from original proposal.
52889
52890 2006-08-10  Eric Blake  <ebb9@byu.net>
52891         and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
52892
52893         * gnulib-tool (func_import): Detect unexpanded macros in gnulib
52894         namespace.
52895
52896 2006-08-10  Bruno Haible  <bruno@clisp.org>
52897
52898         * gnulib-tool (func_create_testdir): Detect unexpanded macros here
52899         as well.
52900
52901 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
52902
52903         Sync from coreutils.
52904
52905         2006-07-19  Mike Frysinger  <vapier@gentoo.org>
52906
52907         * lib/mountlist.c [ME_REMOTE]: Filter out cifs.
52908         Reported by Toralf Förster in <http://bugs.gentoo.org/141012>.
52909
52910 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
52911
52912         * modules/restrict: Remove; no longer needed now that we assume
52913         Autoconf 2.59 or later.
52914         * MODULES.html.sh: Remove 'restrict'.
52915         * modules/argp (Depends-on): Remove 'restrict'.
52916         * modules/base64 (Depends-on): Likewise.
52917         * modules/gc (Depends-on): Likewise.
52918         * modules/getaddrinfo (Depends-on): Likewise.
52919         * modules/glob (Depends-on): Likewise.
52920         * modules/inet_ntop (Depends-on): Likewise.
52921         * modules/inet_pton (Depends-on): Likewise.
52922         * modules/memxor (Depends-on): Likewise.
52923         * modules/regex (Depends-on): Likewise.
52924         * modules/strtok_r (Depends-on): Likewise.
52925         * modules/time_r (Depends-on): Likewise.
52926
52927 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
52928
52929         * m4/argp.m4 (gl_ARGP): Require AC_C_RESTRICT.
52930         * m4/gc.m4 (gl_PREREQ_GC): Likewise.
52931         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
52932         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Likewise.
52933         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
52934         * m4/memxor.m4 (gl_MEMXOR): Likewise.
52935         * m4/restrict.m4: Remove; no longer needed.  All remaining uses of
52936         gl_C_RESTRICT replaced by AC_C_RESTRICT.
52937
52938         Merge from coreutils.
52939         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_C_RESTRICT, not
52940         gl_C_RESTRICT, now that we assume Autoconf 2.59 or later.
52941         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
52942         * m4/time_r.m4 (gl_TIME_R): Likewise.
52943
52944 2006-08-09  Karl Berry  <karl@gnu.org>
52945
52946         * config/srclist.txt: no more gettext-tools, per Bruno.
52947
52948 2006-08-08  Eric Blake  <ebb9@byu.net>
52949
52950         * modules/verror: New module.
52951         * MODULES.html.sh: Document it.
52952
52953 2006-08-08  Eric Blake  <ebb9@byu.net>
52954
52955         * lib/verror.h, lib/verror.c: New files.
52956
52957 2006-08-08  Eric Blake  <ebb9@byu.net>
52958
52959         * lib/verror.c (verror_at_line): Work around glibc bug 2997, so that
52960         verror_at_line output complies with GNU Coding Standards even when
52961         file is NULL.
52962
52963 2006-08-07  Bruno Haible  <bruno@clisp.org>
52964
52965         * lib/allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer
52966         versions of AIX.
52967         Reported by Ralf Wildenhues.
52968
52969 2006-08-07  Bruno Haible  <bruno@clisp.org>
52970
52971         * gnulib-tool (func_create_testdir): Wrap the set of autoconf snippets
52972         in an AC_DEFUN. Needed so that the autoconf snippets can use
52973         AC_REQUIRE.
52974
52975 2006-08-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52976
52977         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
52978         Initialize pkgdata_DATA.
52979         * modules/javaversion (Makefile.am): Add to pkgdata_DATA, rather than
52980         overriding it.
52981
52982 2006-08-06  Eric Blake  <ebb9@byu.net>
52983
52984         * lib/error.h: Fold in some upstream changes from glibc.
52985         * lib/error.c: Likewise.
52986
52987 2006-08-04  Bruno Haible  <bruno@clisp.org>
52988
52989         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
52990         Make the mostlyclean-local rule depend on mostlyclean-generic.
52991         Reported by Jim Meyering. Solution suggested by Ralf Wildenhues.
52992
52993 2006-07-31  Bruno Haible  <bruno@clisp.org>
52994
52995         * m4/localcharset.m4 (gl_LOCALCHARSET): Remove tests for <stddef.h>,
52996         <stdlib.h>, <string.h>.
52997
52998 2006-07-30  Bruno Haible  <bruno@clisp.org>
52999
53000         * modules/readlink (License): Change to LGPL.
53001
53002 2006-07-30  Bruno Haible  <bruno@clisp.org>
53003
53004         * modules/javaversion (Makefile.am): Distribute javaversion.java and
53005         javaversion.class. Also install javaversion.class in $(pkgdatadir) and
53006         set PKGDATADIR to point to it.
53007
53008 2006-07-30  Bruno Haible  <bruno@clisp.org>
53009
53010         * modules/csharpexec (configure.ac): Comment out macro invocation.
53011         * modules/javaexec (configure.ac): Likewise.
53012         * modules/javacomp-script (configure.ac): Likewise.
53013
53014         * modules/csharpcomp-script (configure.ac): Use AC_REQUIRE.
53015
53016 2006-07-30  Bruno Haible  <bruno@clisp.org>
53017
53018         * modules/clean-temp (Depends-on): Add linkedhash-list, remove
53019         linked-list.
53020
53021 2006-07-30  Bruno Haible  <bruno@clisp.org>
53022
53023         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Assume <string.h> exists.
53024
53025 2006-07-30  Bruno Haible  <bruno@clisp.org>
53026
53027         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
53028         Initialize MOSTLYCLEANFILES to core and *.stackdump, so that core dumps
53029         get removed.
53030
53031 2006-07-29  Bruno Haible  <bruno@clisp.org>
53032
53033         Make it possible for gnulib-tool to work with locally modified or
53034         augmented gnulib repositories.
53035         * gnulib-tool (func_usage): Document --local-dir option.
53036         (local_gnulib_dir): New variable.
53037         Handle --local-dir option.
53038         (func_lookup_file): New function.
53039         (func_all_modules, func_verify_module): Look also in $local_gnulib_dir.
53040         (func_get_description, func_get_filelist, func_get_description,
53041         func_get_filelist, func_get_dependencies, func_get_autoconf_snippet,
53042         func_get_automake_snippet, func_get_include_directive,
53043         func_get_license, func_get_maintainer): Use func_lookup_file.
53044         (func_import, func_create_testdir): Use func_lookup_file.
53045
53046 2006-07-29  Bruno Haible  <bruno@clisp.org>
53047
53048         * modules/setenv (Depends-on): Add unistd.
53049
53050 2006-07-29  Bruno Haible  <bruno@clisp.org>
53051
53052         * lib/setenv.c: Undo unintended modification done on 2006-02-27.
53053
53054 2006-07-29  Bruno Haible  <bruno@clisp.org>
53055
53056         * lib/localcharset.c: Assume <stddef.h>, <stdlib.h>, <string.h> exist.
53057
53058 2006-07-29  Bruno Haible  <bruno@clisp.org>
53059
53060         * gnulib-tool (import, update): If there is no Makefile.am, look at
53061         aclocal.m4, instead of bailing out.
53062
53063 2006-07-29  Bruno Haible  <bruno@clisp.org>
53064
53065         * gnulib-tool (func_usage): Revert most of the 2006-07-15 change.
53066         Categorize the options by when they are useful.
53067
53068 2006-07-29  Bruno Haible  <bruno@clisp.org>
53069
53070         * gnulib-tool (func_usage): Document option --no-libtool.
53071         Handle option --no-libtool.
53072         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Update
53073         for changed semantics of $libtool variable.
53074         (func_import): Likewise. If libtool is not used, show this through
53075         an option --no-libtool.
53076         (func_create_testdir): Update.
53077
53078 2006-07-29  Bruno Haible  <bruno@clisp.org>
53079
53080         * gnulib-tool (func_import): Extend error message about missing
53081         --doc-base.
53082
53083 2006-07-29  Bruno Haible  <bruno@clisp.org>
53084
53085         * gnulib-tool (func_import): Don't create the $docbase directory if
53086         there is no file to store there.
53087
53088 2006-07-29  Bruno Haible  <bruno@clisp.org>
53089
53090         * gnulib-tool (autoconf_minversion): If a --dir option is given and
53091         relevant, look for configure.ac there, not in the current directory.
53092         Also use a simple search for AC_PREREQ, not "autoconf --trace".
53093
53094 2006-07-29  Bruno Haible  <bruno@clisp.org>
53095
53096         * gnulib-tool (SORT): New variable.
53097         (func_usage): Undocument --assume-autoconf option.
53098         Remove --assume-autoconf option handling.
53099         (autoconf_minversion): Determine from the contents of configure.ac.
53100         (func_import): Remove autoconf_minversion handling.
53101         Suggested by Eric Blake.
53102
53103 2006-07-29  Bruno Haible  <bruno@clisp.org>
53104
53105         * doc/gnulib-tool.texi (gl_LIBTOOL): Mention --no-libtool option.
53106
53107 2006-07-29  Bruno Haible  <bruno@clisp.org>
53108
53109         * config/srclist.txt (*setenv.[ch]): Remove rules.
53110
53111 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
53112
53113         * m4/inet_pton.m4, inet_ntop.m4: Check for netinet/in.h too.
53114
53115 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
53116
53117         * lib/inet_ntop.h, inet_pton.h: Need to include netinet/in.h before
53118         arpa/inet.h.
53119
53120 2006-07-28  Simon Josefsson  <jas@extundo.com>
53121
53122         * modules/inet_ntop (Depends-on): Depend on arpa_inet.
53123         * modules/inet_pton (Depends-on): Likewise.
53124
53125 2006-07-28  Simon Josefsson  <jas@extundo.com>
53126
53127         * m4/netinet_in_h.m4: New file.
53128
53129 2006-07-28  Simon Josefsson  <jas@extundo.com>
53130
53131         * lib/inet_ntop.h, inet_pton.h: No need to guard netinet/in.h
53132         #include's.
53133
53134 2006-07-28  Simon Josefsson  <jas@extundo.com>
53135
53136         * lib/inet_ntop.h, inet_pton.h: No need to guard arpa/inet.h
53137         #include's.
53138
53139 2006-07-28  Paul Eggert  <eggert@cs.ucla.edu>
53140
53141         * lib/modechange.c (mode_compile): Numeric modes now affect setuid and
53142         setgid on directories only if they set these bits.
53143         * lib/modechange.h: Remove obsolete comment about masks.
53144
53145 2006-07-28  Eric Blake  <ebb9@byu.net>
53146
53147         * lib/regex_internal.h (struct re_dfa_t) [!_LIBC]: Avoid invalid C89
53148         macro expansion.
53149
53150 2006-07-28  Bruno Haible  <bruno@clisp.org>
53151
53152         * lib/inet_ntop.h, inet_pton.h: Use #if HAVE* instead of #ifdef HAVE*.
53153
53154 2006-07-28  Bruno Haible  <bruno@clisp.org>
53155
53156         * m4/mbchar.m4 (gl_MBCHAR): Also test for iswcntrl.
53157
53158 2006-07-28  Bruno Haible  <bruno@clisp.org>
53159
53160         * lib/mbchar.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
53161         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
53162         Define fallbacks.
53163         Avoids link error on FreeBSD 4.x.
53164         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
53165
53166         * lib/wcwidth.h (iswprint): Assume an ASCII compatible wide character
53167         encoding.
53168         * lib/mbswidth.c (iswcntrl): Likewise.
53169
53170 2006-07-27  Bruno Haible  <bruno@clisp.org>
53171
53172         * m4/stdint.m4 (gl_STDINT_H): Define __STDC_CONSTANT_MACROS during the
53173         test.
53174
53175 2006-07-27  Bruno Haible  <bruno@clisp.org>
53176
53177         * lib/stdint_.h (INT*_C, UINT*_C) [C++]: Define these if
53178         __STDC_CONSTANT_MACROS is defined, not if __STDC_LIMIT_MACROS is
53179         defined.
53180
53181 2006-07-26  Eric Blake  <ebb9@byu.net>
53182
53183         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Check for missing pipe.
53184
53185 2006-07-26  Eric Blake  <ebb9@byu.net>
53186
53187         * lib/mkstemp-safer.c [! HAVE_MKSTEMP]: Add prototype for platforms
53188         like mingw that lack mkstemp.
53189         * lib/pipe-safer.c (pipe_safer) [!HAVE_FUNC_PIPE]: Provide fallback to
53190         avoid compilation warning on mingw.
53191
53192 2006-07-26  Bruno Haible  <bruno@clisp.org>
53193
53194         * m4/stdint.m4 (gl_STDINT_H): Also verify the existence of the macros
53195         INT*_MIN, INT_LEAST*_MAX, INT_LEAST*_MIN, UINT_LEAST*_MAX,
53196         INT_FAST*_MIN, INTPTR_MIN.
53197
53198 2006-07-25  Bruno Haible  <bruno@clisp.org>
53199
53200         * modules/version-etc (Depends-on): Add stdarg.
53201
53202 2006-07-25  Bruno Haible  <bruno@clisp.org>
53203
53204         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Avoid 'eval' in front of
53205         complex commands.
53206
53207 2006-07-25  Bruno Haible  <bruno@clisp.org>
53208
53209         * lib/version-etc.c (version_etc_va): Use va_copy, assumed to be
53210         defined in <stdarg.h> or config.h.
53211
53212 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
53213
53214         * m4/stdio-safer.m4 (gl_FOPEN_SAFER, gl_TMPFILE_SAFER): New macros.
53215         (gl_STDIO_SAFER): Remove.
53216
53217 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
53218
53219         * MODULES.html.sh (File stream based Input/Output):
53220         Add fopen-safer, tmpfile-safer; remove stdio-safer.
53221         * modules/getusershell (Depends-on): Change stdio-safer to fopen-safer.
53222         * modules/fopen-safer, modules/tmpfile-safer: New files.
53223         * modules/stdio-safer: Remove.
53224
53225 2006-07-24  Bruno Haible  <bruno@clisp.org>
53226
53227         * modules/tmpdir: New file.
53228         * MODULES.html.sh (File system functions): Add it.
53229
53230 2006-07-24  Bruno Haible  <bruno@clisp.org>
53231
53232         * modules/javacomp (Depends-on): Add unistd, javaversion, binary-io,
53233         getline, pathname, fwriteerror, clean-temp, xvasprintf, strstr.
53234
53235 2006-07-24  Bruno Haible  <bruno@clisp.org>
53236
53237         * modules/clean-temp: New file.
53238
53239 2006-07-24  Bruno Haible  <bruno@clisp.org>
53240
53241         * m4/tmpdir.m4: New file, from GNU gettext.
53242
53243 2006-07-24  Bruno Haible  <bruno@clisp.org>
53244
53245         * lib/tmpdir.h: New file, from GNU gettext.
53246         * lib/tmpdir.c: New file, from GNU gettext.
53247
53248 2006-07-24  Bruno Haible  <bruno@clisp.org>
53249
53250         * lib/clean-temp.h: New file, from GNU gettext.
53251         * lib/clean-temp.c: New file, from GNU gettext.
53252
53253 2006-07-23  Eric Blake  <ebb9@byu.net>
53254
53255         * modules/stdio-safer (Files): Add tmpfile-safer.c.
53256         (Depends-on): Add binary-io.
53257
53258 2006-07-23  Eric Blake  <ebb9@byu.net>
53259
53260         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add tmpfile-safer.c.
53261
53262 2006-07-23  Eric Blake  <ebb9@byu.net>
53263
53264         * lib/tmpfile-safer.c: New file.
53265         * lib/stdio-safer.h (fopen_safer): Add prototype.
53266         * lib/stdio--.h (tmpfile): Make safer.
53267
53268 2006-07-23  Bruno Haible  <bruno@clisp.org>
53269
53270         * lib/gl_anylinked_list2.h (ASYNCSAFE): New macro.
53271         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before,
53272         gl_linked_add_after, gl_linked_add_at, gl_linked_remove_node,
53273         gl_linked_remove_at): Use it.
53274
53275 2006-07-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
53276         and Simon Josefsson <jas@extundo.com>
53277
53278         * lib/getaddrinfo.h (AI_PASSIVE): Make sure it is defined.
53279
53280         * lib/getaddrinfo.c (getaddrinfo): Support AI_PASSIVE.
53281
53282 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
53283
53284         * modules/close-stream: New file.
53285         * modules/closeout (Description): Make it clear that it exits
53286         with a diagnostic on error.
53287         (Depends-on): Add close-stream.  Remove fpending, stdbool.
53288         * MODULES.html.sh (File stream based Input/Output): Add close-stream.
53289
53290 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
53291
53292         * m4/close-stream.m4: New file.
53293
53294 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
53295
53296         * lib/close-stream.c, lib/close-stream.h: New files.
53297
53298 2006-07-22  Bruno Haible  <bruno@clisp.org>
53299
53300         Merge from GNU gettext 0.15.
53301
53302         2006-05-01  Bruno Haible  <bruno@clisp.org>
53303
53304                 * build-aux/javacomp.sh.in: Update for changed javacomp.m4.
53305
53306         2006-07-22  Bruno Haible  <bruno@clisp.org>
53307
53308                 * modules/javaversion: New file.
53309                 * MODULES.html.sh (Java): Add javaversion.
53310
53311         2006-03-12  Bruno Haible  <bruno@clisp.org>
53312
53313                 * build-aux/javaexec.sh.in: Update for changed javaexec.m4.
53314
53315         2005-12-04  Bruno Haible  <bruno@clisp.org>
53316
53317                 * build-aux/csharpexec.sh.in: Add support for 'clix' launcher
53318                 (untested).
53319
53320         2006-06-21  Bruno Haible  <bruno@clisp.org>
53321
53322                 Avoid warnings from recent versions of mcs.
53323                 * build-aux/csharpcomp.sh.in (options_mcs): Don't use options
53324                 -o, -L, -r any more. Use options documented since mcs-1.0
53325                 instead. Similarly for -g.
53326
53327         2005-12-04  Bruno Haible  <bruno@clisp.org>
53328
53329                 * build-aux/csharpcomp.sh.in: Suffix for resources is
53330                 .resources, not .resource.
53331
53332         2005-07-09  Bruno Haible  <bruno@clisp.org>
53333
53334                 * build-aux/csharpcomp.sh.in (options_csc): For -l option,
53335                 add a .dll suffix.
53336                 Reported by Mark Junker <mjscod@gmx.de>.
53337
53338         2006-07-22  Bruno Haible  <bruno@clisp.org>
53339
53340                 * modules/gettext: Upgrade to gettext-0.15.
53341                 (Files): Remove m4/isc-posix.m4. Add m4/lock.m4,
53342                 m4/visibility.m4.
53343                 Replace m4/inttypes.m4 with m4/inttypes-h.m4.
53344
53345 2006-07-22  Bruno Haible  <bruno@clisp.org>
53346
53347         Merge from GNU gettext 0.15.
53348
53349         2006-03-25  Bruno Haible  <bruno@clisp.org>
53350
53351                 * lib-link.m4 (AC_LIB_LINKFLAGS_FROM_LIBS): New macro.
53352
53353         2006-07-21  Bruno Haible  <bruno@clisp.org>
53354
53355                 * javacomp.m4 (gt_JAVACOMP): Convert target_version "null" to
53356                 "1.1".
53357
53358         2006-05-09  Bruno Haible  <bruno@clisp.org>
53359
53360                 * javacomp.m4 (gt_JAVACOMP): On Cygwin, set
53361                 CLASSPATH_SEPARATOR to a semicolon. Use CLASSPATH_SEPARATOR
53362                 for the conftestver execution.
53363
53364         2006-05-01  Bruno Haible  <bruno@clisp.org>
53365
53366                 * javacomp.m4 (gt_JAVACOMP): Accept a source-version and an
53367                 optional target-version argument. Verify that the compiler
53368                 groks source of the specified source-version, or add -source
53369                 option as necessary. Verify that the compiler produces
53370                 bytecode in the specified target-version, or add -target and
53371                 -source options as necessary. Make the result of the test
53372                 available as variable CONF_JAVAC. Also log error output in
53373                 config.log.
53374
53375         2006-03-11  Bruno Haible  <bruno@clisp.org>
53376
53377                 * javacomp.m4 (gt_JAVACOMP): Treat gcj-4.x like gcj-3.x.
53378
53379         2006-05-09  Bruno Haible  <bruno@clisp.org>
53380
53381                 * javaexec.m4 (gt_JAVAEXEC): On Cygwin, set
53382                 CLASSPATH_SEPARATOR to a semicolon.
53383
53384         2006-03-12  Bruno Haible  <bruno@clisp.org>
53385
53386                 * javaexec.m4 (gt_JAVAEXEC): Make the result of the test
53387                 available as variable CONF_JAVA, for subsequent autoconf
53388                 tests. Also log error output in config.log.
53389
53390         2006-07-19  Bruno Haible  <bruno@clisp.org>
53391
53392                 * getline.m4 (AM_FUNC_GETLINE): When cross-compiling, assume
53393                 that getline works on glibc2 systems. Needed to avoid trouble
53394                 in relocatable.c.
53395                 Reported by Nils Magnus Larsgard <nmlarsgaard@atmel.no>.
53396
53397         2005-12-04  Bruno Haible  <bruno@clisp.org>
53398
53399                 * csharpexec.m4 (gt_CSHARPEXEC): Add support for 'clix'
53400                 launcher (untested).
53401
53402         2005-12-04  Bruno Haible  <bruno@clisp.org>
53403
53404                 * csharpcomp.m4 (gt_CSHARPCOMP): Also set CSHARPCOMPFLAGS.
53405
53406         2006-07-22  Bruno Haible  <bruno@clisp.org>
53407
53408                 * gettext.m4: Update from GNU gettext-0.15.
53409                 * nls.m4: Likewise.
53410                 * po.m4: Likewise.
53411                 * inttypes-pri.m4: Likewise.
53412                 * inttypes-h.m4: Renamed from inttypes.m4.
53413                 (gl_HEADER_INTTYPES_H): Renamed from gt_HEADER_INTTYPES_H.
53414
53415 2006-07-22  Bruno Haible  <bruno@clisp.org>
53416
53417         Merge from GNU gettext 0.15.
53418
53419         2005-07-05  Bruno Haible  <bruno@clisp.org>
53420
53421                 * printf-args.c (printf_fetchargs): Work around broken
53422                 definition of wint_t on mingw.
53423
53424         2005-02-12  Bruno Haible  <bruno@clisp.org>
53425
53426                 * xallocsa.h: Add extern "C" for C++.
53427
53428         2006-05-17  Bruno Haible  <bruno@clisp.org>
53429
53430                 Cygwin portability.
53431                 * progreloc.c (WIN32_NATIVE): Renamed from WIN32.
53432
53433         2006-04-30  Bruno Haible  <bruno@clisp.org>
53434
53435                 * progreloc.c: Include <mach-o/dyld.h> if available.
53436                 (find_executable): Use _NSGetExecutablePath when possible.
53437
53438         2006-05-06  Charles Wilson  <cygwin@cwilson.fastmail.fm>
53439
53440                 * progreloc.c (maybe_executable) [CYGWIN]: Use the access()
53441                 function.
53442
53443         2005-12-29  Bruno Haible  <bruno@clisp.org>
53444
53445                 * progreloc.c (set_program_name_and_installdir): Fix
53446                 compilation error.
53447
53448         2005-12-04  Bruno Haible  <bruno@clisp.org>
53449
53450                 Cygwin portability.
53451                 * progreloc.c: Include <windows.h> also on Cygwin.
53452                 (find_executable): Add support for Cygwin.
53453                 (set_program_name_and_installdir): Handle also platforms with
53454                 nonempty EXEEXT.
53455
53456         2006-07-11  Bruno Haible  <bruno@clisp.org>
53457
53458                 * javacomp.c: Fix a comment.
53459                 Reported by Jim Meyering.
53460
53461         2006-04-30  Bruno Haible  <bruno@clisp.org>
53462
53463                 * javacomp.h (compile_java_class): Add source_version,
53464                 target_version arguments.
53465                 * javacomp.c: Rewritten to choose only a compiler that
53466                 respects the specified source_version and target_version.
53467
53468         2006-06-27  Bruno Haible  <bruno@clisp.org>
53469
53470                 Assume correct S_ISDIR macro.
53471                 * mkdtemp.c: Remove test of STAT_MACROS_BROKEN.
53472
53473         2006-07-22  Bruno Haible  <bruno@clisp.org>
53474
53475                 * javaversion.h: New file, from GNU gettext.
53476                 * javaversion.c: New file, from GNU gettext.
53477                 * javaversion.java: New file, from GNU gettext.
53478                 * javaversion.class: New file, from GNU gettext.
53479
53480         2006-05-17  Bruno Haible  <bruno@clisp.org>
53481
53482                 Cygwin portability.
53483                 * javaexec.c (execute_java_class): Test for jview program
53484                 also on Cygwin.
53485
53486         2006-04-09  Bruno Haible  <bruno@clisp.org>
53487
53488                 * fatal-signal.c: Don't include string.h.
53489                 (at_fatal_signal): Use a copying loop instead of memcpy.
53490
53491         2005-12-04  Bruno Haible  <bruno@clisp.org>
53492
53493                 * csharpexec.c: Add support for 'clix' launcher (untested).
53494                 (execute_csharp_using_sscli): New function.
53495                 (execute_csharp_program): Call it.
53496
53497         2006-06-21  Bruno Haible  <bruno@clisp.org>
53498
53499                 Avoid warnings from recent versions of mcs.
53500                 * csharpcomp.c (compile_csharp_using_mono): Don't use options
53501                 -o, -L, -r any more. Use options documented since mcs-1.0
53502                 instead. Similarly for -g.
53503
53504         2005-07-09  Bruno Haible  <bruno@clisp.org>
53505
53506                 * csharpcomp.c (compile_csharp_using_sscli): For -l option,
53507                 add a .dll suffix.
53508                 Reported by Mark Junker <mjscod@gmx.de>.
53509
53510         2006-06-17  Bruno Haible  <bruno@clisp.org>
53511
53512                 * config.charset: Update for NetBSD 3.0.
53513
53514         2006-05-17  Bruno Haible  <bruno@clisp.org>
53515
53516                 Cygwin portability.
53517                 * localcharset.c (WIN32_NATIVE): Renamed from WIN32.
53518
53519         2006-05-16  Bruno Haible  <bruno@clisp.org>
53520
53521                 * localcharset.c [CYGWIN]: Include <windows.h>.
53522                 (get_charset_aliases): For Cygwin, return the same CPxxx
53523                 aliases list as under WIN32.
53524                 (locale_charset) [CYGWIN]: Try to retrieve the encoding from
53525                 the environment variables. Fall back to GetACP().
53526
53527         2006-04-05  Bruno Haible  <bruno@clisp.org>
53528
53529                 * config.charset: Update Juan Manuel Guerrero's address.
53530
53531         2005-02-12  Bruno Haible  <bruno@clisp.org>
53532
53533                 * allocsa.h: Add extern "C" for C++.
53534
53535         2005-02-10  Bruno Haible  <bruno@clisp.org>
53536
53537                 * allocsa.h (sa_alignof): Define differently with AIX xlc, to
53538                 avoid a bug of this compiler on AIX 3.2.5 dealing with enums.
53539
53540         2006-07-22  Bruno Haible  <bruno@clisp.org>
53541
53542                 * gettext.h: Update to GNU gettext-0.15.
53543
53544 2006-07-22  Bruno Haible  <bruno@clisp.org>
53545
53546         * config/srclist.txt: Resync printf-args.c, vasnprintf.c,
53547         localcharset.c, mkdtemp.c, config.rpath, lib-ld.m4, lib-link.m4,
53548         lib-prefix.m4, longdouble.m4, ssize_t.m4.
53549
53550 2006-07-21  Eric Blake  <ebb9@byu.net>
53551
53552         * modules/stdlib-safer: New file.
53553         * MODULES.html.sh (File stream based Input/Output): Add
53554         stdlib-safer.
53555
53556 2006-07-21  Eric Blake  <ebb9@byu.net>
53557
53558         * lib/stdlib-safer.h: New file from coreutils, required by
53559         stdlib--.h.
53560
53561 2006-07-20  Paul Eggert  <eggert@cs.ucla.edu>
53562
53563         * gnulib-tool (func_usage): Document --assume-autoconf='latest-stable'.
53564
53565 2006-07-20  Bruno Haible  <bruno@clisp.org>
53566
53567         * gnulib-tool: Recognize new option --assume-autoconf.
53568         (autoconf_minversion): New variable.
53569         (func_get_filelist): Use it to decide whether to add onceonly_2_57.m4.
53570
53571 2006-07-20  Bruno Haible  <bruno@clisp.org>
53572
53573         * MODULES.html.sh (func_all_modules): Add a missing func_begin_table.
53574
53575 2006-07-19  Derek R. Price  <derek@ximbiot.com>
53576
53577         * lib/getaddrinfo.h: Don't define unimplemented AI_* flags.
53578         Reindent and repaginate.
53579
53580 2006-07-19  Derek Price  <derek@ximbiot.com>
53581
53582         * doc/gnulib.texi (Libtool and Windows):  Eliminate passive voice.
53583         Correct grammar.
53584
53585 2006-07-17  Bruno Haible  <bruno@clisp.org>
53586
53587         * modules/list: New file.
53588         * modules/array-list: New file.
53589         * modules/carray-list, modules/carray-list-tests: New files.
53590         * modules/linked-list, modules/linked-list-tests: New files.
53591         * modules/avltree-list, modules/avltree-list-tests: New files.
53592         * modules/rbtree-list, modules/rbtree-list-tests: New files.
53593         * modules/linkedhash-list, modules/linkedhash-list-tests: New files.
53594         * modules/avltreehash-list, modules/avltreehash-list-tests: New files.
53595         * modules/rbtreehash-list, modules/rbtreehash-list-tests: New files.
53596         * modules/oset: New file.
53597         * modules/array-oset: New file.
53598         * modules/avltree-oset, modules/avltree-oset-tests: New files.
53599         * modules/rbtree-oset, modules/rbtree-oset-tests: New files.
53600         * tests/test-carray_list.c: New file.
53601         * tests/test-linked_list.c: New file.
53602         * tests/test-avltree_list.c: New file.
53603         * tests/test-rbtree_list.c: New file.
53604         * tests/test-linkedhash_list.c: New file.
53605         * tests/test-avltreehash_list.c: New file.
53606         * tests/test-rbtreehash_list.c: New file.
53607         * tests/test-avltree_oset.c: New file.
53608         * tests/test-rbtree_oset.c: New file.
53609         * MODULES.html.sh (Container data structures): New section.
53610
53611 2006-07-17  Bruno Haible  <bruno@clisp.org>
53612
53613         * m4/gl_list.m4: New file.
53614
53615 2006-07-17  Bruno Haible  <bruno@clisp.org>
53616
53617         * lib/gl_list.h: New file.
53618         * lib/gl_list.c: New file.
53619         * lib/gl_array_list.h: New file.
53620         * lib/gl_array_list.c: New file.
53621         * lib/gl_carray_list.h: New file.
53622         * lib/gl_carray_list.c: New file.
53623         * lib/gl_linked_list.h: New file.
53624         * lib/gl_linked_list.c: New file.
53625         * lib/gl_anylinked_list1.h: New file.
53626         * lib/gl_anylinked_list2.h: New file.
53627         * lib/gl_avltree_list.h: New file.
53628         * lib/gl_avltree_list.c: New file.
53629         * lib/gl_anyavltree_list1.h: New file.
53630         * lib/gl_anyavltree_list2.h: New file.
53631         * lib/gl_rbtree_list.h: New file.
53632         * lib/gl_rbtree_list.c: New file.
53633         * lib/gl_anyrbtree_list1.h: New file.
53634         * lib/gl_anyrbtree_list2.h: New file.
53635         * lib/gl_anytree_list1.h: New file.
53636         * lib/gl_anytree_list2.h: New file.
53637         * lib/gl_linkedhash_list.h: New file.
53638         * lib/gl_linkedhash_list.c: New file.
53639         * lib/gl_anyhash_list1.h: New file.
53640         * lib/gl_anyhash_list2.h: New file.
53641         * lib/gl_avltreehash_list.h: New file.
53642         * lib/gl_avltreehash_list.c: New file.
53643         * lib/gl_rbtreehash_list.h: New file.
53644         * lib/gl_rbtreehash_list.c: New file.
53645         * lib/gl_anytreehash_list1.h: New file.
53646         * lib/gl_anytreehash_list2.h: New file.
53647
53648         * lib/gl_oset.h: New file.
53649         * lib/gl_oset.c: New file.
53650         * lib/gl_array_oset.h: New file.
53651         * lib/gl_array_oset.c: New file.
53652         * lib/gl_avltree_oset.h: New file.
53653         * lib/gl_avltree_oset.c: New file.
53654         * lib/gl_rbtree_oset.h: New file.
53655         * lib/gl_rbtree_oset.c: New file.
53656         * lib/gl_anytree_oset.h: New file.
53657
53658 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
53659
53660         * m4/mkancesdirs.m4: New file.
53661         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Mention dirchownmod.c,
53662         dirchownmod.h.  Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER;
53663         no longer needed.  Require gl_FUNC_LCHOWN, since dirchownmod.c needs
53664         it.
53665
53666 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
53667
53668         * lib/dirchownmod.c, lib/dirchownmod.h, lib/mkancesdirs.c:
53669         * lib/mkancesdirs.h: New files.
53670         * lib/mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h,
53671         unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h,
53672         save-cwd.h.  Instead, include dirchownmod.h and mkancesdirs.h.
53673         (make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE,
53674         MODE_BITS.  Remove options VERBOSE_FMT_STRING, CWD_ERRNO.  All
53675         callers changed.  Revamp internals significantly, by not
53676         attempting to create directories that are temporarily more
53677         permissive than the final results.  Do not attempt to use
53678         save_cwd/restore_cwd; it isn't worth it for mkdir and install.
53679         This removes some race conditions, fixes some bugs, and simplifies
53680         things.  Use new dirchownmod function to do owner and mode changes.
53681         * lib/mkdir-p.h: Likewise.
53682         * lib/modechange.c (octal_to_mode): New function.
53683         (struct mode_change): New member mentioned.
53684         (make_node_op_equals): New arg mentioned.  All callers changed.
53685         (mode_compile): Keep track of which mode bits the user has explicitly
53686         mentioned.
53687         (mode_adjust): New arg DIR, so that we implement the X op correctly.
53688         New arg PMODE_BITS, to keep track of which mode bits the user
53689         mentioned; it treats S_ISUID and S_ISGID speciall.
53690         All callers changed.
53691         * lib/modechange.h: Likewise.
53692
53693 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
53694
53695         * MODULES.html.sh: Add mkancestors.
53696         * modules/mkancesdirs: New module.
53697         * modules/mkdir-p (Files): Remove lib/chdir-safer.c, lib/chdir-safer.h,
53698         lib/same-inode.h, m4/afs.m4, m4/chdir-safer.m4.
53699         The chdir-safer and afs files are now orphans; I'll remove them
53700         unless someone speaks up.
53701         Add lib/dirchownmod.c, lib/dirchownmod.h.
53702         (Depends-on): Remove alloca, chown, save-cwd, dirname.
53703         Add lchown, mkancesdirs.
53704         (Maintainer): Add self.
53705
53706 2006-07-15  Karl Berry  <karl@gnu.org>
53707
53708         * gnulib-tool: help message wording/arrangement.
53709
53710 2006-07-14  Simon Josefsson  <jas@extundo.com>
53711
53712         * doc/gnulib.texi (Libtool and Windows): New section.
53713
53714 2006-07-12  Simon Josefsson  <jas@extundo.com>
53715
53716         * modules/gendocs (License): Fix license, approved by Karl.
53717
53718 2006-07-12  Eric Blake  <ebb9@byu.net>
53719
53720         * MODULES.html.sh: Add gendocs.
53721
53722 2006-07-11  Eric Blake  <ebb9@byu.net>
53723
53724         * modules/fdl: New module, to install doc/fdl.texi.
53725         * MODULES.html.sh: Add new section for documentation modules.
53726         * gnulib-tool: Avoid space-tab.
53727         (--doc-base): New option, to manage files from doc.
53728
53729 2006-07-11  Eric Blake  <ebb9@byu.net>
53730
53731         * m4/absolute-header.m4: Fix comments to match recent change.
53732
53733 2006-07-11  Eric Blake  <ebb9@byu.net>
53734
53735         * gnulib-tool: List --doc-base before --tests-base.
53736
53737 2006-07-11  Derek R. Price  <derek@ximbiot.com>
53738
53739         * lib/glob.c: s/NAMLEN/_D_EXACT_NAMLEN/.
53740
53741 2006-07-11  Bruno Haible  <bruno@clisp.org>
53742
53743         * README: Mention where to put documentation.
53744
53745 2006-07-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53746
53747         * doc/functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos.
53748
53749 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
53750
53751         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Like today's change
53752         to stdint.m4.
53753
53754 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
53755
53756         * m4/stdint.m4 (gl_STDINT_H): Like yesterday's change to
53757         absolute-header.m4.  Also, set ABSOLUTE_STDINT_H to a string
53758         "no/such/file/stdint.h" when there is no such file, so that
53759         the resulting C code can be parsed by dodgy compilers.
53760         Problems reported by Bob Proulx.
53761
53762 2006-07-10  Derek R. Price  <derek@ximbiot.com>
53763
53764         * lib/backupfile.c, dirfd.h, fts.c, getcwd.c, glob.c, glob_.h:
53765         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
53766         macros into the GNU _D_EXACT_NAMLEN.
53767         * lib/savedir.c:  Likewise.
53768         (savedirstream): Use _D_EXACT_NAMLEN in preference to strlen.
53769
53770 2006-07-10  Derek R. Price  <derek@ximbiot.com>
53771         and Paul Eggert  <eggert@cs.ucla.edu>
53772
53773         * m4/backupfile.m4, d-ino.m4, d-type.m4, dirfd.m4, fts.m4, getcwd.m4:
53774         * m4/savedir.m4:
53775         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
53776         macros into the GNU _D_EXACT_NAMLEN.
53777
53778 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
53779
53780         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <>
53781         around the absolute name, to work around a problem with the HP-UX
53782         11.23 native C compiler, reported by Bob Proulx.
53783
53784 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
53785
53786         * doc/maintain.texi, make-stds.texi: Sync from
53787         <http://savannah.gnu.org/projects/gnustandards>.
53788
53789 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
53790
53791         * build-aux/depcomp, build-aux/install-sh: Sync from Automake.
53792
53793 2006-07-09  Jim Meyering  <jim@meyering.net>
53794
53795         * m4/glob.m4: Remove a doubled word in a comment.
53796
53797 2006-07-09  Jim Meyering  <jim@meyering.net>
53798
53799         * lib/argp-pv.c: Remove a doubled word in a comment.
53800         * lib/check-version.c (check_version): Likewise.
53801         * lib/javacomp.c (compile_java_class): Likewise.
53802
53803 2006-07-08  Paul Eggert  <eggert@cs.ucla.edu>
53804
53805         * gnulib-tool (func_get_filelist): Don't echo m4/onceonly_2_57.m4,
53806         for the benefit of people using Autoconf 2.60.  If you want to
53807         support older Autoconf versions you can copy m4/onceonly_2_57.m4
53808         (or m4/onceonly.m4, if pre-2.57) manually.
53809
53810 2006-07-08  Jim Meyering  <jim@meyering.net>
53811
53812         * m4/link-follow.m4: Remove one of two adjacent "whether"s in a
53813         comment.
53814         * m4/getopt.m4: Remove one of two adjacent "your"s in a comment.
53815         * m4/regex.m4 (gl_REGEX): Remove one of two adjacent "the"s in a
53816         comment.
53817
53818 2006-07-08  Jim Meyering  <jim@meyering.net>
53819
53820         * lib/getndelim2.h (getndelim2): Remove doubled "after" in comment.
53821
53822 2006-07-07  Simon Josefsson  <jas@extundo.com>
53823
53824         * tests/test-crc.c: Change expected crc value, the test vector
53825         were probably computed using the old broken crc.c?
53826
53827 2006-07-06  Simon Josefsson  <jas@extundo.com>
53828
53829         * modules/sys_socket (Files): Add m4/sockpfaf.m4 (this module is
53830         now the canonical place for the M4 file).
53831
53832         * modules/getaddrinfo (Files): Remove m4/sockpfaf.m4, we get it
53833         from the sys_socket dependency now.
53834
53835         * modules/inet_pton (Files): Ditto.
53836
53837         * modules/inet_ntop (Files): Ditto.
53838
53839 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
53840
53841         * modules/getusershell (configure.ac): Use gl_FUNC_GETUSERSHELL,
53842         not gl_PREREQ_GETUSERSHELL.
53843
53844 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53845
53846         * m4/_inttypes_h.m4 (gl_INTTYPES_H): Use AC_CHECK_DECLS_ONCE
53847         with only one argument, for Autoconf 2.60.
53848         * m4/fileblocks.m4 (gl_PREREQ_FILEBLOCKS): AC_CHECK_DECLS_ONCE may
53849         expand to nothing, so add a shell command to avoid syntax error.
53850         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
53851
53852 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53853
53854         * lib/strtod.c (strtod): cast the argument of tolower to unsigned char.
53855
53856 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
53857
53858         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl;
53859         no longer needed.  Check for isblank decl.
53860         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl.
53861         * m4/regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead
53862         of existence.
53863
53864 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
53865
53866         * lib/getloadavg.c: Use __VMS, not VMS.
53867         * lib/getopt.c: Likewise.
53868         * lib/getpagesize.h: Likewise.
53869         * lib/glob.c: Remove most VMS cruft; it hasn't been tested for a while
53870         and probably does not work.
53871
53872 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
53873
53874         * lib/.cppi-disable: Add wcwidth.
53875         * lib/fnmatch.c (ISBLANK): Remove.  All uses changed to isblank.
53876         (isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro.
53877         (ISGRAPH): Remove.  All uses changed to isgraph.
53878         (FOLD) [!defined _LIBC]: Remove special case.
53879         * lib/getdate.y (lookup_word): Remove no-longer-needed call to islower.
53880         * lib/regex_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not
53881         HAVE_ISBLANK.
53882         * lib/strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special
53883         case.
53884
53885 2006-07-06  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
53886
53887         * lib/getaddrinfo.c: Changes to compile under MSVC6: changed
53888         '#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside
53889         brackets.  Other minor changes to suppress some compiler
53890         warnings.
53891
53892 2006-07-06  Derek R. Price  <derek@ximbiot.com>
53893         and Paul Eggert  <eggert@cs.ucla.edu>
53894
53895         * m4/backupfile.m4 (gl_BACKUPFILE): Check for dirent.h, instead
53896         of invoking obsolescent AC_HEADER_DIRENT macro.
53897         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
53898         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
53899         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
53900         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
53901         * m4/getcwd.m4 (gl_PREREQ_GETCWD): Likewise.
53902         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
53903         * m4/savedir.m4 (gl_SAVEDIR): Likewise.
53904         * m4/readdir.m4: Remove; no longer needed.
53905
53906 2006-07-06  Derek R. Price  <derek@ximbiot.com>
53907         and Paul Eggert  <eggert@cs.ucla.edu>
53908
53909         * lib/backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]:
53910         Don't worry about this obsolete case any more.
53911         (HAVE_DIR): Remove.  All uses removed; we now assume you can read
53912         directories.
53913         * lib/dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't
53914         worry about this obsolete case any more.
53915         * lib/fts.c: Likewise.
53916         * lib/getcwd.c: Likewise.
53917         * lib/glob.h: Likewise.
53918         * lib/savedir.c: Likewise.
53919
53920 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
53921
53922         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE
53923         rather than AC_CHECK_DECLS for strtoimax and strtoumax.
53924         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer
53925         needed.
53926         All uses removed.
53927         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
53928         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
53929         * m4/exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer
53930         needed.
53931         * m4/getdate.m4 (gl_GETDATE): Likewise.
53932         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
53933         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
53934         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
53935         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
53936         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
53937         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
53938         * m4/exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer
53939         needed.
53940
53941 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
53942
53943         * lib/memcasecmp.c: Include <limits.h>.
53944         (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX.
53945         * lib/strtod.c (strtod): Don't assume isspace works on negative chars.
53946         Don't assume isdigit succeeds only on '0' through '9'.
53947
53948 2006-07-05  Eric Blake  <ebb9@byu.net>
53949
53950         * modules/getaddrinfo (Depends-on): Add snprintf.
53951
53952 2006-07-05  Eric Blake  <ebb9@byu.net>
53953
53954         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Use gl_HEADER_SYS_SOCKET
53955         to avoid 'header present but could not be compiled' on cygwin.
53956
53957 2006-07-05  Eric Blake  <ebb9@byu.net>
53958
53959         * lib/getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if
53960         missing from netdb.h.
53961         * lib/getaddrinfo.c (includes): Include inet_ntop and snprintf.
53962
53963 2006-07-05  Derek R. Price  <derek@ximbiot.com>
53964
53965         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC;
53966         no longer needed.
53967         * m4/exclude.m4 (gl_EXCLUDE): Likewise.
53968         * m4/getdate.m4 (gl_GETDATE): Likewise.
53969         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
53970         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
53971         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
53972         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
53973         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
53974
53975 2006-07-05  Derek R. Price  <derek@ximbiot.com>
53976
53977         * lib/exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed.
53978         All uses of is_space replaced by isspace.
53979         * lib/exit.h: Don't talk about STDC_HEADERS.
53980         * lib/fnmatch.c (ISASCII): Remove; no longer needed.  All uses removed.
53981         (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT):
53982         (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed.  All uses
53983         replaced by isprint etc.
53984         * lib/getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise.
53985         * lib/getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
53986         * lib/memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise.
53987         * lib/strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise.
53988         * lib/strtol.c (IN_CTYPE_DOMAIN): Likewise.
53989         * lib/xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
53990
53991 2006-07-05  Bruno Haible  <bruno@clisp.org>
53992
53993         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether
53994         the function exists, before testing against AIX.
53995         Reported by Martin Lambers <marlam@marlam.de>.
53996
53997 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
53998
53999         * modules/cycle-check (lib_SOURCES): Add same-inode.h.
54000         From Mark D. Baushke.
54001
54002 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
54003
54004         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Prepend three slashes
54005         to the absolute name, not just one, to bypass Sun C 5.8's
54006         "warning: #include of /usr/include/... may be non-portable".
54007
54008 2006-07-04  Eric Blake  <ebb9@byu.net>
54009
54010         * modules/dirname-tests: New test module.
54011         * tests/test-dirname.c: New file, replacing dirname.c
54012         TEST_DIRNAME section that was recently deleted.
54013
54014 2006-07-04  Bruno Haible  <bruno@clisp.org>
54015
54016         Assume ANSI C header files and <ctype.h> functions.
54017         * lib/mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros.
54018         (mbsnwidth): Use isprint, iscntrl instead.
54019
54020 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
54021
54022         Merge from coreutils.
54023         * MODULES.html.sh: Add xstrtold.
54024         * modules/xstrtold: New file.
54025         * modules/cycle-check (Files): Add lib/same-inode.h.
54026         * modules/dirname (Files): Add m4/double-slash-root.m4.
54027         * modules/getcwd (Files): Add m4/getcwd-abort-bug.m4.
54028         * modules/mkdir-p (Files): Add lib/same-inode.h.
54029         * modules/same (Files): Add lib/same-inode.h.
54030
54031 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
54032
54033         * m4/absolute-header.m4: Renamed from full-header-path.m4.
54034         This is to keep the terminology clean; POSIX talks about
54035         "absolute pathnames", not "full pathnames", but the GNU
54036         Coding Standards say to use "path" for something else;
54037         so use "absolute" to keep both sides happy.
54038         (gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH.
54039         Set gl_absolute_header, not gl_full_header_path.
54040         Set gl_cv_absolute_<header>, not gl_full_path_<header>.
54041         Define ABSOLUTE_<HEADER>, not FULL_PATH_<HEADER>.
54042         All uses changed.
54043
54044         Merge from coreutils.
54045
54046         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
54047
54048         * m4/c-strtod.m4 (gl_C_STRTOLD): Add c-strtod.c to LIBSOURCES.
54049         Require gl_USE_SYSTEM_EXTENSIONS, not gl_C_STRTOD, since we don't
54050         want to require the building of c-strtod.o.
54051         * m4/lib-check.m4 (cu_LIB_CHECK): Remove SEQ_LIBM, since seq no longer
54052         needs -lm directly.
54053         * m4/xstrtod.m4 (gl_XSTRTOLD): New macro.
54054
54055         2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
54056
54057         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's
54058         --as-needed option if available.  Problem reported by Albert Chin in
54059         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00114.html>.
54060         However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11
54061         cc merely issues a bunch of annoying warnings for --as-needed
54062         (this problem was reported by Bob Proulx).  Also, try linking with
54063         -lm to detect a bug in binutils 2.16 (this problem was reported
54064         by Ralf Wildenhues).
54065
54066         2006-06-18  Jim Meyering  <jim@meyering.net>
54067
54068         Test for a bug that causes glibc's getcwd to suffer a failed assertion.
54069         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): New file and
54070         macro.
54071         * m4/getcwd.m4 (gl_FUNC_GETCWD): If we detect support for getcwd_null,
54072         also check for glibc-2.4's abort-inducing bug.
54073
54074         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Fix typo.
54075         Low-probability clean-up should be to use rmdir to get rid of
54076         the just-created directory, not unlink.
54077
54078         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make
54079         configure fail, and request a bug report to inform us about it.
54080         Add a comment that, barring reports to the contrary, in 2007 we'll
54081         assume ftruncate is universally available.
54082
54083         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
54084
54085         * m4/filemode.m4 (gl_FILEMODE): Check for strmode declaration.
54086
54087         2006-03-12  Jim Meyering  <jim@meyering.net>
54088
54089         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Add same-inode.h to the list.
54090         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Likewise.
54091         * m4/same.m4 (gl_SAME): Likewise.
54092         * m4/root-dev-ino.m4 (gl_ROOT_DEV_INO): Likewise.
54093
54094         2006-03-11  Eric Blake  <ebb9@byu.net>
54095
54096         * m4/double-slash-root.m4: New file, provides gl_DOUBLE_SLASH_ROOT.
54097         * m4/dirname.m4 (gl_DIRNAME): Use gl_DOUBLE_SLASH_ROOT.
54098         * m4/dos.m4 (FILE_SYSTEM_PREFIX_LEN): Move from here to dirname.h.
54099         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New define.
54100
54101 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
54102
54103         * lib/stdint_.h: Include <sys/types.h> after @FULL_PATH_STDINT_H@, for
54104         MacOS X 10.4.6.  Don't mention <sys/int_types.h>.  Problems
54105         reported by Mark D. Baushke, one in
54106         <http://lists.gnu.org/archive/html/bug-gnulib/2006-07/msg00015.html>.
54107
54108         Merge from coreutils.
54109
54110         * lib/.cppi-disable: Add stdint_.h.
54111         * lib/.cvsignore: Add stdint.h.
54112
54113         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
54114
54115         * lib/xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support
54116         both double and long double versions.
54117         (XSTRTOD): Renamed from xstrtod.  Use DOUBLE internally.
54118         * lib/xstrtold.c: New file.
54119         * lib/xstrtod.h (xstrtold): New decl.
54120
54121         2006-05-22  Paul Eggert  <eggert@cs.ucla.edu>
54122
54123         * lib/filemode.c (setst): Remove.
54124         (strmode): Rewrite to avoid setst.  This makes the code shorter,
54125         (arguably) clearer, and the generated code is a bit smaller on my
54126         Debian GNU/Linux stable x86 host.
54127
54128         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
54129
54130         * lib/filemode.c: Include "filemode.h" first, to test the interface.
54131         Assume that filemode.h includes sys/types.h and sys/stat.h.
54132         (HAVE_ST_DM_MODE): New macro, moved here from ls.c.
54133         (ftypelet): Reorder to put common cases first, for efficiency.
54134         Add 'P', 'w'.  Remove 'M', since it's now the caller's responsibility
54135         to do 'M'.
54136         (strmode): Renamed from mode_string, and now stores 12 bytes instead
54137         of 10, for compatibility with FreeBSD.  All callers changed.
54138         (filemodestring): Now stores 12 bytes instead of 10, and sets file
54139         types that can't be deduced solely from st_mode.  First arg is now a
54140         const pointer.
54141         * lib/filemode.h (HAVE_DECL_STRMODE): Include <string.h> for strmode.
54142         (strmode): Renamed from mode_string.
54143         (filemodestring): New decl.
54144         * lib/stat-macros.h: Don't undef S_ISDOOR, since it's never buggy.
54145         (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never
54146         needed.
54147         (S_ISPORT, S_ISWHT): New macros, if not already defined.
54148
54149         2006-04-12  Paul Eggert  <eggert@cs.ucla.edu>
54150
54151         * lib/fsusage.c: Don't include <inttypes.h> or <stdint.h>, since
54152         fsusage.h now does that.  Include fsusage.h first, to test interface.
54153         Prefer statvfs if it works, since it's blessed by POSIX.  Attempt
54154         at most one method (the old code could have generated decls that
54155         didn't conform to C89, not that this was ever exercised).
54156         * lib/fsusage.h: Include <inttypes.h> and <stdint.h> if they exist.
54157
54158         2006-03-19  Jim Meyering  <jim@meyering.net>
54159
54160         Work even in a chroot where d_ino values for entries in "/"
54161         don't match the stat.st_ino values for the same names.
54162         * lib/getcwd.c (__getcwd): When no d_ino value matches the target inode
54163         number, iterate through all entries again, using lstat instead.
54164         Reported by Kenshi Muto in http://bugs.debian.org/355810, and by
54165         Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656.
54166
54167         * lib/getcwd.c (__getcwd): Clarify a comment.
54168         Use memcpy in place of a call to strcpy.
54169
54170         2006-03-12  Jim Meyering  <jim@meyering.net>
54171
54172         * lib/fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair
54173         matches that of the current directory (which we're about to chdir ".."
54174         out of), then save the dev-ino of the parent, instead.
54175
54176         * lib/same-inode.h (SAME_INODE): New file/macro.
54177         * lib/chdir-safer.c (SAME_INODE): Remove definition.
54178         Include "same-inode.h", instead.
54179         * lib/same.c: Likewise.
54180         * lib/cycle-check.h: Include "same-inode.h".
54181         (CYCLE_CHECK_REFLECT_CHDIR_UP): Define.
54182         * lib/cycle-check.c (SAME_INODE): Remove definition.
54183         * lib/root-dev-ino.h: Include "same-inode.h".
54184
54185         2006-03-11  Eric Blake  <ebb9@byu.net>
54186
54187         * lib/same.c (same_name): s/base_name/last_component/
54188         * lib/backupfile.c (check_extension, numbered_backup): Likewise.
54189         * lib/filenamecat.c (file_name_concat): Likewise.
54190
54191         2006-03-11  Eric Blake  <ebb9@byu.net>,
54192                     Paul Eggert  <eggert@cs.ucla.edu>
54193
54194         * lib/dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4.
54195         [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a
54196         drive prefix.
54197         (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on
54198         platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE.
54199         (last_component): New method.
54200         * lib/dirname.c (dir_len): Determine when drive letters need a
54201         subsequent slash.  Preserve // when it is special.
54202         (dir_name): Don't append dot when drive letter is absolute.
54203         [TEST_DIRNAME]: Move into a full-blown gnulib test.
54204         * lib/basename.c (base_name): New semantics - malloc the result.
54205         Preserve // when it is special.  Preserve relative files that look
54206         like drive letters.
54207         (base_len): Preserve // when it is special.
54208         (last_component): New method, similar to old base_name semantics.
54209         * lib/stripslash.c (strip_trailing_slashes): Use last_component, not
54210         base_name.  Strip redundant slashes from ///.
54211
54212 2006-07-03  Jim Meyering  <jim@meyering.net>
54213
54214         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this
54215         macro is used before the first cycle_check call.
54216
54217 2006-07-03  Eric Blake  <ebb9@byu.net>
54218
54219         * modules/dirname (Depends-on): Add xstrndup.
54220
54221 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
54222
54223         * m4/stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for
54224         test cases, so that config.log is a bit easier to follow.
54225
54226 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
54227
54228         * lib/stdint_.h (intmax_t, uintmax_t): Prefer long to long long if
54229         both are 64 bits, since this seems to be the tradition, and this
54230         prevents gcc -Wformat from warning about usages with PRIuMAX.  If
54231         we ever run into a host that prefers long long to long in this
54232         case, we'll need another configure-time test.  Problem reported by
54233         Jim Meyering.
54234
54235 2006-07-02  Eric Blake  <ebb9@byu.net>
54236
54237         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify by using AC_CHECK_DECLS.
54238
54239 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
54240
54241         * modules/inttypes (Depends-on): No longer depends on stdint.
54242         * modules/stdint (Description): Say more about assumptions.
54243         Say that the fast types might differ.  Say macros are used.
54244         (Files): Remove m4/size_max.m4, m4/wchar_t.m4.  Add m4/longlong.m4.
54245         (Makefile.am): Revise list of substituted symbols to match
54246         new stdint.m4.
54247         * modules/stdint-tests (Files): Add m4/wchar_t.m4, m4/wint_t.m4.
54248         (configure.ac): Add gt_TYPE_WCHAR_T, gt_TYPE_WINT_T.
54249         * tests/test-stdint.c (verify_same_types)
54250         [! (__GNUC__ >= 2 && DO_PEDANTIC)]: Put in a decl, so that
54251         the code conforms to C99/C89.
54252         Test for WCHAR_MIN and WCHAR_MAX only if HAVE_WCHAR_T.
54253         Test for WINT_MIN and WINT_MAX only if HAVE_WINT_T.
54254
54255 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
54256
54257         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Backport from Autoconf 2.60,
54258         but fix a bug, by requiring at least 64 bits.
54259         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
54260         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Now just call
54261         AC_TYPE_LONG_LONG_INT.  This macro is obsolete and will go soon.
54262         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG) Likewise.
54263
54264         * m4/stdint.m4 (gl_STDINT_H): Rewrite to accommodate stdint_.h
54265         changes.  Make 2.59 a prerequisite.  Check and substitute for
54266         HAVE_LONG_LONG_INT.  Rely on Autoconf to check for stdint.h and
54267         inttypes.h.  Do not use special include files; just use the
54268         defaults.  Check for sys/inttypes.h and sys/bitypes.h in the usual
54269         way now.  Remove no-longer-needed tests for HAVE_LONG_64BIT,
54270         HAVE_LONG_LONG_64BIT, int8_t, int16_t, int32_t, int64_t, uint8_t,
54271         uint16_t, uint32_t uint64_t, int_least8_t, int_least16_t,
54272         int_least32_t, int_least64_t, uint_least8_t, uint_least16_t,
54273         uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t,
54274         int_fast32_t, int_fast64_t, uint_fast8_t uint_fast16_t,
54275         uint_fast32_t, uint_fast64_t, intptr_t, uintptr_t, intmax_t,
54276         uintmax_t, INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX,
54277         UINT16_MAX, INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN,
54278         INT64_MAX, UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX,
54279         UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX,
54280         UINT_LEAST16_MAX, INT_LEAST32_MIN, INT_LEAST32_MAX,
54281         UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX,
54282         UINT_LEAST64_MAX, INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX,
54283         INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX, INT_FAST32_MIN,
54284         INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX,
54285         UINT_FAST64_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN,
54286         INTMAX_MAX, UINTMAX_MAX, PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN,
54287         SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN,
54288         WINT_MAX.  Check for C99 conformance more strictly, by detecting
54289         bugs in glibc 2.4, Solaris 10, and OpenBSD 3.9.  On the other hand do
54290         not check for things that C99 does not require, e.g., int8_t.  If
54291         a test isn't needed unless <stdint.h> isn't working, and is
54292         unlikely to be needed for any other reason, then don't do it
54293         unless <stdint.h> isn't working.  Do not check for ptrdiff_t or
54294         size_t, since we assume C89 freestanding at least.  Do not check
54295         for sig_atomic_t, wchar_t, or wint_t, since the code now does
54296         the right thing even if the types are not defined.  Instead use:
54297         (gl_STDINT_TYPE_PROPERTIES): New macro.
54298         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H): Remove.  Don't bother
54299         testing whether <sys/types.h> clashes, as Autoconf does this for
54300         us now.  All uses removed.
54301         (gl_STDINT_CHECK_TYPES, gl_STDINT_MISSING_BOUND):
54302         (gl_STDINT_MISSING_BOUNDS, gl_STDINT_MISSING_BOUNDS2):
54303         (gl_CHECK_TYPE_SAME):
54304         Remove; no longer needed.
54305         (gl_STDINT_BITSIZEOF): Don't bother to check whether the type
54306         exists, since we'll return 0 anyway in that case.
54307         (gl_INTEGER_TYPE_SUFFIX, gl_STDINT_INCLUDES): New macros.
54308
54309 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
54310
54311         * lib/stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid
54312         possible collision with system files.
54313         (<stdio.h>, <time.h>, <wchar.h>) [defined __cplusplus && ! defined
54314         __STDC_CONSTANT_MACROS)]: Do not include, since we don't need
54315         WCHAR_MIN and WCHAR_MAX in this case.
54316         (<stddef.h>): Do not include; no longer needed.
54317         (<sys/types.h>): Include if @HAVE_SYS_TYPES_H@, not if
54318         (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)).
54319         (<sys/inttypes.h>): Include if @HAVE_SYS_INTTYPES_H@ &&
54320         !@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__)
54321         && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)).
54322         (__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined
54323         __c99]: Define, to work around IRIX <stdint.h> incompatibility.
54324         (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ &&
54325         !defined(__c99))]: Include in this case too, since it's harmless
54326         now.
54327         (<inttypes.h>) [@HAVE_INTTYPES_H@]: Include, since it's no longer
54328         dangerous to do so.
54329         (@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) &&
54330         @HAVE_INTTYPES_H@]: Do not include, since we now include <inttypes.h>.
54331         (_STDINT_MIN, _STDINT_MAX): New macros.
54332         (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t):
54333         (uint64_t, int_least8_t, uint_least8_t, int_least16_t):
54334         (uint_least16_t, int_least32_t, uint_least32_t, int_least64_t):
54335         (uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t):
54336         (uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t):
54337         (uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now
54338         macros, not typedefs; this simplifies things quite a bit.
54339         Use long int for all types narrower than int64_t.
54340         (intmax_t, uintmax_t, INTMAX_C, UINTMAX_C):
54341         Define in terms of long long int or int64_t or long int,
54342         not int64_t or int32_t.  This saves some compile-time testing.
54343         (INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX):
54344         (INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX):
54345         (UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX):
54346         (INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX):
54347         (INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX):
54348         (INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN):
54349         (INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX):
54350         (UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
54351         (INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN):
54352         (INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX):
54353         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
54354         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
54355         undef any previous version and define our own version, for
54356         simplicity and consistency with the new macros for types.
54357         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
54358         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
54359         Simplify definitions by using _STDINT_MIN and _STDINT_MAX
54360         where appropriate.  Rely on new symbols @PTRDIFF_T_SUFFIX@,
54361         @SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@,
54362         @WINT_T_SUFFIX@ to keep things simple here.
54363         (UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C):
54364         Simplify by assuming typical 8/16/32/64 host, since we're
54365         already doing that elsewhere anyway.
54366         Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@,
54367         and assume long long int is 64 bits if available.  This
54368         speeds up 'configure'.
54369
54370 2006-07-01  Eric Blake  <ebb9@byu.net>
54371
54372         * m4/stdarg.m4 (gl_STDARG_H): Use proper AH_VERBATIM.
54373         Reported by Andreas Buening.
54374
54375 2006-07-01  Eric Blake  <ebb9@byu.net>
54376
54377         * m4/stdarg.m4 (gl_STDARG_H): Properly parenthesize gl_va_copy.
54378
54379 2006-06-30  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
54380
54381         * lib/getaddrinfo.c: fixed typo
54382
54383 2006-06-29  Jim Meyering  <jim@meyering.net>
54384
54385         * modules/strftime (Maintainer): Add my name, since with the
54386         FPRINTFTIME changes strftime.c has forked from glibc.
54387
54388 2006-06-29  Eric Blake  <ebb9@byu.net>
54389
54390         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Use AC_C_INLINE.
54391
54392 2006-06-29  Eric Blake  <ebb9@byu.net>
54393
54394         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): New file.
54395
54396 2006-06-29  Eric Blake  <ebb9@byu.net>
54397
54398         * lib/stat_.h: New file.
54399
54400 2006-06-29  Eric Blake  <ebb9@byu.net>
54401
54402         * lib/stat_.h (rpl_mkdir): Declare inline, to avoid warnings about
54403         unused static function.
54404
54405 2006-06-29  Eric Blake  <ebb9@byu.net>
54406
54407         * doc/functions.texi (Function Portability): Document missing lstat
54408         on mingw.
54409
54410 2006-06-29  Eric Blake  <ebb9@byu.net>
54411
54412         * MODULES.html.sh: Add sys_stat.
54413         * modules/sys_stat: New module.
54414         * modules/mkstemp (Depends-on): Add sys_stat.
54415
54416 2006-06-29  Derek R. Price  <derek@ximbiot.com>
54417
54418         * m4/strftime.m4: Don't call AC_FUNC_STRFTIME.
54419
54420 2006-06-29  Derek R. Price  <derek@ximbiot.com>
54421
54422         * m4/c-bs-a.m4: Removed.
54423
54424 2006-06-29  Derek R. Price  <derek@ximbiot.com>
54425
54426         * lib/strftime.c: Assume strftime() exists.
54427
54428 2006-06-29  Derek Price  <derek@ximbiot.com>
54429
54430         * modules/c-bs-a: Removed - \a is C89.
54431         * MODULES.html.sh: Remove c-bs-a.
54432
54433 2006-06-29  Bruno Haible  <bruno@clisp.org>
54434
54435         * modules/wcwidth (License): Change to LGPL.
54436
54437 2006-06-28  Simon Josefsson  <jas@extundo.com>
54438
54439         * tests/test-getaddrinfo.c: Test getnameinfo too.  Call WSAStartup
54440         on _WIN32.
54441
54442         * modules/getaddrinfo (Depends-on): Add inet_ntop, needed by
54443         getnameinfo.
54444
54445 2006-06-28  Simon Josefsson  <jas@extundo.com>
54446
54447         * m4/getaddrinfo.m4: Look for getnameinfo prototypes too.
54448
54449 2006-06-28  Simon Josefsson  <jas@extundo.com>
54450
54451         * lib/getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the
54452         functions there.  It will succeed on Windows XP, but on Windows
54453         2000 and (presumably) earlier, it will fail, and use the internal
54454         re-implementation.
54455         (use_win32_p): New function.
54456         (getaddrinfo): Use strtoul on servname, to support numeric ports.
54457         Support AI_NUMERICSERV to disable getservbyname.
54458         (getnameinfo): New function, only supports
54459         NI_NUMERICHOST|NI_NUMERICSERV for now.
54460
54461         * lib/getaddrinfo.h: Test and check for AI_* flags separately, MinGW
54462         only have some of them.  Add AI_NUMERICSERV.  Add prototype for
54463         getnameinfo.
54464
54465 2006-06-28  Eric Blake  <ebb9@byu.net>
54466
54467         * modules/wcwidth: New file.
54468         * modules/mbchar (Depends-on): Add wcwidth.
54469         * modules/mbswidth (Depends-on): Add wcwidth.
54470         * MODULES.html.sh: Add wcwidth.
54471
54472 2006-06-28  Eric Blake  <ebb9@byu.net>
54473
54474         * m4/mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here...
54475         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file.
54476
54477 2006-06-28  Eric Blake  <ebb9@byu.net>
54478
54479         * lib/xvasprintf.h: Fix comments.
54480
54481 2006-06-28  Eric Blake  <ebb9@byu.net>
54482
54483         * lib/mbchar.h (wcwidth): Include wcwidth.h.
54484         * lib/mbswidth.c (wcwidth): Move from here...
54485         * lib/wcwidth.h: ...to this new file.
54486
54487 2006-06-28  Derek R. Price  <derek@ximbiot.com>
54488
54489         * m4/savedir.m4: Remove AC_FUNC_CLOSEDIR_VOID requirement.
54490
54491         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't require AC_C_CONST, since
54492         it's obsolete.
54493         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Likewise.
54494
54495 2006-06-28  Derek R. Price  <derek@ximbiot.com>
54496
54497         * lib/savedir.c (CLOSEDIR): Remove.  All uses changed to closedir.
54498         Autoconf 2.60 says this stuff was obsolete.
54499
54500 2006-06-28  Bruno Haible  <bruno@clisp.org>
54501
54502         * modules/wcwidth (Files): Add m4/wchar_t.m4.
54503
54504 2006-06-28  Bruno Haible  <bruno@clisp.org>
54505
54506         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Also require AC_C_INLINE and
54507         gt_TYPE_WCHAR_T.
54508
54509 2006-06-28  Bruno Haible  <bruno@clisp.org>
54510
54511         * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
54512         declaration for wcwidth.
54513         * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctypes.h>.
54514
54515 2006-06-28  Bruno Haible  <bruno@clisp.org>
54516
54517         * lib/mkdtemp.c [MINGW]: Include <io.h>.
54518         (mkdir): Define using _mkdir.
54519
54520 2006-06-28  Bruno Haible  <bruno@clisp.org>
54521
54522         * lib/getaddrinfo.h: Fix POSIX URL.
54523         * lib/getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of
54524         _WIN32.
54525         (use_win32_p): Make static.
54526         (getaddrinfo): Reject service name if it is empty or does not consist
54527         solely of decimal digits, or if its value is > 65535.
54528         (getnameinfo): Remove useless casts.
54529
54530 2006-06-27  Simon Josefsson  <jas@extundo.com>
54531
54532         * modules/sys_select: New file, suggested by Bruno Haible, Paul
54533         Eggert and Martin Lambers.
54534
54535 2006-06-27  Simon Josefsson  <jas@extundo.com>
54536
54537         * m4/sys_select_h.m4: New file, suggested by Bruno Haible, Paul
54538         Eggert and Martin Lambers.
54539
54540 2006-06-27  Bruno Haible  <bruno@clisp.org>
54541
54542         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): For nonexistent types, set the
54543         result to 0, not to empty.
54544         Reported by Martin Neitzel <neitzel@sco.gaertner.de>.
54545
54546 2006-06-27  Bruno Haible  <bruno@clisp.org>
54547
54548         * lib/stdint_.h (intmax_t, uintmax_t): Undefine before typedef.
54549
54550 2006-06-26  Simon Josefsson  <jas@extundo.com>
54551
54552         * m4/inet_ntop.m4: Don't check for sys/types.h, we assume it is
54553         present.
54554
54555 2006-06-26  Paul Eggert  <eggert@cs.ucla.edu>
54556
54557         * lib/base64.c (B64): Use _ as the formal parameter, not x, to avoid
54558         bug in IBM C V6 for AIX.  Problem reported by Larry Jones in
54559         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00181.html>.
54560
54561 2006-06-26  Mark D. Baushke  <mdb@gnu.org>
54562
54563         * m4/stdint.m4 (gl_STDINT_H): Treat BSD/OS like OpenBSD.
54564
54565 2006-06-26  Bruno Haible  <bruno@clisp.org>
54566
54567         * modules/stdint (Makefile.am): Also substitute HAVE_WCHAR_H.
54568
54569 2006-06-26  Bruno Haible  <bruno@clisp.org>
54570
54571         * m4/stdint.m4 (gl_STDINT_H): Test also for <wchar.h>.
54572
54573 2006-06-26  Bruno Haible  <bruno@clisp.org>
54574
54575         * m4/stdint.m4 (gl_STDINT_H): Don't include <stdint.h> when using the
54576         SGI C compiler in pre-C99 mode.
54577         Suggested by Mark D. Baushke and Larry Jones.
54578
54579 2006-06-26  Bruno Haible  <bruno@clisp.org>
54580
54581         * lib/stdint_.h: Include <wchar.h> if necessary for WCHAR_MIN or
54582         WCHAR_MAX.
54583         Reported by Mark D. Baushke and Larry Jones.
54584
54585 2006-06-26  Bruno Haible  <bruno@clisp.org>
54586
54587         * lib/stdint_.h: Don't include <stdint.h> when using the SGI C compiler
54588         in pre-C99 mode.
54589         Suggested by Mark D. Baushke and Larry Jones.
54590
54591 2006-06-23  Simon Josefsson  <jas@extundo.com>
54592             Bruno Haible  <bruno@clisp.org>
54593
54594         * gnulib-tool (func_emit_lib_Makefile_am): Define MOSTLYCLEANDIRS.
54595         Emit mostlyclean-local rule.
54596         (func_emit_tests_Makefile_am): Likewise.
54597         * modules/sys_socket (Makefile.am): Use MOSTLYCLEANDIRS.
54598
54599 2006-06-23  Mark D. Baushke  <mdb@gnu.org>
54600
54601         * lib/stdint_.h: Treat BSD/OS like OpenBSD.
54602
54603 2006-06-23  Bruno Haible  <bruno@clisp.org>
54604
54605         * tests/test-stdint.c: Update to match ISO C 99 Technical
54606         Corrigendum 1.
54607
54608 2006-06-23  Bruno Haible  <bruno@clisp.org>
54609
54610         * m4/stdint.m4 (gl_STDINT_H): Treat IRIX like OpenBSD.
54611
54612 2006-06-23  Bruno Haible  <bruno@clisp.org>
54613
54614         * lib/stdint_.h: Treat IRIX like OpenBSD.
54615
54616 2006-06-23  Bruno Haible  <bruno@clisp.org>
54617
54618         * lib/stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to
54619         ISO C 99 Technical Corrigendum 1.
54620
54621 2006-06-22  Simon Josefsson  <jas@extundo.com>
54622
54623         * m4/sockpfaf.m4: Include winsock2.h too, to make it work under
54624         MinGW.
54625
54626 2006-06-22  Paul Eggert  <eggert@cs.ucla.edu>
54627
54628         * lib/glob.c (collated_compare): Remove 'const' uses that weren't
54629         needed.  Some compiler complained about some of them.  Problem reported
54630         by Larry Jones in
54631         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00172.html>.
54632
54633 2006-06-21  Simon Josefsson  <jas@extundo.com>
54634
54635         * tests/test-getaddrinfo.c: New file.
54636
54637         * modules/getaddrinfo-tests: New file.
54638
54639         * MODULES.html.sh: Add inet_pton.
54640
54641         * modules/inet_pton: New file.
54642
54643 2006-06-21  Simon Josefsson  <jas@extundo.com>
54644
54645         * m4/getaddrinfo.m4: Don't define WINVER.  Look for gethostbyname in
54646         -lws2_32 too.  Fixes getaddrinfo on Windows 2000, with the price
54647         of using the (limited) gnulib implementation on Windows XP.
54648
54649         * m4/inet_pton.m4: New file.
54650
54651 2006-06-21  Simon Josefsson  <jas@extundo.com>
54652
54653         * lib/getaddrinfo.c (getaddrinfo): Set ai_family in the return
54654         variable.
54655
54656         * lib/socket_.h: Don't define WINVER.
54657
54658         * lib/inet_pton.h, inet_pton.c: New file, taken from glibc but
54659         slightly modified to work in gnulib.
54660
54661 2006-06-21  Simon Josefsson  <jas@extundo.com>
54662
54663         * doc/gnulib.texi (Windows sockets): Add.
54664
54665 2006-06-21  Paul Eggert  <eggert@cs.ucla.edu>
54666
54667         * lib/read-file.c (fread_file): Start with buffer allocation of
54668         0 bytes rather than 1 byte; this simplifies the code.
54669         Don't invoke feof; it's not needed.  Refactor to avoid duplicate
54670         code to free buffer and save/restore errno.
54671         (internal_read_file): Remove unused local.
54672
54673 2006-06-20  Paul Eggert  <eggert@cs.ucla.edu>
54674
54675         * lib/openat.c (openat): Use ?:, not if, to work around GCC bug 4210
54676         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210>.
54677         Problem reported by Denis Excoffier in
54678         <http://lists.gnu.org/archive/html/bug-tar/2006-06/msg00023.html>.
54679
54680 2006-06-19  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
54681
54682         * modules/sys_socket, modules/socklen: Include sys/types since
54683         FreeBSD 4.x's sys/socket.h needs it.
54684
54685 2006-06-19  Simon Josefsson  <jas@extundo.com>
54686
54687         * lib/inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it.
54688
54689 2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
54690
54691         * lib/alloca_.h (alloca) [defined alloca]: Don't define or declare.
54692
54693 2006-06-19  Bruno Haible  <bruno@clisp.org>
54694
54695         * m4/stdint.m4 (gl_STDINT_H): Enclose the values of FULL_PATH_STDINT_H
54696         and FULL_PATH_INTTYPES_H in angle brackets.
54697         Reported by Mark D. Baushke <mdb@gnu.org>.
54698
54699 2006-06-17  Eric Blake  <ebb9@byu.net>
54700
54701         * m4/rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares
54702         errno.
54703
54704 2006-06-17  Bruno Haible  <bruno@clisp.org>
54705
54706         * m4/stdint.m4 (gl_STDINT_H) [FreeBSD >= 5]: Don't include
54707         <sys/inttypes.h>.
54708
54709 2006-06-17  Bruno Haible  <bruno@clisp.org>
54710
54711         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test
54712         whether errno is declared. Assume <errno.h> declares errno.
54713
54714 2006-06-17  Bruno Haible  <bruno@clisp.org>
54715
54716         * lib/stdint_.h [FreeBSD >= 5]: Don't include <sys/inttypes.h>.
54717
54718 2006-06-17  Bruno Haible  <bruno@clisp.org>
54719
54720         * lib/stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a
54721         problem on Solaris 2.5.1.
54722
54723 2006-06-16  Eric Blake  <ebb9@byu.net>
54724
54725         * lib/unsetenv.c [!defined errno]: Assume errno.h declares errno.
54726         * lib/unicodeio.c [!defined errno]: Likewise.
54727         * lib/strtol.c [!defined errno]: Likewise.
54728         * lib/strtod.c [!defined errno]: Likewise.
54729
54730 2006-06-15  Eric Blake  <ebb9@byu.net>
54731
54732         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror.
54733
54734 2006-06-15  Eric Blake  <ebb9@byu.net>
54735
54736         * config/srclist.txt (ssize_t.m4): Lose sync.
54737
54738 2006-06-15  Bruno Haible  <bruno@clisp.org>
54739
54740         * modules/stdint (Files): Include m4/full-header-path.m4,
54741         m4/size_max.m4, m4/wchar_t.m4.
54742         (Makefile.am): Many more substitutions.
54743         * modules/stdint-tests: New file.
54744         * tests/test-stdint.c: New file.
54745
54746 2006-06-15  Bruno Haible  <bruno@clisp.org>
54747
54748         * m4/stdint.m4 (gl_STDINT_H): Rewritten to produce a complete stdint.h.
54749         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H, gl_STDINT_CHECK_TYPES,
54750         gl_STDINT_MISSING_BOUND, gl_STDINT_MISSING_BOUNDS,
54751         gl_STDINT_MISSING_BOUNDS2, gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED,
54752         gl_CHECK_TYPE_SAME): New macros.
54753
54754 2006-06-15  Bruno Haible  <bruno@clisp.org>
54755
54756         * m4/size_max.m4 (gl_SIZE_MAX): Make it work also when cross-compiling.
54757
54758 2006-06-15  Bruno Haible  <bruno@clisp.org>
54759
54760         * lib/stdint_.h: Rewritten to be fully auto-configured.
54761         Fixes bug on HP-UX/IA64.
54762
54763 2006-06-11  Paul Eggert  <eggert@cs.ucla.edu>
54764
54765         * lib/getdate.y (__attribute__): Don't define if already defined.
54766         Problem reported by Larry Jones.
54767         * lib/utimens.c (__attribute__): Likewise.
54768
54769 2006-06-04  Paul Eggert  <eggert@cs.ucla.edu>
54770
54771         * lib/regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun
54772         reported by Andreas Schwab.
54773
54774 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54775             Bruno Haible  <bruno@clisp.org>
54776
54777         * m4/strndup.m4 (gl_FUNC_STRNDUP): Replace the AC_REPLACE_FUNCS with a
54778         check for the declaration of strnlen and a run test that exposes the
54779         AIX 5.1 strnlen bug.  In the failure case, #define strndup to
54780         rpl_strndup.
54781
54782 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54783             Bruno Haible  <bruno@clisp.org>
54784
54785         * lib/strndup.c (strndup) [!_LIBC]: Don't undefine macro definition.
54786
54787 2006-05-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54788
54789         * m4/c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a
54790         compile test, for Tru64 4.0D.
54791
54792 2006-05-28  Karl Berry  <karl@gnu.org>
54793
54794         * config/srclist.txt (printf-args.c): lose sync.
54795
54796 2006-05-26  Martin Lambers  <marlam@marlam.de>
54797
54798         * lib/getpass.c: Updates the test for the native W32 API, and adds
54799         missing includes, thus fixing compilation warnings.
54800
54801 2006-05-25  Sergey Poznyakoff  <gray@gnu.org.ua>
54802
54803         * lib/exclude.c (exclude_fnmatch): New function.
54804         (excluded_file_name): Call exclude_fnmatch.
54805         * lib/exclude.h (excluded_file_name): New prototype
54806
54807 2006-05-25  Paul Eggert  <eggert@cs.ucla.edu>
54808
54809         * lib/tempname.c (small_open, large_open): New macros.
54810         (__open, __open64) [!_LIBC]: Remove.
54811         (__gen_tempname): Use small_open and large_open instead of __open
54812         and __open64.  This fixes a portability bug on HP-UX 11.11i
54813         reported by Simon Wing-Tang in
54814         <http://lists.gnu.org/archive/html/bug-coreutils/2006-05/msg00114.html>.
54815
54816 2006-05-24  Bruno Haible  <bruno@clisp.org>
54817
54818         * lib/printf-args.c (printf_fetchargs): Turn NULL pointers for
54819         TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement.
54820         Reported by Thorsten Maerz <torte@netztorte.de> via
54821         Aaron Stone <aaron@serendipity.cx>.
54822
54823 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
54824
54825         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Rename cache variables to use
54826         gl_ rather than jm_.  Link, don't run, so that cross-compiles are
54827         allowed.  Check that resulting type is arithmetic.  Move AC_REQUIRE
54828         and AC_CHECK_HEADERS_ONCE outside of AC_CACHE_CHECK, since they're
54829         not really conditional on the cache.
54830         (gl_PREREQ_NANOSLEEP): Check for sys/select.h.
54831
54832 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
54833
54834         * lib/nanosleep.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>.
54835         Use the usual Autoconf way to include <time.h> and/or sys/time.h.
54836         (my_usleep): Don't mishandle maximum value.
54837
54838 2006-05-19  Jim Meyering  <jim@meyering.net>
54839
54840         * lib/getugroups.c: Correct an outdated comment.  From Bruno Haible.
54841
54842 2006-05-17  Bruno Haible  <bruno@clisp.org>
54843
54844         Cygwin portability.
54845         * lib/classpath.c (PATH_SEPARATOR) [CYGWIN]: Define as ':'.
54846
54847 2006-05-17  Bruno Haible  <bruno@clisp.org>
54848
54849         * lib/stdint_.h: Fix recognition of Cygwin.
54850
54851 2006-05-15  Bruno Haible  <bruno@clisp.org>
54852
54853         * build-aux/config.rpath: Improve support for Sun C 5.9 on Linux, based
54854         on libtool patch by Ralf Wildenhues.
54855
54856 2006-05-14  Paul Eggert  <eggert@cs.ucla.edu>
54857
54858         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Fix overly-picky
54859         test for C99 conformance; (bool) 0.5 is an integer constant
54860         expression, but (bool) -0.5 is not.  Problem reported by Fedor
54861         Sergeev in <http://forum.sun.com/jive/thread.jspa?threadID=96202>.
54862
54863 2006-05-11  Simon Josefsson  <jas@extundo.com>
54864
54865         * m4/xvasprintf.m4: Fix obvious typo.
54866
54867 2006-05-11  Jim Meyering  <jim@meyering.net>
54868
54869         * lib/sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/.  From
54870         James Lemley.
54871
54872 2006-05-10  Simon Josefsson  <jas@extundo.com>
54873
54874         * lib/md4.c: Typo fix, update copyright years.
54875         (K1, K2): Don't use L because it turn computations into 64-bit on
54876         64-bit platforms.
54877
54878 2006-05-10  Paul Eggert  <eggert@cs.ucla.edu>
54879
54880         * lib/crc.c (crc32_update): Remove unnecessary L suffix.
54881         * lib/md4.c (rol): Cast right-shift arg to uint32_t to prevent
54882         unwanted sign propagation, e.g., on hosts with 64-bit int.
54883         There still are some problems with reeelly weird theoretical hosts
54884         (e.g., 33-bit int) but it's not worth worrying about now.
54885         * lib/sha1.c (rol): Likewise.
54886         (K1, K2, K3, K4): Remove unnecessary L suffix.
54887
54888 2006-05-10  Bruno Haible  <bruno@clisp.org>
54889
54890         * lib/des.c: Cast to avoid warnings.
54891
54892 2006-05-09  Bruno Haible  <bruno@clisp.org>
54893
54894         * modules/xvasprintf (Files): Add m4/xvasprintf.m4.
54895         (Depends-on): Depend also on xsize, stdarg.
54896         (configure.ac): Add gl_XVASPRINTF.
54897
54898 2006-05-09  Bruno Haible  <bruno@clisp.org>
54899
54900         * m4/xvasprintf.m4: New file.
54901
54902 2006-05-09  Bruno Haible  <bruno@clisp.org>
54903
54904         * lib/xvasprintf.c: Include limits.h, string.h, xsize.h.
54905         (EOVERFLOW): Define fallback value.
54906         (xstrcat): New function.
54907         (xvasprintf): Recognize the special case of a string concatenation.
54908
54909 2006-05-08  Eric Blake  <ebb9@byu.net>
54910
54911         * gnulib-tool (func_version): Base copyright year on CVS date.
54912         (func_emit_copyright_notice): New function.
54913         (func_emit_lib_Makefile_am): Use it.
54914         (func_emit_tests_Makefile_am): Likewise.
54915         (func_import): Likewise.
54916
54917 2006-05-08  Bruno Haible  <bruno@clisp.org>
54918
54919         * modules/stdarg: New file.
54920         * MODULES.html.sh (func_all_modules): Add section for <stdarg.h>.
54921
54922 2006-05-08  Bruno Haible  <bruno@clisp.org>
54923
54924         * m4/stdarg.m4: New file, from GNU gettext.
54925
54926 2006-05-08  Bruno Haible  <bruno@clisp.org>
54927
54928         * config/srclist.txt (build-aux/config.rpath): different from latest
54929         release.
54930
54931 2006-05-08  Bruno Haible  <bruno@clisp.org>
54932
54933         * build-aux/config.rpath: Add support for Sun C 5.9 on Linux.
54934
54935 2006-05-05  Jim Meyering  <jim@meyering.net>
54936
54937         * m4/warning.m4: New file, derived from bison's file by the same name.
54938
54939 2006-05-03  Bruno Haible  <bruno@clisp.org>
54940
54941         * lib/stdint_.h: Shorter URL.
54942         * lib/inttypes.h: Likewise.
54943
54944 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
54945
54946         * modules/inttypes (Maintainer): Change from Derek Price to 'all'.
54947
54948 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
54949
54950         * lib/verify.h: Document the internals better.  Most of this change
54951         was written by Bruno Haible.
54952
54953 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
54954
54955         * doc/verify.texi: New file, partly based on a proposal by
54956         Bruno Haible.
54957
54958 2006-05-02  Bruno Haible  <bruno@clisp.org>
54959
54960         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Move the include_next
54961         test from here...
54962         * m4/_inttypes_h.m4 (gl_INTTYPES_H): ... to here.
54963
54964 2006-04-29  Bruno Haible  <bruno@clisp.org>
54965
54966         * lib/gcd.c: Use WORD_T and GCD instead of unsigned long and gcd.
54967         Suggested by Oskar Liljeblad <oskar@osk.mine.nu>.
54968
54969 2006-04-29  Bruno Haible  <bruno@clisp.org>
54970
54971         * gnulib-tool: Make --update option actually work.
54972
54973 2006-04-29  Bruno Haible  <bruno@clisp.org>
54974
54975         * doc/gcd.texi: New file.
54976         * doc/gnulib.texi: Include it.
54977
54978 2006-04-25  Paul Eggert  <eggert@cs.ucla.edu>
54979
54980         * lib/getdate.y (get_date): When adding relative date, start with the
54981         initial time, not with the result of the first mktime call.
54982
54983 2006-04-25  Bruno Haible  <bruno@clisp.org>
54984
54985         * gnulib-tool (func_import): Output the include directives in three
54986         blocks, sorted separately.
54987         Reported by Ben Pfaff <blp@cs.stanford.edu>.
54988
54989 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
54990
54991         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use prototype
54992         to define main with arguments, for C++.  Reported by Eric Blake.
54993         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
54994         Prefer 'int main ()' to 'int main (void)', for C++.
54995         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
54996         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Specify a return type
54997         for 'main', for C99 and C++.
54998
54999 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
55000
55001         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit.
55002         Don't assume that exit status -1 is valid.
55003         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
55004         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
55005         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
55006         * m4/readdir.m4 (GL_FUNC_READDIR): Include <stdlib.h>.
55007         * m4/rename.m4 (vb_FUNC_RENAME): Likewise.
55008         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE,
55009         not AC_TRY_RUN.  Use return, not exit.  Don't assume that
55010         functions can be used without declaring them, or that you can
55011         exit with status -1.
55012         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
55013
55014 2006-04-24  Karl Berry  <karl@gnu.org>
55015
55016         * config/srclist.txt (longdouble.m4): sync lost.
55017
55018 2006-04-24  Eric Blake  <ebb9@byu.net>
55019
55020         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Avoid unused variable warning.
55021
55022 2006-04-24  Bruno Haible  <bruno@clisp.org>
55023
55024         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, reject also the
55025         poll() implementation in AIX.
55026         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
55027
55028 2006-04-24  Bruno Haible  <bruno@clisp.org>
55029
55030         * m4/poll.m4 (gl_FUNC_POLL): Rearrange code, so that POLL_H gets
55031         assigned exactly once.
55032
55033 2006-04-23  Claudio Fontana  <claudio@gnu.org>
55034             Bruno Haible  <bruno@clisp.org>
55035
55036         * modules/gettext (Makefile.am): Add a -I flag for <libintl.h>.
55037         * gnulib-tool (func_emit_lib_Makefile_am): Emit empty default value
55038         for AM_CPPFLAGS.
55039
55040 2006-04-23  Bruno Haible  <bruno@clisp.org>
55041
55042         * modules/copy-file: Depend on unistd.
55043         * modules/execute: Likewise.
55044         * modules/fatal-signal: Likewise.
55045         * modules/findprog: Likewise.
55046         * modules/mkdtemp : Likewise.
55047         * modules/pipe: Likewise.
55048         * modules/wait-process: Likewise.
55049
55050 2006-04-23  Bruno Haible  <bruno@clisp.org>
55051
55052         * lib/fwriteerror.c (fwriteerror): Call fclose also when an error
55053         condition was already detected.
55054         Reported by Ben Pfaff <blp@cs.stanford.edu>.
55055
55056 2006-04-23  Bruno Haible  <bruno@clisp.org>
55057
55058         * lib/copy-file.c: Include <unistd.h> unconditionally.
55059         * lib/execute.c: Likewise.
55060         * lib/fatal-signal.c: Likewise.
55061         * lib/findprog.c: Likewise.
55062         * lib/mkdtemp.c: Likewise.
55063         * lib/pipe.h: Likewise.
55064         * lib/pipe.c: Likewise.
55065         * lib/wait-process.h: Likewise.
55066
55067 2006-04-23  Bruno Haible  <bruno@clisp.org>
55068
55069         * gnulib-tool (func_usage): Fix --import description. Document
55070         --update.
55071         (func_import): Create temporary file in a temporary directory, if
55072         --dry-run is specified. Silence errors from 'grep' when there are no
55073         m4 files in $m4dir.
55074         (func_create_testdir): Silence errors from 'grep' when there are no
55075         m4 files in $m4dir.
55076         Reported by Karl Berry <karl@freefriends.org>.
55077
55078 2006-04-20  Bruno Haible  <bruno@clisp.org>
55079
55080         * m4/argp.m4 (gl_ARGP): Don't call AC_CHECK_DECLS_ONCE with more than
55081         one argument, so that the code will be portable to Autoconf 2.60.
55082         * m4/getlogin_r.m4 (gl_PREREQ_GETLOGIN_R): Likewise.
55083         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
55084         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Likewise.
55085
55086 2006-04-19  Derek Price  <derek@ximbiot.com>
55087             Eric Blake  <ebb9@byu.net>
55088
55089         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Use </full/path.h>
55090         rather than "/full/path.h".  Update comment to match.  Shorten &
55091         generalize m4_translit call via AS_TR_CPP.
55092
55093 2006-04-19  Derek Price  <derek@ximbiot.com>
55094             Eric Blake  <ebb9@byu.net>
55095
55096         * lib/inttypes.h: Correct grammar in comment.
55097
55098 2006-04-18  Derek Price  <derek@ximbiot.com>
55099             Paul Eggert  <eggert@cs.ucla.edu>
55100
55101         * modules/inttypes: New file.
55102         * modules/strtoimax, modules/strtoumax: Depend on inttypes.
55103
55104 2006-04-18  Derek Price  <derek@ximbiot.com>
55105             Paul Eggert  <eggert@cs.ucla.edu>
55106
55107         * m4/_inttypes_h.m4, m4/full-header-path.m4, m4/include_next.m4:
55108         New files.
55109
55110 2006-04-18  Derek Price  <derek@ximbiot.com>
55111             Paul Eggert  <eggert@cs.ucla.edu>
55112
55113         * lib/inttypes.h: New file.
55114         * lib/strtoimax.c: Assume <inttypes.h>.
55115
55116 2006-04-15  Paul Eggert  <eggert@cs.ucla.edu>
55117
55118         * lib/utimens.c (futimens): glibc futimesat messes up if /proc
55119         isn't mounted.  Problem reported by Kir Kolyshkin.
55120
55121 2006-04-13  Paul Eggert  <eggert@cs.ucla.edu>
55122
55123         * lib/regcomp.c (init_dfa): Don't use wchar_t or wctype_t if
55124         RE_ENABLE_I18N is not defined.  Problem reported by Mark D. Baushke via
55125         Derek R. Price.
55126         * lib/regex.h (RE_DUP_MAX): Update comment to match current
55127         implementation.
55128
55129 2006-04-12  Eric Blake  <ebb9@byu.net>
55130
55131         * modules/time_r (Makefile.am): Remove lib_SOURCES line, as this
55132         is now done automatically by the corresponding Autoconf macro.
55133
55134 2006-04-11  Paul Eggert  <eggert@cs.ucla.edu>
55135
55136         * m4/time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and
55137         time_r.h.
55138
55139 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
55140
55141         Merge regex changes from libc, removing some of our
55142         POSIX-conformance changes that were rejected and redoing them in a
55143         less-intrusive way.
55144
55145         * lib/regcomp.c (re_compile_internal, init_dfa):
55146         Length arg is now size_t, not Idx.  All uses changed.
55147         (peek_token): Forward decl now says internal_function.
55148         (__re_error_msgid, __re_error_msgid_idx):
55149         Now static rather than extern with attribute_hidden.
55150         (re_compile_pattern) [!defined _LIBC]: Use K&R-style defn.
55151         For some reason libc prefers K&R style defns for external functions.
55152         (regerror) [!defined _LIBC]: Likewise.
55153         (re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp):
55154         (seek_collating_symbol_entry, lookup_collation_sequence_value):
55155         (build_range_exp, build_collating_symbol):
55156         Use K&R-style defn.
55157         (re_compile_fastmap): Use '\0' to memset, not 0.
55158         (utf8_sb_map): Make the calculations more obvious.
55159         (init_dfa, parse_bracket_exp, build_charclass_op):
55160         Call calloc and cast result, as glibc does.
55161         (init_word_char, fetch_token, peek_token, peek_token_bracket):
55162         (build_range_exp, build_collating_symbol):
55163         Now internal functions.
55164
55165         * lib/regex.c [!defined _LIBC]: Allow compiling with C++ compilers.
55166
55167         * lib/regex.h (__USE_GNU_REGEX): New macro.  Don't depend on
55168         _REGEX_SOURCE any more; depend on _GNU_SOURCE instead.
55169         Don't depend on VMS; depend on __VMS instead, for POSIX
55170         namespace cleanness.
55171         (regoff_t): Define to ssize_t, not long int.
55172
55173         Remove the REG_ macros named below.  Instead, make the old names
55174         (e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if
55175         __USE_GNU_REGEX.
55176         (REG_BACKSLASH_ESCAPE_IN_LISTS):
55177         (REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS):
55178         (REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS):
55179         (REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE):
55180         (REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT):
55181         (REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS):
55182         (REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES):
55183         (REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING):
55184         (REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD):
55185         (REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE):
55186         (REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS):
55187         (REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK):
55188         (REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP):
55189         (REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON):
55190         (REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC):
55191         (REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED):
55192         (REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED):
55193         (REG_NREGS):
55194         Remove.  All uses replaced by the old RE_* names.
55195         (RE_BACKSLASH_ESCAPE_IN_LISTS):
55196         (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS):
55197         (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS):
55198         (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE):
55199         (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT):
55200         (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS):
55201         (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES):
55202         (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING):
55203         (RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD):
55204         (RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE):
55205         (RE_CONTEXT_INVALID_DUP, RE_NO_SUB):
55206         Don't bother having these macros be independent of each others'
55207         values, since they no longer exist in the POSIX name space.
55208
55209         Rename the following member names back to their old names,
55210         unless !__USE_GNU_REGEX.  All uses changed back.
55211         (buffer): Renamed from re_buffer.
55212         (allocated): Renamed from re_allocated.
55213         (used): Renamed from re_used.
55214         (syntax): Renamed from re_syntax.
55215         (fastmap): Renamed from re_fastmap.
55216         (translate): Renamed from re_translate.
55217         (can_be_null): Renamed from re_can_be_null.
55218         (regs_allocated): Renamed from re_regs_allocated.
55219         (fastmap_accurate): Renamed from re_fastmap_accurate.
55220         (no_sub): Renamed from re_no_sub.
55221         (not_bol): Renamed from re_not_bol.
55222         (not_eol): Renamed from re_not_eol.
55223         (newline_anchor): Renamed from re_newline_anchor.
55224         (num_regs): Renamed from rm_num_regs.
55225         (start): Renamed from rm_start.
55226         (end): Renamed from rm_end.
55227
55228         (free_state): Move up a bit.
55229
55230         * lib/regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]:
55231         #define to be empty.
55232         (ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2
55233         when that is what is intended.
55234         (SBC_MAX): Define to UCHAR_MAX + 1, not 256.
55235         (__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed.
55236         (MAX): New macro.
55237         (re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove.
55238         All uses changed back to re_malloc, etc.  It's now the caller's
55239         responsibility to check for overflow; all callers changed.
55240         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc):
55241         (re_x2nrealloc): Remove.
55242         (free_state): Remove decl.
55243
55244         * lib/regexc.c (regexec, re_match, re_search, re_match_2, re_search_2):
55245         (re_set_registers, re_exec):
55246         Use K&R-style defn.
55247
55248         2006-01-31  Roland McGrath  <roland@redhat.com>
55249
55250         * lib/regcomp.c (calc_eclosure_iter): Remove dead variables.
55251         Reported by Mike Frysinger <vapier@gentoo.org>.
55252
55253         2006-01-15  Andreas Jaeger  <aj@suse.de>
55254
55255         [BZ #1950]
55256         * lib/regex_internal.c (re_string_reconstruct): Adjust for
55257         build_wcs_upper_buffer change.
55258         (build_wcs_upper_buffer): Change return type.
55259
55260         2005-12-10  Ulrich Drepper  <drepper@redhat.com>
55261
55262         * lib/regex_internal.h: Include <stdint.h> if available.
55263
55264         2005-12-06  Paolo Bonzini  <bonzini@gnu.org>
55265
55266         * lib/regex_internal.h (SIZE_MAX): Provide a default definition.
55267
55268         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
55269
55270         * lib/regcomp.c: Adjust for changed secondary hash function.
55271
55272         2005-09-30  Ulrich Drepper  <drepper@redhat.com>
55273
55274         * lib/regex.h: Pretty printing.
55275         Clean up namespace a bit.
55276
55277         2005-09-30  Jakub Jelinek  <jakub@redhat.com>
55278
55279         * lib/regexec.c (update_cur_sifted_state, check_arrival,
55280         check_arrival_add_next_nodes): Avoid using uninitialized variable.
55281
55282         2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
55283                     Ulrich Drepper  <drepper@redhat.com>
55284
55285         [BZ #1302]
55286         * lib/regex_internal.h (bitset_t): Renamed from bitset.  All uses
55287         changed.
55288         (bitset_word_t): Renamed from bitset_word.  All uses changed.
55289
55290         2005-09-22  Ulrich Drepper  <drepper@redhat.com>
55291
55292         [BZ #281]
55293         * lib/regex.h: Define RE_TRANSLATE_TYPE as unsigned char *.
55294         * lib/regcomp.c: Remove unnecessary uses of
55295         unsigned RE_TRANSLATE_TYPE.
55296         * lib/regex_internal.h: Likewise.
55297         * lib/regex_internal.c: Likewise.
55298         * lib/regexec.c: Likewise.
55299         Based on a patch by Stepan Kasal <kasal@ucw.cz>.
55300
55301         2005-09-07  Ulrich Drepper  <drepper@redhat.com>
55302
55303         * lib/regexec.c (find_recover_state): Remove unnecessary
55304         initialization.
55305         (transit_state_bkref): Make DFA a const pointer.
55306         (get_subexp): Likewise.
55307         (check_arrival): Likewise.
55308         (update_cur_sifted_state): Likewise.
55309         (re_search_internal): Likewise.
55310         (prune_impossible_nodes): Likewise.
55311         (acquire_init_state_context): Likewise.
55312         (proceed_next_node): Likewise.
55313         (set_regs): Likewise.
55314         (free_fail_stack_return): Likewise.
55315         (check_arrival_expand_ecl): Mark DFA parameter as const.
55316         (check_arrival_expand_ecl_sub): Likewise.
55317         (check_subexp_limits): Likewise.
55318         (sub_epsilon_src_nodes):  Likewise.
55319         (add_epsilon_src_nodes):  Likewise.
55320         (merge_state_array): Likewise.
55321         (update_regs): Likewise.
55322         (build_trtable): Likewise.
55323         (sift_states_backward): Mark MCTX parameter as const.
55324         (build_sifted_states): Likewise.
55325         (update_cur_sifted_state): Likewise.
55326         (sift_states_mkref): Likewise.
55327         (check_arrival_expand_ecl): Mark eclosure as const.
55328         (check_dst_limits_calc_pos_1): Likewise.
55329         * lib/regex_internal.h (re_match_context_t): Make dfa a const
55330         pointer.
55331
55332         2005-09-06  Ulrich Drepper  <drepper@redhat.com>
55333
55334         * lib/regexec.c (merge_state_with_log): Define dfa as const pointer.
55335         (transit_state_sb): Likewise.
55336         (transit_state_mb): Likewise.
55337         (sift_states_iter_mb): Likewise.
55338         (check_arrival_add_next_nodes): Likewise.
55339         (check_node_accept_bytes): Change first parameter to pointer-to-const.
55340         [_LIBC] (re_search_2_stub): Use mempcpy.
55341
55342         * lib/regex_internal.c (re_string_reconstruct): Avoid calling
55343         mbrtowc for very simple UTF-8 case.
55344
55345         * lib/regex_internal.c (re_acquire_state): Make DFA pointer arg
55346         a pointer-to-const.
55347         (re_acquire_state_context): Likewise.
55348         * lib/regex_internal.h: Adjust prototypes.
55349
55350         * lib/regex.c: Prevent using C++ compilers.
55351
55352         * lib/regex_internal.c (re_acquire_state): Minor code rearrangement.
55353         (re_acquire_state_context): Likewise.
55354
55355 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
55356
55357         * modules/regex (Depends-on): Add ssize_t.
55358
55359 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
55360
55361         * m4/regex.m4 (gl_REGEX): Check for new glibc interface to
55362         translation table.
55363
55364 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
55365
55366         * doc/gnulib-tool.texi (Modified imports): pathname -> file name.
55367
55368 2006-03-29  Mark D. Baushke  <mdb@gnu.org>
55369             Bruno Haible  <bruno@clisp.org>
55370
55371         * lib/stdint_.h: On OpenBSD, don't redefine types already included in
55372         <sys/types.h> and <inttypes.h>.
55373
55374 2006-03-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55375
55376         * m4/argz.m4 (gl_FUNC_ARGZ): If we define `error_t', also define
55377         `__error_t_defined', so argp.h will not typedef the former.
55378
55379 2006-03-25  Paul Eggert  <eggert@cs.ucla.edu>
55380
55381         * m4/regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP,
55382         REG_SYNTAX_EMACS, and REG_IGNORE_CASE.  Settle for the traditional
55383         glibc names.  Even if glibc is changed to conform to POSIX, the
55384         traditional names will be available anyway, since regex depends on
55385         the extensions module.  Also, fix a longstanding typo in the
55386         implementation of Spencer ERE test #75 from grep 2.3.  Problems
55387         reported by Emanuele Giaquinta.  Also, change sense of cached
55388         variable, so that the message makes sense.
55389
55390 2006-03-24  Simon Josefsson  <jas@extundo.com>
55391
55392         * lib/base64.c: Fix problems reported by Eric Blake <ebb9@byu.net>,
55393         including some doc fixes.
55394         (base64_encode_alloc): Fix +1 bug on allocation failures.
55395
55396 2006-03-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55397
55398         * lib/base64.c (base64_encode): Do not read past end of array with
55399         unsanitized input on systems with CHAR_BIT > 8.
55400
55401 2006-03-24  Eric Blake  <ebb9@byu.net>
55402
55403         * lib/time_r.c (copy_string_result): Remove, as it is no longer used.
55404
55405 2006-03-22  Karl Berry  <karl@gnu.org>
55406
55407         * config/srclist.txt (*setenv.[ch]): get from coreutils.
55408         * config/srclistvars.sh (COREUTILS): new var.
55409
55410 2006-03-17  Jim Meyering  <jim@meyering.net>
55411
55412         * m4/regex.m4 (gl_REGEX): Fix typo in last change:
55413         s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/.
55414
55415 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
55416
55417         * m4/regex.m4 (gl_REGEX): Don't check for off_t, since the code
55418         no longer needs it.  Instead, check that regoff_t is as least
55419         as wide as ptrdiff_t.
55420
55421         Don't define _REGEX_WIDE_OFFSETS unless using the included regex,
55422         so that our regex.h stays compatible with the installed regex.
55423         This is helpful for installers who configure --without-included-regex.
55424         Problem reported by Emanuele Giaquinta.
55425
55426 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
55427
55428         * lib/regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]:
55429         Typedef to long int, not to off_, as POSIX will likely change
55430         in that direction.
55431
55432 2006-03-15  Eric Blake  <ebb9@byu.net>
55433
55434         * m4/dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT.
55435
55436 2006-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>
55437
55438         * lib/argp-help.c (validate_uparams): Fix typo
55439         * lib/argp-parse.c (argp_default_options): Consistently begin help
55440         messages with a lowercase letter.
55441
55442 2006-03-11  Paul Eggert  <eggert@cs.ucla.edu>
55443
55444         * lib/time_r.h (asctime_r, ctime_r): Remove.  These functions can
55445         overrun buffers and shouldn't be used (much as gets shouldn't be
55446         used).
55447         * lib/time_r.c (asctime_r, ctime_r): Likewise.
55448
55449 2006-03-08  Simon Josefsson  <jas@extundo.com>
55450
55451         * m4/gc-random.m4: Permit 'no' as variable values and fix warnings,
55452         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
55453
55454 2006-03-08  Simon Josefsson  <jas@extundo.com>
55455
55456         * m4/gc-random.m4: Call AC_CANONICAL_HOST and use $host_os instead of
55457         $target, suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
55458
55459 2006-03-08  Simon Josefsson  <jas@extundo.com>
55460
55461         * lib/gc-gnulib.c (randomize): Don't open files called 'no', they
55462         signal that configure disabled the device.
55463
55464 2006-03-08  Simon Josefsson  <jas@extundo.com>
55465
55466         * build-aux/maint.mk: Fix refresh-po, to handle no translated
55467         languages.
55468
55469 2006-03-07  Simon Josefsson  <jas@extundo.com>
55470
55471         * modules/getopt (Depends-on): Add unistd.
55472
55473         * modules/unistd: New file.
55474
55475 2006-03-07  Simon Josefsson  <jas@extundo.com>
55476
55477         * modules/gc-random: New file.
55478
55479 2006-03-07  Simon Josefsson  <jas@extundo.com>
55480
55481         * m4/unistd_h.m4: New file.
55482
55483 2006-03-07  Simon Josefsson  <jas@extundo.com>
55484
55485         * m4/readline.m4 (gl_FUNC_READLINE): Rewrite the cached part of the
55486         test to be side-effect free by storing the result in the cache
55487         variable gl_cv_lib_readline, and moving the assignment of
55488         LIBREADLINE and LTLIBREADLINE outside the COMMANDS-TO-SET-IT.
55489         From Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
55490
55491 2006-03-07  Simon Josefsson  <jas@extundo.com>
55492
55493         * m4/gc-random.m4: New file, mostly from gc.m4.  Warn instead of
55494         error on missing devices (the functions will return an error).
55495
55496         * m4/gc.m4: Move random stuff to gc-random.m4
55497
55498 2006-03-07  Simon Josefsson  <jas@extundo.com>
55499
55500         * lib/unistd_.h: New file.
55501
55502 2006-03-07  Simon Josefsson  <jas@extundo.com>
55503
55504         * lib/gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM.
55505
55506 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
55507
55508         * m4/unistd_h.m4 (gl_HEADER_UNISTD): Rename, to match modules file.
55509         Problem reported by Juan Manuel Guerrero.
55510
55511 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
55512
55513         * lib/c-stack.c: Include unistd.h unconditionally, since we now assume
55514         the unistd module.
55515         * lib/getlogin_r.c: Likewise.
55516         * lib/getlogin_r.h: Likewise.
55517         * lib/glob.c: Likewise.
55518         * lib/pagealign_alloc.c: Likewise.
55519         * lib/unistd_.h: Remove; no longer needed.
55520
55521 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
55522
55523         * MODULES.html.sh (Support for systems lacking POSIX:2001):
55524         Add unistd.
55525         * modules/c-stack (Depends-on): Add unistd.
55526         * modules/getlogin_r: Likewise.
55527         * modules/glob: Likewise.
55528         * modules/pagealign_alloc: Likewise.
55529         * modules/unistd (Files): Remove lib/unistd_.h.
55530         (EXTRA_DIST): Remove.
55531         (unistd.h): Create using 'echo' rather than 'cp', so that we don't
55532         need unistd_.h.
55533         (MOSTLYCLEANFILES): Remove unistd.h-t.
55534
55535 2006-03-03  Simon Josefsson  <jas@extundo.com>
55536
55537         * build-aux/maint.mk: Add several syntax checks from CoreUtils.
55538
55539 2006-03-03  Simon Josefsson  <jas@extundo.com>
55540
55541         * build-aux/maint.mk: Add refresh-po rule, based on ideas from
55542         libidn and bison.
55543
55544 2006-03-03  Simon Josefsson  <jas@extundo.com>
55545
55546         * build-aux/maint.mk: Add indent target.
55547
55548 2006-03-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de> (tiny change)
55549
55550         * m4/poll.m4 (gl_FUNC_POLL): If we deem poll(2) unacceptable, use
55551         our replacement poll.h in any case, to avoid a differing
55552         declaration from a system header.  Seen on AIX.
55553
55554 2006-03-01  Simon Josefsson  <jas@extundo.com>
55555
55556         * lib/readline.c: Fix typo, tiny patch from Stepan Kasal
55557         <kasal@ucw.cz>.
55558
55559 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
55560
55561         * modules/gettime (Depends-on): Add extensions module.
55562         * modules/nanosleep (Depends-on): Likewise.
55563         * modules/settime (Depends-on): Likewise.
55564
55565 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
55566
55567         * m4/clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS,
55568         not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled
55569         pedantically.
55570         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
55571         * m4/timespec.m4 (gl_TIMESPEC): Likewise.
55572
55573         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use "=" with "test",
55574         not "==".  Reported by Ralf Wildenhues.
55575
55576 2006-03-01  Karl Berry  <karl@gnu.org>
55577
55578         * doc/Copyright/request-*: new files, synced from gnuorg.
55579
55580 2006-03-01  Karl Berry  <karl@gnu.org>
55581
55582         * config/srclist.txt (Copyright/*): new entries.
55583
55584 2006-02-28  Simon Josefsson  <jas@extundo.com>
55585
55586         * lib/getopt.c: Protect #include of unistd.h, for MSVS.
55587
55588 2006-02-27  Simon Josefsson  <jas@extundo.com>
55589
55590         * lib/base64.h: Indent #define's.  From Jim Meyering
55591         <jim@meyering.net>.
55592
55593 2006-02-27  Jim Meyering  <jim@meyering.net>
55594
55595         Revert the change of 2006-02-24, so these files can continue
55596         to be sync'd from gettext.
55597         * lib/mkdtemp.c, setenv.c, unsetenv.c: *Un*-normalize inclusion
55598         of `config.h'.
55599
55600 2006-02-26  Paul Eggert  <eggert@cs.ucla.edu>
55601
55602         * modules/intprops: New file.
55603         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
55604         Add intprops.
55605         * modules/getloadavg (Files): Remove lib/intprops.h.
55606         (Depends-on): Add intprops.
55607         * modules/human: Likewise.
55608         * modules/inttostr: Likewise.
55609         * modules/openat: Likewise.
55610         * modules/sig2str: Likewise.
55611         * modules/userspec: Likewise.
55612         * modules/utimecmp: Likewise.
55613         * modules/xnanosleep: Likewise.
55614         * modules/xstrtol: Likewise.
55615
55616 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny changes)
55617
55618         * modules/xstrtod: Omit xstrtod.h, xstrtod.c; they're in LIB_SOURCES.
55619         * modules/lock-tests (TESTS): Use $(EXEEXT).
55620         * modules/tls-tests: Likewise.
55621         * modules/argp-tests: Likewise.
55622         (check_PROGRAMS): New var, replacing...
55623         (noinst_PROGRAMS, test_argp_SOURCES): Remove.
55624
55625 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55626
55627         * lib/mkdtemp.c, lib/setenv.c, lib/unsetenv.c: Normalize inclusion of
55628         `config.h'.
55629
55630 2006-02-24  Paul Eggert  <eggert@cs.ucla.edu>
55631
55632         * lib/glob.c: Say "invalid" rather than "illegal" in comments.
55633
55634 2006-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55635
55636         Sync from coreutils.
55637         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and
55638         gl_CHDIR_SAFER.
55639
55640 2006-02-22  Jim Meyering  <jim@meyering.net>
55641
55642         Sync from coreutils.
55643         * m4/chdir-safer.m4: New file.
55644
55645 2006-02-20  Paul Eggert  <eggert@cs.ucla.edu>
55646
55647         * lib/getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where
55648         AT_FDCWD exceeds INT_MAX.
55649         * lib/openat.h (AT_FDCWD): Likewise.
55650
55651 2006-02-17  Eric Blake  <address@hidden>
55652
55653         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error.
55654
55655 2006-02-16  Simon Josefsson  <jas@extundo.com>
55656
55657         * modules/getaddrinfo (Depends-on): Add sys_socket.
55658
55659 2006-02-15  Simon Josefsson  <jas@extundo.com>
55660
55661         * build-aux/maint.mk: Add dsyntax-check rule.
55662
55663 2006-02-15  Eric Blake  <ebb9@byu.net>
55664
55665         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Don't attempt using
55666         winsock2.h or ws2tcpip.h when sys/socket.h is present. Fixes
55667         'present but cannot compile' warnings on cygwin.
55668         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Use gl_HEADER_SYS_SOCKET.  Don't
55669         use ws2tcpip.h if sys/socket.h works.
55670         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_HEADER_SYS_SOCKET.
55671         (gl_GETADDRINFO): Don't use ws2tcpip.h when sys/socket.h is present.
55672
55673 2006-02-14  Simon Josefsson  <jas@extundo.com>
55674
55675         * modules/maintainer-makefile (Files): Rename.
55676
55677         * build-aux/GNUmakefile: Rename Makefile.maint to maint.mk
55678         and (the local) Makefile.cfg to maint-cfg.mk.
55679
55680         * build-aux/Makefile.maint, build-aux/maint.mk: Renamed the former
55681         to the latter.
55682
55683         * modules/maintainer-makefile: New module.
55684
55685         * build-aux/Makefile.maint: New file, from GNU CoreUtils, although
55686         severaly stripped to make it possible to build it up from scratch
55687         with reliable tests.
55688
55689         * build-aux/GNUmakefile: New file, from GNU CoreUtils with some
55690         fixes to permit overriding the default actions when configure and
55691         makefile are not available.
55692
55693 2006-02-14  Paul Eggert  <eggert@cs.ucla.edu>
55694
55695         Sync from coreutils.
55696         * modules/lstat (Depends-on): Don't depend on xalloc.
55697         (License): Change from GPL to LGPL, since this is now simply a
55698         replacement for a libc function.
55699
55700 2006-02-14  Jim Meyering  <jim@meyering.net>
55701
55702         Sync from coreutils.
55703
55704         Eliminate the unwelcome (albeit unlikely) possibility of xmalloc
55705         failure on deficient systems, and simplify gnulib lgpl dependencies.
55706         * lib/lstat.c (rpl_lstat): Rewrite to use stat() in place of the
55707         xmalloc/lstat combination.  Based on a patch from Bruno Haible.
55708
55709         * lib/xalloc-die.c: Remove unused definition of N_.
55710
55711 2006-02-14  Jim Meyering  <jim@meyering.net>
55712
55713         Sync from coreutils.
55714         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke
55715         AC_CHECK_FUNCS(getmntent) unconditionally so that tests of
55716         $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not
55717         double-quote uses of that variable, to accommodate the rare case in
55718         which getmntent is available in none of the libraries checked.  This
55719         happens at least on FreeBSD 5.0.
55720
55721 2006-02-13  Simon Josefsson  <jas@extundo.com>
55722
55723         * gnulib-tool (Usage): Fix --import, from
55724         karl@freefriends.org (Karl Berry).
55725
55726 2006-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>
55727
55728         * lib/argp-fmtstream.c: Restore another bugfix lost on 2005-12-12
55729
55730 2006-02-07  Sergey Poznyakoff  <gray@gnu.org.ua>
55731
55732         * lib/argp-namefrob.h: Restore changes accidentally lost during the
55733         "autoupdate" on 2005-12-12.
55734
55735 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
55736
55737         * modules/closeout (Depends-on): Remove atexit.
55738
55739 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
55740
55741         * lib/closeout.c (close_stdout): Don't assume 'bool' converts nonzero
55742         ints to 0 or 1, as this isn't true for the stdbool.h substitute.
55743
55744 2006-02-05  Paul Eggert  <eggert@cs.ucla.edu>
55745
55746         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define
55747         __EXTENSIONS__ if this causes compilation to fail.  Problem
55748         reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7
55749         c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED.
55750
55751 2006-01-27  Paul Eggert  <eggert@cs.ucla.edu>
55752
55753         * lib/fnmatch.c (L_): Renamed from L, to work around a bug in
55754         Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in
55755         <http://lists.gnu.org/archive/html/bug-gnulib/2006-01/msg00074.html>.
55756         All uses changed.
55757
55758 2006-01-26  Simon Josefsson  <jas@extundo.com>
55759
55760         * lib/socket_.h: Set WINVER to 0x0501, to make sure getaddrinfo
55761         prototype is visible on mingw32.
55762
55763         * lib/getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set,
55764         for mingw32.
55765
55766         * lib/gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for
55767         mingw32).
55768
55769 2006-01-26  Paul Eggert  <eggert@cs.ucla.edu>
55770
55771         * lib/fts.c (diropen): Open with O_NOCTTY | O_NONBLOCK too.  Don't
55772         attempt to open for write; this always fails, at least on POSIX
55773         hosts.  This reinstates the 2006-01-09 change, which was
55774         inadvertently removed.
55775
55776 2006-01-26  Bruno Haible  <bruno@clisp.org>
55777
55778         * gnulib-tool (func_import): Use "trap 'exit $?' instead of "trap :".
55779         Reported by Paul Eggert.
55780
55781 2006-01-26  Bruno Haible  <bruno@clisp.org>
55782             Paul Eggert  <eggert@cs.ucla.edu>
55783
55784         * lib/stdbool_.h (_Bool)
55785         [(! (defined __cplusplus || defined __BEOS__)
55786           && !defined __GNUC__
55787           && !(defined __HP_cc || defined __xlc__
55788                || (defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ == 1))
55789                || defined __sgi))]:
55790         #define to signed char in these cases too; this simplifies
55791         the code (so that we don't have to worry about HP-UX, AIX, SunPRO,
55792         etc., separately) and makes it more conservative.
55793
55794 2006-01-25  Simon Josefsson  <jas@extundo.com>
55795
55796         * m4/getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and
55797         -lws2_32.  Protect sys/socket.h and netdb.h #include's.  Include
55798         ws2tcpip.h with WINVER=0x0501.  All for mingw32.
55799
55800 2006-01-25  Sergey Poznyakoff  <gray@gnu.org.ua>
55801
55802         * lib/argp-namefrob.h: Bugfix. Remove stray #
55803
55804 2006-01-25  Paul Eggert  <eggert@cs.ucla.edu>
55805
55806         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for xlc bug if __GCC__ too,
55807         so that we test the test.
55808         Check for yet another HP-UX cc bug involving *bool |= bool.
55809
55810 2006-01-25  Karl Berry  <karl@gnu.org>
55811
55812         * config/srclist.txt (vasnprintf.c): sync lost.
55813
55814 2006-01-25  Jim Meyering  <jim@meyering.net>
55815
55816         Sync from the stable (b5) branch of coreutils:
55817
55818         * lib/fts.c (fts_children): Don't let close() clobber errno from
55819         failed fchdir().
55820
55821         * lib/fts.c (fts_stat): When following a symlink-to-directory,
55822         don't necessarily interpret stat-fails+lstat-succeeds as indicating
55823         a dangling symlink.  That can also happen at least for ELOOP.
55824         The fix: return FTS_SLNONE only when the stat errno is ENOENT.
55825         FYI, this bug predates the inclusion of fts.c in coreutils.
55826
55827         * lib/fts.c (fts_open): Put new maxarglen declaration and uses
55828         in their own block, so pre-c99 compilers don't object.
55829
55830         Avoid the double-free (first in fts_read, second in fts_close) that
55831         would occur when an `active' directory is made inaccessible (e.g.,
55832         via chmod a-x) during a traversal.
55833         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
55834         before returning.  Reproduce this failure by
55835         mkdir -p a/b; cd a; chmod a-x . b
55836         Reported by Stavros Passas.
55837
55838 2006-01-25  Jim Meyering  <jim@meyering.net>
55839
55840         * lib/fileblocks.c: Remove more useless parentheses.
55841         * lib/readutmp.h: Likewise.
55842
55843 2006-01-25  Bruno Haible  <bruno@clisp.org>
55844
55845         * lib/stdbool_.h (_Bool) [IRIX cc]: Define as 'signed char', to avoid
55846         warnings.
55847         Reported by Paul Eggert.
55848
55849 2006-01-25  Bruno Haible  <bruno@clisp.org>
55850
55851         * gnulib-tool (func_import): Use "trap :" instead of "trap -" to get
55852         rid of a trap command. For Solaris sh.
55853         Reported by Mark D. Baushke <mdb@gnu.org>.
55854
55855 2006-01-24  Simon Josefsson  <jas@extundo.com>
55856
55857         * lib/socket_.h (SHUT_WR, SHUT_RDWR): Don't hardcode, suggested by
55858         Bruno.
55859
55860 2006-01-24  Karl Berry  <karl@gnu.org>
55861
55862         * config/srclist.txt (argp-namefrob.h): sync lost.
55863
55864 2006-01-24  Jim Meyering  <jim@meyering.net>
55865
55866         * modules/openat (Files): Add lib/intprops.h.
55867         From Mark D. Baushke.
55868
55869 2006-01-24  Jim Meyering  <jim@meyering.net>
55870
55871         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]).
55872         Reported by Mark D. Baushke.
55873
55874 2006-01-24  Jim Meyering  <jim@meyering.net>
55875
55876         * lib/socket_.h: Remove useless parentheses in uses of cpp `defined'.
55877
55878 2006-01-24  Bruno Haible  <bruno@clisp.org>
55879
55880         * modules/strnlen (Maintainer): Change from glibc to all.
55881
55882 2006-01-24  Bruno Haible  <bruno@clisp.org>
55883
55884         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for IBM and HP-UX bugs.
55885         Patch by Paul Eggert.
55886
55887 2006-01-24  Bruno Haible  <bruno@clisp.org>
55888
55889         * lib/stdbool_.h (_Bool) [__cplusplus]: Don't define if the compiler
55890         already has it.
55891         Report and patch by Albert Chin-A-Young  <china@thewrittenword.com> on
55892         2005-11-26.
55893
55894         * lib/stdbool_.h (_Bool) [HP-UX cc, AIX cc,xlc]: Define as
55895         'signed char' to avoid problems with the built-in _Bool type.
55896         Reported by Paul Eggert on 2005-11-26.
55897
55898 2006-01-24  Bruno Haible  <bruno@clisp.org>
55899
55900         * gnulib-tool (func_import): Avoid constructing complicated sed
55901         expressions inside backquote.
55902         Report and solution by Mark D. Baushke <mdb@gnu.org>.
55903
55904 2006-01-23  Ulrich Drepper  <drepper@redhat.com>
55905
55906         These changes imported from libc.
55907         * lib/getopt.c: Use __fxprintf instead of inline stream orientation
55908         test and two separate function calls.
55909         * lib/strndup.c (__strndup): Add libc_hidden_def.
55910
55911 2006-01-23  Simon Josefsson  <jas@extundo.com>
55912
55913         * modules/lock-tests: Use check_PROGRAMS instead of noinst_PROGRAMS.
55914         Remove the test_*_SOURCES variable: automake infers it by default.
55915         * modules/tls-tests: Likewise.
55916
55917 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
55918
55919         Work around porting bugs reported by Dieter in
55920         <http://lists.gnu.org/archive/html/bug-bison/2006-01/msg00049.html>.
55921         * lib/getopt.c (_NOPROTO): Remove; no longer needed.
55922         Include <stdlib.h> and <unistd.h> in all environments; it's safe now.
55923         Include "getopt.h" first, to check interface.
55924         (getenv): Declare only if defined HAVE_DECL_GETENV &&
55925         !HAVE_DECL_GETENV.
55926         * lib/strndup.c [!_LIBC]: Include "strndup.h" to get prototype.
55927         (__strndup): Revert to K&R-style function dfns, the glibc style.
55928         * lib/strnlen.c: Don't claim it's taken from glibc; it's not.
55929         (strnlen, __strnlen): Remove #defines and #undefs; not needed.
55930         Include strnlen.h first, to get prototype properly.
55931         (strnlen): Renamed from __strnlen.
55932         Remove weak alias.
55933
55934 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
55935
55936         * m4/getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl.
55937
55938 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
55939
55940         * config/srclist.txt: Adjust to reflect glibc reorganization.
55941         This affects only comments.
55942
55943 2006-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
55944
55945          * gnulib-tool, build-aux/csharpcomp.sh.in: Do not pass `-q' to mktemp.
55946          Reported by Bruce Korb <bkorb@gnu.org>.
55947
55948 2006-01-22  Paul Eggert  <eggert@cs.ucla.edu>
55949
55950         * lib/quotearg.c (quotearg_buffer_restyled): Add "default: break;"
55951         to pacify gcc -Wswitch-default.
55952
55953 2006-01-22  Bruno Haible  <bruno@clisp.org>
55954
55955         * lib/vasnprintf.c (VASNPRINTF): In the computation of the size of the
55956         temporary buffer for sprintf, take into account the precision also
55957         for 'd', 'i', 'u', 'o', 'x', 'X'.
55958
55959 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
55960
55961         * modules/argp-tests: New module
55962         * tests/test-argp.c: New file
55963         * tests/test-argp-2.sh: New file
55964
55965 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
55966
55967         * lib/argp-help.c (usage_long_opt): Do not print DOC options.
55968         (__argp_base_name): Removed
55969         * lib/argp-namefrob.h (__argp_basename): Removed definition. Was a
55970         typo.
55971         (__argp_base_name): Provide macro definition or extern declaration
55972         depending on the configuration
55973
55974 2006-01-20  Simon Josefsson  <jas@extundo.com>
55975
55976         * modules/inet_ntop (Depends-on): Depend on sys_socket.
55977
55978 2006-01-20  Simon Josefsson  <jas@extundo.com>
55979
55980         * lib/inet_ntop.h: Unconditionally include sys/socket.h.
55981
55982 2006-01-20  Paul Eggert  <eggert@cs.ucla.edu>
55983
55984         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Use -Wl,-z,ignore
55985         rather than -Xlinker -z -Xlinker ignore, as it's more portable.
55986         Suggested by Bruno Haible.
55987
55988 2006-01-20  Karl Berry  <karl@gnu.org>
55989
55990         * config/srclist.txt (argp-fmtstream.h, localcharset.c): comment out
55991         until changes propagate, I guess.
55992
55993 2006-01-19  Simon Josefsson  <jas@extundo.com>
55994
55995         * m4/socklen.m4: Look in ws2tcpip.h too, for mingw32.
55996
55997 2006-01-19  Simon Josefsson  <jas@extundo.com>
55998
55999         * lib/socket_.h: Map SHUT_RD, SHUT_WR, SHUT_RDWR correctly.
56000
56001 2006-01-19  Simon Josefsson  <jas@extundo.com>
56002
56003         * gnulib-tool: Set check_PROGRAMS.
56004
56005         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
56006         modules/des-tests, modules/gc-arcfour-tests,
56007         modules/gc-arctwo-tests, modules/gc-des-tests,
56008         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
56009         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
56010         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
56011         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
56012         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
56013         modules/md5-tests, modules/readline, modules/rijndael-tests: Use
56014         check_PROGRAMS instead of noinst_PROGRAMS to be able to remove
56015         test_*_SOURCES.
56016
56017 2006-01-18  Simon Josefsson  <jas@extundo.com>
56018
56019         * modules/socklen (Depends-on): Depend on sys_socket.
56020
56021 2006-01-18  Simon Josefsson  <jas@extundo.com>
56022
56023         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
56024         modules/des-tests, modules/gc-arcfour-tests,
56025         modules/gc-arctwo-tests, modules/gc-des-tests,
56026         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
56027         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
56028         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
56029         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
56030         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
56031         modules/md5-tests, modules/readline, modules/rijndael-tests: Add
56032         $(EXEEXT) to automake TESTS variable, for mingw32.
56033
56034 2006-01-17  Simon Josefsson  <jas@extundo.com>
56035
56036         * modules/socklen (Include): Need sys/socket.h.
56037
56038 2006-01-17  Bruno Haible  <bruno@clisp.org>
56039
56040         * modules/ssize_t (Include): Add <sys/types.h>.
56041
56042 2006-01-16  Paul Eggert  <eggert@cs.ucla.edu>
56043
56044         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as
56045         it's not portable and it doesn't work with cross-compiles.
56046         Problem reported by Bruno Haible.  Fix missing-$ typo in
56047         'test "gl_cv_ignore_unused_libraries" ...' that prevented
56048         -zignore from being used with Sun's C compiler.
56049
56050 2006-01-12  Simon Josefsson  <jas@extundo.com>
56051
56052         * lib/base64.c: Fix warning, reported by Bruno Haible
56053         <bruno@clisp.org> and patch by Paul Eggert <eggert@CS.UCLA.EDU>.
56054
56055 2006-01-12  Bruno Haible  <bruno@clisp.org>
56056
56057         * modules/ldd: New file.
56058         * build-aux/ldd.sh.in: New file.
56059         * MODULES.html.sh (Support for building libraries and executables): Add
56060         ldd.
56061
56062 2006-01-12  Bruno Haible  <bruno@clisp.org>
56063
56064         * m4/ldd.m4: New file.
56065
56066 2006-01-12  Bruno Haible  <bruno@clisp.org>
56067
56068         * gnulib-tool (func_import, func_create_testdir): Don't go into an
56069         endless loop while replacing $auxdir with build-aux.
56070
56071 2006-01-11  Simon Josefsson  <jas@extundo.com>
56072
56073         * lib/stdint_.h (SIZE_MAX): Add missing (.
56074
56075 2006-01-11  Paul Eggert  <eggert@cs.ucla.edu>
56076
56077         Sync from coreutils.
56078         * lib/md5.c: Fix commentary typos.
56079         (alignof, UNALIGNED_P): No need for a GCC-specific version.
56080         * lib/md5.h (__attribute__): Remove; unused.
56081         * lib/sha1.c: Fix commentary to match md5 better.
56082         * lib/sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer,
56083         so that we don't need to worry about alignment.  All uses changed.
56084         This merges the 2005-10-28 md5 change into sha1.
56085
56086 2006-01-11  Jim Meyering  <jim@meyering.net>
56087
56088         Sync from coreutils.
56089         * lib/md5.c (OP): Fix spacing.
56090
56091 2006-01-11  Bruno Haible  <bruno@clisp.org>
56092
56093         Ensure automatic ordering between gl_LOCK and gl_ARGP.
56094         * m4/lock.m4 (gl_LOCK_BODY): Renamed from gl_LOCK.
56095         (gl_LOCK): New macro, requiring gl_LOCK_BODY.
56096
56097 2006-01-11  Bruno Haible  <bruno@clisp.org>
56098
56099         Ensure automatic ordering between gl_LOCK and gl_ARGP.
56100         * gnulib-tool (func_import, func_create_testdir): Put gl_LOCK into
56101         the "early" section as well.
56102
56103 2006-01-11  Bruno Haible  <bruno@clisp.org>
56104
56105         Avoid "ar: no archive members specified" error on MacOS X.
56106         * gnulib-tool (func_modules_add_dummy): New function.
56107         (func_import, func_create_testdir): Invoke it.
56108
56109 2006-01-11  Bruno Haible  <bruno@clisp.org>
56110
56111         * gnulib-tool (func_import, func_create_testdir): Replace build-aux
56112         with $auxdir in AC_CONFIG_FILES statements.
56113
56114 2006-01-11  Bruno Haible  <bruno@clisp.org>
56115
56116         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
56117         Initialize also noinst_HEADERS to empty.
56118
56119 2006-01-11  Bruno Haible  <bruno@clisp.org>
56120
56121         * gnulib-tool (AUTOMAKEPATH, AUTOCONF, ACLOCAL, AUTOMAKE): New
56122         variables.
56123         (func_create_megatestdir): Call aclocal, autoconf, automake here, not
56124         autoreconf.
56125
56126 2006-01-11  Bruno Haible  <bruno@clisp.org>
56127
56128         * gnulib-tool (AUTOCONF, ACLOCAL, AUTOMAKE, AUTORECONF): Make
56129         overridable by the user.
56130         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
56131
56132 2006-01-10  Simon Josefsson  <jas@extundo.com>
56133
56134         * modules/sys_socket: New file.
56135
56136 2006-01-10  Simon Josefsson  <jas@extundo.com>
56137
56138         * m4/sys_socket_h.m4: New file.
56139
56140 2006-01-10  Simon Josefsson  <jas@extundo.com>
56141
56142         * lib/socket_.h: New file.
56143
56144 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
56145
56146         * modules/readutmp (Maintainer): Add myself.
56147
56148 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
56149
56150         * m4/memcoll.m4 (gl_MEMCOLL): Don't require AC_FUNC_MEMCMP, undoing
56151         the 2002-12-31 change.  Problem and fix reported by Bruno Haible.
56152         People who are still concerned with buggy memcmp implementations
56153         can invoke gl_FUNC_MEMCMP themselves.
56154
56155 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
56156
56157         * lib/regex_internal.h (BITSET_WORD_BITS):
56158         Work around a bug in 64-bit PGC (before version 6.1-2), where the
56159         preprocessor mishandles large unsigned values as if they were signed.
56160         Problem reported by Claudio Fontana in
56161         <http://lists.gnu.org/archive/html/bug-gnulib/2005-12/msg00061.html>.
56162
56163 2006-01-10  Jim Meyering  <jim@meyering.net>
56164
56165         Avoid the double-free (first in fts_read, second in fts_close) that
56166         would occur when an `active' directory is made inaccessible (e.g.,
56167         via chmod a-x) during a traversal.
56168         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
56169         before returning.  Reproduce this failure by
56170         mkdir -p a/b; cd a; chmod a-x . b
56171         Reported by Stavros Passas.
56172
56173         Sync from coreutils.
56174         * lib/sha1.c: Tweak grammar in a comment.
56175
56176 2006-01-10  Jim Meyering  <jim@meyering.net>
56177
56178         * m4/fpending.m4: Also include <stdio.h>, for Dragonfly.
56179         Patch by Joerg Sonnenberger.
56180
56181 2006-01-10  Bruno Haible  <bruno@clisp.org>
56182
56183         * modules/readutmp: Depend on module free.
56184         * modules/strtok_r: Depend on module restrict.
56185
56186 2006-01-10  Bruno Haible  <bruno@clisp.org>
56187
56188         * modules/gettext (configure.ac): Add an invocation of
56189         AM_GNU_GETTEXT_VERSION. Needed since autoreconf is used by gnulib-tool.
56190
56191 2006-01-10  Bruno Haible  <bruno@clisp.org>
56192
56193         * m4/localcharset.m4 (gl_LOCALCHARSET): Also test for getc_unlocked.
56194         Reported by Werner Lemberg <wl@gnu.org>.
56195
56196 2006-01-10  Bruno Haible  <bruno@clisp.org>
56197
56198         * lib/localcharset.c: Update from GNU gettext.
56199
56200 2006-01-10  Bruno Haible  <bruno@clisp.org>
56201
56202         * lib/argp.h (__const): Remove macro. Use const instead.
56203         * lib/argp-fmtstream.h (__const): Likewise.
56204         * lib/glob_.h (__const): Remove macro.
56205         * lib/glob-libc.h: Use const instead of __const.
56206
56207 2006-01-10  Bruno Haible  <bruno@clisp.org>
56208
56209         * gnulib-tool (func_emit_tests_Makefile_am): Emit an empty SUBDIR
56210         variable.
56211         Needed to avoid an automake error regarding the 'gettext' module.
56212
56213 2006-01-09  Simon Josefsson  <jas@extundo.com>
56214
56215         * modules/inet_ntop (Depends-on): Add restrict.
56216
56217 2006-01-09  Simon Josefsson  <jas@extundo.com>
56218
56219         * modules/gc-rijndael-tests (License): Put under LGPL.
56220
56221         * modules/gc-des-tests (License): Likewise.
56222
56223         * modules/gc-arcfour-tests (License): Likewise.
56224
56225         * modules/gc-arctwo-tests (License): Likewise.
56226
56227         * modules/gc-pbkdf2-sha1-tests (License): Likewise.
56228
56229         * modules/gc-hmac-sha1-tests (Files): Likewise.
56230
56231         * modules/gc-hmac-md5-tests (License): Likewise.
56232
56233         * modules/gc-sha1-tests (License): Likewise.
56234
56235         * modules/gc-md5-tests (License): Likewise.
56236
56237         * modules/gc-md4-tests (License): Likewise.
56238
56239         * modules/gc-md2-tests (License): Likewise.
56240
56241         * modules/gc-tests (License): Likewise.
56242
56243         * modules/des-tests (License): Likewise.
56244
56245         * modules/md4-tests (License): Likewise.
56246
56247         * modules/md2-tests (License): Likewise.
56248
56249 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
56250
56251         Sync from coreutils:
56252
56253         * MODULES.html.sh (build_lib): New section, with new lib-ignore module.
56254         * modules/lib-ignore: New file.
56255         * modules/mkdir-p (Files): Add chdir-safer.c, chdir-safer.h, lchmod.h,
56256         chdir-safer.m4, lchmod.m4.
56257         * modules/openat: Add mkdirat.c, openat-priv.h.
56258
56259 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
56260
56261         Sync from coreutils.
56262         * m4/lib-ignore.m4: New file.
56263         * m4/lchmod.m4: New file.
56264
56265 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
56266
56267         Sync from coreutils.
56268         * lib/chdir-long.c (cdb_free): Don't bother trying to open directory
56269         for write access: POSIX says that must fail.
56270         * lib/fts.c (diropen): Likewise.
56271         * lib/save-cwd.c (save_cwd): Likewise.
56272         * lib/chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as
56273         well, for minor improvements on hosts that lack O_DIRECTORY.
56274         * lib/chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]:
56275         Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
56276         Fall back on chown if open failed with EACCES.
56277
56278         * lib/gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]:
56279         Report an error at compile-time if only a 1-second nominal clock
56280         resolution is found.
56281
56282         * lib/lchmod.h: New file.
56283         * lib/mkdir-p.c: Include lchmod.h, lchown.h.
56284         (make_dir_parents): Use lchown rather than chown, and
56285         lchmod rather than chmod.
56286
56287         * lib/mountlist.c (ME_DUMMY): "none" and "proc" file systems are
56288         dummies too.  Problem with "none" reported by Bob Proulx.  Problem with
56289         "proc" reported by n0dalus.
56290
56291         * lib/mountlist.c: Include <limits.h>.
56292         (dev_from_mount_options)
56293         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]:
56294         New function.  It no longer assumes "dev=" has the System V meaning
56295         on Linux (since it doesn't).  It also parses "dev=" more carefully.
56296         (read_file_system_list)
56297         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it.
56298         MOUNTED_GETMNTENT2 is new here; the code didn't used to look for
56299         dev= in that case.
56300
56301         * lib/posixtm.h (PDS_PRE_2000): New macro.
56302         * lib/posixtm.c (year): Arg is now syntax_bits rather than
56303         allow_century.  All usages changed.  Reject dates outside the range
56304         1969-1999 if PDS_PRE_2000 is used.
56305
56306 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
56307
56308         Sync from coreutils.
56309         * doc/getdate.texi (General date syntax): Invalid dates are rejected.
56310         (Time of day items): Mention the possibility of leap seconds.
56311         Problem reported by Dr. David Alan Gilbert.
56312
56313 2006-01-09  Jim Meyering  <jim@meyering.net>
56314
56315         Sync from coreutils.
56316
56317         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2006.
56318
56319         * lib/chdir-safer.h, lib/chdir-safer.c: New files.
56320
56321         * lib/modechange.c (mode_compile): Reject an invalid mode string
56322         that starts with an octal digit.  From Andreas Gruenbacher.
56323
56324         * lib/openat.c: Include "fcntl--.h" and "unistd--.h", to map open
56325         and dup to open_safer and dup_safer, respectively.
56326         (openat_permissive): Fix typo in comment.
56327
56328         * lib/openat.c: Don't include <stdlib.h>, <unistd.h>, <fcntl.h>,
56329         "gettext.h"; either no longer needed or are guaranteed by openat.h.
56330         (_): Remove; no longer needed.
56331         (openat): Renamed from rpl_openat; no need for rpl_openat
56332         since openat.h renames openat for us.
56333         Replace most of the body with a call to openat_permissive,
56334         to avoid duplicate code.
56335         Port to (probably hypothetical) environments were mode_t is
56336         wider than int.
56337         (openat_permissive): Require mode arg, so that we can check
56338         types better.  Put it just after flags.  Change cwd failure
56339         indicator from pointer-to-bool to pointer-to-errno-value.
56340         All callers changed.
56341         Invoke openat_save_fail and/or openat_restore_fail if
56342         cwd_errno is null, so that openat can call us.
56343         (openat_permissive, fdopendir, fstatat, unlinkat):
56344         Simplify errno handling to avoid some duplicate code,
56345         as it's OK to set errno on success.
56346         * lib/openat.h: Revamp code so that function macros depend on
56347         __OPENAT_PREFIX only, not also on AT_FDCWD.
56348         (openat_ro): Remove.  Caller changed to use openat_permissive.
56349         (openat_permissive): Now a macro, if not a function.
56350         (openat_restore_fail, openat_save_fail): Now always functions,
56351         since mkdirat needs them even if __OPENAT_PREFIX is defined.
56352
56353         * lib/openat-priv.h: New file, defining macros used by mkdirat.c
56354         and openat.c.
56355         * lib/mkdirat.c: Include openat-priv.h.
56356         Remove definitions of macros defined therein.
56357         * lib/openat.c: Likewise.
56358
56359         * lib/mkdirat.c (mkdirat): New file and function.
56360         * lib/openat.h (mkdirat): Declare.
56361
56362         * lib/openat.c (fdopendir): Don't change errno when returning non-NULL.
56363
56364         * lib/openat.h (openat_permissive): Declare.
56365         (openat_ro): Define.
56366
56367         * lib/openat.c (EXPECTED_ERRNO): New macro.
56368         (openat_permissive): New function -- used in remove.c rewrite.
56369         (all functions): Set errno just before returning, only if there
56370         was an actual failure.
56371         Use EXPECTED_ERRNO rather than comparing against only ENOTDIR.
56372
56373         Emulate openat-family functions using Linux's procfs, if possible.
56374         Idea and some code based on Ulrich Drepper's glibc changes.
56375
56376         * lib/openat.c: (BUILD_PROC_NAME): New macro.
56377         Include <stdio.h>, <string.h>, "alloca.h" and "intprops.h".
56378         (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s,
56379         before falling back on save_cwd and restore_cwd.
56380         (fdopendir, fstatat, unlinkat): Likewise.
56381
56382         * lib/openat.c (fstatat, unlinkat): Perform the syscall directly,
56383         skipping the save_cwd...restore_cwd overhead, if FILE is absolute.
56384
56385         * lib/openat.c (rpl_openat): Use the promoted type (int), not mode_t,
56386         as second argument to va_arg.  Otherwise, some versions of gcc
56387         warn that `if this code is reached, the program will abort'.
56388
56389 2006-01-09  Jim Meyering  <jim@meyering.net>
56390
56391         Sync from coreutils.
56392         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c.
56393         Require openat-priv.h.
56394
56395 2006-01-09  Bruno Haible  <bruno@clisp.org>
56396
56397         * modules/strnlen (Include): Use strnlen.h.
56398
56399 2006-01-09  Bruno Haible  <bruno@clisp.org>
56400
56401         * m4/stdint.m4 (gl_STDINT_H): Also test for <sys/bitypes.h>.
56402
56403 2006-01-09  Bruno Haible  <bruno@clisp.org>
56404
56405         * lib/sysexit_.h (EX_OK): New macro.
56406         Suggested by Martin Lambers <marlam@marlam.de>.
56407
56408 2006-01-09  Bruno Haible  <bruno@clisp.org>
56409
56410         * lib/stdint_.h: On Linux libc4 and libc5, include <sys/bitypes.h> and
56411         don't define _STDINT_H_NEED_SIGNED_INT_TYPES.
56412
56413 2006-01-09  Bruno Haible  <bruno@clisp.org>
56414
56415         * lib/stdint_.h (SIZE_MAX): Write the value without involving negative
56416         numbers.
56417
56418 2006-01-09  Bruno Haible  <bruno@clisp.org>
56419
56420         * lib/javacomp.sh.in: Move to ../build-aux/javacomp.sh.in.
56421         * lib/javaexec.sh.in: Move to ../build-aux/javaexec.sh.in.
56422         * lib/csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in.
56423         * lib/csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in.
56424
56425 2006-01-09  Bruno Haible  <bruno@clisp.org>
56426
56427         * build-aux/javacomp.sh.in: New file, moved from lib/.
56428         * modules/javacomp-script (Files): Update.
56429         (configure.ac): Add AC_CONFIG_FILES invocation.
56430         (EXTRA_DIST): Remove variable.
56431
56432         * build-aux/javaexec.sh.in: New file, moved from lib/.
56433         * modules/javaexec (Files): Update.
56434         (configure.ac): Add AC_CONFIG_FILES invocation.
56435         (EXTRA_DIST): Remove javaexec.sh.in.
56436
56437         * build-aux/csharpcomp.sh.in: New file, moved from lib/.
56438         * modules/csharpcomp-script (Files): Update.
56439         (configure.ac): Add AC_CONFIG_FILES invocation.
56440         (EXTRA_DIST): Remove variable.
56441
56442         * build-aux/csharpexec.sh.in: New file, moved from lib/.
56443         * modules/csharpexec (Files): Update.
56444         (configure.ac): Add AC_CONFIG_FILES invocation.
56445         (EXTRA_DIST): Remove csharpexec.sh.in.
56446
56447 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
56448
56449         Sync from coreutils.
56450
56451         Add POSIX ACL support
56452         * lib/acl.h (copy_acl, set_acl): Add declarations.
56453         * lib/acl.c (acl_entries): Add fallback implementation for POSIX ACL
56454         systems other than Linux.
56455         (chmod_or_fchmod): New function: use fchmod when possible,
56456         and chmod otherwise.
56457         (file_has_acl): Add a POSIX ACL implementation, with a
56458         Linux-specific subcase.
56459         (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and
56460         S_ISVTX from one file to another.  Fall back to fchmod/chmod when
56461         acls are unsupported.
56462         (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and
56463         S_ISVTX to a defined value.  Fall back to fchmod/chmod when acls
56464         are unsupported.
56465
56466 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
56467
56468         Sync from coreutils.
56469         * m4/acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests.
56470
56471 2006-01-07  Bruno Haible  <bruno@clisp.org>
56472
56473         * gnulib-tool (func_import): Add an AC_PROG_RANLIB dependency to
56474         gl_EARLY.
56475
56476 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
56477
56478         * lib/strftime.c (tzname): Don't declare if it is already #defined.
56479         Problem reported for Mingw by Mark Junker.
56480
56481 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
56482
56483         * README: Gnulib normally doesn't generate a tarball.
56484
56485 2006-01-03  Paul Eggert  <eggert@cs.ucla.edu>
56486
56487         * lib/xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use
56488         long int, not int, for nanosecond counts, so that people who are
56489         used to POSIX struct timespec won't be surprised.  Reported by Jim
56490         Meyering.
56491
56492 2005-12-28  Bruno Haible  <bruno@clisp.org>
56493
56494         * build-aux/config.rpath: Update from GNU gettext.
56495
56496 2005-12-16  Jim Meyering  <jim@meyering.net>
56497
56498         * modules/fprintftime: New module.
56499         * MODULES.html.sh (Date and time <time.h>): Add fprintftime.
56500
56501 2005-12-16  Jim Meyering  <jim@meyering.net>
56502
56503         * m4/fprintftime.m4: New file.
56504
56505 2005-12-16  Jim Meyering  <jim@meyering.net>
56506
56507         * lib/fprintftime.c, lib/fprintftime.h: New files.
56508
56509 2005-12-15  Simon Josefsson  <jas@extundo.com>
56510
56511         * modules/socklen (configure.ac): Fix M4 macro name, to align with
56512         new m4/socklen.m4.
56513
56514 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
56515
56516         * m4/argp.m4: Define HAVE_DECL_PROGRAM_INVOCATION_NAME and
56517         HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
56518
56519 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
56520
56521         * lib/argp-fmtstream.c (__argp_fmtstream_update): Fix coredump
56522         * lib/argp-help.c (fill_in_uparams): Check if the constructed
56523         struct uparams is valid. Fall back to the default values if it is
56524         not.
56525
56526 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
56527
56528         * modules/argp (Files): Add argp-pin.c
56529         (Depends-on): dirname
56530         (lib_SOURCES): Add argp-pin.c
56531
56532 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
56533
56534         * m4/argp.m4:  Check if program_invocation_name and
56535         program_invocation_short_name are declared and define appropriate
56536         macros if they are not.
56537
56538 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
56539
56540         * lib/argp-help.c (__argp_base_name): New function
56541         (__argp_short_program_name): Rewrite using __argp_base_name
56542         * lib/argp-namefrob.h: Define program_invocation_name and
56543         program_invocation_short_name if requested
56544         (__argp_base_name): Add prototype
56545         * lib/argp-parse.c (argp_def): Use gettext wrappers
56546         (argp_default_parser): Use __argp_base_name
56547         * lib/argp-pin.c: New file. Defines program_invocation_name and
56548         program_invocation_short_name on systems that lack them.
56549
56550 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
56551
56552         * m4/stat-time.m4 (gl_STAT_TIME): Add check for
56553         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
56554         porting problem reported by Georg Schwarz in
56555         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
56556
56557 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
56558
56559         * lib/stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
56560         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
56561         porting problem reported by Georg Schwarz in
56562         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
56563
56564 2005-12-05  Bruno Haible  <bruno@clisp.org>
56565
56566         * lib/csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix.
56567         * lib/csharpcomp.c (compile_csharp_using_sscli): Likewise.
56568         Reported by Mark Junker <mjscod@gmx.de>.
56569
56570 2005-12-02  Paul Eggert  <eggert@cs.ucla.edu>
56571
56572         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T.
56573         Use implementation from Albert Chin, with some
56574         comments/corrections by Stepan Kasal and myself.
56575
56576 2005-12-02  Bruno Haible  <bruno@clisp.org>
56577
56578         * gnulib-tool (func_import): Accept GPLed build tool modules when
56579         --lgpl is given.
56580         * modules/csharpcomp-script: New file.
56581         * modules/csharpcomp: Depend on it.
56582         * modules/javacomp-script: New file.
56583         * modules/javacomp: Depend on it.
56584         Suggested by Simon Josefsson.
56585
56586 2005-12-01  Paul Eggert  <eggert@cs.ucla.edu>
56587
56588         * m4/regex.m4 (gl_REGEX): Check whether off_t can be used in a switch
56589         statement, to work around an HP-UX 10.20 compiler bug reported by
56590         Peter O'Gorman.
56591
56592 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
56593
56594         * modules/savedir (Depends-on): Add openat.
56595
56596 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
56597
56598         * lib/stdint_.h (intmax_t) [defined intmax_t]: Do not declare.
56599         (uintmax_t) [defined uintmax_t]: Do not declare.
56600         (SIZE_MAX) [defined SIZE_MAX]: Do not define.
56601         This works around a problem if intmax_t.m4 and/or uintmax_t.m4
56602         and/or size_max.m4 are also used.  Problem reported by Mark D. Baushke.
56603         (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the
56604         sake of portability to weird hosts that C allows (though we don't
56605         know of any practical examples).
56606
56607         * lib/savedir.h (fdsavedir): New decl.
56608         * lib/savedir.c (fdsavedir, savedirstream): New functions; the latter
56609         contains most of the former guts of savedir.
56610         (savedir): Use savedirstream.
56611         Include "openat.h".
56612
56613 2005-11-25  Paul Eggert  <eggert@cs.ucla.edu>
56614
56615         * modules/obstack (Files): Add m4/ulonglong.m4.
56616         Problem reported by Davide Angelocola.
56617
56618 2005-11-15  Paul Eggert  <eggert@cs.ucla.edu>
56619
56620         * lib/xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as
56621         coreutils no longer futzes with rounding modes.
56622
56623 2005-11-14  Jim Meyering  <jim@meyering.net>
56624
56625         * lib/mkstemp-safer.c: Include <config.h>, required for possible
56626         replacement of mkstemp.
56627
56628 2005-11-10  Simon Josefsson  <jas@extundo.com>
56629
56630         * lib/readline.c: Remove EOL.
56631
56632 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
56633
56634         * modules/gethrxtime (Depends-on): Add gettime.
56635
56636 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
56637
56638         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME
56639         or gettimeofday; no longer needed.
56640
56641 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
56642
56643         * lib/gethrxtime.c: Include "timespec.h" rather than the sys/time /
56644         time business.
56645         (gethrxtime) [! (HAVE_NANOUPTIME
56646         || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME)
56647         || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling
56648         our own approximation.
56649
56650 2005-11-08  Eric Blake  <ebb9@byu.net>
56651
56652         * lib/inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
56653
56654 2005-11-08  Eric Blake  <ebb9@byu.net>
56655
56656         * lib/getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
56657
56658 2005-11-04  Bruno Haible  <bruno@clisp.org>
56659
56660         * gnulib-tool: Implement --update mode.
56661
56662 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
56663
56664         Fix porting problem reported by Theodoros V. Kalamatianos.
56665         * lib/utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]:
56666         Don't assume that futimes failing means we must fail.
56667
56668 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
56669
56670         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Revamp wording and local
56671         variables to suggest the intended function of the PATH_MAX check.
56672
56673 2005-10-30  Kean Johnston  <jkj@sco.com>
56674
56675         Trivial changes to support SCO systems.
56676         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Check for MAXPATHLEN as well
56677         as PATH_MAX.
56678         * m4/fpending.m4 (gl_FUNC_FPENDING): Correct check for SCO systems,
56679         where __ptr is null when no I/O is pending.
56680
56681 2005-10-29  Paul Eggert  <eggert@cs.ucla.edu>
56682
56683         * lib/getcwd.c (__getcwd): Don't assume that system calls after readdir
56684         leave errno alone.  Problem reported by Dmitry V. Levin.
56685
56686 2005-10-28  Simon Josefsson  <jas@extundo.com>
56687
56688         * tests/test-gc-md4.c, tests/test-gc-md5.c, tests/test-gc-sha1.c:
56689         Test more.
56690
56691         * tests/test-gc-md2.c, tests/test-md2.c: New files.
56692
56693         * modules/md2, modules/md2-tests: New files.
56694
56695 2005-10-28  Simon Josefsson  <jas@extundo.com>
56696
56697         * m4/inet_ntop.m4: More tests.
56698
56699         * m4/gc-md2.m4, md2.m4: New file.
56700
56701 2005-10-28  Simon Josefsson  <jas@extundo.com>
56702
56703         * lib/inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add
56704         "restrict" keywords, as per POSIX.  Protect the function
56705         declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP.
56706         Don't use K&R prototypes.  Check the sprintf return values.
56707         Re-define EAFNOSUPPORT if not present.  Indent.
56708
56709         * lib/md5.h, md5.c: Simplify buffer handling visavi alignment,
56710         suggested by Bruno Haible <bruno@clisp.org>.
56711
56712         * lib/gc-gnulib.c, gc-libgcrypt.c: Check calloc return value.
56713
56714         * lib/gc.h: Add MD2 and RMD160 length defines.  Add prototypes.
56715
56716         * lib/gc-libgcrypt.c: Add MD2 (which is not available through
56717         libgcrypt).
56718
56719         * lib/gc-gnulib.c: Add MD2.  Implement gc_hash_* API.
56720
56721         * lib/md2.h, lib/md2.c: New files.
56722
56723 2005-10-28  Paul Eggert  <eggert@cs.ucla.edu>
56724
56725         * lib/savedir.c (savedir): Don't assume that xrealloc etc. leave
56726         errno alone.  Problem reported by Frederic Jolliton.
56727
56728 2005-10-27  Paul Eggert  <eggert@cs.ucla.edu>
56729
56730         * modules/verify (License): Change from GPL to LGPL.  This is a
56731         tiny module and there are apparently near-equivalents that are
56732         under the BSD license.
56733
56734 2005-10-24  Simon Josefsson  <jas@extundo.com>
56735
56736         * modules/sha1: Relicense to LGPL.
56737
56738 2005-10-24  Simon Josefsson  <jas@extundo.com>
56739
56740         * lib/md4.h: Shrink buffer size, now that we changed the type.
56741
56742 2005-10-23  Simon Josefsson  <jas@extundo.com>
56743
56744         * gnulib-tool (func_import): Fix --tests-base.
56745
56746 2005-10-22  Simon Josefsson  <jas@extundo.com>
56747
56748         * modules/arcfour (Depends-on): Need stdint.
56749
56750 2005-10-22  Simon Josefsson  <jas@extundo.com>
56751
56752         * m4/gc.m4: Don't be fooled by --disable-*random-device parameters,
56753         suggested by Bruno Haible <bruno@clisp.org>.  Fix error messages.
56754
56755 2005-10-22  Simon Josefsson  <jas@extundo.com>
56756
56757         * lib/md4.h, md4.c: Simplify buffer handling visavi alignment,
56758         suggested by Bruno Haible <bruno@clisp.org>.
56759
56760 2005-10-22  Simon Josefsson  <jas@extundo.com>
56761
56762         * lib/crc.h: Include stddef.h, for size_t.
56763
56764 2005-10-22  Simon Josefsson  <jas@extundo.com>
56765
56766         * lib/arcfour.h, arcfour.c: Use fixed size indices in the
56767         arcfour_context struct (simplify test vector testing in GNU
56768         Shishi).
56769
56770 2005-10-21  Simon Josefsson  <jas@extundo.com>
56771
56772         * modules/des, modules/des-tests: New files.
56773
56774         * modules/gc-des, modules/gc-des-tests: New files.
56775
56776         * tests/test-des.c, tests/test-gc-des.c: New file.
56777
56778 2005-10-21  Simon Josefsson  <jas@extundo.com>
56779
56780         * modules/arctwo, modules/arctwo-tests: New files.
56781
56782         * tests/test-arctwo.c: New file.
56783
56784         * modules/gc-arctwo, modules/gc-arctwo-tests: New files.
56785
56786         * tests/test-gc-arctwo.c: New file.
56787
56788 2005-10-21  Simon Josefsson  <jas@extundo.com>
56789
56790         * m4/gc.m4: Don't use libgcrypt if gcrypt.h isn't found, suggested by
56791         Bruno Haible <bruno@clisp.org>.
56792
56793         * m4/gc-des.m4: New file.
56794
56795 2005-10-21  Simon Josefsson  <jas@extundo.com>
56796
56797         * m4/arctwo.m4: New file.
56798
56799         * m4/gc-arctwo.m4: New file.
56800
56801 2005-10-21  Simon Josefsson  <jas@extundo.com>
56802
56803         * lib/rijndael-api-fst.c: Fix bugs in CBC mode for more than one
56804         block.
56805
56806 2005-10-21  Simon Josefsson  <jas@extundo.com>
56807
56808         * lib/hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible
56809         <bruno@clisp.org>.
56810
56811         * lib/hmac-sha1.c (hmac_sha1): Likewise.
56812
56813         * lib/crc.c (crc32_update): Actually use crc parameter, suggested by
56814         Bruno Haible <bruno@clisp.org>.
56815
56816         * lib/crc.h: Include stdint.h directly, suggested by Bruno Haible
56817         <bruno@clisp.org>.
56818
56819 2005-10-21  Simon Josefsson  <jas@extundo.com>
56820
56821         * lib/gc-libgcrypt.c (gc_cipher_open): Handle ECB.
56822
56823 2005-10-21  Simon Josefsson  <jas@extundo.com>
56824
56825         * lib/gc-gnulib.c: Support ARCTWO in CBC mode.
56826
56827 2005-10-21  Simon Josefsson  <jas@extundo.com>
56828
56829         * lib/des.h, lib/des.c: New files.
56830
56831         * lib/gc-gnulib.c: Support DES.c
56832
56833 2005-10-21  Simon Josefsson  <jas@extundo.com>
56834
56835         * lib/arctwo.h, lib/arctwo.c: New files.
56836
56837         * lib/gc-gnulib.c: Support ARCTWO.
56838
56839 2005-10-21  Simon Josefsson  <jas@extundo.com>
56840
56841         * lib/arctwo.h (arctwo_setkey): Protect variable in CPP macro,
56842         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
56843
56844 2005-10-21  Simon Josefsson  <jas@extundo.com>
56845
56846         * gnulib-tool (func_import, func_create_testdir): Define automake
56847         conditional GL_COND_LIBTOOL if libtool is used (to be used by modules
56848         Makefile.am snippet),
56849         suggested by Bruno Haible <bruno@clisp.org>.
56850
56851         * modules/gc (Makefile.am): Use it.
56852
56853 2005-10-21  Bruno Haible  <bruno@clisp.org>
56854
56855         * gnulib-tool (func_import, func_create_testdir): Add quoting to last
56856         patch.
56857
56858 2005-10-19  Simon Josefsson  <jas@extundo.com>
56859
56860         * tests/test-gc-rijndael.c: New file.
56861
56862         * modules/gc-rijndael, modules/gc-rijndael-test: New files.
56863
56864 2005-10-19  Simon Josefsson  <jas@extundo.com>
56865
56866         * tests/test-gc-md4.c, tests/test-gc-md5.c: Test gc_hash_buffer
56867         interface too.
56868
56869 2005-10-19  Simon Josefsson  <jas@extundo.com>
56870
56871         * tests/test-gc-arcfour.c: New file.
56872
56873         * modules/gc-arcfour, modules/gc-arcfour-tests: New files.
56874
56875 2005-10-19  Simon Josefsson  <jas@extundo.com>
56876
56877         * modules/gc-md4, modules/gc-md4-tests: New file.
56878
56879         * tests/test-gc-md4.c: New file.
56880
56881 2005-10-19  Simon Josefsson  <jas@extundo.com>
56882
56883         * m4/gc-md4.m4: New file.
56884
56885 2005-10-19  Simon Josefsson  <jas@extundo.com>
56886
56887         * m4/gc-hmac-md5.m4, gc-hmac-sha1.m4, gc-md4.m4,
56888         gc-md5.m4, gc-sha1.m4: Fix typo, suggested by Stepan Kasal
56889         <kasal@ucw.cz>.
56890
56891 2005-10-19  Simon Josefsson  <jas@extundo.com>
56892
56893         * m4/gc-arcfour.m4: New file.
56894
56895         * m4/gc-rijndael.m4: New file.
56896
56897 2005-10-19  Simon Josefsson  <jas@extundo.com>
56898
56899         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4.
56900
56901 2005-10-19  Simon Josefsson  <jas@extundo.com>
56902
56903         * lib/gc-gnulib.c: Support ARCFOUR.
56904
56905 2005-10-19  Simon Josefsson  <jas@extundo.com>
56906
56907         * lib/gc-gnulib.c: Implement gc_cipher_* API, currently only with AES
56908         support.
56909
56910         * lib/gc.h: Add ECB enum type.
56911
56912         * lib/hmac-md5.c, hmac-sha1.c: Include memxor.h.
56913
56914 2005-10-18  Simon Josefsson  <jas@extundo.com>
56915
56916         * tests/test-md5.c: New file.
56917
56918         * modules/md5-tests: New file.
56919
56920 2005-10-18  Simon Josefsson  <jas@extundo.com>
56921
56922         * tests/test-md4.c: New file.
56923
56924         * modules/md4, modules/md4-tests: New files.
56925
56926 2005-10-18  Simon Josefsson  <jas@extundo.com>
56927
56928         * m4/md4.m4: New file.
56929
56930 2005-10-18  Simon Josefsson  <jas@extundo.com>
56931
56932         * lib/md4.h, lib/md4.c: New files, based on md5.?.
56933
56934 2005-10-17  Stepan Kasal  <kasal@ucw.cz>
56935
56936         * gnulib-tool (func_create_testdir): Omit the second check whether
56937         BUILT_SOURCES in nonempty.
56938
56939 2005-10-17  Simon Josefsson  <jas@extundo.com>
56940
56941         * tests/test-rijndael.c: New file.
56942
56943 2005-10-17  Simon Josefsson  <jas@extundo.com>
56944
56945         * modules/sha1: Depend on stdint instead of md5.
56946
56947         * modules/md5: Depend on stdint, remove uint32_t.
56948
56949 2005-10-17  Simon Josefsson  <jas@extundo.com>
56950
56951         * modules/gc-sha1-tests: New file.
56952
56953         * tests/test-gc-sha1.c: New file.
56954
56955 2005-10-17  Simon Josefsson  <jas@extundo.com>
56956
56957         * m4/md5.m4: Remove call to uint32_t.m4.
56958
56959 2005-10-17  Simon Josefsson  <jas@extundo.com>
56960
56961         * lib/sha1.c: Use uint32_t instead of md5_uint32.t
56962
56963         * lib/sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from
56964         md5.h.
56965
56966         * lib/md5.c: Use uin32_t.  Fix non-gcc UNALIGNED_P macro.
56967
56968         * lib/md5.h: Use stdint.h and uint32_t.  Doc fix.
56969
56970 2005-10-17  Simon Josefsson  <jas@extundo.com>
56971
56972         * lib/gc.h, gc-libgcrypt.c: Add more hash types/functions.
56973
56974 2005-10-17  Simon Josefsson  <jas@extundo.com>
56975
56976         * lib/gc.h, gc-libgcrypt.c: Add ciphers.
56977
56978 2005-10-17  Simon Josefsson  <jas@extundo.com>
56979
56980         * lib/gc-libgcrypt.c (gc_hmac_sha1): Fix assert.
56981
56982         * lib/gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes.
56983
56984 2005-10-17  Bruno Haible  <bruno@clisp.org>
56985
56986         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Change the return statement so
56987         that it can also be used in a test.
56988
56989 2005-10-16  Bruno Haible  <bruno@clisp.org>
56990
56991         * gnulib-tool (func_emit_tests_Makefile_am): Also define
56992         TESTS_ENVIRONMENT, so that individual tests can augment it.
56993
56994         * gnulib-tool (func_create_testdir): Use an intermediate target for
56995         building $(BUILT_SOURCES). Needed because BUILT_SOURCES can contain
56996         macros, like $(ALLOCA_H), which cannot be passed through the command
56997         line.
56998
56999 2005-10-15  Simon Josefsson  <jas@extundo.com>
57000
57001         * modules/rijndael-tests: New file.
57002
57003         * modules/rijndael: New file.
57004
57005 2005-10-15  Simon Josefsson  <jas@extundo.com>
57006
57007         * m4/rijndael.m4: New file.
57008
57009 2005-10-15  Simon Josefsson  <jas@extundo.com>
57010
57011         * lib/rijndael-api-fst.h, lib/rijndael-api-fst.c: New files.
57012
57013         * lib/rijndael-alg-fst.h, lib/rijndael-alg-fst.c: New files.
57014
57015 2005-10-14  Simon Josefsson  <jas@extundo.com>
57016
57017         * tests/test-arcfour.c: New file.
57018
57019         * modules/arcfour, modules/arcfour-tests: New files.
57020
57021 2005-10-14  Simon Josefsson  <jas@extundo.com>
57022
57023         * m4/arcfour.m4: New file.
57024
57025 2005-10-14  Simon Josefsson  <jas@extundo.com>
57026
57027         * lib/arcfour.h, lib/arcfour.c: New files.
57028
57029 2005-10-14  Roland McGrath  <roland@redhat.com>
57030
57031         Import from libc.  [BZ #1331]
57032         * lib/obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed
57033         macro argument.
57034         Reported by Matej Vela <vela@debian.org>.
57035
57036 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
57037
57038         * lib/obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't
57039         include <wchar.h>; no longer needed.
57040
57041 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
57042
57043         * config/srclist.txt: Add glibc bug 321 for obstack.c, obstack.h.
57044
57045 2005-10-14  Jakub Jelinek  <jakub@redhat.com>
57046         and  Ulrich Drepper  <drepper@redhat.com>
57047
57048         Import from libc.
57049         * lib/obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf
57050         instead of inline stream orientation test and two separate
57051         function calls.  Pay no attention to USE_IN_LIBIO.
57052
57053 2005-10-13  Simon Josefsson  <jas@extundo.com>
57054
57055         * modules/gc-hmac-md5-tests: New file.
57056
57057         * tests/test-gc-hmac-sha1.c: New file.
57058
57059         * tests/test-gc.c (main): Remove MD5 and HMAC-MD5 tests.
57060
57061         * modules/gc-hmac-md5-tests: New file.
57062
57063         * tests/test-gc-md5.c: New file.
57064
57065         * modules/gc-md5-tests: New file.
57066
57067 2005-10-13  Simon Josefsson  <jas@extundo.com>
57068
57069         * lib/gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation.
57070         Move memory allocation outside of loop.
57071
57072 2005-10-13  Paul Eggert  <eggert@cs.ucla.edu>
57073
57074         * lib/mkdir-p.c (make_dir_parents): Don't report an error if an
57075         intermediate directory is in a read-only file system.  Problem
57076         reported by Eric Blake.
57077
57078 2005-10-13  Oskar Liljeblad  <oskar@osk.mine.nu>
57079
57080         * modules/human (Depends-on): Depend on xstrtoumax, not xstrtol.
57081
57082 2005-10-12  Simon Josefsson  <jas@extundo.com>
57083
57084         * tests/test-hmac-sha1.c: New file.
57085
57086         * modules/hmac-sha1-tests: New file.
57087
57088         * modules/hmac-sha1: New file.
57089
57090 2005-10-12  Simon Josefsson  <jas@extundo.com>
57091
57092         * modules/gc-sha1: New file.
57093
57094 2005-10-12  Simon Josefsson  <jas@extundo.com>
57095
57096         * modules/gc-pbkdf2-sha1, modules/gc-pbkdf2-sha1-tests: New files.
57097
57098         * tests/test-gc-pbkdf2-sha1.c: New file.
57099
57100 2005-10-12  Simon Josefsson  <jas@extundo.com>
57101
57102         * modules/gc-md5, modules/gc-hmac-md5: New files.
57103
57104         * modules/gc (Files): Remove md5, memxor and hmac files.
57105
57106 2005-10-12  Simon Josefsson  <jas@extundo.com>
57107
57108         * m4/gc-pbkdf2-sha1.m4: New file.
57109
57110         * m4/gc-hmac-sha1.m4: New file.
57111
57112         * m4/gc-sha1: New file.
57113
57114         * m4/hmac-sha1.m4: New file.
57115
57116 2005-10-12  Simon Josefsson  <jas@extundo.com>
57117
57118         * m4/gc-md5.m4, m4/gc-hmac-md5.m4: New files.
57119
57120         * m4/gc.m4: Don't call gl_MD5, gl_MEMXOR or gl_HMAC_MD5.
57121
57122 2005-10-12  Simon Josefsson  <jas@extundo.com>
57123
57124         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types,
57125         suggested by Bruno Haible <bruno@clisp.org>.
57126
57127 2005-10-12  Simon Josefsson  <jas@extundo.com>
57128
57129         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1.
57130
57131 2005-10-12  Simon Josefsson  <jas@extundo.com>
57132
57133         * lib/gc-pbkdf2-sha1.c: New file.
57134
57135         * lib/gc.h: Add gc_pbkdf2_sha1 prototype.
57136
57137 2005-10-12  Simon Josefsson  <jas@extundo.com>
57138
57139         * lib/gc-libgcrypt.c (gc_hmac_sha1): New function.
57140
57141         * lib/gc-gnulib.c (gc_hmac_sha1): New function.
57142
57143 2005-10-12  Simon Josefsson  <jas@extundo.com>
57144
57145         * lib/gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and
57146         GC_USE_HMAC_MD5, respectively.
57147
57148         * lib/gc-libgcrypt.c (gc_md5): Fix assert call.
57149         (gc_md5): Fix typo.
57150
57151         * lib/gc.h (gc_hash_buffer): Use gc_hash in prototype.
57152
57153         * lib/gc-libgcrypt.c (gc_hash_buffer): Ditto.
57154
57155         * lib/gc-gnulib.c (gc_hash_buffer): Ditto.
57156
57157 2005-10-12  Bruno Haible  <bruno@clisp.org>
57158
57159         * m4/stdbool.m4 (gl_STDBOOL_H): Define as an alias of AM_STDBOOL_H.
57160         Reported by Stepan Kasal <kasal@ucw.cz>.
57161
57162 2005-10-11  Simon Josefsson  <jas@extundo.com>
57163
57164         * tests/test-crc.c: New file.
57165
57166         * modules/crc, modules/crc-tests: New files.
57167
57168 2005-10-11  Simon Josefsson  <jas@extundo.com>
57169
57170         * m4/crc.m4: New file.
57171
57172 2005-10-11  Simon Josefsson  <jas@extundo.com>
57173
57174         * lib/gc.h: Add gc_hash and gc_hash_buffer.
57175
57176         * lib/gc-gnulib.c (gc_hash_buffer): Add.  Reorder #include's.
57177
57178         * lib/gc-libgcrypt.c (gc_hash_buffer): Add.
57179
57180 2005-10-11  Simon Josefsson  <jas@extundo.com>
57181
57182         * lib/crc.h, lib/crc.c: New files.
57183
57184         * lib/gc.h (gc_hash_buffer): Add doc.
57185
57186 2005-10-11  Bruno Haible  <bruno@clisp.org>
57187
57188         * modules/c-strcasestr: New file.
57189         * MODULES.html.sh (String handling <string.h>): Add c-strcasestr.
57190
57191 2005-10-11  Bruno Haible  <bruno@clisp.org>
57192
57193         * modules/c-strcase: New file.
57194         * MODULES.html.sh (String handling <string.h>): Add c-strcase.
57195
57196 2005-10-11  Bruno Haible  <bruno@clisp.org>
57197
57198         * lib/strcasecmp.c: Include limits.h.
57199         (strcasecmp): Avoid integer overflow on exotic platforms.
57200         * lib/strncasecmp.c: Include limits.h.
57201         (strncasecmp): Avoid integer overflow on exotic platforms.
57202         Reported by Paul Eggert.
57203
57204 2005-10-11  Bruno Haible  <bruno@clisp.org>
57205
57206         * lib/c-strcasestr.h: New file, from GNU gettext.
57207         * lib/c-strcasestr.c: New file, from GNU gettext.
57208
57209 2005-10-11  Bruno Haible  <bruno@clisp.org>
57210
57211         * lib/c-strcase.h: New file, from GNU gettext.
57212         * lib/c-strcasecmp.c: New file, from GNU gettext.
57213         * lib/c-strncasecmp.c: New file, from GNU gettext.
57214
57215 2005-10-10  Paul Eggert  <eggert@cs.ucla.edu>
57216
57217         * modules/mempcpy (License): GPL -> LGPL.
57218         * modules/strchrnul (License): Likewise.
57219         * modules/sysexits (License): Likewise.
57220
57221 2005-10-08  Simon Josefsson  <jas@extundo.com>
57222
57223         * config/srclist.txt: Bug 1423 is closed, but 1439 remains.
57224
57225 2005-10-07  Simon Josefsson  <jas@extundo.com>
57226
57227         * m4/memxor.m4: Remove gl_C_RESTRICT call.
57228
57229 2005-10-06  Simon Josefsson  <jas@extundo.com>
57230
57231         * tests/test-hmac-md5.c: New file.
57232
57233         * modules/hmac-md5-tests: New file.
57234
57235         * modules/hmac-md5: New file.
57236
57237 2005-10-06  Simon Josefsson  <jas@extundo.com>
57238
57239         * m4/hmac-md5.m4: New file.
57240
57241         * m4/memxor.m4: Require gl_C_RESTRICT.
57242
57243 2005-10-06  Simon Josefsson  <jas@extundo.com>
57244
57245         * lib/memxor.c (memxor): Avoid casts and warnings.
57246
57247 2005-10-06  Simon Josefsson  <jas@extundo.com>
57248
57249         * lib/hmac-md5.c: New file.
57250
57251         * lib/hmac.h: New file.
57252
57253 2005-10-06  Paul Eggert  <eggert@cs.ucla.edu>
57254
57255         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check that bool
57256         promotes to int, not unsigned int, to catch the AIX 5.3
57257         compiler bug.
57258
57259 2005-10-05  Simon Josefsson  <jas@extundo.com>
57260
57261         * modules/memxor: New file.
57262
57263         * modules/iconv (Files): Move config.rpath to havelib, it is used
57264         there.
57265
57266         * modules/havelib (Files): Add config.rpath.
57267
57268 2005-10-05  Simon Josefsson  <jas@extundo.com>
57269
57270         * m4/memxor.m4: New file.
57271
57272 2005-10-05  Simon Josefsson  <jas@extundo.com>
57273
57274         * lib/memxor.c (memxor): Fix compiler error.
57275
57276         * lib/md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also
57277         <http://sourceware.org/bugzilla/show_bug.cgi?id=1423>.
57278
57279         * lib/memxor.h, lib/memxor.c: New files.
57280
57281         * lib/getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H,
57282         we assume all systems have it, suggested by Jim Meyering
57283         <jim@meyering.net>.  Remove HAVE_SYS_SOCKET_H test too, to see if
57284         any systems lack sys/socket.h; mingw32 is known to lack it, but we
57285         don't support it yet anyway.  Also remove HAVE_NETDB_H test, for
57286         same reasons.
57287
57288 2005-10-05  Simon Josefsson  <jas@extundo.com>
57289
57290         * config/srclist.txt: Add glibc bug 1423 for md5.h.
57291
57292 2005-10-05  Paul Eggert  <eggert@cs.ucla.edu>
57293
57294         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Don't check for
57295         sys/socket.h, netdb.h, sys/types.h; the checks areno longer
57296         needed, since the source code now assumes these .h files.
57297
57298 2005-10-05  Derek Price  <derek@ximbiot.com>
57299
57300         * lib/getdelim.c (SIZE_MAX): New macro, if not already defined.
57301
57302 2005-10-05  Bruno Haible  <bruno@clisp.org>
57303
57304         * modules/stdint (License): Change to LGPL.
57305
57306 2005-10-04  Simon Josefsson  <jas@extundo.com>
57307
57308         * lib/getaddrinfo.h: Move sys/types.h include first, reported by "Mark
57309         D. Baushke" <mdb@gnu.org>.
57310
57311 2005-10-04  Bruno Haible  <bruno@clisp.org>
57312
57313         * lib/verify.h (verify_true): Provide alternative definition for C++.
57314
57315 2005-10-03  Paul Eggert  <eggert@cs.ucla.edu>
57316
57317         * lib/getdelim.c: Include getdelim.h first.  Include <limits.h>.
57318         (SSIZE_MAX): New macro, if not already defined.
57319         (getdelim): Fix buffer overrun on 64-bit hosts with lines longer
57320         than 2 GiB.
57321
57322 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
57323
57324         Sync from coreutils.
57325         * m4/openat.m4 (gl_FUNC_OPENAT): Check for fdopendir.
57326         * m4/ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely
57327         defines ULONG_MAX_LT_ULLONG_MAX.  Thomas M.Ott reports that
57328         ULLONG_MAX doesn't work with 2.7.2.1.
57329
57330 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
57331
57332         * modules/xreadlink (Makefile.am): Remove lib_SOURCES.
57333         From Ben Pfaff.
57334
57335         * modules/exclude (Depends-on): Depend on verify.
57336         * modules/strtoimax (Depends-on): Likewise.
57337         * modules/utimecmp (Depends-on): Likewise.
57338
57339 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
57340
57341         * lib/exclude.c: Include verify.h.
57342         (verify): Remove.  All callers changed to use verify.h's version.
57343         * lib/strtoimax.c: Likewise.
57344         * lib/utimecmp.c: Likewis.e
57345
57346         Sync from coreutils.
57347         * lib/.cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h,
57348         getpass.c, mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h.
57349         * lib/.cvsignore: Add fts.h, search.h, t-fpending.
57350         * lib/settime.c (settime): Fix { typo in previous patch.  Also, don't
57351         bother returning ENOSYS if settimeofday or stime fails; just let
57352         them return whatever errno they want to return.
57353         * lib/utimens.c: Include unistd.h, for dup2.
57354         (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if.
57355         (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1.
57356
57357 2005-10-02  Jim Meyering  <jim@meyering.net>
57358
57359         Sync from coreutils.
57360         * m4/utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes
57361         from glibc-2.2.5 that fails for read-only files.
57362
57363 2005-10-02  Jim Meyering  <jim@meyering.net>
57364
57365         Sync from coreutils.
57366         * lib/fts-cycle.c [HAVE_CONFIG_H]: Include <config.h>.
57367         * lib/openat-die.c: Use `#ifdef HAVE_CONFIG_H', not
57368         `#if HAVE_CONFIG_H'.
57369         * lib/openat.c (fdopendir): Do not define if HAVE_FDOPENDIR.
57370         Remove AT_FDCWD test.
57371         Do not consume the fd unless successful.
57372         * lib/openat.h (fdopendir): Do not define if HAVE_FDOPENDIR.
57373         * lib/settime.c (settime): Move the HAVE_STIME block `up' into an #elif
57374         block, so that we don't even try to compile it if settimeofday is
57375         available.  This works around a compilation failure on OSF1 V5.1,
57376         due to stime requiring a `long int*' while tv_sec is `int'.
57377
57378 2005-10-02  Alfred M. Szmidt  <ams@gnu.org>
57379
57380         Sync from coreutils.
57381         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path...
57382         against `yes', rather than just testing for nonempty.
57383
57384 2005-10-01  Simon Josefsson  <jas@extundo.com>
57385
57386         * m4/getaddrinfo.m4: Include sys/types.h for sys/socket.h, on FreeBSD
57387         and Darwin.
57388
57389         * m4/getaddrinfo.m4: Use AC_GNU_SOURCE, GNU only declare getaddrinfo
57390         as an (POSIX) extension.  Check for sys/types.h, sys/socket.h, and
57391         netdb.h too, needed by getaddrinfo.h.  Check if getaddrinfo,
57392         freeaddrinfo and gai_strerror are declared by the POSIX headers.
57393         Check if struct addrinfo is declared.
57394
57395 2005-10-01  Simon Josefsson  <jas@extundo.com>
57396
57397         * lib/getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h.
57398         Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO.  Protect
57399         AI_* and EAI_* definitions.  Protect function declarations.
57400
57401 2005-10-01  Jim Meyering  <jim@meyering.net>
57402
57403         Sync from coreutils.
57404
57405         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Look for getservbyname in these
57406         libraries [inet nsl socket xnet].  Nelson Beebe reported that with
57407         native cc on Solaris 7, getaddrinfo.c requires -lsocket.
57408         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
57409         in the inet and nsl libraries.  Required on Solaris 5.7.
57410
57411 2005-10-01  Jim Meyering  <jim@meyering.net>
57412
57413         Sync from coreutils.
57414         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
57415         in the inet and nsl libraries.  Required on Solaris 5.7.
57416
57417 2005-10-01  Eric Blake  <ebb9@byu.net>  (tiny change)
57418
57419         * lib/getdelim.c (getdelim): Remove unused variables.
57420
57421 2005-09-29  Paul Eggert  <eggert@cs.ucla.edu>
57422
57423         * lib/xtime.h (XTIME_PRECISION): Now of type int, not long long int,
57424         so that the code works even with ancient cpp.  Portability problem
57425         with GCC 2.7.2.1 reported by Thomas M.Ott.
57426
57427 2005-09-27  Paul Eggert  <eggert@cs.ucla.edu>
57428
57429         * modules/regex (Depends-on): Add strcase.
57430
57431         * modules/gethostname (Licence): Change from GPL to LGPL, since
57432         gethostname.c is a trivial implementation of a standard library
57433         function.
57434         * modules/poll (License): Change from GPL to LGPL, since it's
57435         derived from LGPL code.
57436
57437 2005-09-27  Jim Meyering  <jim@meyering.net>
57438
57439         * lib/getcwd.c: Change #ifdef<TAB>HAVE_CONFIG_H to #ifdef
57440         HAVE_CONFIG_H.
57441
57442         * lib/intprops.h (signed_type_or_expr__): Define.
57443         (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound
57444         for unsigned types.
57445
57446 2005-09-26  Paul Eggert  <eggert@cs.ucla.edu>
57447
57448         * lib/verify.h (verify_expr): Remove, replacing with:
57449         (verify_true): New macro that returns true instead of void.
57450         (verify_type__): Remove.
57451         (verify): Use verify_true rather than verify_type__.
57452
57453 2005-09-26  Bruno Haible  <bruno@clisp.org>
57454
57455         * modules/mbchar (Include): Mention that HAVE_WCHAR_H && HAVE_WCTYPE_H
57456         is necessary.
57457         (lib_SOURCES): Remove mbchar.c.
57458         * modules/mbfile (Include): Mention that HAVE_MBRTOWC is necessary.
57459         (Files): Add m4/mbrtowc.m4.
57460         * modules/mbiter: Likewise.
57461         * modules/mbuiter: Likewise.
57462
57463 2005-09-26  Bruno Haible  <bruno@clisp.org>
57464
57465         * m4/mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't
57466         compile mbchar.c if they are not both present.
57467         * m4/mbfile.m4 (gl_MBFILE): Require gl_FUNC_MBRTOWC.
57468         * m4/mbiter.m4 (gl_MBITER): Likewise.
57469         * m4/strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE.
57470         * m4/strcasestr.m4 (gl_PREREQ_STRCASESTR): Likewise.
57471         * m4/strcase.m4 (gl_PREREQ_STRCASECMP): Likewise.
57472
57473 2005-09-25  Jim Meyering  <jim@meyering.net>
57474
57475         * modules/inet_ntop (Depends-on): Add socklen, since inet_ntop.c
57476         also uses socklen_t.
57477
57478 2005-09-24  Paul Eggert  <eggert@cs.ucla.edu>
57479
57480         * lib/utimens.c (ENOSYS): Define if not already defined.
57481         (futimens): Support having a null PATH if the file descriptor
57482         is nonnegative.
57483
57484         * lib/regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure):
57485         Remove.
57486         (__attribute): Define to empty unless GCC 3.1 or later.
57487         This works around a core dump on OpenBSD 3.4, which has GCC
57488         2.95.3, which dumps core when given __attribute__(()).  It also
57489         simplifies other tests, since we really don't want to bother with
57490         worrying about which ancient version of GCC supported what.
57491         Original problem reported by Yoann Vandoorselaere, with part of
57492         the fix suggested by Derek Price.
57493
57494 2005-09-24  Jim Meyering  <jim@meyering.net>
57495
57496         * lib/verify.h (verify_type__): Use `unsigned int' as the bitfield type
57497         so we can once again use a positive bitfield width of 1 -- now we
57498         don't have to explain why we were using a bitfield width of 2.
57499
57500 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
57501
57502         * m4/regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp,
57503         and similarly for the other external symbols.  Problem reported
57504         by James Gallager.
57505
57506         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux
57507         bug reported by Jim Meyering.
57508
57509         * m4/utimens.m4 (gl_UTIMENS): Check for futimesat.
57510         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Undo previous change;
57511         not needed, since socklen is a prerequisite module.
57512
57513 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
57514
57515         * lib/getaddrinfo.c [HAVE_NETINET_IN_H]: Include <netinet/in.h>.
57516         Problem reported by Eric Blake.
57517         (getaddrinfo): Initialize se so that it's not garbage.
57518         Redo internal storage allocation so that it doesn't make unportable
57519         assumptions about alignment.
57520         Fix a memory leak.
57521
57522         * lib/utimens.c (futimens): Use futimesat if available.
57523         Prefer it to futimes since it doesn't have the futimes bug.
57524
57525         * lib/verify.h (GL_CONCAT0, GL_CONCAT): Remove.
57526         (verify): Don't use the __LINE__ trick, as it doesn't work in general.
57527         Instead, declare a function that returns a pointer to an array,
57528         and use verify_type__ to declare the size of the array.
57529         Problem and germ of a solution reported by Bruno Haible.
57530         (verify_type__): Use 2, not 1, for bitfield size, to avoid
57531         a warning with Irix 6.5 cc.  Problem reported by Bruno Haible.
57532
57533 2005-09-23  Jim Meyering  <jim@meyering.net>
57534
57535         Sync from coreutils.
57536         Correct build failure (socklen_t not defined) on at least
57537         mips-sgi-irix6.5 and alphaev67-dec-osf5.1.
57538         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T.
57539
57540 2005-09-23  Jim Meyering  <jim@meyering.net>
57541
57542         * modules/getaddrinfo (Depends-on): Add socklen.
57543
57544 2005-09-23  Bruno Haible  <bruno@clisp.org>
57545
57546         * tests/test-verify.c: New file.
57547
57548 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
57549
57550         Sync from coreutils.
57551
57552         * modules/argmatch (Depends-on): Add verify.
57553         * modules/getloadavg (Depends-on): Depend on fcntl-safer, not
57554         unistd-safer.
57555         * modules/save-cwd (Depends-on): Likewise.
57556
57557         * modules/openat (Files): Add lib/openat-die.c.
57558         (Depends-on): Remove error, exitfail.
57559         Add dirname.
57560
57561         * modules/verify: New file.
57562         * MODULES.html.sh (Diagnostics <assert.h>): New section,
57563         with "verify" module.
57564
57565 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
57566
57567         Sync from coreutils.
57568
57569         * m4/backupfile.m4, calloc.m4, chown.m4, cloexec.m4, dup2.m4:
57570         * m4/fileblocks.m4, free.m4, ftruncate.m4, getcwd.m4, getpagesize.m4:
57571         * m4/getugroups.m4, group-member.m4, idcache.m4, link-follow.m4:
57572         * m4/mkstemp.m4, mktime.m4, mountlist.m4, nanosleep.m4, pathmax.m4:
57573         * m4/physmem.m4, posixver.m4, putenv.m4, safe-read.m4, same.m4:
57574         * m4/save-cwd.m4, stdio-safer.m4, unistd-safer.m4, unlinkdir.m4:
57575         * m4/userspec.m4, xgetcwd.m4, xreadlink.m4:
57576         Don't bother checking for string.h, stdlib.h, unistd.h.
57577         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't require
57578         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat
57579         module's job.
57580         * m4/jm-macros.m4 (gl_MACROS): Likewise.
57581         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_LSTAT.
57582
57583         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): New macro.
57584         (gl_GETDATE): Use it.
57585
57586         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't bother checking for unistd.h.
57587
57588 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
57589
57590         Sync from coreutils.
57591
57592         * lib/.cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h,
57593         stat-time.h.
57594         * lib/argmatch.h: Include verify.h
57595         (ARGMATCH_VERIFY): Use verify rather than rolling our own.
57596         (ARGMATCH_ASSERT): Remove; unused.
57597         * lib/canonicalize.c: Assume STDC_HEADERS.
57598         * lib/exclude.c: Include "strcase.h".
57599         * lib/regex_internal.h [!defined _LIBC]: Likewise.
57600         * lib/getusershell.c: Include stdio--.h rather than stdio.h
57601         and stdio-safer.h.
57602         (getusershell): Call fopen, not fopen_safer.
57603         * lib/save-cwd.c: Include fcntl--.h rather than fcntl.h.
57604         Do not include unistd-safer.h.
57605         (save_cwd): Don't call fd_safer; no longer needed
57606         now that we include fcntl--.h.
57607
57608         * lib/getdate.y (relative_time): New type.
57609         (RELATIVE_TIME_0): New constant.
57610         (parser_control): Use relative_time instead of doing it ourselves.
57611         (%union): Add new relative_time rel member.
57612         (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT):
57613         Now typeless.
57614         (relunit, relunit_snumber): Now of type rel.
57615         (zone, rel, relunit, get_date): Adjust to above changes.
57616
57617         * lib/getloadavg.c: Include fcntl--.h rather than fcntl.h.
57618         Do not include unistd-safer.h.
57619         (getloadavg): Don't call fd_safer; no longer needed
57620         now that we include fcntl--.h.
57621
57622         * lib/mkdir-p.c (ENOSYS): Define to EEXIST if not defined.
57623         (make_dir_parents): Treat ENOSYS like EEXIST.
57624
57625         Improve quality of diagnostics on restore_cwd failure.
57626         * lib/mkdir-p.h (make_dir): Remove.  All uses replaced by mkdir.
57627         (make_dir_parents): Last arg is now int * (for errno), not bool *.
57628         * lib/mkdir-p.c (make_dir, make_dir_parents): Likewise.
57629         Rewrite "mkdir -p" algorithm to avoid the need for "stat"
57630         each time through the loop.  Do not diagnose restore_cwd failure;
57631         that is the caller's job (and perhaps the caller does not care).
57632
57633         * lib/mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove.
57634         (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP.
57635         If the file already exists but is not a directory, don't bother
57636         to try to make its parents.
57637         Close potential file descriptor leak if we can't chdir("/") (!).
57638         Don't always return true if chdir($PWD) fails; return true only
57639         if the requested action was done successfully (except for the
57640         chdir($PWD)).
57641         Don't log final directory unless we actually made it.
57642         Refactor to avoid duplicate code to fix up permissions.
57643         Don't attempt to fix up parent permissions if chdir($PWD) fails.
57644
57645         * lib/strftime.c (my_strftime): Rewrite the previous change slightly,
57646         to make it a bit faster and (I hope) clearer.
57647         * lib/strftime.c (my_strftime): Add support for %:z, %::z, %:::z.
57648         Fix bug in formats like %2N.
57649
57650         * lib/verify.h: New file.
57651
57652 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
57653
57654         Sync from coreutils.
57655         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h.
57656
57657 2005-09-22  Jim Meyering  <jim@meyering.net>
57658
57659         Sync from coreutils.
57660
57661         * m4/lstat.m4 (gl_FUNC_LSTAT):
57662         Use AC_LIBSOURCES to require lstat.c and lstat.h.
57663         Remove obsolete comment.
57664         * m4/xreadlink.m4: Use AC_LIBSOURCES and AC_LIBOBJ.
57665         * m4/xstrtod.m4: Likewise.
57666
57667         * m4/openat.m4 (gl_FUNC_OPENAT): Add openat-die.c.
57668
57669 2005-09-22  Jim Meyering  <jim@meyering.net>
57670
57671         Sync from coreutils.
57672
57673         * lib/backupfile.c: Use ARGMATCH_VERIFY, just in case.
57674
57675         * lib/posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just
57676         the .tm_year member, since otherwise gcc-4.0 would now warn about
57677         tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday.
57678
57679         * lib/quotearg.c (quotearg_n_options): Change code to be suboptimal, in
57680         order to avoid an unsuppressible warning from gcc on 64-bit systems.
57681
57682         * lib/getdate.y (get_date): Undo part of the 2005-04-04 change, so that
57683         the command "date -d'2005-03-27 +1 day'" succeeds once again, even
57684         when run in a time zone for which daylight savings time is in effect
57685         for the starting date.
57686
57687         * lib/mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD)
57688         stop us from restricting permissions of just-created absolute-named
57689         directories.
57690         * lib/mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing
57691         to restore initial working directory.
57692         * lib/mkdir-p.c (make_dir_parents): New parameter:
57693         different_working_dir, to tell caller if/when we change the working
57694         directory and are unable to return to the initial one.
57695         * lib/mkdir-p.h (make_dir_parents): Update prototype.
57696         * lib/mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to
57697         `return false'.  This fixes a bug introduced on 2004-07-30.
57698
57699         * lib/openat.c (fdopendir): Be sure to close the supplied
57700         file descriptor before returning.  This makes our replacement
57701         implementation a little closer to Solaris's, where fdopendir
57702         ties the file descriptor to the returned DIR* pointer.
57703         * lib/openat.c (unlinkat): New function.
57704         * lib/openat.h (unlinkat): Add prototype.
57705         * lib/openat-die.c (openat_save_fail): Rename from openat_save_die.
57706         (openat_restore_fail): Rename from openat_restore_die.
57707         * lib/openat.c, openat.h: Reflect s/_die/_fail/ renaming.
57708
57709         Provide an alternative to exiting immediately upon save_cwd or
57710         restore_cwd failure.  Now, an application can arrange e.g.,
57711         to perform a longjump in that case.
57712         * lib/openat.c: Include dirname.h.
57713         Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash.
57714         (rpl_openat, fdopendir, fstatat): Call openat_save_die
57715         and openat_restore_die rather than calling error directly.
57716         Don't include "error.h" or "exitfail.h"; they're no longer needed.
57717
57718         * lib/openat-die.c (openat_save_die, openat_restore_die): New file.
57719         * lib/openat.h (openat_save_die, openat_restore_die): Declare and
57720         define.
57721
57722         * lib/strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface:
57723         size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
57724                             int utc, int nanoseconds);
57725         Background:
57726         date should not have to allocate a megabyte of virtual memory to
57727         handle a format argument like +%1048575T.  When implemented with
57728         strftime, it must allocate such a buffer, use strftime to fill it
57729         in, print it, then free it.
57730         With fprintftime, it simply prints everything and exits.
57731         With no need for memory allocation, that's one fewer way to fail.
57732         * lib/strftime.c (my_strftime): Parse the colons of %:::z *after* the
57733         optional field width, not before, so we accept %9:z, not %:9z.
57734         (my_strftime): Be sure to use L_('x') for literals.
57735
57736         * lib/backupfile.c, lib/canon-host.c, lib/canonicalize.c, lib/chown.c:
57737         * lib/cloexec.c, lib/dup-safer.c, lib/dup2.c, lib/euidaccess.c:
57738         * lib/fd-safer.c, lib/fileblocks.c, lib/fopen-safer.c, lib/fsusage.c:
57739         * lib/ftruncate.c, lib/getcwd.c, lib/getcwd.h, lib/getloadavg.c:
57740         * lib/getopt_.h, lib/getpagesize.h, lib/getugroups.c:
57741         * lib/group-member.c, lib/human.h, lib/idcache.c, lib/mkdir-p.c:
57742         * lib/mountlist.c, lib/nanosleep.c, lib/pathmax.h, lib/physmem.c:
57743         * lib/posixver.c, lib/putenv.c, lib/raise.c, lib/safe-read.c:
57744         * lib/same.c, lib/save-cwd.c, lib/setenv.c, lib/settime.c:
57745         * lib/tempname.c, lib/unlinkdir.c, lib/unsetenv.c, lib/userspec.c:
57746         * lib/xgethostname.c, lib/xreadlink.c:
57747         Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally.
57748
57749         * lib/chown.c, lib/cloexec.c, lib/dup-safer.c, lib/dup2.c:
57750         * lib/fsusage.c, lib/getcwd.c, lib/getloadavg.c, lib/mountlist.c:
57751         * lib/openat.h, lib/save-cwd.c, lib/tempname.c:
57752         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
57753         and don't include <sys/file.h>).
57754
57755 2005-09-22  Eric Blake  <ebb9@byu.net>  (tiny change)
57756
57757         Sync from coreutils.
57758
57759         * lib/getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin.
57760         [__linux__]: Allocate a big enough buffer for /proc/loadavg.
57761         [!LDAV_DONE]: Avoid unused variable warning.
57762
57763 2005-09-21  Bruno Haible  <bruno@clisp.org>
57764
57765         * lib/unicodeio.h (unicode_to_mb): New declaration.
57766
57767 2005-09-20  Derek Price  <derek@ximbiot.com>
57768
57769         * lib/getaddrinfo.c: Don't include <netdb.h> included from
57770         getaddrinfo.h.
57771
57772 2005-09-20  Bruno Haible  <bruno@clisp.org>
57773
57774         * gnulib-tool: Remove trailing slashes from the values specified for
57775         --source-base, --m4-base, --tests-base, --aux-dir.
57776         Suggested by Simon Josefsson <jas@extundo.com>.
57777
57778 2005-09-20  Bruno Haible  <bruno@clisp.org>
57779
57780         * gnulib-tool (func_all_modules, func_modules_transitive_closure,
57781         func_modules_to_filelist, func_import, func_create_testdir): Make all
57782         sorting results locale-independent, so that gnulib-cache.m4 doesn't
57783         change when gnulib-tool is invoked in a different locale.
57784
57785 2005-09-19  Simon Josefsson  <jas@extundo.com>
57786
57787         * m4/socklen.m4: Fix typo.
57788
57789 2005-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57790
57791         Use a consistent style for including <config.h>.
57792         * lib/__fpending.c, lib/acl.c, lib/argmatch.c, lib/argp-help.c,
57793         lib/argp-parse.c, lib/argp-pvh.c, lib/backupfile.c, lib/basename.c,
57794         lib/c-stack.c, lib/calloc.c, lib/check-version.c, lib/cloexec.c,
57795         lib/closeout.c, lib/copy-file.c, lib/creat-safer.c, lib/cycle-check.c,
57796         lib/dirfd.c, lib/dirname.c, lib/dup-safer.c, lib/dup2.c,
57797         lib/euidaccess.c, lib/exclude.c, lib/exitfail.c, lib/fatal-signal.c,
57798         lib/fd-safer.c, lib/file-type.c, lib/fileblocks.c, lib/filemode.c,
57799         lib/filenamecat.c, lib/findprog.c, lib/fnmatch.c, lib/fopen-safer.c,
57800         lib/free.c, lib/fsusage.c, lib/ftruncate.c, lib/full-write.c,
57801         lib/fwriteerror.c, lib/getaddrinfo.c, lib/getcwd.c, lib/getdelim.c,
57802         lib/getline.c, lib/getlogin_r.c, lib/getndelim2.c, lib/getnline.c,
57803         lib/getopt1.c, lib/getpass.c, lib/group-member.c, lib/hard-locale.c,
57804         lib/hash-pjw.c, lib/hash.c, lib/human.c, lib/idcache.c,
57805         lib/inet_ntop.c, lib/isdir.c, lib/long-options.c, lib/malloc.c,
57806         lib/memcasecmp.c, lib/memcmp.c, lib/memcoll.c, lib/memcpy.c,
57807         lib/memmove.c, lib/mkdir-p.c, lib/modechange.c, lib/mountlist.c,
57808         lib/open-safer.c, lib/physmem.c, lib/pipe-safer.c, lib/pipe.c,
57809         lib/poll.c, lib/posixver.c, lib/progname.c, lib/progreloc.c,
57810         lib/putenv.c, lib/quote.c, lib/quotearg.c, lib/readline.c,
57811         lib/readlink.c, lib/realloc.c, lib/regex.c, lib/rename.c, lib/rmdir.c,
57812         lib/rpmatch.c, lib/safe-read.c, lib/same.c, lib/save-cwd.c,
57813         lib/savedir.c, lib/sig2str.c, lib/strcspn.c, lib/strerror.c,
57814         lib/stripslash.c, lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c,
57815         lib/strnlen1.c, lib/strsep.c, lib/strstr.c, lib/strtod.c,
57816         lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c,
57817         lib/time_r.c, lib/userspec.c, lib/utimecmp.c, lib/version-etc-fsf.c,
57818         lib/version-etc.c, lib/wait-process.c, lib/xalloc-die.c, lib/xgetcwd.c,
57819         lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, lib/xreadlink.c,
57820         lib/xsetenv.c, lib/xstrndup.c, lib/xstrtoimax.c, lib/xstrtol.c,
57821         lib/xstrtoumax.c, lib/yesno.c:
57822         Standardize inclusion of config.h.
57823         * lib/__fpending.h, lib/dirfd.h, lib/getdate.h, lib/human.h,
57824         lib/inttostr.h:  Removed inclusion of config.h from header files.
57825         * lib/inttostr.c:  Adjusted in-tree users.
57826         * lib/timespec.h: Remove superfluous warning to include config.h.
57827         * lib/atexit.c, lib/chdir-long.c, lib/chown.c, lib/fchown-stub.c,
57828         lib/getgroups.c, lib/gettimeofday.c, lib/lchown.c, lib/lstat.c,
57829         lib/mkdir.c, lib/mkstemp.c, lib/nanosleep.c, lib/openat.c, lib/raise.c,
57830         lib/readtokens0.c, lib/readutmp.c, lib/unlinkdir.c: Guard inclusion of
57831         config.h with HAVE_CONFIG_H.
57832
57833 2005-09-19  Jim Meyering  <jim@meyering.net>
57834
57835         * modules/pathmax (License): Change to LGPL.
57836
57837 2005-09-19  Derek Price  <derek@ximbiot.com>
57838
57839         * config/srclist.txt: glibc's glob.h is now in lib/glob-libc.h.
57840
57841 2005-09-19  Bruno Haible  <bruno@clisp.org>
57842
57843         * gnulib-tool (import): Provide default for --tests-base.
57844
57845 2005-09-19  Bruno Haible  <bruno@clisp.org>
57846
57847         * doc/quote.texi: New file, extracted from gnulib.texi.
57848         * doc/ctime.texi: New file, extracted from gnulib.texi.
57849         * doc/inet_ntoa.texi: New file, extracted from gnulib.texi.
57850         * doc/gnulib-tool.texi: New file, extracted from gnulib.texi.
57851         * doc/gnulib.texi: Include them.
57852
57853 2005-09-18  Bruno Haible  <bruno@clisp.org>
57854
57855         Portability fix.
57856         * gnulib-tool (func_readlink): New function.
57857         (func_ln_if_changed): Use it.
57858
57859 2005-09-18  Bruno Haible  <bruno@clisp.org>
57860
57861         * gnulib-tool: Support --with-tests also with --import.
57862         (func_emit_tests_Makefile_am): Use variables $m4base and $testsbase.
57863         (func_import): Use variables $testsbase and $inctests. Emit a
57864         gl_TESTS_BASE form into gnulib-cache.m4. Create $testsbase/Makefile.am.
57865         Remind the user to add AC_CONFIG_FILES($testsdir/Makefile) and
57866         SUBDIRS += $testsdir.
57867         (func_create_testdir): Update.
57868
57869 2005-09-18  Bruno Haible  <bruno@clisp.org>
57870
57871         * gnulib-tool: Revise --dry-run implementation. Use variable $doit
57872         instead of $dry_run.
57873         (func_cp_if_changed, func_mv_if_changed): Remove functions.
57874         (func_ln_if_changed): Don't handle dry-run here.
57875         (func_import): In dry-run mode, detect more precisely which actions
57876         would be performed, and don't use "...ing" verbs.
57877
57878 2005-09-18  Bruno Haible  <bruno@clisp.org>
57879
57880         * gnulib-tool (func_tmpdir): New function, taken from GNU gettextize.
57881         (func_import): Use join on two temporary files instead of three nested
57882         loops, in order to determine which files are new or old.
57883
57884 2005-09-18  Bruno Haible  <bruno@clisp.org>
57885
57886         * gnulib-tool (func_import): Comment out code that spits out the
57887         new files with --dry-run.
57888
57889 2005-09-18  Bruno Haible  <bruno@clisp.org>
57890
57891         * doc/gnulib.texi (Invoking gnulib-tool): 50% rewritten.
57892
57893 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
57894
57895         * lib/stat-time.h: New file.
57896         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP):
57897         (MTIME_CMP, TIMESPEC_NS): Remove.  Now done by stat-time.h,
57898         in a different way.
57899         (timespec_cmp): New function.
57900         * lib/utimecmp.c: Include stat-time.h.
57901         (SYSCALL_RESOLUTION): Depend on whether various struct stat
57902         members exist, not on the obsolescent ST_MTIM_NSEC.
57903         (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS.
57904
57905 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
57906
57907         * config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c.
57908
57909 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
57910
57911         * MODULES.html.sh (File system functions): Add stat-time.
57912         * modules/stat-time: New file.
57913         * modules/timespec (Files): Remove m4/st_mtim.m4; this
57914         is now done in a different way, by the stat-time module.
57915         * modules/utimecmp (Depends-on): Add stat-time.
57916
57917 2005-09-15  Paul Eggert  <eggert@cs.ucla.edu>
57918
57919         * m4/st_mtim.m4: Remove.  Superseded by...
57920         * m4/stat-time.m4: New file.
57921         * m4/timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE.
57922         Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed.
57923
57924 2005-09-15  Derek Price  <derek@ximbiot.com>
57925
57926         * m4/strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here.
57927
57928 2005-09-15  Derek Price  <derek@ximbiot.com>
57929
57930         * lib/regex_internal.h: Blank `pure' for GNUC < 3.
57931         * lib/regex_internal.c: Ditto, using this...
57932         (__GNUC_PREREQ): ...new macro.
57933         * lib/regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1
57934         using...
57935         (__GNUC_PREREQ): ...this new macro.
57936
57937         * lib/strstr.h: Include string.h. Define strstr as a macro here.
57938
57939 2005-09-15  Derek Price  <derek@ximbiot.com>
57940             Paul Eggert  <eggert@cs.ucla.edu>
57941
57942         * lib/regcomp.c, regexec.c, regex_internal.c: Back out previous
57943         changes, consolidating in...
57944         * lib/regex_internal.h: ...this file.
57945
57946 2005-09-13  Jim Meyering  <jim@meyering.net>
57947
57948         * lib/canon-host.c: Filter through gnu indent and reword comments
57949         slightly.
57950         * lib/canon-host.h (ch_strerror_r): Tweak cpp indentation and spacing.
57951
57952 2005-09-13  Derek Price  <derek@ximbiot.com>
57953
57954         * lib/canon-host.c (canon_host_r): Set *cherror on memory allocation
57955         failure.
57956         Reported by Jim Meyering  <jim@meyering.net>.
57957
57958 2005-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
57959
57960         * lib/base64.c: Typo.
57961         (base64_encode): Put b64str in initialized data section.
57962
57963 2005-09-12  Paul Eggert  <eggert@cs.ucla.edu>
57964
57965         Merge glibc and coreutils changes into gnulib, plus a few
57966         extra fixes.
57967         * lib/md5.c: Use #error rather than a string.
57968         (CYCLIC): New macro, from glibc source.  Use it instead of rol.
57969         * lib/md5.h (__GNUC_PREREQ, __THROW): Define if not defined already.
57970         (__attribute__): Define to empty for non recent-GCC.
57971         (__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block):
57972         (__md5_process_bytes, __md5_read_ctx, __md5_stream):
57973         Renamed from their non-__ counterparts, with new macros replacing
57974         them if not _LIBC.  Add __THROW attribute.
57975         (rol): Remove.
57976         (struct md5_ctx): Align buffer if using GCC.
57977         * lib/sha1.h (struct sha1_ctx): Likewise.
57978         * lib/sha1.c (SWAP): Renamed from the NOTSWAP.  All uses changed.
57979         The old name was backwards.
57980         (NOTSWAP): Remove; not used.
57981         (rol): New macro, moved here from md5.h.
57982         (sha1_process_block): Remove a FIXME that doesn't make sense.
57983
57984 2005-09-12  Derek Price  <derek@ximbiot.com>
57985
57986         Return usable errors from canon-host.
57987         * lib/canon-host.h: New file.
57988         * lib/canon-host.c (canon_host): Wrap...
57989         (canon_host_r): ...this new function, which now relies exclusively on
57990         getaddrinfo.
57991         (ch_strerror): New function.
57992         (last_cherror): New global.
57993         * lib/getaddrinfo.c: Move include of getaddrinfo.h first to test
57994         interface.
57995         (getaddrinfo): Add AI_CANONNAME functionality.  Don't do arithmetic on
57996         void *.
57997         (freeaddrinfo): Free ai->ai_canonname when set.
57998
57999 2005-09-12  Derek Price  <derek@ximbiot.com>
58000
58001         Make canon-host require getaddrinfo.
58002         * m4/canon-host.m4 (gl_CANON_HOST): Remove most dependencies.
58003         AC_LIBSOURCE canon-host.h.  Call...
58004         (gl_PREREQ_CANON_HOST): ...this new function, which requires
58005         gl_GETADDRINFO.
58006         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Compile gai_strerror when needed.
58007
58008 2005-09-12  Derek Price  <derek@ximbiot.com>
58009
58010         * modules/canon-host: Add canon-host.h.  Depend on getaddrinfo.  Make
58011         LGPL.
58012         * modules/getaddrinfo: Add link to opengroup spec.  Depend on strdup.
58013
58014 2005-09-12  Derek Price  <derek@ximbiot.com>
58015
58016         * lib/gai_strerror.c: Include config.h when available.  Include
58017         getaddrinfo.h before other headers to test interface.
58018         Reported by Larry Jones <lawrence.jones@ugs.com>.
58019
58020 2005-09-12  Derek Price  <derek@ximbiot.com>
58021             Paul Eggert  <eggert@cs.ucla.edu>
58022
58023         * modules/glob (Files): Add glob-libc.h.
58024
58025 2005-09-12  Derek Price  <derek@ximbiot.com>
58026             Paul Eggert  <eggert@cs.ucla.edu>
58027
58028         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): AC_LIBSOURCES for glob.c,
58029         glob_.h, glob-libc.h.
58030         (gl_PREREQ_GLOB): Remove _SYS_CDEFS_H hack; no longer needed.
58031
58032 2005-09-12  Derek Price  <derek@ximbiot.com>
58033             Paul Eggert  <eggert@cs.ucla.edu>
58034
58035         * lib/glob-libc.h: Renamed from glob_.h.  The new version is
58036         taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB'
58037         protecting things that should be done only in gnulib contexts.
58038         * lib/glob_.h: New file, containing only the glob things needed for
58039         gnulib.
58040         (GLOB_PREFIX): Remove.  All uses changed to look for __GLOB_GNULIB.
58041         (__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed.
58042         (glob, globfree, glob_pattern_p): Now defined simply in terms of
58043         rpl_glob, rpl_globfree, rpl_glob_pattern_p.
58044         (__GLOB_GNULIB): New macro, to keep the glob.h changes clearer
58045         and to respect the namespace rules better.
58046
58047 2005-09-08  Simon Josefsson  <jas@extundo.com>
58048
58049         * modules/socklen: New file.
58050
58051 2005-09-08  Simon Josefsson  <jas@extundo.com>
58052
58053         * m4/socklen.m4: New file.
58054
58055 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
58056
58057         * modules/utimens (Files): Add m4/utimbuf.m4, since
58058         m4/utimens.m4 requires gl_CHECK_TYPE_STRUCT_UTIMBUF.
58059         Reported by Sergey Poznyakoff.
58060
58061 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
58062
58063         * lib/glob.c (glob, globfree, __glob_pattern_p): Use old-style function
58064         definitions, since that's the preferred style in glibc.
58065         Fix a minor spacing issue, and update copyright notice to match
58066         glibc's.
58067
58068 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
58069
58070         * config/srclist.txt: Remove glibc bug 1061; it's been fixed.
58071
58072 2005-09-06  Simon Josefsson  <jas@extundo.com>
58073
58074         * lib/getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not
58075         TCSETATTR.  Reported by Derek Price <derek@ximbiot.com>.
58076
58077 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
58078
58079         * lib/regex_internal.h (bitset_not): Add parens to avoid gcc -Wall
58080         warning.
58081
58082 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
58083
58084         * config/srclist.txt: Add glibc bug 1302.
58085
58086 2005-09-05  Paul Eggert  <eggert@cs.ucla.edu>
58087
58088         Change bitset word type from unsigned int to unsigned long int,
58089         as this has better performance on typical 64-bit hosts.
58090         Port bitset code to hosts with unusual word sizes.
58091         * lib/regcomp.c (build_equiv_class, build_charclass, build_range_exp):
58092         (build_collating_symbol):
58093         Prefer bitset to re_bitset_ptr_t in prototypes, when the actual
58094         argument is a bitset.  This is merely a style issue, but it makes
58095         it clearer that an entire array is expected.
58096         (re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps):
58097         * lib/regcomp.c (lower_subexp, parse_bracket_exp, built_charclass_op):
58098         Port to the case where bitset_word is not the same as unsigned int.
58099         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
58100         (bitset_not, bitset_merge, bitset_set_all, bitset_mask):
58101         Likewise.
58102         * lib/regexec.c (check_dst_limits_calc_pos_1,
58103         check_subexp_matching_top):
58104         (build_trtable, group_nodes_into_DFAstates):
58105         Likewise.
58106         * lib/regcomp.c (re_compile_fastmap_iter, utf8_sb_map, optimize_utf8):
58107         Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS.
58108         * lib/regex_internal.h (bitset_set_all, bitset_not): Likewise.
58109         * lib/regexec.c (group_nodes_into_DFAstates): Likewise.
58110         * lib/regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff.
58111         * lib/regcomp.c (optimize_subexps, lower_subexp):
58112         Work even if bitset_word has holes in its bitwise representation.
58113         * lib/regex_internal.h (BITSET_WORD_BITS): Likewise.
58114         * lib/regexec.c (check_dst_limits_calc_pos_1,
58115         check_subexp_matching_top):
58116         Likewise.
58117         * lib/regex_internal.c (re_string_reconstruct):
58118         Don't assume UCHAR_MAX == 255.
58119         * lib/regex_internal.h (bitset_set_all): Likewise.
58120         * lib/regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS.
58121         All uses changed.
58122         (BITSET_WORDS): Renamed from BITSET_UINTS.  All uses changed.
58123         (bitset_word): New type, replacing 'unsigned int' for bitset uses.
58124         All uses changed.
58125         (BITSET_WORD_MAX): New macro.
58126         (bitset_set, bitset_clear, bitset_contain, bitset_empty):
58127         (bitset_set_all, bitset_copy):  Now inline functions, not macros.
58128         (bitset_empty, bitset_copy):
58129         Prefer sizeof (bitset) to multiplying it out ourselves.
58130         (bitset_not_merge): Remove; unused.
58131         (bitset_contain): Return bool, not unsigned int with one bit on.
58132         All callers changed.
58133         * lib/regexec.c (build_trtable): Don't assume bitset has no stricter
58134         alignment than re_node_set; do this by defining a new internal
58135         type struct dests_alloc and using it to allocate memory.
58136
58137 2005-09-05  Bruno Haible  <bruno@clisp.org>
58138
58139         * gnulib-tool (func_import): Fix comparison in handling of symbolic
58140         links.
58141
58142 2005-09-04  Martin Lambers  <marlam@marlam.de>  (tiny change)
58143
58144         * modules/size_max (Makefile.am): Add size_max.h
58145
58146 2005-09-04  Derek Price  <derek@ximbiot.com>
58147
58148         * gnulib-tool (func_import): Fix reversed $symbolic logic.
58149
58150 2005-09-03  Simon Josefsson  <jas@extundo.com>
58151
58152         * gnulib-tool: Fix typo.
58153
58154 2005-09-03  Simon Josefsson  <jas@extundo.com>
58155
58156         * config/srclist.txt: Add glibc bug 1293.
58157
58158 2005-09-03  Derek Price  <derek@ximbiot.com>
58159
58160         * m4/getlogin_r (gl_GETLOGIN_R): Fix cut & paste error.
58161         From Larry Jones <lawrence.jones@ugs.com>.
58162
58163 2005-09-02  Simon Josefsson  <jas@extundo.com>
58164
58165         * modules/socklen: New file.
58166
58167 2005-09-02  Simon Josefsson  <jas@extundo.com>
58168
58169         * modules/havelib: New module.
58170
58171         * modules/gettext, modules/iconv, modules/lock, modules/readline:
58172         Use havelib.
58173
58174 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
58175
58176         Check for arithmetic overflow when calculating sizes, to prevent
58177         some buffer-overflow issues.  These patches are conservative, in the
58178         sense that when I couldn't determine whether an overflow was possible,
58179         I inserted a run-time check.
58180         * lib/regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New
58181         macros.
58182         (SIZE_MAX) [!defined SIZE_MAX]: New macro.
58183         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc):
58184         (re_xnrealloc, re_x2nrealloc): New inline functions.
58185         * lib/regcomp.c (init_dfa, analyze, build_range_exp,
58186         parse_bracket_exp):
58187         (build_equiv_class, build_charclass): Check for arithmetic overflow
58188         in size expression calculations.
58189         * lib/regex_internal.c (re_string_realloc_buffers):
58190         (build_wcs_upper_buffer, re_node_set_add_intersect):
58191         (re_node_set_init_union, re_node_set_insert, re_node_set_insert_last):
58192         (re_dfa_add_node, register_state): Likewise.
58193         * lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal):
58194         (prune_impossible_nodes, push_fail_stack, set_regs, check_arrival):
58195         (build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry):
58196         (match_ctx_add_subtop, match_ctx_add_sublast): Likewise.
58197
58198 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
58199
58200         * modules/inttostr (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
58201         m4/ulonglong.m4.  Problem reported by Martin Lambers.
58202
58203 2005-09-02  Bruno Haible  <bruno@clisp.org>
58204
58205         Support for lib vs. lib64 distinction on biarch platforms.
58206         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): New macro.
58207         (AC_LIB_PREFIX): Require it. Use $acl_libdirstem instead of 'lib'.
58208         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Likewise.
58209
58210 2005-09-02  Bruno Haible  <bruno@clisp.org>
58211
58212         * gnulib-tool (import): In the other first-use case, provide defaults
58213         as well.
58214
58215 2005-09-02  Bruno Haible  <bruno@clisp.org>
58216
58217         * config/srclist.txt: lib-link.m4 and lib-prefix.m4 currently have
58218         patches not yet found in the latest gettext release.
58219
58220 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
58221
58222         * lib/glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX,
58223         to avoid a collision with bits/local_lim.h in glibc.
58224         All uses changed.  Problem reported by Dmitry V. Levin in
58225         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=1060>.
58226
58227         * lib/regex_internal.c (build_wcs_upper_buffer): Fix portability
58228         bugs in int versus size_t comparisons.
58229         (re_string_context_at): Fix bug where the code assumed that
58230         Idx is signed.
58231
58232         Use bool where appropriate.
58233         * lib/regcomp.c (re_set_fastmap): ICASE arg is bool, not int.
58234         All callers changed.
58235         (calc_eclosure_iter): Likewise, for ROOT arg.
58236         (parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg.
58237         (build_charclass_op): Likewise, for NON_MATCH arg.
58238         * lib/regex_internal.c (re_string_allocate, re_string_construct):
58239         (re_string_construct_common): Likewise, for ICASE arg.
58240         * lib/regexec.c (re_search_2_stub, re_search_stub):
58241         Likewise, for RET_LEN arg.
58242         (check_matching): Likewise, for FL_LONGEST_MATCH arg.
58243         (set_regs): Likewise, for FL_BACKTRACK arg.
58244         * lib/regcomp.c (re_compile_fastmap_iter, optimize_utf8):
58245         (duplicate_node_closure, calc_inveclosure, calc_eclosure):
58246         (calc_eclosure_iter, parse_bracket_exp):
58247         Use bool for internal variables that are booleans.
58248         * lib/regexec.c (re_search_internal, check_matching,
58249         proceed_next_node):
58250         (set_regs, build_sifted_states, sift_states_bkref):
58251         (check_arrival_add_next_nodes, check_arrival_expand_ecl_sub):
58252         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
58253         (find_collation_sequence_value):
58254         Likewise.
58255         * lib/regex_internal.c (re_node_set_insert, re_node_set_insert_last):
58256         (re_node_set_compare):
58257         Return bool, not int. All callers changed.
58258         * lib/regexec.c (check_halt_node_context, check_dst_limits):
58259         (build_trtable, check_node_accept): Likewise.
58260         * lib/regex_internal.h: Include stdbool.h.
58261
58262         Fix bugs uncovered when converting to bool.
58263         * lib/regcomp.c (calc_eclosure_iter): Check for storage allocation
58264         failure instead of charging ahead blindly.
58265         * lib/regex_internal.c (register_state): Likewise.
58266         * lib/regexec.c (re_search_2_stub): Use simpler method than boolean
58267         for freeing internal storage.
58268         (group_nodes_into_DFA_states): Use unsigned int, not int, for
58269         bitset pieces used as boolean, to avoid undefined behavior
58270         on hosts that do int overflow checking.
58271
58272 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
58273
58274         * config/srclist.txt: Add glibc bugs 1285-1287.
58275
58276 2005-09-01  Jim Meyering  <jim@meyering.net>
58277
58278         * m4/lchown.m4: Require gl_FUNC_CHOWN, for the definition of
58279         CHOWN_MODIFIES_SYMLINK, which is used by lchown.c.
58280         Require gl_STAT_MACROS, too.
58281
58282 2005-09-01  Bruno Haible  <bruno@clisp.org>
58283
58284         * gnulib-tool (import): In the first-use case, provide defaults.
58285
58286 2005-09-01  Bruno Haible  <bruno@clisp.org>
58287
58288         * gnulib-tool (func_import): Remove the .tmp files.
58289
58290 2005-09-01  Bruno Haible  <bruno@clisp.org>
58291
58292         * gnulib-tool (func_import): Fix handling of symbolic links.
58293
58294 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
58295
58296         On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the
58297         old glibc regex code mishandles strings longer than 2**31 bytes.
58298         This patch fixes this when the regex code is used in gnulib
58299         (i.e., outside glibc).
58300
58301         This patch should not affect the use of the regex code inside
58302         glibc.  No doubt this problem also needs to be handled for glibc
58303         as well, but the result will be an incompatible change to the
58304         glibc ABI, and the old ABI will have to be supported too.  That
58305         can be the the subject for another patch.
58306
58307         * lib/regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro,
58308         governing whether the rest of this patch is active.  By default,
58309         the macro is disabled and the patch has no effect.
58310         (regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int.
58311         (__re_idx_t, __re_size_t, __re_long_size_t): New types.
58312         (struct re_pattern_buffer, re_search, re_search_2, re_match):
58313         (re_match_2, re_set_registers): Use the new types.
58314         * lib/regex_internal.h (Idx, re_hashval_t): New types.
58315         (REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX):
58316         New macros.
58317         (re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers):
58318         (re_string_context_at, bin_tree_t, re_dfastate_t):
58319         (struct re_state_table_entry, state_array_t, re_sub_match_last_t):
58320         (re_sub_match_top_t, re_match_context_t, re_sift_context_t):
58321         (struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t):
58322         (re_string_char_size_at, re_string_wchar_at):
58323         (re_string_elem_size_at):
58324         Use the new types and macros to port to 64-bit hosts.
58325         Use unsigned types for internal values, so that the code
58326         mostly works even for arrays larger than SSIZE_MAX.
58327         * lib/regcomp.c (re_compile_internal, init_dfa, duplicate_node):
58328         (search_duplicated_node, calc_eclosure_iter, fetch_number):
58329         (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
58330         (build_equiv_class, build_charclass, re_compile_fastmap_iter):
58331         (free_dfa_content, create_initial_state, optimize_utf8, analyze):
58332         (optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure):
58333         (calc_inveclosure, parse_dup_op, build_range_exp):
58334         (build_collating_symbol, parse_bracket_exp, build_charclass_op):
58335         (fetch_number, create_token_tree, mark_opt_subexp):
58336         Likewise.
58337         * lib/regex_internal.c (re_string_construct_common,
58338         create_ci_newstate):
58339         (create_cd_newstate, re_string_allocate, re_string_construct):
58340         (re_string_realloc_buffers, build_wcs_upper_buffer):
58341         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
58342         (re_string_reconstruct, re_string_peek_byte_case):
58343         (re_string_fetch_byte_case, re_string_context_at):
58344         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
58345         (re_node_set_init_copy, re_node_set_add_intersect):
58346         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
58347         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
58348         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
58349         (re_acquire_state, re_acquire_state_context, register_state):
58350         Likewise.
58351         * lib/regex.c (match_ctx_init, match_ctx_add_entry,
58352         search_cur_bkref_entry):
58353         (match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init):
58354         (re_search_internal, re_search_2_stub, re_search_stub)
58355         (re_copy_regs, check_matching, check_halt_state_context, update_regs):
58356         (push_fail_stack, sift_states_iter_mb, build_sifted_states):
58357         (update_cur_sifted_state, check_dst_limits):
58358         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
58359         (check_subexp_limits, sift_states_bkref, merge_state_array):
58360         (check_subexp_matching_top, get_subexp, get_subexp_sub):
58361         (find_subexp_node, check_arrival, check_arrival_add_next_nodes):
58362         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
58363         (expand_bkref_cache, check_node_accept_bytes):
58364         (group_nodes_into_DFAstates, check_node_accept, regexec, re_match):
58365         (re_search, re_match_2, re_search_2, prune_impossible_nodes):
58366         (acquire_init_state_context, check_halt_node_context):
58367         (proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return):
58368         (sift_states_backward, clean_state_log_if_needed):
58369         (sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log):
58370         (find_recover_state, transit_state_sb, transit_state_mb):
58371         (transit_state_bkref, build_trtable, match_ctx_clean):
58372         Likewise.
58373         * lib/regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned,
58374         to work around an assumption that REG_MISSING is negative.
58375
58376         * lib/regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]:
58377         (seek_collating_symbol_entry) [defined _LIBC]:
58378         (lookup_collation_sequence_value) [defined _LIBC]:
58379         (build_range_exp, build_collating_symbol) [defined _LIBC]:
58380         Use prototypes rather than old-style function definitions.
58381         * lib/regexec.c (re_exec) [defined _REGEX_RE_COMP || defined _LIBC]:
58382         (transit_state_sb) [0]:
58383         (find_collation_sequence_value) [defined _LIBC]: Likewise.
58384
58385         * lib/regexec.c (re_search_internal): Simplify update of rm_so and
58386         rm_eo.
58387
58388         * lib/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char):
58389         (optimize_subexps, lower_subexp):
58390         Don't assume 1<<31 has defined behavior on hosts with 32-bit int,
58391         since the signed shift might overflow.  Use 1u<<31 instead.
58392         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
58393         Likewise.
58394         * lib/regexec.c (check_dst_limits_calc_pos_1,
58395         check_subexp_matching_top): Likewise.
58396
58397         * lib/regcomp.c (optimize_subexps, lower_subexp):
58398         Use CHAR_BIT rather than 8, for clarity.
58399         * lib/regexec.c (check_dst_limits_calc_pos_1):
58400         (check_subexp_matching_top): Likewise.
58401         * lib/regcomp.c (init_dfa): Make table_size unsigned, so that we don't
58402         have to worry about portability issues when shifting it left.
58403         Remove no-longer-needed test for table_size > 0.
58404         * lib/regcomp.c (parse_sub_exp): Do not shift more bits than there are
58405         in a word, as the resulting behavior is undefined.
58406         * lib/regexec.c (check_dst_limits_calc_pos_1): Likewise;
58407         in one case, a <= should have been an <, and in another case the
58408         whole test was missing.
58409         * lib/regex_internal.h (BYTE_BITS): Remove.  All uses changed to
58410         the standard name CHAR_BIT.
58411         * lib/regexec.c (match_ctx_add_entry): Don't assume that ~0 == -1;
58412         this is not true on one's complement and signed-magnitude hosts.
58413
58414         * lib/regex_internal.h (re_sub_match_top_t): Remove unused member
58415         next_last_offset.
58416         (struct re_dfa_t): Remove unused member states_alloc.
58417         * lib/regcomp.c (init_dfa): Don't initialize unused members.
58418
58419 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
58420
58421         * m4/regex.m4 (gl_REGEX): Require AC_SYS_LARGEFILE, Define
58422         _REGEX_LARGE_OFFSETS).  Test for regoff_t/off_t bug in 64-bit
58423         and large-file glibc and in 32-bit large-file Solaris.
58424
58425 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
58426
58427         * lib/regex_internal.c (re_string_reconstruct): Don't assume buffer
58428         lengths fit in regoff_t; this isn't true if regoff_t is the same
58429         width as size_t.
58430         * lib/regex.c (re_search_internal): 5th arg is LAST_START
58431         (= START + RANGE) instead of RANGE.  This avoids overflow
58432         problems when regoff_t is the same width as size_t.
58433         All callers changed.
58434         (re_search_2_stub): Check for overflow when adding the
58435         sizes of the two strings.
58436         (re_search_stub): Check for overflow when adding START
58437         to RANGE; if it occurs, substitute the extreme value.
58438
58439 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
58440
58441         * config/srclist.txt: Add glibc bugs 1273, 1278-1282, 1284.
58442
58443 2005-08-31  Jim Meyering  <jim@meyering.net>
58444
58445         * lib/regcomp.c (search_duplicated_node): Make first pointer arg
58446         a pointer-to-const.
58447         * lib/regex_internal.c (create_ci_newstate, create_cd_newstate):
58448         (register_state): Likewise.
58449         * lib/regexec.c (search_cur_bkref_entry, check_dst_limits):
58450         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
58451         (group_nodes_into_DFAstates): Likewise.
58452
58453 2005-08-31  Jim Meyering  <jim@meyering.net>
58454
58455         * check-module: Add a FIXME comment.
58456
58457 2005-08-31  Eric Blake  <ebb9@byu.net>
58458
58459         * modules/unistd-safer (Files): Add unistd--.h.
58460         * modules/stdio-safer (Files): Add stdio--.h.
58461
58462 2005-08-31  Derek Price  <derek@ximbiot.com>
58463
58464         * lib/getdelim.c (getdelim): Return EOF on EOF.
58465         Reported by Larry Jones <lawrence.jones@ugs.com>.
58466
58467 2005-08-31  Bruno Haible  <bruno@clisp.org>
58468
58469         Avoid unnecessary diffs in the generated lib/Makefile.am.
58470         * gnulib-tool (func_emit_lib_Makefile_am): Don't write the cmd into
58471         the generated files.
58472         (func_import): Don't set cmd.
58473
58474 2005-08-31  Bruno Haible  <bruno@clisp.org>
58475
58476         * lib/strstr.c: Include <stddef.h>, for NULL.
58477         * lib/strcasestr.c: Likewise.
58478         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
58479
58480 2005-08-31  Bruno Haible  <bruno@clisp.org>
58481
58482         * gnulib-tool: New option --macro-prefix.
58483         (func_import): Use macro_prefix.
58484         (import): Handle option --macro-prefix.
58485
58486 2005-08-31  Bruno Haible  <bruno@clisp.org>
58487
58488         * gnulib-tool (import): Rename most ac_* variables to cached_*.
58489         Also use new variables cached_lgpl, cached_libtool.
58490
58491 2005-08-31  Bruno Haible  <bruno@clisp.org>
58492
58493         * gnulib-tool (func_import): Require AC_GNU_SOURCE etc. instead of
58494         always instantiating them.
58495
58496 2005-08-31  Bruno Haible  <bruno@clisp.org>
58497
58498         * gnulib-tool (func_import): Read the previous cached settings
58499         from gnulib-cache.m4 and gnulib-comp.m4. Remove files that were
58500         earlier added by gnulib but are now dropped. Warn when a gnulib file
58501         overwrites a non-gnulib file.
58502
58503 2005-08-31  Bruno Haible  <bruno@clisp.org>
58504
58505         * gnulib-tool (func_import): Generate two files gnulib-cache.m4 and
58506         gnulib-comp.m4 instead of a single gnulib.m4, to make it easy for
58507         projects that don't keep autogenerated files in CVS. Put into
58508         actioncmd only the specified modules, not the transitive closure.
58509
58510 2005-08-31  Bruno Haible  <bruno@clisp.org>
58511
58512         * gnulib-tool (func_import): Fix defaulting of $libname and $libtool.
58513         Create directories that shall be filled.
58514         (import): Don't look for gl_* macros in configure.ac. Recurse across
58515         all directories containing a gnulib-cache.m4 files, if meaningful.
58516
58517 2005-08-31  Bruno Haible  <bruno@clisp.org>
58518
58519         * gnulib-tool (func_import): Emit also a stub for gl_LIBTOOL.
58520         (import): Set seen_libtool when we see gl_LIBTOOL.
58521
58522 2005-08-31  Bruno Haible  <bruno@clisp.org>
58523
58524         * gnulib-tool (func_import): Also copy m4/gnulib-tool.m4. Omit
58525         declaration macro definitions from generated gnulib.m4.
58526
58527 2005-08-30  Oskar Liljeblad  <oskar@osk.mine.nu>
58528
58529         * lib/iconvme.h: Add prototype for iconv_alloc.
58530
58531 2005-08-29  Simon Josefsson  <jas@extundo.com>
58532
58533         * lib/iconvme.c: Fix errno.
58534
58535 2005-08-29  Bruno Haible  <bruno@clisp.org>
58536
58537         * gnulib-tool: Enclose all occurrences of $destdir in "...", so
58538         that it works when the directory contains spaces.
58539
58540 2005-08-29  Bruno Haible  <bruno@clisp.org>
58541
58542         * gnulib-tool (import): Avoid unnecessary spaces in $avoidlist.
58543
58544 2005-08-29  Bruno Haible  <bruno@clisp.org>
58545
58546         * gnulib-tool (func_import): Emit more comments into gnulib.m4.
58547         Emit more advice.
58548
58549 2005-08-29  Bruno Haible  <bruno@clisp.org>
58550         and Stepan Kasal  <kasal@ucw.cz>
58551
58552         * check-module: If more parameters are given, check each of them
58553         separately; add more exceptions, as noted by Jim Meyering.
58554         (check_module): New procedure.
58555         (%exempt_header): Now contains all exceptions.
58556
58557 2005-08-29  Ben Pfaff  <blp@cs.stanford.edu>
58558
58559         * modules/byteswap (Makefile.am): Fix rule to not assume GNU make.
58560
58561 2005-08-29  Oskar Liljeblad  <oskar@osk.mine.nu>
58562
58563         * lib/iconvme.c: Split iconv_string into iconv_alloc.
58564
58565 2005-08-28  Bruno Haible  <bruno@clisp.org>
58566
58567         * m4/gnulib-tool.m4: New file.
58568
58569 2005-08-27  Jim Meyering  <jim@meyering.net>
58570
58571         * modules/unistd-safer (Files): Add pipe-safer.c.
58572         * modules/fcntl-safer (Files): Add creat-safer.c.
58573
58574 2005-08-27  Jim Meyering  <jim@meyering.net>
58575
58576         * m4/stdlib-safer.m4: New file.  From coreutils.
58577         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add stdio--.h.
58578         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Add creat-safer.c to the
58579         AC_LIBSOURCES list and arrange to compile it via AC_LIBOBJ.
58580         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise, add pipe-safer.c.
58581         Add pipe-safer.c and unistd--.h to the AC_LIBSOURCES list.
58582
58583 2005-08-27  Jim Meyering  <jim@meyering.net>
58584
58585         * lib/fopen-safer.c: Merge minor changes from coreutils.
58586         * lib/dup-safer.c: Likewise.
58587         * lib/fd-safer.c: Likewise.
58588
58589         Merge from coreutils.
58590         * lib/stdio--.h: New file.
58591         * lib/stdlib--.h: New file.
58592         * lib/mkstemp-safer.c: New file.
58593
58594         GNU tar needs these.
58595         * lib/pipe-safer.c: New file.
58596         * lib/creat-safer.c: New file.
58597         * lib/fcntl--.h (creat): Define to creat_safer.
58598         * lib/fcntl-safer.h: Include <sys/types.h> and declare creat_safer.
58599         * lib/unistd--.h (pipe): Define to pipe_safer.
58600         * lib/unistd-safer.h: Declare pipe_safer.
58601
58602 2005-08-26  Simon Josefsson  <jas@extundo.com>
58603
58604         * lib/getpass.c: Use _WIN32 instead of WIN32, suggested by Bruno
58605         Haible <bruno@clisp.org>.
58606
58607 2005-08-26  Paul Eggert  <eggert@cs.ucla.edu>
58608
58609         * lib/regex_internal.h: Remove all references to
58610         RE_NO_INTERNAL_PROTOTYPES; no longer neeeded now that we assume C89
58611         or better.
58612         (bitset_not, bitset_merge, bitset_not_merge):
58613         (bitset_mask, re_string_allocate, re_string_construct):
58614         (re_string_reconstruct, re_string_destruct, re_string_elem_size_at):
58615         (re_string_char_size_at, re_string_wchar_at, re_string_peek_byte_case):
58616         (re_string_fetch_byte_case, re_node_set_alloc, re_node_set_init_1):
58617         (re_node_set_init_2, re_node_set_init_copy, re_node_set_add_intersect):
58618         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
58619         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
58620         (re_node_set_remove_at, re_dfa_add_node, re_acquire_state):
58621         (re_acquire_state_context):
58622         Remove unnecessary forward decls.
58623         (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at):
58624         Put __attribute at function definition,
58625         now that the function decl has been removed.
58626         * lib/regex_internal.c (re_string_peek_byte_case):
58627         (re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains):
58628         Likewise.
58629
58630 2005-08-25  Stepan Kasal  <kasal@ucw.cz>
58631
58632         * m4/regex.m4: Add AC_PREREQ(2.50).
58633         (gl_REGEX): If --with-included-regex was given, skip the autodetection.
58634
58635 2005-08-25  Simon Josefsson  <jas@extundo.com>
58636
58637         * m4/getpass.m4: Check for termios.h, tcgetattr, tcsetattr, and
58638         __fsetlocking.
58639
58640 2005-08-25  Simon Josefsson  <jas@extundo.com>
58641
58642         * lib/getpass.c: Add WIN32 implementation.  Conditionalize use of
58643         termios.h, tcgetattr, tcsetattr and __fsetlocking.  Remove some
58644         GLIBC specific code.
58645
58646 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
58647
58648         Make regex safe for g++.  This fixes one real bug (an "err"
58649         that should have been "*err").  g++ problem reported by
58650         Sam Steingold.
58651         * lib/regex_internal.h (re_calloc): New macro, consistent with
58652         re_malloc etc.  All callers of calloc changed to use re_calloc.
58653         * lib/regex_internal.c (build_wcs_upper_buffer): Return reg_errcode_t,
58654         not int.  All callers changed.
58655         * lib/regcomp.c (re_compile_fastmap_iter): Don't use
58656         alloca (mb_cur_max); just use an array of size MB_LEN_MAX.
58657         * lib/regexec.c (push_fail_stack): Use re_realloc, not realloc.
58658         (find_recover_state): Change "err" to "*err"; this fixes what
58659         appears to be a real bug.
58660         (check_arrival_expand_ecl_sub): Be consistent about reg_errcode_t
58661         versus int.
58662
58663 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
58664
58665         * modules/regex (Depends-on): Add malloc, since the code
58666         assumes that !malloc(0) means failure.
58667
58668 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
58669
58670         * lib/regexec.c (set_regs): Don't alloca with an unbounded size.
58671
58672         alloca modernization/simplification for regex.
58673         * lib/regex.c: Remove portability cruft for alloca.  This no longer
58674         needs to be at the start of the file, and can be moved into
58675         regex_internal.h and simplified.
58676         * lib/regex_internal.h: Include <alloca.h>.
58677         (__libc_use_alloca) [!defined _LIBC]: New macro.
58678         * lib/regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code
58679         now works outside glibc.
58680
58681 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
58682
58683         * config/srclist.txt: Add glibc bugs 1241, 1245.
58684
58685 2005-08-25  Jim Meyering  <jim@meyering.net>
58686
58687         * lib/open-safer.c: Include <config.h>.
58688         Otherwise, we'd lose LARGEFILE support in any file using
58689         e.g. "fcntl--.h"
58690
58691 2005-08-25  Bruno Haible  <bruno@clisp.org>
58692
58693         * m4/minmax.m4: Require autoconf 2.52.
58694         (gl_MINMAX_IN_HEADER): Add comments. Use m4_pushdef/m4_popdef instead
58695         of define/undefine. Use AS_TR_SH and AS_TR_CPP as more robust
58696         alternatives of translit over the alphabet.
58697         Based on a patch from Stepan Kasal <kasal@ucw.cz>.
58698
58699 2005-08-24  Simon Josefsson  <jas@extundo.com>
58700
58701         * tests/test-getpass.c: New file.
58702
58703 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
58704
58705         * m4/regex.m4 (gl_REGEX): Use POSIX-compliant spellings when testing
58706         for GNU regex features.
58707
58708 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
58709
58710         * lib/regcomp.c (regerror): 2nd arg is 'restrict', as per POSIX.
58711         * lib/regex.h (regerror): Likewise.
58712
58713         * lib/regex.c: Do not include <sys/types.h>, as POSIX no longer
58714         requires this.  (The code never needed it.)
58715
58716         * lib/regcomp.c, regex_internal.c, regex_internal.h, regexec.c:
58717         All uses of recently-renamed identifiers changed to use the new,
58718         POSIX-compliant names.  The code will build and run just fine
58719         without these changes, but it's better to eat our own dog food
58720         and use the standard-conforming names.
58721
58722         * lib/regex.h: Fix a multitude of POSIX name space violations.
58723         These changes have an effect only for programs that define
58724         _POSIX_C_SOURCE, _POSIX_SOURCE, or _XOPEN_SOURCE; they
58725         do not change anything for programs compiled in the normal way.
58726         Also, there is no effect on the ABI.
58727
58728         (_REGEX_SOURCE): New macro.
58729         Do not include <stddef.h> if _XOPEN_SOURCE and VMS are both
58730         defined and _GNU_SOURCE is not; this fixes a name space violation.
58731
58732         Rename the following macros to obey POSIX requirements.
58733         The old names are still visible as macros if _REGEX_SOURCE is defined.
58734         (REG_BACKSLASH_ESCAPE_IN_LISTS): renamed from
58735         RE_BACKSLASH_ESCAPE_IN_LISTS.
58736         (REG_BK_PLUS_QM): renamed from RE_BK_PLUS_QM.
58737         (REG_CHAR_CLASSES): renamed from RE_CHAR_CLASSES.
58738         (REG_CONTEXT_INDEP_ANCHORS): renamed from RE_CONTEXT_INDEP_ANCHORS.
58739         (REG_CONTEXT_INDEP_OPS): renamed from RE_CONTEXT_INDEP_OPS.
58740         (REG_CONTEXT_INVALID_OPS): renamed from RE_CONTEXT_INVALID_OPS.
58741         (REG_DOT_NEWLINE): renamed from RE_DOT_NEWLINE.
58742         (REG_DOT_NOT_NULL): renamed from RE_DOT_NOT_NULL.
58743         (REG_HAT_LISTS_NOT_NEWLINE): renamed from RE_HAT_LISTS_NOT_NEWLINE.
58744         (REG_INTERVALS): renamed from RE_INTERVALS.
58745         (REG_LIMITED_OPS): renamed from RE_LIMITED_OPS.
58746         (REG_NEWLINE_ALT): renamed from RE_NEWLINE_ALT.
58747         (REG_NO_BK_BRACES): renamed from RE_NO_BK_BRACES.
58748         (REG_NO_BK_PARENS): renamed from RE_NO_BK_PARENS.
58749         (REG_NO_BK_REFS): renamed from RE_NO_BK_REFS.
58750         (REG_NO_BK_VBAR): renamed from RE_NO_BK_VBAR.
58751         (REG_NO_EMPTY_RANGES): renamed from RE_NO_EMPTY_RANGES.
58752         (REG_UNMATCHED_RIGHT_PAREN_ORD): renamed from
58753         RE_UNMATCHED_RIGHT_PAREN_ORD.
58754         (REG_NO_POSIX_BACKTRACKING): renamed from RE_NO_POSIX_BACKTRACKING.
58755         (REG_NO_GNU_OPS): renamed from RE_NO_GNU_OPS.
58756         (REG_DEBUG): renamed from RE_DEBUG.
58757         (REG_INVALID_INTERVAL_ORD): renamed from RE_INVALID_INTERVAL_ORD.
58758         (REG_IGNORE_CASE): renamed from RE_ICASE.  This renaming is a bit
58759         unusual, since we can't clash with the POSIX REG_ICASE.
58760         (REG_CARET_ANCHORS_HERE): renamed from RE_CARET_ANCHORS_HERE.
58761         (REG_CONTEXT_INVALID_DUP): renamed from RE_CONTEXT_INVALID_DUP.
58762         (REG_NO_SUB): renamed from RE_NO_SUB.
58763         (REG_SYNTAX_EMACS): renamed from RE_SYNTAX_EMACS.
58764         (REG_SYNTAX_AWK): renamed from RE_SYNTAX_AWK.
58765         (REG_SYNTAX_GNU_AWK): renamed from RE_SYNTAX_GNU_AWK.
58766         (REG_SYNTAX_POSIX_AWK): renamed from RE_SYNTAX_POSIX_AWK.
58767         (REG_SYNTAX_GREP): renamed from RE_SYNTAX_GREP.
58768         (REG_SYNTAX_EGREP): renamed from RE_SYNTAX_EGREP.
58769         (REG_SYNTAX_POSIX_EGREP): renamed from RE_SYNTAX_POSIX_EGREP.
58770         (REG_SYNTAX_ED): renamed from RE_SYNTAX_ED.
58771         (REG_SYNTAX_SED): renamed from RE_SYNTAX_SED.
58772         (_REG_SYNTAX_POSIX_COMMON): renamed from _RE_SYNTAX_POSIX_COMMON.
58773         (REG_SYNTAX_POSIX_BASIC): renamed from RE_SYNTAX_POSIX_BASIC.
58774         (REG_SYNTAX_POSIX_MINIMAL_BASIC): renamed from
58775         RE_SYNTAX_POSIX_MINIMAL_BASIC.
58776         (REG_SYNTAX_POSIX_EXTENDED): renamed from RE_SYNTAX_POSIX_EXTENDED.
58777         (REG_SYNTAX_POSIX_MINIMAL_EXTENDED): renamed from
58778         RE_SYNTAX_POSIX_MINIMAL_EXTENDED.
58779         (REG_DUP_MAX): renamed from RE_DUP_MAX.  No need to undef it.
58780         (REG_UNALLOCATED): Renamed from REGS_UNALLOCATED.
58781         (REG_REALLOCATE): Renamed from REGS_REALLOCATE.
58782         (REG_FIXED): Renamed from REGS_FIXED.
58783         (REG_NREGS): Renamed from RE_NREGS.
58784
58785         (REG_ICASE, REG_NEWLINE, REG_NOSUB): Do not depend on the values
58786         of other REG_* macros, since POSIX says the user is allowed to
58787         #undef these macros selectively.
58788
58789         (reg_errcode_t): Update comment stating what other tables need
58790         to be consistent.
58791
58792         Rename the following enum values to obey POSIX requirements.
58793         The old names are still visible as macros.
58794         (_REG_ENOSYS): Renamed from REG_ENOSYS.  Define even if _XOPEN_SOURCE
58795         is not defined, since GNU is supposed to be a superset of POSIX as
58796         much as possible, and since we want reg_errcode_t to be a signed
58797         type for implementation consistency.
58798         (_REG_NOERROR): Renamed from REG_NOERROR.
58799         (_REG_NOMATCH): Renamed from REG_NOMATCH.
58800         (_REG_BADPAT): Renamed from REG_BADPAT.
58801         (_REG_ECOLLATE): Renamed from REG_ECOLLATE.
58802         (_REG_ECTYPE): Renamed from REG_ECTYPE.
58803         (_REG_EESCAPE): Renamed from REG_EESCAPE.
58804         (_REG_ESUBREG): Renamed from REG_ESUBREG.
58805         (_REG_EBRACK): Renamed from REG_EBRACK.
58806         (_REG_EPAREN): Renamed from REG_EPAREN.
58807         (_REG_EBRACE): Renamed from REG_EBRACE.
58808         (_REG_BADBR): Renamed from REG_BADBR.
58809         (_REG_ERANGE): Renamed from REG_ERANGE.
58810         (_REG_ESPACE): Renamed from REG_ESPACE.
58811         (_REG_BADRPT): Renamed from REG_BADRPT.
58812         (_REG_EEND): Renamed from REG_EEND.
58813         (_REG_ESIZE): Renamed from REG_ESIZE.
58814         (_REG_ERPAREN): Renamed from REG_ERPAREN.
58815         (REG_ENOSYS, REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE):
58816         (REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN):
58817         (REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT, REG_EEND):
58818         (REG_ESIZE, REG_ERPAREN): Now macros, not enum constants.
58819
58820         (_REG_RE_NAME, _REG_RM_NAME): New macros.
58821         (REG_TRANSLATE_TYPE): Renamed from RE_TRANSLATE_TYPE.  All uses
58822         changed.  But support the old name if the new one is not defined
58823         and if _REGEX_SOURCE.
58824
58825         Change the following member names in struct re_pattern_buffer.
58826         The old names are still supported if !_REGEX_SOURCE.
58827         The new names are always supported, regardless of _REGEX_SOURCE.
58828         (re_buffer): Renamed from buffer.
58829         (re_allocated): Renamed from allocated.
58830         (re_used): Renamed from used.
58831         (re_syntax): Renamed from syntax.
58832         (re_fastmap): Renamed from fastmap.
58833         (re_translate): Renamed from translate.
58834         (re_can_be_null): Renamed from can_be_null.
58835         (re_regs_allocated): Renamed from regs_allocated.
58836         (re_fastmap_accurate): Renamed from fastmap_accurate.
58837         (re_no_sub): Renamed from no_sub.
58838         (re_not_bol): Renamed from not_bol.
58839         (re_not_eol): Renamed from not_eol.
58840         (re_newline_anchor): Renamed from newline_anchor.
58841
58842         Change the following member names in struct re_registers.
58843         The old names are still supported if !_REGEX_SOURCE.
58844         The new names are always supported, regardless of _REGEX_SOURCE.
58845         (rm_num_regs): Renamed from num_regs.
58846         (rm_start): Renamed from start.
58847         (rm_end): Renamed from end.
58848
58849         (re_set_syntax, re_compile_pattern, re_compile_fastmap):
58850         (re_search, re_search_2, re_match, re_match_2, re_set_registers):
58851         Prepend __ to parameter names.
58852
58853         Undo yesterday's changes.
58854
58855 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
58856
58857         * config/srclist.txt: Remove glibc bug 1233 and add 1236, which
58858         supersedes it. Add glibc bugs 1237, 1238, 1240.  Comment out
58859         lib/regex.c.
58860
58861 2005-08-24  Jim Meyering  <jim@meyering.net>
58862
58863         Sync from coreutils.
58864         * m4/fcntl-safer.m4: New file.
58865
58866         * m4/xgetcwd.m4: Use AC_LIBSOURCES and AC_LIBOBJ to indicate source
58867         and object files for this module.
58868
58869 2005-08-24  Jim Meyering  <jim@meyering.net>
58870
58871         Sync from coreutils.
58872         * lib/fcntl--.h, lib/fcntl-safer.h, lib/open-safer.c: New files.
58873
58874 2005-08-24  Jim Meyering  <jim@meyering.net>
58875
58876         * modules/xgetcwd (Makefile.am): Remove `lib_SOURCES += ...' line,
58877         now that xgetcwd.m4 requires xgetcwd.c and xgetcwd.h.
58878
58879 2005-08-24  Jim Meyering  <jim@meyering.net>
58880
58881         * modules/fcntl-safer: New module.
58882         * modules/fts (Depends-on): Add fcntl-safer.
58883         * MODULES.html.sh (File descriptor based Input/Output):
58884         Add fcntl-safer.
58885
58886 2005-08-24  Bruno Haible  <bruno@clisp.org>
58887
58888         Support for unit test modules.
58889         * modules/README: Mention tests modules.
58890         * modules/TEMPLATE-TESTS: New file.
58891         * gnulib-tool: New options --extract-tests-module, --with-tests and
58892         --tests-base (unused for the moment).
58893         (testsbase, inctests): New variables.
58894         (func_all_modules): Exclude TEMPLATE-TESTS and *-tests.
58895         (func_verify_module): Exclude TEMPLATE-TESTS.
58896         (func_verify_nontests_module, func_verify_tests_module): New functions.
58897         (func_get_dependencies): Add implicit dependency for tests modules.
58898         (func_get_tests_module): New function.
58899         (func_modules_transitive_closure): When --with-tests was specified,
58900         include the unit tests as well, unless explicitly avoided.
58901         (func_emit_lib_Makefile_am): Ignore the tests modules here.
58902         (func_emit_tests_Makefile_am): New function.
58903         (func_create_testdir): When --with-tests was specified, emit a
58904         tests/ directory.
58905         * MODULES.html.sh (Future developments): Update.
58906
58907 2005-08-24  Bruno Haible  <bruno@clisp.org>
58908
58909         * modules/tls-tests: New file.
58910         * tests/test-tls.c: New file, from GNU gettext.
58911
58912 2005-08-24  Bruno Haible  <bruno@clisp.org>
58913
58914         * modules/lock-tests: New file.
58915         * tests/test-lock.c: New file, from GNU gettext.
58916
58917 2005-08-24  Bruno Haible  <bruno@clisp.org>
58918
58919         * lib/lock.h: Add multiple inclusion guard.
58920         * lib/tls.h: Add multiple inclusion guard.
58921
58922 2005-08-24  Bruno Haible  <bruno@clisp.org>
58923
58924         * gnulib-tool: Add support for the --aux-dir option to
58925         --create-testdir, --create-megatestdir, --test, --megatest.
58926         (func_create_testdir, func_create_megatestdir): Optionally emit a
58927         AC_CONFIG_AUX_DIR directive.
58928         (create-testdir, create-megatestdir, test, megatest): Provide a
58929         default value for $auxdir.
58930
58931 2005-08-24  Bruno Haible  <bruno@clisp.org>
58932
58933         * gnulib-tool (import): Use compound statement instead of subshell
58934         where possible.
58935
58936 2005-08-24  Bruno Haible  <bruno@clisp.org>
58937
58938         * gnulib-tool (import): Change --aux-dir default to "build-aux".
58939
58940 2005-08-24  Bruno Haible  <bruno@clisp.org>
58941
58942         * gnulib-tool (func_version): Update.
58943
58944 2005-08-24  Bruno Haible  <bruno@clisp.org>
58945
58946         * gnulib-tool (func_import, func_create_testdir,
58947         func_create_megatestdir): Quote all autoconf macro arguments.
58948
58949 2005-08-24  Bruno Haible  <bruno@clisp.org>
58950
58951         * gnulib-tool (func_create_megatestdir): Call autoreconf without the
58952         option --force, because --force causes the aclocal.m4 of each
58953         subdirectory to be newer than the corresponding config.h.in.
58954
58955 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
58956
58957         * m4/regex.m4 (gl_INCLUDED_REGEX): Remove; no longer used.
58958         All contents moved to gl_REGEX.
58959         (gl_REGEX): Don't bother checking whether lib/regex.c exists;
58960         assume that it does.
58961
58962 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
58963
58964         * lib/regex.h (REG_NOSYS)
58965         [!defined _XOPEN_SOURCE && 200112L <= _POSIX_C_SOURCE]:
58966         Define, since POSIX requires it as of 2001.
58967         (_REG_ENOSYS)
58968         [! (defined _XOPEN_SOURCE || 200112L <= _POSIX_C_SOURCE)]:
58969         New private symbol, used to keep the enum signed in all cases.
58970         * lib/regex.h (RE_NO_EMPTY_RANGES): Fix doc bug reported by James
58971         Youngman in
58972         <http://lists.gnu.org/archive/html/bug-gnulib/2005-07/msg00132.html>.
58973
58974         * lib/regex_internal.c (re_string_skip_chars, register_state):
58975         (calc_state_hash):
58976         Remove forward decls; no longer needed now that we use prototypes.
58977         * lib/regexec.c (acquire_init_state_context, check_halt_node_context):
58978         (proceed_next_node, pop_fail_stack, sub_epsilon_src_nodes):
58979         (clean_state_log_if_needed): Likewise.
58980
58981 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
58982
58983         * config/srclist.txt: Add glibc bugs 1231-1233.
58984
58985 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
58986
58987         Fix problems reported by Sam Steingold in
58988         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00007.html>.
58989         * lib/regexec.c (sift_states_bkref): Fix portability bug: the code
58990         assumed that reg_errcode_t is a signed type, which is not
58991         necessarily true if _XOPEN_SOURCE is not defined.
58992         * lib/regex_internal.c (calc_state_hash): Put 'inline' before type,
58993         since some compilers warn about it otherwise.
58994
58995 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
58996
58997         * lib/regcomp.c (create_initial_state): Remove duplicate decl.
58998         (init_word_char, create_initial_state, duplicate_node_closure):
58999         (fetch_token, peek_token_bracket, build_range_exp):
59000         (build_collating_symbol): Remove forward decls; no longer needed
59001         now that we use prototypes.
59002
59003         * lib/regcomp.c:
59004         (re_compile_pattern, re_set_syntax, re_compile_fastmap):
59005         (re_compile_fastmap_iter, regcomp, regerror, regfree):
59006         (re_compile_internal, init_dfa, init_word_char, free_workarea_compile):
59007         (create_initial_state, optimize_utf8, analyze, postorder, preorder):
59008         (optimize_subexps, lower_subexps, lower_subexp, calc_first, calc_next):
59009         (link_nfa_nodes, duplicate_node_closure, search_duplicated_node):
59010         (duplicate_node, calc_inveclosure, calc_eclosure, calc_eclosure_iter):
59011         (fetch_token, peek_token, peek_token_bracket, parse, parse_reg_exp):
59012         (parse_branch, parse_expression, parse_sub_exp, parse_dup_op):
59013         (build_range_exp, build_collating_symbol, parse_bracket_exp):
59014         (parse_bracket_element, parse_bracket_symbol, build_equiv_class):
59015         (build_charclass, build_charclass_op, fetch_number, create_tree):
59016         (create_token_tree, mark_opt_subexp, duplicate_tree):
59017         Use prototypes rather than old-style definitions.
59018
59019         * lib/regex_internal.c:
59020         (re_string_allocate, re_string_construct, re_string_realloc_buffers):
59021         (re_string_construct_common, build_wcs_buffer, build_wcs_upper_buffer):
59022         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
59023         (re_string_reconstruct, re_string_peek_byte_case):
59024         (re_string_fetch_byte_case, re_string_destruct, re_string_context_at):
59025         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
59026         (re_node_set_init_copy, re_node_set_add_intersect):
59027         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
59028         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
59029         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
59030         (re_acquire_state, re_acquire_state_context, register_state):
59031         (create_ci_newstate, create_cd_newstate, free_state):
59032         Likewise.
59033         * lib/regexec.c (regexec, re_match, re_search, re_match_2,
59034         re_search_2):
59035         (re_search_2_stub, re_search_stub, re_copy_regs, re_set_registers):
59036         (re_search_internal, prune_impossible_nodes):
59037         (acquire_init_state_context, check_matching, static):
59038         (check_halt_node_context, check_halt_state_context, proceed_next_node):
59039         (push_fail_stack, pop_fail_stack, set_regs, free_fail_stack_return):
59040         (update_regs, sift_states_backward, build_sifted_states):
59041         (clean_state_log_if_needed, merge_state_array):
59042         (update_cur_sifted_state, add_epsilon_src_nodes):
59043         (sub_epsilon_src_nodes, check_dst_limits, check_dst_limits_calc_pos_1):
59044         (check_dst_limits_calc_pos, check_subexp_limits, sift_states_bkref):
59045         (sift_states_iter_mb, transit_state, merge_state_with_log, static):
59046         (find_recover_state, check_subexp_matching_top, transit_state_mb):
59047         (transit_state_bkref, get_subexp, get_subexp_sub, find_subexp_node):
59048         (check_arrival, check_arrival_add_next_nodes):
59049         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
59050         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
59051         (check_node_accept_bytes, check_node_accept, extend_buffers):
59052         (match_ctx_init, match_ctx_clean, match_ctx_free, match_ctx_add_entry):
59053         (search_cur_bkref_entry, match_ctx_add_subtop, match_ctx_add_sublast):
59054         (sift_ctx_init):
59055         Likewise.
59056
59057         * lib/regex_internal.h:
59058         (re_string_allocate, re_string_construct, re_string_reconstruct):
59059         (re_string_realloc_buffers, build_wcs_buffer, build_wcs_upper_buffer):
59060         (build_upper_buffer, re_string_translate_buffer, re_string_destruct):
59061         (re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at):
59062         (re_string_context_at, re_string_peek_byte_case):
59063         (re_string_fetch_byte_case): Declare even if RE_NO_INTERNAL_PROTOTYPES
59064         is defined, since we now use prototypes always.
59065
59066         * lib/regex.h (_RE_ARGS): Remove.  No longer needed, since we assume
59067         C89 or better.  All uses removed.
59068
59069 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
59070
59071         * config/srclist.txt: Add glibc bugs 1220-1227.
59072
59073 2005-08-20  Jim Meyering  <jim@meyering.net>
59074
59075         * lib/regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration
59076         of unused local, dfa.
59077
59078 2005-08-20  Bruno Haible  <bruno@clisp.org>
59079
59080         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_GNU_SOURCE.
59081
59082 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
59083
59084         * lib/regex_internal.c (re_string_realloc_buffers, re_node_set_insert):
59085         (re_node_set_insert_last, re_dfa_add_node):
59086         Rename local variables to avoid GCC shadowing warnings.
59087
59088 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
59089
59090         * lib/regex_internal.c (re_acquire_state, re_acquire_state_context)
59091         [defined lint]: Suppress bogus uninitialized-variable warnings.
59092
59093         * lib/regcomp.c (duplicate_node): Return new index, not an error code,
59094         and let the caller return REG_ESPACE if out of space.  This
59095         removes an uninitialied-variable warning with GCC 4.0.1, and also
59096         avoids taking the address of a local variable.  All callers
59097         changed.
59098
59099 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
59100
59101         * config/srclist.txt: Comment out $LIBCSRC/posix/regex_internal.c,
59102         $LIBCSRC/posix/regexec.c.
59103         Add glibc bug 1217 for regcomp.c.
59104
59105 2005-08-19  Jim Meyering  <jim@meyering.net>
59106
59107         * lib/regexec.c (proceed_next_node): Redo local variables to
59108         avoid GCC shadowing warnings.
59109
59110 2005-08-18  Bruno Haible  <bruno@clisp.org>
59111
59112         * lib/strstr.c (strstr): Fix return value in multibyte case.
59113         * lib/strcasestr.c (strcasestr): Likewise.
59114
59115 2005-08-17  Paul Eggert  <eggert@cs.ucla.edu>
59116
59117         * lib/regex.h: Remove useless space-before-tab.  From coreutils.
59118
59119 2005-08-17  Jim Meyering  <jim@meyering.net>
59120
59121         Make the %s format (seconds since the epoch) work for a negative
59122         number and when used with a zero-padded field width, e.g. %015s.
59123
59124         * lib/strftime.c (my_strftime): Move the `do_number_sign_and_padding'
59125         label so that it precedes the code to set `digits'.  Otherwise,
59126         %0Ns wouldn't work.  Before this change, `date -d @-22 +%05s' would
59127         print `00-22'.  Now, it prints `-0022', as it should.
59128
59129 2005-08-17  Bruno Haible  <bruno@clisp.org>
59130
59131         * modules/strstr (Files): Add m4/mbrtowc.m4.
59132         (Depends-on): Add mbuiter.
59133
59134 2005-08-17  Bruno Haible  <bruno@clisp.org>
59135
59136         * modules/strcasestr: New file.
59137         * MODULES.html.sh (String handling, based on ANSI C 89): Add
59138         strcasestr.
59139
59140 2005-08-17  Bruno Haible  <bruno@clisp.org>
59141
59142         * modules/strcase (Depends-on): Add mbuiter. Remove strnlen1, mbchar.
59143
59144 2005-08-17  Bruno Haible  <bruno@clisp.org>
59145
59146         * modules/mbuiter: New file.
59147         * MODULES.html.sh (Extended multibyte and wide character utilities):
59148         Add mbuiter.
59149
59150 2005-08-17  Bruno Haible  <bruno@clisp.org>
59151
59152         * m4/strstr.m4 (gl_FUNC_STRSTR): Use the replacement function always.
59153         (gl_PREREQ_STRSTR): Use gl_FUNC_MBRTOWC.
59154
59155 2005-08-17  Bruno Haible  <bruno@clisp.org>
59156
59157         * m4/strcasestr.m4: New file.
59158
59159 2005-08-17  Bruno Haible  <bruno@clisp.org>
59160
59161         * lib/strstr.h: Ignore HAVE_STRSTR, always declare the gnulib function.
59162         * lib/strstr.c: Completely rewritten, with multibyte locale support.
59163
59164 2005-08-17  Bruno Haible  <bruno@clisp.org>
59165
59166         * lib/strcasestr.h: New file.
59167         * lib/strcasestr.c: New file.
59168
59169 2005-08-17  Bruno Haible  <bruno@clisp.org>
59170
59171         * lib/strcasecmp.c: Use mbuiter.h.
59172
59173 2005-08-17  Bruno Haible  <bruno@clisp.org>
59174
59175         * lib/mbuiter.h: New file.
59176
59177 2005-08-16  Paul Eggert  <eggert@cs.ucla.edu>
59178
59179         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not override the results
59180         of gl_GETOPT_SUBSTITUTE.  That way, if both gl_GETOPT_SUBSTITUTE
59181         and gl_GETOPT are both invoked via different paths (as happens
59182         with GNU tar CVS because it uses both argp and getopt), the former
59183         wins.
59184
59185 2005-08-16  Bruno Haible  <bruno@clisp.org>
59186
59187         * modules/tls: New file.
59188         * MODULES.html.sh (Multithreading): Add tls.
59189
59190 2005-08-16  Bruno Haible  <bruno@clisp.org>
59191
59192         * modules/strnlen1: New file.
59193         * MODULES.html.sh (String handling): Add strnlen1.
59194
59195 2005-08-16  Bruno Haible  <bruno@clisp.org>
59196
59197         * modules/strcase (Files): Add m4/mbrtowc.m4.
59198         (Depends-on): Add strnlen1, mbchar.
59199
59200 2005-08-16  Bruno Haible  <bruno@clisp.org>
59201
59202         * modules/mbiter: New file.
59203         * MODULES.html.sh (Extended multibyte and wide character utilities):
59204         Add mbiter.
59205
59206 2005-08-16  Bruno Haible  <bruno@clisp.org>
59207
59208         * modules/mbfile: New file.
59209         * MODULES.html.sh (Extended multibyte and wide character utilities):
59210         Add mbfile.
59211
59212 2005-08-16  Bruno Haible  <bruno@clisp.org>
59213
59214         * modules/mbchar: New file.
59215         * MODULES.html.sh (Extended multibyte and wide character utilities):
59216         New section.
59217
59218 2005-08-16  Bruno Haible  <bruno@clisp.org>
59219
59220         * m4/tls.m4: New file, from GNU gettext.
59221
59222 2005-08-16  Bruno Haible  <bruno@clisp.org>
59223
59224         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Use the replacement function
59225         always.
59226         (gl_PREREQ_STRCASECMP): Use gl_FUNC_MBRTOWC.
59227
59228 2005-08-16  Bruno Haible  <bruno@clisp.org>
59229
59230         * m4/mbiter.m4: New file.
59231
59232 2005-08-16  Bruno Haible  <bruno@clisp.org>
59233
59234         * m4/mbfile.m4: New file.
59235
59236 2005-08-16  Bruno Haible  <bruno@clisp.org>
59237
59238         * m4/mbchar.m4: New file.
59239
59240 2005-08-16  Bruno Haible  <bruno@clisp.org>
59241
59242         * lib/tls.h: New file, from GNU gettext.
59243         * lib/tls.c: New file, from GNU gettext.
59244
59245 2005-08-16  Bruno Haible  <bruno@clisp.org>
59246
59247         * lib/strnlen1.h: New file.
59248         * lib/strnlen1.c: New file.
59249
59250 2005-08-16  Bruno Haible  <bruno@clisp.org>
59251
59252         * lib/strcasecmp.c (struct mbiter_multi): Remove at_end field.
59253         (mbi_init): Update.
59254         (mbi_avail, mbi_advance): Let the iteration end before the terminating
59255         NUL byte, not after it.
59256
59257 2005-08-16  Bruno Haible  <bruno@clisp.org>
59258
59259         * lib/strcase.h (strcasecmp): Add note in comments.
59260         * lib/strncasecmp.c: Use code from strcasecmp.c.
59261         * lib/strcasecmp.c: Use mbchar module. Define private mbiter variant.
59262         (strcasecmp): Work correctly in multibyte locales.
59263
59264 2005-08-16  Bruno Haible  <bruno@clisp.org>
59265
59266         * lib/mbiter.h: New file.
59267
59268 2005-08-16  Bruno Haible  <bruno@clisp.org>
59269
59270         * lib/mbfile.h: New file.
59271
59272 2005-08-16  Bruno Haible  <bruno@clisp.org>
59273
59274         * lib/mbchar.h: New file.
59275         * lib/mbchar.c: New file.
59276
59277 2005-08-16  Bruno Haible  <bruno@clisp.org>
59278
59279         * lib/mbchar.h (mb_cmp, mb_casecmp): Order the invalid characters after
59280         the valid ones. Makes the comparison operations transitive:
59281         cmp (a, b) < 0 && cmp (b, c) < 0 ==> cmp (a, c) < 0.
59282         * lib/strcasecmp.c (strcasecmp): Use mb_casecmp.
59283
59284 2005-08-15  Simon Josefsson  <jas@extundo.com>
59285
59286         * modules/ssize_t (License): Change to 'unlimited'.
59287
59288         * gnulib-tool (sed_extract_prog): Recognize 'unlimited' license.
59289
59290 2005-08-15  Paul Eggert  <eggert@cs.ucla.edu>
59291
59292         * config/srclist.txt: Comment out $LIBCSRC/posix/regex.h.
59293         Add comments for each pending glibc patch.
59294
59295 2005-08-15  Bruno Haible  <bruno@clisp.org>
59296
59297         * lib/regex.h (__restrict_arr): Don't define to __restrict if
59298         __cplusplus is defined.
59299
59300 2005-08-14  Jim Meyering  <jim@meyering.net>
59301
59302         Sync from coreutils.
59303
59304         * lib/fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir):
59305         Use the hash-table-based cycle-detection code not just when
59306         FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL.
59307         Reported by James Youngman in
59308         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00011.html>.
59309         * lib/fts_.h: Mention that with FTS_LOGICAL, we use
59310         FTS_TIGHT_CYCLE_CHECK.
59311         * lib/fts.c (fts_cross_check) [FTS_DEBUG]:
59312         s/active_dir_ht/fts_cycle.ht/. This lets us compile with -DFTS_DEBUG,
59313         once again.
59314         * lib/fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own.
59315         * lib/fts.c (fd_safer): Remove decl.
59316         Include fcntl--.h rather than unistd-safer.h
59317         (fts_safe_changedir): Don't call fd_safer; no longer needed
59318         now that we include fcntl--.h.
59319
59320 2005-08-12  Simon Josefsson  <jas@extundo.com>
59321
59322         * modules/getndelim2: Use ssize_t module.
59323         * modules/getnline: Likewise.
59324         * modules/safe-read: Likewise.
59325         * modules/xreadlink: Likewise.
59326
59327         * modules/ssize_t: New file.
59328
59329 2005-08-12  Simon Josefsson  <jas@extundo.com>
59330
59331         * m4/readline.m4: Look for termcap, curses or ncurses if required.
59332
59333 2005-08-12  Simon Josefsson  <jas@extundo.com>
59334
59335         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
59336         ssize_t.
59337
59338 2005-08-12  Simon Josefsson  <jas@extundo.com>
59339
59340         * MODULES.html.sh (Extra functions based on ANSI C 89: Misc): Add
59341         readline, getdelim and check_version.
59342         (Support for systems lacking ISO C 99: Sizes of integer types):
59343         Add size_max.
59344
59345 2005-08-12  Bruno Haible  <bruno@clisp.org>
59346
59347         * m4/readline.m4 (gl_FUNC_READLINE): Look for ncurses first.
59348
59349 2005-08-11  Simon Josefsson  <jas@extundo.com>
59350
59351         * modules/readline: New file.
59352
59353         * modules/strnlen (Files): Add strnlen.h.
59354
59355 2005-08-11  Simon Josefsson  <jas@extundo.com>
59356
59357         * m4/readline.m4: New file.
59358
59359 2005-08-11  Simon Josefsson  <jas@extundo.com>
59360
59361         * lib/readline.h, readline.c: New file.
59362
59363 2005-08-11  Simon Josefsson  <jas@extundo.com>
59364
59365         * doc/gnulib.texi (Initial import, Finishing touches): Mention
59366         gl_AVOID.
59367
59368 2005-08-11  Bruno Haible  <bruno@clisp.org>
59369
59370         * lib/strnlen.h (strnlen): Change parameter name to match comment.
59371
59372 2005-08-10  Stepan Kasal  <kasal@ucw.cz>
59373
59374         * m4/onceonly_2_57.m4: Really require Autoconf 2.57.
59375
59376 2005-08-10  Simon Josefsson  <jas@extundo.com>
59377
59378         * tests/test-iconvme.c: New file.
59379
59380 2005-08-10  Simon Josefsson  <jas@extundo.com>
59381
59382         * m4/strnlen.m4: New file.
59383
59384         * m4/strndup.m4: Don't check for strnlen declaration, done in
59385         strnlen.m4.
59386
59387 2005-08-10  Simon Josefsson  <jas@extundo.com>
59388
59389         * lib/strndup.c: Use strnlen.h.
59390
59391         * lib/strnlen.h: New file.
59392
59393 2005-08-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
59394
59395         * README: Typos.
59396
59397 2005-08-02  Simon Josefsson  <jas@extundo.com>
59398
59399         * modules/readline: New file.
59400
59401 2005-08-02  Simon Josefsson  <jas@extundo.com>
59402
59403         * modules/getdelim: New file.
59404
59405         * modules/getline: Rewrite, don't use getndelim2.
59406
59407 2005-08-02  Simon Josefsson  <jas@extundo.com>
59408
59409         * m4/getline.m4: Separate out getdelim stuff into separate module.
59410
59411         * m4/getdelim.m4: New file.
59412
59413 2005-08-02  Simon Josefsson  <jas@extundo.com>
59414
59415         * lib/getline.h, getline.c: Rewrite.
59416
59417         * lib/getdelim.h, lib/getdelim.c: New files, ported from glibc.
59418
59419 2005-07-31  Bruno Haible  <bruno@clisp.org>
59420
59421         * lib/lock.h (gl_lock_initializer): New macro.
59422         (gl_lock_define_initialized): Use it.
59423         (gl_rwlock_initializer): New macro.
59424         (gl_rwlock_define_initialized): Use it.
59425         (gl_recursive_lock_initializer): New macro.
59426         (gl_recursive_lock_define_initialized): Use it.
59427
59428 2005-07-30  Karl Berry  <karl@gnu.org>
59429
59430         * doc/gnulib.texi (Initial import): mention -I$(top_builddir)/lib.
59431         Report from Ben Pfaff, regarding getopt.
59432
59433 2005-07-26  Paul Eggert  <eggert@cs.ucla.edu>
59434
59435         Add support to getopt for Emacs, which doesn't use LIBOBJS in the
59436         normal way.
59437         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): New macro.
59438         (gl_GETOPT_SUBSTITUTE): Use it.  Invoke gl_PREREQ_GETOPT.
59439         (gl_GETOPT_IFELSE, gl_GETOPT_CHECK_HEADERS): New macros.
59440         (gl_GETOPT): Use the new macros.  Most of the implementation
59441         is moved to the new macros.  This is for programs like Emacs
59442         that don't want all the functionality of gl_GETOPT.
59443
59444 2005-07-26  Bruno Haible  <bruno@clisp.org>
59445
59446         * m4/lock.m4: Update from GNU gettext.
59447
59448 2005-07-26  Bruno Haible  <bruno@clisp.org>
59449
59450         * lib/lock.h: Update from GNU gettext.
59451         * lib/lock.c: Update from GNU gettext.
59452
59453 2005-07-25  Paul Eggert  <eggert@cs.ucla.edu>
59454
59455         * m4/regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_IFELSE instead of the
59456         obsolescent AC_TRY_RUN.  Include the default includes files, for
59457         'exit'.
59458
59459 2005-07-24  Bruno Haible  <bruno@clisp.org>
59460
59461         * modules/visibility: New file.
59462         * MODULES.html.sh (Misc): Add visibility.
59463
59464 2005-07-24  Bruno Haible  <bruno@clisp.org>
59465
59466         * m4/visibility.m4: New file.
59467
59468 2005-07-24  Bruno Haible  <bruno@clisp.org>
59469
59470         * doc/visibility.texi: New file.
59471
59472 2005-07-22  Bruno Haible  <bruno@clisp.org>
59473
59474         * modules/alloca-opt (Makefile.am): Remove explicit dependency on
59475         $(ALLOCA_H), redundant through BUILT_SOURCES.
59476         * modules/argz (Makefile.am): Remove explicit dependency on $(ARGZ_H),
59477         redundant through BUILT_SOURCES.
59478         * modules/byteswap (Makefile.am): Remove explicit dependency on
59479         $(BYTESWAP_H), redundant through BUILT_SOURCES.
59480         * modules/fnmatch (Makefile.am): Remove explicit dependency on
59481         $(FNMATCH_H), redundant through BUILT_SOURCES.
59482         * modules/getopt (Makefile.am): Remove explicit dependency on
59483         $(GETOPT_H), redundant through BUILT_SOURCES.
59484         * modules/glob (Makefile.am): Remove explicit dependency on $(GLOB_H),
59485         redundant through BUILT_SOURCES.
59486         * modules/poll (Makefile.am): Remove explicit dependency on $(POLL_H),
59487         redundant through BUILT_SOURCES.
59488         * modules/stdbool (Makefile.am): Remove explicit dependency on
59489         $(STDBOOL_H), redundant through BUILT_SOURCES.
59490         * modules/stdint (Makefile.am): Remove explicit dependency on
59491         $(STDINT_H), redundant through BUILT_SOURCES.
59492         * modules/sysexits (Makefile.am): Add $(SYSEXITS_H) to BUILT_SOURCES.
59493         Remove explicit dependency on $(SYSEXITS_H).
59494         Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.
59495
59496 2005-07-18  Simon Josefsson  <jas@extundo.com>
59497
59498         * lib/check-version.c (check_version): Accept identical versions too.
59499
59500 2005-07-18  Bruno Haible  <bruno@clisp.org>
59501
59502         * modules/lock: New file.
59503         * MODULES.html.sh (Multithreading): New section.
59504
59505 2005-07-18  Bruno Haible  <bruno@clisp.org>
59506
59507         * m4/lock.m4: New file, from GNU gettext.
59508
59509 2005-07-18  Bruno Haible  <bruno@clisp.org>
59510
59511         * lib/lock.h: New file, from GNU gettext.
59512         * lib/lock.c: New file, from GNU gettext.
59513
59514 2005-07-18  Bruno Haible  <bruno@clisp.org>
59515
59516         * lib/lock.h (gl_once_t): New type.
59517         (gl_once_define, gl_once): New macros.
59518         * lib/lock.c (fresh_once): New variable.
59519         (glthread_once, glthread_once_call, glthread_once_singlethreaded): New
59520         functions.
59521
59522 2005-07-16  Simon Josefsson  <jas@extundo.com>
59523
59524         * doc/gnulib.texi (Library version handling): Add ELF symbol collision
59525         workaround, suggested by Bruno.
59526
59527 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
59528
59529         * modules/xalloc (Depends-on): Add xalloc-die.
59530         * modules/xvasprintf (Depends-on): Add xalloc-die.
59531
59532 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
59533
59534         * lib/quotearg.c: Add translator comment suggested by Bruno Haible,
59535         with a minor change.
59536
59537 2005-07-15  Bruno Haible  <bruno@clisp.org>
59538
59539         * m4/poll.m4 (gl_FUNC_POLL): Check against MacOS X 10.4 poll() bug.
59540         When using lib/poll.c, define poll as rpl_poll.
59541
59542 2005-07-14  Paul Eggert  <eggert@cs.ucla.edu>
59543
59544         * modules/argp (Depends-on): Remove unlocked-io.
59545
59546 2005-07-14  Derek Price  <derek@ximbiot.com>
59547
59548         * m4/glob.m4 (gl_GLOB): Cache glob interface check result.  Add check
59549         for glob symlink bug.
59550
59551 2005-07-14  Bruno Haible  <bruno@clisp.org>
59552
59553         * m4/argp.m4 (gl_ARGP): Remove invocation of gl_FUNC_GLIBC_UNLOCKED_IO.
59554         Instead, test for *_unlocked function declarations directly.
59555
59556 2005-07-11  Simon Josefsson  <jas@extundo.com>
59557
59558         * modules/size_max: New file.
59559
59560         * modules/xsize: Depend on size_max module for size_max.m4.
59561
59562 2005-07-11  Simon Josefsson  <jas@extundo.com>
59563
59564         * lib/size_max.h: New file.
59565
59566 2005-07-11  Paul Eggert  <eggert@cs.ucla.edu>
59567
59568         * lib/version-etc-fsf.c (version_etc_copyright): Parameterize the
59569         copyright symbol and the year.
59570         * lib/version-etc.c (COPYRIGHT_YEAR): New constant.
59571         (version_etc_va): Use parameterized copyright notice.
59572         Reword to conform to the current GNU coding standards.
59573
59574 2005-07-11  Karl Berry  <karl@gnu.org>
59575
59576         * doc/gnulib.texi (Quoting): new node.
59577         (Initial import): more info, from Patrice.
59578
59579 2005-07-11  Bruno Haible  <bruno@clisp.org>
59580
59581         * gnulib-tool (func_usage): Document option --avoid.
59582         (Command line options): Handle --avoid.
59583         (func_acceptable): New function.
59584         (func_modules_transitive_closure): Use it.
59585
59586 2005-07-11  Bruno Haible  <bruno@clisp.org>
59587
59588         * MODULES.html.sh: Use shortcut URLs to the www.opengroup.org site.
59589         Reported by Jim Meyering.
59590
59591 2005-07-10  Bruno Haible  <bruno@clisp.org>
59592
59593         * m4/size_max.m4 (gl_SIZE_MAX): Cast ~(size_t)0 back to size_t.
59594         Needed when size_t is smaller than 'unsigned int'.
59595         Reported by Paul Eggert.
59596
59597 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
59598
59599         * modules/argp (Depends-on): Add unlocked-io
59600
59601 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
59602
59603         * lib/argp-namefrob.h: Include unlocked-io.h. Removed unnecessary
59604         block of defines.
59605
59606 2005-07-08  Paul Eggert  <eggert@cs.ucla.edu>
59607
59608         * config/srclist.txt: Comment out regcomp.c, since we have a porting
59609         fix now.
59610
59611 2005-07-08  Eric Blake  <ebb9@byu.net>  (tiny change)
59612         and Paul Eggert  <eggert@cs.ucla.edu>
59613
59614         * lib/regcomp.c (init_dfa, build_range_exp): Store __btowc value
59615         in wint_t, not wchar_t.  Remove now-unnecessary cast.
59616
59617 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
59618
59619         * modules/regex (Files): Add lib/regex_internal.c,
59620         lib/regex_internal.h, lib/regexec.c, lib/regcomp.c, m4/codeset.m4.
59621         (Depends-on): Add extensions.
59622         (Makefile.am): Remove lib_SOURCES; now done by m4 code.
59623
59624 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
59625
59626         * m4/backupfile.m4 (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on
59627         pathconf.
59628         * m4/same.m4 (gl_SAME): Likewise.
59629         Require AC_SYS_LONG_FILE_NAMES; bug reported by Gerrit P. Haase.
59630
59631         * m4/regex.m4: Adjust to new libc regex implementation.
59632         (gl_INCLUDED_REGEX): Add AC_LIBSOURCES for
59633         all the .c and .h parts of (the new) regex.
59634         Quote the m4 stuff better.
59635         Check for RE_ICASE bug of old gnulib.
59636         Check for REG_STARTEND of recent libc.
59637         Rename local variables from jm_* to gl_*.
59638         Quote operand of "test -f".
59639         Say "recent enough" version of libc, not "version 2".
59640         (gl_PREREQ_REGEX): Remove AC_FUNC_ALLOCA, since alloca is a
59641         prerequisite module.  Remove AC_HEADER_STDC; no longer needed.
59642         Check for locale.h, isblank, mbrtowc, wcrtomb, wcscoll.
59643         Remove check for btowc, isascii.
59644         Require AM_LANGINFO_CODESET.
59645
59646 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
59647
59648         * lib/regex.c, regex.h: Sync from libc.
59649         * lib/regcomp.c, lib/regexec_internal.c, lib/regex_internal.h:
59650         * lib/regexec.c:
59651         New files, synced from libc, except that regex_internal.h
59652         currently has a small porting fix.
59653
59654 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
59655
59656         * config/srclist.txt: Add regcomp.c, regex.c, regex.h,
59657         regex_internal.c, regexec.c.
59658         Add regex_internal.h too, but as a comment, since the libc version
59659         is currently broken in gnulib mode.
59660
59661 2005-07-06  Paul Eggert  <eggert@cs.ucla.edu>
59662
59663         Support programs like Emacs that use gnulib but not gettext.
59664         * MODULES.html.sh (Internationalization functions): Add gettext-h.
59665         * modules/gettext-h: New file.
59666         * modules/gettext (Files): Remove lib/gettext.h.
59667         (Depends-on): Add gettext-h.
59668         (Makefile.am): Remove lib_SOURCES.
59669         * modules/argmatch, modules/c-stack, modules/closeout:
59670         * modules/copy-file, modules/csharpcomp, modules/csharpexec:
59671         * modules/execute, modules/file-type, modules/getaddrinfo:
59672         * modules/getopt, modules/human, modules/javacomp:
59673         * modules/javaexec, modules/mkdir-p, modules/obstack:
59674         * modules/openat, modules/pagealign_alloc, modules/pipe:
59675         * modules/quotearg, modules/regex, modules/rpmatch:
59676         * modules/unicodeio, modules/userspec, modules/version-etc:
59677         * modules/wait-process, modules/xalloc-die, modules/xmemcoll:
59678         * modules/xsetenv:
59679         Depend on gettext-h, not gettext.
59680
59681 2005-07-05  Paul Eggert  <eggert@cs.ucla.edu>
59682
59683         * gnulib-tool (func_import): Add support for 'public domain' license.
59684         * modules/alloca, modules/atexit, modules/memmove:
59685         Now public domain, not GPL.
59686         * modules/dup2, modules/getpagesize, modules/malloc, modules/memset:
59687         * modules/realloc, modules/strerror, modules/strtod:
59688         Now LGPL, not GPL.
59689
59690 2005-07-05  Bruno Haible  <bruno@clisp.org>
59691
59692         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Upgrade to version from current
59693         autoconf CVS. Needed for mingw.
59694
59695 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
59696
59697         Remove the dependency of the strftime module on the tzset module.
59698         * modules/strftime (Depends-on): Remove dependency on tzset.
59699
59700 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
59701
59702         Remove the dependency of the strftime module on the tzset module.
59703         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't require
59704         gl_FUNC_TZSET_CLOBBER.
59705
59706 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
59707
59708         Remove the dependency of the strftime module on the tzset module.
59709         * lib/strftime.c (my_strftime)
59710         [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
59711         Copy the input structure, to work around some of the bug with
59712         Solaris 2.5.1 and Solaris 2.6.  If you still care about these old
59713         Solaris releases, you should also use the tzset module, but we won't
59714         require it as a dependency any more since we don't want LGPLed code
59715         to depend on GPLed code.
59716
59717 2005-07-02  Jim Meyering  <jim@meyering.net>
59718
59719         * m4/chown.m4, cloexec.m4, dup2.m4, fsusage.m4:
59720         * m4/getcwd-path-max.m4, getcwd.m4, mkstemp.m4, mountlist.m4:
59721         * m4/pagealign_alloc.m4, save-cwd.m4, unistd-safer.m4:
59722         Don't check for fcntl.h, and don't test for HAVE_FCNTL_H.
59723
59724 2005-07-02  Jim Meyering  <jim@meyering.net>
59725
59726         * lib/backupfile.c (backup_args): Change a `0' to NULL.
59727
59728 2005-07-01  Paul Eggert  <eggert@cs.ucla.edu>
59729
59730         * lib/xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h>
59731         declares only 'struct timespec;' (!).
59732
59733 2005-07-01  Jim Meyering  <jim@meyering.net>
59734
59735         * lib/chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c:
59736         * lib/getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c:
59737         * lib/save-cwd.c, tempname.c:
59738         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
59739         and don't include <sys/file.h>).
59740
59741 2005-06-29  Jim Meyering  <jim@meyering.net>
59742
59743         * lib/mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded
59744         type name.  Use the variable name instead.
59745         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
59746         Likewise.
59747
59748 2005-06-28  Simon Josefsson  <jas@extundo.com>
59749
59750         * modules/check-version (Files): Add check-version.m4.
59751
59752 2005-06-28  Simon Josefsson  <jas@extundo.com>
59753
59754         * m4/check-version.m4: New file, suggested by Jim Meyering
59755         <jim@meyering.net>.
59756
59757 2005-06-28  Simon Josefsson  <jas@extundo.com>
59758
59759         * lib/check-version.h, lib/check-version.c: New files.
59760
59761 2005-06-28  Simon Josefsson  <jas@extundo.com>
59762
59763         * lib/base64.c (base64_encode): Indent.  Rename 'b64' to avoid
59764         collision with global variable.  Better indentation.  Don't
59765         increment buffer pointer beyond buffer end.  Based on comments
59766         from Paul Eggert <eggert@cs.ucla.edu>.
59767
59768         * lib/base64.h: Indent.
59769
59770 2005-06-28  Simon Josefsson  <jas@extundo.com>
59771
59772         * doc/gnulib.texi (Library version handling): New section.
59773
59774 2005-06-28  Jim Meyering  <jim@meyering.net>
59775
59776         * check-module (find_included_lib_files): Hard-code another
59777         pair of exceptions: fts.c includes fts-cycle.c and unistd-safer.h
59778         but modules/fts-lgpl (correctly) does not list those files.
59779
59780         * modules/canonicalize (Files): Add lib/pathmax.h.
59781
59782 2005-06-25  Simon Josefsson  <jas@extundo.com>
59783
59784         * modules/check-version: New file.
59785
59786 2005-06-24  Paul Eggert  <eggert@cs.ucla.edu>
59787
59788         * lib/canon-host.c (canon-host): Append trailing "," to 0 in
59789         initializer of struct addrinfo, as an indication that we don't
59790         care how many members the structure has.
59791
59792 2005-06-24  Derek Price  <derek@ximbiot.com>
59793         and Bruno Haible  <bruno@clisp.org>
59794
59795         Remove stat module & update lstat.
59796         * m4/lstat.m4 (gl_FUNC_LSTAT): Drop AC_FUNC_LSTAT in favor of
59797         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
59798         * m4/stat.m4: Remove this file.
59799
59800 2005-06-24  Derek Price  <derek@ximbiot.com>
59801         and Bruno Haible  <bruno@clisp.org>
59802
59803         Remove stat module & update lstat.
59804         * lib/stat.c: Remove this file...
59805         (slash_aware_lstat): ...moving this content and its support...
59806         * lib/lstat.c (rpl_lstat): ...into here.
59807         * lib/lstat.h: New file.
59808
59809 2005-06-24  Derek Price  <derek@ximbiot.com>
59810         and Bruno Haible  <bruno@clisp.org>
59811
59812         Remove stat module & update lstat.
59813         * config/srclist.txt (libc sources): Remove stat.
59814
59815 2005-06-24  Derek Price  <derek@ximbiot.com>
59816         and Bruno Haible  <bruno@clisp.org>
59817
59818         Remove stat module & update lstat.
59819         * MODULES.html.sh (stat): Remove.
59820         * MODULES.html: Regenerated.
59821         * modules/lstat (Description): Correct function name.
59822         (Files): Add "lstat.h".
59823         (Depends-on): Remove stat, add xalloc, stat-macros.
59824         * modules/stat: Remove this file.
59825         (Include): Add "lstat.h", remove <sys/stat.h>.
59826
59827 2005-06-23  Paul Eggert  <eggert@cs.ucla.edu>
59828
59829         * lib/mktime.c: Include <string.h> even if !DEBUG.  (From glibc.)
59830         (ranged_convert): Don't save conversion in a temporary struct.
59831         This causes a warning with GCC 4.0.0, and anyway in the typical
59832         case it's not worth the extra 100 bytes or so of code.
59833         (ranged_convert, __mktime_internal): When calling a function via a
59834         pointer P, use P () rather than (*P) (), as we now assume C89 or
59835         better.
59836
59837 2005-06-22  Paul Eggert  <eggert@cs.ucla.edu>
59838
59839         * lib/readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and
59840         "who -r" failed to give output.  Problem reported by Tim Waugh.
59841
59842         * lib/xmalloc.c (HAVE_GNU_CALLOC): New constant.
59843         (xcalloc): Use it to avoid needless tests.
59844         Problem reported by Jim Meyering.
59845
59846 2005-06-20  Derek Price  <derek@ximbiot.com>
59847
59848         * m4/bison.m4: Note that precious decls of YACC & YFLAGS will be
59849         unnecessary for Autoconfs > 2.59c.
59850
59851 2005-06-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
59852
59853         * lib/argp.h (__option_is_short): Check upper limit of
59854         __key. Isprint() requires its argument to have the value
59855         of an unsigned char or EOF.
59856
59857 2005-06-16  Jim Meyering  <jim@meyering.net>
59858
59859         * lib/calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1)
59860         when either N or S is zero.
59861
59862 2005-06-16  Derek Price  <derek@ximbiot.com>
59863
59864         * m4/bison.m4: Declare YACC & YFLAGS precious.
59865
59866 2005-06-10  Paul Eggert  <eggert@cs.ucla.edu>
59867
59868         * lib/fnmatch.c (fnmatch): If there is an encoding error in a
59869         multibyte string or pattern, fall back on unibyte matching.
59870         Problem reported by James Youngman.
59871
59872 2005-06-08  Bruno Haible  <bruno@clisp.org>
59873
59874         * modules/csharpcomp: New file.
59875         * MODULES.html.sh (C#): Add csharpcomp.
59876
59877 2005-06-08  Bruno Haible  <bruno@clisp.org>
59878
59879         * m4/csharpcomp.m4: New file, from GNU gettext.
59880
59881 2005-06-08  Bruno Haible  <bruno@clisp.org>
59882
59883         * lib/csharpcomp.h: New file, from GNU gettext.
59884         * lib/csharpcomp.c: New file, from GNU gettext.
59885         * lib/csharpcomp.sh.in: New file, from GNU gettext.
59886
59887 2005-06-08  Bruno Haible  <bruno@clisp.org>
59888
59889         * lib/binary-io.h (fileno): Undefine before defining it. Avoids a gcc
59890         warning on mingw.
59891
59892 2005-06-07  Derek Price  <derek@ximbiot.com>
59893
59894         Sync from CVS.
59895         * lib/glob_.h: Indent nested #ifdef.
59896
59897 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
59898
59899         Sync from coreutils.
59900         Use "file name" when talking about file names, instead of "filename"
59901         or "path", as per the GNU coding standards.
59902         * lib/mkdir-p.c: Renamed from makepath.c.
59903         (make_dir_parents): Renamed from make_path.  All callers changed.
59904         * lib/mkdir-p.h: Likewise.  All includers changed.
59905         * lib/filenamecat.c: Renamed from path-concat.c.
59906         (file_name_concat): Renamed from path_concat.  All callers changed.
59907         [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT.
59908         * lib/filenamecat.h: Likewise.  All includers changed.
59909         * lib/acl.c: Don't use "path" or "filename" to mean "file name"
59910         in comments or local variable names.
59911         * lib/basename.c: Likewise.
59912         * lib/canonicalize.c, canonicalize.h: Likewise.
59913         * lib/dirname.c, dirname.h: Likewise.
59914         * lib/euidaccess.c: Likewise.
59915         * lib/exclude.c: Likewise
59916         * lib/fnmatch_.h, fnmatch_loop.c: Likewise.
59917         * lib/fsusage.c, fsuage.h: Likewise.
59918         * lib/fts.c, fts_.h: Likewise.
59919         * lib/getcwd.c: Likewise.
59920         * lib/getloadavg.c: Likewise.
59921         * lib/mkstemp.c: Likewise.
59922         * lib/mountlist.c, mountlist.h: Likewise.
59923         * lib/openat.c, openat.h: Likewise.
59924         * lib/readlink-stub.c: Likewise.
59925         * lib/readutmp.c, readutmp.h: Likewise.
59926         * lib/rename.c: Likewise.
59927         * lib/rmdir.c: Likewise.
59928         * lib/same.c: Likewise.
59929         * lib/savedir.c: Likewise.
59930         * lib/stripslash.c: Likewise.
59931         * lib/tempname.c: Likewise.
59932         * lib/xreadlink.c: Likewise.
59933         * lib/exclude.c (excluded_file_name): Renamed from excluded_filename.
59934         All uses changed.
59935         * lib/exclude.h: Likewise.
59936
59937         * lib/euidaccess.c (getuid, getgid, getuid, getegid)
59938         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
59939         * lib/idcache.c (getpwuid, getpwnam, getgrgid, getgrnam)
59940         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
59941         * lib/pathmax.h: Include <limits.h> unconditionally, since other
59942         files have been getting away with it for years (MORE/BSD 4.3
59943         is extinct now).
59944         * lib/userspec.c (getpwnam, getgrnam, getgrgid)
59945         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
59946
59947         * lib/pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]:
59948         Define to 256, not 255, as per modern POSIX.
59949
59950 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
59951
59952         Sync from coreutils.
59953         Use "file name" when talking about file names, instead of "filename"
59954         or "path", as per the GNU coding standards.
59955         * MODULES.html.sh: mkdir-p renamed from makepath.
59956         filenamecat renamed from path-concat.
59957         * modules/filenamecat: Renamed from modules/path-concat.
59958         (Files): filenamecat.h and filenamecat.c renamed from
59959         path-concat.h and path-concat.c.
59960         (configure.ac): gl_FILE_NAME_CONCAT, not gl_PATH_CONCAT.
59961         (Include): filenamecat.h, not path-concat.h.
59962         * modules/mkdir-p: Renamed from modules/makepath.
59963         (Files): mkdir-p.h and mkdir-p.c renamed from makepath.h and
59964         makepath.c.
59965         (configure.ac): gl_MKDIR_PARENTS, not gl_MAKEPATH.
59966         (Include): mkdir-p.h, not makepath.h.
59967
59968 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
59969
59970         Sync from coreutils.
59971         * m4/mkdir-p.m4: Renamed from makepath.m4.
59972         (gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH.  All uses changed.
59973         Rename files from makepath.c to mkdir-p.c, and from
59974         makepath.h to mkdir-p.h.
59975         * m4/filenamecat.m4: Renamed from path-concat.m4.
59976         (gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT.  All uses changed.
59977         Rename files from path-concat.c to filenamecat.c,
59978         and from path-concat.h to filenamecat.h.
59979         * m4/getcwd-path-max.m4: Don't use "path" or "filename" to mean
59980         "file name" in local variables or comments.
59981         * m4/rename.m4: Likewise.
59982
59983 2005-06-01  Bruno Haible  <bruno@clisp.org>
59984
59985         * modules/csharpexec: New file.
59986         * MODULES.html.sh (C#): New section.
59987
59988 2005-06-01  Bruno Haible  <bruno@clisp.org>
59989
59990         * m4/csharp.m4: New file, from GNU gettext.
59991         * m4/csharpexec.m4: New file, from GNU gettext.
59992
59993 2005-06-01  Bruno Haible  <bruno@clisp.org>
59994
59995         * lib/csharpexec.h: New file, from GNU gettext.
59996         * lib/csharpexec.c: New file, from GNU gettext.
59997         * lib/csharpexec.sh.in: New file, from GNU gettext.
59998
59999 2005-05-31  Derek Price  <derek@ximbiot.com>
60000             Paul Eggert  <eggert@cs.ucla.edu>
60001
60002         Sync from cvs.
60003         * m4/glob.m4: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
60004
60005 2005-05-31  Derek Price  <derek@ximbiot.com>
60006             Paul Eggert  <eggert@cs.ucla.edu>
60007
60008         Sync from cvs.
60009         * lib/glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
60010
60011 2005-05-29  Derek Price  <derek@ximbiot.com>
60012
60013         * config/srclist.txt (glob_.h, glob.c): Add these files.
60014
60015 2005-05-29  Derek Price  <derek@ximbiot.com>
60016
60017         * MODULES.html.sh: Add glob to Enhanced POSIX.2001 section.
60018         * modules/glob: New file.
60019         * modules/getlogin_r: Add link to POSIX spec in description.
60020
60021 2005-05-29  Derek Price  <derek@ximbiot.com>
60022             Paul Eggert  <eggert@cs.ucla.edu>
60023
60024         * m4/glob.m4: New file.
60025
60026 2005-05-29  Derek Price  <derek@ximbiot.com>
60027             Paul Eggert  <eggert@cs.ucla.edu>
60028
60029         * lib/glob_.h, lib/glob.c: New files.
60030
60031 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
60032
60033         * modules/fts (Files): Remove m4/inttypes-pri.m4.
60034         * modules/fts-lgpl (Depends-on): Remove gettext.
60035
60036 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
60037
60038         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h,
60039         and don't require gt_INTTYPES_PRI.
60040
60041 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
60042
60043         * lib/getlogin_r.c (getlogin_r): Don't set errno to 0 on return.
60044
60045         * lib/fts.c: Don't worry about debugging on pre-C99-compatible hosts;
60046         the configuration hassle isn't worth it.
60047         Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
60048         (LONGEST_MODIFIER, PRIuMAX): Remove.
60049
60050 2005-05-27  Bruno Haible  <bruno@clisp.org>
60051
60052         * lib/getlogin_r.h: Remove second include of <stddef.h>.
60053
60054 2005-05-26  Paul Eggert  <eggert@cs.ucla.edu>
60055
60056         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Define
60057         _POSIX_PTHREAD_SEMANTICS for Solaris.
60058
60059 2005-05-25  Derek Price  <derek@ximbiot.com>
60060
60061         * MODULES.html.sh: Add getlogin_r to POSIX.2001 support section.
60062
60063 2005-05-25  Derek Price  <derek@ximbiot.com>
60064             Paul Eggert  <eggert@cs.ucla.edu>
60065
60066         * modules/getlogin_r, m4/getlogin_r.m4: New files.
60067         * lib/getlogin_r.c, getlogin_r.h: New files.
60068
60069 2005-05-25  Bruno Haible  <bruno@clisp.org>
60070             Derek Price  <derek@ximbiot.com>
60071
60072         * lib/getlogin_r.h: Simplify API documentation.
60073
60074 2005-05-23  Derek Price  <derek@ximbiot.com>
60075
60076         * modules/minmax (Files): Add m4/minmax.m4.
60077         (configure.ac): Add gl_MINMAX.
60078
60079 2005-05-22  Paul Eggert  <eggert@cs.ucla.edu>
60080
60081         * lib/fts.c (fd_safer) [_LGPL_PACKAGE]: New static function,
60082         so that unistd-safer.h (GPL'ed code) need not be included.
60083
60084 2005-05-22  Bruno Haible  <bruno@clisp.org>
60085
60086         * m4/minmax.m4: New file.
60087         Based on a patch by Derek Price <derek@ximbiot.com>.
60088
60089 2005-05-22  Bruno Haible  <bruno@clisp.org>
60090
60091         * lib/stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs.
60092         (INT64_MIN): Fix definition.
60093         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
60094
60095         * lib/stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from
60096         NEED_SIGNED_INT_TYPES.
60097
60098         * lib/stdint_.h (_STDINT_H_HAVE_SYSTEM_INTTYPES): Renamed from
60099         HAVE_SYSTEM_INTTYPES.
60100
60101 2005-05-22  Bruno Haible  <bruno@clisp.org>
60102
60103         * lib/minmax.h: Include <limits.h> only when it defines MIN, MAX.
60104         Also include <sys/param.h> if it defines MIN, MAX.
60105         Based on a patch by Derek Price <derek@ximbiot.com>.
60106
60107 2005-05-21  Jim Meyering  <jim@meyering.net>
60108
60109         * modules/fts (Files): Add m4/inttypes-pri.m4.
60110         (Depends-on): Add lstat and remove gettext.  Alphabetize.
60111
60112 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
60113
60114         New fts module.
60115         * lib/fts.c: Don't include "cycle-check.h" or "hash.h".
60116         (setup_dir, free_dir): New functions.
60117         (enter_dir, leave_dir): Define trivial
60118         alternatives of _LGPL_PACKAGE.  Move to fts-cycle.c if !_LGPL_PACKAGE.
60119         (HT_INITIAL_SIZE, ENTER_DIR): Remove.  All uses removed.
60120         (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir.
60121         (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir):
60122         Move to fts-cycle.c.
60123         (fts_open): Use setup_dir.
60124         (fts_close): Use free_dir.
60125         (fts_read): Have just one copy of the ENTER_DIR code rather than three.
60126         This adds a label and some gotos, but the alternatives were messier.
60127         Check for memory allocation failure when entering a dir.
60128         (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code.
60129         * lib/fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro.
60130         (FTS): New member fts_cycle, that is a union that contains the
60131         old active_dir_ht and cycle_state.  All uses changed to mention
60132         fts_cycle.ht and fts_cycle.state.
60133         * lib/fts-cycle.c: New file, containing GPL'ed code migrated out of
60134         fts.c, with the following changes:
60135         (setup_dir, free_dir): New functions.
60136         (enter_dir): Now returns bool.  Return true if successful, false
60137         if memory exhausted.  All callers changed.
60138         Do not bother partly cleaning up on
60139         memory allocation failure; that is free_dir's job.
60140         However, free ad if hash_insert fails, to avoid memory leak.
60141         (enter_dir, leave_dir): Accommodate change to FTS by inspecting
60142         fts->fts_options to see which union member to use.
60143
60144 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
60145
60146         * m4/fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS.
60147         (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros.
60148
60149 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
60150
60151         * MODULES.html.sh (File system functions): Add fts, fts-lgpl.
60152
60153 2005-05-20  Jim Meyering  <jim@meyering.net>
60154
60155         * lib/unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]:
60156         Now a macro, to pacify GCC.
60157
60158 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
60159
60160         * m4/chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs
60161         of -1.
60162
60163 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
60164
60165         * lib/chown.c (rpl_chown): Return -1 on failure.
60166
60167 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
60168
60169         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]):
60170         Don't check for stddef.h.
60171         * m4/fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we
60172         don't use its results.
60173         Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h,
60174         since we include them unconditionally.  Don't require
60175         AM_STDBOOL_H, since stdbool is a prerequisite.
60176         Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t
60177         since we assume C89 or better.
60178         Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT,
60179         as we don't use their results.
60180         Don't check for fchdir, memmove, memset, strrchr, as we use
60181         them unconditionally.
60182         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define
60183         GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it.
60184
60185 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
60186
60187         * lib/canonicalize.c: Include canonicalize.h first, to test interface.
60188         Include <stddef.h> unconditionally, since we assume C89 now.
60189         All uses of PTR_INT_TYPE replaced by ptrdiff_t.
60190         * lib/fts.c: Include fts_.h first, to check interface.
60191         Do not include intprops.h; no longer needed.
60192         Include cycle-check.h and hash.h, since fts_.h no longer does.
60193         Remove unnecessary casts of closedir to void.
60194         (fts_build): Use a simpler method (not involving TYPE_SIGNED) to
60195         decide whether to decrement nlinks.
60196         * lib/fts_.h: Do not include hash.h or cycle-check.h; no longer needed.
60197         (FTS): Use struct hash_table * instead of Hash_table, so that
60198         we no longer need to include hash.h here.
60199
60200 2005-05-18  Jim Meyering  <jim@meyering.net>
60201
60202         * modules/dirfd (License): Change to LGPL.  Most of the code
60203         is already in the public domain.
60204
60205 2005-05-18  Jim Meyering  <jim@meyering.net>
60206
60207         * m4/fts.m4 (AC_LIBSOURCES): Add intprops.h to the list.
60208         Reported by Yoann Vandoorselaere.
60209
60210 2005-05-17  Jim Meyering  <jim@meyering.net>
60211
60212         * m4/fts.m4: New file, from coreutils.
60213
60214 2005-05-17  Jim Meyering  <jim@meyering.net>
60215
60216         * lib/fts.c, lib/fts_.h: New files, from coreutils.
60217
60218 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
60219
60220         Sync from coreutils.
60221         * m4/unlinkdir.m4: New file.
60222
60223 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
60224
60225         Sync from coreutils.
60226         * lib/unlinkdir.c, lib/unlinkdir.h: New files.
60227         * lib/gethrxtime.c, lib/gethrxtime.h, lib/getpass.h, lib/mountlist.h,
60228         lib/path-concat.c, lib/regex.h, lib/unlocked-io.h, lib/xtime.h:
60229         White space changes only.
60230         * lib/makepath.c (make_path): Port to hosts where leading "//" is
60231         special.
60232         * lib/yesno.c: Include getline.h, not ctype.h.
60233         (yesno): Don't remove leading white space; POSIX doesn't allow it.
60234         Use getline to remove arbitrary restriction on response length.
60235
60236 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
60237
60238         * config/srclist-update: Spell out "Street" in FSF postal
60239         mail address; this is the style the FSF seems to prefer.
60240
60241         * build-aux/depcomp, build-aux/install-sh, build-aux/mdate-sh,
60242         build-aux/missing, build-aux/mkinstalldirs: Sync from Automake;
60243         this updates FSF postal mail address.
60244
60245         Sync from coreutils.
60246         * modules/unlinkdir: New file.
60247         * modules/yesno (Depends-on): Add getline.
60248         * MODULES.html.sh (File system functions): Add unlinkdir.
60249
60250 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
60251
60252         * lib/byteswap_.h, lib/getsubopt.h, lib/iconvme.h, lib/strsep.c,
60253         lib/strsep.h:
60254         Change the initial comment to refer to GPL, not LGPL.
60255         gnulib-tool will change it to LGPL as needed.
60256
60257         * lib/__fpending.c, lib/acl.c, lib/acl.h, lib/alloca_.h, lib/allocsa.c,
60258         lib/allocsa.h, lib/argmatch.c, lib/argmatch.h, lib/argp-ba.c,
60259         lib/argp-eexst.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h,
60260         lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h,
60261         lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c,
60262         lib/argp.h, lib/argz.c, lib/argz_.h, lib/asnprintf.c, lib/asprintf.c,
60263         lib/atanl.c, lib/backupfile.c, lib/backupfile.h, lib/base64.c,
60264         lib/base64.h, lib/basename.c, lib/binary-io.h, lib/byteswap_.h,
60265         lib/c-ctype.c, lib/c-ctype.h, lib/c-stack.c, lib/c-stack.h,
60266         lib/c-strtod.c, lib/calloc.c, lib/canon-host.c, lib/canonicalize.c,
60267         lib/canonicalize.h, lib/ceill.c, lib/chdir-long.c, lib/chdir-long.h,
60268         lib/chown.c, lib/classpath.c, lib/classpath.h, lib/cloexec.c,
60269         lib/closeout.c, lib/closeout.h, lib/concatpath.c, lib/config.charset,
60270         lib/copy-file.c, lib/copy-file.h, lib/cycle-check.c, lib/cycle-check.h,
60271         lib/diacrit.c, lib/diacrit.h, lib/dirfd.c, lib/dirfd.h, lib/dirname.c,
60272         lib/dirname.h, lib/dummy.c, lib/dup-safer.c, lib/dup2.c, lib/eealloc.h,
60273         lib/error.c, lib/error.h, lib/euidaccess.c, lib/exclude.c,
60274         lib/exclude.h, lib/execute.c, lib/execute.h, lib/exit.h,
60275         lib/exitfail.c, lib/exitfail.h, lib/expl.c, lib/fatal-signal.c,
60276         lib/fatal-signal.h, lib/fd-safer.c, lib/file-type.c, lib/file-type.h,
60277         lib/fileblocks.c, lib/filemode.c, lib/filemode.h, lib/findprog.c,
60278         lib/findprog.h, lib/floorl.c, lib/fnmatch.c, lib/fnmatch_.h,
60279         lib/fnmatch_loop.c, lib/fopen-safer.c, lib/free.c, lib/frexpl.c,
60280         lib/fsusage.c, lib/fsusage.h, lib/full-read.c, lib/full-read.h,
60281         lib/full-write.c, lib/full-write.h, lib/fwriteerror.c,
60282         lib/fwriteerror.h, lib/gai_strerror.c, lib/gcd.c, lib/gcd.h,
60283         lib/getaddrinfo.c, lib/getaddrinfo.h, lib/getcwd.c, lib/getcwd.h,
60284         lib/getdate.h, lib/getdate.y, lib/getdomainname.c, lib/getdomainname.h,
60285         lib/getgroups.c, lib/gethostname.c, lib/gethrxtime.c, lib/gethrxtime.h,
60286         lib/getline.c, lib/getline.h, lib/getloadavg.c, lib/getndelim2.c,
60287         lib/getndelim2.h, lib/getnline.c, lib/getnline.h, lib/getopt.c,
60288         lib/getopt1.c, lib/getopt_.h, lib/getopt_int.h, lib/getpagesize.h,
60289         lib/getpass.c, lib/getpass.h, lib/getsubopt.c, lib/getsubopt.h,
60290         lib/gettext.h, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c,
60291         lib/getusershell.c, lib/group-member.c, lib/group-member.h,
60292         lib/hard-locale.c, lib/hard-locale.h, lib/hash-pjw.c, lib/hash-pjw.h,
60293         lib/hash.c, lib/hash.h, lib/human.c, lib/human.h, lib/iconvme.c,
60294         lib/iconvme.h, lib/idcache.c, lib/inet_ntop.h, lib/intprops.h,
60295         lib/inttostr.c, lib/inttostr.h, lib/isdir.c, lib/javacomp.c,
60296         lib/javacomp.h, lib/javacomp.sh.in, lib/javaexec.c, lib/javaexec.h,
60297         lib/javaexec.sh.in, lib/lbrkprop.h, lib/lchown.c, lib/ldexpl.c,
60298         lib/linebreak.c, lib/linebreak.h, lib/linebuffer.c, lib/linebuffer.h,
60299         lib/localcharset.c, lib/localcharset.h, lib/logl.c, lib/long-options.c,
60300         lib/long-options.h, lib/lstat.c, lib/makepath.c, lib/makepath.h,
60301         lib/malloc.c, lib/mathl.h, lib/mbswidth.c, lib/mbswidth.h, lib/md5.c,
60302         lib/md5.h, lib/memcasecmp.c, lib/memcasecmp.h, lib/memchr.c,
60303         lib/memcmp.c, lib/memcoll.c, lib/memcoll.h, lib/memcpy.c, lib/memmem.c,
60304         lib/memmem.h, lib/mempcpy.c, lib/mempcpy.h, lib/memrchr.c,
60305         lib/memrchr.h, lib/memset.c, lib/minmax.h, lib/mkdir.c, lib/mkdtemp.c,
60306         lib/mkdtemp.h, lib/mkstemp.c, lib/mktime.c, lib/modechange.c,
60307         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
60308         lib/obstack.c, lib/obstack.h, lib/openat.c, lib/openat.h,
60309         lib/pagealign_alloc.c, lib/pagealign_alloc.h, lib/path-concat.c,
60310         lib/path-concat.h, lib/pathmax.h, lib/pathname.h, lib/physmem.c,
60311         lib/physmem.h, lib/pipe.c, lib/pipe.h, lib/poll.c, lib/poll_.h,
60312         lib/posixtm.c, lib/posixtm.h, lib/posixver.c, lib/printf-args.c,
60313         lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h,
60314         lib/progname.c, lib/progname.h, lib/progreloc.c, lib/putenv.c,
60315         lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h, lib/raise.c,
60316         lib/readlink.c, lib/readtokens.c, lib/readtokens.h, lib/readtokens0.c,
60317         lib/readtokens0.h, lib/readutmp.c, lib/readutmp.h, lib/realloc.c,
60318         lib/ref-add.sin, lib/ref-del.sin, lib/regex.c, lib/regex.h,
60319         lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c,
60320         lib/safe-read.h, lib/safe-write.c, lib/safe-write.h, lib/same.c,
60321         lib/same.h, lib/save-cwd.c, lib/save-cwd.h, lib/savedir.c,
60322         lib/savedir.h, lib/setenv.c, lib/setenv.h, lib/settime.c,
60323         lib/sh-quote.c, lib/sh-quote.h, lib/sha1.c, lib/sha1.h, lib/sig2str.c,
60324         lib/sig2str.h, lib/sincosl.c, lib/snprintf.c, lib/snprintf.h,
60325         lib/sqrtl.c, lib/stat-macros.h, lib/stat.c, lib/stdbool_.h,
60326         lib/stdint_.h, lib/stdio-safer.h, lib/stpcpy.c, lib/stpcpy.h,
60327         lib/stpncpy.c, lib/stpncpy.h, lib/strcase.h, lib/strcasecmp.c,
60328         lib/strchrnul.c, lib/strchrnul.h, lib/strcspn.c, lib/strdup.c,
60329         lib/strdup.h, lib/strerror.c, lib/strftime.c, lib/strftime.h,
60330         lib/stripslash.c, lib/strndup.c, lib/strndup.h, lib/strnlen.c,
60331         lib/strpbrk.c, lib/strpbrk.h, lib/strsep.c, lib/strsep.h, lib/strstr.c,
60332         lib/strstr.h, lib/strtod.c, lib/strtoimax.c, lib/strtok_r.c,
60333         lib/strtok_r.h, lib/strtol.c, lib/strtoll.c, lib/strtoul.c,
60334         lib/strtoull.c, lib/strverscmp.c, lib/strverscmp.h, lib/sysexit_.h,
60335         lib/tempname.c, lib/time_r.c, lib/time_r.h, lib/timegm.c, lib/timegm.h,
60336         lib/timespec.h, lib/trigl.c, lib/trigl.h, lib/ucs4-utf16.h,
60337         lib/ucs4-utf8.h, lib/unicodeio.c, lib/unicodeio.h, lib/unistd-safer.h,
60338         lib/unlocked-io.h, lib/unsetenv.c, lib/userspec.c, lib/utf16-ucs4.h,
60339         lib/utf8-ucs4.h, lib/utime.c, lib/utimecmp.c, lib/utimecmp.h,
60340         lib/utimens.c, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c,
60341         lib/vasprintf.h, lib/version-etc-fsf.c, lib/version-etc.c,
60342         lib/version-etc.h, lib/vsnprintf.c, lib/vsnprintf.h, lib/w32spawn.h,
60343         lib/wait-process.c, lib/wait-process.h, lib/xalloc-die.c, lib/xalloc.h,
60344         lib/xallocsa.c, lib/xallocsa.h, lib/xasprintf.c, lib/xgetcwd.c,
60345         lib/xgetcwd.h, lib/xgetdomainname.c, lib/xgetdomainname.h,
60346         lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c,
60347         lib/xreadlink.c, lib/xreadlink.h, lib/xsetenv.c, lib/xsetenv.h,
60348         lib/xsize.h, lib/xstrndup.c, lib/xstrndup.h, lib/xstrtod.c,
60349         lib/xstrtod.h, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h,
60350         lib/xstrtoumax.c, lib/xtime.h, lib/xvasprintf.c, lib/xvasprintf.h,
60351         lib/yesno.c, lib/yesno.h:
60352         Update FSF postal mail address.
60353
60354 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
60355
60356         * MODULES.html.sh, README, gnulib-tool, tests/test-base64.c,
60357         tests/test-memmem.c, tests/test-stpncpy.c:
60358         Update FSF postal mail address.
60359
60360 2005-05-13  Bruno Haible  <bruno@clisp.org>
60361
60362         * lib/stdint_.h (int64_t, uint64_t, int_least64_t, uint_least64_t,
60363         int_fast64_t, uint_fast64_t, intmax_t, uintmax_t, INT64_MIN, INT64_MAX,
60364         UINT64_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX,
60365         INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTMAX_MIN,
60366         INTMAX_MAX, UINTMAX_MAX, INT64_C, UINT64_C, INTMAX_C, UINTMAX_C):
60367         Add support for 64-bit integers in the MSVC compiler.
60368
60369 2005-05-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
60370
60371         * modules/getdate (Makefile.am): Add getdate.c to EXTRA_DIST
60372
60373 2005-05-12  Eric Blake  <ebb9@byu.net>  (tiny change)
60374
60375         * gnulib-tool (func_import): Sort and uniquify recommended includes.
60376
60377 2005-05-11  Paul Eggert  <eggert@cs.ucla.edu>
60378
60379         * doc/getdate.texi (General date syntax): Don't say that date
60380         date --iso-8601=ns generates acceptable dates; it doesn't yet.
60381         Problem reported by Nic Ferrier.
60382
60383 2005-05-10  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
60384
60385         * lib/getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are
60386         specified in ai_socktype. Fix invalid ai_protocol
60387         check. ai_protocol is usually set to 0 or depending on
60388         ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP.  Checking for
60389         SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid.  Set
60390         ai_socktype / ai_protocol in the returned addrinfo structure.
60391
60392 2005-05-10  Simon Josefsson  <jas@extundo.com>
60393
60394         * m4/getaddrinfo.m4: Look in libnsl/libsocket for getaddrinfo, from
60395         Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
60396
60397 2005-05-10  Karl Berry  <karl@gnu.org>
60398
60399         * doc/fdl.texi, gpl.texi, lgpl.texi, COPYING: update FSF address
60400         (from http://www.gnu.org/licenses).
60401         * doc/COPYING.LIB: also rename to COPYING.LESSER.
60402         * doc/COPYING.DOC: remove; per rms, only needed in doc files, so
60403         fdl.texi suffices.
60404
60405 2005-05-10  Karl Berry  <karl@gnu.org>
60406
60407         * config/srclist.txt (COPYING.LESSER): rename from COPYING.LIB.
60408         (COPYING.DOC): remove.
60409
60410         * config/srclist-update: new FSF address.
60411
60412 2005-05-10  Derek Price  <derek@ximbiot.com>
60413
60414         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when
60415         possible.
60416
60417 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
60418             Bruno Haible  <bruno@clisp.org>
60419
60420         * modules/inet_ntop: New file.
60421         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
60422         inet_ntop.
60423
60424 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
60425             Bruno Haible  <bruno@clisp.org>
60426
60427         * m4/inet_ntop.m4: New file.
60428
60429 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
60430             Bruno Haible  <bruno@clisp.org>
60431
60432         * lib/inet_ntop.h: New file.
60433         * lib/inet_ntop.c: New file, from glibc with modifications.
60434
60435 2005-05-09  Paul Eggert  <eggert@cs.ucla.edu>
60436
60437         * modules/time_r (License): Change to LGPL.
60438         * modules/extensions (License): Change to LGPL.  Actually,
60439         the license is more permissive than that, but currently gnulib-tool
60440         doesn't know how to handle more-permissive licenses.
60441
60442         * modules/stat-macros (Depends-on): Don't depend on stat-macros (!).
60443         Problem reported by Dave Love.
60444
60445 2005-05-08  Jim Meyering  <jim@meyering.net>
60446
60447         * lib/classpath.c (PATH_SEPARATOR): Remove insignificant trailing
60448         blank.
60449
60450 2005-05-06  Paul Eggert  <eggert@cs.ucla.edu>
60451
60452         * modules/argmatch (Depends-on): Add stdbool.
60453         * modules/backupfile (Depends-on): Likewise.
60454         * modules/chdir-long (Depends-on): Likewise.
60455         * modules/closeout (Depends-on): Likewise.
60456         * modules/cycle-check (Depends-on): Likewise.
60457         * modules/dirname (Depends-on): Likewise.
60458         * modules/fnmatch (Depends-on): Likewise.
60459         * modules/fsusage (Depends-on): Likewise.
60460         * modules/fwriteerror (Depends-on): Likewise.
60461         * modules/getcwd (Depends-on): Likewise.
60462         * modules/getloadavg (Depends-on): Likewise.
60463         * modules/hard-locale (Depends-on): Likewise.
60464         * modules/makepath (Depends-on): Likewise.
60465         * modules/mountlist (Depends-on): Likewise.
60466         * modules/nanosleep (Depends-on): Likewise.
60467         * modules/posixtm (Depends-on): Likewise.
60468         * modules/quotearg (Depends-on): Likewise.
60469         * modules/readtokens (Depends-on): Likewise.
60470         * modules/readtokens0 (Depends-on): Likewise.
60471         * modules/readutmp (Depends-on): Likewise.
60472         * modules/save-cwd (Depends-on): Likewise.
60473         * modules/strftime (Depends-on): Likewise.
60474         * modules/userspec (Depends-on): Likewise.
60475         * modules/utimecmp (Depends-on): Likewise.
60476         * modules/xgetcwd (Depends-on): Likewise.
60477         * modules/xnanosleep (Depends-on): Likewise.
60478         * modules/xstrtod (Depends-on): Likewise.
60479         * modules/yesno (Depends-on): Likewise.
60480
60481 2005-05-05  Paul Eggert  <eggert@cs.ucla.edu>
60482
60483         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid
60484         needless checks.
60485
60486 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
60487
60488         Merge from coreutils.  Among other things,
60489         add bulletproofing for cases where stdin, stdout, or stderr are closed.
60490         * lib/fd-safer.c: New file.
60491         * lib/fcntl-safer.h, open-safer.c: Remove.
60492         * lib/chdir-long.c: Fix comment "fetish" -> "coreutils".
60493         * lib/dup-safer.c: Include unistd-safer.h first.
60494         Don't include errno.h.
60495         (dup_safer) [!defined F_DUPFD]: Let fd_safer do the real work.
60496         * lib/file-type.h: Don't assume invoker included sys/stat.h first.
60497         * lib/file-type.c: Rely on file-type.h change.
60498         * lib/getloadavg.c: Include unistd-safer.h.
60499         (getloadavg): Use safer open.
60500         * lib/getusershell.c: Include "stdio-safer.h".
60501         (getusershell): Use safer fopen.
60502         * lib/long-options.c (long_options): Use NULL rather than 0.
60503         * lib/modechange.h (mode_free): Remove; all callers changed to invoke
60504         'free'.
60505         * lib/modechange.c: Likewise.
60506         xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed.
60507         (MODE_DONE): New constant.
60508         (struct mode_change): Remove 'next' member.
60509         (make_node_op_equals): New function; like the old one of the
60510         same name, except it allocates an array.
60511         (mode_compile, mode_create_from_ref): Use it.
60512         (mode_compile): Allocate result as an array, not a linked list.
60513         Parse octal string ourself, so that we catch mistakes like "+0".
60514         (mode_adjust): Arg is an array, not a linked list.
60515         * lib/modechange.c: Include stat-macros.h, xalloc.h.
60516         (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR):
60517         (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU):
60518         (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS):
60519         Remove.  This is now stat-macros.h's job.
60520         (talloc): Remove.  All callers replaced by xalloc, so that
60521         our invokers don't have to worry about reporting memory failures.
60522         (make_node_op_equals): Remove.
60523         (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
60524         New constants.
60525         (struct mode_change): Moved here from modechange.h.
60526         (mode_append_entry): Remove.
60527         (mode_compile): Remove MASKED_OPS arg, since it encouraged
60528         apps to have incorrect behavior.  Use simpler algorithm for head
60529         and tail.  Don't futz with umask; that's now the job of mode_adjust.
60530         Detect more invalid usages rather than having somewhat-random behavior.
60531         Don't insert an "a=" action, as that leads to incorrect behavior.
60532         (mode_compile, mode_create_from_ref): Return NULL on error instead
60533         of an enum, since now there's only one way to have an error.  All
60534         callers changed.
60535         (mode_adjust): Accept new arg UMASK_VALUE, and interpret it
60536         at the correct time.  Simplify calculation of "+u" and its ilk.
60537         Don't mishandle "+X".
60538         (mode_free): Remove "register" and localize decls.
60539         * lib/modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
60540         (struct mode_change): Move to modechange.c; callers don't
60541         need to see this stuff.
60542         (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL):
60543         (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove.
60544         (mode_change, mode_adjust): Reflect the new signatures noted above.
60545         * lib/nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros
60546         that might redefine system include files.
60547         (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
60548         (my_usleep): Use NULL rather than (void *) 0.
60549         (rpl_nanosleep) [!defined SA_NOCLDSTOP]:
60550         Use siginterrupt to specify that system calls should be interrupted.
60551         (rpl_nanosleep): Move initialization of suspended closer to call of
60552         my_usleep.
60553         * lib/readutmp.h (read_utmp): New arg OPTIONS.  All uses changed.
60554         * lib/readutmp.c: Likewise.  Include signal.h, stdbool.h.
60555         (desirable_utmp_entry): New function.
60556         (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation
60557         using x2nrealloc, to simplify logic.
60558         (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in
60559         size calculation.  Do not assume utmp file is a regular file.
60560         * lib/readutmp.h (UT_PID): Moved here from ../src/who.c.
60561         (READ_UTMP_CHECK_PIDS): New constant.
60562         * lib/save-cwd.c: Include unistd-safer.h.
60563         (save_cwd): Use fd_safer.
60564         * lib/tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
60565         [!_LIBC] Include "stat-macros.h" instead.
60566         * lib/unistd-safer.h (fd_safer): New decl.
60567
60568 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
60569
60570         * modules/getloadavg (Depends-on): Add unistd-safer.
60571         * modules/getusershell (Depends-on): Add stdio-safer.
60572         * modules/lstat (Depends-on): Remove xalloc.
60573         * modules/mkstemp (Depends-on): Add stat-macros.
60574         * modules/modechange (Depends-on): Remove xstrtol.
60575         Add stat-macros, xalloc.
60576         * modules/save-cwd (Depends-on): Add unistd-safer.
60577         * modules/stdio-safer (Makefile.am): Remove lib_SOURCES.
60578         * modules/unistd-safer (Files): Add lib/fd-safer.c
60579         (Makefile.am): Remove lib_SOURCES.
60580
60581         * MODULES.html.sh (Enhancements for POSIX:2001 functions):
60582         Remove fcntl-safer; unistd-safer supersedes it.
60583
60584 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
60585
60586         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't require
60587         AC_HEADER_STAT.
60588         * m4/lchown.m4 (gl_FUNC_CHOWN): Likewise.
60589         (gl_PREREQ_CHOWN): Remove.
60590         * m4/lstat.m4 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling
60591         it.  Don't require AC_HEADER_STAT.
60592         (gl_PREREQ_LSTAT): Remove.
60593         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Check stdint.h only once.
60594         Don't require AC_HEADER_STAT.
60595         * m4/rmdir.m4 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT.
60596         (gl_PREREQ_RMDIR): Remove.
60597         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Don't
60598         mention stat-macros.h or AC_HEADER_STAT, since we'll make
60599         the stat-macros module a prerequisite.
60600         * m4/file-type.m4 (gl_FILE_TYPE): Likewise.
60601         * m4/filemode.m4 (gl_FILEMODE): Likewise.
60602         * m4/makepath.m4 (gl_MAKEPATH): Likewise.
60603         * m4/modechange.m4 (gl_MODECHANGE): Likewise.
60604         * m4/clock_time.m4 (gl_CLOCK_TIME): Use gl_ rather than fetish_ for
60605         variable names.
60606         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from
60607         fetish_FUNC_RMDIR_NOTEMPTY.  All uses changed.  Use gl_ for
60608         variable prefixes.
60609         * m4/fcntl-safer.m4: Remove.
60610         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
60611         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise.
60612         Invoke gl_PREREQ_FD_SAFER.
60613         (gl_PREREQ_FD_SAFER): New macro.
60614         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Check for siginterrupt.
60615         * m4/readutmp.m4 (gl_READUTMP): Require AC_C_INLINE.
60616         Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible.
60617         Remove duplicate call to AC_LIBOBJ(readutmp).
60618         (gl_PREREQ_READUTMP): Remove.  All uses inlined.
60619
60620         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check for message, not for
60621         MAP_ANON.  Problem reported by Moriyoshi Koizumi to bug-cvs.
60622
60623 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
60624
60625         * MODULES.html.sh (Misc): Add byteswap.
60626
60627 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
60628
60629         * modules/getcwd (Depends-on): Add extensions.
60630         * modules/openat (Depends-on): Likewise.
60631
60632 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
60633
60634         * modules/byteswap: New file.
60635
60636 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
60637
60638         * m4/byteswap.m4: New file.
60639
60640 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
60641
60642         * lib/byteswap_.h: New file.
60643
60644 2005-04-25  Karl Berry  <karl@gnu.org>
60645
60646         * m4/gettext.m4: Update from GNU gettext 0.14.4.
60647
60648 2005-04-25  Albert Chin  <china@thewrittenword.com>
60649
60650         * lib/regex.c: Include <stdio.h>, as a workaround to a Compaq Desktop
60651         Toolkit C bug.
60652
60653 2005-04-21  Oskar Liljeblad  <oskar@osk.mine.nu>
60654
60655         * gnulib-tool (Options): Add -s for --symlink/--symbolic.
60656         (func_ln_if_changed) Remove forcibly for no error message
60657         in case file does not exist.
60658
60659 2005-04-19  Simon Josefsson  <jas@extundo.com>
60660
60661         * gnulib-tool (Options): Make --symlink mean --symbolic.
60662
60663 2005-04-18  Oskar Liljeblad  <oskar@osk.mine.nu>
60664
60665         * doc/gnulib.texi (Initial import): Fix.  Mention --aux-dir.
60666
60667 2005-04-16  Simon Josefsson  <jas@extundo.com>
60668
60669         * modules/getpass-gnu (Makefile.am): Don't mention getpass.h.
60670
60671 2005-04-15  Simon Josefsson  <jas@extundo.com>
60672
60673         * m4/getpass.m4 (gl_FUNC_GETPASS): Use AC_LIBSOURCES.
60674
60675 2005-04-15  Simon Josefsson  <jas@extundo.com>
60676
60677         * gnulib-tool: Rename --symlink to --symbolic.
60678
60679 2005-04-15  Oskar Liljeblad  <oskar@osk.mine.nu>
60680
60681         * gnulib-tool: Add -s, --symlink option to gnulib-tool to make
60682         symbolic links to files instead of copying/moving.  Add --aux-dir,
60683         specifying directory relative --dir where auxiliary build tools
60684         are placed.
60685
60686 2005-04-14  Bruno Haible  <bruno@clisp.org>
60687
60688         * modules/allocsa (License): Change to LGPL.
60689         Requested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
60690
60691 2005-04-13  Paul Eggert  <eggert@cs.ucla.edu>
60692
60693         * lib/getdate.y (zone): Allow relunit_snumber after tZONE, so
60694         that "UTC +1 second" continues to work.  Problem reported
60695         by Dmitry V. Levin.
60696         (relunit_snumber): New rule.
60697         (relunit): Use it.
60698
60699 2005-04-12  Paul Eggert  <eggert@cs.ucla.edu>
60700
60701         * lib/getdate.y (universal_time_zone_table): New constant.
60702         (time_zone_table): Remove GMT, UT, UTC entries; they're now in
60703         universal_time_zone_table.
60704         (lookup_zone): Prefer universal_time_zone_table to
60705         local_time_zone_table, so that "GMT" time stamps are allowed in
60706         London during the summer.  Problem reported by Ian Abbott.
60707
60708 2005-04-12  Jim Meyering  <jim@meyering.net>
60709
60710         * lib/human.c (humblock): Set *options even when returning due to
60711         xstrtoumax conversion failure.  Thanks to a used-uninitialized
60712         warning from gcc-4.
60713
60714 2005-04-09  Jim Meyering  <jim@meyering.net>
60715
60716         * lib/posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's
60717         -Wuninitialized: initialize tm0.tm_year.
60718
60719 2005-04-04  Paul Eggert  <eggert@cs.ucla.edu>
60720
60721         * lib/getdate.y (parser_control): rels_seen is now a boolean, not a
60722         count, since there's no maximum.  All uses changed.
60723         Add member dsts_seen.
60724         (local_zone): Accumulate dsts_seen rather than relying on tm_isdst
60725         not being INT_MAX.
60726         (get_date): Initialize dsts_seen, and check that it doesn't go over 1.
60727         Use pc_rels_seen to decide whther a date is absolute.
60728
60729         * lib/getdate.y (number): Don't overwrite year.
60730         (get_date): Initialize pc.year.digits to 0, not 4, to enable above
60731         check.
60732
60733 2005-04-02  Simon Josefsson  <jas@extundo.com>
60734
60735         * lib/getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny
60736         patch from Yoann Vandoorselaere <yoann@prelude-ids.org>.
60737
60738 2005-03-28  Eric Blake  <ebb9@byu.net>  (tiny change)
60739
60740         * m4/getcwd-path-max.m4: Return success on systems such as Cygwin
60741         where no absolute path name can be longer than PATH_MAX.
60742
60743 2005-03-27  Jim Meyering  <jim@meyering.net>
60744
60745         * lib/argmatch.c: Clarify comment: null-terminated -> NULL-terminated.
60746
60747 2005-03-26  Paul Eggert  <eggert@cs.ucla.edu>
60748
60749         * lib/intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND):
60750         "one's complement" -> "ones' complement" in comment, as per Knuth.
60751         "value of type" -> "type or expression" in comment.
60752         * lib/mktime.c, strftime.c: Propagate intprops.h comment nits.
60753
60754 2005-03-26  Jim Meyering  <jim@meyering.net>
60755
60756         Comment nits.
60757         * lib/intprops.h: Add the apostrophe in `(one|two)'s complement'.
60758         Correct typos: s/or/of/.
60759
60760 2005-03-26  Jim Meyering  <jim@meyering.net>
60761
60762         * modules/check-include-files: Move to ../ and rename to...
60763         * check-module: ...this.
60764
60765 2005-03-25  Jim Meyering  <jim@meyering.net>
60766
60767         * modules/xvasprintf (Files): Add xalloc.h.
60768
60769 2005-03-23  Paul Eggert  <eggert@cs.ucla.edu>
60770
60771         * modules/gettext (Files): config/config.rpath ->
60772         build-aux/config.rpath
60773         * modules/iconv (Files): Likewise.
60774         Problem reported by Oskar Liljeblad.
60775
60776 2005-03-23  Jim Meyering  <jim@meyering.net>
60777
60778         * modules/check-include-files: New script to check for
60779         missing dependencies, multiple includes, etc.
60780
60781         * modules/c-strtold (Depends-on): Add xalloc.
60782         * modules/c-strtod (Depends-on): Add xalloc.
60783         * modules/hash (Depends-on): Add xalloc.
60784         (Files): Remove lib/xalloc.h.
60785
60786         * modules/gethrxtime (Files): Add lib/gethrxtime.h.
60787         * modules/userspec (Files): Add lib/inttostr.h.
60788
60789 2005-03-23  Jim Meyering  <jim@meyering.net>
60790
60791         * lib/canonicalize.c: Remove duplicate `#include "stat-macros.h"'.
60792
60793 2005-03-22  Jim Meyering  <jim@meyering.net>
60794
60795         * modules/stat-macros: New module.
60796         * modules/canonicalize, modules/euidaccess, modules/file-type,
60797         * modules/filemode, modules/lchown, modules/makepath,
60798         * modules/rmdir, modules/stat: Depend on new stat-macros module
60799         rather than listing lib/stat-macros.h manually.
60800         Don't add stat-macros.h to lib_SOURCES or list it in Files: section.
60801
60802 2005-03-22  Jim Meyering  <jim@meyering.net>
60803
60804         * m4/stat-macros.m4 (gl_STAT_MACROS): New file/macro.
60805
60806 2005-03-22  Bruno Haible  <bruno@clisp.org>
60807
60808         * config/srclist.txt: Replace target directory 'config' with
60809         'build-aux'.
60810         * config/config.guess, config.sub, config.rpath, depcomp, install-sh:
60811         * config/mdate-sh, missing, mkinstalldirs, texinfo.tex: Move to
60812         ../build-aux/.
60813
60814 2005-03-21  Paul Eggert  <eggert@cs.ucla.edu>
60815
60816         * modules/chdir-long (Depends-on): Add mempcpy.
60817
60818         * modules/acl, modules/backupfile, modules/c-strtod,
60819         modules/c-strtold, modules/canon-host, modules/canonicalize,
60820         modules/cloexec, modules/closeout, modules/dirfd, modules/dirname,
60821         modules/exclude, modules/exitfail, modules/file-type,
60822         modules/filemode, modules/fpending, modules/fsusage, modules/getcwd,
60823         modules/getdate, modules/getline, modules/getpagesize,
60824         modules/getpass, modules/getugroups, modules/group-member,
60825         modules/hard-locale, modules/hash, modules/human, modules/idcache,
60826         modules/inttostr, modules/long-options, modules/makepath,
60827         modules/md5, modules/memcasecmp, modules/memcoll,
60828         modules/modechange, modules/mountlist, modules/path-concat,
60829         modules/pathmax, modules/physmem, modules/posixtm, modules/posixver,
60830         modules/quote, modules/quotearg, modules/readtokens, modules/readutmp,
60831         modules/safe-read, modules/safe-write, modules/same, modules/savedir,
60832         modules/settime, modules/sha1, modules/sig2str, modules/strdup,
60833         modules/strftime, modules/strndup, modules/strverscmp,
60834         modules/timespec, modules/unlocked-io, modules/userspec,
60835         modules/utimecmp, modules/utimens, modules/xalloc, modules/xstrtol,
60836         modules/yesno:
60837         Remove lib_SOURCES line from Makefile.am section, as this is now
60838         done automatically by the corresponding Autoconf macro.
60839
60840 2005-03-21  Jim Meyering  <jim@meyering.net>
60841
60842         Changes imported from coreutils.
60843
60844         * lib/cycle-check.c: Don't include xalloc.h.
60845
60846         * lib/path-concat.c: Don't include assert.h.
60847         (path_concat): Remove assertion that would have triggered
60848         for ABASE starting with more than one slash.
60849         Reported by Andreas Schwab.
60850
60851         * lib/path-concat.c (path_concat): Set *BASE_IN_RESULT
60852         properly when ABASE is an absolute file name.
60853         Correct the description of this function.
60854         Include <assert.h>.
60855         Add an assertion and a test driver.
60856         This fixes a bug introduced on 2004-07-02.
60857         Andreas Schwab reported the resulting failure of cp --parents:
60858         http://lists.gnu.org/archive/html/bug-coreutils/2005-01/msg00130.html
60859
60860 2005-03-21  Jim Meyering  <jim@meyering.net>
60861
60862         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Invoke gl_FUNC_MEMRCHR.
60863         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Check for memrchr decl.
60864
60865 2005-03-21  Jim Meyering  <jim@meyering.net>
60866         and  Paul Eggert  <eggert@cs.ucla.edu>
60867
60868         * m4/acl.m4, m4/backupfile.m4, m4/c-strtod.m4, m4/canon-host.m4,
60869         m4/canonicalize.m4, m4/cloexec.m4, m4/closeout.m4, m4/dirfd.m4,
60870         m4/dirname.m4, m4/exclude.m4, m4/exitfail.m4, m4/file-type.m4,
60871         m4/filemode.m4, m4/fpending.m4, m4/fsusage.m4, m4/getcwd.m4,
60872         m4/getdate.m4, m4/getline.m4, m4/getpagesize.m4, m4/getpass.m4,
60873         m4/getugroups.m4, m4/group-member.m4, m4/hard-locale.m4, m4/hash.m4,
60874         m4/human.m4, m4/idcache.m4, m4/inttostr.m4, m4/long-options.m4,
60875         m4/makepath.m4, m4/md5.m4, m4/memcasecmp.m4, m4/memcoll.m4,
60876         m4/modechange.m4, m4/mountlist.m4, m4/nanosleep.m4, m4/path-concat.m4,
60877         m4/pathmax.m4, m4/physmem.m4, m4/posixtm.m4, m4/posixver.m4,
60878         m4/quote.m4, m4/quotearg.m4, m4/readtokens.m4, m4/readutmp.m4,
60879         m4/safe-read.m4, m4/safe-write.m4, m4/same.m4, m4/savedir.m4,
60880         m4/settime.m4, m4/sha1.m4, m4/sig2str.m4, m4/strdup.m4, m4/strftime.m4,
60881         m4/strndup.m4, m4/strverscmp.m4, m4/timespec.m4, m4/unlocked-io.m4,
60882         m4/userspec.m4, m4/utimecmp.m4, m4/utimens.m4, m4/xalloc.m4,
60883         m4/xnanosleep.m4, m4/xstrtol.m4, m4/yesno.m4:
60884         Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files
60885         for these modules.
60886
60887 2005-03-18  Paul Eggert  <eggert@cs.ucla.edu>
60888
60889         * lib/strftime.c (my_strftime): If the underlying strftime returns 0
60890         (which shouldn't happen), generate nothing instead of returning 0
60891         immediately, so that nstrftime (NULL, ...) doesn't return 0.
60892
60893 2005-03-16  Bruno Haible  <bruno@clisp.org>
60894
60895         * modules/stdint (Makefile.am): Use HAVE_LONG_LONG_64BIT instead of
60896         HAVE_LONGLONG_64BIT.
60897
60898 2005-03-16  Bruno Haible  <bruno@clisp.org>
60899
60900         * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of
60901         HAVE_LONGLONG_64BIT.
60902
60903 2005-03-16  Bruno Haible  <bruno@clisp.org>
60904
60905         * lib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of
60906         HAVE_LONGLONG_64BIT.
60907
60908 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
60909
60910         * lib/strftime.c (my_strftime): Prepend space to format so that we can
60911         reliably distinguish strftime failure from empty output on POSIX
60912         hosts.
60913
60914 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
60915
60916         * lib/iconvme.c (SIZE_MAX): New macro, if not already defined.
60917         (iconv_string): Don't guess a size-zero buffer, as that might cause
60918         buffer overrun.  Instead, avoid multiplying by MB_LEN_MAX if the
60919         result would be 'too large', where 'too large' is (heuristically)
60920         the square root of SIZE_MAX, divided by MB_LEN_MAX to allay
60921         overflow concerns.  This will prevent some unwanted malloc failures
60922         when the inputs are very large.
60923
60924 2005-03-15  Karl Berry  <karl@gnu.org>
60925
60926         * config/srclist.txt (config.rpath): from gettext.
60927         * config/config.rpath: update.
60928
60929 2005-03-15  Bruno Haible  <bruno@clisp.org>
60930
60931         * lib/regex.c (byte_re_match_2_internal): Rename local variable 'not'
60932         to 'negate'.
60933
60934         * lib/regex.c (byte_re_match_2_internal): Reduce scope of same_str_p
60935         variable.
60936
60937         * lib/regex.c (EXTEND_BUFFER, regcomp): Cast the realloc/malloc
60938         results.
60939
60940 2005-03-14  Simon Josefsson  <jas@extundo.com>
60941
60942         * lib/timegm.h: Use proper prototype CPP guards, reported by Dave Love
60943         <fx@gnu.org>.
60944
60945 2005-03-14  Paul Eggert  <eggert@cs.ucla.edu>
60946
60947         * lib/mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT,
60948         TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from
60949         intprops.h.
60950         * lib/strtol.c: Likewise.
60951
60952 2005-03-14  Jim Meyering  <jim@meyering.net>
60953
60954         * lib/strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
60955         && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[]
60956         to be nonzero so that we (and caller) can detect the difference
60957         between a valid zero-length expansion and an error return, even
60958         when the underlying strftime fails before writing anything into
60959         that location.
60960
60961 2005-03-14  Bruno Haible  <bruno@clisp.org>
60962
60963         * m4/lib-link.m4, gettext.m4, nls.m4, po.m4:
60964         Update from GNU gettext 0.14.3.
60965
60966 2005-03-10  Jim Meyering  <jim@meyering.net>
60967
60968         * m4/save-cwd.m4 (gl_SAVE_CWD): Check for fchdir.
60969
60970 2005-03-10  Jim Meyering  <jim@meyering.net>
60971
60972         * lib/save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long
60973         so that this module works on systems without fchdir.
60974
60975 2005-03-09  Paul Eggert  <eggert@cs.ucla.edu>
60976
60977         Factor int-properties macros into a single file, except for
60978         glibc-related files.
60979         * lib/intprops.h: New file.
60980         * lib/getloadavg.c: Include it instead of limits.h.
60981         (INT_STRLEN_BOUND): Remove.
60982         * lib/human.c: Include intprops.h.
60983         (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself.
60984         * lib/human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than
60985         302/1000.
60986         * lib/inttostr.h: Include intprops.h instead of limits.h.
60987         (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove.
60988         * lib/mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros,
60989         for consistency with intprops.h.
60990         (time_t_is_integer, twos_complement_arithmetic): Use them.
60991         * lib/sig2str.h: Include <signal.h>, intprops.h.
60992         (INT_STRLEN_BOUND): Remove.
60993         * lib/strftime.c (TYPE_SIGNED): Remove.
60994         (INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
60995         * lib/strtol.c: Adjust comments to match intprops.h.
60996         * lib/userspec.c: Include intprops.h.
60997         (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
60998         * lib/utimecmp.c, xnanosleep.c, xstrtol.c: Likewise.
60999         * lib/utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT
61000         instead of rolling our own expressions.
61001         * lib/xstrtol.c: Include xstrtol.h first, to test interface.
61002
61003         * lib/strftime.c: Include <stdbool.h>.  Use bool where appropriate,
61004         instead of int.
61005         (my_strftime): Do not mishandle years close to INT_MAX, by doing
61006         the right thing even if adding 1900 would overflow.  Similarly
61007         for tm_mon + 1 and tm_yday + 1.
61008         Make %Y always equivalent to %C%y, and similarly for %G and %g.
61009         (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional.
61010         (DO_SIGNED_NUMBER): New macro.
61011         (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1.
61012
61013 2005-03-07  Bruno Haible  <bruno@clisp.org>
61014
61015         * m4/mmap-anon.m4 (MAP_FILE, MAP_FAILED): Remove definitions.
61016
61017 2005-03-07  Bruno Haible  <bruno@clisp.org>
61018
61019         * lib/pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks.
61020
61021 2005-03-04  Derek R. Price  <derek@ximbiot.com>
61022
61023         * gnulib-tool (func_cp_if_changed, func_mv_if_changed): New functions.
61024         (func_import): Only replace files via --import when they have actually
61025         changed.
61026
61027 2005-03-03  Derek R. Price  <derek@ximbiot.com>
61028
61029         * m4/mmap-anon.m4: New file.
61030         * m4/pagealign_alloc.m4: New file.
61031
61032 2005-03-03  Derek R. Price  <derek@ximbiot.com>
61033             Bruno Haible  <bruno@clisp.org>
61034
61035         * modules/pagealign_alloc: New file.
61036         * MODULES.html.sh (Memory management functions): Add pagealign_alloc.
61037
61038 2005-03-03  Derek R. Price  <derek@ximbiot.com>
61039             Bruno Haible  <bruno@clisp.org>
61040
61041         * lib/pagealign_alloc.h: New file.
61042         * lib/pagealign_alloc.c: New file.
61043
61044 2005-03-03  Bruno Haible  <bruno@clisp.org>
61045
61046         * m4/inttypes.m4, isc-posix.m4, once-only.m4:
61047         Use an all-permissive copyright notice, recommended by RMS.
61048
61049 2005-03-02  Bruno Haible  <bruno@clisp.org>
61050
61051         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Undo the replacement here. Because
61052         of AIX, the replacement has to be done only after <string.h> is
61053         included, therefore not in config.h. stpncpy.h does the replacement,
61054         and stpncpy.c uses it.
61055
61056 2005-03-02  Bruno Haible  <bruno@clisp.org>
61057
61058         * lib/stpncpy.h (stpncpy): Define as a macro without arguments, so that
61059         stpncpy.c uses it.
61060
61061 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
61062
61063         Remove workaround for bug in Linux kernel 2.6.8 or thereabouts.
61064         The workaround isn't strictly needed for POSIX conformance, and
61065         it's too much of a pain to configure and maintain.  We'll ask
61066         people to fix their kernels instead.
61067         * lib/xnanosleep.c: Don't include gethrxtime.h or xtime.h.
61068         (NANOSLEEP_BUG_WORKAROUND): Remove.
61069         (xnanosleep): Remove the workaround.
61070
61071 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
61072
61073         * modules/gettime (Makefile.am): Remove lib_SOURCES line.
61074         Reported by Derek Price.
61075         (Include): Add "timespec.h".
61076
61077         * modules/xnanosleep (Depends-on): Remove gethrxtime.
61078
61079 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
61080
61081         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting
61082         to detect nanosleep bug.
61083
61084 2005-03-01  Bruno Haible  <bruno@clisp.org>
61085
61086         * lib/vasnprintf.c (EOVERFLOW): Define to a fallback if needed.
61087
61088 2005-02-26  Paul Eggert  <eggert@cs.ucla.edu>
61089
61090         * modules/gethrxtime: New file.
61091         * modules/xnanosleep (Files): Add m4/xnanosleep.m4.
61092         (Depends-on): Add gethrxtime.
61093         (configure.ac): Add gl_XNANOSLEEP.
61094         (Makefile.am): Remove lib_SOURCES line.
61095
61096 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
61097
61098         * m4/gethrxtime.m4, m4/xnanosleep.m4: New files.
61099         * m4/gettime.m4 (gl_GETTIME): Check for nanotime.
61100
61101 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
61102
61103         * lib/gethrxtime.h, lib/gethrxtime.c, lib/xtime.h: New files.
61104         * lib/timespec.h (gettime): Return void, since it always
61105         succeeds now.  All uses changed.
61106         * lib/gettime.c (gettime) Likewise.
61107         [HAVE_NANOTIME]: Prefer nanotime.
61108         Assume gettimeofday succeeds, as POSIX requires.
61109         Assime time () succeeds, since other code already does.
61110         * lib/xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h.
61111         (timespec_subtract): Remove.
61112         (NANOSLEEP_BUG_WORKAROUND): New constant.
61113         (xnanosleep): Use gethrxtime rather than gettime; this simplifies
61114         things considerably.  Use it only on GNU/Linux hosts, since the
61115         workaround shouldn't be needed elsewhere.
61116
61117 2005-02-24  Bruno Haible  <bruno@clisp.org>
61118
61119         * modules/gettext (Files): Add m4/glibc2.m4.
61120
61121 2005-02-24  Bruno Haible  <bruno@clisp.org>
61122
61123         * m4/gettext.m4, intdiv0.m4, intmax.m4, inttypes-pri.m4, lcmessage.m4:
61124         * m4/lib-link.m4, lib-prefix.m4, nls.m4, po.m4, printf-posix.m4:
61125         * m4/progtest.m4:
61126         Update from GNU gettext 0.14.2.
61127         * m4/glibc2.m4: New file, from GNU gettext 0.14.2.
61128
61129 2005-02-24  Bruno Haible  <bruno@clisp.org>
61130
61131         * lib/localcharset.c: Update from GNU gettext 0.14.2.
61132         * lib/config.charset: Update from GNU gettext 0.14.2.
61133
61134 2005-02-24  Bruno Haible  <bruno@clisp.org>
61135
61136         * lib/gettext.h: Update from GNU gettext 0.14.2.
61137
61138 2005-02-23  Simon Josefsson  <jas@extundo.com>
61139
61140         * m4/iconvme.m4: New file.
61141
61142 2005-02-23  Jim Meyering  <jim@meyering.net>
61143
61144         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's
61145         change.
61146         Thanks to Bruno Haible for catching it.
61147
61148 2005-02-22  Simon Josefsson  <jas@extundo.com>
61149
61150         * modules/iconvme: New file.
61151
61152         * MODULES.html.sh: Add iconvme.
61153
61154 2005-02-22  Simon Josefsson  <jas@extundo.com>
61155
61156         * lib/iconvme.h, lib/iconvme.c: New files, from libc.
61157
61158 2005-02-22  Simon Josefsson  <jas@extundo.com>
61159
61160         * config/srclist.txt: Sync iconvme.h, iconvme.c from libc.
61161
61162 2005-02-22  Jim Meyering  <jim@meyering.net>
61163
61164         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo:
61165         s/ifndef/ifdef/.
61166
61167 2005-02-20  Neil Conway  <neilc@samurai.com>
61168
61169         * lib/xgethostname.c (xgethostname): Check for ENOMEM, which is
61170         returned by OSX/Darwin if the specified buffer is not large
61171         enough for the hostname.
61172
61173 2005-02-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
61174
61175         * lib/argp-help.c (__argp_help): Create a fake struct argp_state and
61176         pass it to _help, otherwise the latter coredumps trying to
61177         dereference state.root_argp.
61178
61179 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
61180
61181         * modules/chdir-long (Depends-on): Add memrchr.
61182         * modules/memrchr (Files): Add lib/memrchr.h.
61183         (Include): "memrchr.h".
61184
61185 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
61186
61187         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h.
61188
61189 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
61190
61191         * lib/memrchr.h: New file.
61192         * lib/chdir-long.c: Include it.
61193         * lib/memrchr.c [!defined _LIBC]: Include it rather than <string.h>
61194         Don't bother including stddef.h.
61195
61196 2005-02-01  Paul Eggert  <eggert@cs.ucla.edu>
61197
61198         * lib/mountlist.h (MOUNTLIST_H_): New macro, to protect against double
61199         inclusion.
61200         Include <sys/types.h>, for dev_t.
61201         (ME_DUMMY, ME_REMOTE): Move from here....
61202         * lib/mountlist.c (ME_DUMMY, ME_REMOTE): To here.
61203         (ME_DUMMY): Count "subfs" as a dummy.  Problem reported by
61204         Dmitry V. Levin.
61205         Include mountlist.h first, to test the interface.
61206
61207 2005-01-29  Bruno Haible  <bruno@clisp.org>
61208
61209         * lib/progname.c (program_name): Initialize.
61210         Needed when linking statically on MacOS X.
61211
61212 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
61213
61214         Sync from coreutils.
61215         * modules/getloadavg (Files): Remove m4/getloadavg.m4.
61216         (Depends-on): Add c-strtod.
61217         (configure.ac): Replace gl_FUNC_GETLOADAVG with AC_FUNC_GETLOADAVG.
61218
61219 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
61220
61221         Sync from coreutils.
61222         * m4/getloadavg.m4, glibc.m4, search-libs.m4: Remove.
61223
61224         Remove files that are specific to coreutils.
61225         * m4/check-decl.m4, jm-macros.m4, lib-check.m4, prereq.m4: Remove.
61226
61227 2005-01-28  Bruno Haible  <bruno@clisp.org>
61228
61229         * modules/javacomp: New file.
61230         * MODULES.html.sh (Java): Add javacomp.
61231
61232 2005-01-28  Bruno Haible  <bruno@clisp.org>
61233
61234         * m4/javacomp.m4: New file, from GNU gettext.
61235
61236 2005-01-28  Bruno Haible  <bruno@clisp.org>
61237
61238         * lib/javacomp.sh.in: New file, from GNU gettext.
61239         * lib/javacomp.h: New file, from GNU gettext.
61240         * lib/javacomp.c: New file, from GNU gettext.
61241
61242 2005-01-26  Simon Josefsson  <jas@extundo.com>
61243
61244         * lib/gai_strerror.c: Use GPL in header.
61245
61246 2005-01-26  Bruno Haible  <bruno@clisp.org>
61247
61248         * modules/javaexec: New file.
61249         * MODULES.html.sh (Java): Add javaexec.
61250
61251 2005-01-26  Bruno Haible  <bruno@clisp.org>
61252
61253         * m4/javaexec.m4: New file, from GNU gettext.
61254
61255 2005-01-26  Bruno Haible  <bruno@clisp.org>
61256
61257         * lib/javaexec.sh.in: New file, from GNU gettext.
61258         * lib/javaexec.h: New file, from GNU gettext.
61259         * lib/javaexec.c: New file, from GNU gettext.
61260
61261 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
61262
61263         * modules/lchown (Depends-on): Remove lchown.h
61264
61265 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
61266
61267         * m4/sysexits.m4 (gl_SYSEXITS): Reverted logic. SYSEXITS_H
61268         must be defined if the header file was not found, in order
61269         to provide a replacement. Reported by Todd Vierling <tv@duh.org>
61270
61271 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
61272
61273         * lib/argp-help.c (hol_entry_help): Avoid using non-constant
61274         initializers for struct pentry_state.
61275         (__argp_error): Check return value of __asprintf
61276         (__argp_failure): Translate error message
61277
61278         * lib/argp-parse.c: Removed braces around the expansion of N_()
61279
61280 2005-01-23  Paul Eggert  <eggert@cs.ucla.edu>
61281
61282         * m4/acl.m4, afs.m4, alloca.m4, argp.m4, assert.m4, atexit.m4,
61283         backupfile.m4, base64.m4, bison.m4, c-bs-a.m4, c-stack.m4,
61284         c-strtod.m4, calloc.m4, canon-host.m4, canonicalize.m4,
61285         clock_time.m4, cloexec.m4, closeout.m4, d-ino.m4, d-type.m4,
61286         dirfd.m4, dirname.m4, dos.m4, dup2.m4, error.m4, euidaccess.m4,
61287         exclude.m4, exitfail.m4, extensions.m4, fcntl-safer.m4,
61288         file-type.m4, fileblocks.m4, filemode.m4, fnmatch.m4, fpending.m4,
61289         free.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getaddrinfo.m4,
61290         getcwd-path-max.m4, getcwd.m4, getdate.m4, getdomainname.m4,
61291         getgroups.m4, gethostname.m4, getline.m4, getndelim2.m4,
61292         getnline.m4, getopt.m4, getpagesize.m4, getpass.m4, getsubopt.m4,
61293         gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4,
61294         group-member.m4, hard-locale.m4, hash.m4, host-os.m4, human.m4,
61295         idcache.m4, inttostr.m4, isdir.m4, jm-winsz1.m4, jm-winsz2.m4,
61296         link-follow.m4, long-options.m4, ls-mntd-fs.m4, lstat.m4,
61297         makepath.m4, mathl.m4, md5.m4, memcasecmp.m4, memchr.m4,
61298         memcmp.m4, memcoll.m4, memcpy.m4, memmem.m4, memmove.m4,
61299         memrchr.m4, memset.m4, mkdir-slash.m4, mkstemp.m4, mktime.m4,
61300         modechange.m4, mountlist.m4, nanosleep.m4, obstack.m4,
61301         path-concat.m4, pathmax.m4, perl.m4, physmem.m4, poll.m4,
61302         posixtm.m4, posixver.m4, putenv.m4, quote.m4, quotearg.m4,
61303         readdir.m4, readtokens.m4, readutmp.m4, regex.m4, rename.m4,
61304         restrict.m4, rmdir-errno.m4, rmdir.m4, rpmatch.m4, same.m4,
61305         savedir.m4, settime.m4, sha1.m4, sig2str.m4, snprintf.m4,
61306         sockpfaf.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, stdint.m4,
61307         stdio-safer.m4, strchrnul.m4, strdup.m4, strerror.m4,
61308         strerror_r.m4, strftime.m4, strndup.m4, strnlen.m4, strsep.m4,
61309         strtod.m4, strtoimax.m4, strtok_r.m4, strtol.m4, strtoll.m4,
61310         strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, sysexits.m4,
61311         time_r.m4, timegm.m4, timespec.m4, tm_gmtoff.m4, tzset.m4,
61312         uint32_t.m4, uintptr_t.m4, unistd-safer.m4, unlink-busy.m4,
61313         unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4, utime.m4,
61314         utimecmp.m4, utimens.m4, utimes-null.m4, vsnprintf.m4, xalloc.m4,
61315         xgetcwd.m4, xreadlink.m4, xstrndup.m4, xstrtod.m4, xstrtoimax.m4,
61316         xstrtol.m4, xstrtoumax.m4, yesno.m4:
61317         Use an all-permissive copyright notice, recommended by RMS.
61318
61319 2005-01-21  Paul Eggert  <eggert@cs.ucla.edu>
61320
61321         * modules/chdir-long (Depends-on): Remove mempcpy.
61322
61323 2005-01-21  Jim Meyering  <jim@meyering.net>
61324
61325         * lib/openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the
61326         same value as for Solaris 9.
61327
61328         * lib/chdir-long.c (chdir_long): Rewrite to remove limitation on
61329         component length.  This included changing the parameter to be
61330         of type `char *' rather than `char const *'.
61331         * lib/chdir-long.h (chdir_long): Update prototype.
61332
61333         * lib/openat.c (fdopendir, fstatat): New functions.
61334         * lib/openat.h: Include headers required for use of DIR and struct
61335         stat.
61336         [AT_SYMLINK_NOFOLLOW]: Define.
61337         (fdopendir, fstatat): Add prototypes.
61338
61339 2005-01-21  Bruno Haible  <bruno@clisp.org>
61340
61341         * modules/classpath: New file.
61342         * MODULES.html.sh (Java): Add classpath.
61343
61344 2005-01-21  Bruno Haible  <bruno@clisp.org>
61345
61346         * lib/classpath.h: New file, from GNU gettext.
61347         * lib/classpath.c: New file, from GNU gettext.
61348
61349 2005-01-20  Simon Josefsson  <jas@extundo.com>
61350
61351         * modules/version-etc-fsf: New file.
61352
61353 2005-01-20  Simon Josefsson  <jas@extundo.com>
61354
61355         * lib/version-etc-fsf.c: New file, with version_etc_copyright.
61356         * lib/version-etc.c: Remove version_etc_copyright.
61357         * lib/version-etc.h (version_etc_copyright): Use [] instead of * in
61358         prototype, suggested by Paul Eggert <eggert@CS.UCLA.EDU>.
61359
61360 2005-01-20  Simon Josefsson  <jas@extundo.com>
61361
61362         * lib/base64.h (isbase64): Add.
61363
61364         * lib/base64.c (isb64): Rename to isbase64, use to_uchar instead of
61365         using a unsigned prototype, don't inline.
61366         (base64_decode): Use it.
61367
61368 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
61369
61370         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume
61371         it.
61372
61373 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
61374
61375         * lib/save-cwd.c (save_cwd): Remove code to support the case
61376         where fchdir is missing or flaky.
61377
61378 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
61379
61380         * MODULES.html.sh (Command-line arguments): Add version-etc-fsf.
61381
61382 2005-01-19  Paul Eggert  <eggert@cs.ucla.edu>
61383
61384         * modules/mempcpy (Makefile.am): Remove mention of mempcpy.h;
61385         AC_LIBSOURCES now does this.
61386         * MODULES.html.sh (Sizes of integer types <limits.h>): New element,
61387         with new ullong_max module.
61388
61389 2005-01-19  Bruno Haible  <bruno@clisp.org>
61390
61391         * modules/sh-quote: New file.
61392         * MODULES.html.sh (Executing programs): Add sh-quote.
61393
61394 2005-01-19  Bruno Haible  <bruno@clisp.org>
61395
61396         * lib/sh-quote.h: New file, from GNU gettext.
61397         * lib/sh-quote.c: New file, from GNU gettext.
61398
61399 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
61400
61401         Merge from coreutils.
61402         * m4/ullong_max.m4: New file.
61403         * m4/jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX.
61404         (gl_MACROS): Assume localeconv exists.
61405
61406 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
61407
61408         Merge changes from coreutils, as described below in several
61409         changelogs dated today.
61410
61411         * lib/save-cwd.c: Include "save-cwd.h" before other include files.
61412         (O_DIRECTORY): Remove; not needed here, since "." must be
61413         a directory.  All uses removed.
61414         (save_cwd): Use __sgi || __sun, not sun || __sun.  __sun is
61415         universal on Suns, and we also need to test for IRIX.
61416         Revamp code to use 'if' rather than '#if'.
61417         Avoid unnecessary comparison of cwd->desc to 0.
61418
61419         * lib/utimens.c (futimens): Robustify the previous patch, by checking
61420         for known valid error numbers rather than observed invalid ones.
61421
61422 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
61423
61424         * modules/ullong_max: New file.
61425
61426         * modules/chdir-long, modules/openat: New files.
61427         * modules/save-cwd (Depends-on): Depend on chdir-long.
61428         (Makefile.am): Remove lib_SOURCES; now handled by AC_LIBSOURCES.
61429
61430 2005-01-18  Jim Meyering  <jim@meyering.net>
61431
61432         Merge from coreutils.
61433         * m4/chdir-long.m4, m4/openat.m4: New files.
61434         * m4/save-cwd.m4 (gl_SAVE_CWD): Add AC_LIBSOURCES for save-cwd.c,
61435         save-cwd.h.  Add AC_LIBOBJ for save-cwd.
61436         * m4/chown.m4 (gl_FUNC_CHOWN): When cross-compiling, assume that chown
61437         is sane and DOES follow symlinks.  Besides, testing 20 different
61438         systems found no broken chown implementations.
61439         Prompted by a change in rsync's copy of this macro.
61440         * m4/jm-macros.m4 (gl_MACROS): Require gl_FUNC_CHDIR_LONG.
61441
61442         * m4/lchown.m4 (gl_FUNC_LCHOWN): Use AC_LIBSOURCES.
61443
61444         * m4/utimes.m4: Work around tests/touch/empty-file failure on a system
61445         (sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes'
61446         NULL-means-set-to-current-time semantics.
61447         Remove temporary file immediately, rather than waiting
61448         for configure's at-exit trap code to do it.
61449
61450 2005-01-18  Jim Meyering  <jim@meyering.net>
61451
61452         * lib/version-etc.c (version_etc_copyright): Update copyright date.
61453
61454         * lib/utimens.c (futimens): Account for the fact that futimes
61455         can also fail with errno == ENOSYS or errno == ENOENT.
61456         Patch from Dmitry V. Levin.
61457
61458         Change the name of the robust chdir function from chdir to chdir_long.
61459         * lib/save-cwd.c: Include chdir-long.h rather than chdir.h.
61460         (restore_cwd): Use chdir_long, not chdir.
61461         * lib/chdir-long.c: Renamed from chdir.c.
61462         * lib/chdir-long.h: Renamed from chdir.h.
61463         [!defined PATH_MAX]: Define chdir_long to chdir on systems like the
61464         Hurd.
61465
61466 2005-01-18  Bruno Haible  <bruno@clisp.org>
61467
61468         * m4/allocsa.m4, m4/codeset.m4, m4/copy-file.m4, m4/eaccess.m4:
61469         * m4/eealloc.m4, m4/eoverflow.m4, m4/execute.m4, m4/fatal-signal.m4:
61470         * m4/findprog.m4, m4/glibc21.m4, m4/iconv.m4, m4/intmax_t.m4:
61471         * m4/inttypes_h.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4:
61472         * m4/linebreak.m4, m4/localcharset.m4, m4/longdouble.m4:
61473         * m4/longlong.m4, m4/mbrtowc.m4, m4/mbstate_t.m4, m4/mbswidth.m4:
61474         * m4/mkdtemp.m4, m4/pipe.m4, m4/readlink.m4, m4/safe-read.m4:
61475         * m4/safe-write.m4, m4/setenv.m4, m4/sig_atomic_t.m4:
61476         * m4/signalblocking.m4, m4/signed.m4, m4/size_max.m4, m4/ssize_t.m4:
61477         * m4/stdbool.m4, m4/stdint_h.m4, m4/stpcpy.m4, m4/stpncpy.m4:
61478         * m4/strcase.m4, m4/strcspn.m4, m4/strpbrk.m4, m4/strstr.m4:
61479         * m4/ucs4-utf.m4, m4/uintmax_t.m4, m4/ulonglong.m4, m4/unicodeio.m4:
61480         * m4/utf-ucs4.m4, m4/vasnprintf.m4, m4/vasprintf.m4:
61481         * m4/wait-process.m4, m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4:
61482         Use an all-permissive copyright notice, recommended by RMS.
61483
61484 2005-01-18  Bob Proulx  <bob@proulx.com>
61485
61486         * lib/obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to
61487         simplify offsetof() macro construct to avoid compile failure with
61488         native HP-UX 11.0 ANSI C compiler.
61489
61490 2005-01-17  Bruno Haible  <bruno@clisp.org>
61491
61492         * lib/stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming,
61493         redundant because stpncpy.m4 takes care of it.
61494
61495 2005-01-17  Bruno Haible  <bruno@clisp.org>
61496
61497         * lib/progreloc.c: Include xalloc.h instead of xmalloc.h.
61498
61499 2005-01-17  Bruno Haible  <bruno@clisp.org>
61500
61501         * lib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be
61502         used.
61503
61504 2005-01-17  Bruno Haible  <bruno@clisp.org>
61505
61506         * lib/fwriteerror.h (fwriteerror): Change specification to include
61507         fclose.
61508         * lib/fwriteerror.c: Include <stdbool.h>.
61509         (fwriteerror): At the end, close the file stream. Record whether
61510         stdout was already closed.
61511
61512 2005-01-17  Bruno Haible  <bruno@clisp.org>
61513
61514         * lib/execute.c (environ): Declare if needed.
61515         * lib/pipe.c (environ): Likewise.
61516         Reported by Michael Schloh von Bennewitz <michael.schloh@cw.com>.
61517
61518 2005-01-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
61519
61520         * modules/argp: Depend on vsnprintf
61521
61522 2005-01-10  Jim Meyering  <jim@meyering.net>
61523
61524         * modules/closeout (Depends-on): Add atexit.
61525
61526 2005-01-06  Bruno Haible  <bruno@clisp.org>
61527
61528         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Rename stpncpy to gnu_stpncpy here.
61529
61530 2005-01-04  Paul Eggert  <eggert@cs.ucla.edu>
61531
61532         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional
61533         definitions to be after all include files, to avoid collisions.
61534         Problem reported by Bob Proulx.
61535
61536 2005-01-04  Jim Meyering  <jim@meyering.net>
61537
61538         Changes imported from coreutils.
61539         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Rather than using "conftestXXXXXX"
61540         as the mkstemp template, use a temporary directory and an
61541         8.3-friendly template to avoid trouble on systems like DJGPP.
61542         Reported by Juan M. Guerrero via Stepan Kasal.
61543         * m4/(gl_FUNC_MKSTEMP): Include <unistd.h> for the declaration of
61544         close. Remove the temporary directory right away, rather than waiting
61545         for configure's at-exit trap code to do it.
61546         Suggestion from Stepan Kasal.
61547
61548 2005-01-01  Simon Josefsson  <jas@extundo.com>
61549
61550         * gnulib-tool: Print #include directives when --import'ing.
61551
61552 2004-12-28  Simon Josefsson  <jas@extundo.com>
61553
61554         * tests/test-base64.c: Include required header files.  Remove
61555         unused variables.
61556
61557 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
61558
61559         * modules/error (Depends-on): Remove gettext.
61560
61561 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
61562
61563         * lib/error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h";
61564         not needed.  This removes a dependency on the gettext module.
61565         [defined _LIBC]: Do not include <libintl.h>; not needed.
61566
61567 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
61568
61569         * m4/c-strtod.m4 (gl_C99_STRTOLD): New macro.
61570         (gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold).
61571
61572 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
61573
61574         * lib/c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not
61575         HAVE_DECL_STRTOLD.
61576
61577 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
61578
61579         * modules/getdate (Depends-on): Remove alloca-opt.
61580
61581 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
61582
61583         * m4/getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA.
61584
61585 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
61586
61587         * lib/argp-parse.c: Include <stddef.h>.
61588         (alignof, alignto): New macros.
61589         (parser_init): Don't assume that void * is aligned sufficiently
61590         for struct option.
61591
61592         * lib/getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no
61593         need to extend the stack.
61594         (YYINITDEPTH): New macro, so that the initial stack isn't overly
61595         large.
61596
61597 2004-12-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
61598
61599         * lib/argp-parse.c (parser_init): Avoid arithmetics on void pointers.
61600
61601 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
61602
61603         * modules/regex (lib_SOURCES): Remove regex.c, undoing previous
61604         (2004-10-24) change.  Apparently this was a false alarm.
61605
61606         * modules/getdate: Depend on alloca-opt, not alloca.
61607
61608 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
61609
61610         * lib/alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H.
61611         Remove now-obsolete comment about AIX.
61612         * lib/getdate.y: Include <alloca.h> only if HAVE_ALLOCA.
61613         (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA.
61614         (YYMAXDEPTH): New macro.
61615
61616 2004-12-18  Simon Josefsson  <jas@extundo.com>
61617
61618         * modules/alloca: Depend on alloca-opt, instead of duplicating it.
61619
61620 2004-12-18  Bruno Haible  <bruno@clisp.org>
61621
61622         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Also test for sigaction.
61623
61624 2004-12-18  Bruno Haible  <bruno@clisp.org>
61625
61626         * lib/fatal-signal.c (fatal_signals): Make non-const.
61627         (init_fatal_signals): New function.
61628         (uninstall_handlers, install_handlers): Ignore signals that were set to
61629         SIG_IGN.
61630         (at_fatal_signal): Call init_fatal_signals.
61631         (init_fatal_signal_set): Likewise. Ignore signals that were set to
61632         SIG_IGN.
61633         Reported by Paul Eggert.
61634
61635 2004-12-18  Bruno Haible  <bruno@clisp.org>
61636
61637         * doc/alloca.texi: New file.
61638         * doc/alloca-opt.texi: New file.
61639
61640 2004-12-17  Jim Meyering  <jim@meyering.net>
61641
61642         * config/install-sh: Use `(exit N); exit N', not `(exit N); exit'.
61643         Otherwise, install-sh could exit with improper exit status when
61644         exiting via a trapped interrupt.  Thanks to a report from Bob Proulx.
61645
61646 2004-12-16  Simon Josefsson  <jas@extundo.com>
61647
61648         * tests/test-base64.c: Add license.
61649
61650 2004-12-15  Stepan Kasal  <address@hidden>
61651
61652         * gnulib-tool (func_emit_lib_Makefile_am): Shorten a long sed command.
61653
61654 2004-12-12  Paul Eggert  <eggert@cs.ucla.edu>
61655
61656         * modules/getcwd (Files): Add m4/d-ino.m4.
61657         Suggested by Mark D. Baushke.
61658
61659 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
61660
61661         * lib/getdate.y (textint): New member "negative".
61662         (time_zone_hhmm): New function.
61663         Expect 14 shift-reduce conflicts, not 13.
61664         (o_colon_minutes): New rule.
61665         (time, zone): Use it to add support for +HH:MM, UTC+HH:MM.
61666         (yylex): Set the "negative" member of signed numbers.
61667
61668 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
61669
61670         * doc/getdate.texi (Time of day items, Time zone items):
61671         Describe new formats +00:00, UTC+00:00.
61672
61673 2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>
61674
61675         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change:
61676         spurious "-l"s.  Problem reported by Stepan Kasal.
61677
61678 2004-12-06  Paul Eggert  <eggert@cs.ucla.edu>
61679
61680         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug
61681         in Autoconf 2.59.  Problem reported by Mark D. Baushke.
61682
61683 2004-12-04  Simon Josefsson  <jas@extundo.com>
61684
61685         * modules/getaddrinfo (License): Add LGPL, reported by Yoann
61686         Vandoorselaere <yoann@prelude-ids.org>.
61687
61688 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
61689
61690         Changes imported from coreutils.
61691         * m4/hard-locale.m4 (gl_HARD_LOCALE): Assume locale.h and setlocale
61692         exist.
61693         * m4/human.m4 (gl_HUMAN): Assume locale.h and localeconv exist.
61694
61695 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
61696
61697         Changes imported from coreutils.
61698         * lib/hard-locale.c: Assume <locale.h> exists.
61699         Include "strdup.h".
61700         (GLIBC_VERSION): New macro.
61701         (hard_locale): Assume setlocale exists.
61702         Rewrite to avoid #ifdef.
61703         Use strdup rather than malloc + strcpy.
61704         * lib/human.c: Assume <locale.h> exists.
61705         (human_readable): Assume localeconv exists.
61706
61707 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
61708
61709         * modules/hard-locale (Depends-on): Add strdup.
61710
61711 2004-12-01  Jakub Jelinek  <jakub@redhat.com>
61712
61713         * lib/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC,
61714         convert T2, not T.  (Imported from libc.)
61715
61716 2004-11-30  Simon Josefsson  <jas@extundo.com>
61717
61718         * modules/restrict (License): Change to LGPL.
61719
61720 2004-11-30  Simon Josefsson  <jas@extundo.com>
61721
61722         * m4/restrict.m4: Add copyright and copying conditions.
61723
61724 2004-11-30  Simon Josefsson  <jas@extundo.com>
61725
61726         * m4/base64.m4: New file.
61727
61728 2004-11-30  Simon Josefsson  <jas@extundo.com>
61729
61730         * MODULES.html.sh (Extra functions based on ANSI C 89): Add
61731         base64.
61732
61733         * tests/test-base64.c: New file.
61734
61735         * modules/base64: New file.
61736
61737 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
61738
61739         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
61740         Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working.
61741
61742         * m4/readutmp.m4 (gl_READUTMP): Don't check for sys/param.h.
61743
61744 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
61745
61746         * lib/getcwd.c (is_ENAMETOOLONG): New macro.
61747         (__getcwd.c): Don't restore errno; glibc doesn't.
61748         [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd
61749         first, falling back to our code only if its results look suspicious.
61750         Ensure that the resulting buffer is only as large as necessary.
61751
61752         * lib/readutmp.c: Include readutmp.h first.
61753         Include <errno.h>, since readutmp.h no longer does that.
61754         * lib/readutmp.h: Don't include <errno.h>,
61755         <sys/param.h>, <time.h>; not needed to establish interface.
61756         (errno): Remove decl.
61757         (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed.
61758         (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME,
61759         UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros.
61760
61761 2004-11-28  Simon Josefsson  <jas@extundo.com>
61762
61763         * lib/base64.h, base64.c: New file.
61764
61765 2004-11-27  Paul Eggert  <eggert@cs.ucla.edu>
61766
61767         * lib/getcwd.h: New file, which I forgot to check in on 2004-11-25.
61768
61769 2004-11-26  Paul Eggert  <eggert@cs.ucla.edu>
61770
61771         * modules/getcwd (Files): Add lib/getcwd.h, m4/getcwd.m4.
61772         (Depends-on): Remove pathmax, same.  Add mempcpy.
61773         (configure.ac): GL_FUNC_GETCWD_PATH_MAX -> gl_FUNC_GETCWD.
61774         (Makefile.am): Append getcwd.h to lib_SOURCES.
61775         (Include): Add getcwd.h.
61776         (Maintainer): Change from Jim Meyering to "all, glibc",
61777         since getdate now uses intended-for-glibc code.
61778         * modules/xgetcwd (Files): Remove m4/getcwd.m4.
61779         (Depends-on): Depend on getcwd.  Do not depend on pathmax.
61780
61781 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
61782
61783         Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using
61784         HP's ANSI C compiler.
61785         * lib/fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl.
61786         Declaring int functions causes warnings on some modern systems and
61787         shouldn't be needed to compile on ancient ones.
61788         * lib/same.c (MIN) [defined MIN]: Don't define, since it's already
61789         defined.
61790
61791         * lib/getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but
61792         with the following changes.
61793         (__set_errno): Parenthesize properly.
61794         Include <stdbool.h>.
61795         (MIN, MAX, MATCHING_INO): New macros.
61796         (__getcwd): Define with prototype, not K&R form.
61797         Use heuristics to allocate default buffer on stack if possible.
61798         If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2)
61799         behavior, and to avoid the PATH_MAX limit when computing
61800         ../../../../...
61801         Use MATCHING_INO to compare inode number to file.
61802         Check for arithmetic overflow in size calculations.
61803         Fix bug in reallocation of dot array that caused getcwd to fail
61804         on directories nested deeper than 75.
61805         Be more careful about saving errno on error.
61806         Do not use realloc; use only free+malloc, as this is a bit
61807         more flexible and avoids a needless copy operation.
61808         Do not inspect st_dev and st_ino for symbolic links; POSIX
61809         doesn't specify the latter.
61810         Check for closedir errors.
61811         Avoid needless casts.
61812         Use "#ifdef weak_alias" around weak_alias, to be like other
61813         glibc code.
61814         The following changes to getcwd.c have effect only when used in
61815         gnulib; they have no effect inside glibc proper.
61816         (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove,
61817         as alloca isn't used.
61818         (alloca, __alloca): Likewise.
61819         [!_LIBC]: Include "getcwd.h", "mempcpy.h".
61820         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
61821         unconditionally, as gnulib assumes C89 or better.
61822         Do not include <sys/param.h>.
61823         (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove
61824         no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or
61825         better.
61826         (NULL) [!defined NULL]: Remove; we assume C89 or better.
61827         Include <dirent.h> in a way that is compatible with modern Autoconf.
61828         (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN):
61829         New macros, if not already defined.
61830         Include <unistd.h> if _LIBC, not if __GNU_LIBRARY__.
61831         Use "_LIBC", not "defined _LIBC", for consistency.
61832         (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has
61833         a mempcpy module.
61834         (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros.
61835         (GETCWD_RETURN_TYPE): Remove.  All uses replaced by char *.
61836         * lib/xgetcwd.c: David MacKenzie's old code was removed, so give
61837         credit only to Jim Meyering and adjust the copyright dates.
61838         Do not include <limits.h>, <stdio.h>, <sys/types.h>,
61839         <stdlib.h>, <unistd.h>, "pathmax.h".
61840         Instead, include "xgetcwd.h" (first) and "getcwd.h".
61841         (INITIAL_BUFFER_SIZE): Remove.
61842         (xgetcwd): Rely on getcwd, since we now depend on a reliable one.
61843
61844 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
61845
61846         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Renamed from
61847         GL_FUNC_GETCWD_PATH_MAX for consistency.  All uses changed.
61848         Use the _ONCE methods, for efficiency.
61849         Check for fcntl.h.  In test program, include <errno.h>
61850         and <fcntl.h> if available.  Remove old K&R cruft from
61851         test program.  Check for common errors in GNU/Linux,
61852         OpenBSD, and Solaris.  Just set gl_cv_func_getcwd_path_max;
61853         don't do AC_LIBOBJ, as that's getcwd.m4's job.
61854         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Renamed from
61855         AC_FUNC_GETCWD_NULL.  All used changed.  Change cache variable
61856         name accordingly.
61857         (gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros.  Revamp to
61858         accommodate new getcwd.c.
61859         * m4/jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX.
61860         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_MEMPCPY.
61861         * m4/xgetcwd.m4 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since
61862         that's all we need now.
61863
61864 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
61865
61866         * m4/argp.m4 (gl_ARGP): Require gl_GETOPT_SUBSTITUTE unconditionally:
61867         argp-parse.c depends on getopt internals, that means we should
61868         always use our getopt, to be on the safe side.
61869         * m4/getopt.m4 (gl_GETOPT): Check if GETOPT_H is already set, in
61870         order not to spoil the result of an eventual previous invocation
61871         of gl_GETOPT_SUBSTITUTE.
61872
61873 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
61874
61875         * lib/getopt_.h: Re-addition of __getopt_argv_const caused
61876         redefinition warnings. To avoid them, include the defines
61877         in `#if !defined __need_getopt ... #endif'. The only place
61878         where __getopt_argv_const is used is in definitions
61879         of getopt_long and getopt_long_only below, which are as well
61880         protected by `#ifndef __need_getopt'.
61881         [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef
61882         __need_getopt after including <stdio.h> and <unistd.h> These
61883         headers might have defined it.
61884
61885 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
61886
61887         * m4/utimens.m4 (gl_UTIMENS): Check for futimes function.
61888
61889 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
61890
61891         * lib/utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros.
61892         (futimens): New function, which uses futimes if available.
61893         (futimens, utimens): Support timespec==NULL, with same semantics
61894         as utime and utimens.
61895         * lib/utimens.h (futimens): New decl.
61896
61897 2004-11-23  Jim Meyering  <jim@meyering.net>
61898
61899         * lib/getopt_.h: Remove trailing blanks.
61900
61901 2004-11-23  Jim Meyering  <jim@meyering.net>
61902
61903         * lib/__fpending.c: Add comment.
61904
61905 2004-11-22  Paul Eggert  <eggert@cs.ucla.edu>
61906
61907         * modules/canonicalize (Depends-on): Add xreadlink.
61908         Problem reported by James Youngman.
61909
61910 2004-11-20  Paul Eggert  <eggert@cs.ucla.edu>
61911
61912         * lib/getopt_.h (__GETOPT_CONCAT, __GETOPT_XCONCAT, __GETOPT_ID):
61913         New macros.
61914         (getopt, getopt_long, getopt_long_only, optarg, opterr, optind,
61915         optopt): Use them instead of invoking ## directly; otherwise, the
61916         symbols will be __GETOPT_PREFIXgetopt rather than rpl_getopt.
61917
61918 2004-11-19  Bruno Haible  <bruno@clisp.org>
61919
61920         * lib/strtok_r.c: Move comments from here...
61921         * lib/strtok_r.h: ... to here.
61922
61923 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
61924
61925         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc
61926         implementations that mishandle size_t overflow.
61927
61928 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
61929
61930         * lib/realloc.c (rpl_realloc): Call 'free' if n==0, since realloc
61931         might fail.  Problem reported by Yoann Vandoorselaere.
61932         * lib/calloc.c (rpl_calloc): Defend against buggy calloc
61933         implementations that mishandle size_t overflow.
61934
61935 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
61936
61937         * modules/canon-host (Depends-on): Add strdup.
61938
61939 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
61940
61941         * m4/canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo.
61942
61943 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
61944
61945         * lib/canon-host.c: Include "strdup.h".
61946         (canon_host): Use getaddrinfo if available, so that IPv6 works.
61947         Use strdup instead of malloc/strcpy to duplicate strings.
61948
61949         * lib/human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit.
61950         (human_space_before_unit): New constant.
61951         * lib/human.c (human_readable): Support it.
61952
61953         * lib/xgetcwd.c: Include <limits.h>, for PATH_MAX.
61954         (xgetcwd): Set errno correctly when failing.
61955         Work around Solaris 9 bug: getcwd sets errno==ERANGE even though
61956         the failure is actually due to a PATH_MAX problem.
61957
61958         Further getopt changes to make it more likely that glibc will
61959         buy the changes back.
61960         * lib/getopt.c (POSIXLY_CORRECT): New constant.
61961         (getopt): Use it, so to preserve glibc semantic
61962         * lib/getopt1.c (getopt_long, getopt_long_only): Arg is char * const *
61963         when compiling for libc.
61964         * lib/getopt_.h (__getopt_argv_const): Bring it back.
61965         (getopt_long, getopt_long_only): Use it.
61966
61967         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
61968         _getopt_internal): New arg POSIXLY_CORRECT.  All callers changed.
61969         (getopt): Argv is now char * const *, as per standard.
61970         (_getopt_internal_r, _getopt_internal): Argv is now char **,
61971         not char *__getopt_argv_const *.
61972         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
61973         _getopt_long_only_r): Likewise.
61974         * lib/getopt_.h (getopt, getopt_long, geopt_long_only): Likewise.
61975         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
61976         _getopt_long_r, _getopt_long_only_r): Likewise.
61977         * lib/getopt_.h (__getopt_argv_const): Remove.
61978         (getopt): Argv is now char * const *, as per standard.
61979
61980         * lib/getdate.y (tORDINAL): New token.
61981         (day, relunit): Allow it for relative times.
61982         (relative_time_table): Use tORDINAL for ordinals.
61983
61984 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
61985
61986         * doc/getdate.texi (General date syntax): "next" is 1, not 2.
61987         Document that "second" isn't allowed as an ordinal number.
61988
61989 2004-11-16  Jim Meyering  <jim@meyering.net>
61990
61991         * modules/closeout (Depends-on): Add fpending.
61992
61993 2004-11-15  Jim Meyering  <jim@meyering.net>
61994
61995         * lib/closeout.c: Include "__fpending.h" once again.
61996         Include <stdbool.h>.
61997         (close_stdout): Don't fail just because stdout was closed initially,
61998         since some programs don't write to stdout in the normal course of
61999         operation (other than --version and --help), and we don't want this
62000         function to make e.g. `touch file >&-' fail.
62001         But do fail if it was closed and someone has tried to write to it.
62002         E.g., `printf foo >&-' must fail.
62003
62004 2004-11-13  Jim Meyering  <jim@meyering.net>
62005
62006         * m4/jm-macros.m4: Do require gl_FUNC_FPENDING.
62007
62008 2004-11-12  Simon Josefsson  <jas@extundo.com>
62009
62010         * config/srclist.txt: Add strtok_r.c, glibc bought our changes, but a
62011         small doc fix is still pending.
62012
62013 2004-11-11  Simon Josefsson  <jas@extundo.com>
62014
62015         * modules/strtok_r: New file.
62016
62017         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
62018         strtok_r.
62019
62020 2004-11-11  Simon Josefsson  <jas@extundo.com>
62021
62022         * m4/strtok_r.m4: New file.
62023
62024         * m4/getopt.m4: Replace opterr.
62025
62026 2004-11-11  Simon Josefsson  <jas@extundo.com>
62027
62028         * lib/strtok_r.h, strtok_r.c: New file.
62029
62030 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
62031
62032         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Define __GETOPT_PREFIX instead
62033         of replacing opterr, getopt, etc.  This should handle the
62034         powerpc-apple-darwin5.5 problem recently noted by Simon Josefsson.
62035
62036 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
62037
62038         * lib/getopt_.h (__getopt_argv_const): New macro, to be used so that
62039         we can stop lying to compilers about the constness of argv when we
62040         are compiled outside glibc.
62041         (getopt, getopt_long, getopt_long_only): Use it.
62042         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
62043         _getopt_internal, getopt): Likewise.
62044         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
62045         _getopt_long_only_r): Likewise.
62046         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
62047         _getopt_long_r, _getopt_long_only_r): Likewise.
62048
62049         * lib/getopt_.h [defined __GETOPT_PREFIX && !defined __need_getopt]:
62050         Include <stdlib.h> and <stdio.h>, and <unistd.h> if available.
62051         Then rename getopt to __GETOPT_PREFIX##getopt, and so forth for
62052         the other external symbols.
62053         (getopt) [!defined __GNU_LIBRARY]: Use prototype, not old-style
62054         declaration, since the above renaming now works around collisions.
62055
62056 2004-11-11  Jim Meyering  <jim@meyering.net>
62057
62058         * lib/linebreak.c: Remove trailing blanks.
62059         * lib/alloca_.h: Likewise.
62060         * lib/acosl.c: Likewise.
62061         * lib/euidaccess.c: Likewise.
62062         * lib/allocsa.h: Likewise.
62063
62064 2004-11-10  Simon Josefsson  <jas@extundo.com>
62065
62066         * m4/getaddrinfo.m4: New file.
62067
62068 2004-11-10  Simon Josefsson  <jas@extundo.com>
62069
62070         * lib/getaddrinfo.h, lib/getaddrinfo.c: New files.
62071
62072 2004-11-10  Simon Josefsson  <jas@extundo.com>
62073
62074         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
62075         getaddrinfo.
62076
62077         * modules/getaddrinfo: New file.
62078
62079 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
62080
62081         * m4/prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV.
62082
62083 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
62084
62085         * lib/mktime.c (SHR): New macro, which is a portable
62086         substitute for >> that should work even on Crays.
62087         (TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it.
62088         Problem reported by Mark D. Baushke in
62089         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00071.html>.
62090         * lib/getdate.y (SHR): Likewise.
62091         (tm_diff): Use it.
62092         * lib/strftime.c (SHR): Likewise.
62093         (tm_diff): Use it.
62094         * lib/quotearg.c (struct quoting_options): Use unsigned int for
62095         quote_these_too, so that right shifts are well defined.  All uses
62096         changed.
62097
62098 2004-11-10  Jim Meyering  <jim@meyering.net>
62099
62100         Ensure that no close failure goes unreported.
62101         * lib/closeout.c (close_stdout): Always close stdout.  I.e., don't
62102         return early when it seems there's nothing to flush.
62103         Don't include __fpending.h.
62104
62105 2004-11-10  Jim Meyering  <jim@meyering.net>
62106
62107         * modules/closeout (Depends-on): Remove fpending.
62108
62109 2004-11-10  Jim Meyering  <jim@meyering.net>
62110
62111         * m4/jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_FPENDING.
62112
62113 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
62114
62115         * m4/strftime.m4 (_gl_STRFTIME_PREREQS): Remove.  Move its body to
62116         gl_FUNC_STRFTIME.
62117         (gl_FUNC_STRFTIME): Use AC_CHECK_FUNCS_ONCE and AC_CHECK_HEADERS_ONCE
62118         and AC_REQUIRE when possible, to avoid duplicate checks.
62119         Check for <wchar.h>.
62120
62121 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
62122
62123         * lib/strftime.c (DO_MULTIBYTE): Check for wchar.h, too.
62124
62125 2004-11-09  Bruno Haible  <bruno@clisp.org>
62126
62127         * m4/sockpfaf.m4: New file.
62128
62129 2004-11-05  Bruno Haible  <bruno@clisp.org>
62130
62131         * lib/readlink.c: Include stddef.h, needed for size_t on Woe32.
62132         Reported by Mark D. Baushke <mdb@cvshome.org>.
62133
62134 2004-11-04  Bruno Haible  <bruno@clisp.org>
62135
62136         2004-09-11  Bruno Haible  <bruno@clisp.org>
62137                 * allocsa.valgrind: New file.
62138         2004-02-06  Bruno Haible  <bruno@clisp.org>
62139                 * allocsa.h (sa_alignof): Define differently with HP-UX cc, to
62140                 avoid a bug of this cc on HP-UX 10.20 dealing with enums.
62141                 Reported by Christopher Seip <chris.seip@hp.com>.
62142
62143 2004-11-04  Bruno Haible  <bruno@clisp.org>
62144
62145         * modules/allocsa (Files): Add lib/allocsa.valgrind.
62146         (Makefile.am): Distribute it.
62147
62148 2004-11-03  Paul Eggert  <eggert@cs.ucla.edu>
62149
62150         * lib/xreadlink.c (xreadlink): AIX and HP-UX readlink return -1
62151         with errno == ERANGE if the buffer is too small.
62152         Problem reported by Mark D. Baushke.
62153
62154 2004-11-03  Albert Chin  <china@thewrittenword.com>
62155             Paul Eggert  <eggert@cs.ucla.edu>
62156
62157         * m4/uint32_t.m4 (gl_AC_TYPE_UINT32_T): When determining uint32_t
62158         equivalent, substitute $ac_type for equivalent type rather than
62159         blindly using uint32_t *always* which won't work if uint32_t is not
62160         available.  Define _UINT32_T to work around typedef of uint32_t if
62161         <sys/sched.h>, <pthread.h>, or <semaphore.h> used on Solaris
62162         2.5.1.
62163
62164 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
62165
62166         * m4/jm-macros.m4: Sync from coreutils.
62167         (gl_MACROS): Check for mbrlen, for pathchk.
62168         (gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk.
62169
62170 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
62171
62172         * lib/xreadlink.c (MAXSIZE): New macro.
62173         (xreadlink): Use it instead of SSIZE_MAX.  Ensure initial buffer
62174         size does not exceed MAXSIZE.  Avoid cast.
62175         As suggested by Mark D. Baushke in
62176         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00009.html>,
62177         if readlink fails with buffer size just under MAXSIZE, try again
62178         with MAXSIZE.
62179
62180 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
62181
62182         * config/srclist.txt: Add mktime.c; glibc bought all our changes.
62183
62184 2004-11-02  Derek R. Price  <derek@ximbiot.com>
62185         and  Paul Eggert  <eggert@cs.ucla.edu>
62186
62187         * lib/getdate.y [!TEST]: Include <stdio.h>, since we use sprintf now.
62188         (get_date): Overparenthesize to avoid GCC warning.
62189
62190 2004-11-02  Bruno Haible  <bruno@clisp.org>
62191
62192         * m4/setenv.m4 (gt_FUNC_SETENV): Define VOID_UNSETENV if unsetenv()
62193         returns void.
62194
62195 2004-11-02  Bruno Haible  <bruno@clisp.org>
62196
62197         * lib/setenv.h (unsetenv): Define as a macro if the system's unsetenv()
62198         function returns void.
62199
62200 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
62201
62202         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for declarations of
62203         fflush_unlocked, flockfile, funlockfile, funlockfile,
62204         fputs_unlocked, putc_unlocked.
62205
62206 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
62207
62208         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
62209         (funlockfile, fputs_unlocked, putc_unlocked): Don't define if
62210         already declared.
62211
62212 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
62213
62214         * modules/getdate (Files): Add doc/getdate.texi.
62215         (Depends-on): Add setenv, xalloc.
62216
62217 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
62218
62219         * lib/getdate.y: Add support for TZ="foo" within a date string.
62220         Fix some bugs near time_t boundaries.  Reject dates with
62221         out-of-range components, e.g., "Sept 31".
62222         Include <stdlib.h>, "setenv.h", "xalloc.h".
62223         (ISDIGIT_LOCALE): Remove; unused.
62224         Note that the TZ and time functions used here are not reentrant.
62225         (mktime_ok, get_tz): New functions.
62226         (TZBUFSIZE): New constant.
62227         (get_date): Parse leading TZ="foo".  Reject out-of-range components;.
62228         This requires that we sometimes generate our own TZ="XXX..." setting.
62229
62230 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
62231
62232         * doc/getdate.texi: New file, from coreutils with modifications for
62233         the new TZ parsing.
62234
62235 2004-10-27  Derek R. Price  <derek@ximbiot.com>
62236
62237         * lib/mktime.c (not_equal_tm): Remove redundant check.
62238
62239 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
62240
62241         * modules/regex (lib_SOURCES): Add regex.c.
62242         Reported by James Youngman in
62243         <http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00199.html>.
62244
62245 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
62246
62247         * lib/getdate.y: Use Bison 1.875 features, and some minor
62248         code cleanups.  This change does not affect semantics.
62249         Don't include <stdlib.h>; no longer needed.
62250         Don't include unlocked-io.h; only the "#if TEST" code uses
62251         stdio, and performance isn't crucial there.
62252         (PC, YYLEX_PARAM, YYPARSE_PARAM): Remove; replaced by
62253         Bison 1.875 features as described below.
62254         All uses of "PC." replaced by "pc->".
62255         (YYSTYPE): Add a forward declaration.
62256         (yylex, yyerror): Use full prototypes in forward decls.
62257         Use "%pure-parser" rather than obsolescent "%pure_parser".
62258         Use %parse-param and %lex-param instead of obsolescent
62259         YYPARSE_PARAM and YYLEX_PARAM.
62260         (meridian_table, month_and_day_table, time_units_table,
62261         relative_time_table, time_zone_table, military_table,
62262         lookup_zone, lookup_word, get_date):
62263         Use NULL instead of 0 where appropriate.
62264         (to_hour): Avoid abort (), to avoid a dependency on
62265         stdlib.h.
62266         (yyerror, yylex): Now accepts parser_control * arg.
62267         (main) [TEST]: Use '\0' rather than 0 for char.
62268
62269 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
62270
62271         * m4/getpagesize.m4 (gl_GETPAGESIZE): Check for <sys/param.h>.
62272
62273 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
62274
62275         * lib/getpagesize.c (getpagesize): Don't assume <sys/param.h> exists.
62276         It's now the caller's responsibility to handle the case where
62277         !HAVE_GETPAGESIZE && !defined getpagesize.
62278
62279         * lib/mktime.c (leapyear): Arg is long int, not int.
62280
62281 2004-10-18  Paul Eggert  <eggert@cs.ucla.edu>
62282
62283         * lib/argp-fs-xinl.c, argp-xinl.c: Update from glibc.
62284
62285 2004-10-17  Paul Eggert  <eggert@cs.ucla.edu>
62286
62287         * gnulib-tool (func_emit_lib_Makefile_am): Fix typo: a $ was
62288         missing.  Problem reported by James Youngman.
62289
62290 2004-10-16  Simon Josefsson  <jas@extundo.com>
62291
62292         * gnulib-tool: Fix comments.  Fix parse problem.
62293         (func_emit_lib_Makefile_am): Don't hard code a in libgl_a_SOURCES.
62294
62295 2004-10-15  Paul Eggert  <eggert@cs.ucla.edu>
62296
62297         * m4/getopt.m4 (gl_GETOPT): Detect and reject the incompatible BSD
62298         implementation of getopt_long.  Problem reported by Alexander Taler in:
62299         http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00103.html
62300
62301 2004-10-15  Bruno Haible  <bruno@clisp.org>
62302
62303         * gnulib-tool: Untabify. Initialize supplied_libname.
62304         (func_usage): More homogenous output.
62305         (func_modules_transitive_closure, func_modules_to_filelist,
62306         func_emit_lib_Makefile_am): New functions.
62307         (func_import): New function, extracted from big case statement. Use
62308         func_get_license, func_modules_transitive_closure,
62309         func_modules_to_filelist, func_emit_lib_Makefile_am. Initialize
62310         opt_lgpl. Don't use test -a, as it's not portable.
62311         (func_create_testdir): Use func_modules_transitive_closure,
62312         func_modules_to_filelist, func_emit_lib_Makefile_am.
62313
62314 2004-10-15  Bruno Haible  <bruno@clisp.org>
62315
62316         * gnulib-tool (func_import): Let gl_INIT define LTALLOCA when needed.
62317
62318 2004-10-15  Bruno Haible  <bruno@clisp.org>
62319
62320         * gnulib-tool (func_emit_lib_Makefile_am): Add markers to separate
62321         the portions belonging to each module.
62322         Suggested by Derek Robert Price <derek@ximbiot.com>.
62323
62324 2004-10-12  Simon Josefsson  <jas@extundo.com>
62325
62326         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
62327         (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map
62328         to real functions.
62329
62330 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
62331
62332         * modules/vsnprintf: New file.
62333
62334 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
62335
62336         * m4/vsnprintf.m4: New file.
62337
62338 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
62339
62340         * lib/vsnprintf.h: New file.
62341         * lib/vsnprintf.c: New file.
62342
62343 2004-10-11  Bruno Haible  <bruno@clisp.org>
62344
62345         * MODULES.html.sh (Support for systems lacking ISO C 99): Add
62346         vsnprintf.
62347
62348 2004-10-10  Paul Eggert  <eggert@cs.ucla.edu>
62349
62350         * config/srclistvars.sh: Add GNUSTANDARDS (for eggert only).
62351
62352 2004-10-07  Bruno Haible  <bruno@clisp.org>
62353
62354         * lib/snprintf.c (snprintf): Avoid a memory allocation if the result
62355         fits into the provided buffer.
62356
62357 2004-10-06  Paul Eggert  <eggert@cs.ucla.edu>
62358
62359         * lib/diacrit.c, diacrit.h: Add GPL notice.
62360
62361         * lib/atanl.c, logl.c: Add GPL notice, to match glibc's added LGPL
62362         notice.
62363         * lib/atanl.c (atanl): Keep the code as similar to glibc as possible.
62364         * lib/logl.c (logl): Keep the code as similar to glibc as possible.
62365         This avoids a potential constant-folding bug.
62366
62367 2004-10-05  Bruno Haible  <bruno@clisp.org>
62368
62369         * m4/strsep.m4 (gl_FUNC_STRSEP): Require AC_GNU_SOURCE. Don't check
62370         for the declaration of strsep.
62371
62372 2004-10-05  Bruno Haible  <bruno@clisp.org>
62373
62374         * lib/strsep.h: Don't declare strsep() if HAVE_STRSEP.
62375
62376 2004-10-04  Simon Josefsson  <jas@extundo.com>
62377
62378         * modules/memmem: New file.
62379         * tests/test-memmem.c: New file.
62380         * MODULES.html.sh (Extra functions based on ANSI C 89): Add memmem.
62381
62382 2004-10-04  Simon Josefsson  <jas@extundo.com>
62383
62384         * m4/memmem.m4: New file.
62385
62386 2004-10-04  Simon Josefsson  <jas@extundo.com>
62387
62388         * lib/memmem.h: New file.
62389         * lib/memmem.c: New file, taken from glibc.
62390
62391 2004-10-04  Simon Josefsson  <jas@extundo.com>
62392
62393         * lib/error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of
62394         '#ifdef USE_UNLOCKED_IO'.
62395
62396 2004-10-04  Simon Josefsson  <jas@extundo.com>
62397
62398         * config/srclist.txt: Add memmem from glibc.
62399
62400 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
62401
62402         * modules/xalloc (Files, Makefile.am): Remove xstrdup.c.
62403
62404         * modules/argmatch, modules/argp, modules/closeout, modules/error,
62405         modules/exclude, modules/getdate, modules/getline,
62406         modules/getndelim2, modules/getpass, modules/getpass-gnu,
62407         modules/getusershell, modules/linebuffer, modules/md5,
62408         modules/mountlist, modules/posixtm, modules/readtokens,
62409         modules/readutmp, modules/regex, modules/sha1,
62410         modules/version-etc, modules/yesno:
62411         Remove dependency on unlocked-io.
62412
62413 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
62414
62415         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Remove.  All uses removed.
62416
62417         * m4/unlocked-io.m4: Add copyright notice.
62418         (gl_FUNC_GLIBC_UNLOCKED_IO): Define USE_UNLOCKED_IO.
62419
62420 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
62421
62422         * lib/xalloc.h (xmemdup): Renamed from xclone.  All uses changed.
62423         * lib/xmalloc.c (xmemdup): Likewise.
62424         * lib/xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC,
62425         XFREE): Remove these long-obsolescent macros.
62426         * lib/xmalloc.c (xstrdup): Implementation moved here from xstrdup.c
62427         * lib/xstrdup.c: Remove.
62428
62429         * lib/regex.c (re_comp): Cast gettext return value to char *,
62430         Problem reported by Martin Neitzel via Mark D. Baushke.
62431
62432 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
62433
62434         * lib/argmatch.c, closeout.c, error.c, exclude.c, getdate.y,
62435         getndelim2.c, getpass.c, getusershell.c, linebuffer.c,
62436         md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c,
62437         regex.c, sha1.c, version-etc.c, yesno.c:
62438         Include "unlocked-io.h" only if USE_UNLOCKED_IO.
62439         * lib/unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now
62440         the includer's responsibility.
62441
62442         Sync from coreutils.
62443
62444         * lib/modechange.c (mode_compile): Don't decrement a pointer that
62445         points to the start of a string, as the C Standard says the
62446         resulting behavior is undefined.
62447
62448         * lib/backupfile.h (enum backuptype): Rename none -> no_backups,
62449         simple -> simple_backups, numbered_existing ->
62450         numbered_existing_backups, numbered -> numbered_backups
62451         to avoid shadowing problems.  All uses changed.
62452         * lib/argmatch.c (enum backuptype) [defined TEST]: Likewise.
62453         * lib/backupfile.c (check_extension, numbered_backup):
62454         Rename locals to avoid shadowing 'basename'.
62455         * lib/backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than
62456         once.
62457
62458         * lib/.cppi-disable: Add getopt_.h, getopt_int.h.
62459         * lib/.cvsignore: Add getopt.h.
62460
62461 2004-10-04  Bruno Haible  <bruno@clisp.org>
62462
62463         * modules/README: New file.
62464         * gnulib-tool (func_all_modules, func_verify_module): modules/README is
62465         not a module.
62466
62467 2004-10-02  Jim Meyering  <jim@meyering.net>
62468
62469         * lib/dirfd.h, getpagesize.h: Add copyright notice.
62470
62471 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
62472
62473         * modules/strsep: New file.
62474
62475 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
62476
62477         * m4/strsep.m4: New file.
62478
62479 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
62480
62481         * lib/strsep.h: New file.
62482         * lib/strsep.c: New file.
62483
62484 2004-10-01  Simon Josefsson  <jas@extundo.com>
62485
62486         * lib/snprintf.c (snprintf): Handle size==0.
62487
62488 2004-10-01  Simon Josefsson  <jas@extundo.com>
62489             Bruno Haible  <bruno@clisp.org>
62490
62491         * lib/snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>.
62492         (snprintf): Declare 'args'.
62493
62494 2004-10-01  Paul Eggert  <eggert@cs.ucla.edu>
62495
62496         * lib/snprintf.c: Remove comments as to why each header is needed.
62497
62498 2004-10-01  Bruno Haible  <bruno@clisp.org>
62499
62500         * MODULES.html.sh: Add strsep.
62501
62502 2004-09-30  Simon Josefsson  <jas@extundo.com>
62503
62504         * modules/snprintf: New file.
62505
62506 2004-09-30  Simon Josefsson  <jas@extundo.com>
62507
62508         * m4/snprintf.m4: New file.
62509
62510 2004-09-30  Simon Josefsson  <jas@extundo.com>
62511
62512         * lib/snprintf.h, lib/snprintf.c: New files.
62513
62514 2004-09-30  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
62515
62516         * lib/argp-help.c (canon_doc_option): Fixed coredump if *name==NULL
62517         (hol_entry_help): Never translate an empty string.
62518         Do not translate option tag (opt->name) if OPTION_NO_TRANS is set
62519         * lib/argp.h (OPTION_NO_TRANS): New option.
62520
62521 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
62522
62523         * modules/argp (Maintainer): Replace Simon Josefsson
62524         by Sergey Poznyakoff.
62525
62526 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
62527
62528         * config/srclist.txt: Comment-out argp/argp.h, until we get the argp
62529         changes merged back into glibc.
62530
62531 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
62532
62533         * MODULES.html.sh (Support for systems lacking ISO C 99): Add snprintf.
62534
62535 2004-09-29  Oskar Liljeblad  <oskar@osk.mine.nu>
62536
62537         * lib/xvasprintf.c: Include xalloc.h.
62538         (xvasprintf): Use xalloc_die, not xmalloc_die.
62539
62540 2004-09-29  Bruno Haible  <bruno@clisp.org>
62541
62542         * modules/alloca-opt: New file, derived from modules/alloca.
62543         * modules/allocsa: Depend on alloca-opt instead of alloca.
62544         * modules/setenv: Likewise.
62545         * modules/vasnprintf: Likewise.
62546         * MODULES.html.sh: Add alloca-opt.
62547
62548 2004-09-28  Simon Josefsson  <jas@extundo.com>
62549
62550         * gnulib-tool: New parameter --lgpl, to asseert that modules are
62551         LGPL, and to replace license template from GPL to LGPL.
62552
62553 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
62554
62555         * modules/dummy: Change license to LGPL.
62556
62557 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
62558
62559         * lib/dummy.c: Change copyright notice to FSF, and license to GPL.
62560
62561 2004-09-24  Simon Josefsson  <jas@extundo.com>
62562
62563         * modules/minmax (License): Change from GPL to LGPL.
62564
62565 2004-09-23  Simon Josefsson  <jas@extundo.com>
62566
62567         * gnulib-tool (--import): Typo.
62568
62569 2004-09-23  Simon Josefsson  <jas@extundo.com>
62570
62571         * gnulib-tool (--import): Make sure *.m4 end up in m4/ by default.
62572
62573 2004-09-22  Bruno Haible  <bruno@clisp.org>
62574
62575         * modules/*: Add 'License' field.
62576         * gnulib-tool: Accept --extract-license option.
62577         (func_get_license): New function.
62578
62579 2004-09-21  Bruno Haible  <bruno@clisp.org>
62580
62581         * modules/vasnprintf (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
62582         Reported by Simon Josefsson.
62583
62584 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
62585
62586         * modules/inttostr (Files): Add m4/longlong.m4, since it uses
62587         gl_AC_TYPE_LONG_LONG.
62588
62589 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
62590
62591         * config/srclist.txt: Add getsubopt.c, since libc bought our changes.
62592
62593 2004-09-18  Simon Josefsson  <jas@extundo.com>
62594         and  Paul Eggert  <eggert@cs.ucla.edu>
62595
62596         * gnulib-tool: Replace various ad-hoc automake/autoconf/aclocal
62597         calls with autoreconf.  Define GL_LIB.
62598
62599 2004-09-14  Karl Berry  <karl@gnu.org>
62600
62601         * config/srclist.txt: unsync setenv.c, sigh.
62602
62603 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
62604
62605         * lib/argp-pvh.c (argp_program_version_hook): Provide initial value.
62606         Problem reported by Bruno Haible in:
62607         http://lists.gnu.org/archive/html/bug-tar/2004-09/msg00023.html
62608
62609 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
62610
62611         * config/srclist.txt: Comment out argp-pvh.c.
62612
62613 2004-09-11  Paul Eggert  <eggert@cs.ucla.edu>
62614
62615         * lib/mempcpy.h: Wrap the entire include file inside #ifndef mempcpy,
62616         in case some system header has #define'd it.  Problem reported by
62617         Soeren D. Schulze in
62618         <http://lists.gnu.org/archive/html/bug-gnulib/2004-09/msg00017.html>.
62619
62620 2004-09-09  Karl Berry  <karl@gnu.org>
62621
62622         * regex.[ch]: delete from the root.  These were supposed to be
62623                 synced with emacs cvs, but this has not happened for about
62624                 a year, and anyway nothing else uses emacs regex.[ch].
62625                 bug-gnulib mail from Jeff Bailey, 9 Sep 2004 15:49:24 -0700.
62626                 lib/regex[.ch] is untouched.
62627
62628 2004-09-09  Bruno Haible  <bruno@clisp.org>
62629
62630         * modules/vasnprintf (Files): Add m4/eoverflow.m4.
62631
62632 2004-09-09  Bruno Haible  <bruno@clisp.org>
62633
62634         * m4/eoverflow.m4: New file, taken from GNU libiconv eilseq.m4 with
62635         modifications.
62636         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require gl_EOVERFLOW.
62637
62638 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
62639
62640         * modules/xvasprintf: New file.
62641         * MODULES.html.sh (Extra functions based on ANSI C 89): Add vasprintf.
62642
62643 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
62644
62645         * lib/xvasprintf.h: New file.
62646         * lib/xvasprintf.c: New file.
62647         * lib/xasprintf.c: New file.
62648
62649 2004-09-08  Bruno Haible  <bruno@clisp.org>
62650
62651         * m4/stdint.m4: New file, taken from GNU clisp with modifications.
62652
62653 2004-09-08  Bruno Haible  <bruno@clisp.org>
62654
62655         * lib/vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting
62656         length is > INT_MAX.
62657         * lib/vasprintf.c (vasprintf): Don't test for length > INT_MAX any
62658         more.
62659
62660 2004-09-08  Bruno Haible  <bruno@clisp.org>
62661
62662         * lib/stdint_.h: New file, taken from GNU clisp.
62663
62664 2004-09-08  Bruno Haible  <bruno@clisp.org>
62665             Oskar Liljeblad  <oskar@osk.mine.nu>
62666
62667         * modules/stdint: New file.
62668         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdint.
62669
62670 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
62671
62672         Import from coreutils.
62673         * lib/userspec.c: Don't use <alloca.h>, so that we don't use alloca on
62674         strings on unbounded length.  alloca's performance benefits aren't
62675         that important here.
62676         (V_STRDUP): Remove.
62677         (parse_with_separator): New function, with most of the internals
62678         of the old parse_user_spec.  Allow user to omit both user and group,
62679         for compatibility with FreeBSD.
62680         Clone only the user name, not the entire spec.
62681         Do not set *uid, *gid unless entirely successful.
62682         Avoid memory leak in some failing cases.
62683         Fix regression for USER.GROUP reported by Dmitry V. Levin in
62684         <http://lists.gnu.org/archive/html/bug-coreutils/2004-08/msg00102.html>
62685         (parse_user_spec): Rewrite to use parse_with_separator.
62686
62687 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
62688
62689         * modules/userspec: Don't depend on alloca.
62690
62691 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
62692
62693         * m4/userspec.m4 (gl_USERSPEC): Don't require AC_FUNC_ALLOCA.
62694
62695 2004-08-17  Paul Eggert  <eggert@cs.ucla.edu>
62696
62697         * MODULES.html.sh: Add xalloc-die, c-strtod, c-strtold, raise,
62698         readtokens0, getcwd, fcntl-safer, canonicalize, cycle-check,
62699         utimecmp, utimens, xnanosleep.  Rename sha to sha1.
62700
62701 2004-08-16  Simon Josefsson  <jas@extundo.com>
62702
62703         * gnulib-tool: Use sed instead of autoconf --trace, inspired by
62704         libtoolize behaviour by "Gary V. Vaughan" <gary@gnu.org>.
62705         Add --dry-run for --import.
62706         Let user provided command line parameters override configure.ac
62707         settings.
62708
62709 2004-08-12  Simon Josefsson  <jas@extundo.com>
62710
62711         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): New macro,
62712         as discussed with Paul Eggert in threads rooted at
62713         <http://lists.gnu.org/archive/html/bug-gnulib/2004-06/msg00039.html>
62714         and
62715         <http://lists.gnu.org/archive/html/bug-gnulib/2004-07/msg00001.html>.
62716         Before, the test was empty, and relied on ELIDE_CODE in source
62717         code.)
62718         (gl_PREREQ_GETOPT): New macro.
62719         (gl_GETOPT): Use them.
62720
62721 2004-08-12  Simon Josefsson  <jas@extundo.com>
62722
62723         * lib/getopt.c, getopt1.c: Remove ELIDE_CODE hack.
62724         * lib/getopt_.h: Renamed from getopt.h.
62725
62726 2004-08-12  Simon Josefsson  <jas@extundo.com>
62727
62728         * gnulib-tool: Add --source-base, --m4-base, --libtool options.
62729         Change default library name from libfoo to libgnu.
62730         Now, if you have a configure.ac that says:
62731                 gl_SOURCE_BASE(gl)
62732                 gl_M4_BASE(gl/m4)
62733                 gl_MODULES(error getopt etcetera)
62734                 gl_INIT
62735         you can import all you need by running:
62736                 ../gnulib/gnulib-tool --import
62737
62738         * modules/getopt (Files): Rename getopt.h to getopt_.h.
62739         (Makefile.am): Rewrite, use logic from argz.
62740         (Include): Use <getopt.h> instead of "getopt.h".
62741
62742 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
62743
62744         * modules/argp (Files): Add m4/unlocked-io.m4.
62745         (Depends-on): Add extensions.
62746
62747 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
62748
62749         * m4/argp.m4 (gl_ARGP): Do not check for argp.h or argp_parse; nobody
62750         uses HAVE_ARGP_H or HAVE_ARGP_PARSE.
62751         Require gl_FUNC_GLIBC_UNLOCKED_IO, gl_USE_SYSTEM_EXTENSIONS.
62752         Check for program_invocation_name, program_invocation_short_name,
62753         flockfile, funlockfile, features.h, _getopt_long_only_r.
62754
62755 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
62756
62757         * lib/argp-help.c, argp-parse.c: Use "gettext.h" instead of
62758         its complicated substitute.
62759         * lib/argp-help.c: Include <errno.h>, for program_invocation_short_name
62760         and program_invocation_name.
62761         (__argp_basename) [!_LIBC]: Remove; the only use was
62762         replaced by its body.
62763         (__argp_short_program_name): Change condition from
62764         !defined __argp_short_program_name to
62765         ! (defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME),
62766         to match argp-namefrob.h.
62767         (__argp_failure): Don't assume strerror_r returns char *.
62768         * lib/argp-parse.c (N_): Define unconditionally.
62769         (argp_default_options): Fill out initializers with 0 to avoid
62770         gcc warnings.
62771
62772 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
62773
62774         * config/srclist.txt: Remove getopt.c, getopt.h (renamed to getopt_.h),
62775         getopt1.c.
62776
62777 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
62778
62779         Merge from coreutils.
62780
62781         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy.
62782
62783         * m4/obstack.m4 (gl_PREREQ_OBSTACK): Require
62784         gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T.
62785
62786 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
62787
62788         Merge from coreutils.
62789
62790         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing
62791         wmemchr or wmemcpy.  Problem reported by Robert Dahlem
62792         for Reliant Unix 5.43.
62793
62794         * lib/obstack.c: Include <inttypes.h> and <stdint.h> if available.
62795         (union fooround): Use uintmax_t, not long int.
62796         The rest is a merge from libc:
62797         [defined _LIBC]: Include <shlib-compat.h>.
62798         (_obstack) [defined _LIBC]: Remove after 2.3.4.
62799
62800         * lib/settime.c (settime): Recode to avoid warning with
62801         Sun Forte C 6U2.
62802
62803         * lib/strverscmp.c: Convert to UTF-8.
62804
62805 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
62806
62807         * modules/obstack (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
62808         m4/uintmax_t.m4.
62809
62810 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
62811
62812         * modules/xalloc-die: New file.
62813         * modules/xalloc: Remove dependencies on error, gettext, exitfail.
62814
62815         * modules/md5 (Files): Add m4/uint32_t.m4.
62816         * modules/sha1: Renamed from modules/sha.
62817         (Files):
62818         Rename lib/sha.h to lib/sha1.h.
62819         Rename lib/sha.c to lib/sha1.c.
62820         Rename m4/sha.m4 to m4/sha1.m4.
62821         (lib_SOURCES): Likewise.
62822         (configure.ac): Rename gl_SHA to gl_SHA1.
62823         (Include): sha.h -> sha1.h.
62824
62825 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
62826
62827         * m4/uint32_t.m4, m4/uintptr_t.m4: New files.
62828         * m4/sha1.m4: Renamed from sha.m4.
62829         (gl_SHA1): Renamed from gl_SHA.  All uses changed.
62830
62831 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
62832
62833         * lib/obstack.h (obstack_empty_p):
62834         Don't assume that chunk->contents is suitably aligned.
62835         * lib/obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
62836         Likewise. Problem reported by Benno in
62837         <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>.
62838
62839         * lib/chown.c (rpl_chown): Work even if the file is writeable but not
62840         readable.  This could be improved further but it'd take some work.
62841
62842 2004-08-08  Simon Josefsson  <jas@extundo.com>
62843
62844         * modules/xgethostname (Depends-on): Remove exit and error (not
62845         used).
62846
62847         * modules/getpass-gnu: Add getpass.h.
62848         (Depends-on): Add stdbool.
62849         * modules/getpass: Add getpass.h.
62850
62851 2004-08-08  Simon Josefsson  <jas@extundo.com>
62852
62853         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU):
62854         Check getpass declaration.
62855
62856 2004-08-08  Simon Josefsson  <jas@extundo.com>
62857
62858         * lib/xgethostname.c: Don't include error.h (not used).
62859
62860         * lib/getpass.h: Add.
62861         * lib/getpass.c: Include getpass.h first.
62862
62863 2004-08-08  Paul Eggert  <eggert@cs.ucla.edu>
62864
62865         * lib/xalloc-die.c: New file.
62866         * lib/xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove.
62867         All uses removed.
62868         * lib/xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted):
62869         Likewise. Move inclusions of gettext.h, error.h, exitfail.h to
62870         xalloc-die.c.
62871         (_, N_, xalloc_die): Move to xalloc-die.c.
62872         * lib/userspec.c (parse_user_spaec): Use xstrdup rather than strdup,
62873         so that we needn't mess with xalloc_msg_memory_exhausted.
62874
62875         * lib/sha1.h: Renamed from sha.h.
62876         (SHA1_H): Renamed from _SHA_H.
62877         (sha1_ctx): Renamed from sha_ctx.
62878         (sha1_init_ctx): Renamed from sha_init_ctx.
62879         (sha1_process_block): Renamed from sha_process_block.
62880         (sha1_process_bytes): Renamed from sha_process_bytes.
62881         (sha1_finish_ctx): Renamed from sha_finish_ctx.
62882         (sha1_read_ctx): Renamed from sha_read_ctx.
62883         (sha1_stream): Renamed from sha_stream.
62884         (sha1_buffer): Renamed from sha_buffer.
62885         * lib/sha1.c: Likewise; renamed from sha.c.
62886         Do not include <sys/types.h>.
62887         Include <stddef.h> rather than <stdlib.h>.
62888
62889 2004-08-08  Bruno Haible  <bruno@clisp.org>
62890
62891         * lib/pathname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from
62892         FILESYSTEM_PREFIX_LEN.
62893         * lib/progreloc.c: Likewise.
62894         * lib/concatpath.c (concatenated_pathname): Use FILE_SYSTEM_PREFIX_LEN.
62895
62896 2004-08-06  Simon Josefsson  <jas@extundo.com>
62897
62898         * modules/progname (Depends-on): Don't depend on stdbool.
62899
62900 2004-08-06  Simon Josefsson  <jas@extundo.com>
62901
62902         * modules/getsubopt: New file.
62903         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
62904         getsubopt.
62905
62906 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
62907
62908         More merge from coreutils.
62909
62910         * m4/utimens.m4, m4/utimecmp.m4: New files.
62911         * m4/backupfile.m4, euidacces.m4, acl.m4, afs.m4, calloc.m4, dirfd.m4,
62912         fsusage.m4, jm-macros.m4, ls-mntd-fs.m4, md5.m4, mountlist.m4,
62913         prereq.m4, sha.m4: Import changes from coreutils.
62914
62915 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
62916
62917         More merge from coreutils.
62918         * modules/raise, modules/readtokens0, modules/utimens:
62919         * modules/utimecmp, module/xnanosleep: New files.
62920         * modules/strftime: Add lib/strftime.h.
62921         Change include from <time.h> to "strftime.h".
62922         * modules/yesno: Add lib/yesno.h.
62923         * modules/backupfile: Remove lib/addext.c.
62924         * modules/euidaccess: Add stat-macros.h.
62925         * modules/canonicalize, modules/euidaccess,
62926         modules/filemode, modules/lchown, modules/makepath,
62927         modules/rmdir, modules/stat: Likewise.
62928
62929 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
62930
62931         Merge from tar.
62932         * lib/argp-help.c (make_hol, hol_append): Don't assume that
62933         SIZE_MAX is a valid preprocessor constant.
62934         (__argp_basename): Change from "#ifndef _LIBC"
62935         to "#ifndef __argp_short_program_name", so that
62936         we don't compile these functions for tar.
62937
62938         More merges from coreutils.
62939         * lib/raise.c, lib/readtokens0.h, lib/readtokens0.c, lib/strftime.h:
62940         * lib/utimens.h, lib/utimens.c, lib/utimecmp.h, lib/utimecmp.c:
62941         * lib/xnanosleep.h, lib/xnanosleep.c, lib/yesno.h: New files.
62942         * lib/addext.c: Remove; no longer needed.
62943         * lib/yesno.c, lib/argmatch.h, lib/argmatch.c, lib/backupfile.h,
62944         lib/backupfile.c, lib/euidaccess.c, lib/filemode.c, lib/closeout.c,
62945         lib/dup2.c, lib/exclude.c, lib/fileblocks.c, lib/filemode.c,
62946         lib/fnmatch.c, lib/fnmtahc_loop.c, lib/fopen-safer.c, lib/fsusage.c,
62947         lib/fsusage.h, lib/ftruncate.c, lib/full-write.c, lib/getdate.y,
62948         lib/getloadavg.c, lib/getugroups.c, lib/hard-locale.c,
62949         lib/hard-locale.h, lib/hash.c, lib/human.c, lib/human.h, lib/lchown.c,
62950         lib/lchown.h, lib/makepath.c, lib/makepath.h, lib/md5.c, lib/md5.h,
62951         lib/memchr.c, lib/memcoll.c, lib/memrchr.c, lib/modechange.c,
62952         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
62953         lib/posixtm.c, lib/putenv.c, quotearg.c, lib/quotearg.h,
62954         lib/readtokens.c, lib/readutmp.c, lib/readutmp.h, lib/rmdir.c,
62955         lib/safe-read.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c,
62956         lib/sig2str.c, lib/stat.c, lib/strtoimax.c, lib/strverscmp.c,
62957         lib/userspec.c, lib/utime.c, lib/version-etc.c., lib/xgethostname.c,
62958         lib/xmemcoll.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtod.h,
62959         lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, lib/xstrtoumax.c:
62960         Import changes from coreutils.
62961
62962 2004-08-05  Simon Josefsson  <jas@extundo.com>
62963
62964         * m4/strdup.m4: Always run gl_PREREQ_STRDUP, since strdup.h need it.
62965
62966 2004-08-05  Simon Josefsson  <jas@extundo.com>
62967
62968         * m4/getsubopt.m4: New file.
62969
62970 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
62971
62972         Merge from coreutils.
62973
62974         * m4/c-strtod.m4, m4/canonicalize.m4, m4/fcntl-safer.m4:
62975         * m4/getcwd-path-max.m4: New files.
62976
62977         * m4/dos.m4 (gl_AC_DOS): filesystem -> file system renaming.
62978         FILESYSTEM_PREFIX_LEN ->
62979         FILE_SYSTEM_PREFIX_LEN.
62980         FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX ->
62981         FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX.
62982         FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR ->
62983         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.
62984
62985         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't require gl_AC_DOS, the
62986         prerequisite modules now handle the DOS stuff.
62987         Don't check for unistd.h.
62988
62989 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
62990
62991         Merge from coreutils.
62992
62993         * lib/.gdb-history: Remove; this doesn't belong here.
62994
62995         * lib/c-strtod.c, lib/c-strtod.h, lib/c-strtold.c, lib/cycle-check.c:
62996         * lib/cycle-check.h, lib/dev-ino.h, lib/canonicalize.h:
62997         * lib/canonicalize.c, lib/fcntl-safer.h, lib/fcntl-safer.c:
62998         * lib/getcwd.c: New files.
62999
63000         * lib/dirname.h: Include <stdbool.h>.
63001         (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN,
63002         for consistency with POSIX terminology.  All uses changed.
63003         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros.
63004         (strip_trailing_slashes): Use bool for booleans.
63005         * lib/stripslash.c (strip_trailing_slashes): Likewise.
63006
63007         * lib/error.c: Work around bug in OpenBSD 3.4 sterror_r: it
63008         sometimes returns a positive errno value even when it succeeds.
63009         (print_errno_message) [!LIBC]: Fall back on strerror if
63010         __strerror_r fails.
63011
63012         * lib/path-concat.c (mempcpy): Don't define if a system header defines
63013         it. Don't include stdio.h, stdlib.h, unistd.h, strdup.h.
63014         (longest_relative_suffix): New function.
63015         (path_concat): Use it.  Assume first argument is not NULL.
63016         Port to DOS.  Omit redundant separators.
63017         Report an error instead of returning NULL.
63018         Use mempcpy instead of memcpy.
63019         (xpath_concat): Remove: not declared or used.
63020
63021         * lib/same.h: Include <stdbool.h>
63022         (same_name): Return bool, not int.
63023         * lib/same.c (same_name): Likewise.
63024         (errno): Don't declare; we assume C89 or better now.
63025
63026         * lib/stat-macros (S_ISCTG, S_ISOFD, S_ISOFL): New macros,
63027         if not already defined.
63028
63029         * lib/xgetcwd.c (errno): Don't declare; we assume C89 or better now.
63030         * lib/dup-safer.c (errno): Likewise.
63031
63032 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
63033
63034         Merge from coreutils.
63035         * modules/c-strtod, modules/c-strtold, modules/canonicalize:
63036         * modules/cycle-check, modules/fcntl-safer, modules/getcwd: New files.
63037         * modules/path-concat: Don't depend on strdup.
63038
63039 2004-08-03  Simon Josefsson  <jas@extundo.com>
63040
63041         * lib/strdup.h: Only use HAVE_DECL_STRDUP if defined.
63042         * lib/progname.h: Don't include stdbool.h.
63043
63044 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
63045
63046         * modules/fatal: Remove, as the "fatal" module wasn't used or working.
63047         * MODULES.html.sh (func_all_modules): Remove fatal.
63048
63049 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
63050
63051         * m4/fatal.m4: Remove, as the "fatal" module wasn't used or working.
63052
63053 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
63054
63055         * lib/fatal.c, fatal.h: Remove as the "fatal" module wasn't used or
63056         working.
63057
63058 2004-08-02  Simon Josefsson  <jas@extundo.com>
63059
63060         * lib/getsubopt.h: New file, with comments from Bruno Haible.
63061         * lib/getsubopt.c: New file, from glibc, but slightly modified based on
63062         suggestions from Paul Eggert <eggert@cs.ucla.edu>.
63063
63064 2004-08-01  Simon Josefsson  <jas@extundo.com>
63065
63066         * lib/xgetdomainname.c: Include stdlib.h, for free().
63067
63068 2004-07-19  Bruno Haible  <bruno@clisp.org>
63069
63070         * MODULES.html.sh (func_all_modules): Add dummy.
63071
63072 2004-07-16  Simon Josefsson  <jas@extundo.com>
63073
63074         * modules/dummy: New file.
63075
63076 2004-07-16  Simon Josefsson  <jas@extundo.com>
63077
63078         * lib/dummy.c: New file.
63079
63080 2004-07-16  Bruno Haible  <bruno@clisp.org>
63081
63082         * lib/backupfile.h: Add extern "C" for C++.
63083         * lib/closeout.h: Likewise.
63084         * lib/copy-file.h: Likewise.
63085         * lib/findprog.h: Likewise.
63086         * lib/full-write.h: Likewise.
63087         * lib/pathname.h: Likewise.
63088         * lib/progname.h: Likewise.
63089         * lib/stpcpy.h: Likewise.
63090         * lib/stpncpy.h: Likewise.
63091         * lib/strcase.h: Likewise.
63092         * lib/strstr.h: Likewise.
63093         * lib/xalloc.h: Likewise.
63094
63095         * lib/mbswidth.h: Add extern "C" for C++.
63096         Reported by Albert Chin-A-Young <china@thewrittenword.com>.
63097
63098 2004-07-13  Robert Millan  <robertmh@gnu.org>
63099
63100         * m4/host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g.
63101
63102 2004-07-09  Simon Josefsson  <jas@extundo.com>
63103
63104         * lib/getndelim2.c: Include stddef.h, for ptrdiff_t.  (FreeBSD 4.9
63105         failed without this.)
63106
63107 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
63108
63109         * modules/chown (Files): Add lib/fchown-stub.c, since
63110         gl_PREREQ_CHOWN invokes AC_LIBOBJ(fchown-stub).
63111
63112 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
63113
63114         * lib/fchown-stub.c: New file.
63115
63116 2004-06-24  Jim Meyering  <jim@meyering.net>
63117
63118         * lib/obstack.h (obstack_base): Cast to (void *), per documentation.
63119
63120 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
63121
63122         * modules/argz: Omit "#include".
63123
63124         * MODULES.html.sh (func_all_modules): Add calloc, to match
63125         2004-06-01 addition of calloc module.
63126
63127 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
63128
63129         * m4/argz.m4: New file, which is autoupdated from libtool.
63130
63131 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
63132
63133         * lib/argz.c, lib/argz_.h: New files, which are autoupdated from
63134         libtool.
63135
63136 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
63137
63138         * config/srclist-update: Don't insist on "USA." before the
63139         close-comment, as libtool omits the period and puts the */ on a
63140         separate line.
63141         * config/srclist.txt: Add argz.c, argz_.h, argz.m4.
63142         * config/srclistvars.sh: Add LIBTOOL (for eggert only).
63143
63144 2004-06-22  Gary V. Vaughan  <gary@gnu.org>
63145
63146         * modules/argz: New file.
63147         * MODULES.html.sh (func_all_modules): Add argz.
63148
63149 2004-06-12  Jim Meyering  <jim@meyering.net>
63150         and  Paul Eggert  <eggert@cs.ucla.edu>
63151
63152         * modules/hash (Files): Add lib/xalloc.h.
63153         * modules/pipe (Depends-on): Add wait-process.
63154         * modules/stat (Depends-on): Add xalloc.
63155         * modules/userspec (Files): Add lib/userspec.h.
63156         * modules/xstrto
63157
63158         Upgrade from gettext-0.13.
63159         * modules/gettext (Files): Add m4/intmax.m4, m4/longdouble.m4,
63160         m4/longlong.m4, m4/printf-posix.m4, m4/signed.m4, m4/size_max.m4,
63161         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4.
63162
63163 2004-06-10  Jim Meyering  <jim@meyering.net>
63164
63165         * lib/calloc.c: New file.
63166
63167 2004-06-06  Paul Eggert  <eggert@cs.ucla.edu>
63168
63169         * lib/getdate.y (yylex): Allow space between sign and number.
63170         Problem reported by Dan Jacobson.
63171
63172 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
63173
63174         Merge from coreutils CVS.
63175
63176         * m4/backupfile.m4, dirname.m4, human.m4, inttypes.m4, longlong.m4,
63177         makepath.m4, memchr.m4, memcmp.m4, mountlist.m4, path-concat.m4,
63178         putenv.m4, quotearg.m4, readutmp.m4, strtoimax.m4, strtoll.m4,
63179         strtoull.m4, strtoumax.m4, ulonglong.m4, vasnprintf.m4,
63180         xstrtol.m4: Fix copyright date and/or serial number.
63181
63182         * m4/chown.m4 (gl_PREREQ_CHOWN): Check for fcntl.h.
63183         See if we need an fchown replacement.
63184         (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro.
63185         (gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK,
63186         and use the replacement function if we detect either defect.
63187
63188         * m4/prereq.m4 (gl_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR,
63189         gl_UTIMECMP.
63190
63191 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
63192         and  Jim Meyering  <jim@meyering.net>
63193
63194         Merge from coreutils CVS.
63195
63196         * lib/stat-macros.h: New file, with contents from file-type.h
63197         and coreutils' system.h.
63198         * lib/file-type.c: Include "stat-macros.h".
63199         * lib/file-type.h (file_type): Move all macro definitions to new file,
63200         stat-macros.h.
63201
63202         * lib/chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]:
63203         Wrap old code with this conditional.
63204         [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown
63205         function that does not dereference symlinks.
63206         * lib/lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown.
63207
63208         * lib/xreadlink.c: Include xreadlink.h first, to catch .h file
63209         dependency problems.
63210         (xreadlink): Accept new arg SIZE, for efficiency.
63211         All decls and uses changed.
63212         * lib/xreadlink.h: Include <stddef.h>, for size_t.
63213
63214         * lib/.cppi-disable: Add alloca_.h, allocsa.h, exit.h, getndelim2.h,
63215         gettext.h, localcharset.h, strdup.h, strndup.h, strtoul.c, time_r.h.
63216
63217         * lib/.cvsignore: Add alloca.h, fnmatch.h, poll.h, stdbool.h,
63218         sysexits.h.
63219
63220 2004-06-01  Jim Meyering  <jim@meyering.net>
63221
63222         * m4/calloc.m4: New file.
63223
63224 2004-05-31  Paul Eggert  <eggert@cs.ucla.edu>
63225
63226         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Detect _Bool bug in HP aC++/ANSI
63227         C B3910B A.05.55 [Dec 04 2003].  Problem reported by Jim Meyering.
63228         Also, fix a typo in a diagnostic.
63229
63230 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
63231
63232         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Do not require AC_FUNC_MALLOC
63233         or AC_FUNC_REALLOC.
63234
63235 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
63236
63237         * lib/xmalloc.c (HAVE_MALLOC, HAVE_REALLOC): Do not require these
63238         macros to be defined.
63239         (xnmalloc_inline, xnrealloc_inline, xcalloc): Do not die if
63240         the allocator returns NULL because the requested size is zero.
63241
63242 2004-05-20  Paul Eggert  <eggert@cs.ucla.edu>
63243
63244         * lib/malloc/obstack.c (_obstack) [defined _LIBC]: Bring back this
63245         var.  Add comment explaining why libc still defines it.  This
63246         merges the following patch from glibc:
63247         http://sources.redhat.com/ml/libc-alpha/2004-05/msg00157.html
63248
63249 2004-05-20  Andreas Schwab  <schwab@suse.de>
63250
63251         * m4/free.m4: Replace free if it not known to work, not the other
63252         way round.
63253
63254 2004-05-19  Paul Eggert  <eggert@cs.ucla.edu>
63255
63256         * lib/obstack.c (_obstack): Remove unused variable.  It hasn't been
63257         present in glibc since revision 1.1 of this file.
63258         * lib/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast,
63259         obstack_alignment_mask, obstack_alloc, obstack_base,
63260         obstack_blank, obstack_blank_fast, obstack_chunk_size,
63261         obstack_copy, obstack_copy0, obstack_finish, obstack_grow,
63262         obstack_grow0, obstack_init, obstack_int_grow,
63263         obstack_int_grow_fast, obstack_make_room, obstack_memory_used,
63264         obstack_next_free, obstack_object_size, obstack_ptr_grow,
63265         obstack_ptr_grow_fast, obstack_room): Remove declarations of
63266         nonexistent functions.
63267
63268 2004-05-18  Karl Berry  <karl@gnu.org>
63269
63270         * config/srclist.txt: break link for vasnprintf.c.
63271
63272 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
63273
63274         Port obstack to the AS/400, where pointers are 16 bytes wide and
63275         you cannot cast an integer to a valid pointer.  This patch is
63276         currently waiting to be integrated into glibc; see
63277         <http://sources.redhat.com/ml/libc-alpha/2004-05/msg00073.html>.
63278
63279         * lib/obstack.h (__PTR_TO_INT, __INT_TO_PTR): Remove.
63280         All uses of __INT_TO_PTR (PTR_TO_INT ...) replaced by __PTR_ALIGN.
63281         (__BPTR_ALIGN, __PTR_ALIGN): New macros.
63282         (struct obstack): temp member is now a union of a pointer and
63283         an integer, instead of an integer.  All integer uses changed.
63284         This does not affect the physical layout of struct obstack,
63285         except on hosts (like the AS/400) where the size or alignment of
63286         void * is greater than that of ptrdiff_t.
63287         (obstack_finish) [! (defined __GNUC__ && defined __STDC__ &&
63288         __STDC__)]: Store temporary in pointer member of union, not
63289         integer member.
63290         * lib/obstack.c: Include <stddef.h>, for offsetof.
63291         (struct fooalign): Remove; it doesn't need a name.
63292         (union fooround): Change double to long double, and add void *.
63293         (DEFAULT_ALIGNMENT): Use offsetof to compute.
63294         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Now an enum constant,
63295         not a macro.  Hence the values are always int; so remove all
63296         casts-to-int in uses.
63297
63298 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
63299
63300         * config/srclist.txt: Break link for argp-help.c and argp-parse.c until
63301         we can get this patch merged into glibc.
63302
63303 2004-05-17  Derek R. Price  <derek@ximbiot.com>
63304             Paul Eggert  <eggert@cs.ucla.edu>
63305
63306         * m4/argp: Depend on alloca.
63307
63308 2004-05-17  Derek R. Price  <derek@ximbiot.com>
63309             Paul Eggert  <eggert@cs.ucla.edu>
63310
63311         * lib/argp-help.c, argp-parse.c: Assume <alloca.h> rather than
63312         freecoding.
63313
63314 2004-05-17  Bruno Haible  <bruno@clisp.org>
63315
63316         * lib/vasnprintf.c (VASNPRINTF): Correctly handle the case of a
63317         precision that consists of a '.' followed by an empty digit string.
63318         Patch by Tor Lillqvist <tml@iki.fi>.
63319
63320 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
63321
63322         * m4/alloca.m4 (gl_FUNC_ALLOCA): Define HAVE_ALLOCA_H always,
63323         for backward compatibility with older code.  We need our own
63324         alloca.h if _AIX is defined.  Define HAVE_ALLOCA if we discover
63325         it under some other name, and our alloca.h will define it.
63326
63327 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
63328             Derek Price  <derek@ximbiot.com>
63329
63330         * lib/alloca.c: Include <alloca.h>, to get our interface.
63331         * lib/alloca_.h: Use __alloca on AIX, so that we don't have to
63332         include <alloca.h> first.  Use C89 prototype for alloca; this
63333         requires including <stddef.h> for size_t.  Use extern "C" if C++.
63334         Use #elif for simplicity, since we can assume C89 now.
63335         Don't try to source the system alloca.h since it will not be found
63336         and to prevent recursively including its replacement.
63337         * lib/fnmatch.c: Include <alloca.h> instead of opencoding.
63338         * lib/regex.c: Likewise.
63339
63340 2004-05-16  Derek Price  <derek@ximbiot.com>
63341             Paul Eggert  <eggert@cs.ucla.edu>
63342
63343         getline cleanup.  This changes the getndelim2 API: both order of
63344         arguments, and meaning of delim2 (now uses EOF, not 0, to indicate
63345         no delimiter).
63346
63347         * lib/getline.c: Don't include stddef.h or stdio.h, since our
63348         interface does that.
63349         (getline): Always use getdelim, so that we don't have two
63350         copies of this code.
63351         * lib/getndelim2.c: Include <limits.h>, <inttypes.h>, <stdint.h>
63352         if available.
63353         (PTRDIFF_MAX, SIZE_MAX, SSIZE_MAX): Define if not defined.
63354         (GETNDELIM2_MAXIMUM): New macro.
63355         (getndelim2): Reorder arguments.  delim==EOF now means no delimiter,
63356         instead of the old practice of delim2==0.  All callers changed.
63357         Return -1 on overflow, instead of returning junk.
63358         Do not set *linesize unless allocation succeeds.
63359         * lib/getndelim2.h: Do not include stddef.h; no longer needed, now
63360         that we include sys/types.h.
63361         * lib/getnline.h: Likewise.
63362         * lib/getndelim2.h (GETNLINE_NO_LIMIT): New macro.
63363         (getndelim2): Reorder arguments.
63364         * lib/getnline.c (getnline, getndelim):
63365         Don't discard the NMAX argument.
63366         (getnline): Invoke getndelim, to avoid code duplication.
63367         * lib/getnline.h (GETNLINE_NO_LIMIT): New macro, used instead
63368         of (size_t) -1 by callers of the getnline family.
63369
63370 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
63371
63372         * m4/gettime.m4 (gl_GETTIME): Require gl_TIMESPEC.
63373         Check for gettimeofday.
63374         * m4/settime.m4 (gl_SETTIME): Require gl_TIMESPEC.
63375         Check for settimeofday, stime.
63376
63377 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
63378
63379         * lib/nanosleep.c (suspended): Change its type from int to
63380         sig_atomic_t volatile.
63381         (first_call): Make it private to rpl_nanosleep, and have it
63382         be zero initially as that's a bit faster.
63383         (my_usleep): Round up fractional times instead of truncating them,
63384         as this is the usual meaning for 'sleep'.
63385
63386         * lib/gettime.c (gettime): Fall back on `time' if `gettimeofday'
63387         doesn't work.
63388         * lib/settime.c: Include <unistd.h>, for stime (on Solaris 8, anyway).
63389         (ENOSYS): Define if not defined.
63390         (settime): Fall back on stime if it exists and settimeofday fails.
63391         But don't bother with fallbacks if a method fails with errno == EPERM.
63392
63393 2004-05-11  Jim Meyering  <jim@meyering.net>
63394
63395         Prior to this change, the save_cwd caller required read access to the
63396         current directory on most systems (ones with the fchdir function).
63397
63398         * lib/save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only
63399         fails, try write-only, and finally, resort to using xgetcwd.
63400
63401 2004-05-06  Paul Eggert  <eggert@cs.ucla.edu>
63402
63403         * lib/obstack.c, obstack.h: Import changes from libc.
63404
63405 2004-04-28  Bruno Haible  <bruno@clisp.org>
63406
63407         * lib/findprog.c (find_in_path): Treat Cygwin like Windows, since it
63408         also implicitly appends .exe to executables.
63409         * lib/localcharset.c (ISSLASH): Treat Cygwin like Windows, since it now
63410         accepts Windows pathnames.
63411         * lib/pathname.h (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
63412         Treat Cygwin like Windows, since it now accepts Windows pathnames.
63413         * lib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
63414         Treat Cygwin like Windows, since it now accepts Windows pathnames.
63415         Reported by Derek Robert Price <derek@ximbiot.com>.
63416
63417 2004-04-21  Karl Berry  <karl@gnu.org>
63418
63419         * config/srclist.txt (localcharset.c): break sync.
63420
63421 2004-04-20  Paul Eggert  <eggert@twinsun.com>
63422
63423         * m4/host-os.m4: Add a copyright notice.
63424
63425 2004-04-20  Jim Meyering  <jim@meyering.net>
63426
63427         Change UTILS_ to gl_ in AC_DEFINE'd names.
63428         Change utils_- and jm_-prefixed variables, too.
63429         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from
63430         UTILS_FUNC_MKDIR_TRAILING_SLASH.
63431         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP.
63432
63433         * m4/dirfd.m4 (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD.
63434         Don't emit trailing blanks.
63435         Also rename jm_-prefixed variables to have gl_ prefix.
63436
63437         * m4/host-os.m4 (gl_HOST_OS): Rename from UTILS_HOST_OS.
63438         Also rename jm_-prefixed variables to have gl_ prefix.
63439
63440         * m4/jm-macros.m4: Reflect the renamings.
63441         * m4/prereq.m4: Likewise.
63442
63443 2004-04-20  Jim Meyering  <jim@meyering.net>
63444
63445         * lib/getndelim2.c (getndelim2): Upon realloc failure, don't leak
63446         memory.
63447
63448 2004-04-20  Jim Meyering  <jim@meyering.net>
63449             Bruno Haible  <bruno@clisp.org>
63450
63451         * lib/localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
63452         memory when realloc fails.
63453
63454 2004-04-19  Jim Meyering  <jim@meyering.net>
63455
63456         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE,
63457         now that readutmp.c may call `free (0)'.
63458
63459 2004-04-19  Bruno Haible  <bruno@clisp.org>
63460
63461         * m4/mbrtowc.m4: Change jm_ to gl_ in cache variables as well.
63462         * m4/inttypes_h.m4: Likewise.
63463         * m4/stdint_h.m4: Likewise.
63464         * m4/intmax_t.m4: Likewise.
63465         * m4/uintmax_t.m4: Likewise.
63466
63467 2004-04-18  Jim Meyering  <jim@meyering.net>
63468
63469         * m4/prereq.m4: Don't forbid jm_ prefix.
63470
63471         * m4/afs.m4, m4/allocsa.m4, m4/assert.m4, m4/backupfile.m4:
63472         * m4/bison.m4, m4/check-decl.m4, m4/chown.m4, m4/d-ino.m4:
63473         * m4/d-type.m4, m4/dirname.m4, m4/dos.m4, m4/error.m4, m4/fpending.m4:
63474         * m4/fstypename.m4, m4/fsusage.m4, m4/ftruncate.m4, m4/getdate.m4:
63475         * m4/getgroups.m4, m4/gettext.m4, m4/glibc21.m4, m4/group-member.m4:
63476         * m4/human.m4, m4/intmax.m4, m4/intmax_t.m4, m4/inttostr.m4:
63477         * m4/inttypes.m4, m4/inttypes_h.m4, m4/jm-macros.m4, m4/jm-winsz1.m4:
63478         * m4/jm-winsz2.m4, m4/lchown.m4, m4/lib-check.m4, m4/link-follow.m4:
63479         * m4/localcharset.m4, m4/longlong.m4, m4/ls-mntd-fs.m4, m4/lstat.m4:
63480         * m4/makepath.m4, m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4:
63481         * m4/memcmp.m4, m4/mkdtemp.m4, m4/mkstemp.m4, m4/mountlist.m4:
63482         * m4/nanosleep.m4, m4/path-concat.m4, m4/perl.m4, m4/prereq.m4:
63483         * m4/putenv.m4, m4/quotearg.m4, m4/regex.m4, m4/stat.m4:
63484         * m4/stdint_h.m4, m4/strftime.m4, m4/strtoimax.m4, m4/strtoll.m4:
63485         * m4/strtoull.m4, m4/strtoumax.m4, m4/timespec.m4, m4/uintmax_t.m4:
63486         * m4/ulonglong.m4, m4/unlink-busy.m4, m4/unlocked-io.m4, m4/uptime.m4,
63487         * m4/utimbuf.m4, m4/utime.m4, m4/utimes-null.m4, m4/vasnprintf.m4:
63488         * m4/xstrtoimax.m4, m4/xstrtol.m4, m4/xstrtoumax.m4:
63489         Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.
63490
63491 2004-04-18  Jim Meyering  <jim@meyering.net>
63492
63493         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc
63494         failure, don't leak memory and do call END_UTMP_ENT.
63495
63496 2004-04-16  Jim Meyering  <jim@meyering.net>
63497
63498         * m4/prereq.m4 (jm_PREREQ_STAT): Remove macro.  It is specific to
63499         coreutils' stat program.
63500         (gl_PREREQ): Don't require jm_PREREQ_STAT.
63501
63502 2004-04-11  Paul Eggert  <eggert@twinsun.com>
63503
63504         * lib/inttostr.h: Include <limits.h> unconditionally, since we assume
63505         C89.
63506         (CHAR_BIT): Remove, since we assume C89.
63507         Include <stdint.h> if available, as per current Autoconf CVS advice.
63508
63509 2004-03-31  Jim Meyering  <jim@meyering.net>
63510
63511         * m4/prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC.
63512         Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC.
63513         * m4/xalloc.m4: Likewise.
63514
63515 2004-03-30  Paul Eggert  <eggert@twinsun.com>
63516
63517         Merge from coreutils.
63518
63519         * m4/inttostr.m4: New file.
63520         * m4/getdate.m4 (gl_GETDATE): Remove time-related stuff.
63521         Require AM_STDBOOL_H and gl_TIMESPEC instead.
63522         Require gl_CLOCK_TIME.
63523         * m4/clock_time.m4 (gl_CLOCK_TIME): Require AC_GNU_SOURCE.
63524
63525 2004-03-30  Paul Eggert  <eggert@twinsun.com>
63526
63527         * lib/cloexec.h, cloexec.c (set_cloexec_flag): Return int
63528         not bool, to be more consistent with Unix conventions.
63529         Suggested by Bruno Haible.
63530
63531         Merge from coreutils.
63532
63533         * lib/imaxtostr.c, lib/inttostr.c, lib/inttostr.h, lib/offtostr.c:
63534         * lib/umaxtostr.c: New files.
63535
63536         * lib/getdate.h: Include stdbool.h, and timespec.h instead of
63537         the usual <time.h> dance.
63538         (get_date): Change signature to support fractional time stamps.
63539         All callers changed.
63540         * lib/getdate.y: Include "getdate.h" first, as we can now
63541         assume C89 and don't need to worry about 'const'.
63542         Similarly, include "unlocked-io.h" near start, not in middle.
63543         Include <limits.h>.
63544         (textint.value): Use long int rather than int.
63545         (textint.digits): Use size_t rather than int.
63546         (BILLION, LOG10_BILLION): New constants.
63547         (parser_control): New member rel_ns.  Members day_ordinal,
63548         time_zone, month, day, hour, minutes, rel_year, rel_month,
63549         rel_day, rel_hour, rel_minutes, rel_seconds
63550         are now long int, not int.  Member seconds is now struct timespec,
63551         not int.  New member timespec_seen.  Members dates_seen, days_seen,
63552         local_zones_seen, rels_seen, times_seen, zones_seen are now size_t,
63553         not int.
63554         (%union.intval): Now long int, not int.
63555         New member timespec.
63556         (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens.
63557         (seconds, signed_seconds, unsigned_seconds): New nonterminals.
63558         (spec): Now is a timespec or an item list.
63559         (timespec, items): New nonterminals.
63560         (time, rel, relunit, number, get_date):
63561         Add support for fractional seconds.
63562         (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax.
63563         (gmtime, localtime, mktime): Remove decls; not needed with C89.
63564         (to_hour): First arg is now long int, not int.
63565         (to_year): Returns long int, not int.
63566         Don't treat year -70 like 70.
63567         (tm_diff): Returns long int, not int.
63568         (lookup_word): Use bool instead of int when appropriate.
63569         (yylex): Use size_t for count, not int.
63570         Detect overflow when parsing large integer constants.
63571         Add support for fractions.
63572         (get_date): Make pointers 'const' if possible.
63573         Use more-portable code to detect integer overflow.
63574         (main) [TEST]: Adjust to above changes.  Test for localtime failure.
63575         Don't use ctime; it's not reliable if the year has >4 digits.
63576
63577         * lib/human.c (humblock): Inspect BLOCKSIZE if BLOCK_SIZE isn't set.
63578         This is for compatibility with BSD.
63579
63580         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define.
63581         (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
63582         From coreutils' system.h.
63583
63584         * lib/userspec.c: Don't include "posixver.h".
63585         (parse_user_spec): Fall back on USER.GROUP parsing, regardless
63586         of POSIX version, as POSIX 1003.1-2001 allows that behavior as a
63587         compatible extension.  Simplify code by removing a boolean int
63588         that was always nonzero if a string was nonnull.
63589
63590 2004-03-30  Jim Meyering  <jim@meyering.net>
63591
63592         Merge from coreutils.
63593
63594         Avoid a configure-time warning about sys/ucred.h on OSF V4.0.
63595         * m4/ls-mntd-fs.m4: Test for sys/ucred.h separately, since
63596         on some systems one must include <grp.h> before it.
63597         Reported by Christian Krackowizer.
63598
63599 2004-03-30  Jim Meyering  <jim@meyering.net>
63600
63601         Merge from coreutils.
63602
63603         * lib/mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h.
63604
63605         * lib/readtokens.c (readtoken): Don't leak 64 bytes when reading
63606         an empty input stream.
63607
63608         * lib/readtokens.c: Include <stdbool.h>.
63609         (readtoken): Use `size_t' rather than int/long.
63610         All callers adjusted.
63611         Use `bool' rather than `int' where appropriate.
63612         Use memset rather than an explicit loop.
63613         Use x2nrealloc rather than xrealloc.
63614         Allow the use of `\0' as a delimiter.
63615         (readtokens): Likewise.
63616         * lib/readtokens.h (readtoken, readtokens): Update prototypes.
63617
63618 2004-03-30  Jim Meyering  <jim@meyering.net>
63619
63620         * m4/realloc.m4: Remove file, since now it does no more than
63621         AC_REQUIRE([AC_FUNC_REALLOC]), and that can be done via
63622         the `configure.ac' section of module/realloc.
63623         * m4/malloc.m4: Likewise, but for AC_FUNC_MALLOC.
63624
63625 2004-03-30  Bruno Haible  <bruno@clisp.org>
63626
63627         * lib/getloadavg.c (getloadavg): Don't assume setlocale returns
63628         nonnull.
63629
63630 2004-03-29  Paul Eggert  <eggert@twinsun.com>
63631
63632         Merge changes to getloadavg.c from coreutils and Emacs.
63633
63634         * lib/getloadavg.c [!defined HAVE_SETLOCALE] (setlocale):
63635         Define to an expression, not to the empty string.
63636         Include cloexec.h and xalloc.h.
63637         (getloadavg): Restore LC_NUMERIC locale after setting it temporarily.
63638         Use set_cloexec_flag rather than rolling our own.
63639         * lib/cloexec.c, lib/cloexec.h: New files.
63640
63641 2004-03-29  Paul Eggert  <eggert@twinsun.com>
63642
63643         * m4/cloexec.m4: New file.
63644
63645 2004-03-18  Paul Eggert  <eggert@twinsun.com>
63646
63647         * lib/getopt.h: Sync with libc CVS.
63648
63649 2004-03-18  Paul Eggert  <eggert@twinsun.com>
63650             Bruno Haible  <bruno@clisp.org>
63651
63652         * m4/mbswidth.m4 (gl_MBSWIDTH): Also test whether <wchar.h> declares
63653         mbswidth.
63654
63655 2004-03-18  Paul Eggert  <eggert@twinsun.com>
63656             Bruno Haible  <bruno@clisp.org>
63657
63658         * lib/mbswidth.h: Include <wchar.h> only if
63659         HAVE_DECL_MBSWIDTH_IN_WCHAR_H, not on all platforms that have
63660         <wchar.h>.
63661         * lib/mbswidth.c: Include <stdio.h> and <time.h> before <wchar.h>.
63662
63663 2004-03-09  Paul Eggert  <eggert@twinsun.com>
63664
63665         * lib/argp-parse.c, getopt.c, getopt.h, getopt1.c:
63666         Sync with libc CVS.
63667         * lib/getopt_int.h: New file, also synced from libc.
63668
63669 2004-03-09  Paul Eggert  <eggert@twinsun.com>
63670
63671         * config/srclistvars.sh: Add GNUWWWLICENSES for eggert.
63672         * config/srclist.txt: Sync getopt with libc.  Add getopt_int.h.
63673         Bring back getopt.c, getopt.h, getopt1.c.
63674
63675 2004-03-07  Paul Eggert  <eggert@twinsun.com>
63676
63677         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Renamed from jm_PREREQ_C_STACK.
63678         All uses changed.  Check for sa_sigaction member; this fixes
63679         a bug first reported by Jason Andrade in
63680         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
63681
63682 2004-03-07  Paul Eggert  <eggert@twinsun.com>
63683
63684         * lib/c-stack.c (SIGACTION_WORKS): New macro.  Use it instead of long
63685         '#if' expressions.  Unlike the code it replaces, it does not
63686         depend on (defined _SC_PAGESIZE).  However, it does depend on
63687         HAVE_STRUCT_SIGACTION_SA_SIGACTION; this last change fixes a bug
63688         first reported by Jason Andrade in
63689         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
63690
63691 2004-02-25  Simon Josefsson  <jas@extundo.com>
63692
63693         * m4/strdup.m4 (gl_PREREQ_STRDUP): Check whether strdup is declared.
63694
63695 2004-02-25  Simon Josefsson  <jas@extundo.com>
63696
63697         * lib/strdup.h: New file.
63698         * lib/strdup.c: Include it.
63699         * lib/path-concat.c: Include strdup.h. Drop strdup declaration.
63700         * lib/userspec.c: Include strdup.h. Drop strdup declaration.
63701
63702 2004-02-23  Karl Berry  <karl@gnu.org>
63703
63704         * doc/maintain.texi, doc/standards.texi, doc/make-stds.texi: new files
63705         (from fencepost.gnu.org:/gd/gnuorg).
63706
63707 2004-02-23  Karl Berry  <karl@gnu.org>
63708
63709         * config/srclistvars.sh (GNUORG) [karl]: redefine.
63710         * config/srclist.txt: add maintain/standards documents.
63711
63712 2004-02-18  Bruno Haible  <bruno@clisp.org>
63713
63714         * m4/xsize.m4 (gl_XSIZE): Require AC_C_INLINE.
63715         Reported by Derek Robert Price <derek@ximbiot.com>.
63716
63717 2004-02-16  Karl Berry  <karl@gnu.org>
63718
63719         * config/mkinstalldirs, install-sh: update from automake.
63720
63721 2004-02-06  Karl Berry  <karl@gnu.org>
63722
63723         * m4/po.m4: update from gettext 0.14.1.
63724
63725 2004-02-06  Karl Berry  <karl@gnu.org>
63726
63727         * lib/config.charset: update from gettext 0.14.1.
63728
63729 2004-02-05  Paul Eggert  <eggert@twinsun.com>
63730
63731         Add comments and code, prompted by suggestions from Bruno Haible
63732         for sh-quote.
63733         * lib/quotearg.h (quotearg_alloc): New decl.  Improve the comments
63734         describing the enum quoting_style values.
63735         * lib/quotearg.c (quotearg_alloc): New function.
63736         (quotearg_buffer_restyled): Treat lone { and } as special.
63737         Treat = as special.  Work around bug with older shells
63738         that "see" a '\' that is really the 2nd byte of a multibyte char.
63739         Quote empty string with shell_quoting_style.
63740
63741 2004-02-03  Bruno Haible  <bruno@clisp.org>
63742
63743         * m4/pipe.m4: New file, from GNU gettext.
63744
63745 2004-02-03  Bruno Haible  <bruno@clisp.org>
63746
63747         * lib/pipe.h: New file, from GNU gettext.
63748         * lib/pipe.c: New file, from GNU gettext.
63749
63750 2004-01-27  Bruno Haible  <bruno@clisp.org>
63751
63752         * m4/execute.m4: New file, from GNU gettext.
63753
63754 2004-01-27  Bruno Haible  <bruno@clisp.org>
63755
63756         * lib/execute.h: New file, from GNU gettext.
63757         * lib/execute.c: New file, from GNU gettext.
63758         * lib/w32spawn.h: New file, from GNU gettext.
63759
63760 2004-01-24  Paul Eggert  <eggert@twinsun.com>
63761
63762         Merge from diffutils.
63763
63764         * lib/file-type.c (file_type): Add typed memory objects.
63765         * lib/file-type.h (S_TYPEISTMO): New macro.
63766
63767         * lib/c-stack.h (c_stack_action): Remove argv argument.
63768         * lib/c-stack.c (c_stack_action): Likewise.  All uses changed.
63769         (die): Don't calculate message unless segv_action returns.
63770         (get_stack_location, min_address_from_argv, max_address_from_argv,
63771         volatile stack_base, volatile_stack_size): Remove.
63772         (segv_handler): If ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC, assume
63773         that every segmentation violation is a stack overflow.  (Ouch!)
63774         See Debian bug 136249 (still outstanding) for more info about why
63775         HAVE_XSI_STACK_OVERFLOW_HEURISTIC fails on Linux kernels.
63776
63777 2004-01-24  Paul Eggert  <eggert@twinsun.com>
63778
63779         Exit-status fix from coreutils.
63780
63781         Use exit_failure consistently in place of EXIT_FAILURE,
63782         so that program exit statuses are consistent on failure.
63783
63784         * lib/argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]:
63785         Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE.
63786         * lib/argmatch.h: Comment fix to match the above.
63787         * lib/obstack.c (obstack_exit_failure) [!defined _LIBC]:
63788         Now a macro referring to exit_failure, instead of a separate
63789         variable.  Include "exitfail.h" to get it.
63790         * lib/xstrtol.h: Include "exitfail.h".
63791         (STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2.
63792
63793         * lib/long-options.c (parse_long_options): Use prototype
63794         for usage function arg.  Pass it EXIT_SUCCESS rather than 0,
63795         for clarity.
63796
63797 2004-01-21  Jim Meyering  <jim@meyering.net>
63798
63799         * lib/mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal
63800         so as not to conflict with a different-sized __mktime_internal
63801         function in GNU libc.
63802         * lib/timegm.c (__mktime_internal) [!_LIBC]: Likewise.
63803         Problem building statically-linked `ls' reported by Michael Brunnbauer.
63804
63805 2004-01-20  Karl Berry  <karl@gnu.org>
63806
63807         * config/config.guess: update from config.
63808
63809         * config/srclistvars.sh: GNUWWWLICENSES for karl.
63810
63811 2004-01-20  Bruno Haible  <bruno@clisp.org>
63812
63813         Safer stack allocation.
63814         * lib/setenv.c: Include allocsa.h.
63815         (alloca): Remove fallback definition.
63816         (freea): Remove macro.
63817         (__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa
63818         instead of freea.
63819
63820 2004-01-20  Bruno Haible  <bruno@clisp.org>
63821
63822         * m4/eealloc.m4: New file, from GNU gettext.
63823
63824 2004-01-20  Bruno Haible  <bruno@clisp.org>
63825
63826         * m4/allocsa.m4: New file, from GNU gettext.
63827
63828 2004-01-20  Bruno Haible  <bruno@clisp.org>
63829
63830         * lib/xallocsa.h: New file, from GNU gettext.
63831         * lib/xallocsa.c: New file, from GNU gettext.
63832
63833 2004-01-20  Bruno Haible  <bruno@clisp.org>
63834
63835         * lib/wait-process.c: On Windows, include windows.h. Needed on mingw.
63836
63837 2004-01-20  Bruno Haible  <bruno@clisp.org>
63838
63839         * lib/wait-process.c (wait_subprocess): Add ignore_sigpipe argument.
63840         * lib/wait-process.c (wait_subprocess): Likewise. Handle SIGPIPE
63841         specially.
63842
63843 2004-01-20  Bruno Haible  <bruno@clisp.org>
63844
63845         * lib/wait-process.c (wait_process): Disable the 2003-10-31 waitid()
63846         patch.
63847
63848 2004-01-20  Bruno Haible  <bruno@clisp.org>
63849
63850         * lib/wait-process.c (cleanup_slaves): Use ANSI C declaration.
63851
63852 2004-01-20  Bruno Haible  <bruno@clisp.org>
63853
63854         * lib/eealloc.h: New file.
63855
63856 2004-01-20  Bruno Haible  <bruno@clisp.org>
63857
63858         * lib/binary-io.h: Avoid warnings on Cygwin.
63859
63860 2004-01-20  Bruno Haible  <bruno@clisp.org>
63861
63862         * lib/allocsa.h: New file, from GNU gettext.
63863         * lib/allocsa.c: New file, from GNU gettext.
63864
63865 2004-01-18  Karl Berry  <karl@gnu.org>
63866
63867         * doc/gpl.texi, doc/lgpl.texi: new files.
63868
63869 2004-01-18  Karl Berry  <karl@gnu.org>
63870
63871         * config/srclistvars.sh (GNUWWWLICENSES): new variable.
63872         * config/srclist.txt ({fdl,gpl,lgpl}.text): get from there.
63873
63874 2004-01-15  Paul Eggert  <eggert@twinsun.com>
63875
63876         Merge from coreutils.
63877
63878         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t.
63879         * m4/posixver.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION.
63880         (gl_DEFAULT_POSIX2_VERSION): Move
63881         the documentation from 'configure' into 'config.hin',
63882         so that 'configure --help' isn't burdened by it and
63883         we don't have to worry about its formatting there.
63884         Reword the documentation so that it's more succinct
63885         and can be run together into a single paragraph.
63886         * m4/same.m4 (gl_SAME): Check for pathconf.
63887
63888 2004-01-15  Paul Eggert  <eggert@twinsun.com>
63889
63890         Merge from coreutils.
63891
63892         * lib/posixver.c: Include posixver.h.
63893
63894         * lib/same.c: Include <stdbool.h>, <limits.h>.
63895         (_POSIX_NAME_MAX): Define if not defined.
63896         (MIN): New macro.
63897         (same_name): If file names are silently truncated, report
63898         that the file names are the same if they are the same after
63899         the silent truncation.
63900
63901         * lib/xstrtod.h (xstrtod): Accept an extra arg, specifying the
63902         conversion function.
63903         * lib/xstrtod.c (xstrtod): Likewise.  All callers changed to
63904         include c-strtod.h and use c_strtod.  Don't include stdlib.h; no
63905         longer needed.
63906
63907 2004-01-15  Jim Meyering  <jim@meyering.net>
63908
63909         Merge from coreutils.
63910
63911         * m4/clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME
63912         if no library is required.
63913         * m4/jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX.
63914         * m4/jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE.
63915         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.58.
63916         (AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58.
63917         * m4/jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW.
63918         * m4/lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the
63919         value, $ac_cv_search_crypt, if it's "none required".
63920         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro.
63921         * m4/prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG,
63922         not gl_FUNC_GETLOADAVG.
63923         * m4/prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH,
63924         gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS.
63925
63926 2004-01-15  Jim Meyering  <jim@meyering.net>
63927
63928         Merge from coreutils.
63929
63930         * lib/md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code.  These
63931         days, gcc-3.x does better all by itself.  Patch from Dean Gaudet:
63932         http://mail.gnu.org/archive/html/bug-coreutils/2003-11/msg00144.html
63933
63934         * lib/posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new,
63935         optional configure-time default.
63936
63937         * lib/version-etc.c (version_etc_copyright): Update copyright date.
63938
63939         * lib/xreadlink.c (xreadlink): Correct outdated comment.
63940
63941 2004-01-15  Alexandre Duret-Lutz  <adl@gnu.org>
63942
63943         Merge from coreutils.
63944
63945         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the
63946         value, $ac_cv_search_nanosleep, if it's "none required".
63947
63948 2004-01-14  Paul Eggert  <eggert@twinsun.com>
63949
63950         * lib/fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided
63951         with like-named macro in fnmatch.c.
63952         (EXT): Use an internal constant instead.
63953
63954         Merge fnmatch patches from glibc.
63955         * lib/fnmatch.c (mbsinit): Remove define.
63956         Add libc_hidden_ver (__fnmatch, fnmatch).
63957         * lib/fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate.
63958         Adjust to renaming of collseq_table_lookup to __collseq_table_lookup.
63959
63960 2004-01-14  Karl Berry  <karl@gnu.org>
63961
63962         * config/install-sh: update from automake.
63963
63964 2004-01-13  Karl Berry  <karl@gnu.org>
63965
63966         * config/install-sh: update from automake.
63967
63968 2004-01-09  Karl Berry  <karl@gnu.org>
63969
63970         * config/install-sh: update from automake.
63971
63972 2004-01-05  Karl Berry  <karl@gnu.org>
63973
63974         * config/config.{sub,guess}: update from config.
63975
63976 2003-12-31  Karl Berry  <karl@gnu.org>
63977
63978         * config/depcomp: update from automake.
63979
63980 2003-12-14  Karl Berry  <karl@gnu.org>
63981
63982         * lib/config.charset: update from gettext-runtime.
63983
63984 2003-12-03  Paul Eggert  <eggert@twinsun.com>
63985
63986         * lib/getgroups.c (getgroups): xmalloc takes one argument, not two.
63987         Bug reported by Alfred M. Szmidt.
63988
63989 2003-12-03  Bruno Haible  <bruno@clisp.org>
63990
63991         * m4/gettext.m4: Upgrade from gettext-0.13.
63992         * m4/po.m4: Upgrade from gettext-0.13.
63993         * m4/size_max.m4 (gl_SIZE_MAX): Don't use the _ONCE macros here.
63994         * m4/intmax.m4: New file, from gettext-0.13.
63995         * m4/printf-posix.m4: New file, from gettext-0.13.
63996
63997 2003-11-29  Karl Berry  <karl@gnu.org>
63998
63999         * lib/argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc.
64000
64001 2003-11-25  Paul Eggert  <eggert@twinsun.com>
64002             Bruno Haible  <bruno@clisp.org>
64003
64004         * lib/printf-parse.h: Don't include sys/types.h.
64005         (ARG_NONE): New macro.
64006         (char_directive): Change type of *arg_index fields to size_t.
64007         * lib/printf-parse.c: Don't include sys/types.h.
64008         (SSIZE_MAX): Remove macro.
64009         (PRINTF_PARSE): Change the type of the arg_index variables to size_t.
64010         Remove unnecessary overflow check.
64011         * lib/vasnprintf.c (VASNPRINTF): Update for type change of *arg_index
64012         fields.
64013
64014 2003-11-25  Bruno Haible  <bruno@clisp.org>
64015
64016         * modules/vasnprintf (Files): Remove m4/ssize_t.m4.
64017
64018 2003-11-25  Bruno Haible  <bruno@clisp.org>
64019
64020         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Don't require
64021         gt_TYPE_SSIZE_T.
64022
64023 2003-11-24  Paul Eggert  <eggert@twinsun.com>
64024
64025         * modules/alloca: Remove dependency on xalloc.
64026
64027 2003-11-24  Paul Eggert  <eggert@twinsun.com>
64028
64029         * lib/alloca.c: Remove dependency on xalloc module.
64030         (xalloc_die): Remove.
64031         (memory_full) [!defined emacs]: New macro.
64032         [!defined emacs]: Don't include xalloc.h.
64033         (alloca): Invoke memory_full, not xalloc_die, if malloc fails or
64034         address arithmetic overflows.  Change datatypes a bit to avoid
64035         unnecessary casts.
64036
64037 2003-11-22  Jim Meyering  <jim@meyering.net>
64038
64039         * lib/xmalloc.c (x2nrealloc_inline): Fix typos in comments:
64040         s/size/size_t/.
64041
64042 2003-11-21  Karl Berry  <karl@gnu.org>
64043
64044         * config/config.{sub,guess}: update from config.
64045
64046 2003-11-18  Karl Berry  <karl@gnu.org>
64047
64048         * config/config.{sub,guess}: update from config.
64049
64050         * config/(printf-{parse,args}.[ch]): sync broken, sigh.
64051
64052 2003-11-17  Paul Eggert  <eggert@twinsun.com>
64053
64054         * README: Mention that S+T cannot overflow if S is the size of
64055         an existing object and T is sufficiently small.
64056
64057 2003-11-17  Jim Meyering  <jim@meyering.net>
64058
64059         On systems without utime and without a utimes function capable of
64060         dealing with a NULL struct utimbuf* argument, this utime replacement
64061         could -- in unusual circumstances -- leak a file descriptor.
64062         * lib/utime.c: Include <unistd.h> and <errno.h>.
64063         (utime_null): Be sure to close `fd' and to preserve errno.
64064         Reported by Geoff Collyer via Arnold Robbins.
64065
64066 2003-11-17  Bruno Haible  <bruno@clisp.org>
64067
64068         * modules/vasnprintf (Files): Add m4/ssize_t.m4.
64069         (Depends-on): Add xsize.
64070
64071 2003-11-17  Bruno Haible  <bruno@clisp.org>
64072
64073         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gt_TYPE_SSIZE_T.
64074
64075 2003-11-17  Bruno Haible  <bruno@clisp.org>
64076
64077         * lib/vasnprintf.c (alloca): Remove fallback definition.
64078         (freea): Remove definition.
64079         (VASNPRINTF): Use alloca only for small sizes, say <= 4000 bytes.
64080         Reported by Paul Eggert.
64081
64082 2003-11-16  Paul Eggert  <eggert@twinsun.com>
64083             Bruno Haible  <bruno@clisp.org>
64084
64085         Protect against address arithmetic overflow.
64086         * lib/printf-args.h: Include stddef.h.
64087         (arguments): Change type of field 'count' to size_t.
64088         * lib/printf-args.c (printf_fetchargs): Use size_t instead of
64089         'unsigned int' where appropriate.
64090         * lib/printf-parse.h: Include sys/types.h.
64091         (char_directive): Change type of *arg_index fields to ssize_t.
64092         (char_directives): Change type of fields 'count', max_*_length to
64093         size_t.
64094         * lib/printf-parse.c: Include sys/types.h and xsize.h.
64095         (SSIZE_MAX): Define fallback value.
64096         (PRINTF_PARSE): Use size_t instead of 'unsigned int' and ssize_t
64097         instead of 'int' where appropriate. Check a_allocated, d_allocated
64098         against overflow. Reject %m$ argument numbers > SSIZE_MAX + 1.
64099         * lib/vasnprintf.c: Include xsize.h.
64100         (VASNPRINTF): Use size_t instead of 'unsigned int' where appropriate.
64101         Check alloca, malloc, realloc, ENSURE_ALLOCATION arguments against
64102         overflow. Avoid wraparound when converting a width or precision from
64103         decimal to binary.
64104
64105 2003-11-16  Bruno Haible  <bruno@clisp.org>
64106
64107         Update from GNU gettext.
64108         * lib/printf-parse.c: Generalize to it can be compiled for wide
64109         strings.
64110         (PRINTF_PARSE, CHAR_T, DIRECTIVE, DIRECTIVES): New macros.
64111         * lib/vasnprintf.c: Generalize to it can be compiled for wide strings.
64112         (VASNPRINTF, CHAR_T, DIRECTIVE, DIRECTIVES, PRINTF_PARSE, USE_SNPRINTF,
64113         SNPRINTF): New macros.
64114         Don't include <alloca.h> if the file is used inside libintl.
64115         (local_wcslen): New function, for Solaris 2.5.1.
64116         (VASNPRINTF): Use it instead of wcslen.
64117
64118 2003-11-16  Bruno Haible  <bruno@clisp.org>
64119
64120         * lib/xsize.h (xmax): New function.
64121         (xsum, xsum3, xsum4): Declare as "pure" functions.
64122
64123 2003-11-12  Paul Eggert  <eggert@twinsun.com>
64124
64125         * modules/xalloc (Files): Undo latest change, since xalloc.h
64126         no longer needs SIZE_MAX or PTRDIFF_MAX.
64127
64128 2003-11-12  Paul Eggert  <eggert@twinsun.com>
64129
64130         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Do not require gl_SIZE_MAX or
64131         gl_PTRDIFF_MAX.
64132
64133 2003-11-12  Paul Eggert  <eggert@twinsun.com>
64134
64135         * lib/xstrtol.c (__xstrtol): Remove "break" immediately after
64136         "return", to pacify some unknown compiler.  Problem reported
64137         by Joerg Schilling.
64138
64139 2003-11-12  Paul Eggert  <eggert@twinsun.com>
64140
64141         * lib/xalloc.h: Do not include <limits.h> or <stdint.h>.
64142         (xalloc_oversized): Use sizeof (ptrdiff_t) and sizeof (size_t) for
64143         the heuristic, rather than PTRDIFF_MAX and SIZE_MAX.  This
64144         heuristic is just as accurate as far as we know, and it removes a
64145         dependency on size_max.m4 and ptrdiff_max.m4.
64146
64147 2003-11-11  Bruno Haible  <bruno@clisp.org>
64148
64149         * modules/xsize (Files): Add m4/size_max.m4.
64150         * modules/xalloc (Files): Add m4/size_max.m4, m4/ptrdiff_max.m4.
64151
64152 2003-11-11  Bruno Haible  <bruno@clisp.org>
64153
64154         * m4/size_max.m4: New file.
64155         * m4/ptrdiff_max.m4: New file.
64156         * m4/xsize,m4 (gl_XSIZE): Require gl_SIZE_MAX.
64157         * m4/xalloc.m4 (gl_PREREQ_XALLOC): New macro.
64158         (gl_XALLOC): Invoke it.
64159
64160 2003-11-11  Bruno Haible  <bruno@clisp.org>
64161
64162         * lib/xsize.h (SIZE_MAX): Remove fallback definition.
64163         * lib/xalloc.h: Include limits.h. Assume SIZE_MAX and PTRDIFF_MAX are
64164         defined.
64165
64166 2003-11-10  Paul Eggert  <eggert@twinsun.com>
64167
64168         * lib/xalloc.h (xalloc_oversized): [! (defined PTRDIFF_MAX &&
64169         PTRDIFF_MAX < SIZE_MAX)]: Fix off-by-one error that would have
64170         rejected some allocations of exactly SIZE_MAX - 2 bytes.
64171         From Bruno Haible.
64172         [defined PTRDIFF_MAX && PTRDIFF_MAX < SIZE_MAX]: Use SIZE_MAX,
64173         not (size_t) -1, since it's defined here.
64174
64175 2003-11-09  Karl Berry  <karl@gnu.org>
64176
64177         * config/mkinstalldirs, depcomp, mdate-sh: update from automake.
64178
64179 2003-11-06  Paul Eggert  <eggert@twinsun.com>
64180
64181         * lib/xalloc.h [HAVE_STDINT_H]: Include <stdint.h>.
64182         (xalloc_oversized) [! (PTRDIFF_MAX < SIZE_MAX)]:
64183         Reject sizes of exactly SIZE_MAX bytes.
64184         * lib/xreadlink.c: Include "xalloc.h" before checking whether SIZE_MAX
64185         is defined, since "xalloc.h" now defines SIZE_MAX on modern hosts.
64186
64187 2003-11-05  Bruno Haible  <bruno@clisp.org>
64188
64189         * lib/xsize.h: Include limits.h, to avoid a possible collision with
64190         SIZE_MAX defined in <limits.h> on Solaris.
64191
64192 2003-11-04  Jim Meyering  <jim@meyering.net>
64193
64194         * modules/sysexits: Use the `$(VAR)' notation for AC_SUBST'd
64195         variable names, rather than @VAR@.
64196         * modules/poll: Likewise.
64197
64198 2003-11-04  Bruno Haible  <bruno@clisp.org>
64199
64200         * modules/xsize: New file.
64201         * modules/linebreak: Depend on xsize.
64202         * MODULES.html.sh (func_all_modules): Add xsize.
64203
64204 2003-11-04  Bruno Haible  <bruno@clisp.org>
64205
64206         * m4/xsize.m4: New file.
64207
64208 2003-11-04  Bruno Haible  <bruno@clisp.org>
64209
64210         * lib/xsize.h: New file.
64211         * lib/linebreak.c: Include xsize.h.
64212         (mbs_possible_linebreaks, mbs_width_linebreaks): Check malloc()
64213         argument for overflow.
64214         Suggested by Paul Eggert.
64215
64216 2003-11-03  Karl Berry  <karl@gnu.org>
64217
64218         * config/config.{guess,sub}: update from config.
64219
64220 2003-11-03  Jim Meyering  <jim@meyering.net>
64221
64222         * modules/userspec (lib_SOURCES): Add userspec.h.
64223         (Include): Add "userspec.h".
64224         Improve description.
64225
64226 2003-11-03  Jim Meyering  <jim@meyering.net>
64227
64228         * lib/userspec.c: Include "userspec.h".
64229         * lib/userspec.h: New file.
64230
64231 2003-11-03  Bruno Haible  <bruno@clisp.org>
64232
64233         * m4/wait-process.m4 (gl_WAIT_PROCESS): Also check for waitid.
64234
64235 2003-11-03  Bruno Haible  <bruno@clisp.org>
64236
64237         * lib/wait-process.c (wait_process): Use waitid with WNOWAIT if
64238         available, to avoid (extremely rare) race condition.
64239         Suggested by Paul Eggert.
64240
64241 2003-11-02  Karl Berry  <karl@gnu.org>
64242
64243         * config/srclist.txt (vasprintf.c): sync broken, sigh.
64244
64245 2003-10-31  Paul Eggert  <eggert@twinsun.com>
64246
64247         * lib/mountlist.h (struct mount_entry.me_type_malloced): New member.
64248         * lib/mountlist.c (SIZE_MAX): Define if not defined already.
64249         (read_filesystem_list): Set and use me_type_malloced.
64250         Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or
64251         whatever the type happens to be), for brevity and consistency.
64252         Check for size calculation overflow on Alphas running OSF/1.
64253
64254 2003-10-31  Jim Meyering  <jim@meyering.net>
64255
64256         * lib/hash.c: Include "xalloc.h" for use of xalloc_oversized.
64257
64258         * lib/linebuffer.c: Include <string.h> for declaration of memset.
64259
64260 2003-10-30  Paul Eggert  <eggert@twinsun.com>
64261             Bruno Haible  <bruno@clisp.org>
64262
64263         * lib/vasprintf.c: Include <limits.h>, <stdlib.h>.
64264         (vasprintf): Fail if the resulting length doesn't fit in an 'int'.
64265
64266 2003-10-30  Paul Eggert  <eggert@cs.ucla.edu>
64267
64268         * m4/host-os.m4 (UTILS_HOST_OS): Change netbsd*-gnu pattern back to
64269         netbsd*-gnu*.  Suggested by Robert Millan.
64270
64271 2003-10-29  Paul Eggert  <eggert@twinsun.com>
64272
64273         * modules/group-member: Depend on stdbool.
64274
64275 2003-10-29  Paul Eggert  <eggert@twinsun.com>
64276
64277         * m4/xalloc.m4 (gl_XALLOC): Undo previous change.
64278
64279 2003-10-29  Paul Eggert  <eggert@twinsun.com>
64280
64281         * m4/host-os.m4 (UTILS_HOST_OS): Resurrect netbsd*-gnu.  Add comments
64282         to it, and to knetbsd*-gnu and kfreebsd*-gnu.  Remove the '*' from
64283         after the 'gnu' in these cases.  This fixes some bugs in the
64284         previous change, and is based on suggestions by Robert Millan.
64285
64286 2003-10-29  Paul Eggert  <eggert@twinsun.com>
64287
64288         * lib/xalloc.h (xalloc_oversized): Now a macro, not a function,
64289         so that it works even if SIZE_MAX < N.  Do not include <stdbool.h>;
64290         no longer needed.
64291         * lib/quotearg.c (quotearg_n_options): Use it.
64292         * lib/group-member.c: Include <stdbool.h>.
64293         (free_group_info): Arg is now const *; don't free arg.
64294         (get_group_info): Now returns bool and accepts struct group_info *,
64295         rather than returning a malloc'ed struct group_info *.
64296         All uses changed.  Check for overflow in internal size calculation.
64297
64298         * lib/getusershell.c (readname): Simplify the code by using x2nrealloc
64299         rather than xmalloc/xrealloc.
64300         * lib/linebuffer.c (initbuffer, readlinebuffer): Simplify the code by
64301         using x2realloc rather than xmalloc/xrealloc.  Also, fix a C
64302         conformance bug: the old code used a pointer after freeing the
64303         storage that it addressed.
64304         * lib/hash.c (hash_initialize): Simplify the code by using
64305         xalloc_oversized rather than doing it by hand.
64306         * lib/getgroups.c (getgroups): Don't use xrealloc, since we don't need
64307         the buffer preserved.  Use free and xmalloc instead.
64308         * lib/quotearg.c (quotearg_n_options): Likewise.
64309         Use a simpler test for size overflow.  Don't use xalloc_oversized
64310         because unsigned int might be wider than size_t (!); this suggests
64311         that we should switch from unsigned int to size_t for slot numbers.
64312
64313 2003-10-28  Paul Eggert  <eggert@twinsun.com>
64314
64315         * m4/host-os.m4 (UTILS_HOST_OS): Identify GNU/KFreeBSD and
64316         GNU/KNetBSD.  These implementations use glibc atop the FreeBSD and
64317         NetBSD kernels.  Requested by Richard Stallman.
64318
64319 2003-10-27  Paul Eggert  <eggert@twinsun.com>
64320
64321         * lib/exclude.c (new_exclude): Use xzalloc rather than xmalloc
64322         to allocate the returned structure.  Do not allocate a subarray,
64323         as x2nrealloc will do that.
64324         (add_exclude): Use x2nrealloc to reallocate ex->exclude,
64325         instead of xnrealloc.
64326         (add_exclude_file): Use x2realloc instead of malloc + xnrealloc.
64327
64328 2003-10-27  Bruno Haible  <bruno@clisp.org>
64329
64330         * lib/stdbool_.h: Better support for BeOS.
64331
64332 2003-10-26  Paul Eggert  <eggert@twinsun.com>
64333
64334         * m4/xalloc.m4 (gl_XALLOC): Requore AC_C_INLINE, since xalloc.h
64335         now uses inline.
64336
64337 2003-10-26  Paul Eggert  <eggert@twinsun.com>
64338
64339         * lib/xalloc.h (xalloc_oversized): New static inline function, for
64340         callers that want to do their own size-overflow checking.  Include
64341         <stdbool.h>, since xalloc_oversized returns bool.
64342         * lib/xalloc.c (array_size_overflow): Remove.  All callers changed
64343         to use xalloc_oversized.
64344
64345         Add two functions x2realloc, x2nrealloc, for programs that grow
64346         arrays dynamically by doubling their sizes.
64347         * lib/xalloc.h (x2realloc, x2nrealloc): New decls.
64348         * lib/xmalloc.c (x2nrealloc_inline, x2nrealloc, x2realloc):
64349         New functions.
64350
64351         Port to C99 semantics for 'inline' of external functions.
64352         Bug reported by Bruno Haible.
64353         * lib/xmalloc.c (xnmalloc_inline): New static inline function,
64354         with the old contents of xnmalloc.
64355         (xnmalloc, xmalloc): Use it.
64356         (xnrealloc_inline): New static inline function,
64357         with the old contents of xnrealloc.
64358         (xnrealloc, xrealloc): Use it.
64359
64360         * lib/alloc.c (alloca): xmalloc cannot return NULL, so don't test for
64361         that.
64362
64363 2003-10-26  Karl Berry  <karl@gnu.org>
64364
64365         * config/srclist.txt (COPYING.DOC): no longer available from
64366         /gd/gnuorg; don't know where the ultimate source is.
64367
64368 2003-10-25  Paul Eggert  <eggert@twinsun.com>
64369
64370         Fix several address-calculation bugs in the hash modules,
64371         plus some minor code cleanup.
64372
64373         * lib/hash.h: Include <stdbool.h>, for bool.
64374         * lib/hash.c: Don't include <stdbool.h>, since hash.h does it now.
64375         * lib/hash.h (Hash_hasher, hash_get_n_buckets, hash_get_n_buckets_used,
64376         hash_get_n_entries, hash_get_max_bucket_length,
64377         hash_get_entries, hash_do_for_each, hash_string, hash_initialize,
64378         hash_rehash): Use size_t rather than unsigned.
64379         * lib/hash.c (struct hash_table, hash_get_n_buckets,
64380         hash_get_n_buckets_used, hash_get_n_entries,
64381         hash_get_max_bucket_length, hash_table_ok, hash_print_statistics,
64382         hash_get_entries, hash_do_for_each, hash_string, is_prime,
64383         next_prime, hash_initialize, hash_rehash, hash_delete, hash_print):
64384         Likewise.
64385         (SIZE_MAX): Define if not defined.
64386         (hash_get_max_bucket_length, hash_table_ok, hash_lookup,
64387         hash_get_first, hash_get_next, hash_get_entries, hash_do_for_each,
64388         hash_print):
64389         Use const * when possible.
64390         (hash_string): Use (unsigned char) *P rather than *(unsigned char *) P.
64391         (check_tuning): Fix bug: if tuning parameters were very close to
64392         0 or 1, rounding errors could have caused subscript violations.
64393         (hash_initialize, allocate_entry, hash_print): Remove unnecessary cast.
64394         (hash_initialize): Add 'fail:' label
64395         to free table and return NULL, and use it to simplify code.
64396         Use calloc rather than clearing the storage ourself.
64397         (hash_initialize, hash_rehash): Check for arithmetic overflow in
64398         buffer size calculations.
64399         * lib/hash-pjw.h (hash_pjw): Use size_t, not unsigned.
64400         Include <stddef.h>, for size_t.
64401         * lib/hash-pjw.c (hash_pjw): Likewise.
64402         Switch to method described by Bruno Haible.
64403         Include <limits.h>, for CHAR_BIT.
64404         (SIZE_BITS): New macro.
64405
64406 2003-10-23  Paul Eggert  <eggert@twinsun.com>
64407
64408         * m4/getline.m4 (AM_FUNC_GETLINE):
64409         Don't include getndelim2.o twice into LIBOBJS; this breaks on some
64410         hosts.  Problem reported by Derek Robert Price in
64411         <http://mail.gnu.org/archive/html/bug-gnulib/2003-10/msg00092.html>.
64412         This patch can be withdrawn after Autoconf 2.58 is required for gnulib.
64413         * m4/getndelim2.m4 (gl_GETNDELIM2): Likewise.
64414
64415 2003-10-21  Paul Eggert  <eggert@twinsun.com>
64416
64417         * lib/getndelim2.c (getndelim2): When size calculation overflows,
64418         ceiling the allocation at NMAX bytes rather than silently
64419         discarding input bytes before NMAX is reached.  This makes
64420         a difference only if NMAX exceeds SIZE_MAX / 2.
64421
64422         * lib/obstack.c: Merge from glibc.
64423         [defined _LIBC]: Include <obstack.h>, not "obstack.h".
64424         Add libc_hidden_def (_obstack_newchunk).
64425         (_obstack_free) [! defined _LIBC]: Remove.
64426         [defined _LIBC]: Make a strong alias from obstack_free, rather than
64427         a clone of the function body.
64428         (fputs) [defined _LIBC && defined USE_IN_LIBIO]: Remove.
64429         [defined _LIBC && !defined USE_IN_LIBIO]: Include <libio/iolibio.h>.
64430
64431         * lib/obstack.h: Indenting cleanup, to make it easier to merge with
64432         glibc.
64433         (obstack_grow, obstack_grow0): Remove unnecessary parentheses around
64434         arg to memcpy.
64435
64436         * lib/obstack.h (obstack_1grow_fast): Properly parenthesize arg.
64437         (obstack_ptr_grow_fast, obstack_int_grow_fast):
64438         Don't use lvalue casts, as GCC plans to remove support for them
64439         in GCC 3.5.  Reported by Joseph S. Myers.  This bug
64440         was also present in the non-GCC version, indicating that this
64441         code had always been buggy and had never been widely used.
64442         (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank):
64443         Use the fast variant of each macro, rather than copying the
64444         definiens of the fast variant; that way, we'll be more likely to
64445         catch future bugs in the fast variants.
64446
64447 2003-10-20  Bruno Haible  <bruno@clisp.org>
64448
64449         * modules/wait-process: New file.
64450         * MODULES.html.sh (func_all_modules): Add wait-process.
64451
64452 2003-10-20  Bruno Haible  <bruno@clisp.org>
64453
64454         * m4/wait-process.m4: New file.
64455
64456 2003-10-20  Bruno Haible  <bruno@clisp.org>
64457
64458         * lib/wait-process.h: New file, from GNU gettext.
64459         * lib/wait-process.c: New file, from GNU gettext.
64460
64461 2003-10-19  Jim Meyering  <jim@meyering.net>
64462
64463         * lib/vasnprintf.c (vasnprintf): Work around losing snprintf on
64464         HPUX 10.20.
64465
64466 2003-10-18  Karl Berry  <karl@gnu.org>
64467
64468         * config/config.guess: update from config.
64469
64470 2003-10-16  Paul Eggert  <eggert@twinsun.com>
64471
64472         * lib/getgroups.c: Include <errno.h>, <stdlib.h>.
64473         (getgroups): First arg is int, not size_t.
64474         Don't let 'free' mangle errno.
64475
64476 2003-10-16  Paul Eggert  <eggert@twinsun.com>
64477
64478         * README: Mention that gnulib assumes that (foo *) NULL + 0 == NULL.
64479
64480 2003-10-16  Karl Berry  <karl@gnu.org>
64481
64482         * config/config.{guess,sub}: update from config.
64483
64484 2003-10-16  Jim Meyering  <jim@meyering.net>
64485
64486         * lib/xmalloc.c: Include <string.h>, for declarations of memset and
64487         memcpy.
64488
64489 2003-10-15  Paul Eggert  <eggert@twinsun.com>
64490
64491         * lib/exclude.c: Do not include <inttypes.h> or <stdint.h>.
64492         (SIZE_MAX): Remove.
64493         (new_exclude, add_exclude_file): Initial size no longer needs to
64494         be a power of 2.
64495         (add_exclude, add_exclude_file): Use xnrealloc instead of rolling
64496         our own address arithmetic overflow checking.
64497
64498         * lib/fnmatch.c (SIZE_MAX): Define if standard headers don't.
64499         (fnmatch): Do not alloca more than 2000 wide characters;
64500         instead, use malloc for large buffers.
64501         Check for address arithmetic overflow, and return -1
64502         with errno set to ENOMEM in that case.
64503         * lib/fnmatch_loop.c (ALLOCA_LIMIT): New macro.
64504         (NEW_PATTERN): Do not alloca more than 8000 bytes;
64505         instead, return -1.  Check for address arithmetic overflow.
64506
64507 2003-10-14  Paul Eggert  <eggert@twinsun.com>
64508
64509         Handle invalid suffixes and overflow independently, so that
64510         callers can treat them independently as needed.  Fix some bugs in
64511         suffix handling, e.g., "100k@" was not diagnosed as an invalid
64512         suffix for a human-readable blocksize.  The major caller-visible
64513         change is the addition of a new
64514         LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW enum value, indicating
64515         that both overflow and suffix chars were found.
64516
64517         * lib/human.c (humblock): Don't check separately for invalid suffix
64518         char; that is xstrtoumax's job (now that its bug is fixed).
64519         * lib/xstrtoimax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [defined
64520         INTMAX_MAX]: New macros.
64521         * lib/xstrtol.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM, TYPE_MINIMUM,
64522         TYPE_MAXIMUM): New macros.
64523         (bkm_scale, bkm_scale_by_power): Return strtol_error, not int.
64524         (bkm_scale, bkm_scale_by_power, __xstrtol): Return maximal values
64525         if overflow occurs, as it's what __strtol does and it's more useful
64526         in practice.
64527         (__xstrtol): If __strtol reports some error other than ERANGE,
64528         reflect it to the caller as LONGINT_INVALID.  If it reports
64529         ERANGE, continue the rest of parsing, and report LONGINT_OVERFLOW
64530         | LONGINT_INVALID_SUFFIX_CHAR if both errors occur.
64531         * lib/xstrtol.h (LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW): New enum
64532         value.
64533         (_STRTOL_ERROR): Handle it.  Abort when given unknown error codes.
64534         * lib/xstrtoul.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM): New macros.
64535         * lib/xstrtoumax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM)
64536         [defined UINTMAX_MAX]: New macros.
64537
64538 2003-10-14  Bruno Haible  <bruno@clisp.org>
64539
64540         * modules/fatal-signal: Add m4/sig_atomic_t.m4 to file list.
64541
64542 2003-10-14  Bruno Haible  <bruno@clisp.org>
64543
64544         * m4/sig_atomic_t: New file, from GNU gettext.
64545         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Require gt_TYPE_SIG_ATOMIC_T.
64546
64547 2003-10-14  Bruno Haible  <bruno@clisp.org>
64548
64549         * lib/fatal-signal.h: Improved comments. Suggested by Paul Eggert.
64550         * lib/fatal-signal.c: Use sig_atomic_t. Suggested by Paul Eggert.
64551         Also use volatile where needed.
64552
64553 2003-10-12  Paul Eggert  <eggert@twinsun.com>
64554
64555         * modules/xalloc: Do not depend on 'exit'.  Depend on 'stdbool'.
64556         Change maintainer from Bruno Haible to 'all'.
64557
64558 2003-10-12  Paul Eggert  <eggert@twinsun.com>
64559
64560         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_C_INLINE.
64561
64562 2003-10-12  Paul Eggert  <eggert@twinsun.com>
64563
64564         * lib/xalloc.h (xnmalloc, xzalloc, xnrealloc, xclone): New decls.
64565         (XMALLOC, XCALLOC, XREALLOC, XFREE, CCLONE, CLONE): Deprecate,
64566         and define in terms of the other primitives.
64567         * lib/xmalloc.c: Include stdbool.h; do not include exit.h.
64568         (SIZE_MAX): Define if not already defined.
64569         (array_size_overflow): New function.
64570         (xalloc_die): Abort instead of exiting if 'error' returns.
64571         (xnmalloc, xnrealloc, xzalloc, xclone): New functions.
64572         (xmalloc, xrealloc): Use them.
64573         (xcalloc): Check for address arithmetic overflow.
64574         * lib/xstrdup.c (xstrdup): Use xclone, since memcpy should be
64575         a bit faster than strcpy.
64576
64577 2003-10-10  Simon Josefsson  <jas@extundo.com>
64578
64579         * modules/argp (Depends-on): Add restrict and strcase.
64580
64581 2003-10-10  Simon Josefsson  <jas@extundo.com>
64582
64583         * m4/argp.m4: Add AC_C_INLINE.
64584
64585 2003-10-08  Paul Eggert  <eggert@twinsun.com>
64586
64587         Merge getpass from libc, plus a few fixes.
64588
64589         * lib/getpass.c (HAVE_STDIO_EXT) [_LIBC]: Define to 1.
64590         Include <stdbool.h>.
64591         Include <stdio_ext.h> if HAVE_STDIO_H, otherwise define
64592         __fsetlocking to empty.
64593         [_LIBC]: Do not include "getline.h" or "unlocked-io.h", but
64594         do include <bits/libc-lock.h>.
64595         Do not include <fcntl.h>; not needed.
64596         [_LIBC]: Include <wchar.h>.
64597         (NOTCANCEL_MODE): New macro.
64598         (flockfile, funlockfile) [_LIBC]: New macros.
64599         (__libc_cleanup_push, __libc_cleanup_pop, __getline, __tcgetattr)
64600         [!_LIBC]: New macros.
64601         (call_fclose): New function.
64602         (getpass): Use it.  Save tty stream separately; this simplifies the
64603         code and makes it more reliable if stdin happens to equal stdout.
64604         Invoke __fsetlocking on tty.
64605         Handle thread cancellation if needed.
64606         Namespace cleanup (use __tcgetattr, __getline).
64607         Use bool for Booleans.
64608         [USE_IN_LIBIO]: Handle wide streams.
64609         [!_LIBC]: Unconditionally do the fseek, since we don't know what
64610         stream might go where.
64611
64612         * lib/unlocked-io.h: Include <stdio.h>, so that the caller
64613         doesn't have to include <stdio.h> before us.
64614         (clearerr_unlocked, feof_unlocked, ferror_unlocked,
64615         fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
64616         fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
64617         putc_unlocked, putchar_unlocked): Define to the unlocked counterpart
64618         if not declared, so that we can use getpass.c code from libc without
64619         rewriting it.
64620         (flockfile, ftrylockfile, funlockfile): New macros.
64621
64622 2003-10-08  Paul Eggert  <eggert@twinsun.com>
64623
64624         * modules/getpass: Depend on stdbool.
64625
64626 2003-10-08  Paul Eggert  <eggert@twinsun.com>
64627
64628         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h.
64629
64630 2003-10-07  Karl Berry  <karl@gnu.org>
64631
64632         * config/config.{guess,sub}: update from config.
64633
64634 2003-10-06  Jim Meyering  <jim@meyering.net>
64635             Bruno Haible  <bruno@clisp.org>
64636
64637         This lets translators provide better translations for the
64638         "Written by ..." part of --version output.
64639         * lib/version-etc.h: Include stdarg.h.
64640         (version_etc_copyright): Declare as readonly.
64641         (version_etc): Make this function variadic with a NULL-terminated list
64642         of author name strings.
64643         (version_etc_va): New declaration.
64644         * lib/version-etc.c: Include stdarg.h, stdlib.h.
64645         (version_etc_copyright): Declare as readonly.
64646         (version_etc_va): New function. Provide a different translatable string
64647         for each possible number of authors < 10. Abbreviate when there are 10
64648         authors or more.
64649         (version_etc): Make this function variadic. Call version_etc_va.
64650         Suggestion from Gary V. Vaughan.
64651
64652         * lib/long-options.h (parse_long_options): Change prototype: the
64653         authors string is moved to the end and becomes variadic.
64654         * lib/long-options.c: Include stdarg.h.
64655         (parse_long_options): Make this function variadic, too.
64656         Call version_etc_va, not version_etc.
64657
64658 2003-10-06  Bruno Haible  <bruno@clisp.org>
64659
64660         * modules/version-etc-2: Remove file.
64661         * MODULES.html.sh (func_all_modules): Remove version-etc-2.
64662
64663 2003-10-06  Bruno Haible  <bruno@clisp.org>
64664
64665         * modules/fatal-signal: New file.
64666         * MODULES.html.sh (func_all_modules): Add fatal-signal.
64667
64668 2003-10-06  Bruno Haible  <bruno@clisp.org>
64669
64670         * m4/fatal-signal.m4: New file.
64671         * m4/signalblocking.m4: New file, from GNU gettext.
64672
64673 2003-10-06  Bruno Haible  <bruno@clisp.org>
64674
64675         * lib/version-etc-2.h: Remove file.
64676         * lib/version-etc-2.c: Remove file.
64677
64678 2003-10-06  Bruno Haible  <bruno@clisp.org>
64679
64680         * lib/fatal-signal.h: New file, from GNU gettext.
64681         * lib/fatal-signal.c: New file, from GNU gettext.
64682
64683 2003-10-05  Paul Eggert  <eggert@twinsun.com>
64684
64685         * README: Rework advice for preventing empty .o files.
64686         Don't recommend ELIDE constructs.  Recommend <stddef.h>,
64687         not <sys/types.h>.
64688
64689 2003-10-04  Karl Berry  <karl@gnu.org>
64690
64691         * lib/argp*: update from libc.
64692
64693 2003-10-04  Karl Berry  <karl@gnu.org>
64694
64695         * config/config.{guess,sub}: update from config.
64696
64697 2003-10-02  Bruno Haible  <bruno@clisp.org>
64698
64699         * modules/lchown (Include): Add lchown.h.
64700         * modules/time_r (Include): Use "..." syntax.
64701         * modules/xgetdomainname (Include): Add xgetdomainname.h.
64702
64703 2003-10-01  Simon Josefsson  <jas@extundo.com>
64704
64705         * MODULES.html.sh (func_all_modules): Move gethostname from section
64706         'based on' to section 'lacking' POSIX:2001.
64707
64708 2003-10-01  Larry Jones  <lawrence.jones@eds.com>
64709
64710         * lib/getpass.c (getpass): Use a no-op fseek when switching from input
64711         to output mode on the same stream.
64712
64713 2003-09-29  Paul Eggert  <eggert@twinsun.com>
64714
64715         * lib/strftime.c (tm_diff) [! HAVE_TM_GMTOFF]:
64716         Fix arg typo in previous patch.
64717
64718 2003-09-28  Jim Meyering  <jim@meyering.net>
64719
64720         * lib/error.c: Correct cpp indentation.
64721
64722 2003-09-27  Paul Eggert  <eggert@twinsun.com>
64723
64724         * modules/free: New file.
64725
64726 2003-09-27  Paul Eggert  <eggert@twinsun.com>
64727
64728         * m4/free.m4: New file.
64729
64730 2003-09-27  Paul Eggert  <eggert@twinsun.com>
64731
64732         * lib/minmax.h (MIN, MAX)
64733         [__STDC__ && defined __GNUC__ && __GNUC__ >= 2]:
64734         Omit the special code that used __typeof__, since we worry that
64735         it could be more trouble than it's worth.  See:
64736         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00090.html
64737         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00095.html
64738
64739         * lib/free.c: New file.
64740
64741 2003-09-27  Oskar Liljeblad  <oskar@osk.mine.nu>
64742
64743         Trivial fixes to Makefile.am parts of module listings.
64744         * modules/strstr: Append strstr.h to lib_SOURCES.
64745         * modules/strcase: Likewise, for strcase.h.
64746
64747 2003-09-27  Karl Berry  <karl@gnu.org>
64748
64749         * config/mkinstalldirs: update from automake.
64750
64751 2003-09-26  Paul Eggert  <eggert@twinsun.com>
64752
64753         * lib/error.c (SIZE_MAX) [!defined SIZE_MAX]: Define.
64754         (error_tail): Do not loop, reallocating temporary buffer, since
64755         the output cannot contain more wide characters than the input
64756         contains bytes, the size must be big enough already.  This avoids
64757         one potential size overflow calculation.  Check for size overflow
64758         when calculating temporary buffer size.  Free temporary buffer
64759         when done, if it was allocated with malloc; this plugs a memory
64760         leak.  Remove casts from void * to pointers, that are no longer
64761         needed now that we're assuming C89 or better.
64762
64763         Merge error changes from glibc.
64764
64765         * lib/error.c, error.h: Update copyright notice header to match glibc.
64766         * lib/error.c [defined _LIBC]: Include <errno.h>, <bits/libc-lock.h>.
64767         (error, error_at_line) [defined _LIBC && defined __libc_ptf_call]:
64768         Disable cancellation while printing error.
64769         * lib/error.h: Prepend __ to parameter names.
64770
64771 2003-09-26  Jim Meyering  <jim@meyering.net>
64772
64773         * lib/error.c (error_tail): Move some declarations
64774         into inner scope where the local variables are used.
64775
64776 2003-09-26  Bruno Haible  <bruno@clisp.org>
64777
64778         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Add comments about the AIX
64779         stpncpy().
64780         Don't define stpncpy through config.h; it's now done through stpncpy.h.
64781
64782 2003-09-26  Bruno Haible  <bruno@clisp.org>
64783
64784         * lib/stpncpy.h (gnu_stpncpy): New declaration.
64785         (stpncpy): Define as alias for gnu_stpncpy.
64786         * lib/stpncpy.c [!_LIBC]: Define gnu_stpncpy, not stpncpy.
64787
64788 2003-09-25  Simon Josefsson  <jas@extundo.com>
64789
64790         * lib/xgetdomainname.h: New file.
64791         * lib/xgetdomainname.c: New file.
64792
64793 2003-09-25  Simon Josefsson  <jas@extundo.com>
64794             Bruno Haible  <bruno@clisp.org>
64795
64796         * modules/getdomainname: New file.
64797         * modules/xgetdomainname: New file.
64798         * MODULES.html.sh (func_all_modules): Add getdomainname,
64799         xgetdomainname.
64800
64801 2003-09-25  Simon Josefsson  <jas@extundo.com>
64802             Bruno Haible  <bruno@clisp.org>
64803
64804         * m4/getdomainname.m4: New file.
64805
64806 2003-09-25  Simon Josefsson  <jas@extundo.com>
64807             Bruno Haible  <bruno@clisp.org>
64808
64809         * lib/getdomainname.h: New file.
64810         * lib/getdomainname.c: New file.
64811
64812 2003-09-25  Karl Berry  <karl@gnu.org>
64813
64814         * lib/argp-fmtstream.c, argp-help.c: update from libc.
64815
64816 2003-09-25  Karl Berry  <karl@gnu.org>
64817
64818         * config/install-sh: update from automake.
64819
64820 2003-09-25  Bruno Haible  <bruno@clisp.org>
64821
64822         * modules/version-etc-2: New file, from modules/version-etc with
64823         modifications.
64824         * MODULES.html.sh (func_all_modules): Add version-etc-2.
64825
64826 2003-09-25  Bruno Haible  <bruno@clisp.org>
64827
64828         * lib/version-etc-2.h: New file, from version-etc.h with modifications.
64829         * lib/version-etc-2.c: New file, from version-etc.c with modifications.
64830
64831 2003-09-24  Simon Josefsson  <jas@extundo.com>
64832
64833         * modules/xgethostname: Add xgethostname.h.
64834
64835 2003-09-24  Paul Eggert  <eggert@twinsun.com>
64836
64837         * lib/linebuffer.c (freebuffer): Don't free the argument, just
64838         the buffer associated with the argument.  Bug reported by
64839         Simon Josefsson.
64840
64841 2003-09-24  Paul Eggert  <eggert@twinsun.com>
64842
64843         * README: Document assumptions that 'int' is at least 32 bits
64844         wide, that integer arithmetic is 2's complement without overflow,
64845         that there are no holes in integer values, that adding sizes of
64846         two nonoverlapping objects can't overflow, and that all-bits-zero
64847         yields scalar zero.  Fix spelling and capitalization typos.
64848
64849 2003-09-19  Karl Berry  <karl@gnu.org>
64850
64851         * lib/argp.h: update from libc.
64852
64853 2003-09-17  Paul Eggert  <eggert@twinsun.com>
64854
64855         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first,
64856         to avoid spurious warnings like "AC_RUN_IFELSE was called before
64857         gl_USE_SYSTEM_EXTENSIONS" from autoreconf.
64858
64859 2003-09-17  Paul Eggert  <eggert@twinsun.com>
64860
64861         * gnulib-tool: Use "test -h", not "test -L", for portability
64862         to Solaris 8 /bin/sh.  (This bug is fixed in Solaris 9.)
64863         (tags_regexp): Remove, since \| doesn't conform to POSIX.
64864         (sed_extract_prog): Issue s commands one-by-one, rather than
64865         using \| in one s command.
64866
64867 2003-09-16  Paul Eggert  <eggert@twinsun.com>
64868
64869         * lib/linebuffer.c (readlinebuffer): Return NULL immediately upon
64870         input error, instead of returning NULL the next time we are called
64871         (and therefore losing track of errno).
64872
64873 2003-09-16  Bruno Haible  <bruno@clisp.org>
64874
64875         * gnulib-tool (func_create_testdir): Warn about duplicated
64876         dependencies.
64877
64878 2003-09-15  Paul Eggert  <eggert@twinsun.com>
64879
64880         * modules/argmatch, modules/fatal, modules/obstack,
64881         modules/xalloc, modules/xgethostname: Sort dependencies by
64882         importance, not alphabetically.
64883
64884 2003-09-15  Paul Eggert  <eggert@twinsun.com>
64885
64886         * lib/getndelim2.c (getndelim2): Don't trash errno when a read
64887         fails, so that the caller gets the proper errno.
64888
64889         * lib/readutmp.c (read_utmp): Likewise.
64890         Check for fstat error.  Close stream and free storage
64891         when failing.
64892
64893 2003-09-14  Karl Berry  <karl@gnu.org>
64894
64895         * config/srclist.txt (strdup.c): disable for c89 changes.
64896
64897 2003-09-14  Jim Meyering  <jim@meyering.net>
64898
64899         * lib/getloadavg.c: Correct cpp indentation.
64900         * lib/strdup.c: Likewise.
64901         * lib/vasnprintf.c: Likewise.
64902
64903 2003-09-14  Bruno Haible  <bruno@clisp.org>
64904
64905         * modules/fwriteerror: New file.
64906         * MODULES.html.sh (func_all_modules): Add fwriteerror.
64907
64908 2003-09-14  Bruno Haible  <bruno@clisp.org>
64909
64910         * lib/fwriteerror.h: New file.
64911         * lib/fwriteerror.c: New file.
64912
64913 2003-09-12  Paul Eggert  <eggert@twinsun.com>
64914
64915         * modules/argmatch, modules/exitfail, modules/fatal, modules/obstack,
64916         modules/xgethostname, modules/xalloc: Depend on exit.
64917
64918 2003-09-12  Paul Eggert  <eggert@twinsun.com>
64919
64920         * m4/error.m4: Require AC_FUNC_STRERROR_R rather than invoking it.
64921
64922         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX
64923         and AC_MINIX, too, so that their extensions are available.
64924
64925         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Remove.  All uses removed.
64926         This macro has been superseded by gl_BACKUPFILE.
64927
64928         More patches to assume C89 or better.
64929
64930         * m4/error.m4 (gl_ERROR): Don't check for vprintf.
64931
64932         * m4/check-decl.m4 (jm_CHECK_DECLS): Include <string.h>, <stdlib.h>
64933         unconditionally.
64934         * m4/closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h.
64935         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER):
64936         Include <string.h>, <stdlib.h> unconditionally.
64937         * m4/lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free.
64938         * m4/readdir.m4 (GL_FUNC_READDIR): Don't check for string.h.
64939         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C
64940         headers or for string.h.
64941         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlib.h
64942         or strtoul.
64943
64944         * m4/mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C
64945         headers.
64946         * m4/strdup.m4 (gl_PREREQ_STRDUP): Likewise.
64947         * m4/userspec.m4 (gl_USERSPEC): Likewise.
64948         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Likewise.
64949         * m4/xstrtod.m4 (gl_XSTRTOD): Likewise.
64950         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
64951         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h,
64952         memcpy, memset.
64953         (jm_FUNC_GNU_STRFTIME): Don't require standard C headers.
64954         * m4/strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h.
64955         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h,
64956         strtol.
64957         * m4/strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h.
64958         * m4/userspec.m4 (gl_USERSPEC): Do not check for string.h.
64959         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol,
64960         strtoul.
64961
64962 2003-09-12  Paul Eggert  <eggert@twinsun.com>
64963
64964         * lib/argmatch.c, fatal.c, xgethostname.c, xmalloc.c: Include exit.h.
64965         * lib/obstack.c [!defined _LIBC]: Likewise.
64966         * lib/argmatch.c (EXIT_FAILURE): Remove; now done by exit.h
64967         * lib/exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise.
64968         * lib/exitfail.c: Don't include stdlib.h; no longer needed.
64969
64970         More changes to assume C89 or better.
64971
64972         * lib/error.c (error_tail): Assume vprintf.
64973
64974         * lib/argmatch.c (getenv): Remove decl.
64975         * lib/progreloc.c (get_full_program_name): Define via prototype.
64976         * lib/setenv.c (clearenv): Likewise.
64977         * lib/stpncpy.c: Do not include <string.h> or <sys/types.h>; not
64978         needed.
64979         * lib/strdup.c: Include <stdlib.h>, <string.h> unconditionally.
64980         (malloc, memcpy): Remove decls.
64981         * lib/strftime.c (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove.
64982         (HAVE_MEMCPY) [defined emacs && !defined HAVE_BCOPY]: Remove.
64983         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
64984         (memcpy): Remove macro.
64985         (MEMCPY) [!defined COMPILE_WIDE]: Define to memcpy unconditionally.
64986         (__P): Remove.  All uses removed.
64987         (PTR): Remove.  All uses changed to void *.
64988         (CHAR_BIT, NULL): Remove.
64989         (spaces, zeros, memset_space, memset_zero)
64990         [!defined memset && !defined HAVE_MEMSET && !defined _LIBC]:
64991         Remove.
64992         (LOCALE_PARAM, LOCALE_PARAM_DECL): Remove.
64993         (memcpy_lowcase, memcpy_uppcase, tm_diff, iso_week_days):
64994         Define with prototype.
64995         Remove now-unnecessary prototype decl.
64996         (extra_args_spec): Assume ANSI C.  All uses changed.
64997         (extra_args_spec_iso): Remove.
64998         (my_strftime, emacs_strftimeu): Define via prototype.
64999         * lib/strtod.c: Include <float.h>, <stdlib.h>, <string.h>
65000         unconditionally.
65001         (DBL_MAX, DBL_MIN, HUGE_VAL, NULL): Remove decls.
65002         * lib/strtoimax.c: Include <stdlib.h> unconditionally.
65003         (strtoul, strtol): Remove decls.
65004         * lib/strtol.c (STDC_HEADERS, HAVE_LIMITS_H, NULL, ULONG_MAX,
65005         LONG_MAX): Remove.
65006         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
65007         (LOCALE_PARAM_DECL): Remove.  All uses changed to LOCALE_PARAM_PROTO.
65008         (LOCALE_PARAM_PROTO): New macro.
65009         (INTERNAL, INTERNAL1, WEAKNAME): Assume ANSI C, not K&R.
65010         (INTERNAL (strtol), strtol): Define with a prototype.
65011         (PARAMS): Remove.  All uses removed.
65012         * lib/tempname.c: Include <string.h> unconditionally.
65013         * lib/userspec.c: Include <stdlib.h>, <string.h> unconditionally.
65014         * lib/xgethostname.c (main): Define with a prototype.
65015         * lib/xmalloc.c: Include "xalloc.h" first, to check interface.
65016         Include <stdlib.h> unconditionally.
65017         (calloc, malloc, realloc, free): Remove decls.
65018         * lib/xstrtod.c: Include "xstrtod.h" first, to check interface.
65019         Include <stdlib.h> unconditionally.  Sort include file names.
65020         (strtod): Remove.
65021         (xstrtod): Define with a prototype.
65022         * lib/xstrtol.c: Include <stdlib.h>, <string.h> unconditionally.
65023         (strtol, strtoul): Remove decls.
65024
65025 2003-09-11  Paul Eggert  <eggert@twinsun.com>
65026
65027         More patches to assume C89 or better.
65028         * m4/strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check.
65029         * m4/strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h,
65030         string.h, memchr, STDC_HEADERS.
65031
65032 2003-09-11  Paul Eggert  <eggert@twinsun.com>
65033
65034         * lib/strndup.c: Don't include <stdio.h>, <sys/types.h>.
65035         Include <stdlib.h>, <string.h> unconditionally.
65036         Remove now-unnecessary cast to char *.
65037         * lib/strnlen.c: Include <string.h> unconditionally.
65038         * lib/yesno.c (yesno): Define with a prototype.
65039
65040 2003-09-11  Bruno Haible  <bruno@clisp.org>
65041
65042         * config/srclist.txt (setenv.c, unsetenv.c): Disable for the moment.
65043
65044 2003-09-10  Jim Meyering  <jim@meyering.net>
65045
65046         * lib/error.c: Correct indentation of cpp directives.
65047
65048 2003-09-10  Bruno Haible  <bruno@clisp.org>
65049
65050         * m4/strcspn.m4 (gl_PREREQ_STRCSPN): Remove <string.h> check.
65051         * m4/strpbrk.m4 (gl_PREREQ_STRPBRK): Remove <string.h> check.
65052         * m4/strstr.m4 (gl_PREREQ_STRSTR): Remove <string.h> check.
65053         * m4/unicodeio.m4 (gl_UNICODEIO): Remove <string.h> check.
65054         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove
65055         <stdlib.h> and <string.h> checks.
65056         * m4/xreadlink.m4 (gl_XREADLINK): Remove <stdlib.h> check.
65057         * m4/yesno.m4 (gl_YESNO): Remove <stdlib.h> check.
65058
65059 2003-09-10  Bruno Haible  <bruno@clisp.org>
65060
65061         * lib/strcspn.c: Include <string.h> unconditionally.
65062         * lib/strpbrk.c: Include <string.h> unconditionally.
65063         * lib/strstr.c: Include <string.h> unconditionally.
65064         * lib/unicodeio.c: Include <string.h> unconditionally.
65065         * lib/setenv.c: Include <stdlib.h> and <string.h> unconditionally.
65066         * lib/unsetenv.c: Likewise.
65067         * lib/xreadlink.c: Include <stdlib.h> unconditionally.
65068         * lib/yesno.c: Include <stdlib.h> unconditionally.
65069         (rpmatch): Add prototype.
65070
65071 2003-09-09  Paul Eggert  <eggert@twinsun.com>
65072
65073         More patches to assume C89 or better.
65074         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h.
65075         * m4/getopt.m4 (gl_GETOPT): Don't check for string.h.
65076         * m4/getugroups.m4 (gl_GETUGROUPS): Do not check for standard C headers
65077         or for string.h.
65078         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for
65079         stdlib.h.
65080         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard
65081         C headers.
65082         * m4/hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h,
65083         string.h.
65084         * m4/hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free.
65085         * m4/human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv.
65086         * m4/idcache.m4 (gl_IDCACHE): Do not check for standard C headers,
65087         or for string.h.
65088         * m4/long-options.m4 (gl_LONG_OPTIONS): Do not check for stdlib.h.
65089         * m4/makepath.m4 (gl_MAKEPATH): Do not check for string.h or standard
65090         C headers.
65091         * m4/md5.m4 (gl_MD5): Don't check for limits.h, standard C headers,
65092         memcpy.
65093         * m4/sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy.
65094         * m4/memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h.
65095         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h.
65096         * m4/memcoll.m4 (gl_MEMCOLL): Likewise.
65097         * m4/memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h.
65098         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h,
65099         string.h, free.
65100         * m4/mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers.
65101         * m4/modechange.m4 (gl_MODECHANGE): Don't check for standard C headers.
65102         * m4/mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard
65103         C headers, or for string.h.
65104         * m4/obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h.
65105         (gl_PREREQ_OBSTACK): Don't check for stdlib.h.
65106         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C
65107         headers, memory.h, stdlib.h, string.h, strings.h.
65108         * m4/posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h.
65109         * m4/posixver.m4 (gl_POSIXVER): Don't check for getenv.
65110         * m4/putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy,
65111         strchr.
65112         * m4/readtokens.m4 (gl_READTOKENS): Don't check for standard C
65113         headers, memory.h, string.h.
65114         * m4/regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h.
65115         * m4/rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h,
65116         free.
65117         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C
65118         headers.
65119         * m4/same.m4 (gl_SAME): Don't check for stdlib.h, string.h, free.
65120         * m4/save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers.
65121         * m4/savedir.m4 (gl_SAVEDIR): Don't check for standard C headers.
65122         * m4/strchrnul.m4 (gl_PREREQ_STRCHRNUL): Don't check for string.h.
65123         * m4/xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h.
65124
65125 2003-09-09  Paul Eggert  <eggert@twinsun.com>
65126
65127         More K&R removal.
65128
65129         * lib/acosl.c (main): Use a prototype.
65130         * lib/asinl.c, cosl.c, expl.c, frexpl.c, ldexpl.c, sinl.c,
65131         tanl.c: Likewise.
65132
65133         * lib/getloadavg.c (getloadavg, main): Define via prototypes.
65134
65135         * lib/getopt.h (struct option.name): Assume C89, and use 'const'.
65136         (getopt, etopt_long, getopt_long_only, _getopt_internal)
65137         [defined __GNU_LIBRARY__]: Assume C89, so we can always declare
65138         with a prototype.
65139         * lib/getopt.c (const): Remove macro.
65140         Include <string.h> unconditionally.
65141         (my_index): Remove; all uses changed to strchr.
65142         (strlen): Remove decl.
65143         (exchange): Remove forward decl; no longer needed.
65144         (exchange, _getopt_initialize, _getopt_internal, getopt, main):
65145         Define with prototype.
65146         * lib/getopt1.c (const): Remove macro.
65147         (getopt_long, getopt_long_only, main): Define with prototype.
65148
65149         * lib/getugroups.c: Include <string.h> unconditionally.
65150
65151         * lib/getusershell.c: Include <stdlib.h> unconditionally.
65152         (getusershell, setusershell, endusershell, readname, main):
65153         Define with prototypes.
65154
65155         * lib/group-member.c: Include group-member.h first.
65156         Include <stdlib.h> unconditionally.
65157
65158         * lib/hard-locale.c: Include hard-locale.h first.
65159         Include <stdlib.h>, <string.h> unconditionally.
65160
65161         * lib/hash.c (free, malloc): Remove decls.
65162         Include <stdlib.h> unconditionally.
65163
65164         * lib/human.c: Include <stdlib.h>, <string.h> unconditionally.
65165         (getenv): Do not declare.
65166
65167         * lib/idcache.c: Include <string.h> unconditionally.
65168
65169         * lib/long-options.c: Include long-options.h first, to test interface.
65170         Include <stdlib.h> unconditionally.
65171
65172         * lib/makepath.c: Include makepath.h first, to test interface.
65173         Include <stdlib.h> and <string.h> unconditionally.
65174
65175         * lib/linebuffer.c: Include <stdlib.h>.
65176         (free): Remove decl.
65177
65178         * lib/malloc.c: Include <stdlib.h>, for malloc; don't bother with
65179         stddef.h. rpl_malloc returns void *, not char *.
65180         * lib/realloc.c (rpl_realloc): Likewise.  Also, define with a
65181         prototype.
65182
65183         * lib/md5.h: Include <limits.h> unconditionally.
65184         (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case.
65185         (__P): Remove; all uses removed.
65186         * lib/md5.c: Include "md5.h" first.
65187         (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
65188         md5_buffer, md5_process_bytes, md5_process_block):
65189         Define with prototypes.
65190         * lib/sha.h (__P): Remove all uses.  (It wasn't defined??)
65191         * lib/sha.c: Include "sha.h" first.
65192         Include <stdlib.h>, <string.h> unconditionally.
65193
65194         * lib/memchr.c (__ptr_t): Remove; all uses changed to void *.
65195         * lib/memcmp.c (__ptr_t): Likewise.
65196         * lib/memrchr.c (__ptr_t): Likewise.
65197         * lib/memchr.c, memcmp.c, memcoll.c, memrchr.c:
65198         Include <string.h> unconditionally.
65199         * lib/memchr.c, memrchr.c: Include <limits.h> unconditionally.
65200         * lib/memchr.c: Include <stdlib.h> unconditionally.
65201         * lib/memchr.c (LONG_MAX): Remove.
65202         * lib/memrchr.c (LONG_MAX): Likewise.
65203         * lib/memchr.c (__memchr): Define via a prototype.
65204         * lib/memrchr.c (__memrchr): Likewise.
65205         * lib/memcmp.c (__P): Remove, and remove all uses.
65206         (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment):
65207         Remove forward decls; no longer needed.
65208         * lib/memcpy.c, memmove.c, memset.c: Include <stddef.h>.
65209         Use types required by C89 in prototype.
65210
65211         * lib/mkdir.c: Include <stdlib.h>, <string.h> unconditionally.
65212         * lib/savedir.c: Likewise.
65213         * lib/mkdir.c (free): Remove decl.
65214         * lib/rmdir.c (rmdir): Define with a prototype.
65215         * lib/savedir.c: Include savedir.h first, to test interface.
65216
65217         * lib/mktime.c (STDC_HEADERS): Remove.
65218         Include <stdlib.h>, <string.h> unconditionally.
65219
65220         * lib/modechange.c: Include <stdlib.h> unconditionally.
65221         (malloc): Remove decl.
65222
65223         * lib/mountlist.c: Include <stdlib.h>, <string.h> unconditionally.
65224         (free): Remove decl.
65225
65226         * lib/obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]:
65227         Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H.
65228         (This type really should be intptr_t, but that's a C99ism.)
65229         (_obstack_memcpy): Remove: all uses changed to memcpy.
65230         Include <string.h> unconditionally.
65231         (struct obstack): Assume __STDC__ for types of members
65232         chunkfun, freefun, extra_arg.
65233         (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1,
65234         _obstack_memory_used, obstack_alloc_failed_handler, obstack_init,
65235         obstack_begin, obstack_specify_allocation,
65236         obstack_specify_allocation_with_arg, obstack_chunkfun,
65237         obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]:
65238         Remove unprototyped decls and the macros that use them.
65239         * lib/obstack.c (POINTER): Remove.  All uses changed to void *.
65240         (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN,
65241         _obstack_begin, _obstack_begin_1, _obstack_allocated_p)
65242         (defined __STDC__ && __STDC__)]:
65243         Remove nonprototyped code.
65244         Include <stdlib.h> unconditionally.
65245         (_obstack_begin, _obstack_begin_1, _obstack_newchunk,
65246         _obstack_allocated_p, _obstack_free, obstack_free,
65247         _obstack_memory_used, print_and_abort):
65248         Define using prototypes.
65249         (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base,
65250         obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0,
65251         obstack_finish, obstack_grow, obstack_grow0, obstack_make_room,
65252         obstack_next_free, obstack_object_size, obstack_room) [0]:
65253         Remove unused, unprototyped code.
65254
65255         * lib/path-concat.c: Include <stdlib.h>, <string.h> unconditionally.
65256
65257         * lib/physmem.c (physmem_total, physmem_available, main): Define
65258         with prototypes.
65259
65260         * lib/posixtm.c: Include <stdlib.h>, <string.h> unconditionally.
65261         (main): Define with a prototype.
65262
65263         * lib/posixver.c (getenv): Remove decl.
65264
65265         * lib/putenv.c (malloc): Returns void *, not char *.
65266         Include <string.h> unconditionally.
65267         (strchr, memcpy, NULL): Do not define.
65268
65269         * lib/readtokens.c: Include readtokens.h first, to test interface.
65270         Include <stdlib.h>, <string.h> unconditionally.
65271         (init_tokenbuffer): Define with a prototype.
65272
65273         * lib/regex.c (PARAMS): Remove.  All uses removed.
65274         All uses of _RE_ARGS removed, too.
65275         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
65276         unconditionally.
65277         (bzero): Assume memset exists.
65278         (memcmp, memcpy, NULL): Remove.
65279         (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed
65280         char, or assignments to local vars of type signed char.
65281         (init_syntax_once, PREFIX(extract_number_and_incr),
65282         PREFIX(print_partial_compiled_pattern),
65283         PREFIX(print_compiled_pattern), PREFIX(print_double_string),
65284         convert_mbs_to_wcs, print_fastmap, re_set_syntax,
65285         PREFIX(regex_grow_registers), PREFIX(regex_compile),
65286         PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1),
65287         PREFIX(insert_op2), PREFIX(at_begline_loc_p),
65288         PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space,
65289         wcs_compile_range, byte_compile_range, truncate_wchar,
65290         PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers,
65291         re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2,
65292         count_mbs_length, wcs_re_match_2_internal,
65293         byte_re_match_2_internal, PREFIX(group_match_null_string_p),
65294         PREFIX(alt_match_null_string_p),
65295         PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate),
65296         re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror,
65297         regfree, PREFIX(extract_number)): Define with prototype.  Remove
65298         now-unnecessary declaration, if any.
65299         (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec,
65300         regcomp, regexec):
65301         Remove now-unnecessary casts among pointer types.
65302         * lib/regex.h (_RE_ARGS): Remove.  All uses removed.
65303
65304         * lib/rename.c: Include <stdlib.h>, <string.h> unconditionally.
65305         (free): Remove decl.
65306
65307         * lib/rpmatch.c: Include <stdlib.h> unconditionally.
65308
65309         * lib/same.c: Include <stdlib.h>, <string.h> unconditionally.
65310         (free): Remove decl.
65311
65312         * lib/save-cwd.c: Include <stdlib.h> unconditionally.
65313         * lib/xgetcwd.c: Likewise.
65314
65315         * lib/stat.c: Include <stdlib.h>, <string.h> unconditionally.
65316         (free): Remove decl.
65317
65318         * lib/strchrnul.c (strchrnul): Define with a prototype.
65319         Fix bug: c_in was not converted to char before searching.
65320
65321         The following changes are not K&R related:
65322
65323         * lib/group-member.h: Include <sys/types.h>, so that this file is
65324         self-contained.
65325         * lib/makepath.h: Likewise.
65326
65327         * lib/getusershell.c (readname, default_index, line_size, readname):
65328         Use size_t, not int, for sizes.
65329         (readname): If the size overflows, report an error instead of
65330         looping forever.
65331
65332 2003-09-09  Paul Eggert  <eggert@twinsun.com>
65333
65334         * config/srclist.txt: Do not get getopt.h, getopt1.c, or regex.h from
65335         libc.
65336
65337 2003-09-09  Paul Eggert  <eggert@twinsun.com>
65338
65339         * README: New section: portability guidelines.
65340
65341 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
65342
65343         * m4/getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the
65344         C89 spec.
65345
65346 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
65347
65348         * lib/getndelim2.c: Assume stdlib.h per the C89 spec.
65349
65350 2003-09-08  Paul Eggert  <eggert@twinsun.com>
65351
65352         Assume C89 or better; remove K&R cruft.
65353         A few of these changes were first proposed by Derek Robert Price
65354         in <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00105.html>.
65355
65356         * lib/addext.c: Include <string.h> unconditionally.
65357         * lib/backupfile.c: Include <string.h>, <stdlib.h> unconditionally.
65358         Don't declare getenv or malloc.
65359
65360         * lib/alloca.c: Include <string.h>, <stdlib.h> unconditionally.
65361         (POINTER_TYPE, pointer): Remove; all uses changed to void *.
65362         (NULL): Remove.
65363         (find_stack_direction, alloca): Use prototypes.
65364
65365         * lib/atexit.c (atexit): Define using a prototype.
65366
65367         * lib/basename.c, dirname.c, stripslash.c:
65368         Include <string.h> unconditionally.
65369
65370         * lib/bcopy.c: Include <stddef.h>.
65371         (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'.
65372
65373         * lib/canon-host.c: Include <stdlib.h>, <string.h> unconditionally.
65374
65375         * lib/error.h (error, error_at_line, error_print_progname)
65376         [! (defined (__STDC__) && __STDC__)]: Remove decls.
65377         * lib/error.c: Include error.h first, to check interface.
65378         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
65379         (VA_START): Remove; all uses changeed to va_start.
65380         (exit, strerror): Remove decls.
65381         (error_print_progname): Prototype uncondionally.
65382         Don't include <errno.h>; no longer needed.
65383         (private_strerror): Remove.
65384         (error_tail): Always define.
65385         (error, error_at_line): Assume C89 or better; always use prototypes.
65386         * lib/fatal.c: Include "fatal.h" first, to test interface.
65387         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
65388         (VA_START): Remove; all uses changed to va_start.
65389         [! (HAVE_VPRINTF || HAVE_DOPRNT || _LIBC)]: Remove support for
65390         this case.
65391         (exit): Remove decl.
65392         (fatal): Prototype unconditionally.  Assume va_start works.
65393         Abort at end, to pacify gcc.
65394
65395         * lib/euidaccess.c (main): Define with a prototype.
65396
65397         * lib/exclude.c: Include <stdlib.h>, <string.h> unconditionally.
65398
65399         * lib/exitfail.c: Include <stdlib.h> unconditionally.
65400
65401         * lib/fnmatch_.h (__P): Remove.  All uses changed to assume
65402         prototypes.
65403         * lib/fnmatch.c: Include fnmatch.h first, to test interface.
65404         Include <string.h>, <stddef.h>, <stdlib.h> unconditionally.
65405         (getenv): Remove decl.
65406         (fnmatch): Define using a prototype.
65407         * lib/fnmatch_loop.c (FCT): Remove forward decl; no longer needed.
65408         (FCT): Define using a prototype.
65409
65410         * lib/getdate.y: Include <stdlib.h>, <string.h> unconditionally.
65411
65412         * lib/gethostname.c: Include <stddef.h>.
65413         (gethostname): Define with prototype.  Length is size_t, not int.
65414
65415 2003-09-08  Paul Eggert  <eggert@twinsun.com>
65416
65417         Assume C89 or better; remove K&R cruft.
65418         * m4/alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h.
65419         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h,
65420         string.h, getenv, malloc.
65421         * m4/dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard
65422         headers.
65423         * m4/canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h.
65424         * m4/error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and
65425         do not check for strerror.
65426         * m4/exclude.m4: Do not check for stdlib.h, string.h, strings.h.
65427         * m4/exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h.
65428         * m4/fatal.m4 (gl_FATAL): Do not require STDC headers, and
65429         do not check for doprnt or vprintf.
65430         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove.  All uses removed.
65431         * m4/getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h.
65432
65433 2003-09-08  Paul Eggert  <eggert@twinsun.com>
65434
65435         * lib/getversion.c: Remove; was migrated to backupfile.c in 1997.
65436         getversion.c should have been removed then, but was accidentally
65437         preserved.
65438
65439         * lib/utime.c [!HAVE_UTIMES_NULL]: Include <sys/stat.h>, <fcntl.h>.
65440         (utime_null): Fix typo: 'st' was sometimes called 'sb'.
65441
65442 2003-09-08  Karl Berry  <karl@gnu.org>
65443
65444         * config/config.sub, config.guess, srclistvars.sh: update from savannah
65445                 config, forget about prep.
65446
65447         * config/depcomp, missing: update from automake.
65448
65449 2003-09-07  Paul Eggert  <eggert@twinsun.com>
65450
65451         * modules/time_r: Depend on 'restrict'.  Fix from Simon Josefsson in
65452         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
65453
65454 2003-09-07  Paul Eggert  <eggert@twinsun.com>
65455
65456         * lib/time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to
65457         copy_tm_result.  Bug reported by Simon Josefsson in
65458         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
65459
65460 2003-09-06  Paul Eggert  <eggert@twinsun.com>
65461
65462         * m4/time_r.m4: New file.
65463         * m4/mktime.m4 (gl_PREREQ_MKTIME): Remove check for limits.h.
65464         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume that timegm is buggy if mktime
65465         is. Check for timegm declaration.
65466         (gl_PREREQ_TIMEGM): Require gl_FUNC_MKTIME.
65467         Do not check for gmtime_r.
65468         Replace mktime if __mktime_internal does not exist and if mktime
65469         hasn't been replaced already.
65470
65471 2003-09-06  Paul Eggert  <eggert@twinsun.com>
65472
65473         * lib/time_r.c, lib/time_r.h: New files.
65474
65475         * lib/mktime.c (my_mktime_localtime_r): Remove; all uses changed to
65476         __localtime_r.
65477         (__localtime_r) [!defined _LIBC]: New macro.  Include <time_r.h>.
65478         (__mktime_internal) [!defined _LIBC]: Now extern, not static.
65479
65480         * lib/strftime.c (my_strftime_gmtime_r): Remove; all uses changed to
65481         __gmtime_r.
65482         (my_strftime_localtime_r): Remove; all uses changed to __localtime_r.
65483         (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
65484         Include <time_r.h>.
65485
65486         * lib/timegm.c: Switch to glibc implementation, with the following
65487         changes:
65488         [defined HAVE_CONFIG_H]: Include <config.h>.
65489         [!defined _LIBC]: Include "timegm.h" rather than <time.h>.
65490         (__mktime_internal) [!defined _LIBC]: New decl.
65491         (__gmtime_r) [!defined _LIBC]: New macro and function.
65492         (timegm): Use a prototype, since gnulib assumes C89.
65493         Do not bother declaring tmp to be const, as it's not really usefu.
65494         * lib/timegm.h: Hoist "#include <time.h>" out of #ifdef.
65495         (timegm): Declare only if HAVE_DECL_TIMEGM.
65496
65497 2003-09-06  Paul Eggert  <eggert@twinsun.com>
65498
65499         * MODULES.html.sh (func_all_modules): Add time_r.
65500         * modules/time_r: New file.
65501         * modules/mktime, modules/strftime, modules/timegm: Depend on time_r.
65502         * modules/timegm: Depend on mktime.  Change maintainer to "all, glibc".
65503
65504 2003-09-03  Paul Eggert  <eggert@twinsun.com>
65505
65506         * lib/human.c (human_readable): Fix bug that rounded 10501 to 10k.
65507         Bug reported by Lute Kamstra in
65508         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00003.html>.
65509
65510         * lib/getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow",
65511         "yesterday", "today", and "now" rather than tMINUTE_UNIT.  Of
65512         course with correspondingly smaller numbers for tomorrow and
65513         yesterday.  From Tadayoshi Funaba.  Originally installed into
65514         sh-utils on 1999-08-07, but the patch got lost (I guess during the
65515         coreutils merge?).
65516
65517 2003-08-31  Simon Josefsson  <jas@extundo.com>
65518
65519         * modules/timegm: New file.
65520         * MODULES.html.sh (func_all_modules): Add timegm.
65521
65522 2003-08-31  Simon Josefsson  <jas@extundo.com>
65523
65524         * m4/timegm.m4: New file.
65525
65526 2003-08-31  Simon Josefsson  <jas@extundo.com>
65527
65528         * lib/timegm.h: New file.
65529         * lib/timegm.c: New file.  Based on
65530         wget-1.8.2/src/http.c:mktime_from_utc.
65531
65532 2003-08-31  Karl Berry  <karl@gnu.org>
65533
65534         * lib/argp.h: update from libc.
65535
65536 2003-08-28  Bruno Haible  <bruno@clisp.org>
65537
65538         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here.
65539         This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch'
65540         followed by '#define fnmatch fnmatch_posix' gives an error.
65541
65542 2003-08-28  Bruno Haible  <bruno@clisp.org>
65543
65544         * lib/binary-io.h: Undefine O_BINARY before defining it. This avoids a
65545         warning on QNX, which defines O_BINARY to 000000.
65546
65547 2003-08-27  Jim Meyering  <jim@meyering.net>
65548
65549         * m4/mkstemp.m4: Require that the system mkstemp be able to create
65550         70 temporary files, not just 30.  Tru64 V4.0F's mkstemp function
65551         would fail after 32.  Reported by Danny Levinson.  Details here:
65552         http://mail.gnu.org/archive/html/bug-coreutils/2003-08/msg00124.html
65553
65554 2003-08-24  Bruno Haible  <bruno@clisp.org>
65555
65556         * lib/binary-io.h: Include <stdio.h>, to avoid a compilation error when
65557         MSVC7 <stdio.h> is included later.
65558
65559 2003-08-22  Simon Josefsson  <jas@extundo.com>
65560
65561         * modules/strndup (Makefile.am): Add strndup.h to lib_SOURCES.
65562
65563 2003-08-20  Karl Berry  <karl@gnu.org>
65564
65565         * m4/lib-ld.m4: serial 1003 from gettext, no changes besides serial.
65566
65567 2003-08-20  Bruno Haible  <bruno@clisp.org>
65568
65569         * modules/progname: New file.
65570         * MODULES.html.sh (func_all_modules): Add progname.
65571
65572 2003-08-20  Bruno Haible  <bruno@clisp.org>
65573
65574         * lib/progname.h: New file, from GNU gettext.
65575         * lib/progname.c: New file, from GNU gettext.
65576         * lib/progreloc.c: New file, from GNU gettext.
65577
65578 2003-08-19  Jim Meyering  <jim@meyering.net>
65579
65580         * m4/lib-ld.m4: Revert yesterday's change, per Bruno's request here:
65581         http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00155.html
65582
65583 2003-08-19  Bruno Haible  <bruno@clisp.org>
65584
65585         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Don't check for <string.h> any
65586         more.
65587
65588 2003-08-19  Bruno Haible  <bruno@clisp.org>
65589
65590         * lib/xstrdup.c: Assume <string.h> exists.
65591
65592 2003-08-18  Paul Eggert  <eggert@twinsun.com>
65593
65594         * modules/stdbool: Add BUILT_SOURCES.  Prefer $@ to target name
65595         in makefile rules.
65596
65597 2003-08-18  Jim Meyering  <jim@meyering.net>
65598
65599         * m4/getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB).
65600         * m4/lib-ld.m4: Likewise.
65601
65602 2003-08-18  Jim Meyering  <jim@meyering.net>
65603
65604         * lib/setenv.h: Indent nested cpp directive.
65605         * lib/vasnprintf.c: Remove trailing blanks.
65606
65607 2003-08-17  Simon Josefsson  <jas@extundo.com>
65608
65609         * modules/xstrndup: New file.
65610         * MODULES.html.sh (func_all_modules): Add xstrndup.
65611
65612 2003-08-17  Simon Josefsson  <jas@extundo.com>
65613
65614         * modules/argp: Fix autoconf macro name. Add more dependencies.
65615
65616 2003-08-17  Simon Josefsson  <jas@extundo.com>
65617
65618         * m4/xstrndup.m4: New file.
65619
65620 2003-08-17  Simon Josefsson  <jas@extundo.com>
65621
65622         * m4/argp.m4: New file.
65623
65624 2003-08-17  Simon Josefsson  <jas@extundo.com>
65625             Bruno Haible  <bruno@clisp.org>
65626
65627         * lib/xstrndup.h: New file.
65628         * lib/xstrndup.c: New file.
65629
65630 2003-08-17  Bruno Haible  <bruno@clisp.org>
65631
65632         * modules/strndup (Files, Include): Add lib/strndup.h.
65633
65634 2003-08-17  Bruno Haible  <bruno@clisp.org>
65635
65636         * modules/euidaccess (Files): Add lib/euidaccess.h.
65637
65638 2003-08-17  Bruno Haible  <bruno@clisp.org>
65639
65640         * lib/strndup.h: New file.
65641
65642 2003-08-17  Bruno Haible  <bruno@clisp.org>
65643
65644         * gnulib-tool (func_create_testdir): Handle gl_USE_SYSTEM_EXTENSIONS
65645         like AC_GNU_SOURCE.
65646         * modules/extensions (configure.ac): Comment out the invocation of
65647         gl_USE_SYSTEM_EXTENSIONS.
65648
65649 2003-08-16  Paul Eggert  <eggert@twinsun.com>
65650
65651         Merges from coreutils, etc.
65652         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Insert ':' to prevent a syntax
65653         error in gl_FUNC_MATCH.  This fixes a bug I introduced on 2003-05-28.
65654         * m4/readlink.m4 (gl_PREREQ_READLINK): Renamed from gl_PREREQ_READLINE,
65655         fixing a typo.
65656         * m4/host-os.m4 (UTILS_HOST_OS): Add GNU/NetBSD, GNU/FreeBSD.
65657         * m4/hash.m4 (gl_HASH): Use AM_STDBOOL_H, not AC_HEADER_STDBOOL.
65658
65659 2003-08-16  Paul Eggert  <eggert@twinsun.com>
65660
65661         Document merge from coreutils.
65662         * modules/alloca: Append $(ALLOCA_H) to BUILT_SOURCES.
65663         * modules/fnmatch: Append $(FNMATCH_H) to BUILT_SOURCES.
65664         * modules/utime: Add m4/utimes-null.m4.
65665
65666 2003-08-16  Paul Eggert  <eggert@twinsun.com>
65667
65668         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white
65669         space, undoing this 2003-08-12 change:
65670         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
65671
65672 2003-08-16  Paul Eggert  <eggert@twinsun.com>
65673
65674         * config/srclist.txt: Get regex.h, strdup.c, strtoll.c,
65675         strtoul.c from libc, undoing this 2003-08-12 change:
65676         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
65677
65678 2003-08-16  Jim Meyering  <jim@meyering.net>
65679
65680         Merges from coreutils.
65681         * m4/readdir.m4 (GL_FUNC_READDIR): Change name to have GL_ (not jm_)
65682         prefix.  Adjust cache variables similarly.  Create 500 rather than
65683         just 300 files, to exercise bug on Darwin6.5, too.
65684         * m4/perl.m4 (jm_PERL): Use $am_missing_run, not undefined
65685         $missing_dir.
65686         * m4/jm-winsz1.m4: Require AC_SYS_POSIX_TERMIOS, not
65687         AM_SYS_POSIX_TERMIOS.
65688         Reported by mkc@mathdogs.com.
65689         Also change use of $am_cv_sys_posix_termios
65690         to $ac_cv_sys_posix_termios.  Reported by Andreas Schwab.
65691         * m4/getgroups.m4 (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS
65692         and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB.
65693         * m4/fsusage.m4 [__GLIBC__]: GNU libc's statvfs stats each mount point
65694         in /proc/mounts until it finds one with matching device number.  This
65695         is unnecessary when the FILE argument *is* a mount point.  No stat call
65696         is necessary in that case.  So, disable the statvfs-testing code on
65697         systems with GNU libc.  Reported by Andrei Gaponenko via Tim Waugh
65698         as RedHat bug# 84846.
65699         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
65700         to 1MB, so as not to render systems with no stack size limit (e.g.,
65701         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
65702         Include <unistd.h>.  On some systems,
65703         it is required for the definition of _SC_PAGESIZE.
65704
65705 2003-08-16  Jim Meyering  <jim@meyering.net>
65706
65707         Merge from coreutils.
65708         * lib/xstrtoimax.c: #else #if -> #elif.
65709         * lib/xstrtoumax.c: Likewise.
65710
65711 2003-08-16  Jim Meyering  <jim@meyering.net>
65712
65713         * m4/utimes.m4 (gl_FUNC_UTIMES): New file.
65714         * m4/utimes.m4: Removed.
65715         * m4/utimes-null.m4: Renamed from utimes.m4.
65716
65717         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
65718         to 1MB, so as not to render systems with no stack size limit (e.g.,
65719         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
65720         Include <unistd.h>.  On some systems,
65721         it is required for the definition of _SC_PAGESIZE.
65722
65723 2003-08-16  Jim Meyering  <jim@meyering.net>
65724         and Paul Eggert  <eggert@cs.ucla.edu>
65725
65726         Merges from coreutils, etc.
65727
65728         * m4/jm-macros.m4 (AC_LANG_SOURCE(C)): New macro, undefine, then define
65729         using the latest version from cvs.  This avoids problems with #line
65730         directives using a vendor (Sun) compiler.
65731         (jm_MACROS): Bump prerequisite from 2.52g to 2.57.
65732         Don't set GETGROUPS_LIB here; now it's
65733         done via getgroups.m4's wrapper function.
65734         AC_SUBST OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, and MAN here,
65735         rather than just in sh-util/configure.in, so that the
65736         now-shared-by-fileutils-and-textutils lib/Makefile.am are all the
65737         same.
65738         Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new
65739         AC_FUNC_GETLOADAVG where to find getloadavg.c.
65740         Require AC_FUNC_FTW, gt_INTTYPES_PRI, gl_CLOCK_TIME,
65741         UTILS_SYS_OPEN_MAX, GL_FUNC_GETCWD_PATH_MAX, GL_FUNC_READDIR,
65742         gl_FSUSAGE, gl_MOUNTLIST, AC_FUNC_CANONICALIZE_FILE_NAME.
65743         Remove code that is now done by the newly-required macros.
65744         Append $(EXEEXT) to DF_PROG.
65745         AC_LIBOBJ fchdir-stub if fchdir doesn't exist; similarly for fchown.
65746         Do not invoke or require the following here,
65747         since prereq.m4 or some gnulib .m4 now does this for us:
65748         gl_REGEX, UTILS_FUNC_MKDIR_TRAILING_SLASH, jm_BISON, gl_FUNC_MKTIME,
65749         jm_FUNC_LSTAT, jm_FUNC_STAT, jm_FUNC_REALLOC, jm_FUNC_MALLOC,
65750         jm_FUNC_NANOSLEEP, jm_FUNC_READDIR, jm_FUNC_MEMCMP,
65751         jm_FUNC_GLIBC_UNLOCKED_IO, AC_FUNC_FNMATCH_GNU, jm_FUNC_PUTENV,
65752         jm_AC_PREREQ_XSTRTOUMAX, jm_AC_PREREQ_XSTRTOIMAX,
65753         AC_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, AC_FUNC_VPRINTF,
65754         vb_FUNC_RENAME, UTILS_FUNC_MKSTEP, jm_FUNC_UTIME, AM_FUNC_GETLINE,
65755         AC_FUNC_OBSTACK.
65756         Do not replace the following functions, as this is now the job
65757         of some gnulib .m4: strcasecmp, strncasecmp, dup2, gethostname,
65758         getusershell, sig2str, strcspn, stpcpy, strstr, strtol, strtoul
65759         strpbrk, euidaccess, memcmp, rmdir, rpmatch, strndup, strverscmp,
65760         atexit getpass, strdup, getpagesize.
65761         Replace 'raise'.
65762         Do not check for the following functions, as this is now the job
65763         of some gnulib .m4: bcopy, canonicalize_file_name, fchdir, ftime,
65764         getcwd, getmntinfo, resolvepath.  But check for sysctl, setreuid,
65765         setregid.
65766         (jm_CHECK_ALL_HEADERS): Do not check for fenv.h.
65767         Check for sys/sysctl.h.
65768         (jm_CHECK_ALL_TYPES): Do not require AC_STRUCT_TM, AC_STRUCT_TIMEZONE,
65769         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Invoke gt_TYPE_SSIZE_T instead
65770         of checking for ssize_t ourselves.
65771
65772         * m4/prereq.m4 (jm_PREREQ): Don't invoke macros; AC_REQUIRE them.
65773         Require every macro that gnulib/modules/* suggests for us.
65774         (jm_PREREQ_ADDEXT): New macro.
65775         (jm_PREREQ_STAT): Check for 'struct statfs' on Ultrix 4.4.
65776         Require jm_AC_TYPE_LONG_LONG instead of invoking it.
65777
65778         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): New macro.
65779         (gl_PHYSMEM): Use it.
65780         Also check for `table' function.
65781         Check for new headers and functions.
65782         Add check for sys/sysmp.h.
65783         With suggestions from Kaveh Ghazi.
65784         Ignore headers that are present but cannot be compiled.  This
65785         avoids spurious warnings on Solaris 9 sparc with Forte Developer 7
65786         C 5.4.
65787
65788 2003-08-15  Paul Eggert  <eggert@twinsun.com>
65789
65790         Document merge from coreutils.
65791         * modules/userspec: Depend on posixver.
65792         * modules/strftime: Depend on tzset.
65793
65794 2003-08-15  Paul Eggert  <eggert@twinsun.com>
65795
65796         * lib/config.charset, ref-add.sin, ref-del.sin: Use three spaces,
65797         rather than tab, after '#' in shell-script copyright notices.
65798         Suggested by Bruno Haible.
65799
65800 2003-08-15  Paul Eggert  <eggert@twinsun.com>
65801
65802         * config/srclist-update: Use three spaces, rather than tab, after '#'
65803         in shell-script copyright notices.  Suggested by Bruno Haible.
65804         Remove unnecessary parenthesization in regular expression.
65805
65806 2003-08-15  Jim Meyering  <jim@meyering.net>
65807
65808         Merge from coreutils.
65809         * lib/xgethostname.c: Include <stdlib.h>.
65810         (xghostname): Don't exit for anything other than memory-related
65811         failure; just return NULL.
65812         * lib/userspec.c: Include "posixver.h".
65813         (parse_user_spec): Accept `.' as a separator only
65814         in pre-POSIX-200112 mode.
65815         * lib/strtoimax.c: Use #elif rather than #else #if.
65816         * lib/strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]:
65817         Remove function, now that we can rely on a working tzset function.
65818         [!_LIBC]: Ensure that the required autoconf test has been run.
65819         [!defined _NL_CURRENT && HAVE_STRFTIME]:
65820         Use underlying_strftime for %r.
65821         * lib/sha.c: Merge in some clean-up and optimization changes from
65822         glibc.
65823         * lib/sha.c (sha_stream) [BLOCKSIZE]: Move definition to top of file.
65824         Ensure that it is a multiple of 64.
65825         Rearrange loop exit tests so as to avoid performing an
65826         additional fread after encountering an error or EOF.
65827         * lib/realloc.c: Update copyright date.
65828
65829 2003-08-15  Jim Meyering  <jim@meyering.net>
65830         and Paul Eggert  <eggert@twinsun.com>
65831
65832         Merge from coreutils.
65833         * lib/readutmp.h (HAVE_UTMPX_H): Undef if struct utmp has the ut_exit
65834         member but strut utmpx does not.  Needed for AIX 4.3.3.
65835         (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.
65836
65837 2003-08-15  Jim Meyering  <jim@meyering.net>
65838         and Paul Eggert  <eggert@cs.ucla.edu>
65839
65840         Merges from coreutils, etc.
65841         * m4/strftime.m4 (_jm_STRFTIME_PREREQS):
65842         Require gl_FUNC_TZSET_CLOBBER.
65843         * m4/readutmp.m4 (gl_READUTMP): Check for ut_exit.ut_exit,
65844         ut_exit.e_exit, ut_exit.ut_termination, and ut_exit.e_termination
65845         members.
65846
65847 2003-08-14  Paul Eggert  <eggert@twinsun.com>
65848
65849         Help the merge from coreutils.
65850         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): New macro.
65851         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use it.
65852         * m4/tzset.m4: Use it too.
65853
65854 2003-08-14  Paul Eggert  <eggert@twinsun.com>
65855
65856         * modules/tzset: New file.
65857
65858 2003-08-14  Jim Meyering  <jim@meyering.net>
65859
65860         Merges from coreutils.
65861         * modules/fnmatch: Use the `$(FNMATCH_H)' notation for AC_REPLACED
65862         variable names, rather than @FNMATCH_H@.
65863         * modules/alloca: Likewise for $(ALLOCA_H).
65864
65865         * modules/fnmatch (fnmatch.h): Use `$@' in the commands, in place of
65866         the three copies of the literal target, `fnmatch.h'.
65867         * modules/alloca (alloca.h): Likewise.
65868
65869 2003-08-14  Jim Meyering  <jim@meyering.net>
65870
65871         Merge from coreutils.
65872         * m4/tzset.m4: New file.
65873         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Move the
65874         MOUNTED_VMOUNT test to precede the MOUNTED_GETMNTENT1 tests, since
65875         otherwise, AIX 5.1 systems would end up using the latter.
65876         MOUNTED_GETMNTENT1 support is inadequate on such systems: 1) detecting
65877         whether a file system is remote doesn't work  2) the MOUNTED_VMOUNT
65878         code reports the HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1
65879         code reports merely /MOUNT_POINT.  Reported by Mike Jetzer.
65880
65881 2003-08-14  Jim Meyering  <jim@meyering.net>
65882
65883         Merge from coreutils.
65884         * lib/obstack.h: Whitespace changes.
65885         * lib/mountlist.c: Remove anachronistic casts of xmalloc, xrealloc,
65886         and xcalloc return values.
65887         (read_filesystem_list) [MOUNTED_GETFSSTAT]:
65888         Use MNT_NOWAIT, rather than MNT_WAIT.  Otherwise, `df DIR' could
65889         hang on OSF/1 5.1 for DIR on both local and remote file systems.
65890         Reported by (and fix confirmed by) Nelson H. F. Beebe.
65891         (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
65892         error from mntctl.
65893         Use mntctl's return value to drive the entry-processing loop, since
65894         we can't rely on the value of the vmt_length member in the last
65895         entry.  On some systems doing so could result in exhausting
65896         virtual memory.  Based in part on a patch from Mike Jetzer.
65897
65898 2003-08-14  Jim Meyering  <jim@meyering.net>
65899         and Paul Eggert  <eggert@twinsun.com>
65900
65901         Merges from coreutils, plus other fixes.
65902         * lib/physmem.c: Merge in portability changes from gcc/libiberty
65903         to support AIX, IRIX, Tru64, and Windows.  See the ChangeLog there
65904         for credits and details.  Thanks to Kaveh Ghazi for helping
65905         to keep these files in sync.
65906         (ARRAY_SIZE): Define it.
65907         (physmem_total, physmem_available): Add comments. From Kaveh Ghazi.
65908         * lib/memcasecmp.c: Remove unnecessary parentheses after 'defined'.
65909         (memcasecmp): Don't assume size_t fits in unsigned int.
65910         Remove casts and duplicate code.
65911         * lib/md5.c: Include <string.h> and <stdlib.h> unconditionally.
65912         (memcpy): Remove definition.
65913         Merge in some clean-up and optimization changes from glibc.
65914         [BLOCKSIZE]: Move definition to top of file.
65915         Ensure that it is a multiple of 64.
65916         Rearrange loop exit tests so as to avoid performing an
65917         additional fread after encountering an error or EOF.
65918         * lib/md5.h (md5_uintptr): Define.
65919         * lib/makepath.c (CLEANUP_CWD): Report an error if we failed to
65920         return to the initial working directory.  Preserve errno
65921         for caller.
65922         * lib/idcache.c: Include "xalloc.h".
65923         (xmalloc, xrealloc): Remove decls.
65924         (getuser): Remove casts no longer required in C89.
65925         * lib/human.c: Include stdio.h, for sprintf.
65926         * lib/group-member.c: Include "xalloc.h".
65927         (xmalloc, xrealloc): Remove decls.
65928         (get_group_info): Remove casts no longer required in C89.
65929         * lib/getusershell.c (readname): Remove casts no longer required in
65930         C89.
65931         * lib/gettimeofday.c (rpl_gmtime, rpl_tzset): New functions.
65932         * lib/getline.c: Whitespace fix, from coreutils.
65933
65934 2003-08-13  Paul Eggert  <eggert@twinsun.com>
65935
65936         * m4/exclude.m4 (gl_EXCLUDE): Require AC_C_INLINE, AC_HEADER_STDC.
65937         Check for isascii.
65938
65939         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
65940         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
65941         Undo previous (whitespace-only) change.
65942
65943 2003-08-13  Paul Eggert  <eggert@twinsun.com>
65944
65945         * lib/exclude.c: Include <ctype.h>
65946         (IN_CTYPE_DOMAIN): New macro.
65947         (is_space): New fn.
65948         (add_exclude_file): If LINE_END is a space, ignore trailing spaces
65949         and empty lines.
65950
65951         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
65952         Undo previous (whitespace-only) change.
65953
65954 2003-08-13  Paul Eggert  <eggert@twinsun.com>
65955
65956         * config/srclist-update: Change update back to the old behavior,
65957         leaving whitespace alone.  Use one 'sed' command rather than a
65958         pipeline.
65959         (fixlicense): Now a variable, not a function.
65960         (remove_trailing_blanks): Remove.
65961         (fixfile): Don't invoke unexpand or cat, or remove trailing blanks.
65962         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
65963         Undo previous (whitespace-only) change.
65964
65965 2003-08-12  Paul Eggert  <eggert@twinsun.com>
65966
65967         Merge from coreutils.
65968         * modules/euidaccess: Add lib_SOURCES, include for new
65969         file euidaccess.h
65970
65971 2003-08-12  Paul Eggert  <eggert@twinsun.com>
65972
65973         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
65974         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
65975         Normalize leading white space and remove trailing white space.
65976
65977         Merge from coreutils
65978         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Check for euidaccess decl.
65979
65980         * m4/lib-ld.m4, lib-link.m4, lib-prefix.m4: Regenerate from gettext
65981         0.12.1.  These files are now being upgraded automatically by
65982         ../config/srclist-update.
65983
65984 2003-08-12  Paul Eggert  <eggert@twinsun.com>
65985
65986         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
65987         Normalize leading white space and remove trailing white space.
65988         * lib/ref-add.sin, ref-del.sin: Use '#' before empty line in copyright
65989         notice, as per ../config/srclist-update.
65990
65991         Merge from coreutils.
65992         * lib/euidaccess.h: New file.
65993         * lib/euidaccess.c: Include it.
65994         * lib/.cppi-disable: Add printf-args.h, printf-parse.h, stdbool_.h,
65995         vasnprintf.h, vasprintf.h.  Remove strdup.c, gettext.h.
65996         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Normalize white space.
65997
65998 2003-08-12  Paul Eggert  <eggert@twinsun.com>
65999
66000         * config/srclist-update: Add copyright notice.
66001         (remove_id_lines, remove_trailing_blanks): New constants.
66002         (fixfile): Use them to normalize spacing a bit in copied files.
66003         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
66004         Normalize leading white space and remove trailing white space.
66005
66006         * config/texinfo.tex: Sync with texinfo.
66007
66008         * config/srclist.txt: Don't get regex.h, strdup.c, strtoll.c,
66009         strtoul.c from libc, to merge coreutils whitespace changes.
66010
66011         * config/srclist.txt: Get the following m4 files from gettext:
66012         codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4,
66013         inttypes-pri.m4, lcmessage.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4,
66014         longdouble.m4, nls.m4, po.m4, progtest.m4, signed.m4, wchar_t.m4,
66015         wint_t.m4.
66016
66017 2003-08-12  Karl Berry  <karl@gnu.org>
66018
66019         * config/srclist.txt: can't sync vasnprintf.c any more, changes have
66020         been made.
66021
66022 2003-08-11  Paul Eggert  <eggert@twinsun.com>
66023
66024         * modules/gnu-source, m4/gnu-source.m4:
66025         Remove; we're assuming Autoconf 2.54 or later now.
66026         Suggested by Bruno Haible.
66027         * MODULES.html.sh (func_all_modules): Remove gnu-source.
66028
66029 2003-08-11  Bruno Haible  <bruno@clisp.org>
66030
66031         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for wcslen.
66032
66033 2003-08-11  Bruno Haible  <bruno@clisp.org>
66034
66035         * lib/vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1.
66036         (vasnprintf): Use it instead of wcslen.
66037
66038 2003-08-11  Bruno Haible  <bruno@clisp.org>
66039
66040         * lib/stdbool_.h (_Bool): Undo last change; instead use a negative enum
66041         value to ensure that _Bool promotes to int. Use #define for _Bool when
66042         using the Solaris C compiler. Adds comments suggested by Paul Eggert.
66043
66044 2003-08-10  Karl Berry  <karl@gnu.org>
66045
66046         * lib/regex.h: update from libc (whitespace fix).
66047
66048 2003-08-09  Paul Eggert  <eggert@twinsun.com>
66049
66050         Merge some files from coreutils.  These changes were
66051         originally made by Jim Meyering.
66052         * lib/acl.c: Include <sys/types.h> before <sys/stat.h>;
66053         many older Unixes require this.
66054         * lib/alloca.c (alloca): Remove cast to argument of free;
66055         no longer needed in C89.
66056         * lib/alloca_.h, regex.h: Fix white space to match
66057         what GNU indent does.
66058
66059 2003-08-09  Paul Eggert  <eggert@twinsun.com>
66060
66061         * m4/regex.m4 (jm_INCLUDED_REGEX): Change "\201" to "\371";
66062         apparently Emacs's Unicode mode got confused before my 2003-08-05
66063         checkin.
66064
66065 2003-08-08  Paul Eggert  <eggert@twinsun.com>
66066
66067         * m4/extensions.m4: New file.
66068         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC):
66069         Require gl_USE_SYSTEM_EXTENSIONS.
66070         * m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO):
66071         Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE.
66072
66073 2003-08-08  Paul Eggert  <eggert@twinsun.com>
66074
66075         * MODULES.html.sh (func_all_modules): Add extensions, gnu-source.
66076         * modules/extensions, modules/gnu-source: New files.
66077         * modules/timespec, modules/unlocked-io: Depend on extensions.
66078
66079 2003-08-07  Paul Eggert  <eggert@twinsun.com>
66080
66081         * modules/restrict: New file.
66082         * MODULES.html.sh (func_all_modules): Add restrict.
66083         * modules/regex: Depend on restrict.
66084
66085 2003-08-07  Paul Eggert  <eggert@twinsun.com>
66086
66087         * m4/restrict.m4: New file.
66088         * m4/regex.m4 (jm_PREREQ_REGEX): Add gl_C_RESTRICT.
66089
66090 2003-08-07  Bruno Haible  <bruno@clisp.org>
66091
66092         * modules/getndelim2 (Makefile.am): Add the files to EXTRA_DIST, not
66093         lib_SOURCES, because getndelim2.m4 now uses AC_LIBOBJ(getndelim2).
66094
66095 2003-08-07  Bruno Haible  <bruno@clisp.org>
66096
66097         * m4/getndelim2.m4 (gl_GETNDELIM2): Use AC_LIBOBJ(getndelim2). This
66098         makes the module 'getndelim2' compatible with the module 'getline'.
66099
66100 2003-08-05  Paul Eggert  <eggert@twinsun.com>
66101
66102         * m4/regex.m4 (jm_INCLUDED_REGEX): Replace a single non-ASCII
66103         byte with "\201" to avoid glitches when editing that source file
66104         with multi-gnome-terminal.
66105
66106 2003-08-05  Paul Eggert  <eggert@twinsun.com>
66107
66108         * lib/bumpalloc.h: Remove.
66109
66110 2003-08-05  Paul Eggert  <eggert@twinsun.com>
66111
66112         * MODULES.html.sh (func_all_modules): Remove bumpalloc.
66113         * modules/bumpalloc: Remove.
66114
66115 2003-08-04  Paul Eggert  <eggert@twinsun.com>
66116
66117         * lib/getloadavg.c: Change copyright notice and spacing to conform to
66118         GNU coding style.
66119
66120         Merge from coreutils.
66121         * lib/error.c [!USE_IN_LIBIO]: Omit this case; assume USE_IN_LIBIO is
66122         1. From glibc.
66123         * lib/getdate.y (date): Also accept dates like May-23-2003; suggestion
66124         from Karl Berry, implemented by Jim Meyering.
66125         * lib/getgroups.c: Include "xalloc.h" instead of declaring xalloc fns;
66126         from Dmitry V. Levin.
66127         Remove anachronistic cast of xrealloc.
66128         * lib/fnmatch_.h (__const): Remove.  Use 'const'.
66129         * lib/fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper
66130         type. Otherwise, it wouldn't compile with at least /bin/cc on
66131         ymp-cray-unicos9.0.2.X.
66132         Combine two mostly-identical uses of alloca into one.
66133         Thanks to the Cray-Cyber project for access to a Cray Y-MP.
66134
66135 2003-08-04  Dave Love  <d.love@dl.ac.uk>
66136
66137         [From Emacs.]
66138
66139         * lib/getloadavg.c: Check `__unix' as well as `unix'.  Use #ifdef, not
66140         #if.  Check HAVE_LIBKSTAT as well as LOAD_AVE_TYPE.  Check
66141         F_SETFD, not FD_SETFD.  Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not
66142         obsolete NLIST_NAME_UNION.
66143         [__GNU__]: Undef BSD and FSCALE.
66144         [!NLIST_STRUCT]: Remove conditional definition of NLIST_STRUCT.
66145
66146 2003-08-03  Paul Eggert  <eggert@twinsun.com>
66147
66148         * lib/stdbool_.h (_Bool): Make it signed char, instead of
66149         an enum type, so that it's guaranteed to promote to int.  See:
66150         <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00124.html>
66151
66152 2003-08-03  Karl Berry  <karl@gnu.org>
66153
66154         * config/depcomp: update from automake.
66155
66156 2003-07-31  Paul Eggert  <eggert@twinsun.com>
66157
66158         * lib/strerror.c: Include config.h, limits.h.  Declare sprintf.
66159         (strerror): Don't assume that a printable int fits in 14 bytes.
66160
66161 2003-07-31  Bruno Haible  <bruno@clisp.org>
66162
66163         * modules/getpass-gnu: New file.
66164         * MODULES.html.sh (func_all_modules): Add getpass-gnu.
66165
66166 2003-07-31  Bruno Haible  <bruno@clisp.org>
66167
66168         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): New macro.
66169
66170 2003-07-24  Karl Berry  <karl@gnu.org>
66171
66172         * config/missing: update from automake.
66173
66174 2003-07-24  Derek Robert Price  <derek@ximbiot.com>
66175             Bruno Haible  <bruno@clisp.org>
66176
66177         * lib/getline.h (getline, getdelim): Change return type to ssize_t.
66178         * lib/getline.c (getline, getdelim): Likewise.
66179         Remove _GNU_SOURCE define; now it's defined in config.h through
66180         m4/getline.m4.
66181
66182 2003-07-23  Karl Berry  <karl@gnu.org>
66183
66184         * config/config.sub: update from prep.
66185
66186 2003-07-22  Paul Eggert  <eggert@twinsun.com>
66187
66188         * modules/xalloc (Depends-on): Add exitfail.
66189         * modules/xmemcoll: Likewise.
66190
66191 2003-07-22  Paul Eggert  <eggert@twinsun.com>
66192
66193         * lib/xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and
66194         over-parenthesization in macros.
66195
66196         Sync with coreutils.
66197
66198         * lib/xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not
66199         required by C99.
66200
66201         Use `exit_failure' for xalloc and xmemcoll instead of their own
66202         private exit-failure variables.
66203         * lib/xalloc.h (xalloc_exit_failure): Remove.
66204         * lib/xmalloc.c: Likewise.  Include exitfail.h.
66205         (xalloc_die): Use exit_failure instead of xalloc_exit_failure.
66206         * lib/xmemcoll.h (xmemcoll_exit_failure): Remove.
66207         * lib/xmemcoll.c: Likewise.  Include exitfail.h.
66208         (xmemcoll): Use exit_failure instead of xalloc_exit_failure.
66209
66210 2003-07-20  Jim Meyering  <jim@meyering.net>
66211
66212         * modules/closeout (Depends-on): Add exitfail.
66213         Suggestion from Bruno Haible.
66214
66215 2003-07-19  Karl Berry  <karl@gnu.org>
66216
66217         * config/config.sub: update from prep.
66218
66219 2003-07-18  Paul Eggert  <eggert@twinsun.com>
66220
66221         * lib/closeout.h (close_stdout_set_status, close_stdout_status):
66222         Remove.
66223         * lib/closeout.c: Likewise.  Include "closeout.h" right after config.h,
66224         to test that it can stand by itself.  Include "exitfail.h".
66225         Clients should set exit_failure instead.
66226         (EXIT_FAILURE): Remove; no longer needed.  Do not include <stdlib.h>.
66227
66228 2003-07-18  Bruno Haible  <bruno@clisp.org>
66229
66230         * modules/getndelim2: New file.
66231         * modules/getline: Share files with module getndelim2.
66232         * modules/getnline: Depend on getndelim2 instead of sharing files with
66233         it. Add getnline.c to lib_SOURCES.
66234         * MODULES.html.sh (func_all_modules): Add getndelim2.
66235
66236 2003-07-18  Bruno Haible  <bruno@clisp.org>
66237
66238         * m4/getndelim2.m4: New file.
66239         * m4/getline.m4 (AM_FUNC_GETLINE): Add AC_LIBOBJ of getndelim2.c and
66240         invoke gl_PREREQ_GETNDELIM2.
66241         (gl_PREREQ_GETLINE): Drop AC_HEADER_STDC, now done by
66242         gl_PREREQ_GETNDELIM2.
66243         * m4/getnline.m4 (gl_GETNLINE): Drop AC_HEADER_STDC, now done by
66244         gl_GETNDELIM2.
66245
66246 2003-07-18  Bruno Haible  <bruno@clisp.org>
66247
66248         * lib/getndelim2.h: New file.
66249         * lib/getndelim2.c: Make into a module of its own. Include config.h,
66250         getndelim2.h.
66251         (getndelim2): Make non-static. Change return type to ssize_t.
66252         * lib/getline.h: Change argument names.
66253         * lib/getline.c: Include getndelim2.h instead of getndelim2.c.
66254         * lib/getnline.c: Include getndelim2.h.
66255
66256 2003-07-18  Andreas Schwab  <schwab@suse.de>
66257
66258         * lib/memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno.
66259
66260 2003-07-17  Karl Berry  <karl@gnu.org>
66261
66262         * config/config.sub: update from prep.
66263
66264 2003-07-17  Bruno Haible  <bruno@clisp.org>
66265
66266         * modules/getnline: New file.
66267         * modules/getline: Add lib/getndelim2.c to source file list.
66268         * MODULES.html.sh (func_all_modules): Add getnline.
66269
66270 2003-07-17  Bruno Haible  <bruno@clisp.org>
66271
66272         * m4/getnline.m4: New file.
66273
66274 2003-07-17  Bruno Haible  <bruno@clisp.org>
66275
66276         * m4/Makefile.am.in: Remove file.
66277         * m4/Makefile.am: Remove file.
66278         * m4/Makefile.in: Remove file.
66279
66280 2003-07-17  Bruno Haible  <bruno@clisp.org>
66281
66282         * lib/getnline.h: New file.
66283         * lib/getnline.c: New file.
66284         * lib/getndelim2.c: New file, extracted from getline.c.
66285         (getndelim2): Renamed from getdelim2, with added nmax argument.
66286         * lib/getline.c: Include getndelim2.c.
66287         (getdelim2): Moved out to getndelim2.c.
66288         (getline, getdelim): Update.
66289
66290 2003-07-17  Bruno Haible  <bruno@clisp.org>
66291
66292         * lib/Makefile.am: Remove file.
66293         * lib/Makefile.in: Remove file.
66294
66295 2003-07-17  Bruno Haible  <bruno@clisp.org>
66296
66297         * configure.in: Remove file.
66298         * Makefile.in: Remove file.
66299
66300 2003-07-17  Bruno Haible  <bruno@clisp.org>
66301
66302         * MODULES.html.sh: Put the </BODY> right before </HTML>.
66303
66304 2003-07-16  Karl Berry  <karl@gnu.org>
66305
66306         * config/srclist-update: was running fixlicense twice, which caused
66307                 texinfo.tex to be nullified for some reason.  Simplify,
66308                 $gplsrc is no longer needed as far as I can see?
66309
66310 2003-07-16  Jim Meyering  <jim@meyering.net>
66311
66312         * modules/save-cwd: Depend on xgetcwd.  From Derek Price.
66313
66314 2003-07-15  Paul Eggert  <eggert@twinsun.com>
66315
66316         * config/srclist.txt: Get the following files from gettext-runtime/intl
66317         instead: config.charset, localcharset.c, localcharset.h, ref-add.sin,
66318         ref-del.sin.  From Bruno Haible.
66319         * config/srclist-update (fixfile): Change grep pattern again, since the
66320         previous fix didn't work (there was another trailing $).  Use
66321         '[$]' to escape the $s.
66322
66323 2003-07-15  Karl Berry  <karl@gnu.org>
66324
66325         * lib/vasnprintf.c: update from gettext.
66326
66327 2003-07-15  Karl Berry  <karl@gnu.org>
66328
66329         * config/srclist-update (fixfile): Change grep pattern, since 'Id'
66330         gets expanded when surrounded by '$'.
66331
66332 2003-07-15  Jim Meyering  <jim@meyering.net>
66333
66334         * modules/save-cwd: Don't depend on error.  From Derek Price.
66335
66336 2003-07-15  Jim Meyering  <jim@meyering.net>
66337
66338         * lib/makepath.c (make_path): Enclose diagnostic in _(...).
66339
66340 2003-07-14  Simon Josefsson  <jas@extundo.com>
66341
66342         * modules/mempcpy: New file.
66343         * MODULES.html.sh (func_all_modules): Add mempcpy.
66344
66345 2003-07-14  Simon Josefsson  <jas@extundo.com>
66346
66347         * m4/mempcpy.m4: New file.
66348
66349 2003-07-14  Simon Josefsson  <jas@extundo.com>
66350
66351         * lib/mempcpy.h: New file.
66352         * lib/mempcpy.c: New file.
66353
66354 2003-07-14  Paul Eggert  <eggert@twinsun.com>
66355
66356         * modules/getdate, modules/posixtm: Depend on mktime.
66357
66358 2003-07-14  Paul Eggert  <eggert@twinsun.com>
66359
66360         * lib/ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h,
66361         sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c,
66362         unicodeio.c, unicodeio.h, unlocked-io.h:
66363         Switch from LGPL to GPL.
66364
66365 2003-07-14  Paul Eggert  <eggert@twinsun.com>
66366
66367         * lib/asnprintf.c, asprintf.c, config.charset, gettext.h,
66368         localcharset.c, localcharset.h, mkdtemp.c, printf-args.c,
66369         printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin,
66370         ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h,
66371         vasprintf.c, vasprintf.h: Regenerate.  These files are now being
66372         updated automatically by ../config/srclist-update.  This changes
66373         their license from LPGL to GPL.
66374
66375 2003-07-14  Paul Eggert  <eggert@twinsun.com>
66376
66377         * config/srclist.txt: Add tons more gettext files.  $GETTEXT is now
66378         assumed to refer to the root of the most recent stable gettext version.
66379         * config/srclistvars.sh: Add defaults for eggert.
66380         * config/srclist-update: Convert LGPL to GPL in shell scripts, too.
66381         Match "This program" as well as "The program".  This is needed
66382         for gettext.
66383
66384 2003-07-14  Jim Meyering  <jim@meyering.net>
66385
66386         Don't emit diagnostics.  Let callers do that.
66387         * lib/save-cwd.c: Don't include "error.h".
66388         (save_cwd): Don't call error.  Ensure that errno is valid
66389         when returning nonzero.
66390
66391         * lib/save-cwd.h (restore_cwd): Update prototype.
66392         * lib/save-cwd.c (restore_cwd): Remove two parameters.
66393         Simplify.  Don't call error upon failure.  Let callers do that.
66394         (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4
66395         when auditing is enabled.  But don't bother updating the #if.
66396
66397 2003-07-11  Alexandre Duret-Lutz  <adl@gnu.org>
66398
66399         * lib/obstack.h (__INT_TO_PTR): Revert change of 2003-03-13;
66400         it breaks C++ compilation.
66401         [!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*.
66402
66403 2003-07-10  Simon Josefsson  <jas@extundo.com>
66404
66405         * modules/strchrnul (Makefile.am): Add strchrnul.h.
66406
66407 2003-07-10  Jim Meyering  <jim@meyering.net>
66408
66409         * m4/clock_time.m4: Remove trailing blank.
66410         * m4/intmax_t.m4: Likewise.
66411
66412 2003-07-10  Jim Meyering  <jim@meyering.net>
66413
66414         * lib/vasnprintf.c: Remove trailing blanks.
66415         Make cpp indentation consistent.
66416
66417 2003-07-09  Paul Eggert  <eggert@twinsun.com>
66418
66419         * lib/alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h,
66420         posixver.c, strftime.c, strnlen.c, strverscmp.c:
66421         Switch from LGPL to GPL.
66422
66423 2003-07-09  Paul Eggert  <eggert@twinsun.com>
66424
66425         * config/srclist.txt: Sort sublists.  Add
66426         $LIBCSRC/sysdeps/generic/strtoul.c. In comments, add more libc files
66427         that differ from gnulib for one reason or another; we'd like this list
66428         to be smaller but for now let's document what we have.
66429
66430 2003-07-08  Paul Eggert  <eggert@twinsun.com>
66431
66432         * config/srclist-update: Port to POSIX 1003.1-2001 hosts by avoiding
66433         the use of GNU extensions.  Change "x=`eval echo $x`" to the shorter
66434         and sweeter "eval x=$x".
66435         * config/srclist.txt: Get lib/argp* from glibc.
66436
66437 2003-07-07  Paul Eggert  <eggert@twinsun.com>
66438
66439         * lib/mktime.c: Fix some boundary cases and remove need for floating
66440         point.
66441
66442         Issue a compile-time diagnostic if time_t is floating point, or if
66443         two's complement arithmetic is not in effect, or if arithmetic
66444         right shift does not propagate the sign.  These assumptions were
66445         all in the original code but they weren't checked.
66446
66447         (TIME_T_MIDPOINT, verify): New macros.
66448         (__isleap): Remove; it has integer overflow problems.
66449         (leapyear): New function, without those problems.
66450         (ydhms_tm_diff): Remove; splitting into two parts.
66451         (ydhms_diff): New function, containing the arithmetic part of
66452         the old ydhms_tm_diff function.  Issue a compile-time
66453         diagnostic if we are not using C99 integer division.
66454         Avoid casts when possible.
66455         (guess_time_tm): New function, containing the checking part of
66456         the old ydhms_tm_diff function.  Return the new value, rather than
66457         the difference between it and the old.  Accept a new argument T
66458         so that *T specifies the old value.  Check for overflow in the result.
66459
66460         (__mktime_internal): Use a time_t offset, not a long int offset.
66461         This undoes the 2003-06-04 change, which is no longer needed now
66462         that we have better overflow checking.
66463         (localtime_offset): Likewise.
66464
66465         (__mktime_internal): Avoid harmful overflow on hosts where time_t
66466         and long are 64-bit but int is only 32-bit.
66467         (ydhms_diff): Use long int to store year1 and yday1.
66468         Issue a compile-time diagnostic if long int is not wide enough.
66469
66470         (__mktime_internal): Use long int to store adjusted year and yday.
66471         Use plain C rather than preprocessor commands, if that doesn't
66472         affect efficiency.
66473         Check for overflow (and try to repair) after each probe
66474         rather than checking only at the very end.  This avoids some bugs
66475         (e.g., southern hemisphere, behind GMT, and GMT offset at minimum time
66476         does not equal GMT offset at maximum time).
66477         Use integer to check for overflow rather than floating point; this
66478         is more portable to non-IEEE hosts, and is a tad faster.
66479         When we detect that we are oscillating between two values,
66480         don't check whether tm_isdst has the requested value, since
66481         we already know the answer.  When tm_isdst has the wrong value,
66482         use a different heuristic to find the right one, based on the
66483         extreme values actually observed in practice in tz2003a,
66484         rather than the (overly optimistic) "previous 3 calendar quarters".
66485
66486         (not_equal_tm, print_tm, check_result): Use "const T" rather than
66487         "T const" to accommodate glibc style.
66488         (check_result): Use less-confusing report format.  "long" -> "long int.
66489         (main): Likewise.
66490         Don't loop if the iteration overflows time_t.
66491         Allow a negative step in the iteration.
66492
66493 2003-07-06  Karl Berry  <karl@gnu.org>
66494
66495         * config/depcomp: update from automake.
66496         * config/config.sub: update from prep.
66497
66498 2003-07-03  Karl Berry  <karl@gnu.org>
66499
66500         * config/config.guess: update from prep.
66501
66502 2003-07-01  Paul Eggert  <eggert@twinsun.com>
66503
66504         * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since
66505         xreadlink.c now includes it unconditionally.
66506
66507 2003-07-01  Paul Eggert  <eggert@twinsun.com>
66508
66509         * lib/xreadlink.c: Include <sys/types.h> unconditionally, instead of
66510         having it depend on HAVE_SYS_TYPES_H.
66511
66512 2003-07-01  Bruno Haible  <bruno@clisp.org>
66513
66514         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include <unistd.h>.
66515         <sys/types.h> should be sufficient.
66516         Reported by Paul Eggert.
66517
66518 2003-06-26  Karl Berry  <karl@gnu.org>
66519
66520         * config/depcomp: update from automake.
66521
66522 2003-06-26  Bruno Haible  <bruno@clisp.org>
66523
66524         * modules/human: Depend on module stdbool.
66525
66526 2003-06-25  Bruno Haible  <bruno@clisp.org>
66527
66528         * modules/readlink: New file.
66529         * modules/xreadlink: Depend on it.
66530         * MODULES.html.sh (func_all_modules): Add readlink.
66531
66532 2003-06-25  Bruno Haible  <bruno@clisp.org>
66533
66534         * m4/readlink.m4: New file.
66535
66536 2003-06-25  Bruno Haible  <bruno@clisp.org>
66537
66538         * lib/readlink.c: New file.
66539
66540 2003-06-22  Karl Berry  <karl@gnu.org>
66541
66542         * config/srclist.txt: update mkinstalldirs from automake.
66543         * config/mkinstalldirs: update.
66544
66545 2003-06-22  Bruno Haible  <bruno@clisp.org>
66546
66547         Portability to mingw32.
66548         * m4/ssize_t.m4: New file, from GNU gettext.
66549         * m4/safe-read.m4 (gl_PREREQ_SAFE_READ): Require gt_TYPE_SSIZE_T.
66550         * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T.
66551
66552 2003-06-22  Bruno Haible  <bruno@clisp.org>
66553
66554         * modules/safe-read: Add m4/ssize_t.m4.
66555         * modules/xreadlink: Add m4/ssize_t.m4.
66556
66557 2003-06-20  Bruno Haible  <bruno@clisp.org>
66558
66559         Assume C89, so PARAMS isn't needed.
66560         * lib/unicodeio.h (PARAMS): Remove.
66561         * lib/unicodeio.c: Don't use PARAMS.
66562
66563 2003-06-18  Karl Berry  <karl@gnu.org>
66564
66565         * config/config.{guess,sub}: update from prep.
66566
66567 2003-06-18  Jim Meyering  <jim@meyering.net>
66568
66569         Merge changes from coreutils.
66570         * lib/readutmp.c: Include <string.h> and <stdlib.h> unconditionally.
66571         Remove explicit declarations of xmalloc and realloc.
66572         Include xalloc.h.
66573         (read_utmp): Remove anachronistic cast of xmalloc.
66574
66575 2003-06-17  Paul Eggert  <eggert@twinsun.com>
66576
66577         Assume C89, so PARAMS isn't needed.
66578         * lib/backupfile.h (PARAMS): Remove.  All uses removed.
66579         * lib/closeout.h, lib/dirname.h, lib/filemode.h, lib/fsusage.h,
66580         lib/getdate.h, lib/getline.h, lib/group-member.h, lib/hard-locale.h,
66581         lib/hash.h, lib/linebuffer.h, lib/long-options.h, lib/makepath.h,
66582         lib/memcasecmp.h, lib/memcoll.h, lib/modechange.h, lib/mountlist.h,
66583         lib/path-concat.h, lib/physmem.h, lib/posixtm.h, lib/quote.h,
66584         lib/readutmp.h, lib/same.h, lib/save-cwd.h, lib/savedir.h,
66585         lib/stdio-safer.h, lib/strtoimax.c, lib/strverscmp.h,
66586         lib/unistd-safer.h, lib/version-etc.h, lib/xalloc.h, lib/xreadlink.h,
66587         lib/xstrtod.h, lib/xstrtol.h: Likewise.
66588         * lib/filemode.h, lib/hard-locale.h, lib/memcoll.h, lib/modechange.h,
66589         lib/physmem.h, lib/same.h, lib/strverscmp.h: Do not include config.h;
66590         no longer needed. Anyway, config.h should always be included before any
66591         other file.
66592
66593 2003-06-11  Simon Josefsson  <jas@extundo.com>
66594
66595         * modules/sysexits: New file.
66596         * MODULES.html.sh (func_all_modules): Add sysexits.
66597
66598 2003-06-11  Simon Josefsson  <jas@extundo.com>
66599
66600         * lib/sysexit_.h: New file.
66601
66602 2003-06-11  Derek Price  <derek@ximbiot.com>
66603
66604         * lib/stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is
66605         necessary.
66606
66607 2003-06-11  Bruno Haible  <bruno@clisp.org>
66608
66609         * m4/sysexits.m4: New file.
66610
66611 2003-06-10  Simon Josefsson  <jas@extundo.com>
66612
66613         * lib/argp.h: New file, from glibc.
66614         * lib/argp-ba.c: New file, from glibc.
66615         * lib/argp-eexst.c: New file, from glibc.
66616         * lib/argp-fmtstream.c: New file, from glibc.
66617         * lib/argp-fmtstream.h: New file, from glibc.
66618         * lib/argp-fs-xinl.c: New file, from glibc.
66619         * lib/argp-help.c: New file, from glibc.
66620         * lib/argp-namefrob.h: New file, from glibc.
66621         * lib/argp-parse.c: New file, from glibc.
66622         * lib/argp-pv.c: New file, from glibc.
66623         * lib/argp-pvh.c: New file, from glibc.
66624         * lib/argp-xinl.c: New file, from glibc.
66625
66626 2003-06-10  Simon Josefsson  <jas@extundo.com>
66627
66628         * modules/strchrnul: New file.
66629
66630 2003-06-10  Simon Josefsson  <jas@extundo.com>
66631
66632         * modules/argp: New file.
66633
66634 2003-06-10  Simon Josefsson  <jas@extundo.com>
66635
66636         * m4/strchrnul.m4: New file.
66637
66638 2003-06-10  Simon Josefsson  <jas@extundo.com>
66639
66640         * lib/strchrnul.h: New file.
66641         * lib/strchrnul.c: New file.
66642
66643 2003-06-10  Bruno Haible  <bruno@clisp.org>
66644
66645         * MODULES.html.sh (func_all_modules): Add strchrnul and argp.
66646
66647 2003-06-07  Karl Berry  <karl@gnu.org>
66648
66649         * config/config.{guess,sub}: update from prep.
66650
66651 2003-06-07  Jim Meyering  <jim@meyering.net>
66652
66653         * modules/strtod: Use $(...) notation, not @...@ for
66654         AC_REPLACE'd variables.
66655         * modules/localcharset: Likewise.
66656
66657 2003-06-07  Jim Meyering  <jim@meyering.net>
66658
66659         * lib/readtokens.h: Put `Free Software Foundation, Inc.'
66660         in place of my name in the copyright comment.
66661         Remove definition and uses of __P.
66662
66663         From coreutils.
66664         * lib/stat.c: Don't declare xmalloc explicitly.
66665         Instead, include "xalloc.h".
66666         * lib/readtokens.c (readtokens): Remove anachronistic casts of xmalloc,
66667         xrealloc, and xcalloc return values.
66668         * lib/xgetcwd.c (xgetcwd): Include "xgetcwd.h".
66669         Improve comment.
66670         * lib/xgetcwd.h: Remove definition/uses of PARAMS.
66671
66672 2003-06-07  Bruno Haible  <bruno@clisp.org>
66673
66674         * modules/poll (Makefile.am): Use explicit creation rule for poll.h, to
66675         avoid AC_CONFIG_LINKS.
66676         * modules/fnmatch (Makefile.am): Use explicit creation rule for
66677         fnmatch.h, to avoid AC_CONFIG_LINKS.
66678         * modules/alloca (Makefile.am): Make creation of alloca.h Ctrl-C safe.
66679
66680 2003-06-07  Bruno Haible  <bruno@clisp.org>
66681
66682         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH, gl_FUNC_FNMATCH_POSIX,
66683         gl_FUNC_FNMATCH_GNU): Set FNMATCH_H instead of invoking
66684         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
66685         directory.
66686         * m4/poll.m4 (gl_FUNC_POLL): Set POLL_H instead of invoking
66687         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
66688         directory.
66689
66690 2003-06-06  Jim Meyering  <jim@meyering.net>
66691
66692         Merge from coreutils.
66693         * lib/same.c: (same_name): Declare *_basename locals to be `const'.
66694         Consolidate declarations and initializations of *_base* locals.
66695
66696         Merge from coreutils.
66697         This avoids a core dump on systems without GNU putenv,
66698         when running `env -u SOME_ALREADY_UNSET_VARIABLE'.
66699         * lib/putenv.c (__set_errno, LOCK, UNLOCK): Define.
66700         (unsetenv): New static function, from GNU libc.
66701         (rpl_putenv): Use it.
66702
66703         * lib/modechange.c: Remove trailing blanks.
66704
66705         Merge from coreutils.
66706         * lib/fsusage.c: Remove declaration of statfs.
66707         It conflicted with one from OSF/1 5.1 in <sys/mount.h>.
66708
66709         * lib/posixtm.c: Include <stdbool.h> unconditionally.
66710
66711 2003-06-06  Jim Meyering  <jim@meyering.net>
66712
66713         * lib/stdbool_.h: Renamed from stdbool.h.in.
66714
66715 2003-06-06  Jim Meyering  <jim@meyering.net>
66716             Bruno Haible  <bruno@clisp.org>
66717
66718         * modules/stdbool: Reflect renaming: stdbool.h.in -> stdbool_.h.
66719         Adjust Makefile.am snippet not to redirect directly to target.
66720         Use $(STDBOOL_H) notation, not @STDBOOL_H@ for AC_REPLACE'd variables.
66721
66722 2003-06-05  Paul Eggert  <eggert@twinsun.com>
66723
66724         * lib/mktime.c (__mktime_internal): When resolving a tm_isdst
66725         mismatch, look in future quarters as well as past.  This fixes a
66726         bug when processing fall-backwards gaps immediately after a long
66727         period of daylight-saving time.
66728
66729         * lib/mktime.c: Assume freestanding C89 or better.
66730         (HAVE_LIMITS_H): Remove.  Assume it's 1.
66731         (__P): Remove; not used.
66732         (CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
66733         (mktime, not_equal_tm, print_tm, check_result,
66734         main): Use prototypes.  Use const * where appropriate.
66735         (main): Fix typo in testing code that uncovered by above changes.
66736         (Local Variables): Remove -DHAVE_LIMITS_H from compile-command.
66737
66738 2003-06-04  Paul Eggert  <eggert@twinsun.com>
66739
66740         * m4/human.m4 (gl_HUMAN): Require AM_STDBOOL_H.  Check for
66741         locale.h, localeconv.  This merges changes from coreutils.
66742
66743         * m4/mktime.m4 (AC_FUNC_MKTIME): New macro, taken from Autoconf CVS.
66744         It can be removed after the next Autoconf is released.
66745         * m4/exclude.m4 (gl_EXCLUDE): Don't check for sys/types.h; no loner
66746         needed.
66747
66748 2003-06-04  Paul Eggert  <eggert@twinsun.com>
66749
66750         * lib/mktime.c: Fix Debian bug 177940
66751         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177940>.
66752         (localtime_offset): Now long int, not time_t, because we want it
66753         to be guaranteed to be signed.  All uses changed.
66754         (__mktime_internal): If overflow would occur when adding offset,
66755         don't add it.
66756
66757         Merge 'human' changes from coreutils.  Rewrite to support
66758         locale-specific notations like thousands separators.
66759         * lib/human.c: Simplify authorship notice.
66760         Include human.h immediately after config.h.
66761         <sys/types.h>, <stdio.h>: Do not include; no longer needed.
66762         <limits.h>: Do not include, since human.h does.
66763         (SIZE_MAX, UINTMAX_MAX): New macros.
66764         <strings.h>: Include if HAVE_STRINGS_H, not if !HAVE_STRING_H.
66765         <locale.h>: Include if HAVE_LOCALE_H and HAVE_LOCALECONV.
66766         (HUMAN_READABLE_SUFFIX_LENGTH_MAX): New macro.
66767         (power_letter): Renamed from suffixes.
66768         (generate_suffix_backwards): Remove.
66769         (adjust_value): Now takes int style (because of human.h changes)
66770         and long double value (for greater precision on some platforms).
66771         (group_number): New function.
66772         (human_readable): Use it.  Use integer options, not enum.
66773         Put the options before the sizes in the arg list.
66774         Support all the new options.
66775         The old human_readable function has been removed;
66776         use inttostr.h instead.
66777         (human_readable, default_block_size, humblock):
66778         Use uintmax_t, not int, for block sizes.
66779         (human_readable_inexact, block_size_types): Remove.
66780         (block_size_opts): New constant.
66781         (human_options): Renamed from human_block_size, with new signature
66782         that allows block sizes up to UINTMAX_MAX.  All callers changed.
66783         * lib/human.h: Add copyright and authorship notice.
66784         Include <limits.h> and <stdbool.h> unconditionally.
66785         (PARAMS): Remove.  All uses removed.
66786         (LONGEST_HUMAN_READABLE): Add support for thousands separator.
66787         (enum human_inexact_style): Remove tag; now a nameless enum.
66788         (human_floor, human_ceiling, human_round_to_even): Now have
66789         values 2, 0, 1 rather than -1, 1, 0.
66790         (human_group_digits, human_suppress_point_zero, human_autoscale,
66791         human_base_1024, human_SI, human_B): New constants.
66792         (human_readable_inexact, human_block_size): Remove.
66793         (human_readable): Size args are now uintmax_t, not int.
66794         (human_options): New decl.
66795
66796         * lib/exclude.c: (new_exclude, add_exclude): Remove casts that are
66797         unnecessary now that we assume C89 or better.  This change
66798         imported from coreutils.
66799
66800         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
66801         arbitrarily.  This is the same patch as 2003-05-28, but it got lost
66802         in the 2003-05-30 sync from glibc.
66803
66804         .h files should stand alone, but we shouldn't include <sys/types.h>
66805         if we can get away with just <stddef.h>.
66806
66807         * lib/__fpending.h, addext.c, backupfile.c, exclude.c, getline.c,
66808         malloc.c, putenv.c, realloc.c, strcasecmp.c: Include <stddef.h>
66809         rather than <sys/types.h>, as we merely need size_t.
66810         * lib/dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include <stddef.h>,
66811         to get size_t.
66812         * lib/hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h:
66813         Include <stdio.h>, to get FILE.
66814         * lib/memcasecmp.c: Don't include <sys/types.h>, as we can assume
66815         memcasecmp.h has included <stddef.h> and all we need is size_t.
66816         * lib/memcoll.c: Include "memcoll.h", which gets us size_t and checks
66817         our interface, instead of including <sys/types.h>
66818
66819 2003-06-04  Paul Eggert  <eggert@twinsun.com>
66820
66821         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): Comment out for
66822         now, as glibc mktime is buggy on non-glibc systems.
66823
66824 2003-06-03  Karl Berry  <karl@gnu.org>
66825
66826         * config/config.sub: update from prep.
66827
66828 2003-06-02  Paul Eggert  <eggert@twinsun.com>
66829
66830         [from coreutils]
66831         Fix some minor time-related bugs with POSIX time arguments.
66832         Some valid time stamps were being rejected (notably -1, and
66833         time stamps before 1900 on 64-bit hosts).  And some invalid
66834         time stamps were being accepted, e.g. September 31.
66835
66836         * lib/posixtm.h (posixtime): Return bool instead of time_t, so
66837         that we can return (time_t) -1 successfully.
66838         * lib/posixtm.c: Likewise.
66839         [HAVE_STDBOOL_H]: Include <stdbool.h>.
66840         (bool, false, true) [!HAVE_STDBOOL_H]: New type.
66841         (t): Remove static var.
66842         (year, posix_time_parse): Now takes struct tm * arg to modify, instead
66843         of static var.  All uses changed.
66844         (year): Do not reject years before 1900; they can occur with
66845         64-bit time_t.
66846         (posix_time_parse): Do not check for out-of-range components;
66847         that is now the caller's responsibility, since our checks were
66848         only approximations.
66849         (posixtime): Use mktime to check for out-of-range components,
66850         since it knows them exactly.
66851         If mktime returns (time_t) -1, check whether an error actually occurred
66852         by invoking localtime on -1.
66853         (main) [TEST_POSIXTIME]: Check for input data errors, and report
66854         posixtime failures better.
66855         Improve the test data (in comments only).
66856
66857 2003-06-02  Karl Berry  <karl@gnu.org>
66858
66859         * config/mkinstalldirs (version): new variable.
66860         (--version): new option.
66861         (usage): improve message.
66862
66863 2003-05-30  Karl Berry  <karl@gnu.org>
66864
66865         * lib/mktime.c: update from libc.
66866
66867 2003-05-30  Bruno Haible  <bruno@clisp.org>
66868
66869         * modules/gettext: Add files m4/nls.m4 and m4/po.m4.
66870         * config/config.rpath: Upgrade to gettext-0.12.1.
66871
66872 2003-05-30  Bruno Haible  <bruno@clisp.org>
66873
66874         * m4/gettext.m4: Upgrade to gettext-0.12.1.
66875         * m4/nls.m4: New file, from gettext-0.12.1.
66876         * m4/po.m4: New file, from gettext-0.12.1.
66877         * m4/progtest.m4: Upgrade to gettext-0.12.1.
66878
66879 2003-05-30  Bruno Haible  <bruno@clisp.org>
66880
66881         * lib/config.charset: Upgrade to gettext-0.12.1 and libiconv-1.9.1.
66882         * lib/localcharset.h: Likewise.
66883         * lib/localcharset.c: Likewise.
66884
66885 2003-05-29  Karl Berry  <karl@gnu.org>
66886
66887         * config/config.rpath: update from gettext.
66888
66889 2003-05-28  Paul Eggert  <eggert@twinsun.com>
66890
66891         Assume the headers required for C89 freestanding compilers.
66892         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for limits.h.
66893         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Likewise.
66894         * m4/human.m4 (gl_HUMAN): Likewise.
66895         * m4/pathmax.m4 (gl_PATHMAX): Likewise.
66896         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Likewise.
66897         * m4/userspec.m4 (gl_USERSPEC): Likewise.
66898         * m4/xreadlink.m4 (gl_XREADLINK): Likewise.
66899         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
66900         * m4/quote.m4 (gl_QUOTE): Don't check for stddef.h.
66901
66902 2003-05-28  Paul Eggert  <eggert@twinsun.com>
66903
66904         Assume the headers required for C89 freestanding compilers.
66905         * lib/addext.c, lib/backupfile.c, lib/fsusage.c, lib/human.c,
66906         lib/pathmax.h, lib/rpmatch.c, lib/userspec.c, lib/xreadlink.c,
66907         lib/xstrtol.c: Include <limits.h> without checking for HAVE_LIMITS_H.
66908         * lib/backupfile.c, lib/fsusage.c, lib/hash.c, lib/human.c,
66909         lib/safe-read.c, lib/userspec.c, lib/xstrtol.c (CHAR_BIT): Don't
66910         define, since <limits.h> is guaranteed to do that.
66911         * lib/fatal.c: Include <stdarg.h> without checking for __STDC__.
66912         * lib/exclude.c: Include <stdbool.h> unconditionally.
66913         * lib/tempname.c: Include <stddef.h> unconditionally.
66914         * lib/hash.c: Include <limits.h>, since we no longer define CHAR_BIT.
66915         * lib/modechange.c, rpmatch.c (NULL): Don't define, since
66916         <stddef.h> does that.
66917         * lib/quote.c: Dont include <stddef.h> or <sys/types.h>; not needed.
66918         * lib/safe-read.c (INT_MAX): Don't define, since <limits.h> does that.
66919         * lib/safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer
66920         needed.
66921         * lib/xstrtol.c: Likewise.
66922         * lib/safe-read.c: Remove TYPE_SIGNED; no longer needed.
66923         * lib/savedir.c: Include <stddef.h> instead of defining NULL.
66924
66925         * lib/addext.c (addext): Use assignment rather than cast, to avoid
66926         warnings on some platforms.
66927
66928         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
66929         arbitrarily.
66930
66931 2003-05-26  Jim Meyering  <jim@meyering.net>
66932
66933         Merge in a change from coreutils:
66934         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Test the cache variable, not one
66935         that is guaranteed to be `no'.  Use `no_such_member' to indicate
66936         that condition, rather than `-1' which is slightly misleading.
66937         Change the name of the cache variable to have the gl_ prefix.
66938         Prompted by a patch from Richard Dawe for DJGPP.
66939
66940 2003-05-24  Karl Berry  <karl@gnu.org>
66941
66942         * config/config.guess: update from prep.
66943
66944 2003-05-22  Karl Berry  <karl@gnu.org>
66945
66946         * gnulib-tool (func_usage): =LIBRARY not =libRARY in help msg.
66947
66948 2003-05-20  Karl Berry  <karl@gnu.org>
66949
66950         * config/config.guess: update from prep.
66951
66952 2003-05-18  Karl Berry  <karl@gnu.org>
66953
66954         * config/srclistvars.sh (TEXMF): use TEXMFROOT instead, since TEXMF
66955         might actually be set by the user.
66956
66957         * config/depcomp, install-sh, mdate-sh: update from automake.
66958
66959 2003-05-17  Bruno Haible  <bruno@clisp.org>
66960
66961         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Fix a quoting bug leading to an
66962         invalid expansion for AC_EGREP_CPP.
66963         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
66964         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
66965         Suggested by Akim Demaille <akim@epita.fr> in
66966         http://mail.gnu.org/archive/html/bug-autoconf/2003-05/threads.html
66967
66968 2003-05-12  Jim Meyering  <jim@meyering.net>
66969
66970         * lib/strftime.c (my_strftime): Let the `-' (no-pad) flag affect
66971         the space-padded-by-default conversion specifiers, %e, %k, %l.
66972
66973 2003-05-12  Bruno Haible  <bruno@clisp.org>
66974
66975         * lib/linebreak.c (iconv_string_length): Don't return -1 just because
66976         the string is longer than 4 KB.
66977
66978 2003-05-11  Karl Berry  <karl@gnu.org>
66979
66980         * config/config.{guess,sub}: update from prep.
66981
66982 2003-05-09  Bruno Haible  <bruno@clisp.org>
66983
66984         * modules/error: Add m4/strerror_r.m4 to file list.
66985
66986 2003-05-03  Bruno Haible  <bruno@clisp.org>
66987
66988         Upgrade to Unicode-4.0.
66989         * lib/linebreak.c (nonspacing_table_data): Change width of U+00AD,
66990         U+0350..U+0357, U+035D..U+035F, U+0600..U+0603, U+0610..U+0615,
66991         U+0656..U+0658, U+0A01, U+0AE2..U+0AE3, U+0CBC, U+17B4..U+17B5,
66992         U+17DD, U+1920..U+1922, U+1927..U+192B, U+1932, U+1939..U+193B
66993         from 1 to 0. Change width of U+0CBF, U+0CC6, U+180E from 0 to 1.
66994         (uc_width): Change width of U+4DC0..U+4DFF from 2 to 1. Change width
66995         of U+2A6D7..U+2F7FF, U+2FA1E..U+2FFFD, U+30000..U+3FFFD from 1 to 2.
66996         Change width of U+E0100..U+E01EF from 1 to 0.
66997
66998 2003-04-25  Jim Meyering  <jim@meyering.net>
66999
67000         * lib/copy-file.c (copy_file_preserving): Declare buf_size to be
67001         of type size_t, not int.
67002
67003 2003-04-25  Bruno Haible  <bruno@clisp.org>
67004
67005         * lib/copy-file.c: Include <stddef.h>, for size_t.
67006
67007 2003-04-21  Paul Eggert  <eggert@twinsun.com>
67008
67009         * m4/error.m4 (gl_ERROR): Do not put under dynamic conditions some
67010         code which expansion is under static control.  Patch imported from
67011         Akim Demaille's patch to Bison; see
67012         <http://mail.gnu.org/archive/html/bison-patches/2003-03/msg00057.html>.
67013
67014 2003-04-14  Bruno Haible  <bruno@clisp.org>
67015
67016         * m4/error.m4 (jm_PREREQ_ERROR): Use AC_FUNC_VPRINTF.
67017
67018 2003-04-11  Jim Meyering  <jim@meyering.net>
67019
67020         Merge changes from Coreutils.
67021
67022         2003-03-22  Jim Meyering  <jim@meyering.net>
67023
67024         * lib/strftime.c (widen): Cast alloca return value to proper type.
67025
67026         2003-01-19  Ulrich Drepper  <drepper@redhat.com>
67027
67028         From GNU libc.
67029         * lib/strftime.c (my_strftime): Handle very large width
67030         specifications for numeric values correctly.  Improve checks for
67031         overflow.
67032
67033         2003-01-19  Jim Meyering  <jim@meyering.net>
67034
67035         * lib/strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical
67036         definitions.
67037         (nl_get_alt_digit) [! defined my_strftime]: Define.
67038         (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
67039         _nl_get_alt_digit and _nl_get_walt_digit.
67040
67041         * lib/strftime.c (my_strftime): Merge in locale-related changes from
67042         libc. These changes have no effect outside of _LIBC.
67043
67044 2003-04-10  Bruno Haible  <bruno@clisp.org>
67045
67046         * modules/findprog: New file.
67047         * MODULES.html.sh (func_all_modules): Add it.
67048
67049 2003-04-10  Bruno Haible  <bruno@clisp.org>
67050
67051         * m4/findprog.m4: New file.
67052         * m4/eaccess.m4: New file.
67053
67054 2003-04-10  Bruno Haible  <bruno@clisp.org>
67055
67056         * lib/findprog.h: New file, from GNU gettext.
67057         * lib/findprog.c: New file, from GNU gettext.
67058
67059 2003-04-05  Jim Meyering  <jim@meyering.net>
67060
67061         Merge changes from Coreutils.
67062
67063         * lib/exclude.h (PARAMS): Remove definition and uses.
67064         * lib/exclude.c: Remove uses of `PARAMS'.
67065
67066         * lib/dirname.c [TEST_DIRNAME]: Update build instructions for test.
67067         Add test-cases for DOS filenames. Declare program_name.
67068         (main): Set up program_name.  Patch by Rich Dawe.
67069
67070         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
67071         error from mntctl.
67072         Use mntctl's return value to drive the entry-processing loop, since
67073         we can't rely on the value of the vmt_length member in the last
67074         entry.  On some systems doing so could result in exhausting
67075         virtual memory.  Based in part on a patch from Mike Jetzer.
67076
67077 2003-04-04  Bruno Haible  <bruno@clisp.org>
67078
67079         * modules/linebreak: New file.
67080         * MODULES.html.sh (func_all_modules): Add it.
67081
67082 2003-04-04  Bruno Haible  <bruno@clisp.org>
67083
67084         * m4/linebreak.m4: New file.
67085
67086 2003-04-04  Bruno Haible  <bruno@clisp.org>
67087
67088         * lib/linebreak.h: New file, from GNU gettext.
67089         * lib/linebreak.c: New file, from GNU gettext with slight
67090         modifications.
67091         * lib/lbrkprop.h: New file, from GNU gettext.
67092
67093 2003-04-03  Bruno Haible  <bruno@clisp.org>
67094
67095         * modules/utf8-ucs4: New file.
67096         * modules/utf16-ucs4: New file.
67097         * modules/ucs4-utf8: New file.
67098         * modules/ucs4-utf16: New file.
67099         * MODULES.html.sh (func_all_modules): Add them.
67100
67101 2003-04-03  Bruno Haible  <bruno@clisp.org>
67102
67103         * m4/utf-ucs4.m4: New file.
67104         * m4/ucs4-utf.m4: New file.
67105
67106 2003-04-03  Bruno Haible  <bruno@clisp.org>
67107
67108         * lib/utf8-ucs4.h: New file, from GNU gettext.
67109         * lib/utf16-ucs4.h: New file, from GNU gettext.
67110         * lib/ucs4-utf8.h: New file, from GNU gettext.
67111         * lib/ucs4-utf16.h: New file, from GNU gettext.
67112
67113 2003-04-02  Bruno Haible  <bruno@clisp.org>
67114
67115         * modules/binary-io: New file.
67116         * MODULES.html.sh (func_all_modules): Add it.
67117
67118 2003-04-02  Bruno Haible  <bruno@clisp.org>
67119
67120         * lib/binary-io.h: New file, from GNU gettext.
67121
67122 2003-04-01  Bruno Haible  <bruno@clisp.org>
67123
67124         * modules/pathname: New file.
67125         * MODULES.html.sh (func_all_modules): Add it.
67126
67127 2003-04-01  Bruno Haible  <bruno@clisp.org>
67128
67129         * lib/pathname.h: New file, from GNU gettext.
67130         * lib/concatpath.c: New file, from GNU gettext.
67131
67132 2003-03-30  Bruno Haible  <bruno@clisp.org>
67133
67134         * m4/copy-file.m4 (gl_COPY_FILE): Add check for chown().
67135
67136 2003-03-30  Bruno Haible  <bruno@clisp.org>
67137
67138         * lib/copy-file.c (copy_file_preserving): Don't set owner if the
67139         function chown() doesn't exist.
67140
67141 2003-03-28  Bruno Haible  <bruno@clisp.org>
67142
67143         * modules/copy-file: New file.
67144         * MODULES.html.sh (func_all_modules): Add it.
67145
67146 2003-03-28  Bruno Haible  <bruno@clisp.org>
67147
67148         * m4/copy-file.m4: New file.
67149
67150 2003-03-28  Bruno Haible  <bruno@clisp.org>
67151
67152         * lib/copy-file.h: New file, from GNU gettext.
67153         * lib/copy-file.c: New file, from GNU gettext.
67154
67155 2003-03-18  Jim Meyering  <jim@meyering.net>
67156
67157         * lib/quote.c (quote_n): Fix typo in comment.
67158
67159 2003-03-18  Bruno Haible  <bruno@clisp.org>
67160
67161         * m4/onceonly.m4: Use m4_defn instead of defn, for better error
67162         checking.
67163         * m4/onceonly_2_57.m4: Likewise.
67164
67165 2003-03-17  Bruno Haible  <bruno@clisp.org>
67166
67167         * m4/onceonly.m4: Require autoconf 2.54 or newer.
67168         (m4_quote): Remove macro.
67169         * m4/onceonly_2_57.m4: Require autoconf 2.54 or newer.
67170
67171 2003-03-14  Jim Meyering  <jim@meyering.net>
67172
67173         Merge changes from Coreutils.
67174         * lib/obstack.h (obstack_object_size): Declare temporary, __o,
67175         to be const, in order to avoid warnings.
67176         (obstack_room): Likewise.
67177         (obstack_empty_p): Likewise.
67178
67179 2003-03-14  Bruno Haible  <bruno@clisp.org>
67180
67181         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE,
67182         AC_CHECK_DECLS_ONCE): Quote AC_FOREACH variable-expansions properly.
67183
67184 2003-03-13  Paul Eggert  <eggert@twinsun.com>
67185
67186         Merge changes from Bison.
67187         * lib/obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to
67188         (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
67189         when compiling Bison 1.875's `bitset bset = obstack_alloc
67190         (bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
67191         * lib/hash.c: Include <stdbool.h> unconditionally.
67192
67193 2003-03-13  Paul Eggert  <eggert@twinsun.com>
67194
67195         * m4/onceonly.m4 (m4_quote): New macro.
67196         (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE):
67197         Quote AC_FOREACH variable-expansions properly.
67198
67199 2003-03-13  Paul Eggert  <eggert@twinsun.com>
67200
67201         * doc/COPYING.DOC, fdl.texi: Sync with latest FSF version.
67202
67203 2003-03-09  Paul Eggert  <eggert@twinsun.com>
67204
67205         * lib/argmatch.c (EXIT_FAILURE): Define if the system doesn't.
67206         Reported by Bruce Becker; see:
67207         http://mail.gnu.org/archive/html/bug-bison/2003-03/msg00017.html
67208
67209 2003-03-03  Paul Eggert  <eggert@twinsun.com>
67210             Bruno Haible  <bruno@clisp.org>
67211
67212         * lib/mbswidth.h: Include <wchar.h>. Needed for UnixWare 7.1.1.
67213         Reported by John Hughes, see
67214         http://mail.gnu.org/archive/html/bug-bison/2003-02/msg00030.html
67215
67216 2003-02-20  Bruno Haible  <bruno@clisp.org>
67217
67218         * MODULES.html.sh (func_all_modules): Add poll.
67219
67220 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
67221
67222         * modules/poll: New file.
67223
67224 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
67225
67226         * lib/poll_.h: New file.
67227         * lib/poll.c: New file.
67228
67229 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
67230
67231         * m4/poll.m4: New file.
67232
67233 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
67234
67235         * modules/mathl: New file.
67236
67237 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
67238
67239         * lib/mathl.h: New file.
67240         * lib/acosl.c: New file.
67241         * lib/asinl.c: New file.
67242         * lib/atanl.c: New file.
67243         * lib/ceill.c: New file.
67244         * lib/cosl.c: New file.
67245         * lib/expl.c: New file.
67246         * lib/floorl.c: New file.
67247         * lib/frexpl.c: New file.
67248         * lib/ldexpl.c: New file.
67249         * lib/logl.c: New file.
67250         * lib/sincosl.c: New file.
67251         * lib/sinl.c: New file.
67252         * lib/sqrtl.c: New file.
67253         * lib/tanl.c: New file.
67254         * lib/trigl.c: New file.
67255         * lib/trigl.h: New file.
67256
67257 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
67258
67259         * m4/mathl.m4: New file.
67260
67261 2003-02-18  Bruno Haible  <bruno@clisp.org>
67262
67263         * MODULES.html.sh (func_all_modules): Add mathl.
67264
67265 2003-02-17  Bruno Haible  <bruno@clisp.org>
67266
67267         * modules/mkdtemp: New module.
67268         * MODULES.html.sh (func_all_modules): Add it.
67269
67270 2003-02-17  Bruno Haible  <bruno@clisp.org>
67271
67272         * m4/mkdtemp.m4: New file, from GNU gettext with modifications.
67273
67274 2003-02-17  Bruno Haible  <bruno@clisp.org>
67275
67276         * lib/mkdtemp.h: New file, from GNU gettext.
67277         * lib/mkdtemp.c: New file, from GNU gettext.
67278
67279 2003-02-02  Jim Meyering  <jim@meyering.net>
67280
67281         * m4/regex.m4 (jm_INCLUDED_REGEX): Detect broken re_search in
67282         e.g. glibc-2.2.93.
67283
67284 2003-01-31  Bruno Haible  <bruno@clisp.org>
67285
67286         * m4/rename.m4 (vb_FUNC_RENAME): Add a redirection from 'rename' to
67287         'rpl_rename'.
67288         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Add a redirection from 'strnlen' to
67289         'rpl_strnlen'.
67290         * m4/strtod.m4 (gl_FUNC_STRTOD): Add a redirection from 'strtod' to
67291         'rpl_strtod'.
67292         * m4/utime.m4 (jm_FUNC_UTIME): Add a redirection from 'utime' to
67293         'rpl_utime'.
67294
67295 2003-01-31  Bruno Haible  <bruno@clisp.org>
67296
67297         * lib/rename.c: #undef rename before defining rpl_rename.
67298         * lib/strnlen.c: #undef strnlen, define rpl_strnlen instead of strnlen.
67299
67300 2003-01-30  Bruno Haible  <bruno@clisp.org>
67301
67302         * modules/vasnprintf, modules/vasprintf: New modules.
67303         * MODULES.html.sh (func_all_modules): Add them.
67304
67305 2003-01-30  Bruno Haible  <bruno@clisp.org>
67306
67307         * m4/signed.m4: New file, from GNU gettext.
67308         * m4/longdouble.m4: New file, from GNU gettext.
67309         * m4/wchar_t.m4: New file, from GNU gettext.
67310         * m4/wint_t.m4: New file, from GNU gettext.
67311         * m4/vasnprintf.m4: New file.
67312         * m4/vasprintf.m4: New file.
67313
67314 2003-01-30  Bruno Haible  <bruno@clisp.org>
67315
67316         * lib/printf-args.h: New file, from GNU gettext.
67317         * lib/printf-args.c: New file, from GNU gettext.
67318         * lib/printf-parse.h: New file, from GNU gettext.
67319         * lib/printf-parse.c: New file, from GNU gettext.
67320         * lib/vasnprintf.h: New file, from GNU gettext.
67321         * lib/vasnprintf.c: New file, from GNU gettext.
67322         * lib/asnprintf.c: New file, from GNU gettext.
67323         * lib/vasprintf.h: New file, from GNU gettext with modifications.
67324         * lib/vasprintf.c: New file, from GNU gettext.
67325         * lib/asprintf.c: New file, from GNU gettext.
67326
67327 2003-01-29  Bruno Haible  <bruno@clisp.org>
67328
67329         * modules/stpncpy: New module.
67330         * MODULES.html.sh (func_all_modules): Add it.
67331
67332 2003-01-29  Bruno Haible  <bruno@clisp.org>
67333
67334         * m4/stpncpy.m4: New file.
67335
67336 2003-01-29  Bruno Haible  <bruno@clisp.org>
67337
67338         * lib/stpncpy.h: New file, from GNU gettext with modifications.
67339         * lib/stpncpy.c: New file, from GNU gettext with modifications.
67340
67341 2003-01-28  Bruno Haible  <bruno@clisp.org>
67342
67343         * modules/c-ctype: New module.
67344         * MODULES.html.sh (func_all_modules): Add it.
67345
67346 2003-01-28  Bruno Haible  <bruno@clisp.org>
67347
67348         * lib/c-ctype.h: New file, from GNU gettext, with changes suggested by
67349         Paul Eggert.
67350         * lib/c-ctype.c: New file, from GNU gettext, with changes suggested by
67351         Paul Eggert.
67352
67353 2003-01-27  Bruno Haible  <bruno@clisp.org>
67354
67355         * modules/xsetenv: New module.
67356         * MODULES.html.sh (func_all_modules): Add it.
67357
67358 2003-01-27  Bruno Haible  <bruno@clisp.org>
67359
67360         * lib/xsetenv.h: New file, from GNU gettext.
67361         * lib/xsetenv.c: New file, from GNU gettext.
67362
67363 2003-01-23  Jim Meyering  <jim@meyering.net>
67364
67365         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Correct typo: s/-1/no/ that kept this
67366         from working on systems without dirfd (at least Irix and OSF1/Tru64).
67367
67368 2003-01-23  Bruno Haible  <bruno@clisp.org>
67369
67370         * modules/minmax: New module.
67371         * MODULES.html.sh (func_all_modules): Add it.
67372
67373 2003-01-23  Bruno Haible  <bruno@clisp.org>
67374
67375         * lib/minmax.h: New file, from GNU gettext, with comments from Paul
67376         Eggert.
67377
67378 2003-01-22  Bruno Haible  <bruno@clisp.org>
67379
67380         * modules/exit: New module.
67381         * MODULES.html.sh (func_all_modules): Add it.
67382
67383 2003-01-22  Bruno Haible  <bruno@clisp.org>
67384
67385         * lib/exit.h: New file, from GNU gettext.
67386
67387 2003-01-19  Bruno Haible  <bruno@clisp.org>
67388
67389         * gnulib-tool: Recognize option --extract-maintainer.
67390         (func_get_maintainer): New function.
67391         * modules/*: Add Maintainer entry.
67392
67393 2003-01-16  Jim Meyering  <jim@meyering.net>
67394
67395         * m4/regex.m4: The `regex' struct is both input and output.
67396         Initialize it before each use.  Patch by Tim Waugh.
67397
67398 2003-01-16  Bruno Haible  <bruno@clisp.org>
67399
67400         * MODULES.html.sh: Add a table of contents. Add the module name as
67401         leftmost column. Add hyperlinks.
67402
67403 2003-01-15  Bruno Haible  <bruno@clisp.org>
67404
67405         * m4/md5.m4 (gl_MD5): Require AC_C_INLINE.
67406
67407 2003-01-15  Bruno Haible  <bruno@clisp.org>
67408
67409         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): Also test the LL suffix.
67410         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Also test the ULL
67411         suffix.
67412
67413 2003-01-15  Bruno Haible  <bruno@clisp.org>
67414
67415         * m4/alloca.m4 (gl_FUNC_ALLOCA): Invoke AC_EGREP_CPP prerequisites.
67416
67417 2003-01-15  Bruno Haible  <bruno@clisp.org>
67418
67419         * lib/stpcpy.h (stpcpy): Use ANSI C function declarations.
67420         * lib/strcase.h (strcasecmp, strncasecmp): Likewise.
67421
67422 2003-01-14  Jim Meyering  <jim@meyering.net>
67423
67424         * lib/same.c (same_name): Tweak a comment.
67425
67426 2003-01-14  Bruno Haible  <bruno@clisp.org>
67427
67428         * lib/same.c (same_name): Reorder tests so as to avoid calling stat()
67429         when a string comparison is sufficient.
67430
67431 2003-01-14  Bruno Haible  <bruno@clisp.org>
67432
67433         * lib/readtokens.c (readtoken): Cast character to 'unsigned char', not
67434         'unsigned int'.
67435
67436 2003-01-14  Bruno Haible  <bruno@clisp.org>
67437
67438         * lib/hash-pjw.c: Add comment about low quality of this function.
67439
67440 2003-01-13  Bruno Haible  <bruno@clisp.org>
67441
67442         * modules/stpcpy: Distribute lib/stpcpy.h.
67443         * modules/setenv: Depend on alloca. Distribute lib/setenv.h.
67444
67445 2003-01-13  Bruno Haible  <bruno@clisp.org>
67446
67447         * modules/*: Add a description.
67448         * modules/strpbrk: Fix Makefile.am snippet.
67449         * modules/strtoimax: Fix dependencies.
67450         * modules/strtoumax: Likewise.
67451
67452 2003-01-13  Bruno Haible  <bruno@clisp.org>
67453
67454         * gnulib-tool (func_create_testdir): Substitute lib_OBJECTS.
67455         * modules/alloca (Makefile.am): All object files depend on alloca.h.
67456         * modules/stdbool (Makefile.am): All object files depend on stdbool.h.
67457
67458 2003-01-13  Bruno Haible  <bruno@clisp.org>
67459
67460         * gnulib-tool (func_create_testdir): Store config/* files in the main
67461         directory.
67462         * config.rpath: Move to ...
67463         * config/config.rpath: ... here.
67464         * modules/gettext: Contains config/config.rpath, not config.rpath.
67465         * modules/iconv: Likewise.
67466
67467 2003-01-12  Paul Eggert  <eggert@twinsun.com>
67468
67469         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
67470         to avoid collisions with libcurses and libreadline.
67471
67472         * m4/getstr.m4: Remove.
67473         * m4/getline.m4 (gl_PREREQ_GETLINE): Require AC_HEADER_STDC.
67474
67475 2003-01-12  Paul Eggert  <eggert@twinsun.com>
67476
67477         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
67478         to avoid collisions with libcurses and libreadline.
67479
67480         * lib/Makefile.am (libfetish_a_SOURCES): Remove getstr.c, getstr.h.
67481         * lib/getstr.h, getstr.c: Remove.
67482         * lib/getline.c: Include "getline.h", to check interface.
67483         Move body of old getstr.c here: this defines MIN_CHUNK and
67484         declares getdelim2, which is renamed from getstr.
67485         (getline, getdelim): Adjust to renaming of getstr -> getdelim2.
67486
67487         * lib/linebuffer.c (readlinebuffer): Renamed from readline.
67488         All uses changed.
67489         * lib/linebuffer.h: Likewise.
67490         (readline): Remove backward-compatibility macro.
67491
67492 2003-01-12  Paul Eggert  <eggert@twinsun.com>
67493
67494         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
67495         to avoid collisions with libcurses and libreadline.
67496         * getstr: Remove.
67497         * MODULES.html.sh: Remove getstr.
67498         * modules/getline: Depend on unlocked-io, not getstr.
67499
67500 2003-01-12  Jim Meyering  <jim@meyering.net>
67501
67502         * lib/makepath.c: Don't test HAVE_ERRNO_H.  It's not necessary.
67503
67504 2003-01-10  Bruno Haible  <bruno@clisp.org>
67505
67506         * modules/alloca: Change Makefile.am requirements. Simplify Include
67507         requirements. Add lib/alloca_.h to file list.
67508
67509 2003-01-10  Bruno Haible  <bruno@clisp.org>
67510
67511         * m4/alloca.m4 (gl_FUNC_ALLOCA): Also define ALLOCA_H.
67512
67513 2003-01-10  Bruno Haible  <bruno@clisp.org>
67514
67515         * lib/alloca_.h: New file.
67516         * lib/getdate.y: Unconditionally include alloca.h.
67517         * lib/makepath.c: Likewise.
67518         * lib/setenv.c: Likewise.
67519         * lib/userspec.c: Likewise.
67520
67521 2003-01-09  Karl Berry  <karl@gnu.org>
67522
67523         * MODULES.html.sh: include `dirname $0` in PATH, to find
67524         gnulib-tool.
67525
67526 2003-01-09  Bruno Haible  <bruno@clisp.org>
67527
67528         * modules/stdbool: Change configure.ac, Makefile.am requirements.
67529         Simplify Include requirements. Add lib/stdbool.h.in to file list.
67530
67531 2003-01-09  Bruno Haible  <bruno@clisp.org>
67532
67533         * m4/stdbool.m4 (AM_STDBOOL_H): New macro.
67534
67535 2003-01-09  Bruno Haible  <bruno@clisp.org>
67536
67537         * lib/stdbool.h.in: New file.
67538
67539 2003-01-09  Bruno Haible  <bruno@clisp.org>
67540
67541         * gnulib-tool (func_all_modules): Ignore files ending in ~.
67542         * MODULES.html.sh: Likewise.
67543
67544 2003-01-08  Jim Meyering  <jim@meyering.net>
67545
67546         * lib/full-write.c: Undefine and define-away `const' after inclusion
67547         of errno.h, not before.  Suggestion from Bruno Haible.
67548
67549 2003-01-08  Bruno Haible  <bruno@clisp.org>
67550
67551         * modules/full-read: Depend on full-write.
67552
67553 2003-01-08  Bruno Haible  <bruno@clisp.org>
67554
67555         * lib/safe-read.c: Include specification header first, to ensure its
67556         selfcontainedness.
67557         * lib/full-write.c: Likewise.
67558
67559 2003-01-07  Jim Meyering  <jim@meyering.net>
67560
67561         * lib/full-write.c: Rework so that it may serve to define full_read,
67562         too.
67563         * lib/full-read.c: Simply #define FULL_READ and include full-write.c.
67564
67565 2003-01-07  Bruno Haible  <bruno@clisp.org>
67566
67567         * lib/strtoimax.c: Include <stdint.h> as an alternative to
67568         <inttypes.h>.
67569         * lib/xstrtol.h: Likewise.
67570         * lib/xstrtoimax.c: Likewise.
67571         * lib/xstrtoumax.c: Likewise.
67572         * lib/human.h: Likewise.
67573
67574         * lib/tempname.c: Include <inttypes.h> too. Avoids a compilation error
67575         on systems that have <inttypes.h> but not <stdint.h>.
67576
67577 2003-01-07  Bruno Haible  <bruno@clisp.org>
67578
67579         * MODULES.html.sh: Add copyright notice.
67580         (missed_files): Omit CVS directory entries.
67581         (func_module): Make it work with sed-3.02.
67582         * MODULES.txt: Remove file.
67583
67584 2003-01-06  Jim Meyering  <jim@meyering.net>
67585
67586         * lib/version-etc.c: Update year in translatable copyright string.
67587
67588 2003-01-03  Karl Berry  <karl@gnu.org>
67589
67590         * config/config.{guess,sub}: update from prep.
67591
67592 2003-01-02  Karl Berry  <karl@gnu.org>
67593
67594         * doc/COPYING.DOC: belatedly updated to 1.2.
67595
67596 2003-01-01  Karl Berry  <karl@gnu.org>
67597
67598         * gnulib-tool (func_verify_module): report module name $module in
67599         error message, not $1.
67600         * gnulib-tool (create-testdir): don't complain if destdir couldn't
67601         be created, only if it doesn't exist.
67602         * gnulib-tool (last_checkin_date): don't expand the $Date here.
67603
67604 2002-12-31  Paul Eggert  <eggert@twinsun.com>
67605
67606         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_FUNC_MEMCMP.
67607
67608 2002-12-31  Paul Eggert  <eggert@twinsun.com>
67609
67610         * lib/memcoll.c (memcoll): Fall back on a simple algorithm using
67611         memcmp if strcoll doesn't work.
67612
67613 2002-12-31  Bruno Haible  <bruno@clisp.org>
67614
67615         * lib/utime.c (utime_null): No need to call ftruncate if the file was
67616         nonempty.
67617
67618 2002-12-31  Bruno Haible  <bruno@clisp.org>
67619
67620         * lib/memcoll.c (STRCOLL): New macro.
67621         (memcoll): Use it.
67622
67623 2002-12-31  Bruno Haible  <bruno@clisp.org>
67624
67625         * lib/localcharset.h: New file.
67626         * lib/localcharset.c: Include it.
67627         * lib/unicodeio.c: Likewise.
67628
67629 2002-12-31  Bruno Haible  <bruno@clisp.org>
67630
67631         * lib/getstr.h (getstr): Define, to avoid clash with libcurses.
67632         * lib/linebuffer.h (readline): Define, to avoid clash with libreadline.
67633
67634 2002-12-31  Bruno Haible  <bruno@clisp.org>
67635
67636         * lib/getline.h: Include <stddef.h>, for size_t.
67637
67638         * lib/unicodeio.h: Include <stddef.h>, for size_t.
67639         * lib/unicodeio.c: Don't include <stddef.h>.
67640
67641 2002-12-31  Bruno Haible  <bruno@clisp.org>
67642
67643         * lib/getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not
67644         HAVE_TM_ZONE.
67645
67646 2002-12-24  Karl Berry  <karl@gnu.org>
67647
67648         * config/config.guess: update from prep.
67649
67650 2002-12-24  Bruno Haible  <bruno@clisp.org>
67651
67652         General infrasructure.
67653         * m4/README: Rewritten.
67654         * m4/onceonly.m4: New file.
67655         * m4/onceonly_2_57.m4: New file.
67656
67657         Module atexit.
67658         * m4/atexit.m4: New file.
67659
67660         Module strtod.
67661         * m4/strtod.m4: New file.
67662
67663         Module strtol.
67664         * m4/strtol.m4: New file.
67665
67666         Module strtoul.
67667         * m4/strtoul.m4: New file.
67668
67669         Module memchr.
67670         * m4/memchr.m4: New file.
67671
67672         Module memcmp.
67673         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): New macro.
67674         (jm_FUNC_MEMCMP): Invoke it.
67675
67676         Module memcpy.
67677         * m4/memcpy.m4: New file.
67678
67679         Module memmove.
67680         * m4/memmove.m4: New file.
67681
67682         Module memset.
67683         * m4/memset.m4: New file.
67684
67685         Module strcspn.
67686         * m4/strcspn.m4: New file.
67687
67688         Module strpbrk.
67689         * m4/strpbrk.m4: New file.
67690
67691         Module strstr.
67692         * m4/strstr.m4: New file.
67693
67694         Module strerror.
67695         * m4/strerror.m4: New file.
67696
67697         Module mktime.
67698         * m4/mktime.m4: Renamed from jm-mktime.m4.
67699         (gl_PREREQ_MKTIME): New macro.
67700         (gl_FUNC_MKTIME): Renamed from jm_FUNC_MKTIME. Invoke gl_PREREQ_MKTIME.
67701
67702         Module malloc.
67703         * m4/malloc.m4 (gl_PREREQ_MALLOC): New macro.
67704         (jm_FUNC_MALLOC): Use AC_FUNC_MALLOC. Invoke gl_PREREQ_MALLOC.
67705         Don't define HAVE_DONE_WORKING_MALLOC_CHECK, since nothing uses it.
67706
67707         Module realloc.
67708         * m4/realloc.m4 (gl_PREREQ_REALLOC): New macro.
67709         (jm_FUNC_REALLOC): Use AC_FUNC_REALLOC. Invoke gl_PREREQ_REALLOC.
67710         Don't define HAVE_DONE_WORKING_REALLOC_CHECK, since nothing uses it.
67711
67712         Module strftime.
67713         * m4/tm_gmtoff.m4: New file, extracted from strftime.m4.
67714         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Use AC_FUNC_STRFTIME.
67715         Don't test for bcopy (we are not emacs). Invoke AC_TYPE_MBSTATE_T and
67716         gl_TM_GMTOFF.
67717         (_jm_STRFTIME_PREREQS, jm_FUNC_GNU_STRFTIME): Use onceonly macros.
67718
67719         Module xalloc.
67720         * m4/xalloc.m4: New file.
67721
67722         Module alloca.
67723         * m4/alloca.m4: New file.
67724
67725         Module putenv.
67726         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
67727         (jm_FUNC_PUTENV): Invoke it.
67728
67729         Module setenv.
67730         * m4/setenv.m4 (gt_FUNC_SETENV): New macro.
67731         (gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4
67732         when invoked twice.
67733         (gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old
67734         gt_FUNC_SETENV.
67735
67736         Module memrchr.
67737         * m4/memrchr.m4: New file.
67738
67739         Module stpcpy.
67740         * m4/stpcpy.m4: New file.
67741
67742         Module strcase.
67743         * m4/strcase.m4: New file.
67744
67745         Module strdup.
67746         * m4/strdup.m4: New file.
67747
67748         Module strnlen.
67749         * m4/strnlen.m4: New file.
67750
67751         Module strndup.
67752         * m4/strndup.m4: New file.
67753
67754         Module xstrtod.
67755         * m4/xstrtod.m4: New file.
67756
67757         Module xstrtol.
67758         * m4/xstrtol.m4: New file.
67759
67760         Module getdate.
67761         * m4/getdate.m4: New file.
67762
67763         Module unlocked-io.
67764         * m4/unlocked-io.m4: Renamed from jm-glibc-io.m4.
67765         (jm_FUNC_GLIBC_UNLOCKED_IO): Invoke AC_GNU_SOURCE. Use onceonly macros.
67766         * m4/jm-glibc-io.m4n: Remove file.
67767
67768         Module long-options.
67769         * m4/long-options.m4: New file.
67770
67771         Module md5.
67772         * m4/md5.m4: New file.
67773
67774         Module sha.
67775         * m4/sha.m4: New file.
67776
67777         Module getstr.
67778         * m4/getstr.m4: New file.
67779
67780         Module getline.
67781         * m4/getline.m4 (gl_PREREQ_GETLINE): New macro.
67782         (AM_FUNC_GETLINE): Invoke AC_GNU_SOURCE. Use <stdlib.h>, not
67783         <sys/types.h>, for size_t. Use the function name gnu_getline, not
67784         simply getline. Infoke gl_PREREQ_GETLINE.
67785
67786         Module obstack.
67787         * m4/obstack.m4: New file.
67788
67789         Module hash.
67790         * m4/hash.m4: New file.
67791
67792         Module readtokens.
67793         * m4/readtokens.m4: New file.
67794
67795         Module strverscmp.
67796         * m4/strverscmp.m4: New file.
67797
67798         Module stdbool.
67799         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Add test for _Bool. Needed for
67800         OSF/1.
67801
67802         Module strtoll.
67803         * m4/strtoll.m4: New file.
67804
67805         Module strtoull.
67806         * m4/strtoull.m4: New file.
67807
67808         Module strtoimax.
67809         * m4/strtoimax.m4: New file.
67810
67811         Module strtoumax.
67812         * m4/strtoumax.m4: New file.
67813
67814         Module xstrtoimax.
67815         * m4/xstrtoimax.m4 (jm_XSTRTOIMAX): Renamed from
67816         jm_AC_PREREQ_XSTRTOIMAX.
67817         Moved the strtol prerequisites to strtol.m4.
67818         Moved the strtoll prerequisites to strtoll.m4.
67819         Moved the strtoimax prerequisites to strtoimax.m4.
67820
67821         Module xstrtoumax.
67822         * m4/xstrtoumax.m4 (jm_XSTRTOUMAX): Renamed from
67823         jm_AC_PREREQ_XSTRTOUMAX.
67824         Moved the strtoul prerequisites to strtoul.m4.
67825         Moved the strtoull prerequisites to strtoull.m4.
67826         Moved the strtoumax prerequisites to strtoumax.m4.
67827
67828         Module chown.
67829         * m4/chown.m4 (gl_PREREQ_CHOWN): New macro.
67830         (jm_FUNC_CHOWN): Use AC_FUNC_CHOWN. Invoke gl_PREREQ_CHOWN.
67831
67832         Module dup2.
67833         * m4/dup2.m4: New file.
67834
67835         Module ftruncate.
67836         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): New macro.
67837         (jm_FUNC_FTRUNCATE): Use AC_REPLACE_FUNCS. Invoke gl_PREREQ_FTRUNCATE.
67838
67839         Module getgroups.
67840         * m4/getgroups.m4 (gl_PREREQ_GETGROUPS): New macro.
67841         (jm_FUNC_GETGROUPS): Use AC_FUNC_GETGROUPS. Invoke gl_PREREQ_GETGROUPS.
67842
67843         Module gettimeofday.
67844         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): New macro.
67845         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use onceonly macros. Invoke
67846         gl_PREREQ_GETTIMEOFDAY.
67847
67848         Module mkdir.
67849         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): New macro.
67850         (UTILS_FUNC_MKDIR_TRAILING_SLASH): Invoke gl_PREREQ_MKDIR.
67851
67852         Module mkstemp.
67853         * m4/mkstemp.m4 (gl_PREREQ_MKSTEMP): New macro.
67854         (jm_PREREQ_TEMPNAME): New macro, from prereq.m4. Also invoke
67855         jm_AC_TYPE_UINTMAX_T.
67856         (UTILS_FUNC_MKSTEMP): Invoke gl_PREREQ_MKSTEMP and jm_PREREQ_TEMPNAME.
67857
67858         Module stat.
67859         * m4/stat.m4 (gl_PREREQ_STAT): New macro.
67860         (jm_FUNC_STAT): Use AC_FUNC_STAT. Invoke gl_PREREQ_STAT.
67861
67862         Module lstat.
67863         * m4/lstat.m4 (gl_PREREQ_LSTAT): New macro.
67864         (jm_FUNC_LSTAT): Use AC_FUNC_LSTAT. Invoke gl_PREREQ_LSTAT.
67865
67866         Module timespec.
67867         * m4/timespec.m4 (gl_TIMESPEC): New macro.
67868         (jm_CHECK_TYPE_STRUCT_TIMESPEC): Add check for <sys/time.h>.
67869         * m4/st_mtim.m4: Indentation.
67870
67871         Module nanosleep.
67872         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): New macro.
67873         (jm_FUNC_NANOSLEEP): Add check for <sys/time.h>. Invoke
67874         gl_PREREQ_NANOSLEEP.
67875
67876         Module regex.
67877         * m4/regex.m4 (jm_PREREQ_REGEX): New macro.
67878         (jm_INCLUDED_REGEX): Invoke jm_PREREQ_REGEX.
67879         (gl_REGEX): New macro.
67880
67881         Module rename.
67882         * m4/rename.m4 (gl_PREREQ_RENAME): New macro.
67883         (vb_FUNC_RENAME): Invoke gl_PREREQ_RENAME.
67884
67885         Module rmdir.
67886         * m4/rmdir.m4: New file.
67887
67888         Module utime.
67889         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Use onceonly macros.
67890         * m4/utime.m4 (gl_PREREQ_UTIME): New macro.
67891         (jm_FUNC_UTIME): Invoke gl_PREREQ_UTIME.
67892
67893         Module dirname.
67894         * m4/dirname.m4: New file.
67895
67896         Module getopt.
67897         * m4/getopt.m4: New file.
67898
67899         Module unistd-safer.
67900         * m4/unistd-safer.m4: New file.
67901
67902         Module fnmatch.
67903         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Include <stdlib.h>, for exit()
67904         declaration.
67905         (gl_PREREQ_FNMATCH_EXTRA): New macro.
67906         (gl_FUNC_FNMATCH_POSIX): New macro.
67907         (gl_FUNC_FNMATCH_GNU): Renamed from AC_FUNC_FNMATCH_GNU. Invoke
67908         gl_PREREQ_FNMATCH_EXTRA. Use the function name gnu_fnmatch, not
67909         simply fnmatch.
67910
67911         Module exclude.
67912         * m4/exclude.m4: New file.
67913
67914         Module human.
67915         * m4/human.m4: New file.
67916
67917         Module acl.
67918         * m4/acl.m4: Nop.
67919
67920         Module backupfile.
67921         * m4/backupfile.m4: New file.
67922         * m4/d-ino.m4: Indentation.
67923
67924         Module fsusage.
67925         * m4/fsusage.m4 (gl_FSUSAGE): New macro.
67926         (jm_STATFS_TRUNCATES): New macro, from coreutils-4.5.4/configure.ac.
67927         (gl_PREREQ_FSUSAGE_EXTRA): New macro.
67928
67929         Module dirfd.
67930         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP
67931         requirements.
67932
67933         Module euidaccess.
67934         * m4/euidaccess.m4: New file.
67935
67936         Module file-type.
67937         * m4/file-type.m4: New file.
67938
67939         Module fileblocks.
67940         * m4/fileblocks.m4: New file.
67941
67942         Module filemode.
67943         * m4/filemode.m4: New file.
67944
67945         Module isdir.
67946         * m4/isdir.m4: New file.
67947
67948         Module lchown.
67949         * m4/lchown.m4 (gl_PREREQ_LCHOWN): New macro.
67950         (jm_FUNC_LCHOWN): Invoke gl_PREREQ_LCHOWN.
67951
67952         Module makepath.
67953         * m4/makepath.m4: New file.
67954
67955         Module modechange.
67956         * m4/modechange.m4: New file.
67957
67958         Module mountlist.
67959         * m4/mountlist.m4: New file.
67960         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Use onceonly macros.
67961         Indentation.
67962
67963         Module path-concat.
67964         * m4/path-concat.m4: New file.
67965
67966         Module pathmax.
67967         * m4/pathmax.m4: New file.
67968
67969         Module same.
67970         * m4/same.m4: New file.
67971
67972         Module save-cwd.
67973         * m4/save-cwd.m4: New file.
67974
67975         Module savedir.
67976         * m4/savedir.m4: New file.
67977
67978         Module xgetcwd.
67979         * m4/xgetcwd.m4: New file.
67980         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Use onceonly macros.
67981
67982         Module xreadlink.
67983         * m4/xreadlink.m4: New file.
67984
67985         Module safe-read.
67986         * m4/safe-read.m4: New file.
67987
67988         Module safe-write.
67989         * m4/safe-write.m4: New file.
67990
67991         Module closeout.
67992         * m4/closeout.m4: New file.
67993
67994         Module stdio-safer.
67995         * m4/stdio-safer.m4: New file.
67996
67997         Module getpass.
67998         * m4/getpass.m4: New file.
67999
68000         Module getugroups.
68001         * m4/getugroups.m4: New file.
68002
68003         Module group-member.
68004         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): New macro.
68005         (jm_FUNC_GROUP_MEMBER): Invoke AC_GNU_SOURCE, gl_PREREQ_GROUP_MEMBER.
68006
68007         Module idcache.
68008         * m4/idcache.m4: New file.
68009
68010         Module userspec.
68011         * m4/userspec.m4: New file.
68012
68013         Module gettime.
68014         * m4/clock_time.m4: New file.
68015         * m4/gettime.m4: New file.
68016
68017         Module settime.
68018         * m4/settime.m4: New file.
68019
68020         Module posixtm.
68021         * m4/posixtm.m4: New file.
68022
68023         Module gethostname.
68024         * m4/gethostname.m4: New file.
68025
68026         Module canon-host.
68027         * m4/canon-host.m4: New file.
68028
68029         Module gettext.
68030         * m4/codeset.m4: New file, from gettext-0.11.5.
68031         * m4/gettext.m4: New file, from gettext-0.11.5.
68032         * m4/glibc21.m4: New file, from gettext-0.11.5.
68033         * m4/iconv.m4: New file, from gettext-0.11.5.
68034         * m4/intdiv0.m4: New file, from gettext-0.11.5.
68035         * m4/inttypes-pri.m4: New file, from gettext-0.11.5.
68036         * m4/inttypes.m4: New file, from gettext-0.11.5.
68037         * m4/inttypes_h.m4: New file, from gettext-0.11.5 with modifications.
68038         * m4/isc-posix.m4: New file, from gettext-0.11.5.
68039         * m4/lcmessage.m4: New file, from gettext-0.11.5.
68040         * m4/lib-ld.m4: New file, from gettext-0.11.5.
68041         * m4/lib-link.m4: New file, from gettext-0.11.5.
68042         * m4/lib-prefix.m4: New file, from gettext-0.11.5.
68043         * m4/progtest.m4: New file, from gettext-0.11.5.
68044         * m4/stdint_h.m4: New file, from gettext-0.11.5 with modifications.
68045         * m4/uintmax_t.m4: New file, from gettext-0.11.5 with modifications.
68046         * m4/ulonglong.m4: New file, from gettext-0.11.5 with modifications.
68047
68048         Module localcharset.
68049         * m4/localcharset.m4: New file.
68050
68051         Module hard-locale.
68052         * m4/hard-locale.m4: New file.
68053
68054         Module mbswidth.
68055         * m4/mbswidth.m4 (gl_MBSWIDTH): Renamed from jm_PREREQ_MBSWIDTH. Use
68056         onceonly macros.
68057         * m4/mbrtowc.m4: Add comment.
68058
68059         Module memcasecmp.
68060         * m4/memcasecmp.m4: New file.
68061
68062         Module memcoll.
68063         * m4/memcoll.m4: New file.
68064
68065         Module unicodeio.
68066         * m4/unicodeio.m4: New file.
68067
68068         Module rpmatch.
68069         * m4/rpmatch.m4: New file.
68070
68071         Module yesno.
68072         * m4/yesno.m4: New file.
68073
68074         Module exitfail.
68075         * m4/exitfail.m4: New file.
68076
68077         Module c-stack.
68078         * m4/c-stack.m4 (gl_C_STACK): New macro.
68079         (jm_PREREQ_C_STACK): Check for <sys/time.h>. Use onceonly macros.
68080
68081         Module error.
68082         * m4/error.m4 (gl_ERROR): New macro.
68083         (jm_PREREQ_ERROR): Use onceonly macros.
68084
68085         Module fatal.
68086         * m4/fatal.m4: New file.
68087
68088         Module getloadavg.
68089         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Use onceonly macros.
68090         (gl_FUNC_GETLOADAVG, gl_PREREQ_GETLOADAVG): New macros.
68091
68092         Module getpagesize.
68093         * m4/getpagesize.m4: New file.
68094
68095         Module getusershell.
68096         * m4/getusershell.m4: New file.
68097
68098         Module physmem.
68099         * m4/physmem.m4: New file.
68100
68101         Module posixver.
68102         * m4/posixver.m4: New file.
68103
68104         Module quotearg.
68105         * m4/quotearg.m4: New file.
68106
68107         Module quote.
68108         * m4/quote.m4: New file.
68109
68110         Module readutmp.
68111         * m4/readutmp.m4: New file, based on jm_PREREQ_READUTMP from prereq.m4.
68112
68113         Module sig2str.
68114         * m4/sig2str.m4: New file.
68115
68116         Other.
68117         * m4/longlong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Remove, moved to
68118         ulonglong.m4.
68119         * m4/intmax_t.m4: New file.
68120         * m4/d-type.m4: Indentation.
68121         * m4/jm-macros.m4: Update.
68122         * m4/prereq.m4 (jm_PREREQ): Update.
68123         (jm_PREREQ_ADDEXT): Remove, obsoleted by backupfile.m4.
68124         (jm_PREREQ_CANON_HOST): Remove, obsoleted by canon-host.m4.
68125         (jm_PREREQ_DIRNAME): Remove, obsoleted by dirname.m4.
68126         (jm_PREREQ_EXCLUDE): Remove, obsoleted by exclude.m4.
68127         (jm_PREREQ_GETPAGESIZE): Remove, obsoleted by getpagesize.m4.
68128         (jm_PREREQ_HARD_LOCALE): Remove, obsoleted by hard-locale.m4.
68129         (jm_PREREQ_HASH): Remove, obsoleted by hash.m4.
68130         (jm_PREREQ_HUMAN): Remove, obsoleted by human.m4.
68131         (jm_PREREQ_MEMCHR): Remove, obsoleted by memchr.m4.
68132         (jm_PREREQ_PHYSMEM): Remove, obsoleted by physmem.m4.
68133         (jm_PREREQ_POSIXVER): Remove, obsoleted by posixver.m4.
68134         (jm_PREREQ_QUOTEARG): Remove, obsoleted by quotearg.m4.
68135         (jm_PREREQ_READUTMP): Remove, obsoleted by readutmp.m4.
68136         (jm_PREREQ_REGEX): Remove, obsoleted by regex.m4.
68137         (jm_PREREQ_STRNLEN): Remove, obsoleted by strnlen.m4.
68138         (jm_PREREQ_TEMPNAME): Remove, obsoleted by mkstemp.m4.
68139         (jm_PREREQ_XGETCWD): Remove, obsoleted by xgetcwd.m4.
68140         (jm_PREREQ_XREADLINK): Remove, obsoleted by xreadlink.m4.
68141         * m4/readdir.m4 (jm_FUNC_READDIR): Use onceonly macros.
68142
68143 2002-12-24  Bruno Haible  <bruno@clisp.org>
68144
68145         * MODULES.txt: Update according to m4/ changes.
68146
68147         Module gettext.
68148         * config.rpath: New file, from gettext-0.11.5.
68149
68150         * modules/*: New module descriptions.
68151         * gnulib-tool: New file.
68152         * MODULES.html.sh: New file.
68153
68154 2002-12-21  Karl Berry  <karl@gnu.org>
68155
68156         * doc/fdl.texi: update to version 1.2.
68157
68158 2002-12-19  Karl Berry  <karl@gnu.org>
68159
68160         * config/config.guess: update from prep.
68161
68162 2002-12-18  Bruno Haible  <bruno@clisp.org>
68163
68164         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't test for localtime_r.
68165         * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Likewise.
68166
68167 2002-12-17  Bruno Haible  <bruno@clisp.org>
68168
68169         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Remove checks for limits.h,
68170         stdlib.h, string.h.
68171
68172 2002-12-17  Bruno Haible  <bruno@clisp.org>
68173
68174         * lib/canon-host.c (strdup): Remove unused declaration.
68175
68176         * lib/fsusage.c: Include full_read.h.
68177         (get_fs_usage): Use full_read instead of safe_read.
68178
68179         * lib/utime.c (utime_null): Use SAFE_READ_ERROR.
68180
68181 2002-12-12  Karl Berry  <karl@gnu.org>
68182
68183         * config/config.guess: update from prep.
68184
68185 2002-12-11  Bruno Haible  <bruno@clisp.org>
68186
68187         * m4/setenv.m4: New file, from gettext-0.11.5.
68188
68189 2002-12-11  Bruno Haible  <bruno@clisp.org>
68190
68191         * lib/setenv.h: Rewritten to cope with systems that have setenv() but
68192         not unsetenv().
68193         * lib/setenv.c, unsetenv.c: Taken from glibc-2.2.4 with the following
68194         modifications:
68195
68196         2002-12-11  Bruno Haible  <bruno@clisp.org>
68197
68198                 * setenv.c (alloca): Fall back to malloc.
68199                 (freea): New macro.
68200                 (setenv): Use freea() to free memory allocated with alloca().
68201
68202         2002-11-13  Bruno Haible  <bruno@clisp.org>
68203
68204                 * setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C
68205                 function declarations.
68206                 * unsetenv.c (unsetenv): Likewise.
68207
68208         2002-03-04  Bruno Haible  <bruno@clisp.org>
68209
68210                 Portability to AIX 4.3.3.
68211                 * unsetenv.c: New file, extracted from setenv.c.
68212                 * setenv.c: Move the unsetenv() function to unsetenv.c.
68213
68214         2001-12-20  Bruno Haible  <bruno@clisp.org>
68215
68216                 * setenv.c (__add_to_environ): Don't call realloc(NULL,...),
68217                 use malloc instead. For SunOS 4.
68218
68219         2001-12-11  Bruno Haible  <bruno@clisp.org>
68220
68221                 * setenv.c: Declare alloca.
68222                 (compar_fn_t): New typedef.
68223                 (KNOWN_VALUE, STORE_VALUE): Use it.
68224
68225         * lib/Makefile.am (libfetish_a_SOURCES): Add setenv.c, unsetenv.c,
68226         setenv.h.
68227
68228 2002-12-10  Paul Eggert  <eggert@twinsun.com>
68229
68230         Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7.
68231         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS):
68232         Choose values that are less likely to collide with system fnmatch
68233         options.
68234         * lib/exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not
68235         defined (e.g., a pure POSIX system).
68236         (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME
68237         instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems.
68238
68239 2002-12-06  Paul Eggert  <eggert@twinsun.com>
68240
68241         Undo the 2001-07-02 change for jm-glibc-io, as it was too much of
68242         a pain in practice to deal with generated m4 files.  This change
68243         goes together with the 2002-12-04 unlocked-io.h change in ../lib.
68244
68245         * m4/Makefile.am.in (Makefile.am): Don't mention jm-glibc-io.m4n
68246         and jm-glibc-io.m4, as they are no longer a special case.
68247         * m4/jm-glibc-io.m4: Rename from jm-glibc-io.m4n, and remove the
68248         kludge and the auto-generation stuff.  Check only whether the
68249         functions are declared, not whether they exist, since older hosts
68250         that don't declare the functions can't use the optimization anyway.
68251
68252 2002-12-06  Jim Meyering  <jim@meyering.net>
68253
68254         * lib/error.c: Be consistent: change `#ifndef _LIBC' to `#if !_LIBC'.
68255
68256         Merge in changes from libc's misc/error.c, in preparation
68257         for the merge of gnulib's changes back into libc.
68258
68259         * lib/error.c (_): Define only if not already defined.
68260         Move definition to follow all #include directives.
68261         Include unlocked-io.h only if !_LIBC.
68262         [_LIBC]: Include <libio/libioP.h>.
68263         [USE_IN_LIBIO]: Include <libio/iolibio.h>
68264         (fflush): Tweak definition to use INTUSE.
68265         (putc): Define.
68266
68267 2002-12-05  Paul Eggert  <eggert@twinsun.com>
68268
68269         * lib/alloca.c [defined emacs]: Include "lisp.h".
68270         (xalloc_die) [defined emacs]: New macro.
68271         (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE.
68272         [! defined emacs]: Include <xalloc.h>.
68273         (POINTER_TYPE) [!defined POINTER_TYPE]: New macro.
68274         (pointer): Typedef to POINTER_TYPE *.
68275         (malloc): Remove decl; we now always use xmalloc.
68276         (alloca): Use old-style definition, since Emacs needs this.
68277         Check for arithmetic overflow when computing combined size.
68278
68279 2002-12-04  Paul Eggert  <eggert@twinsun.com>
68280
68281         Do not generate unlocked-io.h automatically, since it's easier to
68282         maintain it by hand.
68283
68284         * lib/unlocked-io.h: New file, from GNU diffutils,
68285         but with proper copyright notice and attribution.
68286         * lib/gen-uio: Remove.
68287         * lib/Makefile.am: Add copyright notice.
68288         (libfetish_a_SOURCES): Add unlocked-io.h.
68289         (BUILT_SOURCES, all-local): Remove unlocked-io.h.
68290         (DISTCLEANFILES, io_functions): Remove macros.
68291         (EXTRA_DIST): Remove gen_uio.
68292         (unlocked-io.h): Remove rule.
68293
68294 2002-12-04  Jim Meyering  <jim@meyering.net>
68295
68296         Reflect the fact that stat.c and lstat.c are no longer generated.
68297         * lib/Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c.
68298         (DISTCLEANFILES): Likewise.
68299         (EXTRA_DIST): Likewise.
68300         (all_local): Don't depend on stat.c or lstat.c.
68301         (stat.c, lstat.c): Remove rules.
68302         (EXTRA_DIST): Remove xstat.in.
68303
68304         * lib/xstat.in: Remove file.  Contents moved into stat.c.
68305         * lib/stat.c: New file.  Contents mostly from xstat.in.
68306         * lib/stat.c: Rework so that it may serve to define rpl_lstat, too.
68307         * lib/lstat.c: New file. Simply #define LSTAT and include stat.c.
68308
68309         * lib/safe-read.c: Rework so that it may serve to define safe_write,
68310         too.
68311         * lib/safe-write.c: Simply #define SAFE_WRITE and include safe-read.c.
68312
68313 2002-12-03  Jim Meyering  <jim@meyering.net>
68314
68315         * lib/safe-read.c, safe-write.c: Change variable names and comments,
68316         but not semantics, to minimize the differences between these two files.
68317         (safe_read): Change comment to mention SAFE_READ_ERROR.
68318
68319         * lib/safe-read.c (IS_EINTR): Define.
68320         (safe_read): Use IS_EINTR in place of in-function cpp directives.
68321
68322 2002-12-02  Jim Meyering  <jim@meyering.net>
68323
68324         * lib/safe-read.c (EINTR): Define.
68325         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
68326         (INT_MAX): Provide fallback.
68327         (safe_read): Rewrite to iterate IFF the read fails with EINTR.
68328
68329         * lib/safe-read.h (SAFE_READ_ERROR): Define.
68330
68331 2002-12-02  Bruno Haible  <bruno@clisp.org>
68332
68333         * lib/safe-write.c (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
68334         Define, taken from safe-read.c.
68335         (INT_MAX): Provide fallback.
68336         (safe_write): Rewrite to iterate IFF the write fails with EINTR.
68337         * lib/safe-write.h (SAFE_WRITE_ERROR): Define.
68338
68339         * lib/safe-read.c (EINTR): Remove definition.
68340         (safe_read): Don't use EINTR if it is absent.
68341
68342 2002-12-01  Jim Meyering  <jim@meyering.net>
68343
68344         * lib/safe-read.c: (safe_read): Also exit the loop when read returns
68345         zero.
68346         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define.
68347
68348 2002-11-27  Paul Eggert  <eggert@twinsun.com>
68349
68350         * lib/hash.c (hash_lookup, hash_get_first, hash_get_next,
68351         hash_find_entry, hash_rehash): Replace `if (limit <= value) abort ();'
68352         with `if (! (value < limit)) abort ();', for readability.
68353
68354 2002-11-26  Karl Berry  <karl@gnu.org>
68355
68356         * lib/strdup.c: copy from libc again, with jim's ok.
68357         * lib/.cppi-disable: re-add strdup.c
68358
68359 2002-11-25  Karl Berry  <karl@gnu.org>
68360
68361         * lib/strtoll.c: copy from libc, meaning we now #include <strtol.c>
68362         instead of "strtol.c".
68363
68364 2002-11-25  Karl Berry  <karl@gnu.org>
68365
68366         * config/install-sh: update from automake for variable quoting, $0 in
68367         error msgs, etc.
68368
68369         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): new entry.
68370         * config/srclist.txt ($LIBCSRC/sysdeps/generic/strtoll.c lib gpl): new
68371         entry.
68372
68373 2002-11-25  Jim Meyering  <jim@meyering.net>
68374
68375         * lib/mktime.c: Sync from libc, now that it has the latest fix.
68376
68377 2002-11-24  Karl Berry  <karl@gnu.org>
68378
68379         * lib/error.c, getopt.c, getopt.h, getopt1.c, obstack.c, regex.c,
68380         regex.h, strdup.c, strtoll.c, tempname.c: change license to gpl.
68381
68382 2002-11-24  Jim Meyering  <jim@meyering.net>
68383
68384         Update from coreutils:
68385
68386         * lib/mktime.c: Merge in changes from libc.
68387
68388         Avoid a link-time failure on some Linux systems.
68389         * lib/mktime.c (STATIC): Define to be empty (_LIBC) or `static'
68390         (otherwise).
68391         (__mon_yday): Declare with the STATIC attribute.
68392         (__mktime_internal): Likewise.
68393         Based on a report from Greg Schafer.
68394
68395 2002-11-23  Jim Meyering  <jim@meyering.net>
68396
68397         * lib/sig2str.c (str2signum, sig2str): Avoid a warning from gcc:
68398         Use `unsigned', not `int', as type of index.
68399
68400         * lib/xstat.in [@BEGIN_LSTAT_ONLY@]: Include <string.h>.
68401
68402         * lib/fsusage.c: Remove unneeded parentheses around operands of
68403         `defined'.
68404
68405 2002-11-22  Paul Eggert  <eggert@twinsun.com>
68406
68407         * lib/quotearg.h: Allow multiple inclusion by surrounding with
68408         "#ifndef QUOTEARG_H_".  Include <stddef.h>, for size_t,
68409         so that we can be included first.
68410         (PARAMS): Remove; we now assume C89 or later.  All uses removed.
68411         * lib/quotearg.c: Include quotearg.h immediately after config.h.
68412         No need to include stddef.h or sys/types.h any more.
68413         Surround local include files with "", not "<>".
68414         Assume HAVE_LIMITS_H unconditionally, as we assume C89.
68415         Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX,
68416         HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS.
68417         (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
68418         (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
68419         (ISPRINT): Remove; no longer needed now that we assume C89.
68420
68421         (clone_quoting_options, quotearg_buffer, quotearg_n_options):
68422         Preserve errno.
68423
68424         (quotearg_buffer_restyled, quotearg_n, quotearg_n_style,
68425         quotearg_char): Use SIZE_MAX rather than
68426         (size_t) -1 when we are talking about "infinity".
68427
68428         (quotearg_buffer_restyled): Fix bug when quoting trigraphs.
68429
68430 2002-11-22  Paul Eggert  <eggert@twinsun.com>
68431
68432         * lib/hash.c: Avoid use of <assert.h>, as the GNU Coding Standards
68433         hint that one should use `if (! x) abort ();' rather than `assert
68434         (x);', and anyway it's one less thing to worry about configuring.
68435         (hash_lookup, hash_get_first, hash_get_next, hash_find_entry,
68436         hash_rehash, hash_insert): Use abort rather than assert.
68437
68438 2002-11-22  Bruno Haible  <bruno@clisp.org>
68439
68440         * lib/safe-read.h: Assume C89. Add comments.
68441         (safe_read): Change return type to size_t.
68442         * lib/safe-read.c (safe_read): Change return type to size_t. Handle
68443         byte counts > SSIZE_MAX correctly.
68444         * lib/safe-write.h: New file.
68445         * lib/safe-write.c: New file.
68446         * lib/full-read.h: New file.
68447         * lib/full-read.c: New file.
68448         * lib/full-write.h: Assume C89. Add comments.
68449         * lib/full-write.c: Include safe-write.h.
68450         (full_write): Rewritten to use safe_write.
68451         Suggested by Jim Meyering and Paul Eggert.
68452
68453 2002-11-21  Jim Meyering  <jim@meyering.net>
68454
68455         * lib/strdup.c (strdup): Tweak comment and initial #if/#include.
68456
68457         Merge in changes from the coreutils.
68458
68459         2002-09-25  Paul Eggert  <eggert@twinsun.com>
68460         * lib/fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include
68461         <stdint.h>.
68462         (UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro.
68463         (PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than
68464         int.  Work more efficiently if X is the same width as uintmax_t.
68465         Do not compare X to -1, to avoid bogus compiler warning.
68466         (get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast.
68467         Don't assume that f_frsize and f_bsize are the same type.
68468
68469         * lib/mountlist.c: #undef MNT_IGNORE before defining it, to avoid
68470         warning on FreeBSD.
68471
68472         * lib/makepath.c (make_path): Restore umask *before* creating the final
68473         component.
68474         (make_path): Minor reformatting.
68475
68476         * lib/xmalloc.c: Adjust to work with new autoconf macros,
68477         AC_FUNC_MALLOC and AC_FUNC_REALLOC: test #ifndef
68478         HAVE_MALLOC/HAVE_REALLOC.
68479
68480         * lib/mountlist.h (ME_DUMMY): Don't count entries of type `auto' as
68481         dummy ones.  At least on GNU/Linux systems, `auto' means something
68482         else.
68483         From Michael Stone.
68484
68485 2002-11-21  Bruno Haible  <bruno@clisp.org>
68486
68487         Remove case insensitive option matching.
68488         * lib/argmatch.h (argcasematch): Remove declaration.
68489         (ARGCASEMATCH): Remove macro.
68490         (__xargmatch_internal): Remove case_sensitive argument.
68491         (XARGMATCH): Update.
68492         (XARGCASEMATCH): Remove macro.
68493         * lib/argmatch.c (argmatch): Renamed from __argmatch_internal. Remove
68494         case_sensitive argument.
68495         (argcasematch): Remove function.
68496         (__xargmatch_internal): Remove case_sensitive argument.
68497         (main): Use XARGMATCH instead of XARGCASEMATCH.
68498
68499         * lib/xmalloc.c: Change compile-time error message. Add comment about
68500         required autoconf version.
68501
68502 2002-11-20  Paul Eggert  <eggert@twinsun.com>
68503
68504         Merge argmatch cleanups from Bison.  Assume C89.
68505
68506         * lib/argmatch.c: Include config.h here, not in argmatch.h.
68507         Include stdlib.h, for EXIT_FAILURE.
68508         Always include <string.h>, since we assume C89.
68509         (EXIT_FAILURE): Remove pre-C89 bug workaround.
68510         * lib/argmatch.h: Do not include <config.h> or <sys/types.h>.
68511         Include <stddef.h> instead, since it's all we need for size_t.
68512         (PARAMS): Remove.  All uses removed.
68513         (ARRAY_CARDINALITY): Do not bother to #undef.
68514         (ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg,
68515         ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
68516         Remove unnecessary parentheses.
68517         (ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
68518         Insert necessary parentheses.
68519         (ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros.
68520         (ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT.
68521
68522 2002-11-19  Bruno Haible  <bruno@clisp.org>
68523
68524         * lib/mbswidth.c: Include mbswidth.h right at the beginning.
68525         * lib/mbswidth.h: Include <stddef.h>, for size_t.
68526
68527         * lib/mbswidth.h (PARAMS): Remove macro.
68528         (mbswidth, mbsnwidth): Use ANSI C function declarations.
68529         * lib/mbswidth.c (mbswidth, mbsnwidth): Likewise.
68530
68531         * lib/gcd.h (PARAMS): Remove macro.
68532         (gcd): Use ANSI C function declarations.
68533         * lib/gcd.c (gcd): Likewise.
68534
68535 2002-11-15  Bruno Haible  <bruno@clisp.org>
68536
68537         * lib/strcspn.c: Include <stddef.h>.
68538         (strcspn): Use ANSI C function declaration. Change return type to
68539         size_t. Use NULL.
68540         * lib/strpbrk.c: Minimize diffs to glibc. Include <stddef.h>.
68541         (strpbrk): Use NULL.
68542         * lib/strpbrk.h (PARAMS): Remove macro.
68543         (strpbrk): Use ANSI C function declaration.
68544         * lib/strstr.c: Don't include <sys/types.h>.
68545         * lib/strstr.h (PARAMS): Remove macro.
68546         (strstr): Use ANSI C function declarations.
68547
68548 2002-11-14  Karl Berry  <karl@gnu.org>
68549
68550         * config/mkinstalldirs: `do' on separate line, instead of
68551         `for var; do'.
68552
68553 2002-11-06  Bruno Haible  <bruno@clisp.org>
68554
68555         * lib/gcd.h (gcd): Change argument type to 'unsigned long'.
68556         * lib/gcd.c (gcd): Likewise.
68557
68558 2002-11-05  Bruno Haible  <bruno@clisp.org>
68559
68560         * lib/gcd.h: New file, from gettext-0.11.5.
68561         * lib/gcd.c: New file, from gettext-0.11.5.
68562
68563 2002-11-05  Bruno Haible  <bruno@clisp.org>
68564
68565         * lib/error.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
68566         * lib/getopt.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
68567         * lib/obstack.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
68568         * lib/regex.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
68569
68570         * lib/argmatch.c: Include gettext.h instead of <locale.h> and
68571         <libintl.h>.
68572         * lib/makepath.c: Include gettext.h instead of <locale.h> and
68573         <libintl.h>.
68574
68575         * lib/closeout.c: Include gettext.h instead of <libintl.h>.
68576         * lib/human.c: Include gettext.h instead of <libintl.h>.
68577         * lib/quotearg.c: Include gettext.h instead of <libintl.h>.
68578         * lib/rpmatch.c: Include gettext.h instead of <libintl.h>.
68579         * lib/unicodeio.c: Include gettext.h instead of <libintl.h>.
68580         * lib/userspec.c: Include gettext.h instead of <libintl.h>.
68581         * lib/version-etc.c: Include gettext.h instead of <libintl.h>.
68582         * lib/xmalloc.c: Include gettext.h instead of <libintl.h>.
68583         (textdomain): Remove definition.
68584         * lib/xmemcoll.c: Include gettext.h instead of <libintl.h>.
68585
68586         * lib/long-options.c: Remove include of <libintl.h> and definition of
68587         _.
68588         * lib/same.c: Remove include of <libintl.h> and definition of _.
68589
68590 2002-11-04  Owen Taylor  <otaylor@redhat.com>
68591
68592         * lib/config.charset: A few additions for Solaris.
68593
68594 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
68595
68596         Make it possible to build libcharset with CC=gcc CFLAGS="-x c++".
68597         * lib/localcharset.c (locale_charset): Declare as extern "C".
68598
68599 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
68600
68601         * lib/config.charset: msdos in uk_UA uses CP1125.
68602
68603 2002-11-04  Bruno Haible  <bruno@clisp.org>
68604
68605         * lib/stpcpy.h: New file, from GNU gettext-0.11.5.
68606         * lib/strcase.h: New file, from GNU gettext-0.11.5.
68607         * lib/strpbrk.h: New file, from GNU gettext-0.11.5.
68608         * lib/strstr.h: New file, from GNU gettext-0.11.5.
68609         * lib/xgetcwd.h: New file, from GNU gettext-0.11.5.
68610
68611 2002-11-04  Bruno Haible  <bruno@clisp.org>
68612
68613         * lib/localcharset.c (locale_charset): Don't return an empty string.
68614
68615 2002-11-04  Bruno Haible  <bruno@clisp.org>
68616
68617         * lib/localcharset.c (get_charset_aliases): Add more Windows specific
68618         aliases.
68619
68620 2002-11-04  Bruno Haible  <bruno@clisp.org>
68621
68622         * lib/config.charset: Update for newest glibc. Add canonical names
68623         ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS.
68624
68625 2002-11-04  Bruno Haible  <bruno@clisp.org>
68626
68627         * lib/config.charset: Add support for NetBSD.
68628
68629 2002-11-04  Bruno Haible  <bruno@clisp.org>
68630
68631         * lib/config.charset [msdosdjgpp]: For Russian, use CP866.
68632
68633 2002-11-01  Bruno Haible  <bruno@clisp.org>
68634
68635         * configure.in: Add AC_CONFIG_AUX_DIR call.
68636         (AC_OUTPUT): Add m4/Makefile, lib/Makefile. Remove doc/Makefile,
68637         test/Makefile.
68638         * Makefile.in (subdirs): Add m4, lib. Remove doc, test.
68639
68640 2002-09-28  Karl Berry  <karl@gnu.org>
68641
68642         * config/srclist.txt: can't copy install-sh/mkinstalldirs from
68643         installed automake until the next release, since changes have been
68644         made.
68645
68646 2002-09-25  Karl Berry  <karl@gnu.org>
68647
68648         * lib/strdup.c: copy from libc/string (via ../config/srclist*).
68649         * lib/getopt*: copy from libc/posix.
68650         * lib/gettext.h: copy from gettext.
68651         * lib/.cppi-disable: add strdup.c, gettext.h.
68652
68653 2002-09-25  Karl Berry  <karl@gnu.org>
68654
68655         * config/srclist.txt: enable gettext.h check.
68656         * config/config.{guess,sub}: update from prep.
68657         * config/depcomp, install-sh, mdate-sh, missing, mkinstalldirs: update
68658                 from automake 1.6.3.
68659         See srclist*.
68660
68661 2002-08-23  Stefan Monnier  <monnier@cs.yale.edu>
68662
68663         * regex.c (PATFETCH): Remove the translating fetch.
68664         (PATFETCH_RAW): Rename to PATFETCH.
68665         (set_image_of_range): New fun.
68666         (SET_RANGE_TABLE_WORK_AREA): Use it.
68667         (regex_compile): Don't translate the pattern chars so eagerly.
68668         Only do it when inserting an `exactn' bytecode or when handling
68669         a char-range.
68670         (mutually_exclusive_p): Avoid empty statement.
68671
68672 2002-07-06  Jim Meyering  <meyering@lucent.com>
68673
68674         * m4/README: Don't mention Makefile.am.in.
68675         Outline how I've tested changes to .m4 files.  Yep, it's a pain.
68676
68677 2002-07-01  Jim Meyering  <meyering@lucent.com>
68678
68679         * lib/c-stack.c: Include sys/time.h.
68680         From Volker Borchert.
68681
68682 2002-06-26  Paul Eggert  <eggert@twinsun.com>
68683
68684         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc.
68685
68686 2002-06-26  Paul Eggert  <eggert@twinsun.com>
68687
68688         * lib/fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT):
68689         New macro.  Use it uniformly instead of
68690         (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H).
68691         It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1
68692         reported by Vin Shelton.
68693
68694 2002-06-22  Paul Eggert  <eggert@twinsun.com>
68695
68696         * lib/c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]:
68697         Do not assume SA_SIGINFO behavior.
68698         Bug reported by Jim Meyering on NetBSD 1.5.2.
68699
68700 2002-06-22  Jim Meyering  <meyering@lucent.com>
68701
68702         * m4/c-stack.m4: New file, from diffutils-2.8.2.
68703         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK.
68704
68705         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE,
68706         now that configure.ac uses AC_GNU_SOURCE.
68707         (jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU.
68708         * m4/prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH.
68709
68710         Update to latest tools.  Suggestions from Paul Eggert.
68711         * m4/stdbool.m4: New file, from diffutils-2.8.2.
68712         * m4/gnu-source.m4: Update from diffutils-2.8.2.
68713         * m4/fnmatch.m4: Likewise.
68714         * m4/prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h)
68715         to AC_HEADER_STDBOOL
68716
68717 2002-06-22  Jim Meyering  <meyering@lucent.com>
68718
68719         * lib/fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about
68720         redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h.
68721
68722 2002-06-22  Jim Meyering  <meyering@lucent.com>
68723
68724         * lib/c-stack.c, lib/c-stack.h: New files, from diffutils-2.8.2.
68725
68726         * lib/exitfail.c, exitfail.h: Likewise.
68727         * lib/Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h.
68728
68729         * lib/Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place
68730         of fnmatch.h.
68731         (EXTRA_DIST): Add fnmatch_loop.c.
68732         (libfetish_a_SOURCES): Add c-stack.c and c-stack.h.
68733
68734         * lib/fnmatch_loop.c: New file, from diffutils-2.8.2.
68735         * lib/fnmatch.c: Update from diffutils-2.8.2.
68736         * lib/fnmatch_.h: New file.  From diffutils-2.8.2.
68737         * lib/fnmatch.h: Remove file.
68738
68739 2002-06-21  Jim Meyering  <meyering@lucent.com>
68740
68741         * m4/c-bs-a.m4: Add comment, from diffutils-2.8.2.
68742         * m4/mbrtowc.m4: Likewise.
68743
68744         * m4/mbstate_t.m4: Update from diffutils-2.8.2.
68745         * m4/mbswidth.m4: Reflect name change:
68746         s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T.
68747         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
68748
68749         * m4/lib-link.m4: Update from gettext-0.11.2.
68750         * m4/gettext.m4: Likewise.
68751
68752         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h.
68753         From Alfred M. Szmidt.
68754
68755 2002-06-18  Paul Eggert  <eggert@twinsun.com>
68756
68757         * lib/file-type.h: Report an error if neither S_ISREG nor
68758         S_IFREG is defined, instead of using a test specific to glibc
68759         2.2.  This should be safe, since POSIX requires S_ISREG and
68760         Unix Version 7 had S_IFREG.  We don't need to check for
68761         <sys/types.h> since we don't use any symbols that it defines.
68762
68763 2002-06-15  Richard Dawe  <richdawe@bigfoot.com>
68764
68765         * lib/Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than
68766         $@-t, so that each temporary file name is unique and valid in the first
68767         8 characters, for operation under DOS.
68768
68769 2002-06-15  Paul Eggert  <eggert@twinsun.com>
68770
68771         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author.
68772
68773 2002-06-15  Jim Meyering  <meyering@lucent.com>
68774
68775         Work even with DJGPP 2.03, which lacks support for symlinks.
68776         From Richard Dawe.
68777         * lib/xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK
68778         is defined.
68779         * lib/lchown.c (S_ISLNK): Likewise.
68780
68781 2002-06-15  Jim Meyering  <meyering@lucent.com>
68782
68783         * lib/file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef.
68784         For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h>
68785         have been included before this file.
68786
68787 2002-06-14  Jim Meyering  <meyering@lucent.com>
68788
68789         * lib/file-type.h: Use the version from diffutils-2.8.2.
68790         * lib/file-type.c: Likewise.
68791
68792 2002-06-07  Jim Meyering  <meyering@lucent.com>
68793
68794         * m4/prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h.
68795         They're needed at least for NetBSD 1.5.2.
68796         ($statxfs_includes): Include those same headers.
68797         ($statxfs_includes): Include sys/vfs.h if available.
68798         ($statxfs_includes): Likewise for sys/statvfs.h.
68799         Check for the following members in both structs statfs and statvfs:
68800         f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen.
68801
68802 2002-06-01  Jim Meyering  <meyering@lucent.com>
68803
68804         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro:
68805         s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/.
68806
68807 2002-05-28  Jim Meyering  <meyering@lucent.com>
68808
68809         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'.
68810         Reported by Volker Borchert.
68811
68812 2002-05-27  Jim Meyering  <meyering@lucent.com>
68813
68814         Fix a problem seen only on nonconforming systems whereby ls.c's
68815         use of localtime, and then of gettimeofday would cause trouble:
68816         the localtime call used to initialize rpl_gettimeofday's save
68817         mechanism would clobber ls's current local time information so
68818         that in any long listing the first file would always be listed
68819         with date 1970-01-01.  Analysis by Volker Borchert.
68820
68821         * lib/gettimeofday.c (localtime): Undefine.
68822         (rpl_localtime): New function.
68823
68824 2002-05-27  Jim Meyering  <meyering@lucent.com>
68825
68826         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace
68827         localtime.
68828
68829         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to
68830         use the replacement function; it wouldn't resolve at link time.
68831         Reported by Volker Borchert.
68832
68833 2002-05-22  Jim Meyering  <meyering@lucent.com>
68834
68835         * lib/Makefile.am (libfetish_a_SOURCES): Add file-type.c and
68836         file-type.h.
68837         * lib/file-type.h: New file.
68838         * lib/file-type.c (file_type): New file/function.  Extracted from
68839         diffutils.
68840
68841 2002-04-30  Jim Meyering  <meyering@lucent.com>
68842
68843         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT.
68844
68845 2002-04-29  Paul Eggert  <eggert@twinsun.com>
68846
68847         * m4/prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed.
68848
68849 2002-04-29  Paul Eggert  <eggert@twinsun.com>
68850
68851         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h.
68852         Do not check for alloca.h (no longer used) or stdbool.h (was never
68853         used?).  Add AM_C_PROTOTYPES since hard-locale.h uses it.
68854
68855 2002-04-29  Paul Eggert  <eggert@twinsun.com>
68856
68857         * lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1.
68858
68859 2002-04-29  Jim Meyering  <meyering@lucent.com>
68860
68861         * m4/jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN.
68862         * m4/prereq.m4: Add jm_PREREQ_STRNLEN.
68863         Use AC_FUNC_STRNLEN here instead.
68864
68865         * m4/jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]).
68866         With autoconf-2.53a, it's part of AC_PROG_CC.
68867
68868 2002-04-28  Paul Eggert  <eggert@twinsun.com>
68869
68870         * m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str).
68871         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR.
68872
68873 2002-04-28  Paul Eggert  <eggert@twinsun.com>
68874
68875         * lib/sig2str.h, lib/sig2str.c: New files.
68876         * lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h.
68877
68878 2002-04-28  Paul Eggert  <eggert@twinsun.com>
68879
68880         * lib/sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid
68881         depending on <sys/wait.h> and WTERMSIG.  Default to 64 instead
68882         of 127, since 64 is the largest conceivable number for ancient
68883         nonstandard hosts.
68884         * lib/sig2str.c: Do not include <sys/wait.h>; no longer needed.
68885
68886 2002-04-28  Jim Meyering  <meyering@lucent.com>
68887
68888         * lib/sig2str.c (WTERMSIG): Remove definition (unused).
68889
68890 2002-04-24  Jim Meyering  <meyering@lucent.com>
68891
68892         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro.
68893         (jm_PREREQ): Use it.
68894
68895         * m4/getloadavg.m4: Check for these headers: locale.h unistd.h
68896         mach/mach.h fcntl.h.
68897         Check for this function: setlocale.
68898
68899 2002-04-24  Jim Meyering  <meyering@lucent.com>
68900
68901         * lib/gettext.h: New file, from Gettext.
68902         * lib/Makefile.am (INCLUDES): Remove -I../intl.
68903         (libfetish_a_SOURCES): Add gettext.h.
68904
68905 2002-04-16  Jim Meyering  <meyering@lucent.com>
68906
68907         * m4/prereq.m4 (jm_PREREQ_READUTMP): Also check for these members:
68908         ut_pid, ut_id, ut_exit.
68909
68910 2002-04-16  Jim Meyering  <meyering@lucent.com>
68911
68912         * lib/readutmp.h (UT_TYPE): Remove definition (now in who.c).
68913         (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define.
68914         (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define.
68915
68916 2002-04-12  Jim Meyering  <meyering@lucent.com>
68917
68918         * m4/ls-mntd-fs.m4 (checking for getmntinfo function...): Remove
68919         now-bogus check for f_type in sys/mount.h.  Instead, just test for the
68920         existence of the getmntinfo function.  Needed for Darwin 5.3.
68921
68922         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro.
68923         This is necessary at least on Darwin 5.3.
68924
68925         * m4/jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use
68926         AC_FUNC_STRNLEN.  Otherwise, we'd end up putting two copies of
68927         strnlen.o in the library, and that makes some versions of ranlib
68928         object.
68929
68930 2002-04-12  Jim Meyering  <meyering@lucent.com>
68931
68932         * lib/dirfd.h (dirfd): Elide prototype if dirfd is a macro.
68933
68934 2002-04-09  Jim Meyering  <meyering@lucent.com>
68935
68936         * m4/malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message
68937         to be more precise.  Rather than saying we're checking whether the
68938         function `works', say what we're testing.
68939         * m4/realloc.m4 (jm_FUNC_REALLOC): Likewise.
68940         Reported by Bruno Haible.
68941
68942 2002-03-10  Jim Meyering  <meyering@lucent.com>
68943
68944         * lib/makepath.c (make_path): Remove a comma from a diagnostic.
68945         Suggestion from Santiago Vila.
68946
68947 2002-03-08  Jim Meyering  <meyering@lucent.com>
68948
68949         * lib/rename.c: Mention that this wrapper is needed also on
68950         mips-dec-ultrix4.4 systems.
68951
68952 2002-03-02  Jim Meyering  <meyering@lucent.com>
68953
68954         * lib/gettime.c (gettime): Test HAVE_CLOCK_GETTIME,
68955         not HAVE_CLOCK_SETTIME.
68956
68957 2002-02-27  Paul Eggert  <eggert@twinsun.com>
68958
68959         * m4/jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used.
68960         Check for clock_settime.
68961
68962 2002-02-27  Paul Eggert  <eggert@twinsun.com>
68963
68964         * lib/nanosleep.h: Rename to....
68965         * lib/timespec.h: New name for nanosleep.h.  All uses changed.
68966
68967         * lib/gettime.c: New file.
68968         * lib/settime.c: New file.
68969         * lib/stime.c: Remove.
68970
68971         * lib/Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c,
68972         timespec.h.  Remove nanosleep.h.
68973
68974 2002-02-25  Paul Eggert  <eggert@twinsun.com>
68975
68976         * m4/acl.m4: New file.
68977         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL.
68978         Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now.
68979
68980 2002-02-25  Paul Eggert  <eggert@twinsun.com>
68981
68982         * lib/acl.c, lib/acl.h: New files.
68983         * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c.
68984
68985 2002-02-24  Jim Meyering  <meyering@lucent.com>
68986
68987         * lib/strnlen.c (strnlen): Define-away/undef so that an inconsistent
68988         prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't
68989         cause trouble.  Reported by Nelson Beebe.
68990
68991 2002-02-23  Paul Eggert  <eggert@twinsun.com>
68992
68993         * lib/path-concat.c (xpath_concat): Reorder code to pacify
68994         compilers that don't know that xalloc_die never returns.
68995
68996 2002-02-20  Jim Meyering  <meyering@lucent.com>
68997
68998         * lib/getdate.c: Regenerate using bison-1.33.
68999
69000 2002-02-17  Jim Meyering  <meyering@lucent.com>
69001
69002         * config/config.guess (main): Don't use `head -1'; it's no longer
69003         portable. Use `sed 1q' instead.
69004
69005 2002-02-16  gettextize  <bug-gnu-gettext@gnu.org>
69006
69007         * m4/codeset.m4: Upgrade to gettext-0.11.
69008         * m4/gettext.m4: Upgrade to gettext-0.11.
69009         * m4/glibc21.m4: Upgrade to gettext-0.11.
69010         * m4/iconv.m4: Upgrade to gettext-0.11.
69011         * m4/isc-posix.m4: Upgrade to gettext-0.11.
69012         * m4/lcmessage.m4: Upgrade to gettext-0.11.
69013         * m4/lib-ld.m4: New file, from gettext-0.11.
69014         * m4/lib-link.m4: New file, from gettext-0.11.
69015         * m4/lib-prefix.m4: New file, from gettext-0.11.
69016         * m4/progtest.m4: Upgrade to gettext-0.11.
69017
69018 2002-02-15  Paul Eggert  <eggert@twinsun.com>
69019
69020         * m4/prereq.m4 (jm_PREREQ_POSIXVER): New macro.
69021         (jm_PREREQ): Use it.
69022
69023 2002-02-15  Paul Eggert  <eggert@twinsun.com>
69024
69025         * lib/posixver.c, lib/posixver.h: New files.
69026         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
69027
69028 2002-02-02  Paul Eggert  <eggert@twinsun.com>
69029             Bruno Haible  <bruno@clisp.org>
69030
69031         * lib/unicodeio.h (print_unicode_char): Add exit_on_error argument.
69032         (fwrite_success_callback): New declaration.
69033         * lib/unicodeio.c (unicode_to_mb): New function, extracted from
69034         print_unicode_char. Call failure callback instead of error.
69035         (fwrite_success_callback): New function.
69036         (exit_failure_callback): New function.
69037         (fallback_failure_callback): New function.
69038         (print_unicode_char): Call unicode_to_mb.
69039
69040 2002-01-26  Jim Meyering  <meyering@lucent.com>
69041
69042         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.52g.
69043         * m4/strnlen.m4: Remove file, now that it's part of autoconf.
69044
69045 2002-01-26  Jim Meyering  <meyering@lucent.com>
69046
69047         * lib/Makefile.am (getdate$U.o): Depend on unlocked-io.h.
69048
69049 2002-01-22  Paul Eggert  <eggert@twinsun.com>
69050
69051         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO.
69052
69053 2002-01-22  Jim Meyering  <meyering@lucent.com>
69054
69055         * lib/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES).
69056         Otherwise, some versions of automake would omit the rule that makes
69057         Makefile from Makefile.in.
69058
69059 2002-01-21  Paul Eggert  <eggert@twinsun.com>
69060
69061         * lib/xmemcoll.h, lib/xmemcoll.c: New files.
69062         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
69063         * lib/memcoll.c: Include errno.h, and declare errno if not defined.
69064         (memcoll): Set errno to zero if there is no error.
69065
69066         * lib/quotearg.c (quotearg_buffer_restyled):
69067         Fix bug with quoting buffers containing NUL when backslashing escapes.
69068         This bug was exposed by the other changes in this patch.
69069         (quotearg_n_options): New arg ARGSIZE.
69070         All callers changed.
69071         (quoting_options_from_style): New function.
69072         (quotearg_n_style): Use it.
69073         (quotearg_n_style_mem): New function.
69074
69075         * lib/quotearg.h (quotearg_n_style_mem): New function.
69076
69077 2002-01-19  Jim Meyering  <meyering@lucent.com>
69078
69079         * m4/jm-macros.m4 (jm_MACROS): Use AC_FUNC_STRNLEN.
69080         Remove useless quotes: DF_PROG="df".
69081         * m4/strnlen.m4: New file.
69082
69083 2002-01-16  Paul Eggert  <eggert@twinsun.com>
69084
69085         * lib/backupfile.c (ISDIGIT): Comment fix.
69086         * lib/getdate.y (ISDIGIT): Likewise.
69087         * lib/posixtm.c (ISDIGIT, year): Likewise.
69088         * lib/strverscmp.c (ISDIGIT): Likewise.
69089         * lib/userspec.c (ISDIGIT): Likewise.
69090
69091 2002-01-16  Jim Meyering  <meyering@lucent.com>
69092
69093         * lib/getdate.y: Add three semicolons, each just before a closing
69094         brace. Bison (as of version 1.31) no longer papers over that mistake.
69095
69096 2002-01-05  Jim Meyering  <meyering@lucent.com>
69097
69098         * lib/version-etc.c (version_etc_copyright): Update copyright year.
69099
69100 2001-12-19  Paul Eggert  <eggert@twinsun.com>
69101
69102         * lib/closeout.c (close_stdout_status): If ferror (stdout), do
69103         not silently exit merely because the output buffer happens to
69104         have nothing pending.
69105
69106 2001-12-18  Paul Eggert  <eggert@twinsun.com>
69107
69108         See the big note in ../ChangeLog.
69109         * lib/human.c (suffixes): Prefer K to k for 1024.
69110         (generate_suffix_backwards): New function.
69111         (human_readable_inexact): Use it.
69112         * lib/xstrtol.c (__xstrtol): If there is no number but there
69113         is a valid suffix, assume 1.  "MB" now means decimal, "MiB" binary.
69114         Accept 'K' as well as 'k'.
69115
69116 2001-12-15  Jim Meyering  <meyering@lucent.com>
69117
69118         * lib/regex.h (__restrict_arr): Update from libc.
69119
69120         * lib/mountlist.h (ME_REMOTE): Recognize file systems of type smbfs
69121         as `remote' if the name starts with `//'.  Suggested by Michael Stone.
69122         (STREQ): Define.
69123
69124 2001-12-14  Jim Meyering  <meyering@lucent.com>
69125
69126         * m4/jm-macros.m4 (jm_MACROS): Check for iswspace.
69127         Suggestion from Bruno Haible.
69128
69129 2001-12-10  Jim Meyering  <meyering@lucent.com>
69130
69131         * lib/linebuffer.c: Remove explicit declarations of xmalloc and
69132         xrealloc, Instead, include "xalloc.h".
69133         (initbuffer): Don't cast xmalloc return value to char*.
69134         (readline): Reword comment.
69135         Don't cast xrealloc return value to char*
69136         Return NULL, not 0.
69137
69138 2001-12-09  Jim Meyering  <meyering@lucent.com>
69139
69140         * lib/modechange.c (mode_compile): Add cast to avoid pedantic warning
69141         about `signed and unsigned type in conditional expression'.
69142         * lib/posixtm.c (posix_time_parse): Likewise.
69143
69144         * lib/xreadlink.c (xreadlink): Add cast to avoid a pedantic warning.
69145
69146         * lib/readtokens.c (readtoken): Declare an index to be of type unsigned
69147         to avoid a pedantic warning.
69148
69149         * lib/getstr.c: Don't include assert.h.
69150         (getstr): Remove warning-evoking assertions.
69151         Return -1 if offset parameter is out of bounds.
69152         Change the type of a local from int to size_t.
69153
69154         * lib/strftime.c (my_strftime_localtime_r): Include this function
69155         definition in the `#if ! HAVE_TM_GMTOFF' block.
69156
69157         * lib/xgethostname.c: Remove declarations of xmalloc and xrealloc.
69158         Include xalloc.h instead.
69159
69160 2001-12-02  Jim Meyering  <meyering@lucent.com>
69161
69162         * lib/tempname.c: Don't declare getenv, thus reverting the change of
69163         2001-11-18.  It's no longer necessary, now that stdlib.h is always
69164         included.
69165
69166         * lib/regex.c [!__BOUNDED_POINTERS__]: Define away __bounded,
69167         __unbounded, and __ptrvalue.  Reported by Uwe H. Steinfeld.
69168
69169 2001-11-30  Akim Demaille  <akim@epita.fr>
69170
69171         * lib/xstrdup.c: Include xalloc.h, so that xstrdup is declared
69172         before being defined.
69173
69174 2001-11-27  Paul Eggert  <eggert@twinsun.com>
69175
69176         * lib/quotearg.h (quotearg_n, quotearg_n_style):
69177         First arg is int, not unsigned.
69178         * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
69179         (SIZE_MAX, UINT_MAX): New macros.
69180         (quotearg_n_options): Abort if N is negative.
69181         Avoid overflow check on hosts where size_t is 64 bits and int
69182         is 32 bits, as overflow is impossible there.
69183         Fix off-by-one typo that caused unnecessary reallocation.
69184
69185 2001-11-27  Jim Meyering  <meyering@lucent.com>
69186
69187         * lib/tempname.c: Merge with version from libc.
69188         * lib/regex.c: Likewise.
69189
69190         * lib/tempname.c: Include stdlib.h unconditionally.  On some old
69191         systems for which STDC_HEADERS is 0, it was not included, resulting in
69192         a warning about an integer-to-pointer conversion problem with getenv.
69193         Reported by Volker Borchert.
69194
69195 2001-11-26  Jim Meyering  <meyering@lucent.com>
69196
69197         * lib/gtod.h: Remove file.
69198         * lib/Makefile.am (libfetish_a_SOURCES): Remove gtod.h.
69199         * lib/gettimeofday.c: Don't include gtod.h.
69200         (GTOD_init): Remove function.
69201         (rpl_gettimeofday): Do its job here instead, rather than aborting.
69202         Suggestion from Volker Borchert.
69203
69204 2001-11-23  Jim Meyering  <meyering@lucent.com>
69205
69206         * lib/hash.h (struct hash_table): Don't define here.  Merely declare
69207         it.
69208         * lib/hash.c (struct hash_table): Define it here instead.
69209
69210 2001-11-22  Jim Meyering  <meyering@lucent.com>
69211
69212         * lib/hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif.
69213
69214 2001-11-20  Jim Meyering  <meyering@lucent.com>
69215
69216         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Update comment to reflect that
69217         SunOS 4.1.4 and Solaris 2.5.1 lose, too.
69218
69219 2001-11-19  Jim Meyering  <meyering@lucent.com>
69220
69221         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary
69222         directory.  Use "conftestXXXXXX" as the template.
69223         Suggestion from Paul Eggert.
69224
69225         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Close each descriptor
69226         immediately, so the test doesn't mistakenly hit the max-open-files
69227         limit.
69228
69229 2001-11-18  Paul Eggert  <eggert@twinsun.com>
69230
69231         * lib/tempname.c (TMP_MAX): Remove; no longer needed.
69232         (TEMPORARIES): New macro.
69233         (__gen_tempname): Use TEMPORARIES rather than TMP_MAX.  This
69234         removes an artificial limitation (e.g. HP-UX 10.20, where
69235         TMP_MAX is 17576).
69236
69237 2001-11-18  Jim Meyering  <meyering@lucent.com>
69238
69239         * m4/prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv.
69240
69241 2001-11-18  Jim Meyering  <meyering@lucent.com>
69242
69243         * lib/tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning
69244         on SunOS 4.
69245
69246         * lib/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those
69247         files will be created before anything else.
69248
69249 2001-11-17  Paul Eggert  <eggert@twinsun.com>
69250
69251         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define
69252         WINSIZE_IN_PTEM if <termios.h> defines struct winsize.
69253
69254 2001-11-17  Jim Meyering  <meyering@lucent.com>
69255
69256         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): New file and macro.
69257         Prompted by a report from Bob Proulx.
69258
69259         * m4/jm-macros.m4 (jm_MACROS): Don't test for mkstemp here.
69260         Instead, require UTILS_FUNC_MKSTEMP.
69261
69262 2001-11-17  Jim Meyering  <meyering@lucent.com>
69263
69264         * m4/jm-macros.m4 (jm_MACROS): Remove code to set POW_LIBM.
69265         Now, that's done as part of AC_FUNC_STRTOD.
69266
69267 2001-11-17  Jim Meyering  <meyering@lucent.com>
69268
69269         * lib/modechange.c (mode_adjust): Fix error introduced on 1999-04-26
69270         that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable
69271         rather than group writable.  Patch by Juan F. Codagnone.
69272
69273         * lib/readtokens.c: Remove explicit declarations of xmalloc and
69274         xrealloc, Instead, include "xalloc.h".
69275
69276         * lib/mountlist.c: Include unlocked-io.h after all system headers.
69277         Remove explicit declarations of xmalloc, xrealloc,
69278         and xstrdup.  Instead, include "xalloc.h".
69279
69280         * lib/argmatch.c, closeout.c, error.c, exclude.c: Include
69281         unlocked-io.h.
69282         * lib/fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c:
69283         Likewise.
69284         * lib/mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise.
69285
69286         * lib/regex.c, sha.c, version-etc.c, yesno.c: Likewise.
69287         Reported by Padraig Brady.
69288
69289         * lib/mkstemp.c: #undef mkstemp.
69290         Include config.h.
69291         (rpl_mkstemp): Rename from mkstemp.
69292         Protoize.
69293
69294 2001-11-16  Jim Meyering  <meyering@lucent.com>
69295
69296         * lib/physmem.c [HAVE_SYS_PSTAT_H]: Include <sys/pstat.h>.
69297         (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to
69298         determine the amount of total physical memory, use pstat_getstatic.
69299         HPUX-11 doesn't define _SC_PHYS_PAGES.
69300         (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]:
69301         If sysconf couldn't be used to determine the amount of available
69302         physical memory, use both pstat_getstatic and pstat_getdynamic.
69303         Based on a patch from Bob Proulx.
69304
69305 2001-11-10  Jim Meyering  <meyering@lucent.com>
69306
69307         * m4/prereq.m4 (jm_PREREQ_PHYSMEM): New function.
69308         (jm_PREREQ): Use it.
69309
69310 2001-11-09  Jim Meyering  <meyering@lucent.com>
69311
69312         * m4/jm-macros.m4: Require autoconf-2.52f.
69313         (AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD):
69314         Use these AC_-prefixed names, not the AM_-prefixed ones.
69315
69316         * m4/afs.m4 (jm_AFS): Quote the body.  Patch by Akim Demaille.
69317
69318 2001-11-05  Jim Meyering  <meyering@lucent.com>
69319
69320         * lib/xstat.in (slash_aware_lstat): Correct a misleading comment.
69321
69322 2001-11-04  Jim Meyering  <meyering@lucent.com>
69323
69324         * m4/fpending.m4: Remove unused cruft that saved, set, and restored
69325         $DEFS.
69326
69327 2001-11-03  Jim Meyering  <meyering@lucent.com>
69328
69329         * m4/jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg
69330         of AC_DEFUN.
69331
69332         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to
69333         know the name of the variable in the macro definition.
69334
69335 2001-11-03  Jim Meyering  <meyering@lucent.com>
69336
69337         * lib/argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args
69338         in argmatch_to_argument call.
69339
69340         * lib/dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an
69341         argument.
69342
69343         * lib/hash.c (hash_clear): Fix a bug that could lead to an infloop or
69344         e.g., a fault due to an attempt to free a NULL pointer.
69345
69346 2001-11-01  Jim Meyering  <meyering@lucent.com>
69347
69348         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): New macro.
69349         * m4/jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD.
69350
69351 2001-11-01  Jim Meyering  <meyering@lucent.com>
69352
69353         * lib/dirfd.c, lib/dirfd.h: New files.
69354         * lib/Makefile.am (libfetish_a_SOURCES): Add dirfd.h.
69355
69356         * lib/hash.c (hash_print) [TESTING]: Clean up.
69357
69358 2001-10-22  Paul Eggert  <eggert@twinsun.com>
69359
69360         * lib/hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__,
69361         to avoid a warning if -Wall.
69362
69363 2001-10-22  Jeff Bailey  <jbailey@outpost.dnsalias.org>
69364
69365         * README: New file
69366         * doc/*: Add COPYING, COPYING.LIB, COPYING.DOC, fdl.texi
69367         (per RMS's instructions, this is now the canonical source)
69368         * lgpl/, gpl/: New directories.
69369
69370 2001-10-21  Paul Eggert  <eggert@twinsun.com>
69371
69372         * lib/regex.c (uintptr_t): Remove macro and decl; it's config.h's job.
69373
69374 2001-10-21  Jim Meyering  <meyering@lucent.com>
69375
69376         * lib/obstack.c (_): Honor the setting of ENABLE_NLS.  Otherwise,
69377         this code would end up calling gettext even in packages built
69378         with --disable-nls.
69379         * lib/getopt.c (_): Likewise.
69380         * lib/regex.c (_): Likewise.
69381
69382 2001-10-20  Paul Eggert  <eggert@twinsun.com>
69383
69384         * m4/error.m4 (jm_PREREQ_ERROR):
69385         Do not invoke AC_CHECK_FUNCS with strerror_r, as
69386         AC_FUNC_STRERROR_R does that.
69387         Check for strerror declaration.
69388
69389         * m4/strerror_r.m4: Add copyright notice, as nontrivial m4 files
69390         are supposed to have them these days.
69391         (AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached.
69392         Merge changes from latest Autoconf CVS.
69393         Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p,
69394         and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since
69395         POSIX decided to standardize on the int flavor of strerror_r.
69396
69397 2001-10-20  Paul Eggert  <eggert@twinsun.com>
69398
69399         * lib/error.c (strerror_r): Do not declare unless !_LIBC.
69400         Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
69401         Use strerror_r that is only a macro, even if it is not a function.
69402         (strerror): Check for HAVE_DECL_STRERROR before declaring.
69403         (private_strerror): Use prototypes, not old-style function definition.
69404         (print_errno_message): New function.
69405         Support the POSIX 'int'-flavored strerror_r, as well as the traditional
69406         char*-flavored one.
69407         (error_tail, error, error_at_line): Use it.
69408
69409 2001-10-11  Jim Meyering  <meyering@lucent.com>
69410
69411         * lib/argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ...
69412         and quote_n (1, ... to avoid clobbering a buffer.
69413
69414 2001-10-05  Jim Meyering  <meyering@lucent.com>
69415
69416         * lib/Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and
69417         hash-pjw.h.
69418         * lib/hash-pjw.c: New file (factored out of fileutils' remove.c).
69419         * lib/hash-pjw.h: New file.
69420
69421 2001-09-30  Jim Meyering  <meyering@lucent.com>
69422
69423         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if
69424         `struct fsstat' has the `f_fstypename' member.
69425         Use that to define FS_TYPE, which is now used to make
69426         the getfsstat link test tighter.
69427
69428 2001-09-30  Jim Meyering  <meyering@lucent.com>
69429
69430         * lib/mountlist.c [MOUNTED_GETFSSTAT]:
69431         Include <sys/ucred.h>, for Apple Darwin.
69432         Include sys/mount.h and sys/fs_types.h only if available.
69433         (FS_TYPE): Define.
69434         (read_filesystem_list): Use FS_TYPE.
69435
69436 2001-09-29  Paul Eggert  <eggert@twinsun.com>
69437
69438         * lib/exclude.c (excluded_filename): 0 -> false, since it's
69439         a boolean context.
69440
69441 2001-09-29  Jim Meyering  <meyering@lucent.com>
69442
69443         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
69444         [one-argument getmntent function]): Include stdio.h before mntent.h.
69445         SunOS 4.1.x needs it for the declaration of `FILE'.
69446         Patch by Volker Borchert.
69447
69448         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
69449         Check for these headers: sys/param.h sys/ucred.h sys/mount.h
69450         sys/fs_types.h, and make the link-test for getfsstat guard #include
69451         directives with appropriate #if HAVE_*_H tests so that we can
69452         detect getfsstat on Apple Darwin1.3.7 systems.
69453         Reported by Nelson Beebe.
69454         Fix harmless typo in cache variable name: s/getsstat/getfsstat/.
69455
69456 2001-09-28  Paul Eggert  <eggert@twinsun.com>
69457
69458         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
69459         #defines strtoimax.  Also treat the other strto* functions
69460         like strtoimax.
69461
69462         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
69463         Check for strtoul and strtoumax,
69464         as those declarations are made even in the signed case.
69465         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX):
69466         Likewise, for strtol and strtoimax.
69467
69468 2001-09-28  Paul Eggert  <eggert@twinsun.com>
69469
69470         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
69471         #defines strtoimax.  Also treat the other strto* functions
69472         like strtoimax.
69473
69474         * lib/xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL.
69475         (strtoul): Do not declare if HAVE_DECL_STRTOUL.
69476         (strtoimax, strtoumax): Do not declare if already defined as a macro.
69477
69478 2001-09-26  Jim Meyering  <meyering@lucent.com>
69479
69480         Most macros in unlocked-io.h had the wrong number of arguments.
69481         * lib/gen-uio: New script.
69482         (USE_UNLOCKED_IO): Define to 1 if not already defined.
69483         * lib/unlocked-io.hin: Remove file.
69484         * lib/Makefile.am (unlocked-io.h): Rewrite to use a separate script,
69485         rather than trying to embed it here.
69486         (EXTRA_DIST): Add gen-uio.  Remove unlocked-io.hin
69487         Reported by Padraig Brady.
69488
69489 2001-09-25  Volker Borchert  <bt@teknon.de>
69490
69491         * lib/gettimeofday.c (rpl_gettimeofday): Declare local variable
69492         `result'.
69493
69494 2001-09-24  Jim Meyering  <meyering@lucent.com>
69495
69496         * m4/gettext.m4: Use the version from gettext-0.10.40, not CVS.
69497
69498 2001-09-23  Jim Meyering  <meyering@lucent.com>
69499
69500         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test
69501         instead of the mere test for existence of mntent.h.  The latter
69502         would get a false-positive on AIX 3.4 systems.
69503         In the outer getmntent if-block, don't die if neither of the getmntent
69504         tests succeeds.  Instead, just fall through and continue with the
69505         remaining tests.
69506
69507 2001-09-23  Jim Meyering  <meyering@lucent.com>
69508
69509         * lib/mountlist.c: Remove useless parentheses in #if directives.
69510         (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when
69511         the deprecated MOUNTED symbol is no longer defined in mntent.h.
69512
69513 2001-09-22  Jim Meyering  <meyering@lucent.com>
69514
69515         * m4/gettext.m4: New file.  From gettext.
69516         * m4/lcmessage.m4: Sync with gettext -- this changes only comments.
69517         * m4/progtest.m4: Likewise
69518         * m4/isc-posix.m4: Decrement serial number to sync with gettext.
69519         * m4/glibc21.m4: Likewise.
69520
69521         * m4/libintl.m4: Remove.  No longer used.
69522
69523 2001-09-22  Jim Meyering  <meyering@lucent.com>
69524
69525         * lib/localcharset.c: Update from latest gettext.
69526         * lib/config.charset: Likewise.
69527
69528 2001-09-20  Jim Meyering  <meyering@lucent.com>
69529
69530         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of
69531         strtoimax.
69532         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of
69533         strtoumax.
69534
69535 2001-09-20  Jim Meyering  <meyering@lucent.com>
69536
69537         * lib/xstrtol.c (strtoimax): Guard declaration with
69538         `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'.
69539         The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0)
69540         have their own, conflicting declaration of strtoimax in sys/inttypes.h.
69541         (strtoumax): Likewise, for completeness (it wasn't necessary).
69542
69543 2001-09-17  Paul Eggert  <eggert@twinsun.com>
69544
69545         * lib/strtoimax.c (HAVE_LONG_LONG):
69546         Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned.
69547         (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base),
69548         to work around bug in IBM C compiler.
69549
69550 2001-09-17  Jim Meyering  <meyering@lucent.com>
69551
69552         * m4/chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4,
69553         * m4/jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4,
69554         * m4/nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4,
69555         * m4/st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4,
69556         * m4/utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED,
69557         whenever the right hand side need not be expanded by the shell.
69558
69559 2001-09-16  Paul Eggert  <eggert@twinsun.com>
69560
69561         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C
69562         library.  It's not correct, as some older glibcs are buggy.
69563         fnmatch wasn't fixed until glibc 2.2.
69564
69565         Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no
69566         special shell magic here.
69567
69568 2001-09-16  Jim Meyering  <meyering@lucent.com>
69569
69570         * m4/mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro.
69571         * m4/jm-macros.m4: Require it.
69572
69573 2001-09-16  Jim Meyering  <meyering@lucent.com>
69574
69575         * lib/mkdir.c: New file.
69576
69577 2001-09-15  Jim Meyering  <meyering@lucent.com>
69578
69579         * m4/jm-macros.m4: Check for help2man.
69580
69581 2001-09-11  Jim Meyering  <meyering@lucent.com>
69582
69583         * m4/host-os.m4 (UTILS_HOST_OS): New file/macro.
69584         The body, by Paul Eggert, was moved here from configure.in.
69585         * m4/jm-macros.m4: Require UTILS_HOST_OS.
69586
69587 2001-09-04  Paul Eggert  <eggert@twinsun.com>
69588
69589         * m4/prereq.m4 (jm_PREREQ_XREADLINK): New macro.
69590         (jm_PREREQ): Use it.
69591
69592 2001-09-04  Paul Eggert  <eggert@twinsun.com>
69593
69594         * lib/xreadlink.c (xreadlink): Omit size_t* arg.  All uses changed.
69595         Use ssize_t, not int, to store result of readlink.
69596         Check for ssize_t overflow as well as size_t overflow,
69597         as POSIX says the result of readlink is implementation-defined
69598         when ssize_t overflows.
69599         Remove unnecessary cast to char*.
69600         Use free+malloc instead of realloc, as the storage doesn't need
69601         to be preserved and it's clearer and can be more efficient that way.
69602         (SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare.
69603         * lib/xreadlink.h (xreadlink): Update prototype.
69604
69605 2001-09-04  Paul Eggert  <eggert@twinsun.com>
69606
69607         * lib/xgetcwd.c: Revert some of the previous change; intead,
69608         fix the HAVE_GETCWD_NULL code to behave more like the
69609         !HAVE_GETCWD_NULL code used to.
69610
69611         Include "xalloc.h".
69612         (xgetcwd): Do not return NULL when memory is exhausted; instead,
69613         invoke xalloc_die.
69614
69615 2001-09-03  Paul Eggert  <eggert@twinsun.com>
69616
69617         * m4/prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and
69618         sys/param.h, as pathmax.h includes them.
69619
69620 2001-09-03  Paul Eggert  <eggert@twinsun.com>
69621
69622         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD.
69623         (jm_PREREQ_XGETCWD): New macro.
69624
69625         * m4/getcwd.m4: New file.
69626
69627 2001-09-03  Paul Eggert  <eggert@twinsun.com>
69628
69629         * lib/xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more
69630         like the HAVE_GETCWD_NULL code.
69631         Include pathmax.h if not HAVE_GETCWD.
69632         Do not include xalloc.h.
69633         (INITIAL_BUFFER_SIZE): New symbol.
69634         Do not use xmalloc / xrealloc, since the caller is responsible for
69635         handling errors.  Preserve errno around `free' during failure.
69636         Do not overrun buffer when using getwd.
69637
69638 2001-09-03  Paul Eggert  <eggert@twinsun.com>
69639
69640         * lib/xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined
69641         __GLIBC__ && __GLIBC__ >= 2), to decide whether to use
69642         getcwd (NULL, 0).
69643
69644 2001-09-03  Paul Eggert  <eggert@twinsun.com>
69645
69646         * lib/exclude.c (fnmatch_no_wildcards): Fix confusion between
69647         usage of FNM_CASEFOLD and FNM_LEADING_DIR.  The bug was
69648         spotted by Jim Meyering.
69649
69650 2001-09-03  Jim Meyering  <meyering@lucent.com>
69651
69652         * lib/xreadlink.c (xreadlink): Preserve errno around `free' during
69653         failure.
69654
69655 2001-09-02  Jim Meyering  <meyering@lucent.com>
69656
69657         * lib/error.c: Update from GNU libc.
69658
69659 2001-09-01  Jim Meyering  <meyering@lucent.com>
69660
69661         * m4/jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name.
69662         Used by df.
69663
69664 2001-09-01  Jim Meyering  <meyering@lucent.com>
69665
69666         * lib/xreadlink.c: New file.
69667         * lib/xreadlink.h: New file.
69668         * lib/Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and
69669         xreadlink.h.
69670
69671         * lib/regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
69672         doesn't conflict with sparc Solaris 7's definition in
69673         /usr/include/sys/int_types.h.
69674
69675         * lib/exclude.c: Use `""', not `<>' to #include non-system header
69676         files.
69677         (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
69678         and strncasecmp as r-values.  Unixware didn't have declarations.
69679
69680 2001-08-31  Paul Eggert  <eggert@twinsun.com>
69681
69682         * lib/xstrtol.h: Add copyright notice.
69683         (_DECLARE_XSTRTOL): Improve quality of diagnostic for
69684         LONGINT_INVALID_SUFFIX_CHAR.
69685
69686 2001-08-31  Paul Eggert  <eggert@twinsun.com>
69687
69688         * lib/xstrtol.c (strtoimax): New decl.
69689
69690 2001-08-31  Paul Eggert  <eggert@twinsun.com>
69691
69692         * lib/xgetcwd.c: Don't include pathmax.h.
69693         Include stdlib.h and unistd.h if available.
69694         Include xalloc.h.
69695         (xmalloc, xstrdup, free): Remove decls.
69696         (xgetcwd): Don't assume sizes fit in unsigned.
69697         Check for overflow when computing sizes.
69698         Simplify reallocation code.
69699
69700 2001-08-31  Paul Eggert  <eggert@twinsun.com>
69701
69702         * lib/savedir.c (savedir): Remove size parameter, as POSIX says that
69703         a directory's st_size can have an arbitrary value, so the old
69704         usage could waste an arbitrary amount of memory.  All uses
69705         changed.
69706         * lib/savedir.h: Update prototype.
69707
69708 2001-08-31  Paul Eggert  <eggert@twinsun.com>
69709
69710         * lib/Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c.
69711
69712         * lib/strtoimax.c: Renamed from strtoxmax.c, removing the
69713         old strtoimax.c.
69714
69715         Also, make the following further changes to make this file's
69716         configuration more similar to that of strtol.c:
69717         (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED.  All uses changed.
69718         (strtoumax, uintmax_t, strtoull, strtol): Remove.
69719         (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
69720         (strtoimax): Renamed from strtoumax.  All uses of unsigned values
69721         changed to signed values.
69722
69723         And make the following changes as well:
69724         Fix copyright notice, as 1999 was missing.
69725         (verify): New macro.
69726         (strtoimax): Check sizes at compile-time, not run-time.
69727         Prefer strtol to strtoll if both work.
69728         (main): Remove; it was not that useful and was a pain to maintain.
69729
69730         * lib/strtoumax.c: Include strtoimax.c, not strtouxmax.c.
69731
69732 2001-08-31  Jim Meyering  <meyering@lucent.com>
69733
69734         * lib/xgetcwd.c (xgetcwd): Reorganize to avoid some duplication.
69735         Use an initial, malloc'd, buffer of length 128 rather than
69736         a statically allocated one of length 1024.
69737
69738 2001-08-30  Paul Eggert  <eggert@twinsun.com>
69739
69740         Simplify code, partly by assuming autoconf 2.52 semantics.
69741
69742         * m4/Makefile.am (EXTRA_DIST): Remove uintmax_t.m4.
69743
69744         * m4/inttypes.m4 (AC_PREREQ): Bump to 2.52.
69745         (jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52.
69746         All uses removed.
69747         (jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T):
69748         Move AC_REQUIRE to next-to-top level, to avoid confusion.
69749         Use 2.52's AC_CHECK_TYPE instead of merely looking for the header.
69750         * m4/prereq.m4 (jm_PREREQ_HUMAN): Don't require
69751         jm_AC_HEADER_INTTYPES_H.
69752         * m4/jm-macros.m4 (jm_MACROS): Likewise.
69753
69754         * m4/uintmax_t.m4: Remove, as it duplicates inttypes.m4.
69755
69756         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
69757         Quote first arg of AC_DEFUN.
69758         Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG
69759         since they are needed to parse the include file even if we need
69760         only xstrtoimax.  Simplify logic behind the args to AC_REPLACE.
69761         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise,
69762         but with opposite signedness.
69763
69764 2001-08-30  Paul Eggert  <eggert@twinsun.com>
69765
69766         Merge 'exclude' changes from tar 1.13.22.
69767         This fixes one or two unlikely storage allocation overflow bugs,
69768         but doesn't change user-visible behavior otherwise.
69769
69770 2001-08-30  Paul Eggert  <eggert@twinsun.com>
69771
69772         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE.
69773         (jm_PREREQ_EXCLUDE): New macro.
69774
69775 2001-08-30  Paul Eggert  <eggert@twinsun.com>
69776
69777         * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
69778         tm to be declared.
69779
69780 2001-08-30  Paul Eggert  <eggert@twinsun.com>
69781
69782         * lib/hash.c: Remove '2001' from copyright notice.
69783
69784 2001-08-30  Paul Eggert  <eggert@twinsun.com>
69785
69786         * lib/full-write.h: New file.
69787         * lib/Makefile.am (libfetish_a_SOURCES): Add full-write.h.
69788         * lib/full-write.c: Correct credits, as cccp.c no longer
69789         exists and anyway it was so heavily changed from the old cccp
69790         code as to be unrecognizable.  Include full-write.h.
69791         (full_write) Return size_t, with short writes meaning failure.
69792         All callers changed.  This fixes a bug with large buffers
69793         on 64-bit hosts.
69794         * lib/utime.c: Include full-write.h.
69795
69796 2001-08-30  Paul Eggert  <eggert@twinsun.com>
69797
69798         * lib/exclude.c (bool): Declare, perhaps by including stdbool.h.
69799         (<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
69800         (<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
69801         Include if available.
69802         (<xalloc.h>): Include
69803         (SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
69804         (verify): New macro.  Use it to verify that EXCLUDE macros do not
69805         collide with FNM macros.
69806         (struct patopts): New struct.
69807         (struct exclude): Use it, as exclude patterns now come with options.
69808         (new_exclude): Support above changes.
69809         (new_exclude, add_exclude_file):
69810         Initial size must now be a power of two to simplify overflow checking.
69811         (free_exclude, fnmatch_no_wildcards): New function.
69812         (excluded_filename): No longer requires options arg, as the options
69813         are determined by add_exclude.  Now returns bool, not int.
69814         (excluded_filename, add_exclude):
69815         Add support for the fancy new exclusion options.
69816         (add_exclude, add_exclude_file): Now takes int options arg.
69817         Check for arithmetic overflow when computing sizes.
69818         (add_exclude_file): xrealloc might modify errno, so don't
69819         realloc until after errno might be used.
69820
69821         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS):
69822         New macros.
69823         (free_exclude): New decl.
69824         (add_exclude, add_exclude_file): Now takes int options arg.
69825         (excluded_filename): No longer requires options arg, as the options
69826         are determined by add_exclude.  Now returns bool, not int.
69827
69828 2001-08-30  Paul Eggert  <eggert@twinsun.com>
69829
69830         * lib/alloca.c (alloca): Arg is of type size_t, not unsigned.
69831
69832 2001-08-27  Jim Meyering  <meyering@lucent.com>
69833
69834         * lib/Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c
69835
69836         * lib/version-etc.c (N_): Remove definition.
69837         Revert most of last change.
69838         Instead, simply don't mark the `Copyright...' string for translation.
69839         Based on advice from Paul Eggert.
69840
69841         * lib/strtoxmax.c: Tweak comment.
69842
69843 2001-08-26  Jim Meyering  <meyering@lucent.com>
69844
69845         * m4/jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX.
69846
69847         * m4/xstrtoimax.m4: New file.
69848         * m4/xstrtoumax.m4: Add comments explaining why we
69849         AC_REPLACE_FUNCS(strtol).
69850
69851 2001-08-26  Jim Meyering  <meyering@lucent.com>
69852
69853         * lib/version-etc.c (version_etc_copyright_fmt): Replace literal year
69854         of copyright with `%s' so translators don't get an untranslated
69855         message in 2002.
69856         (COPYRIGHT_YEAR): Define.
69857         (version_etc): Use fprintf rather than fputs.
69858         Suggestion from Ulrich Drepper.
69859
69860         * lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
69861
69862         * lib/strtoll.c: New file, from GNU libc.
69863         * lib/xstrtoimax.c: New file.
69864
69865         * lib/xstrtol.h: Add xstrtoimax.
69866         * lib/strtoumax.c: New file.  Simply include "strtoumax.c".
69867         * lib/strtoimax.c: New file.  Likewise, but first define
69868         STRTOUXMAX_SIGNED.
69869
69870         * lib/strtoumax.c: Factor to work both for unsigned and signed types,
69871         ...
69872         * lib/strtoxmax.c: ... then renamed to this.
69873
69874 2001-08-18  Paul Eggert  <eggert@twinsun.com>
69875
69876         * m4/inttypes.m4: Add AC_PREREQ(2.13).
69877         (jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too.
69878         (jm_AC_TYPE_INTMAX_T): New macro.
69879         (jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4.
69880
69881         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro.
69882
69883         * m4/longlong.m4: Renamed from ulonglong.m4.
69884         * m4/inttypes.m4: Renamed from inttypes_h.m4.
69885         * m4/uintmax_t.m4: Removed.
69886
69887 2001-08-13  Paul Eggert  <eggert@twinsun.com>
69888
69889         * lib/Makefile.am (unlocked-io.h): Do not append "_unlocked" twice.
69890         Port to Solaris 8, where 'sed' requires a space after the 'r'
69891         command, and where sh dislikes "$/".  Clean up the spacing a bit.
69892         Redirect output to $tmp just once.
69893
69894 2001-08-12  Paul Eggert  <eggert@sic.twinsun.com>
69895
69896         * lib/addext.c (<errno.h>): Include.
69897         (errno): Declare if not defined.
69898         (addext): Work correctly when pathconf returns -1 and leaves
69899         errno alone because there is no limit.  Also, work even if
69900         pathconf returns a value greater than SIZE_MAX.
69901
69902 2001-08-12  Jim Meyering  <meyering@lucent.com>
69903
69904         * m4/afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4,
69905         d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4,
69906         fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4,
69907         group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4,
69908         jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4,
69909         link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4,
69910         mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4,
69911         prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4,
69912         rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4,
69913         strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4,
69914         utime.m4, utimes.m4, xstrtoumax.m4:
69915         Quote the first argument in each use of AC_DEFUN.
69916
69917 2001-08-12  Jim Meyering  <meyering@lucent.com>
69918
69919         * lib/xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
69920         Simply `return getcwd (NULL, 0);'.
69921         [! (defined __GLIBC__ && __GLIBC__ >= 2)]:
69922         Use 1300 as initial value for length, not PATH_MAX.
69923
69924         * lib/pathmax.h: Clean up cpp syntax.
69925
69926 2001-08-12  Jim Meyering  <meyering@lucent.com>
69927
69928         * lib/gettimeofday.c: New file.
69929         * lib/gtod.h: New file.
69930         * lib/Makefile.am (libfetish_a_SOURCES): Add gtod.h.
69931
69932 2001-08-05  Jim Meyering  <meyering@lucent.com>
69933
69934         * m4/jm-macros.m4: Require autoconf-2.52.
69935
69936 2001-08-04  Jim Meyering  <meyering@lucent.com>
69937
69938         * lib/error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if
69939         stmt, to get in sync with glibc.
69940
69941 2001-08-03  Paul Eggert  <eggert@twinsun.com>
69942
69943         The following changes are from gettext 0.10.39 as maintained by
69944         Bruno Haible.
69945
69946         * lib/mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
69947         Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
69948         with inverted sense.  All uses changed.
69949
69950         * lib/mbswidth.c: Don't include <limits.h>.
69951         Include <stdlib.h> and <string.h> unconditionally.
69952         (iswcntrl, mbsinit, ISCNTRL): New macros.
69953         (mbsnwidth): Use K&R style function declarations.
69954         Don't bother checking for MB_LEN_MAX == 1, since the compiler
69955         can optimize it when MB_CUR_MAX == 1.
69956         The width of control characters is zero, not 1.
69957
69958 2001-08-03  Paul Eggert  <eggert@twinsun.com>
69959
69960         The following changes are from gettext 0.10.39 as maintained by
69961         Bruno Haible, except that getline.m4 continues to use AC_LIBOBJ.
69962
69963         * m4/codeset.m4: Upgrade to serial AM1.
69964         (AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET;
69965         all uses changed.  Quote first arg of AC_DEFUN.
69966         (am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset.
69967
69968         * m4/iconv.m4: Upgrade to serial AM2.
69969         (AM_ICONV): Renamed from jm_ICONV; all uses changed.
69970         Add --with-libconv-prefix.
69971         Quote first arg of AC_DEFUN.  Add description for ICONV_CONST.
69972         (am_cv_func_iconv): Renamed from jm_cv_func_iconv.
69973         (am_cv_lib_iconv): Renamed from jm_cv_lib_iconv.
69974         (am_cv_proto_iconv): Renamed from jm_cv_proto_iconv.
69975         * m4/jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings.
69976
69977         * m4/c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN.
69978         * m4/getline.m4 (AM_FUNC_GETLINE): Likewise.
69979         * m4/glibc21.m4 (jm_GLIBC21): Likewise.
69980         * m4/inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise.
69981         * m4/isc-posix.m4 (AC_ISC_POSIX): Likewise.
69982         * m4/lcmessage.m4 (AM_LC_MESSAGES): Likewise.
69983         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
69984         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise.
69985         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
69986
69987         * m4/getline.m4 (AM_FUNC_GETLINE): Don't bother checking for
69988         string.h any more.
69989
69990         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no",
69991         not the default value.
69992
69993         2001-06-25  Bruno Haible  <haible@clisp.cons.org>
69994         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES.
69995         Also check for mbsinit.  Needed for SCO 3.2v5.0.2.
69996         Also include <string.h>; this is where AIX 3.2.5 declares wcwidth.
69997         Also check for iswcntrl, used for wcwidth fallback.
69998         Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability
69999         to Autoconf 2.13.
70000
70001 2001-08-03  Jim Meyering  <meyering@lucent.com>
70002
70003         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include',
70004         as it was in the original.  Reported by Paul Eggert.
70005
70006 2001-07-16  Jim Meyering  <meyering@lucent.com>
70007
70008         * m4/gettimeofday.m4: New file.
70009         Prompted by a report from Bernhard Baehr.
70010
70011 2001-07-15  Jim Meyering  <meyering@lucent.com>
70012
70013         * m4/Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h
70014         stuff. Now it's in ../Makefile.cfg.
70015
70016 2001-07-15  Jim Meyering  <meyering@lucent.com>
70017
70018         * lib/Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
70019         (BUILT_SOURCES): Add unlocked-io.h.
70020         (io_functions): Define.
70021         (unlocked-io.h): New rule.
70022         (DISTCLEANFILES): Add unlocked-io.h.
70023         (all-local): Depend on unlocked-io.h, to ensure it is created.
70024
70025         * lib/unlocked-io.hin: New file
70026
70027         * lib/regex.c: Update from glibc.
70028
70029 2001-07-05  Jim Meyering  <meyering@lucent.com>
70030
70031         * lib/Makefile.am (noinst_HEADERS): Remove definition, per new automake
70032         recommendation.
70033         (libfetish_a_SOURCES): Put all .h files here instead.
70034         Remove a thus-exposed (better checks in automake) duplicate and
70035         two unnecessary .h files.
70036
70037 2001-07-04  Jim Meyering  <meyering@lucent.com>
70038
70039         * m4/Makefile.am.in (glibc-io.struct): New target.  Rework the code
70040         that generates jm-glibc-io.m4 so that it doesn't trigger any make
70041         distcheck failure.
70042
70043 2001-07-02  Jim Meyering  <meyering@lucent.com>
70044
70045         The following changes were prompted by suggestions from Bruno Haible.
70046
70047         * m4/jm-glibc-io.m4n: New file, the template from which jm-glibc-io.m4
70048         is now generated.
70049         * m4/Makefile.am.in (Makefile.am): Include jm-glibc-io.m4n in emitted
70050         definition of EXTRA_DIST.
70051         (Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to
70052         ensure that the generated file is created/updated whenever the list
70053         of $(unlocked_functions) is changed.
70054         (jm-glibc-io.m4): New rule.
70055         (unlocked-io.h): New rule -- currently unused.
70056
70057 2001-06-24  Jim Meyering  <meyering@lucent.com>
70058
70059         * m4/regex.m4 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an
70060         unmatched right bracket, rather than kludging it with an extra,
70061         falsely-matching quote in a comment.  Patch by Akim Demaille.
70062
70063 2001-06-11  Jim Meyering  <meyering@lucent.com>
70064
70065         * lib/regex.c: Update from GNU libc.
70066
70067 2001-05-27  Jim Meyering  <meyering@lucent.com>
70068
70069         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for ut_type in struct utmpx.
70070         Check for ut_type in struct utmp.
70071
70072 2001-05-27  Jim Meyering  <meyering@lucent.com>
70073
70074         * lib/readutmp.h (UT_TYPE): Define.
70075
70076 2001-05-24  Jim Meyering  <meyering@lucent.com>
70077
70078         * lib/argmatch.c: Include "quote.h".
70079         (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
70080         quote function.  Reported by Göran Uddeborg.
70081
70082 2001-05-22  Jim Meyering  <meyering@lucent.com>
70083
70084         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime),
70085         now that we use the package-supplied version unconditionally.
70086         (jm_FUNC_STRFTIME): Don't replace strftime, for the same reason.
70087
70088 2001-05-21  Jim Meyering  <meyering@lucent.com>
70089
70090         * m4/regex.m4: Change a couple backticks to single quotes to avoid
70091         shell syntax errors.
70092
70093 2001-05-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
70094
70095         * m4/dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__.
70096
70097 2001-05-20  Paul Eggert  <eggert@twinsun.com>
70098
70099         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME):
70100         Don't bother to check library strftime, since
70101         we'll be using our own my_strftime function anyway.
70102         Define my_strftime instead of strftime.
70103
70104 2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
70105
70106         * lib/dirname.c (dir_name): Compute append_dot using path, not newpath
70107         which is not yet declared.
70108
70109 2001-05-15  Jim Meyering  <meyering@lucent.com>
70110
70111         * m4/regex.m4: Use proper quoting so brackets appear in the test
70112         program.
70113         Reported by, and with help from, Bruno Haible.
70114
70115 2001-05-13  Jim Meyering  <meyering@lucent.com>
70116
70117         * m4/jm-macros.m4 (major_t, minor_t): Define to unsigned int if
70118         undefined.
70119
70120 2001-05-11  Paul Eggert  <eggert@twinsun.com>
70121
70122         dirname code cleanup.  base_name now behaves more compatibly
70123         with POSIX basename when given file names that have trailing
70124         slashes, and similarly for dir_name.  Add new primitives
70125         base_len and dir_len.  Put the directory-name-related decls
70126         into dirname.h.
70127
70128         * lib/addext.c (ISSLASH, base_name): Remove; now in dirname.h.
70129         * lib/backupfile.c (base_name): Likewise.
70130         * lib/basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
70131         * lib/dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
70132         * lib/makepath.c (strip_trailing_slashes): Likewise.
70133         * lib/path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN,
70134         ISSLASH): Likewise.
70135         * lib/rename.c (strip_trailing_slashes): Likewise.
70136         * lib/same.c (base_name): Likewise.
70137         * lib/stripslash.c (ISSLASH): Likewise.
70138
70139         * lib/addext.c: Include <dirname.h> after size_t is defined.
70140         * lib/backupfile.c: Likewise.
70141
70142         * lib/addext.c (addext): Use base_len to trim redundant
70143         trailing slashes instead of doing it ourselves.
70144         But do not trim the last slash if it is not redundant.
70145
70146         * lib/backupfile.c (find_backup_file_name,
70147         max_backup_version): Use base_len instead of rolling it ourselves.
70148         Handle the case of "" and (on DOS) "C:" correctly.
70149
70150         * lib/basename.c: Do not include <stdio.h>, <assert.h>; no longer
70151         needed. Include <string.h>, <dirname.h>.
70152         (base_name): Allow file names ending in slashes, other than names
70153         that are all slashes.  In this case, return the basename followed
70154         by the slashes.  This is more general, and can be used in places
70155         where the original base_name purposely had an assertion failure.
70156         (base_len): New function.
70157
70158         * lib/dirname.c: Include <string.h> instead of <stdlib.h>.
70159         Do not include <assert.h>; no longer needed.
70160         Include xalloc.h.
70161         (memrchr): Remove decl.
70162         (dir_name_r): Remove.
70163         (dir_len): Renamed from dirlen.  All callers changed.
70164         Rewrite in terms of base_name, for simplicity and consistency.
70165         (dir_name): Never return NULL.  All callers changed.
70166         Do not include <stdlib.h> in test program; no longer needed.
70167         return 0; is fine for test program.
70168
70169         * lib/dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
70170         New macros.
70171         (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
70172
70173         * lib/path-concat.c (path_concat): Use base_len to compute
70174         base length, not strlen; this means we cannot rely on memcpy
70175         to null-terminate.
70176
70177         * lib/same.c (STREQ): Remove.
70178         (same_name): Handle the case where the basename ends in trailing '/'.
70179
70180         * lib/stripslash.c (strip_trailing_slashes): Return nonzero if
70181         a slash was stripped.  Do not strip the last slash after a
70182         file system prefix.
70183
70184 2001-05-11  Paul Eggert  <eggert@twinsun.com>
70185
70186         * lib/Makefile.am (libfetish_a_SOURCES):
70187         Add strftime.c, since we now compile it on all hosts.
70188
70189         * lib/strftime.c (my_strftime):
70190         Define to nstrftime if emacs, but only if my_strftime is not defined.
70191         (extra_args, extra_args_spec, extra_args_spec_iso): Rename from
70192         ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
70193         Add one more extra argument: a nanoseconds value.
70194         All uses changed.
70195         (ns): New macro.
70196         (my_strftime function): Add %N format.
70197         (emacs_strftimeu): Renamed from emacs_strftime,
70198         with extra ut argument.
70199
70200 2001-05-09  Paul Eggert  <eggert@twinsun.com>
70201
70202         * m4/jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used.
70203
70204 2001-04-21  Jim Meyering  <meyering@lucent.com>
70205
70206         * m4/rmdir-errno.m4: Write to a new file, so that a restrictive umask
70207         doesn't interfere.
70208
70209 2001-04-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
70210
70211         * m4/ftruncate.m4: Check for chsize.
70212         Link with ftruncate.o unconditionally if ftruncate is missing.
70213         This was required when cross-compiling to i586-mingw32msvc.
70214
70215 2001-04-08  Jim Meyering  <meyering@lucent.com>
70216
70217         * lib/getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
70218         recomputed; that's necessary when the offset spans a DST transition.
70219         Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.
70220
70221 2001-04-02  Jim Meyering  <meyering@lucent.com>
70222
70223         * lib/regex.h, regex.c: Update from GNU libc.
70224
70225 2001-03-24  Jim Meyering  <meyering@lucent.com>
70226
70227         * m4/jm-macros.m4: Require autoconf-2.49d.
70228
70229 2001-03-20  Bruno Haible  <haible@clisp.cons.org>
70230
70231         * m4/iconv.m4 (jm_ICONV): Recommend GNU libiconv.
70232
70233 2001-03-19  Paul Eggert  <eggert@twinsun.com>
70234
70235         * lib/version-etc.c (version_etc_copyright): Update to 2001.
70236
70237 2001-03-17  Jim Meyering  <meyering@lucent.com>
70238
70239         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Remove my copy of AC_FUNC_MEMCMP,
70240         now that the version in autoconf is equivalent.
70241         (jm_FUNC_MEMCMP): Adjust to use AC_FUNC_MEMCMP.
70242
70243         * m4/error.m4 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R.
70244         Suggestion from Akim Demaille.
70245
70246         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_TEMPNAME.
70247         (jm_PREREQ_TEMPNAME): New function.
70248
70249 2001-03-16  Paul Eggert  <eggert@twinsun.com>
70250
70251         * lib/tempname.c (uint64_t): Define to uintmax_t if
70252         not defined, and if UINT64_MAX is not defined.
70253         Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
70254         Reported by John David Anglin.
70255
70256 2001-03-15  Bruno Haible  <haible@clisp.cons.org>
70257
70258         * lib/localcharset.c (locale_charset): Allow wildcard syntax. Also
70259         resolve alias if codeset is empty.
70260         * lib/config.charset (BeOS): Use wildcard syntax.
70261
70262 2001-03-13  Jim Meyering  <meyering@lucent.com>
70263
70264         * lib/path-concat.c (path_concat)
70265         [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't insert a backslash when
70266         concatenating e.g., `C:' and `foo'.
70267         From Bruno Haible.
70268
70269 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
70270
70271         * lib/localcharset.c (locale_charset): Don't use
70272         setlocale(LC_CTYPE,NULL). Don't return NULL.
70273         * lib/unicodeio.c (print_unicode_char): Simplify accordingly.
70274
70275 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
70276
70277         * lib/config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
70278         support for DOS/DJGPP.
70279
70280 2001-03-01  Paul Eggert  <eggert@twinsun.com>
70281
70282         * m4/jm-macros.m4 (jm_MACROS): Use mkstemp replacement if the system
70283         lacks mkstemp.  Compile our own tempname.c if we compile our own
70284         mkstemp.c, as mkstemp relies on tempname.
70285
70286 2001-03-01  Jim Meyering  <meyering@lucent.com>
70287
70288         * m4/dos.m4 (jm_AC_DOS): Remove extra backslashes, now that
70289         AH_VERBATIM really does output its argument verbatim.
70290
70291 2001-02-28  Paul Eggert  <eggert@twinsun.com>
70292
70293         * lib/Makefile.am (libfetish_a_SOURCES):
70294         Add dup-safer.c, fopen-safer.c.
70295         (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
70296
70297         * lib/dup-safer.c, lib/fopen-safer.c, lib/stdio-safer.h:
70298         * lib/unistd-safer.h: New files.
70299
70300 2001-02-25  Paul Eggert  <eggert@twinsun.com>
70301
70302         The mkstemp replacement is taken from glibc 2.2.2, with some
70303         portability fixes for use outside glibc, as follows:
70304
70305         * lib/tempname.c (struct_stat64): New macro.
70306         (direxists, __gen_tempname): Use it.
70307         This avoids a portability problem with Solaris 8.
70308
70309         * lib/tempname.c (<config.h>): Include if HAVE_CONFIG_H.
70310         (<stddef.h>, <stdint.h>, <string.h>):
70311         Include only if STDC_HEADERS || _LIBC.
70312         (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
70313         (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
70314         (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
70315         (__set_errno): Define this macro if <errno.h> doesn't.
70316         (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
70317         Define these macros if <stdio.h> doesn't.
70318         (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
70319         Define these macros if <sys/stat.h>
70320         doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
70321         (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
70322         __xstat64): Define if not _LIBC.
70323         (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
70324         (__gen_tempname): Invoke gettimeofday only if
70325         HAVE_GETTIMEOFDAY || _LIBC;
70326         otherwise, fall back on plain "time".
70327         Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
70328
70329         * lib/mkstemp.c (__GT_FILE): Define to zero if not defined.
70330
70331         * lib/mkstemp.c, lib/tempname.c: New files, taken from glibc 2.2.2.
70332
70333 2001-02-18  Paul Eggert  <eggert@twinsun.com>
70334
70335         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h.
70336
70337 2001-02-17  Paul Eggert  <eggert@twinsun.com>
70338
70339         * m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC.
70340         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH):
70341         Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc).
70342         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
70343
70344 2001-02-17  Paul Eggert  <eggert@twinsun.com>
70345
70346         * lib/mbswidth.c, quotearg.c (mbrtowc, mbsinit):
70347         Remove workaround macros for hosts that have mbrtowc but not
70348         mbstate_t, as we now insist on proper declarations for both
70349         before using mbrtowc.
70350
70351 2001-02-17  Jim Meyering  <meyering@lucent.com>
70352
70353         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for
70354         getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt
70355         further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on
70356         UnixWare 7.1.1.
70357
70358         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc.,
70359         rather than AC_CACHE_VAL.
70360
70361 2001-02-17  Jim Meyering  <meyering@lucent.com>
70362
70363         * lib/strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
70364         around included file name.
70365
70366         * lib/strnlen.c (__strnlen): Merge in a change from GNU libc.
70367
70368         * lib/strftime.c: Update from GNU libc (the only changes were to
70369         comments).
70370
70371 2001-02-17  Jim Meyering  <meyering@lucent.com>
70372
70373         * lib/regex.c: Update from libc.
70374
70375 2001-02-17  Bruno Haible  <haible@clisp.cons.org>
70376
70377         * lib/mbswidth.h (mbswidth): Also define as macro, to avoid prototype
70378         clash.
70379
70380 2001-02-16  Paul Eggert  <eggert@twinsun.com>
70381
70382         * lib/alloca.c (malloc): Undef before defining, since stdlib.h
70383         may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
70384         Reported by Mark Hounschell via Paul Eggert.
70385
70386 2001-02-07  Jim Meyering  <meyering@lucent.com>
70387
70388         * m4/regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug.
70389
70390 2001-02-05  Jim Meyering  <meyering@lucent.com>
70391
70392         * m4/jm-macros.m4: Require autoconf-2.14d (not yet released), because
70393         it includes the patch required for `large file' support with at least
70394         HP-UX's 10.20 /bin/cc.
70395
70396 2001-02-03  Jim Meyering  <meyering@lucent.com>
70397
70398         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of
70399         AS_IF, now that it works once again (mysteriously).
70400         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
70401
70402 2001-01-30  Jim Meyering  <meyering@lucent.com>
70403
70404         Don't use filenames that are 8.3-equivalent to "conftest" on DOS.
70405         * m4/chown.m4: Rename conftestchown to conftest.chown.
70406         * m4/rename.m4: s/conftestdir/conftest.d1/ and
70407         s/conftestdir2/conftest.d2/.
70408         * m4/utimes.m4: s/conftestdata/conftest.data/
70409         Inspired by Pavel Roskin's change in autoconf.
70410
70411 2001-01-30  Bruno Haible  <haible@clisp.cons.org>
70412
70413         * lib/config.charset: Update for FreeBSD 4.2.
70414
70415 2001-01-27  Jim Meyering  <meyering@lucent.com>
70416
70417         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was
70418         a use of AS_IF.
70419         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
70420
70421 2001-01-26  Jim Meyering  <meyering@lucent.com>
70422
70423         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that
70424         quotearg.c includes it.
70425
70426 2001-01-26  Jim Meyering  <meyering@lucent.com>
70427
70428         * lib/quotearg.c: Include stddef.h.
70429         * lib/quote.c: Include stddef.h.
70430         Reported by Axel Kittenberger.
70431
70432         * lib/xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
70433         line in double quotes so that it evokes a better diagnostic.
70434         [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
70435         Reported by Axel Kittenberger.
70436
70437 2001-01-24  Stefan Monnier  <monnier@cs.yale.edu>
70438
70439         * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
70440         as if it was a `charset'.
70441
70442 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
70443
70444         * m4/iconv.m4 (jm_ICONV): Also check whether the iconv declaration
70445         has const.
70446
70447 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
70448
70449         * lib/unicodeio.c (print_unicode_char): Cast the second iconv() arg,
70450         to avoid a warning.  Add back 'const' to inptr.
70451
70452 2001-01-20  Jim Meyering  <meyering@lucent.com>
70453
70454         Be sure that headers are checked before used in code compiled
70455         for the type checks.
70456         * m4/jm-macros.m4 (jm_MACROS): Remove all header checks.
70457         In place of that, invoke jm_CHECK_ALL_TYPES.
70458         (jm_CHECK_ALL_HEADERS): New functions with the above checks.
70459         (jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS.
70460         Alan Iwi reported a build failure on an f300-fujitsu-uxpv4.1_ES;
70461         The check for ssize_t was mistakenly run before the test for unistd.h.
70462
70463         The configure-time check for stdbool.h was missing.
70464         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HASH.
70465         (jm_PREREQ_HASH): New function.
70466
70467 2001-01-17  Jim Meyering  <meyering@lucent.com>
70468
70469         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE,
70470         for autoconf-2.49c.
70471         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise.
70472
70473 2001-01-16  Jim Meyering  <meyering@lucent.com>
70474
70475         * lib/basename.c: Include <stdio.h>, needed by assert on SunOS 4.
70476         From Bruno Haible.
70477
70478 2001-01-14  Jim Meyering  <meyering@lucent.com>
70479
70480         * m4/rename.m4: Use temporary directories named conftestdir{,2}, not
70481         foo and bar.  Create conftestdir/ in the script, not in the C code.
70482         Remove directories in the script, not in the C code.
70483         Remove conftestdir{,2} before trying to create the directory.
70484         Make the entire configure script fail if the mkdir fails.
70485
70486 2001-01-14  Jim Meyering  <meyering@lucent.com>
70487
70488         * lib/rename.c: New file.  From Volker Borchert.
70489         Include stdlib.h, string.h or strings.h, and xalloc.h.
70490         Use strip_trailing_slashes rather than open-coding it.
70491
70492 2001-01-03  Paul Eggert  <eggert@twinsun.com>
70493
70494         * lib/strftime.c: Sync with glibc time/strftime.c 1.81.
70495
70496 2001-01-03  Jim Meyering  <meyering@lucent.com>
70497
70498         * lib/unicodeio.c (print_unicode_char): Remove `const' from declaration
70499         of local `inptr' to avoid warning with some system declarations of
70500         iconv.
70501
70502 2001-01-02  Volker Borchert  <bt@teknon.de>
70503
70504         * m4/rename.m4: New file.
70505         * m4/jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME.
70506
70507 2001-01-01  Jim Meyering  <meyering@lucent.com>
70508
70509         * m4/prereq.m4 (jm_PREREQ_READUTMP): Include utmp.h (if available),
70510         even on systems with utmpx.h.  It's necessary for the declaration of
70511         utmp's ut_user member.  Reported by Andreas Jaeger.
70512
70513         * m4/check-decl.m4 (jm_CHECK_DECLS): Include grp.h and pwd.h if
70514         available. They are required for the declarations of getgrgid and
70515         getpwuid resp.
70516         (_jm_DECL_HEADERS): Check for grp.h and pwd.h.
70517         Reported by Andreas Jaeger.
70518
70519 2001-01-01  Alexandre Duret-Lutz  <duret_g@epita.fr>
70520
70521         * m4/libintl.m4 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by
70522         expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN,
70523         so `make install' also works in VPATH builds.
70524
70525 2000-12-31  Alexandre Duret-Lutz  <duret_g@epita.fr>
70526
70527         * m4/libintl.m4 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR,
70528         prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it
70529         can be used in subdirectories.
70530
70531 2000-12-29  Paul Eggert  <eggert@twinsun.com>
70532
70533         * lib/modechange.c: Do not assume that mode_t uses the
70534         traditional octal encoding.  E.g. "chmod 1 FOO" should set
70535         the other-execute bit of FOO even if S_IXOTH != 1.
70536
70537         (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
70538         WOTH, XOTH, ALLM): New macros.
70539         (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
70540          S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
70541         Use them.
70542         (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
70543         (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
70544         (mode_compile):
70545         No need to use uintmax_t; unsigned long is long enough.
70546         Don't bother to get suffix since we don't use it.
70547
70548 2000-12-26  Jim Meyering  <meyering@lucent.com>
70549
70550         * m4/dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work
70551         better with autoheader.
70552
70553 2000-12-24  Jim Meyering  <meyering@lucent.com>
70554
70555         * lib/hash.c (is_prime): Return explicit boolean values.
70556         (hash_get_first): Return NULL to appease Irix5.6's 89.
70557         Reported by Nelson Beebe.
70558
70559 2000-12-19  Bruno Haible  <haible@clisp.cons.org>
70560
70561         * lib/localcharset.c (locale_charset): Add support for Win32.
70562
70563 2000-12-18  Paul Eggert  <eggert@twinsun.com>
70564
70565         * lib/physmem.h, lib/physmem.c: New files.
70566
70567         * lib/Makefile.am (libfetish_a_SOURCES): Add physmem.c.
70568         (noinst_HEADERS): Add physmem.h.
70569
70570         * lib/xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
70571         't' for compatibility with Solaris 8 sort.
70572
70573 2000-12-18  Bruno Haible  <haible@clisp.cons.org>
70574
70575         * lib/config.charset: Add support for BeOS.
70576
70577 2000-12-17  Jim Meyering  <meyering@lucent.com>
70578
70579         * m4/dos.m4 (jm_AC_DOS): New file and macro.
70580         * m4/jm-macros.m4 (jm_MACROS): Require jm_AC_DOS.
70581
70582 2000-12-16  Jim Meyering  <meyering@lucent.com>
70583
70584         This bug had a serious impact on chown: `chown N:M FILE' (for integer
70585         N and M) would have treated it like `chown N:N FILE'.
70586
70587         * lib/userspec.c (parse_user_spec): Fix typo: s/u/g/.
70588
70589 2000-12-16  Jim Meyering  <meyering@lucent.com>
70590
70591         * lib/getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
70592         SHELLS_FILE to a file name that's useful on djgpp systems.
70593         Include stdlib.h.
70594         (ADDITIONAL_DEFAULT_SHELLS): Define.
70595         (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
70596         Based mostly on a patch from Prashant TR.
70597
70598 2000-12-16  Bruno Haible  <haible@clisp.cons.org>
70599
70600         * lib/config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB,
70601         VISCII, CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256,
70602         CP1257 to the list of canonical encodings. Rename EUC-CN to GB2312.
70603
70604 2000-12-08  Andreas Schwab  <schwab@suse.de>
70605
70606         * lib/mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
70607         invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
70608
70609 2000-12-07  Jim Meyering  <meyering@lucent.com>
70610
70611         * lib/stripslash.c (ISSLASH): Define.
70612         (strip_trailing_slashes): Use ISSLASH rather than comparing against
70613         `/'.
70614         From Prashant TR.
70615
70616         * lib/dirname.c (FILESYSTEM_PREFIX_LEN): Define.
70617         (dir_name_r): Declare this function as static.
70618         [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
70619         manifest itself on a name containing a mix of slashes and
70620         backslashes.
70621         Make this function work with names starting with a DOS-style
70622         drive letter and colon prefix.
70623         (dir_name): Append `.' if necessary.
70624         Based mostly on patches from Prashant TR and Eli Zaretskii.
70625
70626         * lib/dirname.h (dir_name_r): Remove prototype.
70627
70628 2000-12-06  Paul Eggert  <eggert@twinsun.com>
70629
70630         * m4/off_t-format.m4: Remove this file.
70631         * m4/jm-macros.m4 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT.
70632
70633 2000-12-06  Jim Meyering  <meyering@lucent.com>
70634
70635         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): If we need the
70636         replacement strtoull, we may well need the replacement strtoul, too.
70637         Check for declarations of strtoul and strtoull.
70638         Check for strtol.  Mainly as a cue to cause automake to include
70639         strtol.c -- that file is included by each of strtoul.c and strtoull.c.
70640         Check for limits.h -- strtol.c needs it.
70641
70642 2000-12-05  Jim Meyering  <meyering@lucent.com>
70643
70644         * lib/dirname.c (dir_name_r): Add `const' in a few local declarations.
70645
70646 2000-12-04  Jim Meyering  <meyering@lucent.com>
70647
70648         * lib/path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
70649         Also include memory.h, stdlib.h, unistd.h if appropriate.
70650         Reported by Andreas Jaeger (conflicting declaration of malloc).
70651
70652 2000-12-02  Jim Meyering  <meyering@lucent.com>
70653
70654         * m4/off_t-format.m4 (OFF_T_PRINTF_FORMAT_STRING): New file/macro.
70655         * m4/jm-macros.m4 (jm_MACROS): require it.
70656
70657 2000-12-02  Jim Meyering  <meyering@lucent.com>
70658
70659         * lib/closeout.h: Make idempotent, to avoid some obscure warnings.
70660
70661 2000-12-01  Paul Eggert  <eggert@twinsun.com>
70662
70663         * lib/memrchr.c: Include <config.h> before any system include file.
70664
70665 2000-11-30  Jim Meyering  <meyering@lucent.com>
70666
70667         * m4/jm-macros.m4 (jm_MACROS): Check for stdint.h.
70668
70669 2000-11-30  Jim Meyering  <meyering@lucent.com>
70670
70671         * m4/getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf.
70672
70673 2000-11-29  Paul Eggert  <eggert@twinsun.com>
70674
70675         * lib/dirname.c (dir_name_r): Fix typo: int -> size_t.
70676
70677 2000-11-26  Jim Meyering  <meyering@lucent.com>
70678
70679         * lib/memcoll.c: Include sys/types.h.  From Werner Almesberger.
70680
70681 2000-11-22  Paul Eggert  <eggert@twinsun.com>
70682
70683         * lib/strftime.c (my_strftime): Do not invoke mbrlen with a
70684         size of (size_t) -1; it's not portable.
70685
70686 2000-11-17  Jim Meyering  <meyering@lucent.com>
70687
70688         * lib/strstr.c: Update from GNU libc.
70689
70690 2000-11-17  Akim Demaille  <akim@epita.fr>
70691
70692         * lib/obstack.h: Formatting changes.
70693         (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
70694         prevent type checking.
70695         (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
70696         cast the value to (void *): assigning a `foo *' to a `void *'
70697         variable is valid.
70698         (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
70699
70700 2000-11-16  Jim Meyering  <meyering@lucent.com>
70701
70702         * lib/strverscmp.c: Incorporate weak-alias-related changes from glibc.
70703
70704 2000-11-11  Jim Meyering  <meyering@lucent.com>
70705
70706         * lib/error.c: Add a couple #includes, merging from GNU libc version.
70707
70708 2000-11-10  Jim Meyering  <meyering@lucent.com>
70709
70710         * lib/obstack.h: Update from GNU libc.
70711         * lib/obstack.c: Likewise.
70712
70713 2000-11-08  Bruno Haible  <haible@clisp.cons.org>
70714
70715         * m4/jm-macros.m4 (jm_MACROS): Add test for wcrtomb.
70716
70717 2000-11-06  Paul Eggert  <eggert@twinsun.com>
70718
70719         * lib/getusershell.c (setusershell): Use rewind rather than
70720         fseek/fseeko, to avoid configuration hassles with fseeko.
70721         Don't bother opening SHELLS_FILE if shellstream is NULL;
70722         it's not necessary.
70723
70724 2000-11-05  Jim Meyering  <meyering@lucent.com>
70725
70726         * lib/makepath.h (make_dir): Declare.
70727         * lib/makepath.c (make_dir): Remove `static' attribute.
70728         Tweak a comment.
70729
70730 2000-11-04  Jim Meyering  <meyering@lucent.com>
70731
70732         * m4/regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'.
70733
70734 2000-11-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
70735
70736         * lib/hash.c (hash_get_next): Fix a thinko:  when ENTRY is the
70737         last one in a bucket, advance to the next bucket.
70738
70739 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
70740
70741         * lib/fnmatch.c: Do not comment out all the code if we are using
70742         the GNU C library, because in some cases we are replacing buggy
70743         code in the GNU C library itself.
70744
70745 2000-10-30  Stefan Monnier  <monnier@cs.yale.edu>
70746
70747         * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
70748         (regex_compile): Catch bogus \(\1\).
70749
70750 2000-10-30  Paul Eggert  <eggert@twinsun.com>
70751
70752         * lib/fnmatch.c (FOLD): Do not assume that characters are unsigned.
70753         (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
70754         e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
70755
70756 2000-10-30  Paul Eggert  <eggert@twinsun.com>
70757
70758         * lib/error.h, getline.h, modechange.h:
70759         Remove "2000" from Copyright line, as the file hasn't been
70760         changed this year other than in the copyright notice.
70761
70762         * lib/xalloc.h: Add "2000" to Copyright line, as this file
70763         was changed this year.
70764
70765 2000-10-29  Jim Meyering  <meyering@lucent.com>
70766
70767         * m4/fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf
70768         renaming.
70769         * m4/ls-mntd-fs.m4: Likewise
70770
70771 2000-10-29  Jim Meyering  <meyering@lucent.com>
70772
70773         * lib/xstat.in: Fix grammar in comment.
70774
70775 2000-10-29  Greg Louis  <glouis@dynamicro.on.ca>
70776
70777         * lib/regex.h (__restrict_arr): Move definition out of #ifndef block.
70778         Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
70779         doesn't define __restrict_arr.
70780
70781 2000-10-28  Jim Meyering  <meyering@lucent.com>
70782
70783         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR.
70784         (jm_PREREQ_MEMCHR): New function.
70785
70786 2000-10-28  Jim Meyering  <meyering@lucent.com>
70787
70788         * lib/memchr.c: Update from libc.
70789         Adjust for portability:
70790         [HAVE_STDLIB_H]: Include stdlib.h.
70791         [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
70792         Undef __memchr, too.
70793         [!weak_alias]: Define __memchr to memchr.
70794
70795         * lib/regex.c: Update from libc.
70796         * lib/regex.h: Likewise.
70797         * lib/getopt1.c: Likewise.
70798         * lib/memcmp.c: Likewise.
70799
70800         * lib/getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
70801         Avoid using fseek, when possible -- it's broken by design.
70802         Patch by Ulrich Drepper.
70803
70804 2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>
70805
70806         * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
70807         (re_match_2_internal, re_match_2_internal, re_match_2_internal):
70808         Giving in to popular pressure to shut up the compiler with casts.
70809
70810 2000-10-26  Jim Meyering  <meyering@lucent.com>
70811
70812         * lib/strftime.c: Update from libc.
70813
70814 2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>
70815
70816         * regex.c: More `unsigned char' -> `re_char' changes.
70817         Also change several `int' into `re_wchar_t'.
70818         (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
70819         (PUSH_FAILURE_POINTER): Don't cast any more.
70820         (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
70821         We want GCC to complain, since this piece of code makes
70822         re_match non-reentrant, which *should* be fixed.
70823         (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
70824         (EXTEND_BUFFER): Use RETALLOC.
70825         (SET_LIST_BIT): Don't cast.
70826         (re_wchar_t): New type.
70827         (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
70828         that those two functions will always properly return.
70829         (IMMEDIATE_QUIT_CHECK): Cast to void.
70830         (analyse_first): Use recursion rather than an explicit stack.
70831         (re_compile_fastmap): Can't fail anymore.
70832         (re_search_2): Don't check re_compile_fastmap for failure.
70833         (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
70834         Now also sets the new value (passed in a new argument).
70835         (re_match_2_internal): Use it.
70836         Also, use a new var `reg' of type size_t when looping through regs
70837         rather than reuse the inappropriate `mcnt'.
70838
70839 2000-10-25  Jim Meyering  <meyering@lucent.com>
70840
70841         * lib/obstack.c: Update from libc.
70842
70843 2000-10-24  Kenichi Handa  <handa@etl.go.jp>
70844
70845         * regex.c (regex_compile): Change the way of handling a range from
70846         a char less than 256 to a char not less than 256.
70847
70848 2000-10-24  Andrew Innes  <andrewi@gnu.org>
70849
70850         * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
70851         NT-Emacs only.
70852         (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
70853         so that re_search functions only quit when callers expect them to.
70854
70855 2000-10-23  Jim Meyering  <meyering@lucent.com>
70856
70857         * lib/hard-locale.c (hard_locale): Revert last change -- it was simply
70858         wrong.  That set_locale call must not have any side effects.
70859         From Paul Eggert.
70860
70861 2000-10-22  Jim Meyering  <meyering@lucent.com>
70862
70863         * lib/md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
70864         [CYCLIC]: Remove now-unused definition.
70865
70866         * lib/save-cwd.c (O_DIRECTORY): Define, if needed.
70867         (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
70868         Suggestion from Ulrich Drepper.
70869
70870 2000-10-21  Jim Meyering  <meyering@lucent.com>
70871
70872         * m4/check-decl.m4 (jm_CHECK_DECLS): Also check for memrchr.
70873         * m4/prereq.m4 (jm_PREREQ_DIRNAME): New macro.
70874         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memrchr.
70875
70876 2000-10-21  Jim Meyering  <meyering@lucent.com>
70877
70878         * lib/dirname.c (memrchr): Declare if necessary.
70879         (dir_name): Remove the restriction that there be no
70880         trailing slashes.  Now, this code skips past them, effectively
70881         ignoring them.
70882         [TEST_DIRNAME] (main): New unit tests.
70883
70884         * lib/memrchr.c: New file from GNU libc.
70885         Undef __memrchr, too.
70886         [!weak_alias]: Define __memrchr to memrchr.
70887         Guard weak_alias use with `#ifdef weak_alias'.
70888
70889 2000-10-21  Jim Meyering  <meyering@lucent.com>
70890
70891         * lib/dirname.c (dir_name_r): New function, factored out of dir_name.
70892         (dir_name): Use dir_name_r.
70893         * lib/dirname.h (dir_name_r): Declare it.
70894
70895 2000-10-17  Jim Meyering  <meyering@lucent.com>
70896
70897         * lib/quote.h (PARAMS): Define and use.
70898         Reported by Akim Demaille.
70899
70900         * lib/getopt.c: Update from libc.
70901
70902 2000-10-16  Jim Meyering  <meyering@lucent.com>
70903
70904         * lib/hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to
70905         setlocale.
70906         From Jan Fedak.
70907
70908 2000-10-15  Stefan Monnier  <monnier@cs.yale.edu>
70909
70910         * regex.c (WIDE_CHAR_SUPPORT): Define if _LIBC as well.
70911
70912 2000-09-25  Jim Meyering  <meyering@lucent.com>
70913
70914         * lib/md5.h (rol): Define (from GnuPG).
70915
70916         * lib/sha.c: Give credit (GnuPG) where due.
70917         (M): Use rol rather than open-coding it.
70918         Add a FIXME comment.
70919
70920 2000-09-21  Jim Meyering  <meyering@lucent.com>
70921
70922         * lib/userspec.c (parse_user_spec): Remove debugging printf I'd added.
70923         Reported by Michael Stone.
70924
70925 2000-09-20  Jim Meyering  <meyering@lucent.com>
70926
70927         * lib/Makefile.am (libfetish_a_SOURCES): Add sha.c.
70928         (noinst_HEADERS): Add sha.h.
70929         Based on code from Scott G. Miller and from GnuPG.
70930
70931 2000-09-18  Jim Meyering  <meyering@lucent.com>
70932
70933         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Restore the initial value of
70934         LIBS. Otherwise, everyone ends up linking with -lelf for some
70935         configurations.
70936         Reported by Mike Stone.
70937
70938 2000-09-15  Jim Meyering  <meyering@lucent.com>
70939
70940         * lib/regex.c: Update from libc.
70941
70942 2000-09-10  Jim Meyering  <meyering@lucent.com>
70943
70944         * lib/getopt.c (_getopt_internal): Update from glibc.
70945
70946 2000-09-09  Jim Meyering  <meyering@lucent.com>
70947
70948         * lib/quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
70949         think it should be used as a general replacement for isascii.
70950         * lib/fnmatch.c: Likewise.
70951         * lib/mbswidth.c: Likewise
70952         * lib/regex.c: Likewise.
70953
70954         Don't use atoi.
70955         * lib/userspec.c: Include sys/param.h and limits.h.
70956         Include xstrtol.h.
70957         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
70958         (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
70959         (parse_user_spec): Use xstrtoul, not atoi when converting numeric
70960         UID, GID.  Check range.
70961
70962 2000-09-06  Jim Meyering  <meyering@lucent.com>
70963
70964         * lib/getopt.c (_getopt_internal): Update from glibc.
70965
70966 2000-08-30  Jim Meyering  <meyering@lucent.com>
70967
70968         * lib/strftime.c: Merge in changes from GNU libc.
70969
70970 2000-08-26  Jim Meyering  <meyering@lucent.com>
70971
70972         * m4/jm-macros.m4: Use jm_FUNC_FPENDING.
70973         * m4/fpending.m4: New file.
70974
70975 2000-08-26  Jim Meyering  <meyering@lucent.com>
70976
70977         * lib/closeout.c: Include "__fpending.h".
70978         (close_stdout_status): Return right away if there's nothing to flush.
70979
70980         * lib/Makefile.am (noinst_HEADERS): Add __fpending.h.
70981         * lib/__fpending.c: New file.
70982         * lib/__fpending.h: New file.
70983
70984 2000-08-20  Jim Meyering  <meyering@lucent.com>
70985
70986         * m4/check-decl.m4: Include utmp.h `#if HAVE_UTMP_H', rather than
70987         `#if !HAVE_UTMPX_H'.  The latter would lose on systems with neither
70988         utmp.h nor utmpx.h.  Reported by Eli Zaretskii.
70989
70990 2000-08-11  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
70991
70992         Improve fileutils installation on systems where running
70993         programs (like install) can't be unlinked.
70994         * m4/unlink-busy.m4 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro.
70995         * m4/jm-macros.m4: Use jm_FUNC_UNLINK_BUSY_TEXT.
70996
70997 2000-08-07  Paul Eggert  <eggert@twinsun.com>
70998
70999         Standardize on "memory exhausted" instead of "Memory exhausted"
71000         or "virtual memory exhausted".
71001         * lib/obstack.c (print_and_abort): Use "memory exhausted", not
71002         "virtual memory exhausted".
71003         * lib/same.c (same_name): Invoke xalloc_die instead of printing
71004         our own message.
71005         * lib/userspec.c (parse_user_spec): Likewise.
71006         * lib/bumpalloc.h: comment fix
71007         * lib/same.c, userspec.c: Include xalloc.h.
71008
71009         * lib/xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
71010         not char *const and pointing to a constant array.
71011         * lib/xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
71012         (xrealloc): Comment fix.
71013
71014         * lib/userspec.c (parse_user_spec):
71015         Don't translate a message until just before returning,
71016         to avoid unnecessary translation.
71017
71018 2000-08-07  Jim Meyering  <meyering@lucent.com>
71019
71020         * lib/addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
71021         chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
71022         fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
71023         getgroups.c, gethostname.c, getopt.h, group-member.c,
71024         hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
71025         linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
71026         memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
71027         pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
71028         stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
71029         strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
71030         utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
71031         yesno.c: Back out Copyright date changes for each file with no change
71032         this year.  This eases coordination with other programs using the same
71033         source code modules.  From Paul Eggert.
71034
71035 2000-08-06  Paul Eggert  <eggert@twinsun.com>
71036
71037         * m4/mbstate_t.m4 (AC_MBSTATE_T): Define mbstate_t to be int,
71038         not char, for compatibility with glibc 2.1.3 strftime.c.
71039
71040 2000-08-03  Greg McGary  <greg@mcgary.org>
71041
71042         * lib/regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
71043         ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
71044         (EXTEND_BUFFER): Use them.
71045
71046 2000-08-01  Jim Meyering  <meyering@lucent.com>
71047
71048         * lib/dirname.c (ISSLASH): Define.
71049         (BACKSLASH_IS_PATH_SEPARATOR): Define.
71050         (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
71051         both `\' and `/' may be use as path separators.
71052         Based on a patch from Prashant TR.
71053
71054 2000-07-31  Paul Eggert  <eggert@twinsun.com>
71055
71056         * lib/quotearg.c (quotearg_n_options): Don't make the initial
71057         slot vector a constant, since it might get modified.
71058
71059 2000-07-31  Jim Meyering  <meyering@lucent.com>
71060
71061         * lib/xmalloc.c: Use `virtual memory exhausted', not
71062         `Memory exhausted'.
71063         * lib/obstack.c (print_and_abort): Likewise.
71064
71065 2000-07-30  Paul Eggert  <eggert@twinsun.com>
71066
71067         * lib/quotearg.c (quotearg_n_options): Preallocate a slot 0
71068         buffer, so that the caller can always quote one small
71069         component of a "memory exhausted" message in slot 0.
71070         From a suggestion by Jim Meyering.
71071
71072 2000-07-30  Jim Meyering  <meyering@lucent.com>
71073
71074         * lib/makepath.c (make_path): Quote the other instance, too.
71075
71076         * lib/quotearg.c (N_STATIC_SLOTVECS): Define.
71077         (STATIC_BUF_SIZE): Define.
71078         (quotearg_n_options): Use only statically allocated storage when
71079         N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
71080         than STATIC_BUF_SIZE.
71081
71082 2000-07-29  Jim Meyering  <meyering@lucent.com>
71083
71084         * lib/diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
71085         * lib/dirname.c (dir_name): Likewise.
71086
71087         * lib/basename.c (base_name): Use ISSLASH rather than comparing against
71088         `/'.
71089
71090         * lib/dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
71091         (dir_name): Assert that there are no trailing slashes.
71092
71093 2000-07-29  Bruno Haible  <haible@clisp.cons.org>
71094
71095         * lib/mbswidth.h (mbswidth): Add a flags argument.
71096         (mbswidth): New declaration.
71097         (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
71098         * lib/mbswidth.c (mbswidth): Add a flags argument.
71099         (mbsnwidth): New function.
71100
71101 2000-07-24  Jim Meyering  <meyering@lucent.com>
71102
71103         * lib/mbswidth.c: Remove useless #else.  From Bruno Haible.
71104
71105 2000-07-23  Paul Eggert  <eggert@twinsun.com>
71106
71107         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration.
71108
71109 2000-07-23  Paul Eggert  <eggert@twinsun.com>
71110
71111         * lib/quotearg.c: Streamline by invoking multibyte code only if needed.
71112         <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
71113         (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
71114         (quotearg_buffer_restyled): If a unibyte locale, don't bother to
71115         invoke multibyte primitives.
71116
71117 2000-07-23  Paul Eggert  <eggert@twinsun.com>
71118
71119         * lib/quotearg.c:
71120         Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
71121         so that mbstate_t is always defined.
71122
71123         Do not inspect MB_LEN_MAX, since it's incorrectly defined to
71124         be 1 in at least one GCC installation, and this configuration
71125         error is likely to be common.  Ignoring MB_LEN_MAX hurts
71126         performance on hosts that have mbrtowc but have only unibyte
71127         locales, but I assume these hosts are rare.
71128
71129 2000-07-23  Paul Eggert  <eggert@twinsun.com>
71130
71131         * lib/mbswidth.c (_XOPEN_SOURCE):
71132         Don't define; this causes problems on Solaris 7.
71133         (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
71134
71135 2000-07-23  Jim Meyering  <meyering@lucent.com>
71136
71137         * m4/check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these,
71138         too: getgrgid, getpwuid, getuid.
71139
71140 2000-07-23  Jim Meyering  <meyering@lucent.com>
71141
71142         * lib/basename.c (base_name): Add an assertion.
71143
71144 2000-07-23  Bruno Haible  <haible@clisp.cons.org>
71145
71146         * lib/quotearg.c: When the system forces us to redefine mbstate_t,
71147         shadow its mbsinit function.
71148
71149 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
71150
71151         * lib/mbswidth.h: New file.
71152         * lib/mbswidth.c: New file.
71153         * lib/Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
71154         (noinst_HEADERS): Add mbswidth.h.
71155
71156 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
71157
71158         * lib/config.charset: Add support for FreeBSD. Improve support for
71159         HP-UX and IRIX 6.
71160
71161 2000-07-16  Bruno Haible  <haible@clisp.cons.org>
71162
71163         * m4/mbswidth.m4: New file.
71164         * m4/prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH.
71165
71166 2000-07-15  Jim Meyering  <meyering@lucent.com>
71167
71168         * lib/makepath.c: Include quote.h.
71169         (make_path): Convert "`%s'" in format strings to "%s", and wrap each
71170         corresponding argument in a `quote (...)' call.
71171         Give better diagnostics.
71172
71173         * lib/Makefile.am (libfetish_a_SOURCES): Add quote.c.
71174         (noinst_HEADERS): Add quote.h.
71175
71176         * lib/quote.c (quote, quote_n): New file.  Two functions taken verbatim
71177         from tar's src/misc.c.
71178         * lib/quote.h: New file.  Prototypes for same.
71179
71180 2000-07-14  Paul Eggert  <eggert@twinsun.com>
71181
71182         From a suggestion by Bruno Haible.
71183         * lib/quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
71184         Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
71185         to decide whether to define the BeOS workaround macro;
71186         this adjusts to the change to AC_MBSTATE_T.
71187
71188 2000-07-14  Jim Meyering  <meyering@lucent.com>
71189
71190         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require
71191         jm_AC_TYPE_UINTMAX_T.
71192
71193 2000-07-13  Paul Eggert  <eggert@twinsun.com>
71194
71195         * lib/quotearg.h (enum quoting style): New enum clocale_quoting_style.
71196
71197         * lib/quotearg.c (quoting_style_args, quoting_style_vals,
71198         quotearg_buffer_restyled): Add support for
71199         clocale_quoting_style.  Undo previous change to
71200         locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
71201         and "{RIGHT QUOTATION MARK}" msgids.
71202
71203 2000-07-10  Paul Eggert  <eggert@twinsun.com>
71204
71205         From a suggestion by Bruno Haible.
71206         * m4/mbstate_t.m4 (AC_MBSTATE_T):
71207         Renamed from AC_MBSTATE_T_OBJECT.  All uses changed.
71208         Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT
71209         and mbstate_t, to a single-part test that simply defines mbstate_t.
71210         * m4/prereq.m4 (jm_PREREQ_QUOTEARG):
71211         s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/.
71212
71213 2000-07-10  Jim Meyering  <meyering@lucent.com>
71214
71215         * m4/strerror_r.m4: Mirror the correction made in autoconf.
71216
71217         * m4/gnu-source.m4: Output to confdefs.h directly.
71218         Suggestion from Akim Demaille.
71219
71220 2000-07-09  Paul Eggert  <eggert@twinsun.com>
71221
71222         The old behavior of quoting `like this' doesn't look good with
71223         newer, ISO-style fonts.  See:
71224         http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
71225
71226         Instead, quote "like this" by default.  Let the translator
71227         tailor the locale-specific quoting behavior by providing
71228         translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
71229
71230         * lib/quotearg.c (N_): New macro.
71231         (gettext_default): New function.
71232         (quotearg_buffer_restyled): Use
71233         gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
71234         gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
71235
71236 2000-07-09  Jim Meyering  <meyering@lucent.com>
71237
71238         * m4/jm-macros.m4 (jm_MACROS): Add a test to see if -lm is required
71239         to link seq.  If so, set SEQ_LIBM to -lm.  From Bruno Haible.
71240
71241         * m4/gnu-source.m4 (AC__GNU_SOURCE): New file/macro.
71242         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require it.
71243
71244 2000-07-09  Jim Meyering  <meyering@lucent.com>
71245
71246         * lib/Most files: Update copyright dates to include 2000.
71247
71248 2000-07-08  Jim Meyering  <meyering@lucent.com>
71249
71250         * lib/xgethostname.c (ENAMETOOLONG): Define to an unlikely value
71251         if not defined.
71252         (xgethostname): Remove now-unnecessary #ifdef.
71253         Move declaration of `err' into loop where it's used.
71254
71255 2000-07-05  Paul Eggert  <eggert@twinsun.com>
71256         and Bruno Haible  <haible@clisp.cons.org>
71257
71258         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Test for mbstate_t
71259         only if the test for an object-type mbstate_t fails.  This
71260         prevents us from mistakenly reporting that mbstate_t is a
71261         system object type after we "#define mbstate_t int" to work
71262         around its lack.
71263
71264 2000-07-05  Paul Eggert  <eggert@twinsun.com>
71265         and Bruno Haible  <haible@clisp.cons.org>
71266
71267         * lib/quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
71268
71269 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
71270
71271         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer
71272         to strerror_r.
71273         Include <ctype.h> for use of isalpha.
71274
71275 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
71276
71277         * lib/xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug
71278         by allocating a larger buffer. Test the gethostname return value for
71279         being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
71280         returns an error and ENAMETOOLONG isn't defined.
71281
71282 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
71283
71284         * lib/quotearg.c (struct quoting_options): Simplify quote_these_too
71285         dimension.
71286
71287 2000-07-04  Jim Meyering  <meyering@lucent.com>
71288
71289         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead
71290         of the deprecated AC_CHECKING.
71291
71292 2000-07-04  Jim Meyering  <meyering@lucent.com>
71293
71294         * lib/strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
71295         Reported by Bruno Haible.
71296
71297 2000-07-04  Jim Meyering  <meyering@lucent.com>
71298
71299         * lib/quotearg.c: Make inclusion of <wchar.h> independent of whether
71300         HAVE_MBRTOWC is set.  Required at least for irix-5.6, which
71301         lacks mbrtowc.
71302
71303 2000-07-03  Paul Eggert  <eggert@twinsun.com>
71304
71305         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13.
71306         Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H.
71307
71308 2000-07-03  Paul Eggert  <eggert@twinsun.com>
71309         and Bruno Haible  <haible@clisp.cons.org>
71310
71311         * lib/quotearg.c (mbrtowc):
71312         Assign to *pwc, and return 1 only if result is nonzero.
71313         (iswprint): Use ISPRINT when substituting our own mbrtowc.
71314
71315 2000-07-03  Jim Meyering  <meyering@lucent.com>
71316
71317         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strnlen.
71318
71319 2000-07-03  Jim Meyering  <meyering@lucent.com>
71320
71321         * lib/readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
71322         This is necessary to get a definition of e.g., UTMP_FILE on
71323         HP-UX 10.20.
71324         From Bob Proulx.
71325
71326 2000-07-02  Jim Meyering  <meyering@lucent.com>
71327
71328         * m4/mbstate_t.m4: Also define mbstate_t, if necessary.
71329
71330         * m4/chown.m4: Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with
71331         AC_LIBOBJ(function_name).
71332         * m4/chown.m4: Likewise.
71333         * m4/fnmatch.m4: Likewise.
71334         * m4/ftruncate.m4: Likewise.
71335         * m4/getgroups.m4: Likewise.
71336         * m4/getline.m4: Likewise.
71337         * m4/group-member.m4: Likewise.
71338         * m4/jm-macros.m4: Likewise.
71339         * m4/lstat.m4: Likewise.
71340         * m4/malloc.m4: Likewise.
71341         * m4/memcmp.m4: Likewise.
71342         * m4/nanosleep.m4: Likewise.
71343         * m4/putenv.m4: Likewise.
71344         * m4/realloc.m4: Likewise.
71345         * m4/regex.m4: Likewise.
71346         * m4/stat.m4: Likewise.
71347         * m4/strftime.m4: Likewise.
71348
71349 2000-07-02  Jim Meyering  <meyering@lucent.com>
71350
71351         * lib/quotearg.c (mbstate_t): Don't define here.
71352
71353 2000-07-02  Jim Meyering  <meyering@lucent.com>
71354
71355         * lib/nanosleep.c (SIGCONT): Define if not already defined.
71356
71357 2000-07-01  Jim Meyering  <meyering@lucent.com>
71358
71359         * m4/uptime.m4: Put double quotes around use of $cross_compiling.
71360
71361 2000-07-01  Jim Meyering  <meyering@lucent.com>
71362
71363         * m4/ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated
71364         problem.
71365
71366 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
71367
71368         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific
71369         macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV.
71370
71371 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
71372
71373         * lib/mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
71374         per change in ../m4/ls-mntd-fs.m4.
71375         (read_filesystem_list): Ignore symbolic links.
71376
71377 2000-06-29  Jim Meyering  <meyering@lucent.com>
71378
71379         * lib/same.c: Include <string.h> or <strings.h>, as appropriate,
71380         for declaration of strcmp.
71381
71382         * lib/long-options.c: Include <stdlib.h>, for declaration of exit.
71383
71384         * lib/mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
71385         Avoid warning by casting result to `char *' to remove `const'.
71386
71387 2000-06-28  Jim Meyering  <meyering@lucent.com>
71388
71389         * m4/mbstate_t.m4: Use stdlib.h, not stdio.h.  The latter is not
71390         included by quotearg.c, for which we perform this test.  From
71391         Bruno Haible.
71392
71393 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
71394
71395         * m4/check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well.
71396         * m4/prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either <utmp.h> or
71397         <utmpx.h> exists, put readutmp.o into LIBOBJS.
71398
71399 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
71400
71401         * lib/Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
71402
71403 2000-06-26  Paul Eggert  <eggert@twinsun.com>
71404
71405         savedir now sets errno on failure and invokes xmalloc to get memory.
71406         Fix a couple of other minor bugs while we're at it.
71407
71408         * lib/savedir.c (<unistd.h>): Do not include; there's no need.
71409         (NAMLEN): Remove macro.
71410         (malloc, realloc): Remove decls.
71411         (stpcpy): Likewise.
71412         ("xalloc.h"): Include.
71413         (NAME_SIZE_DEFAULT): New macro.
71414         (savedir): Use xmalloc / xrealloc to allocate memory.
71415         Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
71416         Skip "" directory entries.
71417         Use strlen to calculate directory entry length, since the old method
71418         is rarely used these days and isn't worth supporting.
71419         Don't use a pointer after freeing it.
71420         Check for integer overflow when calculating allocation size.
71421         Use memcpy to copy entries, instead of stpcpy.
71422         Set errno properly when returning NULL.
71423         Check for readdir error.
71424
71425 2000-06-26  Jim Meyering  <meyering@lucent.com>
71426
71427         * lib/posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
71428
71429 2000-06-25  Jim Meyering  <meyering@lucent.com>
71430
71431         * m4/mbstate_t.m4: Include stdio.h before wchar.h to work around
71432         Linux header bug when _XOPEN_SOURCE is defined to 500.
71433
71434 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
71435
71436         * lib/unicodeio.c (print_unicode_char): Work around ansi2knr
71437         deficiency.
71438
71439 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
71440
71441         * lib/getusershell.c (xmalloc, xrealloc): Remove functions.
71442         Include xalloc.h.
71443         Don't include <stdlib.h>.  Don't declare malloc, realloc.
71444
71445 2000-06-24  Jim Meyering  <meyering@lucent.com>
71446
71447         * m4/strerror_r.m4: Revive this file -- to try out an experimental
71448         version of AC_FUNC_STRERROR_R that may work even on BeOS, a system
71449         for which strerror does return char*, but which lacks a conveniently
71450         accessible declaration of the function.  If the compile-test says
71451         strerror_r doesn't work, then resort to a `run'-test that works on
71452         BeOS and segfaults on DEC Unix.
71453
71454 2000-06-24  Jim Meyering  <meyering@lucent.com>
71455
71456         * lib/error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
71457
71458 2000-06-23  Paul Eggert  <eggert@twinsun.com>
71459
71460         * m4/mbstate_t.m4: New file, defining AC_MBSTATE_T_OBJECT.
71461         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Use it.  Add check for iswprint.
71462
71463 2000-06-23  Paul Eggert  <eggert@twinsun.com>
71464
71465         * lib/quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
71466         (mbrtowc, mbstate_t): Define substitutes if
71467         HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
71468         (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
71469         not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
71470
71471 2000-06-23  Jim Meyering  <meyering@lucent.com>
71472
71473         * m4/afs.m4: Add missing AC_MSG_RESULT.
71474         Reported by Bruno Haible.
71475
71476         * m4/fsusage.m4: s/AC_MSG_CHECKING/AC_CHECKING/.
71477         Suggestion from Bruno Haible.
71478
71479 2000-06-23  Jim Meyering  <meyering@lucent.com>
71480
71481         * lib/getpass.c: New file, from Bruno Haible.  Required for BeOS.
71482
71483 2000-06-21  Jim Meyering  <meyering@lucent.com>
71484
71485         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass.
71486
71487 2000-06-21  Jim Meyering  <meyering@lucent.com>
71488
71489         * lib/Makefile.am (libfetish_a_SOURCES): Add getstr.c.
71490         (noinst_HEADERS): Add getstr.h.
71491
71492         * lib/getline.c (getstr): Move into a separate file.
71493         * lib/getstr.c (getstr): New file, extracted from getline.c, with
71494         the following changes: new parameter, delim2; both delim[12]
71495         parameters have type `int', not `char'.  The latter would lose
71496         with 8-bit delimiters.
71497         * lib/getstr.h: New file.
71498
71499 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
71500
71501         * lib/xgetcwd.c (xgetcwd): If the required pathname length is smaller
71502         than 1024, return a memory chunk of least possible size, instead
71503         of size PATH_MAX + 2. In the loop, increment the size proportionally.
71504         Use free/xmalloc instead of xrealloc to avoid copying for very long
71505         paths.
71506
71507 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
71508
71509         * lib/path-concat.c (path_concat): Don't access dir[-1] if dir is
71510         the empty string.
71511
71512 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
71513
71514         * lib/canon-host.c (canon_host): Use malloc and memcpy to copy an
71515         address, not strdup.  Include <stdlib.h> and don't declare free().
71516
71517 2000-06-19  Jim Meyering  <meyering@lucent.com>
71518
71519         * lib/getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
71520
71521 2000-06-18  Jim Meyering  <meyering@lucent.com>
71522
71523         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Remove mkdir.
71524
71525         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the
71526         `checking whether...' message to be consistent with that of the
71527         lstat test.
71528
71529 2000-06-18  Jim Meyering  <meyering@lucent.com>
71530
71531         * lib/mkdir.c: Remove file, due mainly to copyright incompatibility.
71532         Besides, these days every porting target provides a mkdir function.
71533
71534         * lib/strnlen.c: Include memory.h, string.h, and/or strings.h as
71535         needed. (this snippet comes from src/system.h).
71536
71537 2000-06-16  Bruno Haible  <haible@clisp.cons.org>
71538
71539         * m4/glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C.
71540
71541 2000-06-15  Paul Eggert  <eggert@twinsun.com>
71542
71543         * lib/human.c (adjust_value): New function.
71544         (human_readable_inexact): Apply rounding style even when
71545         printing approximate values.
71546
71547 2000-06-14  Paul Eggert  <eggert@twinsun.com>
71548
71549         * lib/human.c (human_readable_inexact): Allow an input block
71550         size that is not a multiple of the output block size, and vice versa.
71551         Reported by Piergiorgio Sartor.
71552
71553 2000-06-14  Paul Eggert  <eggert@twinsun.com>
71554
71555         * lib/getdate.y (get_date): Apply relative times after time
71556         zone indicator, not before.  Reported by Todd A. Jacobs.
71557
71558 2000-06-13  Jim Meyering  <meyering@lucent.com>
71559
71560         * lib/Makefile.am (all-local): Depend on lstat.c and stat.c.
71561
71562         * lib/xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
71563
71564 2000-06-12  Paul Eggert  <eggert@twinsun.com>
71565
71566         * lib/xstat.in: Include <stdlib.h> in lstat, to declare "free".
71567
71568 2000-06-12  Jim Meyering  <meyering@lucent.com>
71569
71570         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Replace with
71571         AC_FUNC_GETLOADAVG from autoconf, and tweak the latter to accept an
71572         optional argument.
71573         * m4/jm-macros.m4: s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/, and supply
71574         the optional argument, `lib'.
71575
71576 2000-06-08  Jim Meyering  <meyering@lucent.com>
71577
71578         * m4/largefile.m4: Remove file (now that it's part of autoconf).
71579
71580 2000-06-04  Paul Eggert  <eggert@twinsun.com>
71581
71582         Rewrite largefile configuration so that we don't need to run
71583         getconf and don't need AC_CANONICAL_HOST.  [I'm leaving the use of
71584         AC_CANONICAL_HOST in configure.in -- jmm]
71585
71586         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS,
71587         AC_SYS_LARGEFILE_SPACE_APPEND): Remove.
71588         (AC_SYS_LARGEFILE_TEST_INCLUDES): New macro.
71589         (AC_SYS_LARGEFILE_MACRO_VALUE): Change arguments from
71590         CODE-TO-SET-DEFAULT to VALUE, INCLUDES, FUNCTION-BODY.
71591         All uses changed.
71592         Instead of inspecting the output of getconf, try to compile the
71593         test program without and with the macro definition.
71594         (AC_SYS_LARGEFILE): Do not require AC_CANONICAL_HOST or check
71595         for getconf.  Instead, check for the needed flags by compiling
71596         test programs.
71597
71598 2000-06-04  Paul Eggert  <eggert@twinsun.com>
71599
71600         * lib/strnlen.c: Include <config.h> if HAVE_CONFIG_H.
71601
71602 2000-06-04  Jim Meyering  <meyering@lucent.com>
71603
71604         * lib/getugroups.c (getugroups): Cast -1 to gid_t, for systems like
71605         SunOS 4.1.4 for which gid_t is an unsigned type.
71606
71607 2000-06-03  Jim Meyering  <meyering@lucent.com>
71608
71609         * m4/prereq.m4 (jm_PREREQ_HUMAN): Use []-quoted list in AC_CHECK_DECLS,
71610         now that autoconf requires that.
71611
71612         * m4/jm-glibc-io.m4: Add a kludge to make autoheader emit the required
71613         #undefs.  E.g., #undef HAVE_DECL_FERROR_UNLOCKED.
71614         Use []-quoted list in AC_CHECK_DECLS, now that autoconf requires that.
71615
71616 2000-06-03  Jim Meyering  <meyering@lucent.com>
71617
71618         * lib/strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
71619
71620 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
71621
71622         * m4/glibc21.m4: New file.
71623         * m4/jm-macros.m4 (jm_MACROS): Call jm_GLIBC21.
71624
71625 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
71626
71627         * lib/Makefile.am (install-exec-local): On systems with glibc-2.1 or
71628         newer, don't install charset.alias.
71629         * lib/config.charset: Change the Linux/glibc rules so they become empty
71630         on glibc-2.1 or newer.
71631
71632 2000-06-02  Jim Meyering  <meyering@lucent.com>
71633
71634         * lib/mountlist.c: Back out last change.  Instead, do this...
71635         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the
71636         me_dummy member using the same `ignore'-testing code.
71637         * lib/mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
71638         fs_type strings.
71639         From Mark D. Roth.
71640
71641 2000-05-29  Jim Meyering  <meyering@lucent.com>
71642
71643         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore
71644         mounts with the `ignore' attribute.  Based on a patch from
71645         Mark D. Roth.
71646
71647 2000-05-28  Jim Meyering  <meyering@lucent.com>
71648
71649         * m4/jm-macros.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Rename from
71650         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
71651         * m4/stat.m4: Likewise.
71652         * m4/lstat.m4: Likewise.
71653         * m4/lstat-slash.m4: Remove file (absorbed into autoconf).
71654
71655         * m4/jm-macros.m4 (AC_FUNC_STRERROR_R): Rename from jm_FUNC_STRERROR_R.
71656         * m4/strerror_r.m4: Remove file (absorbed into autoconf).
71657
71658 2000-05-26  Jim Meyering  <meyering@lucent.com>
71659
71660         * m4/uptime.m4: Use `$cross_compiling', not `$ac_cv_prog_cc_cross'.
71661
71662 2000-05-24  Jim Meyering  <meyering@lucent.com>
71663
71664         * m4/prereq.m4: Use []-quoted list in AC_CHECK_MEMBERS, now that
71665         autoconf requires that.
71666         * m4/lib-check.m4: Likewise.
71667         * m4/jm-macros.m4: Likewise.
71668         * m4/strftime.m4: Likewise.
71669
71670         * m4/check-decl.m4 (jm_CHECK_DECLS): Use []-quoted list in
71671         AC_CHECK_DECLS, now that autoconf requires that.
71672
71673 2000-05-22  Jim Meyering  <meyering@lucent.com>
71674
71675         * m4/stat.m4: Require jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
71676         * m4/lstat.m4: Likewise.
71677
71678 2000-05-22  Jim Meyering  <meyering@lucent.com>
71679
71680         * lib/makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
71681
71682 2000-05-20  Jim Meyering  <meyering@lucent.com>
71683
71684         * m4/prereq.m4 (jm_PREREQ_HUMAN): New macro.
71685         (jm_PREREQ): Use it.
71686
71687 2000-05-18  Jim Meyering  <meyering@lucent.com>
71688
71689         * lib/hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
71690         back, too, since it may have been modified by allocate_entry.
71691         (hash_delete): Rewrite to use neither the assignment operator
71692         nor the comma operator in an if-expression.
71693
71694 2000-05-15  Paul Eggert  <eggert@twinsun.com>
71695
71696         * lib/closeout.c:
71697         <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
71698         Remove; no longer needed.
71699         "quotearg.h": Add include.
71700         (file_name): Do not bother to explicitly initialize to NULL; it's less
71701         efficient on some hosts.
71702         (close_stdout_status): Remove test as to whether stdout was already
71703         closed; it breaks for the case "echo x | sort >&-".
71704         Quote file name colons.
71705         Do not assume that _("write error") lacks format strings.
71706
71707 2000-05-15  Jim Meyering  <meyering@lucent.com>
71708
71709         * lib/version-etc.c (version_etc_copyright): Update the copyright
71710         string used in all --version output.
71711
71712 2000-05-14  Jim Meyering  <meyering@lucent.com>
71713
71714         * lib/closeout.c (close_stdout_set_file_name): New function.
71715         (close_stdout_status): Use new file-scoped global.
71716         Return right away if fstat says the stdout file descriptor is invalid.
71717         * lib/closeout.h (close_stdout_set_file_name): Declare.
71718
71719 2000-05-10  Jim Meyering  <meyering@lucent.com>
71720
71721         * lib/closeout.c [default_exit_status]: New file-scoped variable.
71722         (close_stdout_set_status): New function.
71723         * lib/closeout.h (close_stdout_set_status): Declare.
71724
71725 2000-05-09  Jim Meyering  <meyering@lucent.com>
71726
71727         * m4/gettext.m4: Rename this...
71728         * m4/libintl.m4: ...to this.
71729
71730 2000-05-08  Jim Meyering  <meyering@lucent.com>
71731
71732         * lib/long-options.c: Don't include closeout.h.
71733         (parse_long_options): Don't call close_stdout for --version.
71734
71735 2000-05-06  Paul Eggert  <eggert@twinsun.com>
71736
71737         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _XOPEN_SOURCE to
71738         be 500, instead of _GNU_SOURCE to be 1, to work around glibc
71739         2.1.3 bug.  This avoids a clash when files like regex.c define
71740         _GNU_SOURCE.
71741
71742 2000-05-06  Jim Meyering  <meyering@lucent.com>
71743
71744         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add atexit.
71745         (AC_REPLACE_FUNCS): Add strnlen.
71746
71747         * m4/rmdir-errno.m4 (fetish_FUNC_RMDIR_NOTEMPTY): New macro and file.
71748         * m4/jm-macros.m4: Require fetish_FUNC_RMDIR_NOTEMPTY.
71749
71750         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Save and restore LIBS around
71751         AC_SEARCH_LIBS call for nanosleep.
71752         (LIB_NANOSLEEP): Set and AC_SUBST.
71753
71754 2000-05-06  Jim Meyering  <meyering@lucent.com>
71755
71756         * lib/strnlen.c: Undefine __strnlen and strnlen.
71757         [!weak_alias]: Define __strnlen to strnlen.
71758
71759         * lib/atexit.c: New file, from libiberty.
71760
71761 2000-05-06  Jim Meyering  <meyering@lucent.com>
71762
71763         * lib/closeout.c (close_stdout_status): Also check for errors on the
71764         stderr stream.
71765
71766 2000-05-05  Jim Meyering  <meyering@lucent.com>
71767
71768         * m4/jm-macros.m4 (jm_MACROS): Save and restore LIBS around
71769         AC_SEARCH_LIBS call for clock_gettime.
71770         (LIB_CLOCK_GETTIME): Set and AC_SUBST.
71771
71772         * m4/search-libs.m4: Update from autoconf.
71773
71774         su doesn't work on Solaris 2.6.
71775         * m4/lib-check.m4: When checking for struct spwd.sp_pwdp, also include
71776         <shadow.h>.  Reported by Dragos Harabor.
71777
71778 2000-05-05  Bruno Haible  <haible@clisp.cons.org>
71779
71780         * lib/localcharset.c (get_charset_aliases): Use malloc, realloc and
71781         memcpy instead of xmalloc, xrealloc, path_concat.
71782         (locale_charset): Treat empty environment variables as absent.
71783         (DIRECTORY_SEPARATOR, ISSLASH): New macros.
71784
71785 2000-05-04  Jim Meyering  <meyering@lucent.com>
71786
71787         * lib/getopt.c: Update from glibc.
71788         * lib/obstack.c: Likewise.
71789         * lib/obstack.h: Likewise.
71790         * lib/regex.c: Likewise.  NB: K&R compiler support is dropped for this
71791         file
71792
71793         * lib/regex.h: Likewise.
71794         * lib/strndup.c: Likewise.
71795         * lib/strnlen.c: New file, from glibc.
71796
71797 2000-05-03  Jim Meyering  <meyering@lucent.com>
71798
71799         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strndup.
71800
71801 2000-05-02  Paul Eggert  <eggert@twinsun.com>
71802
71803         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _GNU_SOURCE if
71804         this is needed to make ftello visible (e.g. glibc 2.1.3).  Use
71805         compile-time test, rather than inspecting host and OS, to
71806         decide whether to define _LARGEFILE_SOURCE.
71807
71808 2000-05-01  Jim Meyering  <meyering@lucent.com>
71809
71810         * m4/fsusage.m4: Use AC_MSG_CHECKING instead of obsolete AC_CHECKING.
71811
71812         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add BeOS support.
71813         Based on a patch from Bruno Haible.
71814
71815 2000-05-01  Jim Meyering  <meyering@lucent.com>
71816
71817         * lib/full-write.c (full_write): Remove `FIXME' part of comment.
71818
71819 2000-04-29  Jim Meyering  <meyering@lucent.com>
71820
71821         * lib/path-concat.c: Declare strdup only if it's not defined.
71822         * lib/canon-host.c: Likewise.
71823
71824 2000-04-28  Jim Meyering  <meyering@lucent.com>
71825
71826         * lib/rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to
71827         avoid redefinition warning on some systems (HPUX).  Otherwise, regex.h
71828         is included first, then limits.h is included by locale.h by libintl.h.
71829         From John David Anglin.
71830
71831 2000-04-25  Jim Meyering  <meyering@lucent.com>
71832
71833         * lib/makepath.c (S_IRWXUGO): Define.
71834         (make_path): Always perform explicit chmod if MODE specifies any
71835         of the `special' permission bits.  Prompted by a bug report against
71836         install from Mate Wierdl and Joost van Baal.
71837
71838 2000-04-18  Jim Meyering  <meyering@lucent.com>
71839
71840         * m4/prereq.m4 (jm_PREREQ_GETPAGESIZE): New macro.
71841         (jm_PREREQ): Use it.
71842
71843 2000-04-18  Jim Meyering  <meyering@lucent.com>
71844
71845         * lib/README: New file.
71846
71847         * lib/getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
71848         getpagesize.  For BeOS.  Based on a patch from Bruno Haible.
71849
71850 2000-04-17  Jim Meyering  <meyering@lucent.com>
71851
71852         Get it right :-)
71853         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Emit the
71854         actual #define via AH_VERBATIM.  Don't need separate AC_DEFINE.
71855         Suggestion from Akim Demaille.
71856
71857 2000-04-17  Jim Meyering  <meyering@lucent.com>
71858
71859         * lib/strftime.c (my_strftime) [strftime]: Declare strftime here, since
71860         the definition of it to rpl_strftime also defined-away the system's
71861         declaration.
71862
71863 2000-04-15  Jim Meyering  <meyering@lucent.com>
71864
71865         Use `C' to denote so-called `contiguous' files, the same way
71866         that tar does.
71867         * lib/filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
71868         (ftypelet): Use S_ISCTG.
71869         From Michael Deutschmann.
71870
71871 2000-04-14  Jim Meyering  <meyering@lucent.com>
71872
71873         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use the one-arg
71874         form of AC_DEFINE.  Otherwise, the #ifndef in AH_VERBATIM gets
71875         clobbered.
71876
71877 2000-04-14  Jim Meyering  <meyering@lucent.com>
71878
71879         * lib/strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
71880
71881 2000-04-13  Jim Meyering  <meyering@lucent.com>
71882
71883         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use new
71884         AH_VERBATIM to insert required #ifndef into config.h.in.
71885         Suggestion from Akim Demaille.
71886
71887 2000-04-12  Jim Meyering  <meyering@lucent.com>
71888
71889         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Use AC_CHECK_HEADERS, not
71890         `AC_CHECK_HEADER' to check for locale.h.  Thanks to a report from
71891         Christian Krackowizer.
71892
71893         More code moved from ../configure.in into (jm_CHECK_ALL_TYPES).
71894         * m4/jm-macros.m4 (_GNU_SOURCE): Define.
71895         (AC_SYS_LARGEFILE): Require.
71896         (AM_C_PROTOTYPES): Require.
71897
71898 2000-04-08  Jim Meyering  <meyering@lucent.com>
71899
71900         * lib/Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
71901         names don't conflict.  Reported by Eli Zaretskii.
71902
71903 2000-04-07  Jim Meyering  <meyering@lucent.com>
71904
71905         * lib/putenv.c: Move inclusion of errno.h so it follows that of
71906         sys/types.h, to work around system header problems on AIX 3.2.5.
71907         From Bruno Haible.
71908
71909 2000-04-07  Bruno Haible  <haible@clisp.cons.org>
71910
71911         * lib/unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
71912         bug.  Deal with the different error behavior of Irix iconv.
71913
71914 2000-04-05  Paul Eggert  <eggert@twinsun.com>
71915
71916         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Don't use -n32 on
71917         IRIX if the installer said otherwise.
71918
71919 2000-04-05  Jim Meyering  <meyering@lucent.com>
71920
71921         Portability tweaks required for ultrix4.3.
71922         * m4/check-decl.m4 [!HAVE_UTMPX_H] (headers): Include <utmp.h>.
71923         (jm_CHECK_DECLS): Add getutent to the list of functions.
71924         (_jm_DECL_HEADERS): Add utmpx.h.
71925         From John David Anglin.
71926
71927         * m4/strftime.m4: Back out the 2000-04-02 change.
71928         Instead of that change, simply undefine putenv in the test program.
71929
71930 2000-04-05  Jim Meyering  <meyering@lucent.com>
71931
71932         Portability tweaks required for ultrix4.3.
71933         * lib/readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare
71934         getutent.
71935         * lib/readutmp.c: Include sys/types.h before sys/stat.h.
71936         * lib/canon-host.c: Declare strdup.
71937         * lib/path-concat.c: Likewise.
71938         From John David Anglin.
71939
71940 2000-04-04  Jim Meyering  <meyering@lucent.com>
71941
71942         Be more DOS 8.3-friendly.
71943         * lib/ref-add.sin: Renamed from ref-add.sed.in.
71944         * lib/ref-del.sin: Renamed from ref-del.sed.in.
71945         * lib/Makefile.am: Reflect renaming.
71946         Reported by Eli Zaretskii.
71947
71948         Use a temporary file name that won't clash with `charset.alias'
71949         in the DOS 8.3 name space.
71950         * lib/Makefile.am (charset_tmp): Define.
71951         (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
71952         (uninstall-local): Likewise.
71953         Reported by Eli Zaretskii.
71954
71955 2000-04-03  Jim Meyering  <meyering@lucent.com>
71956
71957         * m4/gettext.m4: Fix typo in comment.
71958
71959         * m4/codeset.m4 (AC_CHECK_HEADERS): Add langinfo.h (moved here from
71960         textutils/configure.in).  Suggestion from Paul Eggert.
71961         (AC_CHECK_FUNCS): Add nl_langinfo.  (also from textutils/configure.in)
71962
71963 2000-04-02  Paul Eggert  <eggert@twinsun.com>
71964
71965         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Set TZ environment
71966         variable in the shell rather than using putenv, which isn't
71967         portable.  This avoids the configure-time inter-test dependency
71968         on the potentially-renamed putenv function.
71969
71970 2000-03-30  Paul Eggert  <eggert@twinsun.com>
71971
71972         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Include <sys/stat.h>
71973         before checking struct stat.st_blksize, so that
71974         HAVE_STRUCT_STAT_ST_BLKSIZE is defined correctly.
71975
71976 2000-03-29  Paul Eggert  <eggert@twinsun.com>
71977
71978         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Check for strftime,
71979         since strftime.c uses HAVE_STRFTIME to decide whether to use
71980         the underlying strftime.
71981
71982 2000-03-29  Paul Eggert  <eggert@twinsun.com>
71983
71984         * lib/time/strftime.c (my_strftime): Make sure we call the system
71985         strftime, not ourselves, when invoking the underlying strftime.
71986
71987 2000-03-24  Jim Meyering  <meyering@lucent.com>
71988
71989         * lib/Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
71990         (charset_alias): Define.
71991         (install-exec-local): Factor out common code.
71992         (uninstall-local): Split lines longer than 80.
71993         (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
71994         (SUFFIXES): Define.
71995         (.sed.in.sed): New rule.  Don't redirect directly to $@.
71996         (CLEANFILES): Add ref-add.sed and ref-del.sed.
71997
71998 2000-03-19  Bruno Haible  <haible@clisp.cons.org>
71999
72000         * lib/config.charset: Output a line containing "Packages using this
72001         file".
72002         * lib/ref-add.sed.in, lib/ref-del.sed.in: New files.
72003         * lib/Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
72004         ref-del.sed): New rules.
72005
72006 2000-03-17  Jim Meyering  <meyering@lucent.com>
72007
72008         * lib/unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
72009         Otherwise, include <strings.h>
72010
72011 2000-03-17  Bruno Haible  <haible@clisp.cons.org>
72012
72013         * lib/unicodeio.c (utf8_wctomb): New function.
72014         (print_unicode_char): Pass the Unicode character to iconv in UTF-8
72015         format instead of in UCS-4 with platform dependent endianness.
72016
72017 2000-03-10  Jim Meyering  <meyering@lucent.com>
72018
72019         * m4/lib-check.m4: Look for getspnam in -lgen, too.
72020         From Marco Franzen.
72021
72022 2000-03-07  Paul Eggert  <eggert@twinsun.com>
72023
72024         * lib/savedir.c (savedir): Work even if directory size is
72025         negative; this can happen with some screwy NFS configurations.
72026
72027 2000-03-06  Jim Meyering  <meyering@lucent.com>
72028
72029         * lib/localcharset.c (get_charset_aliases): Don't try to free file_name
72030         if it's NULL (because we ran out of memory).  From Bruno Haible.
72031
72032 2000-03-05  Jim Meyering  <meyering@lucent.com>
72033
72034         * lib/localcharset.c ("path-concat.h"): Include.
72035         (get_charset_aliases): Use path_concat instead of ANSI string
72036         concatenation.
72037
72038         * lib/unicodeio.h (PARAMS): Define.
72039         Use it to guard prototype.
72040
72041 2000-03-04  Jim Meyering  <meyering@lucent.com>
72042
72043         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require AC_C_VOLATILE,
72044         for lib/localcharset.c.
72045
72046 2000-03-04  Jim Meyering  <meyering@lucent.com>
72047
72048         * lib/Makefile.am (install-exec-local): Create $(libdir) before
72049         installing into it.
72050         (uninstall-local): Uncomment this rule so `make distcheck' works
72051         once again.
72052
72053         * lib/unicodeio.c (<errno.h>): Include it.
72054         (errno): Declare if not defined.
72055
72056         * lib/localcharset.c: Add Bruno's comment justifying use of volatile.
72057
72058         * lib/config.charset: New version, incorporating remarks from a linux
72059         i18n mailing list.  From Bruno Haible.
72060
72061 2000-03-04  Bruno Haible  <haible@clisp.cons.org>
72062
72063         * m4/codeset.m4: New file.
72064         * m4/iconv.m4: New file.
72065         * m4/jm-macros.m4 (jm_MACROS): Call jm_LANGINFO_CODESET and jm_ICONV.
72066
72067 2000-03-03  Jim Meyering  <meyering@lucent.com>
72068
72069         * m4/regex.m4: Make sure re_compile_pattern accepts patterns like `{1'.
72070
72071 2000-03-02  Jim Meyering  <meyering@lucent.com>
72072
72073         * m4/timespec.m4: Require AC_HEADER_TIME before the cache check so
72074         the messages come out on separate lines.
72075
72076         * m4/jm-glibc-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO): Use AC_CHECK_DECLS,
72077         rather than jm_CHECK_DECLARATIONS.
72078         * m4/decl.m4: Remove now-unused file.
72079
72080         * m4/check-decl.m4 (AC_CHECK_DECLS): Add getlogin, ttyname, and
72081         geteuid.
72082
72083 2000-03-02  Jim Meyering  <meyering@lucent.com>
72084
72085         * lib/Makefile.am (EXTRA_DIST): Add config.charset.
72086
72087 2000-03-01  Jim Meyering  <meyering@lucent.com>
72088
72089         * lib/localcharset.c: Guard some #includes with `#if HAVE_...'.
72090         * lib/unicodeio.c: Likewise.
72091
72092 2000-03-01  Bruno Haible  <haible@clisp.cons.org>
72093
72094         * lib/config.charset: New file.
72095         * lib/localcharset.c: New file.
72096         * lib/unicodeio.h, lib/unicodeio.c: New files.
72097         * lib/Makefile.am (DEFS): Add -DLIBDIR=...
72098         (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
72099         (noinst_HEADERS): Add unicodeio.h.
72100         (all-local, install-exec-local, charset.alias): New targets.
72101
72102 2000-02-28  Paul Eggert  <eggert@twinsun.com>
72103
72104         * lib/quotearg.c (ALERT_CHAR): New macro.
72105         (quotearg_buffer_restyled): Use it.
72106
72107 2000-02-27  Jim Meyering  <meyering@lucent.com>
72108
72109         * m4/check-decl.m4: Add getenv to the list.
72110
72111 2000-02-27  Jim Meyering  <meyering@lucent.com>
72112
72113         * lib/strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
72114         Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
72115
72116         * lib/backupfile.c: Guard inclusion of stdlib.h with
72117         `#if HAVE_STDLIB_H', not `#if STDC_HEADERS'.
72118         Declare malloc if needed.
72119
72120         * lib/backupfile.c: Use `#if !HAVE_DECL...' instead of
72121         `#ifndef HAVE_DECL..'
72122         now that autoconf always defines the HAVE_DECL_ symbols.
72123         * lib/human.c: Likewise.
72124         * lib/same.c: Likewise.
72125         * lib/strtoumax.c: Likewise.
72126
72127         * lib/backupfile.c: Arrange for cpp to fail if the configure-time
72128         declaration check was not run.
72129         * lib/hash.c: Likewise.
72130         * lib/human.c: Likewise.
72131         * lib/same.c: Likewise.
72132         * lib/strtoumax.c: Likewise.
72133
72134         * lib/userspec.c (parse_user_spec): If there is no `:' but there is a
72135         `.', then first look up the entire `.'-containing string as a login
72136         name.
72137
72138 2000-02-23  Jim Meyering  <meyering@lucent.com>
72139
72140         * m4/check-decl.m4: Now that we have the new AC_CHECK_DECLS, use it
72141         in place of my hack.
72142
72143 2000-02-18  Paul Eggert  <eggert@twinsun.com>
72144
72145         * lib/getdate.y: Handle two-digit years with leading zeros correctly.
72146         (textint): New typedef.
72147         (parser_control): Member year changed from int to textint.
72148         All uses changed.
72149         (YYSTYPE): Removed; replaced by %union with int and textint members.
72150         (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
72151         tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
72152         tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
72153         (tSNUMBER, tUNUMBER): Now of type <textintval>.
72154         (date, number, to_year): Use width of number in digits, not its value,
72155         to determine whether it's a 2-digit year, or a 2-digit time.
72156         (yylex): Store number of digits of numeric tokens.
72157         Reported by John Kendall.
72158
72159         (parser_control): Changed from struct parser_control to typedef (for
72160         consistency).  All uses changed.
72161
72162         (tID): Removed; not used.
72163         (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
72164
72165 2000-02-14  Paul Eggert  <eggert@twinsun.com>
72166
72167         * lib/getpagesize.h (getpagesize): Port to VMS for Alpha;
72168         adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
72169
72170 2000-02-12  Jim Meyering  <meyering@lucent.com>
72171
72172         * lib/userspec.c (ISDIGIT): Define it.
72173         (isdigit): Remove definition.
72174         (is_number): Use ISDIGIT, not isdigit.
72175         <libintl.h>: Include.
72176         (_ and N_): Define.
72177         (parse_user_spec): Mark translatable strings.
72178
72179 2000-02-10  Jim Meyering  <meyering@lucent.com>
72180
72181         With these changes, nanosleep.[ch] are finally enough like the other
72182         lib/* replacement files to compile on a few more losing systems.
72183
72184         * lib/nanosleep.h: Don't include config.h.
72185         Remove prototype from declaration of nanosleep.
72186         (PARAMS): Remove now-unneeded definition.
72187         * lib/nanosleep.c: #undef nanosleep.
72188         (rpl_nanosleep): Rename from nanosleep.
72189
72190 2000-02-10  Jim Meyering  <meyering@lucent.com>
72191
72192         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Rename replacement function from
72193         gnu_nanosleep to rpl_nanosleep.
72194
72195 2000-02-09  Jim Meyering  <meyering@lucent.com>
72196
72197         * m4/lib-check.m4 (jm_LIB_CHECK): Fix typo: check for sp_pwdp in
72198         struct spwd, rather than in struct passwd.  Reported by Gaël Quéri.
72199
72200 2000-02-08  Akim Demaille  <akim@epita.fr>
72201
72202         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Quote square brackets with
72203         `[' and `]' and remove uses of `changequote'.
72204         (AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
72205         (AC_SYS_LARGEFILE): Likewise.
72206         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
72207         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Remove now-unnecessary use
72208         of changequote.
72209         * m4/regex.m4 (jm_INCLUDED_REGEX): Likewise.
72210         * m4/readdir.m4 (jm_FUNC_READDIR): Likewise
72211         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Likewise, and add `int' for main.
72212         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Likewise.
72213
72214 2000-02-05  Jim Meyering  <meyering@lucent.com>
72215
72216         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require most macros.
72217         Remove explicit use of AC_HEADER_TIME.  It is required by
72218         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Using AC_HEADER_TIME and
72219         `AC_REQUIRE'ing jm_CHECK_TYPE_STRUCT_TIMESPEC provoked a but
72220         in autoconf whereby the expansion of the latter ended up preceding
72221         the expansion of its prerequisite, AC_HEADER_TIME.
72222         Reported by Volker Borchert.
72223
72224 2000-02-03  Jim Meyering  <meyering@lucent.com>
72225
72226         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for utmpxname.
72227
72228 2000-02-03  Jim Meyering  <meyering@lucent.com>
72229
72230         * lib/readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
72231         rather than with `#if HAVE_UTMPNAME'.
72232
72233 2000-02-02  Jim Meyering  <meyering@lucent.com>
72234
72235         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Fix typo that resulted in no
72236         definition of HAVE_PATHCONF: s/AC_CHECK_FUNC/AC_CHECK_FUNCS/.
72237         Reported by Eli Zaretskii.
72238
72239 2000-02-01  Jim Meyering  <meyering@lucent.com>
72240
72241         * lib/readutmp.h (UT_USER): Add parens.  From Andreas Schwab.
72242
72243 2000-01-31  Jim Meyering  <meyering@lucent.com>
72244
72245         * m4/check-decl.m4 (jm_CHECK_DECLS): Add nanosleep to the list of
72246         functions.  Add the time.h and sys/time.h headers along with the
72247         AC_REQUIRE'ment of AC_HEADER_TIME.
72248
72249 2000-01-31  Jim Meyering  <meyering@lucent.com>
72250
72251         * lib/nanosleep.h (nanosleep): Guard declaration with
72252         `#if ! HAVE_DECL_NANOSLEEP'.
72253         Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
72254         the declaration in that vendor's sys/timers.h.
72255         Reported by Christian Krackowizer.
72256
72257         * lib/quotearg.c (ISASCII): Add #undef and move definition to follow
72258         inclusion of wctype.h to work around Solaris 2.6 namespace pollution.
72259         (ISPRINT): Likewise.
72260         Reported by Tom Tromey.
72261
72262 2000-01-30  Jim Meyering  <meyering@lucent.com>
72263
72264         * m4/lib-check.m4: Clean up some kludgy old shadow password tests.
72265
72266         * m4/prereq.m4 (utmp_includes): Define.
72267         Check for ut_user and ut_name members in both struct utmpx
72268         and struct utmp.
72269
72270 2000-01-30  Jim Meyering  <meyering@lucent.com>
72271
72272         * lib/readutmp.c (extract_trimmed_name): Use UT_USER instead of
72273         hard-coding uses of ->ut_name.  The latter doesn't work with new Linux
72274         header files where only utmpx.ut_user is declared.
72275
72276         * lib/readutmp.h (UT_USER): Define.
72277
72278 2000-01-29  Jim Meyering  <meyering@lucent.com>
72279
72280         * m4/lib-check.m4: New file containing library-related checks from
72281         fileutils and sh-utils (textutils had none).
72282
72283 2000-01-28  Jim Meyering  <meyering@lucent.com>
72284
72285         * m4/perl.m4: Change format of warning message to look more like that
72286         from the missing script.  Suggestion from François Pinard.
72287
72288 2000-01-25  Jim Meyering  <meyering@lucent.com>
72289
72290         * m4/timespec.m4: Require AC_HEADER_TIME, and include sys/time.h as
72291         well as time.h in the compile check.
72292         * m4/nanosleep.m4: Require AC_HEADER_TIME rather than simply using it.
72293         Fix typo in cross-compiling case: s/yes/no/.
72294
72295 2000-01-23  Jim Meyering  <meyering@lucent.com>
72296
72297         * m4/jm-macros.m4: Move df-related tests here from
72298         fileutils/configure.in
72299
72300         * m4/ls-mntd-fs.m4: s/list_mounted_fs/ac_list_mounted_fs/
72301         (jm_LIST_MOUNTED_FILESYSTEMS): Take two parameters.
72302
72303         * m4/fsusage.m4: New file.  Extracted from fileutils/configure.in.
72304         s/space/ac_fsusage_space/.
72305         (jm_FILE_SYSTEM_USAGE): Take two parameters.
72306
72307         * m4/ftruncate.m4: New file (derived from part of
72308         fileutils/configure.in).
72309         * m4/jm-macros.m4 (jm_FUNC_FTRUNCATE): AC_REQUIRE it.
72310         (jm_CHECK_ALL_TYPES): Require AC_HEADER_MAJOR and AC_HEADER_DIRENT.
72311
72312         * m4/jm-macros.m4 (OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, MAN):
72313         AC_SUBST these here, rather than just in sh-util/configure.in, so
72314         that the now-shared-by-fileutils-and-textutils lib/Makefile.am are
72315         all the same.
72316         (AM_FUNC_OBSTACK): Add (from fileutils/configure.in).
72317         (AC_CHECK_FUNCS): Merge all checks from fileutils, textutils, sh-utils.
72318         (AM_FUNC_STRTOD): Added (from textutils', sh-utils' configure.in).
72319         (AC_SUBST(POW_LIBM)): Likewise.
72320         (AC_SUBST(DF_PROG)): Moved from fileutils/configure.in.
72321
72322 2000-01-23  Jim Meyering  <meyering@lucent.com>
72323
72324         * lib/Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
72325         obstack.c.
72326
72327 2000-01-22  Jim Meyering  <meyering@lucent.com>
72328
72329         * m4/jm-macros.m4: Call AC_PROG_CC_STDC just before AC_C_CONST.
72330
72331         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Add wctype.h.
72332
72333         * m4/jm-macros.m4 (AC_CHECK_HEADERS): Add checks from fileutils'
72334         configure.in
72335         (AC_CHECK_HEADERS): Likewise for sh-utils.
72336         (AC_CHECK_HEADERS): Likewise for textutils.
72337         Merge the three lists of headers.
72338
72339         * m4/prereq.m4 (jm_PREREQ_ADDEXT): New macro.  Parts moved here
72340         from fileutils' configure.in.
72341
72342         * m4/decl.m4: Remove kludgy `test -z $ac_...AC_CHECK_HEADERS(...)'
72343         code. Moved tests into their own function (_jm_DECL_HEADERS) in
72344         check-decl.m4.
72345
72346         * m4/check-decl.m4: Use #if rather than #ifdef.
72347         Add HAVE_DECL_STRTOUL and HAVE_DECL_STRTOULL.
72348         (jm_CHECK_DECLARATIONS): Add strtoul strtoull.
72349         (_jm_DECL_HEADERS): Define new function.
72350         (jm_CHECK_DECLARATIONS): Require it.
72351
72352 2000-01-22  Jim Meyering  <meyering@lucent.com>
72353
72354         * lib/strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
72355         [! HAVE_DECL_STRTOULL]: Declare strtoull.
72356         Required for some AIX systems.  Reported by Christian Krackowizer.
72357         [TESTING] (main): New function.
72358
72359         1997-10-17  Eli Zaretskii  <eliz@is.elta.co.il>
72360         * lib/dirname.c (dir_name): Support for DOS-style file names with drive
72361         letters.
72362
72363         * lib/quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of
72364         iswprint.
72365
72366         * lib/strverscmp.c (ISDIGIT): Define.
72367         (strverscmp): Use ISDIGIT, not isdigit.
72368
72369 2000-01-19  Jim Meyering  <meyering@lucent.com>
72370
72371         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
72372         Use AC_HEADER_TIME.  Volker Borchert reported that OpenBSD-2.3/sparc
72373         defines `struct timespec' in <sys/time.h>
72374
72375         * m4/c-bs-a.m4: Remove uses of changequote altogether.
72376         Thanks to Akim for explaining.
72377
72378 2000-01-17  Paul Eggert  <eggert@twinsun.com>
72379
72380         * lib/nanosleep.c (nanosleep):
72381         Don't use SA_INTERRUPT to decide whether to call sigaction, as
72382         POSIX.1 doesn't require SA_INTERRUPT and some systems
72383         (e.g. Solaris 7) don't define it.  Use SA_NOCLDSTOP instead;
72384         it's been part of POSIX.1 since day 1 (in 1988).
72385
72386 2000-01-17  Jim Meyering  <meyering@lucent.com>
72387
72388         * lib/interlock: Remove unused file.  Reported by François Pinard.
72389
72390 2000-01-16  Paul Eggert  <eggert@twinsun.com>
72391
72392         * lib/quotearg.c (quotearg_buffer_restyled): Do not quote
72393         alert, backslash, formfeed, and vertical tab unnecessarily in
72394         shell quoting style.
72395
72396 2000-01-16  Jim Meyering  <meyering@lucent.com>
72397
72398         * m4/jm-macros.m4: Require jm_FUNC_GROUP_MEMBER, jm_FUNC_PUTENV,
72399         AM_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, jm_FUNC_MKTIME,
72400         jm_FUNC_GETGROUPS AC_FUNC_VPRINTF, AC_FUNC_ALLOCA,
72401         AM_FUNC_GETLOADAVG, and jm_SYS_PROC_UPTIME.
72402
72403 2000-01-16  Jim Meyering  <meyering@lucent.com>
72404
72405         * m4/c-bs-a.m4: Use `changequote(<<,>>)', rather than `changequote(, )'
72406         because the latter didn't work.
72407
72408 2000-01-15  Jim Meyering  <meyering@lucent.com>
72409
72410         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add gethostname and getusershell.
72411         (AC_REPLACE_FUNCS): Add memcpy and memset.
72412         Add these, too: stime strcspn stpcpy strstr strtol strtoul.
72413         Add strpbrk.
72414         Add these: euidaccess memcmp mkdir rmdir rpmatch strndup strverscmp.
72415
72416 2000-01-12  Jim Meyering  <meyering@lucent.com>
72417
72418         * m4/prereq.m4 (jm_PREREQ_CANON_HOST): New macro.
72419         (jm_PREREQ): Use it.
72420         (jm_PREREQ_READUTMP): New macro.
72421         (jm_PREREQ): Use it.
72422
72423 2000-01-11  Paul Eggert  <eggert@twinsun.com>
72424
72425         Quote multibyte characters correctly.
72426         * m4/c-bs-a.m4: New file.
72427         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): New macro.
72428         (jm_PREREQ): Use it.
72429
72430 2000-01-11  Paul Eggert  <eggert@twinsun.com>
72431
72432         * m4/uintmax_t.m4: Port to autoconf 2.13.
72433
72434 2000-01-08  Jim Meyering  <meyering@ascend.com>
72435
72436         * m4/strerror_r.m4 (jm_FUNC_STRERROR_R): New file/macro.
72437         * m4/jm-macros.m4 (jm_FUNC_STRERROR_R): Require it.
72438
72439 2000-01-04  Jim Meyering  <meyering@ascend.com>
72440
72441         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename from
72442         jm_STRUCT_DIRENT_D_TYPE.
72443         * m4/d-ino.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_INO): Rename from
72444         jm_STRUCT_DIRENT_D_INO.
72445         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Rename from
72446         jm_STRUCT_UTIMBUF.
72447         * m4/jm-macros.m4: Reflect s/jm_STRUCT_/jm_CHECK_TYPE_STRUCT_/
72448         renamings.
72449         * m4/utime.m4: Likewise.
72450
72451         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): New file, macro.
72452         * m4/jm-macros.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): Require it.
72453
72454 2000-01-03  Paul Eggert  <eggert@twinsun.com>
72455
72456         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Search for nanosleep in -lrt
72457         (for Solaris 7) and in -lposix4 (for Solaris 2.5.1).
72458
72459 2000-01-02  Jim Meyering  <meyering@ascend.com>
72460
72461         * m4/search-libs.m4: Escape `$' in $3 of dnl comment.  I no longer
72462         remember if this is necessary.
72463
72464 1999-12-26  Jim Meyering  <meyering@ascend.com>
72465
72466         * m4/jm-macros.m4: Use it here.
72467         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): New file/macro.
72468
72469 1999-12-23  Jim Meyering  <meyering@ascend.com>
72470
72471         * m4/jm-macros.m4: Check for clock_gettime (moved from
72472         fileutils/configure.in)
72473         Check for gettimeofday.
72474
72475 1999-12-20  Jim Meyering  <meyering@ascend.com>
72476
72477         * m4/strftime.m4: Remove kludge, now that I'm using the fixed
72478         autoconf-2.14a-1999-12-20.
72479
72480 1999-12-19  Jim Meyering  <meyering@ascend.com>
72481
72482         * m4/lstat-slash.m4: New file.
72483         * m4/jm-macros.m4: Use the new macro:
72484         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
72485
72486 1999-12-07  Jim Meyering  <meyering@ascend.com>
72487
72488         * m4/perl.m4: Require that File::Compare be available, too.
72489         Too many systems seem to lack it.
72490
72491         * m4/strftime.m4: Add checks for most of the cpp macros tested in
72492         GNU's strftime.c.  Prompted by a patch from Paul Eggert.
72493
72494 1999-11-18  Paul Eggert  <eggert@twinsun.com>
72495
72496         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a
72497         problem with the QNX 4.25 shell, which doesn't propagate exit
72498         status of failed commands inside shell assignments.
72499
72500 1999-11-17  Jim Meyering  <meyering@ascend.com>
72501
72502         * m4/gettext.m4: Use new AC_CONFIG_LINKS in place of AC_LINK_FILES.
72503
72504 1999-11-07  Jim Meyering  <meyering@ascend.com>
72505
72506         * m4/getloadavg.m4: Add `, 1, [FIXME]' to each use of AC_DEFINE.
72507
72508 1999-11-06  Jim Meyering  <meyering@ascend.com>
72509
72510         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): New file/macro.
72511         * m4/jm-macros.m4 (jm_MACROS): Use it here.
72512
72513 1999-11-05  Jim Meyering  <meyering@ascend.com>
72514
72515         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Move some tests from
72516         configure.in of textutils, fileutils, and sh-utils into this one
72517         (shared between those packages) file.
72518         Use `AC_CHECK_MEMBERS((struct stat.st_blksize))' instead of deprecated
72519         AC_STRUCT_ST_BLKSIZE.
72520
72521 1999-11-03  Jim Meyering  <meyering@ascend.com>
72522
72523         * m4/ssize_t.m4: Remove file.  No longer needed since the new version
72524         of AC_CHECK_TYPE checks includes unistd.h.
72525         * m4/jm-macros.m4: Use straight `AC_CHECK_TYPE(ssize_t, int)'.
72526         Suggestion from Akim Demaille.
72527
72528 1999-10-30  Jim Meyering  <meyering@ascend.com>
72529
72530         * m4/uintmax_t.m4: Require 2.14a.  Remove backslash before backtick in
72531         m4-quoted string.
72532         * m4/ls-mntd-fs.m4: Likewise.
72533         * m4/jm-macros.m4: Likewise.  Also, use AC_TYPE_SSIZE_T instead
72534         * m4/jm-winsz1.m4: Likewise.
72535
72536         * m4/const.m4: Remove file, since the fix made it into the experimental
72537         version of autoconf.
72538         * m4/mktime.m4: Likewise.
72539
72540         * m4/check-type.m4: Remove file, now that the latest version of
72541         AC_CHECK_TYPE takes a third arg to specify additional #includes.
72542
72543         * m4/ssize_t.m4: New file, requires experimental version of autoconf.
72544         * m4/jm-macros.m4: Use new AC_TYPE_SSIZE_T instead of my hacked
72545         AC_CHECK_TYPE.
72546
72547 1999-10-04  Jim Meyering  <meyering@ascend.com>
72548
72549         * m4/jm-macros.m4: Don't require autoconf-2.14.1.
72550
72551 1999-09-22  Paul Eggert  <eggert@twinsun.com>
72552
72553         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around GCC
72554         2.95.1 bug with HP-UX 10.20.
72555
72556 1999-09-17  Jim Meyering  <meyering@ascend.com>
72557
72558         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add strdup.
72559         Paul Nevai reported a link failure on a NeXT CUBE with NeXTSTEP 3.3
72560         due to missing strdup (against sh-utils-2.0).
72561
72562 1999-08-29  Jim Meyering  <meyering@ascend.com>
72563
72564         * m4/jm-macros.m4: Require jm_BISON.
72565         * m4/bison.m4: New file.
72566
72567 1999-08-17  Paul Eggert  <eggert@twinsun.com>
72568
72569         * m4/largefile.m4 (AC_SYS_LARGEFILE): Fix typo: missing comma
72570         in value for _FILE_OFFSET_BITS, which broke ports to HP-UX 10.20.
72571
72572 1999-08-05  Jim Meyering  <meyering@ascend.com>
72573
72574         * m4/getline.m4: Rename test file from conftestdata to conftest.data
72575         to avoid conflicts with `conftest' on 8+3 filesystems.
72576         Suggestion from Eli Zaretskii.
72577
72578 1999-08-04  Jim Meyering  <meyering@ascend.com>
72579
72580         * m4/jm-macros.m4: Move a 4-line block of code from the configure.in of
72581         fileutils and sh-utils (textutils's getline test was inadequate).
72582         (AM_FUNC_GETLINE): Run this test.
72583         (AC_CHECK_FUNCS): Check for getdelim.
72584         Reported by Bob Proulx.
72585
72586 1999-08-02  Jim Meyering  <meyering@ascend.com>
72587
72588         * m4/jm-macros.m4: Add a comment.
72589
72590 1999-08-01  Paul Eggert  <eggert@twinsun.com>
72591
72592         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check whether
72593         <inttypes.h> defines strtoumax as a macro (and not as a
72594         function).
72595
72596 1999-08-01  Paul Eggert  <eggert@twinsun.com>
72597
72598         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Make sure
72599         that we can shift, multiply and divide unsigned long long
72600         values; Ultrix cc can't do it.
72601
72602 1999-08-01  Paul Eggert  <eggert@twinsun.com>
72603
72604         * m4/mktime.m4: New file, which is a preview of what should appear
72605         in the next public autoconf release.
72606
72607 1999-08-01  Paul Eggert  <eggert@twinsun.com>
72608
72609         * m4/lfs.m4: Remove this file.
72610         * m4/largefile.m4: New file.  It contains the old contents of
72611         lfs.m4, except that all names with prefix AC_LFS have been
72612         changed to use the prefix AC_SYS_LARGEFILE instead, to be
72613         compatible with future autoconf versions.  Also, some minor m4
72614         quoting problems have been fixed.
72615
72616 1999-08-01  Paul Eggert  <eggert@twinsun.com>
72617
72618         * m4/gettext.m4 (AM_WITH_NLS): Remove unnecessary lines.
72619         Fix typo: $nls_cv_header_intl was misspelled as $nsl_cv_header_intl.
72620         (AM_GNU_GETTEXT): Fix problem with brackets and m4 quoting,
72621         and simplify the shell code.
72622
72623 1999-08-01  Jim Meyering  <meyering@ascend.com>
72624
72625         * m4/mktime.m4 (AC_FUNC_MKTIME): Undefine to avoid syntax errors from
72626         m4.
72627
72628 1999-07-20  Jim Meyering  <meyering@ascend.com>
72629
72630         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memmove.
72631
72632 1999-07-15  Jim Meyering  <meyering@ascend.com>
72633
72634         * m4/jm-macros.m4 (AC_CHECK_FUNCS): Check for getpagesize.
72635
72636 1999-05-22  Jim Meyering  <meyering@ascend.com>
72637
72638         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memchr.
72639
72640 1999-05-20  Jim Meyering  <meyering@ascend.com>
72641
72642         * m4/search-libs.m4 [AC_SEARCH_LIBS]: Quote name in undefine.
72643         Add a colon after each `then' in case $4 is empty.
72644
72645 1999-05-16  Jim Meyering  <meyering@ascend.com>
72646
72647         * m4/search-libs.m4: New file to override autoconf's AC_SEARCH_LIBS.
72648
72649 1999-05-10  Jim Meyering  <meyering@ascend.com>
72650
72651         * m4/jm-mktime.m4: Reflect renaming: AM_FUNC_MKTIME -> AC_FUNC_MKTIME.
72652
72653         * m4/jm-macros.m4: Require 2.14.1, since we use newly-renamed
72654         AC_FUNC_MKTIME.
72655
72656 1999-05-10  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
72657
72658         * m4/jm-mktime.m4, putenv.m4: Fix typos in config.h comments.
72659
72660 1999-05-04  Paul Eggert  <eggert@twinsun.com>
72661
72662         * m4/lfs.m4 (AC_LFS): -n32, -o32, and -n64 should be in CFLAGS,
72663         not CPPFLAGS, so that linking works correctly in IRIX.
72664
72665 1999-04-30  Paul Eggert  <eggert@twinsun.com>
72666
72667         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add dup2.
72668
72669 1999-04-20  Paul Eggert  <eggert@twinsun.com>
72670
72671         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Move unsigned long
72672         long check into new jm_AC_TYPE_UNSIGNED_LONG_LONG macro.
72673         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require
72674         jm_AC_TYPE_UNSIGNED_LONG_LONG.
72675         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): New file/macro.
72676
72677         * m4/lfs.m4: Port to AIX and HP-UX.  Support cross-compilation.
72678
72679 1999-04-20  Jim Meyering  <meyering@ascend.com>
72680
72681         * m4/xstrtoumax.m4: Require jm_AC_TYPE_UNSIGNED_LONG_LONG.
72682         AC_REPLACE xstroull if necessary.  From Paul Eggert.
72683         (AC_CHECK_FUNCS): Remove strtoull, strtoumax, strtouq.
72684
72685 1999-04-18  Jim Meyering  <meyering@ascend.com>
72686
72687         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): New file/macro.
72688         * m4/jm-macros.m4: Use it.
72689
72690 1999-04-06  Jim Meyering  <meyering@ascend.com>
72691
72692         * m4/strftime.m4: Remove test for %f.
72693
72694 1999-03-29  Jim Meyering  <meyering@ascend.com>
72695
72696         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): New macro, contains the
72697         superset of the AC_TYPE_* checks in the textutils, fileutils,
72698         and sh-utils, plus AC_TYPE_PID_T.  Paul Eggert suggested adding
72699         AC_TYPE_PID_T.
72700
72701 1999-03-28  Jim Meyering  <meyering@ascend.com>
72702
72703         * m4/jm-macros.m4: Define GNU_PACKAGE here.
72704         Be sure to AC_SUBST it, once again, so that @GNU_PACKAGE@ is
72705         replaced e.g., in the *.sh files of the sh-utils.
72706
72707 1999-03-20  Jim Meyering  <meyering@ascend.com>
72708
72709         * m4/jm-macros.m4: s/jm_WITH_REGEX/jm_INCLUDED_REGEX/.
72710         * m4/regex.m4 (jm_INCLUDED_REGEX): Rename from jm_WITH_REGEX.
72711         Don't depend on AM_GLIBC.  Suggestions from Alain Magloire.
72712
72713 1999-03-19  Jim Meyering  <meyering@ascend.com>
72714
72715         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): New macro.
72716
72717 1999-03-12  Jim Meyering  <meyering@ascend.com>
72718
72719         * m4/jm-macros.m4: Use AC_FUNC_SETVBUF_REVERSED.
72720
72721 1999-03-07  Jim Meyering  <meyering@ascend.com>
72722
72723         * m4/jm-glibc-io.m4: Use only those *_unlocked macros that are
72724         declared.
72725
72726 1999-02-17  Jim Meyering  <meyering@ascend.com>
72727
72728         * m4/gettext.m4 (AM_GNU_GETTEXT): Do `changequote' around use of
72729         brackets in macro definition.  From Eli Zaretskii and Alain Magloire.
72730
72731 1999-02-07  Jim Meyering  <meyering@ascend.com>
72732
72733         * m4/group-member.m4: New file -- extracted from sh-utils'
72734         configure.in.
72735
72736         1999-02-05  Eli Zaretskii  <eliz@is.elta.co.il>
72737         * m4/gettext.m4: Support DOS-style d:/foo/bar absolute file names.
72738
72739 1999-02-06  Jim Meyering  <meyering@ascend.com>
72740
72741         * m4/chown.m4: Use `AC_SUBST(LIBOBJS)' since we set LIBOBJS.
72742         * m4/fnmatch.m4: Likewise.
72743         * m4/getgroups.m4: Likewise.
72744         * m4/lstat.m4: Likewise.
72745         * m4/malloc.m4: Likewise.
72746         * m4/putenv.m4: Likewise.
72747         * m4/realloc.m4: Likewise.
72748         * m4/regex.m4: Likewise.
72749         * m4/stat.m4: Likewise.
72750         * m4/strftime.m4: Likewise.
72751         Suggestion from Alain Magloire.
72752
72753         * m4/chown.m4: Use `.$ac_objext', not `.o'.
72754         * m4/fnmatch.m4: Likewise.
72755         * m4/getgroups.m4: Likewise.
72756         * m4/getline.m4: Likewise.
72757         * m4/lstat.m4: Likewise.
72758         * m4/malloc.m4: Likewise.
72759         * m4/memcmp.m4: Likewise.
72760         * m4/putenv.m4: Likewise.
72761         * m4/realloc.m4: Likewise.
72762         * m4/regex.m4: Likewise.
72763         * m4/stat.m4: Likewise.
72764         * m4/strftime.m4: Likewise.
72765         Suggestion from Alain Magloire.
72766
72767         * m4/jm-macros.m4: Actually invoke jm_WITH_REGEX now that it requires
72768         an argument.
72769
72770         * m4/regex.m4: Add a run-time Test for proper operation of
72771         re_compile_pattern.
72772
72773 1999-01-31  Jim Meyering  <meyering@ascend.com>
72774
72775         * m4/getloadavg.m4: Check for locale.h and the function, setlocale.
72776
72777 1999-01-30  Jim Meyering  <meyering@ascend.com>
72778
72779         * m4/check-type.m4: Use 3-arg form of AC_DEFINE.
72780
72781         * m4/jm-mktime.m4: Make this a wrapper around the official
72782         AM_FUNC_MKTIME rather than my private copy, now that the official one
72783         is up to date.
72784         * m4/mktime.m4: Remove file.
72785
72786         * m4/getloadavg.m4: Use 3-arg form of AC_DEFINE.
72787         * m4/uptime.m4: Likewise.
72788         * m4/uintmax_t.m4: Likewise.
72789
72790 1999-01-28  Jim Meyering  <meyering@ascend.com>
72791
72792         * m4/jm-macros.m4: Use jm_AFS.
72793         * m4/afs.m4: New file (from fileutils' configure.in).
72794
72795         * m4/assert.m4: Use the 3-argument forms of AC_DEFINE* macros.
72796         * m4/chown.m4: Likewise.
72797         * m4/d-ino.m4: Likewise.
72798         * m4/d-type.m4: Likewise.
72799         * m4/fnmatch.m4: Likewise.
72800         * m4/getgroups.m4: Likewise.
72801         * m4/gettext.m4: Likewise.
72802         * m4/jm-mktime.m4: Likewise.
72803         * m4/jm-winsz2.m4: Likewise.
72804         * m4/lcmessage.m4: Likewise.
72805         * m4/ls-mntd-fs.m4: Likewise.
72806         * m4/malloc.m4: Likewise.
72807         * m4/memcmp.m4: Likewise.
72808         * m4/putenv.m4: Likewise.
72809         * m4/realloc.m4: Likewise.
72810         * m4/st_mtim.m4: Likewise.
72811         * m4/strftime.m4: Likewise.
72812
72813 1999-01-16  Jim Meyering  <meyering@ascend.com>
72814
72815         * m4/jm-macros.m4 (ARGMATCH_DIE): Define.
72816         (ARGMATCH_DIE_DECL): Define.
72817
72818 1999-01-12  Jim Meyering  <meyering@ascend.com>
72819
72820         * m4/Makefile.am.in: Rewrite to avoid using fmt.
72821         Reported by Lars Hecking.
72822
72823 1999-01-10  Jim Meyering  <meyering@ascend.com>
72824
72825         * m4/fstypename.m4: Use the new 3-arg form of AC_DEFINE instead of my
72826         gross kludge.
72827         * m4/inttypes_h.m4: Likewise.
72828         * m4/lstat.m4: Likewise.
72829         * m4/malloc.m4: Likewise.
72830         * m4/readdir.m4: Likewise.
72831         * m4/realloc.m4: Likewise.
72832         * m4/st_dm_mode.m4: Likewise.
72833         * m4/stat.m4: Likewise.
72834         * m4/utimbuf.m4: Likewise.
72835         * m4/utimes.m4: Likewise.
72836
72837         * m4/check-decl.m4: Use the new 3-arg form of AC_DEFINE instead of the
72838         AC_CHECK_FUNCS hack.  Now, it's still a hack, but at least the
72839         comments in config.h.in are meaningful.
72840
72841         * m4/jm-macros.m4: Require autoconf-2.13 here.
72842
72843         * m4/regex.m4: By default, don't use the included regex.c on systems
72844         with glibc 2.  Suggestion from Uli Drepper.
72845
72846 1999-01-02  Jim Meyering  <meyering@ascend.com>
72847
72848         * m4/jm-macros.m4: Replace strcasecmp and strncasecmp.
72849
72850 1998-12-18  Jim Meyering  <meyering@ascend.com>
72851
72852         * m4/Makefile.am.in (Makefile.am): Simplify rule.
72853         Based on a suggestion from Lars Hecking.
72854
72855 1998-11-16  Paul Eggert  <eggert@twinsun.com>
72856
72857         * m4/lfs.m4 (AC_LFS): Add support for HP-UX 10.20 and HP-UX 11.
72858
72859 1998-11-16  Jim Meyering  <meyering@ascend.com>
72860
72861         * m4/lfs.m4: Double-quote the `uname...` expression.
72862
72863 1998-11-14  Jim Meyering  <meyering@ascend.com>
72864
72865         * m4/lstat.m4: Correct comment.  POSIX does not permit it to succeed.
72866         * m4/stat.m4: Likewise.
72867
72868 1998-11-03  Jim Meyering  <meyering@ascend.com>
72869
72870         * m4/stat.m4: Rewrite to set HAVE_STAT_EMPTY_STRING_BUG.
72871         * m4/lstat.m4: Rewrite to set HAVE_LSTAT_EMPTY_STRING_BUG.
72872
72873 1998-10-18  Jim Meyering  <meyering@ascend.com>
72874
72875         * m4/check-decl.m4 (jm_CHECK_DECL_LOCALTIME_R): Remove macro.
72876
72877 1998-10-17  Jim Meyering  <meyering@ascend.com>
72878
72879         * m4/decl.m4 (jm_CHECK_DECLARATION): Don't hard-code which headers to
72880         include, though we still hard-code the `require'-like AC_CHECK_HEADERS
72881         calls for those previously hard-coded headers.  Instead, take a new
72882         parameter.
72883         (jm_CHECK_DECLARATIONS): Reflect interface change.
72884         * m4/check-decl.m4 (jm_CHECK_DECLS): Likewise.
72885         (jm_CHECK_DECL_LOCALTIME_R): New macro.
72886
72887         * m4/mktime.m4: Test for spring-forward gap before long-running test.
72888
72889 1998-10-14  Jim Meyering  <meyering@ascend.com>
72890
72891         * m4/mktime.m4: Use the more portable "TZ=PST8PDT,M4.1.0,M10.5.0"
72892         instead of "TZ=America/Vancouver".  From Paul Eggert.
72893
72894 1998-10-11  Jim Meyering  <meyering@ascend.com>
72895
72896         * m4/mktime.m4 (jm_AM_FUNC_MKTIME): New file and macro.
72897         This adds a test for a recently added compatibility fix for mktime.c.
72898         * m4/jm-mktime.m4: Require jm_AM_FUNC_MKTIME, not AM_FUNC_MKTIME.
72899
72900 1998-09-27  Jim Meyering  <meyering@ascend.com>
72901
72902         * m4/jm-macros.m4 (jm_MACROS): Require jm_FUNC_FNMATCH.
72903
72904         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): New file/macro.  Extracted from
72905         ../configure.in, including a change from Gordon Matzigkeit to allow
72906         cross-compiling for the Hurd.
72907
72908         * m4/glibc.m4: New file/macro to test for the GNU C Library
72909         versions 1 and 2.  From Gordon Matzigkeit.
72910         Indent.
72911
72912 1998-09-21  Jim Meyering  <meyering@ascend.com>
72913
72914         * m4/chown.m4: Declare locals: before, after.  From Andries Brouwer.
72915
72916 1998-08-18  Paul Eggert  <eggert@twinsun.com>
72917
72918         Port nanosecond-resolution times to UnixWare 2.1.2 and
72919         pedantic Solaris 2.6.
72920
72921         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC): Renamed from
72922         AC_STRUCT_ST_MTIM.
72923         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC):
72924         Generate name of ns member, instead of just 1 or undef.
72925         Allow for UnixWare 2.1.2 and Solaris 2.6 if in pedantic mode.
72926
72927 1998-08-15  Jim Meyering  <meyering@ascend.com>
72928
72929         * m4/ssize_t.m4 (jm_TYPE_SSIZE_T): Remove file.
72930         * m4/check-type.m4: New file.  Replacement for AC_CHECK_TYPE.
72931         * m4/jm-macros.m4: Use the new AC_CHECK_TYPE(ssize_t, int)
72932         instead of jm_TYPE_SSIZE_T.
72933
72934 1998-08-12  Jim Meyering  <meyering@ascend.com>
72935
72936         * m4/st_dm_mode.m4: New file.  From Johan Danielsson.
72937
72938 1998-08-02  Jim Meyering  <meyering@ascend.com>
72939
72940         * m4/st_mtim.m4: Use hack to avoid having to put #undef HAVE_ST_MTIM
72941         in acconfig.h manually.
72942
72943 1998-07-31  Paul Eggert  <eggert@twinsun.com>
72944
72945         * m4/st_mtim.m4: New file.
72946
72947 1998-07-28  Jim Meyering  <meyering@ascend.com>
72948
72949         * m4/utimes.m4: Undef stat.
72950
72951 1998-07-25  Jim Meyering  <meyering@ascend.com>
72952
72953         * m4/utime.m4 (jm_FUNC_UTIME): New file and macro.
72954         * m4/utimes.m4 (jm_FUNC_UTIMES_NULL): New file and macro.
72955
72956 1998-07-09  Manfred Hollstein  <manfred@s-direktnet.de>
72957
72958         * m4/chown.m4 (jm_FUNC_CHOWN): Add a check to verify that the
72959         uid and gid actually remain unchanged.
72960
72961 1998-07-07  Jim Meyering  <meyering@ascend.com>
72962
72963         * m4/jm-glibc-io.m4: Remove fclose_unlocked.
72964
72965 1998-07-04  Jim Meyering  <meyering@ascend.com>
72966
72967         * m4/regex.m4: Use syscmd, ifelse, and sysval.  Mainly as an exercise
72968         to prove that this macro can be used in packages without regex.c.
72969
72970 1998-07-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
72971
72972         * m4/gettext.m4 (AM_WITH_NLS): Remove intl/libintl.h if <libintl.h>
72973         is to be used.
72974
72975 1998-07-03  Jim Meyering  <meyering@ascend.com>
72976
72977         * m4/gettext.m4: Add -lintl if it's found to be necessary.
72978
72979         * m4/gettext.m4: New file -- from gettext-0.10.35.
72980         * m4/lcmessage.m4: Likewise.
72981         * m4/progtest.m4: Likewise.
72982
72983         * m4/regex.m4 (jm_WITH_REGEX): New file and macro.
72984         * m4/jm-macros.m4: Require the new macro.
72985
72986 1998-06-29  Jim Meyering  <meyering@ascend.com>
72987
72988         * m4/fstypename.m4: Include sys/param.h.  NetBSD 1.3.1 requires this
72989         for the definition of NGROUPS (used in a system header included
72990         by sys/mount.h).
72991
72992 1998-06-28  Jim Meyering  <meyering@ascend.com>
72993
72994         * m4/ls-mntd-fs.m4: New file.
72995         * m4/fstypename.m4: New file.
72996
72997         * m4/jm-macros.m4: Require the new macro.
72998         * m4/jm-glibc-io.m4: New file.
72999
73000 1998-05-19  Jim Meyering  <meyering@ascend.com>
73001
73002         * m4/jm-macros.m4: Add jm_FUNC_LCHOWN.
73003         * m4/lchown.m4: New file.
73004
73005         * m4/Makefile.am.in: New file.
73006         * m4/Makefile.am (Makefile.am): Depend on Makefile.am.in.
73007
73008 1998-05-14  Jim Meyering  <meyering@ascend.com>
73009
73010         * m4/Makefile.am (EXTRA_DIST): Add them.
73011         * m4/jm-macros.m4: New file.
73012         * m4/utimbuf.m4: New file.
73013
73014 1998-05-12  Jim Meyering  <meyering@ascend.com>
73015
73016         * m4/Makefile.am (EXTRA_DIST): Add isc-posix.m4.
73017
73018 1998-05-11  Jim Meyering  <meyering@ascend.com>
73019
73020         * m4/isc-posix.m4: New file.
73021
73022 1998-05-10  Jim Meyering  <meyering@ascend.com>
73023
73024         * m4/jm-mktime.m4: Use AM_FUNC_MKTIME, now that it's up to date.
73025
73026 1998-05-09  Jim Meyering  <meyering@ascend.com>
73027
73028         * m4/Makefile.am (EXTRA_DIST): Add ssize_t.m4.
73029         (EXTRA_DIST): Remove mktime.m4, now that the new version is included
73030         with automake.
73031
73032         * m4/ssize_t.m4: New file.
73033         * m4/mktime.m4: Remove file -- the new automake has this now.
73034
73035 1998-04-26  Jim Meyering  <meyering@ascend.com>
73036
73037         * m4/assert.m4: New file.
73038         * m4/Makefile.am (EXTRA_DIST): Add assert.m4.
73039
73040 1998-04-05  Jim Meyering  <meyering@ascend.com>
73041
73042         * m4/prereq.m4 (jm_PREREQ_REGEX): New macro.
73043         (jm_PREREQ): Use it here.
73044
73045 1998-03-23  Jim Meyering  <meyering@eng.ascend.com>
73046
73047         * m4/inttypes_h.m4: Kludges so I don't have to add HAVE_INTTYPES_H
73048         in acconfig.h.
73049
73050 1998-03-15  Jim Meyering  <meyering@eng.ascend.com>
73051
73052         * m4/prereq.m4: New file.
73053         * m4/error.m4: New file.
73054         * m4/Makefile.am (EXTRA_DIST): Add error.m4 and prereq.m4.
73055
73056 1998-02-07  Jim Meyering  <meyering@eng.ascend.com>
73057
73058         * m4/getline.m4: Don't set am_cv_func_working_getline before the
73059         cache-check for the same variable -- that defeated the purpose of
73060         the test; the test program was never run.  This was a problem only
73061         on systems with losing getline functions -- HP-UX 10.20 is one.
73062         Reported by Bjorn Helgaas.
73063
73064 1998-02-06  Jim Meyering  <meyering@eng.ascend.com>
73065
73066         * m4/Makefile.am (EXTRA_DIST): Add perl.m4.
73067
73068 1998-01-10  Jim Meyering  <meyering@na-net.ornl.gov>
73069
73070         * m4/Makefile.am (EXTRA_DIST): Add const.m4.
73071
73072         * m4/const.m4: New file.  Use an initializer in this declaration
73073         typedef int charset[2]; const charset x;
73074         Reported by Bob Glickstein.
73075
73076 1997-12-21  Jim Meyering  <meyering@na-net.ornl.gov>
73077
73078         * m4/chown.m4: Fix reversed types on -1 args to chown.
73079         From Kaveh Ghazi.
73080
73081 1997-12-14  Jim Meyering  <meyering@na-net.ornl.gov>
73082
73083         * m4/check-decl.m4: s/DECLARATION_/DECL_/g.
73084         Add lseek and memchr.
73085
73086         * m4/decl.m4: s/HAVE_DECLARATION_/HAVE_DECL_/g.
73087         T.E.Dickey <dickey@clark.net> said that some older preprocessors
73088         have a 20-character limit on names.
73089
73090 1997-11-30  Jim Meyering  <meyering@na-net.ornl.gov>
73091
73092         * m4/inttypes_h.m4: New file.
73093         * m4/uintmax_t.m4: New file.
73094         * m4/Makefile.am (EXTRA_DIST): Add inttypes_h.m4 and uintmax_t.m4.
73095
73096
73097         -----
73098
73099         Local Variables:
73100         coding: utf-8
73101         End:
73102
73103         Copyright (C) 1997-2010 Free Software Foundation, Inc.
73104
73105         Copying and distribution of this file, with or without
73106         modification, are permitted provided the copyright notice
73107         and this notice are preserved.